On Mon, Mar 31, 2025 at 02:30:17AM +0200, Vincent Lefevre wrote:
Control: reassign -1 python3-argcomplete 3.6.1-1
Control: retitle -1 python3-argcomplete: breaks zsh completions
Control: severity -1 critical
Control: tags -1 - moreinfo unreproducible
The issue comes from
lrwxrwxrwx 1 root root 84 2025-03-25 19:05:01
/usr/share/zsh/vendor-completions/_python-argcomplete ->
../../../lib/python3/dist-packages/argcomplete/bash_completion.d/_python-argcomplete
This is a regression.
To reproduce:
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
then type the <tab> key 1 or 2 times.
I'm not a zsh user, but I did make the apparently-offending
python-argcomplete upload, so I tried to reproduce this, unsuccessfully.
Here's a complete transcript of what I did:
<cjwatson@camorr ~>$ incus delete --force rich-lamb
<cjwatson@camorr ~>$ incus launch images:debian/trixie
Launching the instance
Instance name is: sacred-mosquito
<cjwatson@camorr ~>$ incus shell sacred-mosquito
root@sacred-mosquito:~# apt -qy install zsh python3-argcomplete
Reading package lists...
Building dependency tree...
Reading state information...
Installing:
python3-argcomplete zsh
Installing dependencies:
ca-certificates libpython3.13-stdlib openssl
python3.13-minimal
libgdbm6t64 libreadline8t64 python3
readline-common
libpython3-stdlib libsqlite3-0 python3-minimal zsh-common
libpython3.13-minimal media-types python3.13
Suggested packages:
gdbm-l10n python3-tk python3.13-venv binutils readline-doc
python3-doc python3-venv python3.13-doc binfmt-support zsh-doc
Summary:
Upgrading: 0, Installing: 17, Removing: 0, Not Upgrading: 0
Download size: 13.8 MB
Space needed: 47.7 MB / 72.7 GB available
Get:1 http://deb.debian.org/debian trixie/main amd64 libpython3.13-minimal
amd64 3.13.2-2 [859 kB]
Get:2 http://deb.debian.org/debian trixie/main amd64 python3.13-minimal amd64
3.13.2-2 [2,210 kB]
Get:3 http://deb.debian.org/debian trixie/main amd64 python3-minimal amd64
3.13.2-2 [27.1 kB]
Get:4 http://deb.debian.org/debian trixie/main amd64 media-types all 13.0.0
[29.3 kB]
Get:5 http://deb.debian.org/debian trixie/main amd64 readline-common all
8.2-6 [69.4 kB]
Get:6 http://deb.debian.org/debian trixie/main amd64 libreadline8t64 amd64
8.2-6 [169 kB]
Get:7 http://deb.debian.org/debian trixie/main amd64 libsqlite3-0 amd64
3.46.1-2 [913 kB]
Get:8 http://deb.debian.org/debian trixie/main amd64 libpython3.13-stdlib
amd64 3.13.2-2 [1,952 kB]
Get:9 http://deb.debian.org/debian trixie/main amd64 python3.13 amd64
3.13.2-2 [746 kB]
Get:10 http://deb.debian.org/debian trixie/main amd64 libpython3-stdlib amd64
3.13.2-2 [10.1 kB]
Get:11 http://deb.debian.org/debian trixie/main amd64 python3 amd64 3.13.2-2
[28.1 kB]
Get:12 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.4.1-1
[1,427 kB]
Get:13 http://deb.debian.org/debian trixie/main amd64 ca-certificates all
20241223 [164 kB]
Get:14 http://deb.debian.org/debian trixie/main amd64 libgdbm6t64 amd64
1.24-2 [75.2 kB]
Get:15 http://deb.debian.org/debian trixie/main amd64 python3-argcomplete all
3.6.1-1 [40.9 kB]
Get:16 http://deb.debian.org/debian trixie/main amd64 zsh-common all 5.9-8
[4,146 kB]
Get:17 http://deb.debian.org/debian trixie/main amd64 zsh amd64 5.9-8+b7 [915
kB]
Fetched 13.8 MB in 2s (7,783 kB/s)
Preconfiguring packages ...
Selecting previously unselected package libpython3.13-minimal:amd64.
(Reading database ... 11417 files and directories currently installed.)
Preparing to unpack .../libpython3.13-minimal_3.13.2-2_amd64.deb ...
Unpacking libpython3.13-minimal:amd64 (3.13.2-2) ...
Selecting previously unselected package python3.13-minimal.
Preparing to unpack .../python3.13-minimal_3.13.2-2_amd64.deb ...
Unpacking python3.13-minimal (3.13.2-2) ...
Setting up libpython3.13-minimal:amd64 (3.13.2-2) ...
Setting up python3.13-minimal (3.13.2-2) ...
Selecting previously unselected package python3-minimal.
(Reading database ... 11741 files and directories currently installed.)
Preparing to unpack .../0-python3-minimal_3.13.2-2_amd64.deb ...
Unpacking python3-minimal (3.13.2-2) ...
Selecting previously unselected package media-types.
Preparing to unpack .../1-media-types_13.0.0_all.deb ...
Unpacking media-types (13.0.0) ...
Selecting previously unselected package readline-common.
Preparing to unpack .../2-readline-common_8.2-6_all.deb ...
Unpacking readline-common (8.2-6) ...
Selecting previously unselected package libreadline8t64:amd64.
Preparing to unpack .../3-libreadline8t64_8.2-6_amd64.deb ...
Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to
/lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to
/lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to
/lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64'
Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to
/lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64'
Unpacking libreadline8t64:amd64 (8.2-6) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../4-libsqlite3-0_3.46.1-2_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.46.1-2) ...
Selecting previously unselected package libpython3.13-stdlib:amd64.
Preparing to unpack .../5-libpython3.13-stdlib_3.13.2-2_amd64.deb ...
Unpacking libpython3.13-stdlib:amd64 (3.13.2-2) ...
Selecting previously unselected package python3.13.
Preparing to unpack .../6-python3.13_3.13.2-2_amd64.deb ...
Unpacking python3.13 (3.13.2-2) ...
Selecting previously unselected package libpython3-stdlib:amd64.
Preparing to unpack .../7-libpython3-stdlib_3.13.2-2_amd64.deb ...
Unpacking libpython3-stdlib:amd64 (3.13.2-2) ...
Setting up python3-minimal (3.13.2-2) ...
Selecting previously unselected package python3.
(Reading database ... 12230 files and directories currently installed.)
Preparing to unpack .../0-python3_3.13.2-2_amd64.deb ...
Unpacking python3 (3.13.2-2) ...
Selecting previously unselected package openssl.
Preparing to unpack .../1-openssl_3.4.1-1_amd64.deb ...
Unpacking openssl (3.4.1-1) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../2-ca-certificates_20241223_all.deb ...
Unpacking ca-certificates (20241223) ...
Selecting previously unselected package libgdbm6t64:amd64.
Preparing to unpack .../3-libgdbm6t64_1.24-2_amd64.deb ...
Unpacking libgdbm6t64:amd64 (1.24-2) ...
Selecting previously unselected package python3-argcomplete.
Preparing to unpack .../4-python3-argcomplete_3.6.1-1_all.deb ...
Unpacking python3-argcomplete (3.6.1-1) ...
Selecting previously unselected package zsh-common.
Preparing to unpack .../5-zsh-common_5.9-8_all.deb ...
Unpacking zsh-common (5.9-8) ...
Selecting previously unselected package zsh.
Preparing to unpack .../6-zsh_5.9-8+b7_amd64.deb ...
Unpacking zsh (5.9-8+b7) ...
Setting up media-types (13.0.0) ...
Setting up libgdbm6t64:amd64 (1.24-2) ...
Setting up zsh-common (5.9-8) ...
Setting up libsqlite3-0:amd64 (3.46.1-2) ...
Setting up zsh (5.9-8+b7) ...
Setting up openssl (3.4.1-1) ...
Setting up readline-common (8.2-6) ...
Setting up ca-certificates (20241223) ...
Updating certificates in /etc/ssl/certs...
152 added, 0 removed; done.
Setting up libreadline8t64:amd64 (8.2-6) ...
Setting up libpython3.13-stdlib:amd64 (3.13.2-2) ...
Setting up libpython3-stdlib:amd64 (3.13.2-2) ...
Setting up python3.13 (3.13.2-2) ...
Setting up python3 (3.13.2-2) ...
running python rtupdate hooks for python3.13...
running python post-rtupdate hooks for python3.13...
Setting up python3-argcomplete (3.6.1-1) ...
Processing triggers for systemd (257.4-3) ...
Processing triggers for debianutils (5.21) ...
Processing triggers for libc-bin (2.41-6) ...
Processing triggers for ca-certificates (20241223) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
root@sacred-mosquito:~# adduser cjwatson
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for cjwatson
Enter the new value, or press ENTER for the default
Full Name []: Colin Watson
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
root@sacred-mosquito:~# su - cjwatson
cjwatson@sacred-mosquito:~$ zsh
This is the Z Shell configuration function for new users,
zsh-newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~). This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q) Quit and do nothing. The function will be run again next time.
(0) Exit, creating the file ~/.zshrc containing just a comment.
That will prevent this function being run again.
(1) Continue to the main menu.
(2) Populate your ~/.zshrc with the configuration recommended
by the system administrator and exit (you will need to edit
the file by hand, if so desired).
--- Type one of the keys in parentheses --- 2
/home/cjwatson/.zshrc:15: scalar parameter HISTFILE created globally in
function zsh-newuser-install
cjwatson@sacred-mosquito ~ % rm -f ~/.zcompdump
cjwatson@sacred-mosquito ~ % mkdir -p testdir
cjwatson@sacred-mosquito ~ % touch testdir/FOO
cjwatson@sacred-mosquito ~ % autoload -U compinit
cjwatson@sacred-mosquito ~ % compinit -D
cjwatson@sacred-mosquito ~ % zstyle ':completion:*' matcher-list ''
'm:{a-zA-Z}={A-Za-z}'
cjwatson@sacred-mosquito ~ % print -z : testdir/f
... and then pressing Tab immediately completes to "testdir/FOO".
What am I missing?
Thanks,
--
Colin Watson (he/him) [cjwat...@debian.org]