From 33956d30b724eec752f7315ffc2ced2ff8d1a9e0 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 24 Nov 1993 05:12:36 +0000 Subject: [PATCH] (comint-send-input): Don't call comint-arguments while computing the value for history. (comint-delim-arg): Treat quoted delim chars as non-delims. --- lisp/comint.el | 17 ++++++++++------- 1 file 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)) -- 2.39.5