12 Commits

Author SHA1 Message Date
Freddy Vulto
94372b2aa6 Merge branch 'use-_get_comp_words_by_ref' 2010-06-10 23:51:30 +02:00
Ville Skyttä
1b336660d7 Add/fix implicit xz decompress support (Alioth: #312383). 2010-03-04 20:24:06 +02:00
David Paleino
f8bafe285e Use _get_comp_words_by_ref to set cur, prev, [..] instead of manually using COMP_WORDS 2010-02-08 17:25:08 +01:00
Guillaume Rousse
f2041ce0e4 no need to quote case argument nor targets 2009-12-30 00:39:59 +01:00
Ville Skyttä
6807b5e72d Replace some echos with printfs. 2009-12-21 00:09:02 +02:00
Ville Skyttä
04b7883f7d Use here strings instead of echos where appropriate (part of Alioth: #312143). 2009-12-09 22:46:09 +02:00
Ville Skyttä
885e6dd6b6 Drop internal uses of $default, $filenames and friends.
Definitions are still present though, tentatively scheduled for
removal as of 2.0.
2009-10-22 12:04:29 +03:00
Guillaume Rousse
506e1cb3eb new indentation policy 2009-10-04 19:42:50 +02:00
Ville Skyttä
369980bf93 Tell *Emacs to indent comments (sh-indent-comment: t).
Also move indentation settings to end of files and expand *Emacs ones to
local variables block to avoid overflowing 80 char lines.
2009-10-01 20:54:51 +03:00
Freddy Vulto
cfcf9fae8f Quote unquoted $cur to prevent globbing.
Closes Alioth #311614

Globbing might occur if $cur contains one of these globbing characters: * ? [ ]

The bug becomes apparent:

On Cygwin if the glob-string contains backslashes as well, causing a warning (Cygwin >= 1.7):

    MS-DOS style path detected: ...
    Preferred POSIX equivalent is: ...
    CYGWIN environment variable option "nodosfilewarning" turns off this warning.
    Consult the user's guide for more details about POSIX paths:
      http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

On Linux, using strace, you can see bash-completion doing an unnecessary `open' system call.

Steps to reproduce on Linux using `strace':

Environment:  Linux, bash-completion-1.0

1.  Start bash with bash-completion loaded and find out PID ($$):

    $ echo $$
    MYPID

2.  In a second bash shell, `strace' the above PID:

    $ strace -e trace=open -f -o strace.log -p MYPID

3.  Within the first bash shell, type:

    $ cur="?"; _kernel_versions

4.  In the second bash shell, type ^C to quick `strace'.

5.  Check `strace.log', here you can see bash accessing
    something it shouldn't:

    ...
    open(".", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
    ...

6.  The above call to `open' disappears if $cur in _kernel_versions gets
    quoted, and you repeat the steps above:

    _kernel_versions()
    {
        COMPREPLY=( $( compgen -W '$( command ls /lib/modules )' -- "$cur" ) )
    }
2009-09-25 09:36:29 +02:00
Ville Skyttä
e7c3bbe23c Add missing 'have foo's. 2009-06-08 21:22:43 +03:00
Guillaume Rousse
f60e97d0c2 split tar completion 2009-05-21 01:38:13 +02:00