+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
(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
(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