[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
super annoying completion change
From: |
Miles Bader |
Subject: |
super annoying completion change |
Date: |
Thu, 08 Dec 2011 11:43:20 +0900 |
I notice that recently the behavior of bash completion w/r/t
environment variables has changed, in a reallllly annoying way:
If one has an environment variable like:
ls=/usr/local/src
and then hit <TAB> to complete the following command line:
$ cd $ls/ema<TAB>
where the intent is to do "cd /usr/local/src/emacs", then:
* The _old_ behavior of bash was to (1) expand "$ls" to
"/usr/local/src", and then (2) proceed to complete
"/usr/local/src/ema" into "/usr/local/src/emacs". Handy!
* The _new_ behavior is to just add a backslash before "$" and then
(apparently) try to complete on the literal-$-prefixed string --
which of course usually fails, as there is no such subdirectory.
Gahhhh!
Given that filenames/directories containing a literal "$" are quite
rare in general, and the old behavior enabled a _very_ useful way of
using environment variables as "bookmarks", I think this change should
be reverted (obviously compatibility is not a concern, as this change
was itself an incompatible change).
My bash version is "4.2.20(1)-release (x86_64-pc-linux-gnu)" in Debian
sid. If this isn't actually a bash problem then apologies... (dunno
what it would be then, though)!
Thanks,
-Miles
--
Friendless, adj. Having no favors to bestow. Destitute of fortune. Addicted to
utterance of truth and common sense.
- super annoying completion change,
Miles Bader <=