branch: externals/urgrep
commit e9e70552dbc9736fbec64c660d1b9ea73780231b
Author: Jim Porter <[email protected]>
Commit: Jim Porter <[email protected]>
Use 'format-prompt' if available
---
urgrep.el | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/urgrep.el b/urgrep.el
index 3a3a02558b..cc75058a7e 100644
--- a/urgrep.el
+++ b/urgrep.el
@@ -103,6 +103,17 @@ The currently-used tool can be inspected from the hook via
;; Urgrep utility functions
+;; `format-prompt' was added in Emacs 28.1.
+(defalias 'urgrep--format-prompt
+ (if (fboundp 'format-prompt)
+ #'format-prompt
+ (lambda (prompt default &rest format-args)
+ (concat
+ (apply #'format prompt format-args)
+ (when default
+ (format " (default %s)" default))
+ ": "))))
+
(defun urgrep--convert-regexp (expr from-syntax to-syntax)
"Convert the regexp EXPR from FROM-SYNTAX to TO-SYNTAX."
(cond ((and (not (eq from-syntax to-syntax))
@@ -773,16 +784,16 @@ point."
"Return the prompt to use when asking for the search query.
This depends on the current values of various urgrep options. DEFAULT
indicates the default query, if any."
- (concat "Search "
- (if urgrep-search-regexp "regexp" "string")
- (let ((block (append `(,#'pcase ',urgrep-context-lines)
- urgrep--context-arguments)))
- (mapconcat (lambda (i) (concat " " i)) (eval block t) ""))
- (when urgrep-file-wildcards
- (format " in %s" (mapconcat #'identity urgrep-file-wildcards " ")))
- (when default
- (format " (default %s)" default))
- ": "))
+ (urgrep--format-prompt
+ (concat
+ "Search "
+ (if urgrep-search-regexp "regexp" "string")
+ (let ((block (append `(,#'pcase ',urgrep-context-lines)
+ urgrep--context-arguments)))
+ (mapconcat (lambda (i) (concat " " i)) (eval block t) ""))
+ (when urgrep-file-wildcards
+ (format " in %s" (mapconcat #'identity urgrep-file-wildcards " "))))
+ default))
(defun urgrep--update-search-prompt ()
"Update the search prompt in the minibuffer."