diff options
author | Richard M. Stallman <rms@gnu.org> | 1993-11-24 05:12:36 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1993-11-24 05:12:36 +0000 |
commit | 33956d30b724eec752f7315ffc2ced2ff8d1a9e0 (patch) | |
tree | 23507bc06e0b06bde51c6d44f5af225013be0cc5 | |
parent | 043efc41eb942f4712b83bf93f4193767ff842b5 (diff) | |
download | emacs-33956d30b724eec752f7315ffc2ced2ff8d1a9e0.tar.gz emacs-33956d30b724eec752f7315ffc2ced2ff8d1a9e0.tar.bz2 emacs-33956d30b724eec752f7315ffc2ced2ff8d1a9e0.zip |
(comint-send-input): Don't call comint-arguments while
computing the value for history.
(comint-delim-arg): Treat quoted delim chars as non-delims.
-rw-r--r-- | lisp/comint.el | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lisp/comint.el b/lisp/comint.el index d9e48f19734..03cc7d35782 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -983,9 +983,15 @@ Quotes are single and double." (if (or (null comint-delimiter-argument-list) (string-match "[\"\'\`]" arg)) (list arg) - (let ((not-delim (format "[^%s]+" (mapconcat - (function (lambda (d) (regexp-quote d))) - comint-delimiter-argument-list ""))) + (let ((not-delim (concat + (format "\\([^%s]" (mapconcat + (function (lambda (d) (regexp-quote d))) + comint-delimiter-argument-list "")) + "\\|" + (mapconcat (function (lambda (d) + (concat "\\\\" (regexp-quote d)))) + comint-delimiter-argument-list "\\|") + "\\)+")) (delim-str (mapconcat (function (lambda (d) (concat (regexp-quote d) "+"))) comint-delimiter-argument-list "\\|")) @@ -1080,10 +1086,7 @@ Similarly for Soar, Scheme, etc." ;; functions used do insertion, rather than return ;; strings. We have to expand, then insert back. (comint-replace-by-expanded-history) - (let ((copy (buffer-substring pmark (point)))) - (delete-region pmark (point)) - (insert input) - (comint-arguments copy 0 nil))))) + (buffer-substring pmark (point))))) (if comint-process-echoes (delete-region pmark (point)) (insert ?\n)) |