Package: python3-argcomplete
Version: 3.1.4-1
Severity: critical
Justification: breaks unrelated software

In bug 944469, Daniel Kahn Gillmor (in Cc) requested activation
of global bash completions. As a fix introduced in 3.1.4-1,
Stefano Rivera (in Cc) activated global completions for both
bash and zsh, though zsh was *not* mentioned before in this
bug:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944469#15

The issue is that for zsh, these global completions break
completions that are unrelated to python, in an obscure way:

  https://www.zsh.org/mla/workers/2025/msg00129.html
  
https://gitlab.archlinux.org/archlinux/packaging/packages/python-argcomplete/-/issues/3#note_191786

One of the bugs can be reproduced with all versions since 3.1.4-1
(stable has 2.0.0-1, which is not affected, as I could test) by
using "zsh -f" then

  rm -f ~/.zcompdump; mkdir -p testdir; touch $_/FOO; autoload -U compinit; $_ 
-D; zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'; print -z : 
testdir/f

(this will create a "testdir" directory with a file "FOO" in it;
make sure that if "testdir" already exists, it does not contain
other files) then type the <tab> key: the completion fails.

Typing <tab> a second time makes the completion succeed, giving

  : testdir/FOO

as expected (once completed, the completion will always succeed
in this shell session).

Note that with python3-argcomplete 3.6.1-1, even a second <tab>
fails to complete (see bug 1101675), and the corresponding change
will be reverted. But the original issues will still be present.
They had been occurring for months on one of my machines (after
python3-argcomplete got installed via a dependency, so that I did
not notice this package), but I could find the cause only when
the completion system got even more broken with 3.6.1-1.

A second one:

  rm -f ~/.zcompdump; mkdir -p testdir; touch $_/ab-cd; autoload -U compinit; 
$_ -D; zstyle ':completion:*' matcher-list '' 'r:|[._-]=* r:|=*'; print -z : 
testdir/a-c

As said by Ronan Pigott in the Arch Linux bug above:

  Upstream chose to "fix" this by installing this completer as -default-
  which is an improvement I guess, but still undoubtedly, fundamentally
  broken. I filed https://github.com/kislyuk/argcomplete/issues/491 to
  hopefully raise awareness of this upstream.

  In the meantime, please remove this file from the Arch Linux
  distribution of this package. Ideally neither the "compdef -P *"
  nor the "fixed" -default- version should ever ship by default,
  in any distro. The #zsh irc is inundated with unsuspecting users
  getting bit by this, and the only recourse really is to NoExtract
  this completer, since a few common and useful packages, like
  ipython, have pulled it in as a dependency and wrecked the
  users's shell.

Upstream closed the bug after saying

  Argcomplete does not activate global completion by default and
  does not recommend that distributions activate it by default.
  Global completion is meant to be activated by the user.

So, upstream's recommendation should be followed.

Note that this applies to zsh. I don't know what should be done
for bash (maybe no bugs at all there).

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 
'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), 
(500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 6.7.12-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-argcomplete depends on:
ii  python3  3.13.2-2

python3-argcomplete recommends no packages.

python3-argcomplete suggests no packages.

-- no debconf information

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

Reply via email to