From: Stefan Monnier Date: Sat, 5 May 2012 04:18:49 +0000 (-0400) Subject: * lisp/shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like X-Git-Tag: emacs-24.0.97~32 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3d53ee1b2d06098527f983756fcfdfc2a5ecce16;p=emacs.git * lisp/shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like shell-delimiter-argument-list. (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list. Fixes: debbugs:11348 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ff08f0681aa..7a83c95ec3a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2012-05-05 Stefan Monnier + + * shell.el (shell-completion-vars): Set pcomplete-arg-quote-list like + shell-delimiter-argument-list (bug#11348). + (shell-parse-pcomplete-arguments): Obey pcomplete-arg-quote-list. + 2012-05-04 Chong Yidong * select.el (xselect--encode-string): Always use utf-8 for TEXT on diff --git a/lisp/shell.el b/lisp/shell.el index 7c5ce49a967..737f69c021d 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -393,8 +393,11 @@ Thus, this does not include the shell's current directory.") (goto-char (match-end 0)) (cond ((match-beginning 3) ;Backslash escape. - (push (if (= (match-beginning 3) (match-end 3)) - "\\" (match-string 3)) + (push (cond + ((null pcomplete-arg-quote-list) + (goto-char (match-beginning 3)) "\\") + ((= (match-beginning 3) (match-end 3)) "\\") + (t (match-string 3))) arg)) ((match-beginning 2) ;Double quote. (push (replace-regexp-in-string @@ -429,7 +432,7 @@ Shell buffers. It implements `shell-completion-execonly' for (set (make-local-variable 'pcomplete-parse-arguments-function) #'shell-parse-pcomplete-arguments) (set (make-local-variable 'pcomplete-arg-quote-list) - (append "\\ \t\n\r\"'`$|&;(){}[]<>#" nil)) + shell-delimiter-argument-list) (set (make-local-variable 'pcomplete-termination-string) (cond ((not comint-completion-addsuffix) "") ((stringp comint-completion-addsuffix)