bug-bash
[Top][All Lists]
Advanced

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

bash autocompletion bug report (unable to send via bashbug)


From: Shriramana Sharma
Subject: bash autocompletion bug report (unable to send via bashbug)
Date: Sun, 18 Mar 2007 12:31:52 +0530
User-agent: Thunderbird 1.5.0.10 (X11/20070306)

Hello.

Here's the bug report that bashbug was unable to send because it did not find something called rmail on my system. I hope these bugs can be fixed.

Sincerely,

Shriramana Sharma.
From: Shriramana Sharma <samjnaa@gmail.com>
To: bug-bash@gnu.org,bash@packages.debian.org
Subject: Various kinds of incorrect auto-completion in bash

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
uname output: Linux chandas 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 
2006 i686 GNU/Linux
Machine Type: i486-pc-linux-gnu

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

Description:

Auto-completion is meant to fill in valid and unambiguous parts of a shell 
command. It's aim is to convenience the error-free entering 
and execution of commands. However, there are many cases where autocompletion 
gives rise to a mangled command. Therefore I wanted to 
report some of those cases I came by.

Repeat-By:

In the following examples, => means "after typing the above when you press tab 
it gives"

((1))

diff --f
=>
diff --from-file\=

with a space at the end. Both the \ and space give rise to errors if an 
unknowing user executes the command. Similarly the incorrect 
result of bash's autocompletion causes errors in the following examples too.

((2))

Sometimes there is no \ but the space is there:

wget --output-f
=>
wget --output-file=

((3))

In general

cp --suffix=
=>
cp --suffix=--suffix\=

If the folder has only one file called file1:

cp --suffix=
=>
cp --suffix=--suffix\=file1

If the folder has many files file1 file2 etc starting with the same sequence 
"file":

cp --suffix=
=>
cp --suffix=--suffix\=file

((4))

For some options even when the argument is not optional, bash provides two 
choices. For example, type:

cp --suffix

Press tab. Bash shows two options:

--suffix   --suffix=

But the first option is invalid.

        [Describe the sequence of events that causes the problem
        to occur.]

Fix:
Since I am not very great at text-processing and autocompletion algorithms, I 
am unable to provide this section.

reply via email to

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