The problem does not come from upstream... it it caused by a patch created by 
canonical.
debian/patches/00-fix_quote_readline_by_ref.patch:

From: JuanJo Ciarlante <j...@canonical.com>
Subject: fix _quote_readline_by_ref to:
 - avoid escaping 1st '~' (lp: #1288314)
 - avoid quoting if empty, else expansion without args only shows dirs
   (lp: #1288031)
 - replace double escaping to single (eg for completing file/paths with
   spaces)
Origin: vendor, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739835
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739835
Forwarded: yes, <5328f418....@canonical.com>

---
 bash_completion |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

--- bash-completion.orig/bash_completion
+++ bash-completion/bash_completion
@@ -536,13 +536,24 @@ __ltrim_colon_completions()
 # @param $2  Name of variable to return result to
 _quote_readline_by_ref()
 {
-    if [[ $1 == \'* ]]; then
+    if [ -z "$1" ]; then
+        # avoid quoting if empty
+        printf -v $2 %s "$1"
+    elif [[ $1 == \'* ]]; then
         # Leave out first character
         printf -v $2 %s "${1:1}"
+    elif [[ $1 == ~* ]]; then
+        # avoid escaping first ~
+        printf -v $2 ~%q "${1:1}"
     else
         printf -v $2 %q "$1"
     fi

+    # Replace double escaping ( \\ ) by single ( \ )
+    # This happens always when argument is already escaped at cmdline,
+    # and passed to this function as e.g.: file\ with\ spaces
+    [[ ${!2} == *\\* ]] && printf -v $2 %s "${1//\\\\/\\}"
+
     # If result becomes quoted like this: $'string', re-evaluate in order to
     # drop the additional quoting.  See also: http://www.mail-archive.com/
     # bash-completion-de...@lists.alioth.debian.org/msg01942.html


** Bug watch added: Debian Bug tracker #739835
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739835

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1390061

Title:
  bash-completion tilde expansion every time

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/1390061/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to