Debian Bug report logs -
#630521
files starting with '!' break editors file-based completion
Reported by: Michal Suchanek <hramrach@centrum.cz>
Date: Tue, 14 Jun 2011 19:09:02 UTC
Severity: important
Tags: unreproducible
Found in versions bash-completion/1:1.3-3, bash-completion/1:1.3-1
Done: "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, hramrach@centrum.cz, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>:
Bug#630521; Package bash-completion.
(Tue, 14 Jun 2011 19:09:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Michal Suchanek <hramrach@centrum.cz>:
New Bug report received and forwarded. Copy sent to hramrach@centrum.cz, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>.
(Tue, 14 Jun 2011 19:09:05 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: bash-completion
Version: 1:1.3-3
Severity: important
This is a regression, it used to be possible to complete pretty much any
file. Now only directories are completed for vi, or some very unusual
files I don't have.
To fix this I had to comment out the line
complete -f -X
'*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp6|mp?(e)g|avi|asf|ogg|class)'
vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate
kwrite
I am not sure what it is supposed to do but it definitely breaks editor
completion making them totally unusable from bash.
-- System Information:
Debian Release: wheezy/sid
APT prefers stable
APT policy: (990, 'stable'), (500, 'testing'), (400, 'unstable'), (395, 'experimental'), (300, 'stable-i386'), (300, 'oldstable'), (280, 'testing-i386'), (270, 'unstable-i386'), (150, 'experimental-i386'), (65, 'oldstable-i386')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.39-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages bash-completion depends on:
ii bash 4.1-3 The GNU Bourne Again SHell
bash-completion recommends no packages.
bash-completion suggests no packages.
-- debconf-show failed
-- debsums errors found:
debsums: changed file /usr/share/bash-completion/bash_completion (from bash-completion package)
Information forwarded
to debian-bugs-dist@lists.debian.org, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>:
Bug#630521; Package bash-completion.
(Tue, 14 Jun 2011 19:24:03 GMT) (full text, mbox, link).
Acknowledgement sent
to dapal@debian.org:
Extra info received and forwarded to list. Copy sent to Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>.
(Tue, 14 Jun 2011 19:24:03 GMT) (full text, mbox, link).
Message #10 received at 630521@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
tags 630521 unreproducible moreinfo
thanks
Hello,
On Tue, 14 Jun 2011 21:05:07 +0200, Michal Suchanek wrote:
> This is a regression, it used to be possible to complete pretty much any
> file. Now only directories are completed for vi, or some very unusual
> files I don't have.
>
> To fix this I had to comment out the line
>
> complete -f -X
> '*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp6|mp?(e)g|avi|asf|ogg|class)'
> vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate
> kwrite
>
> I am not sure what it is supposed to do but it definitely breaks editor
> completion making them totally unusable from bash.
"vi" completes on practically anything here.
That line is supposed to *exclude* those files from being completed (so that,
if you have a foo.gif, it doesn't appear as a completion for those commands).
Can you please do a 'set -x', then 'vi <TAB>', and copy-paste the output here?
Thanks,
David
--
. ''`. Debian developer | http://wiki.debian.org/DavidPaleino
: :' : Linuxer #334216 --|-- http://www.hanskalabs.net/
`. `'` GPG: 1392B174 ----|---- http://deb.li/dapal
`- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174
[signature.asc (application/pgp-signature, attachment)]
Added tag(s) unreproducible and moreinfo.
Request was from David Paleino <dapal@debian.org>
to control@bugs.debian.org.
(Tue, 14 Jun 2011 19:24:04 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>:
Bug#630521; Package bash-completion.
(Tue, 14 Jun 2011 19:27:06 GMT) (full text, mbox, link).
Acknowledgement sent
to dapal@debian.org:
Extra info received and forwarded to list. Copy sent to Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>.
(Tue, 14 Jun 2011 19:27:06 GMT) (full text, mbox, link).
Message #17 received at 630521@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Tue, 14 Jun 2011 21:05:07 +0200, Michal Suchanek wrote:
> This is a regression, it used to be possible to complete pretty much any
> file. Now only directories are completed for vi, or some very unusual
> files I don't have.
>
> [..]
Ugh, I'm thinking about acroread. Do you have its completion
in /etc/bash_completion.d/ ? If yes, does removing it fix the bug?
Thanks,
David
(maybe we really urge blacklisting acroread :D)
--
. ''`. Debian developer | http://wiki.debian.org/DavidPaleino
: :' : Linuxer #334216 --|-- http://www.hanskalabs.net/
`. `'` GPG: 1392B174 ----|---- http://deb.li/dapal
`- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>:
Bug#630521; Package bash-completion.
(Tue, 14 Jun 2011 19:57:10 GMT) (full text, mbox, link).
Acknowledgement sent
to Michal Suchanek <hramrach@centrum.cz>:
Extra info received and forwarded to list. Copy sent to Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>.
(Tue, 14 Jun 2011 19:57:10 GMT) (full text, mbox, link).
Message #22 received at 630521@bugs.debian.org (full text, mbox, reply):
Hello,
On 14 June 2011 21:22, David Paleino <dapal@debian.org> wrote:
> On Tue, 14 Jun 2011 21:05:07 +0200, Michal Suchanek wrote:
>
>> This is a regression, it used to be possible to complete pretty much any
>> file. Now only directories are completed for vi, or some very unusual
>> files I don't have.
>>
>> [..]
>
> Ugh, I'm thinking about acroread. Do you have its completion
> in /etc/bash_completion.d/ ? If yes, does removing it fix the bug?
>
No, I don't have that file.
Below is the completion output.
Thanks
Michal
$ ls
!file foobar.txt
$ vi foo+ local IFS cur xspec
+ IFS='
'
+ COMPREPLY=()
+ _get_comp_words_by_ref cur
+ local exclude flag i OPTIND=1
+ words=()
+ local cur cword words
+ upargs=()
+ upvars=()
+ local upargs upvars vcur vcword vprev vwords
+ getopts c:i:n:p:w: flag cur
+ [[ 1 -ge 1 ]]
+ case ${!OPTIND} in
+ vcur=cur
+ let 'OPTIND += 1'
+ [[ 1 -ge 2 ]]
+ __get_cword_at_cursor_by_ref '' words cword cur
+ words=()
+ local cword words
+ __reassemble_comp_words_by_ref '' words cword
+ local exclude i j ref
+ [[ -n '' ]]
+ eval cword=1
++ cword=1
+ [[ -n '' ]]
+ eval 'words=(' '"${COMP_WORDS[@]}"' ')'
++ words=("${COMP_WORDS[@]}")
+ local i cur2
+ local 'cur=vi foo'
+ local index=6
+ (( i = 0 ))
+ (( i <= cword ))
+ [[ 6 -ge 2 ]]
+ [[ vi != \v\i ]]
+ [[ 0 -lt 1 ]]
+ local old_size=6
+ cur=' foo'
+ local new_size=4
+ index=4
+ (( ++i ))
+ (( i <= cword ))
+ [[ 4 -ge 3 ]]
+ [[ fo != \f\o\o ]]
+ cur=foo
+ (( index-- ))
+ [[ 3 -ge 3 ]]
+ [[ foo != \f\o\o ]]
+ [[ 1 -lt 1 ]]
+ (( ++i ))
+ (( i <= cword ))
+ [[ foo != \f\o\o ]]
+ cur2=foo
+ local words cword cur
+ _upvars -a2 words vi foo -v cword 1 -v cur foo
+ (( 10 ))
+ (( 10 ))
+ case $1 in
+ [[ -n 2 ]]
+ printf %d 2
+ [[ -n words ]]
+ unset -v words
+ eval 'words=("${@:3:2}")'
++ words=("${@:3:2}")
+ shift 4
+ (( 6 ))
+ case $1 in
+ [[ -n cword ]]
+ unset -v cword
+ eval 'cword="$3"'
++ cword=1
+ shift 3
+ (( 3 ))
+ case $1 in
+ [[ -n cur ]]
+ unset -v cur
+ eval 'cur="$3"'
++ cur=foo
+ shift 3
+ (( 0 ))
+ [[ -n cur ]]
+ upvars+=("$vcur")
+ upargs+=(-v $vcur "$cur")
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ (( 1 ))
+ local cur
+ _upvars -v cur foo
+ (( 3 ))
+ (( 3 ))
+ case $1 in
+ [[ -n cur ]]
+ unset -v cur
+ eval 'cur="$3"'
++ cur=foo
+ shift 3
+ (( 0 ))
+ _expand
+ [[ foo == \~*/* ]]
+ [[ foo == \~* ]]
++ awk '/^complete[ \t]+.*[ \t]vi([ \t]|$)/ { print $0; exit }'
/etc/bash_completion
+ xspec='complete -f -X
'\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\''
vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs
kate kwrite'
+ xspec=''\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\''
vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs
kate kwrite'
+ xspec=''\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'''
+ local -a toks
+ local tmp
+ toks=(${toks[@]-} $(
compgen -d -- "$(quote_readline "$cur")" | {
while read -r tmp; do
# see long TODO comment in _filedir() --David
printf '%s\n' $tmp
done
}
))
++ read -r tmp
+++ quote_readline foo
+++ local quoted
+++ _quote_readline_by_ref foo ret
+++ [[ f == \' ]]
+++ [[ 4 -le 3 ]]
+++ printf -v ret %q foo
+++ [[ f == \$ ]]
+++ printf %s foo
++ compgen -d -- foo
+ eval 'xspec='\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'''
++ xspec='*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'
+ local 'matchop=!'
+ [[ *.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)
== !* ]]
+ [[ 4 -ge 4 ]]
+ xspec='!(*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)|*.@(O|SO|SO.!(CONF)|A|[RS]PM|GIF|JP?(E)G|MP3|MP?(E)G|AVI|ASF|OGG|CLASS))'
+ toks=(${toks[@]-} $(
eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | {
while read -r tmp; do
[ -n $tmp ] && printf '%s\n' $tmp
done
}
))
++ eval compgen -f -X
'!!(*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)|*.@(O|SO|SO.!(CONF)|A|[RS]PM|GIF|JP?(E)G|MP3|MP?(E)G|AVI|ASF|OGG|CLASS))'
-- '$(quote_readline $cur)'
++ read -r tmp
++++ quote_readline foo
++++ local quoted
++++ _quote_readline_by_ref foo ret
++++ [[ f == \' ]]
++++ [[ 4 -le 3 ]]
++++ printf -v ret %q foo
++++ [[ f == \$ ]]
++++ printf %s foo
+++ compgen -f -X '!file' -- foo
+ '[' 0 -ne 0 ']'
+ COMPREPLY=("${toks[@]}")
Information forwarded
to debian-bugs-dist@lists.debian.org, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>:
Bug#630521; Package bash-completion.
(Tue, 14 Jun 2011 20:09:07 GMT) (full text, mbox, link).
Acknowledgement sent
to David Paleino <dapal@debian.org>:
Extra info received and forwarded to list. Copy sent to Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>.
(Tue, 14 Jun 2011 20:09:07 GMT) (full text, mbox, link).
Message #27 received at 630521@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
tags 630521 = confirmed upstream
retitle 630521 files starting with '!' break editors file-based completion
thanks
On Tue, 14 Jun 2011 21:53:41 +0200, Michal Suchanek wrote:
> On 14 June 2011 21:22, David Paleino <dapal@debian.org> wrote:
> > On Tue, 14 Jun 2011 21:05:07 +0200, Michal Suchanek wrote:
> >
> >> This is a regression, it used to be possible to complete pretty much any
> >> file. Now only directories are completed for vi, or some very unusual
> >> files I don't have.
> >>
> >> [..]
> >
> > Ugh, I'm thinking about acroread. Do you have its completion
> > in /etc/bash_completion.d/ ? If yes, does removing it fix the bug?
> >
>
> No, I don't have that file.
Ok.
> Below is the completion output.
>
>
> $ ls
> !file foobar.txt
Aha! It's that "!file" that breaks the completion. I'm confirming the bug now.
> $ vi foo+ local IFS cur xspec
> + IFS='
> '
> + COMPREPLY=()
> + _get_comp_words_by_ref cur
> + local exclude flag i OPTIND=1
> + words=()
> + local cur cword words
> + upargs=()
> + upvars=()
> + local upargs upvars vcur vcword vprev vwords
> + getopts c:i:n:p:w: flag cur
> + [[ 1 -ge 1 ]]
> + case ${!OPTIND} in
> + vcur=cur
> + let 'OPTIND += 1'
> + [[ 1 -ge 2 ]]
> + __get_cword_at_cursor_by_ref '' words cword cur
> + words=()
> + local cword words
> + __reassemble_comp_words_by_ref '' words cword
> + local exclude i j ref
> + [[ -n '' ]]
> + eval cword=1
> ++ cword=1
> + [[ -n '' ]]
> + eval 'words=(' '"${COMP_WORDS[@]}"' ')'
> ++ words=("${COMP_WORDS[@]}")
> + local i cur2
> + local 'cur=vi foo'
> + local index=6
> + (( i = 0 ))
> + (( i <= cword ))
> + [[ 6 -ge 2 ]]
> + [[ vi != \v\i ]]
> + [[ 0 -lt 1 ]]
> + local old_size=6
> + cur=' foo'
> + local new_size=4
> + index=4
> + (( ++i ))
> + (( i <= cword ))
> + [[ 4 -ge 3 ]]
> + [[ fo != \f\o\o ]]
> + cur=foo
> + (( index-- ))
> + [[ 3 -ge 3 ]]
> + [[ foo != \f\o\o ]]
> + [[ 1 -lt 1 ]]
> + (( ++i ))
> + (( i <= cword ))
> + [[ foo != \f\o\o ]]
> + cur2=foo
> + local words cword cur
> + _upvars -a2 words vi foo -v cword 1 -v cur foo
> + (( 10 ))
> + (( 10 ))
> + case $1 in
> + [[ -n 2 ]]
> + printf %d 2
> + [[ -n words ]]
> + unset -v words
> + eval 'words=("${@:3:2}")'
> ++ words=("${@:3:2}")
> + shift 4
> + (( 6 ))
> + case $1 in
> + [[ -n cword ]]
> + unset -v cword
> + eval 'cword="$3"'
> ++ cword=1
> + shift 3
> + (( 3 ))
> + case $1 in
> + [[ -n cur ]]
> + unset -v cur
> + eval 'cur="$3"'
> ++ cur=foo
> + shift 3
> + (( 0 ))
> + [[ -n cur ]]
> + upvars+=("$vcur")
> + upargs+=(-v $vcur "$cur")
> + [[ -n '' ]]
> + [[ -n '' ]]
> + [[ -n '' ]]
> + (( 1 ))
> + local cur
> + _upvars -v cur foo
> + (( 3 ))
> + (( 3 ))
> + case $1 in
> + [[ -n cur ]]
> + unset -v cur
> + eval 'cur="$3"'
> ++ cur=foo
> + shift 3
> + (( 0 ))
> + _expand
> + [[ foo == \~*/* ]]
> + [[ foo == \~* ]]
> ++ awk '/^complete[ \t]+.*[ \t]vi([ \t]|$)/ { print $0; exit }'
> /etc/bash_completion
> + xspec='complete -f -X
> '\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\''
> vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs
> kate kwrite'
> +
> xspec=''\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\''
> vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate
> kwrite'
> +
> xspec=''\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'''
> + local -a toks
> + local tmp
> + toks=(${toks[@]-} $(
> compgen -d -- "$(quote_readline "$cur")" | {
> while read -r tmp; do
> # see long TODO comment in _filedir() --David
> printf '%s\n' $tmp
> done
> }
> ))
> ++ read -r tmp
> +++ quote_readline foo
> +++ local quoted
> +++ _quote_readline_by_ref foo ret
> +++ [[ f == \' ]]
> +++ [[ 4 -le 3 ]]
> +++ printf -v ret %q foo
> +++ [[ f == \$ ]]
> +++ printf %s foo
> ++ compgen -d -- foo
> + eval
> 'xspec='\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'''
> ++
> xspec='*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'
> + local 'matchop=!'
> + [[ *.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)
> == !* ]]
> + [[ 4 -ge 4 ]]
> +
> xspec='!(*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)|*.@(O|SO|SO.!(CONF)|A|[RS]PM|GIF|JP?(E)G|MP3|MP?(E)G|AVI|ASF|OGG|CLASS))'
> + toks=(${toks[@]-} $(
> eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | {
> while read -r tmp; do
> [ -n $tmp ] && printf '%s\n' $tmp
> done
> }
> ))
> ++ eval compgen -f -X
> '!!(*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)|*.@(O|SO|SO.!(CONF)|A|[RS]PM|GIF|JP?(E)G|MP3|MP?(E)G|AVI|ASF|OGG|CLASS))'
> -- '$(quote_readline $cur)'
> ++ read -r tmp
> ++++ quote_readline foo
> ++++ local quoted
> ++++ _quote_readline_by_ref foo ret
> ++++ [[ f == \' ]]
> ++++ [[ 4 -le 3 ]]
> ++++ printf -v ret %q foo
> ++++ [[ f == \$ ]]
> ++++ printf %s foo
> +++ compgen -f -X '!file' -- foo
> + '[' 0 -ne 0 ']'
> + COMPREPLY=("${toks[@]}")
Thanks,
David
--
. ''`. Debian developer | http://wiki.debian.org/DavidPaleino
: :' : Linuxer #334216 --|-- http://www.hanskalabs.net/
`. `'` GPG: 1392B174 ----|---- http://deb.li/dapal
`- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174
[signature.asc (application/pgp-signature, attachment)]
Added tag(s) upstream and confirmed; removed tag(s) unreproducible and moreinfo.
Request was from David Paleino <dapal@debian.org>
to control@bugs.debian.org.
(Tue, 14 Jun 2011 20:09:08 GMT) (full text, mbox, link).
Changed Bug title to 'files starting with '!' break editors file-based completion' from 'bash-completion: no longer completes files for vi'
Request was from David Paleino <dapal@debian.org>
to control@bugs.debian.org.
(Tue, 14 Jun 2011 20:09:09 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>:
Bug#630521; Package bash-completion.
(Fri, 14 Oct 2011 14:36:07 GMT) (full text, mbox, link).
Acknowledgement sent
to Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>:
Extra info received and forwarded to list. Copy sent to Bash Completion Maintainers <bash-completion-devel@lists.alioth.debian.org>.
(Fri, 14 Oct 2011 14:36:07 GMT) (full text, mbox, link).
Message #36 received at 630521@bugs.debian.org (full text, mbox, reply):
Package: bash-completion
Version: 1:1.3-1
Followup-For: Bug #630521
Hi,
Any update?
I'm still seeing this:
$ mkdir -p /tmp/630521
$ touch /tmp/630521/{\!,file{1,2,3}}
$ cd /tmp/630521
$ ls -1
!
file1
file2
file3
$ set -x
$ vi fil+ local IFS cur xspec
+ IFS='
'
+ COMPREPLY=()
+ _get_comp_words_by_ref cur
+ local exclude flag i OPTIND=1
+ words=()
+ local cur cword words
+ upargs=()
+ upvars=()
+ local upargs upvars vcur vcword vprev vwords
+ getopts c:i:n:p:w: flag cur
+ [[ 1 -ge 1 ]]
+ case ${!OPTIND} in
+ vcur=cur
+ let 'OPTIND += 1'
+ [[ 1 -ge 2 ]]
+ __get_cword_at_cursor_by_ref '' words cword cur
+ words=()
+ local cword words
+ __reassemble_comp_words_by_ref '' words cword
+ local exclude i j ref
+ [[ -n '' ]]
+ eval cword=1
++ cword=1
+ [[ -n '' ]]
+ eval 'words=(' '"${COMP_WORDS[@]}"' ')'
++ words=("${COMP_WORDS[@]}")
+ local i cur2
+ local 'cur=vi fil'
+ local index=6
+ (( i = 0 ))
+ (( i <= cword ))
+ [[ 6 -ge 2 ]]
+ [[ vi != \v\i ]]
+ [[ 0 -lt 1 ]]
+ local old_size=6
+ cur=' fil'
+ local new_size=4
+ index=4
+ (( ++i ))
+ (( i <= cword ))
+ [[ 4 -ge 3 ]]
+ [[ fi != \f\i\l ]]
+ cur=fil
+ (( index-- ))
+ [[ 3 -ge 3 ]]
+ [[ fil != \f\i\l ]]
+ [[ 1 -lt 1 ]]
+ (( ++i ))
+ (( i <= cword ))
+ [[ fil != \f\i\l ]]
+ cur2=fil
+ local words cword cur
+ _upvars -a2 words vi fil -v cword 1 -v cur fil
+ (( 10 ))
+ (( 10 ))
+ case $1 in
+ [[ -n 2 ]]
+ printf %d 2
+ [[ -n words ]]
+ unset -v words
+ eval 'words=("${@:3:2}")'
++ words=("${@:3:2}")
+ shift 4
+ (( 6 ))
+ case $1 in
+ [[ -n cword ]]
+ unset -v cword
+ eval 'cword="$3"'
++ cword=1
+ shift 3
+ (( 3 ))
+ case $1 in
+ [[ -n cur ]]
+ unset -v cur
+ eval 'cur="$3"'
++ cur=fil
+ shift 3
+ (( 0 ))
+ [[ -n cur ]]
+ upvars+=("$vcur")
+ upargs+=(-v $vcur "$cur")
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ (( 1 ))
+ local cur
+ _upvars -v cur fil
+ (( 3 ))
+ (( 3 ))
+ case $1 in
+ [[ -n cur ]]
+ unset -v cur
+ eval 'cur="$3"'
++ cur=fil
+ shift 3
+ (( 0 ))
+ _expand
+ [[ fil == \~*/* ]]
+ [[ fil == \~* ]]
++ awk '/^complete[ \t]+.*[ \t]vi([ \t]|$)/ { print $0; exit }' /etc/bash_completion
+ xspec='complete -f -X '\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite'
+ xspec=''\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite'
+ xspec=''\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'''
+ local -a toks
+ local tmp
+ toks=(${toks[@]-} $(
compgen -d -- "$(quote_readline "$cur")" | {
while read -r tmp; do
# see long TODO comment in _filedir() --David
printf '%s\n' $tmp
done
}
))
++ read -r tmp
+++ quote_readline fil
+++ local quoted
+++ _quote_readline_by_ref fil ret
+++ [[ f == \' ]]
+++ [[ 4 -le 3 ]]
+++ printf -v ret %q fil
+++ [[ f == \$ ]]
+++ printf %s fil
++ compgen -d -- fil
+ eval 'xspec='\''*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'\'''
++ xspec='*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)'
+ local 'matchop=!'
+ [[ *.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class) == !* ]]
+ [[ 4 -ge 4 ]]
+ xspec='!(*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)|*.@(O|SO|SO.!(CONF)|A|[RS]PM|GIF|JP?(E)G|MP3|MP?(E)G|AVI|ASF|OGG|CLASS))'
+ toks=(${toks[@]-} $(
eval compgen -f -X "!$xspec" -- "\$(quote_readline "\$cur")" | {
while read -r tmp; do
[ -n $tmp ] && printf '%s\n' $tmp
done
}
))
++ eval compgen -f -X '!!(*.@(o|so|so.!(conf)|a|[rs]pm|gif|jp?(e)g|mp3|mp?(e)g|avi|asf|ogg|class)|*.@(O|SO|SO.!(CONF)|A|[RS]PM|GIF|JP?(E)G|MP3|MP?(E)G|AVI|ASF|OGG|CLASS))' -- '$(quote_readline $cur)'
++ read -r tmp
++++ quote_readline fil
++++ local quoted
++++ _quote_readline_by_ref fil ret
++++ [[ f == \' ]]
++++ [[ 4 -le 3 ]]
++++ printf -v ret %q fil
++++ [[ f == \$ ]]
++++ printf %s fil
+++ compgen -f -X '!' -- fil
+ '[' 0 -ne 0 ']'
+ COMPREPLY=("${toks[@]}")
thanks,
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages bash-completion depends on:
ii bash 4.1-3
bash-completion recommends no packages.
bash-completion suggests no packages.
-- no debconf information
Information forwarded
to debian-bugs-dist@lists.debian.org, Gabriel F. T. Gomes <gabriel@inconstante.eti.br>:
Bug#630521; Package bash-completion.
(Thu, 08 Nov 2018 01:27:03 GMT) (full text, mbox, link).
Acknowledgement sent
to "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>:
Extra info received and forwarded to list. Copy sent to Gabriel F. T. Gomes <gabriel@inconstante.eti.br>.
(Thu, 08 Nov 2018 01:27:03 GMT) (full text, mbox, link).
Message #41 received at 630521@bugs.debian.org (full text, mbox, reply):
Control: tags -1 = unreproducible
It looks like the bug is gone, so I'm setting it to unreproducible.
After some time, if no one oposes, I'll close it.
$ ls
'!' file1 file2 file3
$ vi file
file1 file2 file3
Michal, do you still see this problem?
Added tag(s) unreproducible; removed tag(s) confirmed and upstream.
Request was from "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>
to 630521-submit@bugs.debian.org.
(Thu, 08 Nov 2018 01:27:03 GMT) (full text, mbox, link).
Reply sent
to "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>:
You have taken responsibility.
(Sat, 17 Nov 2018 15:27:05 GMT) (full text, mbox, link).
Notification sent
to Michal Suchanek <hramrach@centrum.cz>:
Bug acknowledged by developer.
(Sat, 17 Nov 2018 15:27:05 GMT) (full text, mbox, link).
Message #48 received at 630521-close@bugs.debian.org (full text, mbox, reply):
Closing as unreproducible.
Please do not hesitate to reopen if you have more information.
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Sun, 16 Dec 2018 07:26:43 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Sun Jul 2 09:41:37 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.