* lisp/replace.el (read-regexp): Don't add ": " when PROMPT already

ends with a colon and space.

Fixes: debbugs:12321
This commit is contained in:
Juri Linkov 2012-09-21 00:21:46 +03:00
parent c9e452d3a1
commit 41a97e6fcf
2 changed files with 18 additions and 11 deletions

View file

@ -1,3 +1,8 @@
2012-09-20 Juri Linkov <juri@jurta.org>
* replace.el (read-regexp): Don't add ": " when PROMPT already
ends with a colon and space. (Bug#12321)
2012-09-20 Tassilo Horn <tsdh@gnu.org>
* doc-view.el (doc-view-display): Better fix for the cl-assertion

View file

@ -576,10 +576,10 @@ of `history-length', which see.")
(defun read-regexp (prompt &optional default-value)
"Read regexp as a string using the regexp history and some useful defaults.
Prompt for a regular expression with PROMPT (without a colon and
space) in the minibuffer. The optional argument DEFAULT-VALUE
provides the value to display in the minibuffer prompt that is
returned if the user just types RET.
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."
(let* ((defaults
@ -595,13 +595,15 @@ regexp, the last isearch string, and the last replacement regexp."
(defaults (delete-dups (delq nil (delete "" defaults))))
;; Don't add automatically the car of defaults for empty input
(history-add-new-input nil)
(input
(read-from-minibuffer
(if default-value
(format "%s (default %s): " prompt
(query-replace-descr default-value))
(format "%s: " prompt))
nil nil nil 'regexp-history defaults t)))
(input (read-from-minibuffer
(cond ((string-match-p ":[ \t]*\\'" prompt)
prompt)
(default-value
(format "%s (default %s): " prompt
(query-replace-descr default-value)))
(t
(format "%s: " prompt)))
nil nil nil 'regexp-history defaults t)))
(if (equal input "")
(or default-value input)
(prog1 input