[Bash-completion-devel] Bug#859869: unhelpful completion of file name that contains equals sign and space

Bruno Haible bruno at clisp.org
Sat Apr 8 10:00:40 UTC 2017

Package: bash-completion
Version: 1:2.1-4.2ubuntu1.1


Using bash 4.3.46 (Ubuntu package version 4.3-14ubuntu1.1) and bash-completion
(Ubuntu package version 1:2.1-4.2ubuntu1.1).

In the current directory I have just one file:

$ ls -1
vlc-record-2017-03-28-02h03m23s-dvb-t___frequency=482000000-Hits of the 90's.ts

When I type

  mv vlc<TAB>

it completes to

  mv vlc-record-2017-03-28-02h03m23s-dvb-t___frequency\=482000000-Hits\ of\ the\ 90\'s.ts 

which is OK. But when I type

  mv vlc-record-2017-03-28-02h03m23s-dvb-t___frequency=482<TAB>

it completes to

  mv vlc-record-2017-03-28-02h03m23s-dvb-t___frequency=vlc-record-2017-03-28-02h03m23s-dvb-t___frequency\=482000000-Hits\ of\ the\ 90\'s.ts 

which no longer matches the file name. Likewise with 'vlc' instead of 'mv'.

Somehow the bash completion inserts the up to the equals sign, which makes
no sense for the programs 'mv' and 'vlc'.

The workaround is to type an extra double-quote [1]:

  mv "vlc-record-2017-03-28-02h03m23s-dvb-t___frequency=482<TAB>

but *this should not be necessary*.


[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742126

More information about the Bash-completion-devel mailing list