bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

completion always appends /


From: H . Koenig
Subject: completion always appends /
Date: Wed, 15 Aug 2007 09:45:09 +0200 (CEST)

Configuration Information [Automatically generated, do not change]:
Machine: amd64-linux
OS: suse90
Compiler: gcc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='amd64-linux' 
-DCONF_OSTYPE='suse90' -DCONF_MACHTYPE='x86_64-unknown-linux-gnu' 
-DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash' 
-DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib   -O2 -D_LARGE_FILES 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
uname output: Linux atuin 2.6.16.27-0.9-smp #1 SMP Tue Feb 13 09:35:18 UTC 2007 
x86_64 x86_64 x86_64 GNU/Linux
Machine Type: x86_64-unknown-linux-gnu

Bash Version: 3.2
Patch Level: 17
Release Status: release

Description:
sometimes an instance of bash starts to append a / to every command 
or file name completion instead of a space character.

I don't know what triggers this problem since it happens only
every few weeks -- but it shows up for quite a long time now.
comparing output of env/set/bin/complete never showed any 
significant difference between bad/good shells.


yesterday the /-problem showed up again and I started to debug
what's going on:

sometimes 'rl_completion_append_character' will be set to '/'
and it never will be reset back to ' ' :

        atuin bash-3.2 > grep -r rl_completion_append_character . 
==>     ./lib/readline/complete.c:int rl_completion_append_character = ' ';
        ./lib/readline/complete.c:  else if (rl_completion_suppress_append == 0 
&& rl_completion_append_character)
        ./lib/readline/complete.c:    temp_string[temp_string_index++] = 
rl_completion_append_character;
        ./lib/readline/readline.h:extern int rl_completion_append_character;
        ./lib/readline/readline.h:   rl_completion_append_character will not be 
appended. */
==>     ./bashline.c:   rl_completion_append_character = '/';


so far I don't understand how to trigger the change of 
rl_completion_append_character
in bashline.c (I really would like to know which operation triggers that bug!!)
and I'm not familar with the internal structures of bash to make 
a good guess where/when this variable should be reset to ' '
for the next completion operation (or, if it ever should be changed to / at all 
?!)

Repeat-By:

set rl_completion_append_character to '/' -- no idea how to trigger that 
directly



I _really_ would love to get rid of that annoying bug!!!


thanks for any help or fix!!


Harald
-- 
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Florian Geyer,
Dr. Roland Niemeier, Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Prof. Dr. Hanns Ruder
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]