Hi Chet, for unrelated reasons I'm currently building identically configured bash binaries on Linux and Solaris. Interestingly enough I can now reproduce the problem only on the Solaris build, and even there the problem goes away when I run bash as 'env - ./bash --rcfile /dev/null' so it looks like some setting is triggering the bug. I'll investigate this further.
Karsten Chet Ramey wrote: > Karsten Sperling wrote: >> Configuration Information [Automatically generated, do not change]: >> Machine: i486 >> OS: linux-gnu >> Compiler: gcc >> Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i486' >> -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i486-pc-linux-gnu' >> -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' >> -DSHELL -DHAVE_CONFIG_H -I. -I../bash -I../bash/include -I../bash/lib >> -g -O2 -Wall >> uname output: Linux cargocult 2.6.20-16-generic #2 SMP Fri Aug 31 >> 00:55:27 UTC 2007 i686 GNU/Linux >> Machine Type: i486-pc-linux-gnu >> >> Bash Version: 3.2 >> Patch Level: 13 >> Release Status: release >> >> Description: >> After triggering file name completion for an argument to a >> command specified via an absolute path or relative path (i.e. >> anything other than a plain command name) inside backticks, >> file name completion appends a / to all file names (even if >> they are not directories). >> >> Repeat-By: >> complete -r # no programmable completion >> cd /tmp; touch example # any file will do >> `/bin/false examp<TAB> # completes to example/ >> cat examp<TAB> # completes to example/ > > I can't reproduce it: > > $ echo $BASH_VERSION > 3.2.25(10)-release > $ complete > $ complete -r > $ complete > $ cd /tmp > $ touch example > $ `/bin/false example ` > bash: /bin/false: No such file or directory > $ echo example > example > > In both cases, I typed TAB to complete `example' after typing up to the > `p'. Both times, readline completed to `example' and appended a space. > > There was a similar bug reported back in March in which the default > completion append character ended up being set to `/', but that doesn't > seem to be happening here. > > Chet