From 9e5d1b634e23145366cc7dffc8325d28d5a04941 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 2 Jul 2004 23:52:14 +0000 Subject: [PATCH] (query-replace-read-args): Swallow space after symbols, not after closeparens. But avoid error if string ends there. --- lisp/replace.el | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index cac4470c9cd..8e8b43d66c6 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -118,14 +118,18 @@ strings or patterns." ((eq char ?\,) (setq pos (read-from-string to)) (push `(replace-quote ,(car pos)) list) - (setq to (substring - to (+ (cdr pos) - ;; Swallow a space after a symbol - ;; if there is a space. - (if (string-match - "^[^])\"] " - (substring to (1- (cdr pos)))) - 1 0)))))) + (let ((end + ;; Swallow a space after a symbol + ;; if there is a space. + (if (and (or (symbolp (car pos)) + ;; Swallow a space after 'foo + ;; but not after (quote foo). + (and (eq (car-safe (car pos)) 'quote) + (= ?\( (aref to 0)))) + (string-match " " to (cdr pos))) + (1+ (cdr pos)) + (cdr pos)))) + (setq to (substring to end))))) (string-match "\\(\\`\\|[^\\]\\)\\(\\\\\\\\\\)*\\\\[,#]" to))) (setq to (nreverse (delete "" (cons to list))))) (replace-match-string-symbols to) -- 2.39.2