* lisp/replace.el (read-regexp): Add HISTORY arg.
authorJuri Linkov <juri@jurta.org>
Thu, 20 Sep 2012 21:28:47 +0000 (00:28 +0300)
committerJuri Linkov <juri@jurta.org>
Thu, 20 Sep 2012 21:28:47 +0000 (00:28 +0300)
Fixes: debbugs:7567

lisp/ChangeLog
lisp/replace.el

index 1ec43f2..5a07779 100644 (file)
@@ -1,5 +1,7 @@
 2012-09-20  Juri Linkov  <juri@jurta.org>
 
+       * replace.el (read-regexp): Add HISTORY arg.  (Bug#7567)
+
        * replace.el (read-regexp): Don't add ": " when PROMPT already
        ends with a colon and space.  (Bug#12321)
 
index 2f5a9cb..70819ea 100644 (file)
@@ -574,14 +574,17 @@ of `history-length', which see.")
 (defvar occur-collect-regexp-history '("\\1")
   "History of regexp for occur's collect operation")
 
-(defun read-regexp (prompt &optional default-value)
+(defun read-regexp (prompt &optional default-value history)
   "Read regexp as a string using the regexp history and some useful defaults.
 When PROMPT doesn't end with a colon and space, it adds a final \": \".
 If DEFAULT-VALUE is non-nil, it displays the first default in the prompt.
 The optional argument DEFAULT-VALUE provides the value to display
 in the minibuffer prompt that is returned if the user just types RET.
 Values available via M-n are the string at point, the last isearch
-regexp, the last isearch string, and the last replacement regexp."
+regexp, the last isearch string, and the last replacement regexp.
+
+Non-nil HISTORY is a symbol to use for the history list.
+If HISTORY is nil, `regexp-history' is used."
   (let* ((defaults
           (list (regexp-quote
                  (or (funcall (or find-tag-default-function
@@ -603,11 +606,11 @@ regexp, the last isearch string, and the last replacement regexp."
                                 (query-replace-descr default-value)))
                       (t
                        (format "%s: " prompt)))
-                nil nil nil 'regexp-history defaults t)))
+                nil nil nil (or history 'regexp-history) defaults t)))
     (if (equal input "")
        (or default-value input)
       (prog1 input
-       (add-to-history 'regexp-history input)))))
+       (add-to-history (or history 'regexp-history) input)))))
 
 
 (defalias 'delete-non-matching-lines 'keep-lines)