Package: bash-completion
Version: 1:2.14.0-1
Severity: normal

bug might be in bash itself, not in bash-completion, I'm not sure.

# STEP 1
$ touch a\$b
$ touch a\$c
$ ls
'a$b'  'a$c'
$ b=GOTYA
# STEP 2
# now, type
# ls <tab>
# the resulting display is
$ ls a$
# press <tab> again, the display is
$ ls a$
a$b  a$c
$ ls a$
# STEP 3
# now, type "b" to complete the filename, the display is
$ ls a$b
# type <enter>, message is:
ls: cannot access 'aGOTYA': No such file or directory

If one presses <tab> again before <enter>, then the display becomes
$ ls a\$b

meaning the '$' gets retroactively escaped and all goes correctly. But
really at the end of "STEP 2", the final '$' should already be
escaped, so that typing an extra letter that makes a complete filename
just works. Or also consider:

# type
# ls <tab>*

the result is:

$ ls a$*
ls: cannot access 'a': No such file or directory

but after a <tab>, adding '*' should expand to all filenames possible,
and her it does something else.

On the other hand, if the user typed completely by hand:

$ echo a$b

then pressing <tab> should NOT escape the '$' since that is not what
was meant.

-- System Information:
Debian Release: trixie/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable'), (400, 'testing'), (300, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.9.8-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=fr_LU.UTF-8, LC_CTYPE=fr_LU.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

-- no debconf information

-- 
Lionel Mamane
Tél: +352 46 67 74
Fax: +352 46 67 76

This message and any attachments may be intended to be confidential,
intended solely for the addressee and/or contain legally privileged
information. Any unauthorised use or dissemination is prohibited.
Unless cryptographically protected, emails are susceptible to
interception, alteration and spoofing, so in case of doubt, please
check by independent means.

We do not make any commitment by email, ever; if this emails appears
to contain a commitment, we will not recognise the latter as valid,
nor as engaging our liability. We make commitments only by a written
paper document signed by at least one person entitled to engage our
liability.

Reply via email to