mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Tell direction in prompts for '(previous|next)-matching-history-element'
Previously, this always said "Previous" for 'previous-matching-history-element' (likewise "Next"). Now, the prompt accounts for a negative prefix argument changing the search direction (bug#70882). * lisp/simple.el (previous-matching-history-element) (next-matching-history-element): Consult numeric prefix argument to determine the prompt string.
This commit is contained in:
parent
ae9045a8bd
commit
44d1687f1f
1 changed files with 19 additions and 14 deletions
|
|
@ -2876,11 +2876,13 @@ Normally, history elements are matched case-insensitively if
|
|||
makes the search case-sensitive.
|
||||
See also `minibuffer-history-case-insensitive-variables'."
|
||||
(interactive
|
||||
(let* ((enable-recursive-minibuffers t)
|
||||
(let* ((n (prefix-numeric-value current-prefix-arg))
|
||||
(enable-recursive-minibuffers t)
|
||||
(regexp (read-from-minibuffer
|
||||
(format-prompt "Previous element matching regexp"
|
||||
(format-prompt "%s element matching regexp"
|
||||
(and minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history)))
|
||||
(car minibuffer-history-search-history))
|
||||
(if (>= n 0) "Previous" "Next"))
|
||||
nil minibuffer-local-map nil
|
||||
'minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history))))
|
||||
|
|
@ -2888,9 +2890,9 @@ See also `minibuffer-history-case-insensitive-variables'."
|
|||
(list (if (string= regexp "")
|
||||
(if minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history)
|
||||
(user-error "No previous history search regexp"))
|
||||
(user-error "No history search regexp"))
|
||||
regexp)
|
||||
(prefix-numeric-value current-prefix-arg))))
|
||||
n)))
|
||||
(unless (zerop n)
|
||||
(if (and (zerop minibuffer-history-position)
|
||||
(null minibuffer-text-before-history))
|
||||
|
|
@ -2948,20 +2950,23 @@ Normally, history elements are matched case-insensitively if
|
|||
`case-fold-search' is non-nil, but an uppercase letter in REGEXP
|
||||
makes the search case-sensitive."
|
||||
(interactive
|
||||
(let* ((enable-recursive-minibuffers t)
|
||||
(regexp (read-from-minibuffer "Next element matching (regexp): "
|
||||
nil
|
||||
minibuffer-local-map
|
||||
nil
|
||||
'minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history))))
|
||||
(let* ((n (prefix-numeric-value current-prefix-arg))
|
||||
(enable-recursive-minibuffers t)
|
||||
(regexp (read-from-minibuffer
|
||||
(format-prompt "%s element matching regexp"
|
||||
(and minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history))
|
||||
(if (>= n 0) "Next" "Previous"))
|
||||
nil minibuffer-local-map nil
|
||||
'minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history))))
|
||||
;; Use the last regexp specified, by default, if input is empty.
|
||||
(list (if (string= regexp "")
|
||||
(if minibuffer-history-search-history
|
||||
(car minibuffer-history-search-history)
|
||||
(user-error "No previous history search regexp"))
|
||||
(user-error "No history search regexp"))
|
||||
regexp)
|
||||
(prefix-numeric-value current-prefix-arg))))
|
||||
n)))
|
||||
(previous-matching-history-element regexp (- n)))
|
||||
|
||||
(defvar minibuffer-temporary-goal-position nil)
|
||||
|
|
|
|||
Loading…
Reference in a new issue