From 3d53ee1b2d06098527f983756fcfdfc2a5ecce16 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 5 May 2012 00:18:49 -0400 Subject: [PATCH] * 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 --- lisp/ChangeLog | 6 ++++++ lisp/shell.el | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) 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) -- 2.39.2