From eebbf404b840534736d5ccb4d65602fee0a5cc5d Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Fri, 21 Sep 2012 00:28:47 +0300 Subject: * lisp/replace.el (read-regexp): Add HISTORY arg. Fixes: debbugs:7567 --- lisp/ChangeLog | 2 ++ lisp/replace.el | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'lisp') diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1ec43f2164..5a07779e94 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2012-09-20 Juri Linkov + * 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) diff --git a/lisp/replace.el b/lisp/replace.el index 2f5a9cb6bf..70819ea255 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -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) -- cgit v1.2.3