Debian Bug report logs - #630521
files starting with '!' break editors file-based completion

version graph

Package: bash-completion; Maintainer for bash-completion is Gabriel F. T. Gomes <gabriel@debian.org>; Source for bash-completion is src:bash-completion (PTS, buildd, popcon).

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

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: Michal Suchanek <hramrach@centrum.cz>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: bash-completion: no longer completes files for vi
Date: Tue, 14 Jun 2011 21:05:07 +0200
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):

From: David Paleino <dapal@debian.org>
To: Michal Suchanek <hramrach@centrum.cz>
Cc: 630521@bugs.debian.org
Subject: Re: [Bash-completion-devel] Bug#630521: bash-completion: no longer completes files for vi
Date: Tue, 14 Jun 2011 21:20:24 +0200
[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):

From: David Paleino <dapal@debian.org>
To: Michal Suchanek <hramrach@centrum.cz>
Cc: 630521@bugs.debian.org
Subject: Re: [Bash-completion-devel] Bug#630521: bash-completion: no longer completes files for vi
Date: Tue, 14 Jun 2011 21:22:48 +0200
[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):

From: Michal Suchanek <hramrach@centrum.cz>
To: dapal@debian.org
Cc: 630521@bugs.debian.org
Subject: Re: [Bash-completion-devel] Bug#630521: bash-completion: no longer completes files for vi
Date: Tue, 14 Jun 2011 21:53:41 +0200
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):

From: David Paleino <dapal@debian.org>
To: Michal Suchanek <hramrach@centrum.cz>
Cc: 630521@bugs.debian.org
Subject: Re: [Bash-completion-devel] Bug#630521: bash-completion: no longer completes files for vi
Date: Tue, 14 Jun 2011 22:03:50 +0200
[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):

From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
To: Debian Bug Tracking System <630521@bugs.debian.org>
Subject: Re: files starting with '!' break editors file-based completion
Date: Fri, 14 Oct 2011 16:34:04 +0200
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):

From: "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>
To: <630521@bugs.debian.org>, <hramrach@centrum.cz>
Subject: Update tags
Date: Wed, 7 Nov 2018 23:16:47 -0200
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):

From: "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>
To: <630521-close@bugs.debian.org>
Subject: Re: Update tags
Date: Sat, 17 Nov 2018 13:16:41 -0200
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.