emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master b6a51e05c9: * lisp/replace.el (query-replace-read-from): Use defa


From: Juri Linkov
Subject: master b6a51e05c9: * lisp/replace.el (query-replace-read-from): Use default for empty input.
Date: Wed, 2 Feb 2022 14:51:14 -0500 (EST)

branch: master
commit b6a51e05c9714827737708ce7fb2068f285005ce
Author: Juri Linkov <juri@linkov.net>
Commit: Juri Linkov <juri@linkov.net>

    * lisp/replace.el (query-replace-read-from): Use default for empty input.
    
    Set 'default' from non-empty 'query-replace-read-from-default'.
    Use the default in non-regexp prompt and return it for empty input.
    https://lists.gnu.org/archive/html/emacs-devel/2022-02/msg00044.html
---
 lisp/replace.el | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/lisp/replace.el b/lisp/replace.el
index 91cd2b3420..23e6483809 100644
--- a/lisp/replace.el
+++ b/lisp/replace.el
@@ -239,10 +239,11 @@ wants to replace FROM with TO."
                       query-replace-defaults))
             (symbol-value query-replace-from-history-variable)))
           (minibuffer-allow-text-properties t) ; separator uses text-properties
+          (default (when (and query-replace-read-from-default (not 
regexp-flag))
+                     (funcall query-replace-read-from-default)))
           (prompt
             (cond ((and query-replace-read-from-regexp-default regexp-flag) 
prompt)
-                  ((and query-replace-read-from-default (not regexp-flag))
-                   (format-prompt prompt (funcall 
query-replace-read-from-default)))
+                  (default (format-prompt prompt default))
                   ((and query-replace-defaults separator)
                    (format-prompt prompt (car minibuffer-history)))
                   (query-replace-defaults
@@ -272,17 +273,18 @@ wants to replace FROM with TO."
                      'minibuffer-history)
                   (read-from-minibuffer
                    prompt nil nil nil nil
-                   (if query-replace-read-from-default
-                       (cons (funcall query-replace-read-from-default)
-                             (query-replace-read-from-suggestions))
+                   (if default
+                       (delete-dups
+                        (cons default (query-replace-read-from-suggestions)))
                      (query-replace-read-from-suggestions))
                    t)))))
            (to))
-      (if (and (zerop (length from)) query-replace-defaults)
+      (if (and (zerop (length from)) query-replace-defaults (not default))
          (cons (caar query-replace-defaults)
                (query-replace-compile-replacement
                 (cdar query-replace-defaults) regexp-flag))
-        (setq from (query-replace--split-string from))
+        (setq from (or (and (zerop (length from)) default)
+                       (query-replace--split-string from)))
         (when (consp from) (setq to (cdr from) from (car from)))
         (add-to-history query-replace-from-history-variable from nil t)
         ;; Warn if user types \n or \t, but don't reject the input.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]