[Top][All Lists]

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


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.

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



Friendless, adj. Having no favors to bestow. Destitute of fortune. Addicted to
utterance of truth and common sense.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]