mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-07 20:54:32 +00:00
(hi-lock-unface-buffer): If a menu of regexps is
popped up, but the user clicks outside the menu, return an empty regexp (that causes unhighlight-regexp to have no effect).
This commit is contained in:
parent
74f0e5522d
commit
cf667bc526
@ -346,25 +346,34 @@ list maintained for regexps, global history maintained for faces.
|
||||
|
||||
Interactively, prompt for REGEXP. Buffer-local history of inserted
|
||||
regexp's maintained. Will accept only regexps inserted by hi-lock
|
||||
interactive functions. (See `hi-lock-interactive-patterns')
|
||||
interactive functions. \(See `hi-lock-interactive-patterns'.\)
|
||||
\\<minibuffer-local-must-match-map>Use \\[minibuffer-complete] to complete a partially typed regexp.
|
||||
(See info node `Minibuffer History'.)"
|
||||
\(See info node `Minibuffer History'.\)"
|
||||
(interactive
|
||||
(if (vectorp (this-command-keys))
|
||||
(x-popup-menu
|
||||
t
|
||||
(cons
|
||||
`keymap
|
||||
(cons "Select Pattern to Unhighlight"
|
||||
(mapcar (lambda (pattern)
|
||||
(list (car pattern)
|
||||
(format
|
||||
"%s (%s)" (car pattern)
|
||||
(symbol-name
|
||||
(car (cdr (car (cdr (car (cdr pattern))))))))
|
||||
(cons nil nil)
|
||||
(car pattern)))
|
||||
hi-lock-interactive-patterns))))
|
||||
(catch 'snafu
|
||||
(or
|
||||
(x-popup-menu
|
||||
t
|
||||
(cons
|
||||
`keymap
|
||||
(cons "Select Pattern to Unhighlight"
|
||||
(mapcar (lambda (pattern)
|
||||
(list (car pattern)
|
||||
(format
|
||||
"%s (%s)" (car pattern)
|
||||
(symbol-name
|
||||
(car
|
||||
(cdr (car (cdr (car (cdr pattern))))))))
|
||||
(cons nil nil)
|
||||
(car pattern)))
|
||||
hi-lock-interactive-patterns))))
|
||||
;; If the user clicks outside the menu, meaning that they
|
||||
;; change their mind, x-popup-menu returns nil, and
|
||||
;; interactive signals a wrong number of arguments error.
|
||||
;; To prevent that, we return an empty string, which will
|
||||
;; effectively disable the rest of the function.
|
||||
(throw 'snafu '(""))))
|
||||
(let ((history-list (mapcar (lambda (p) (car p))
|
||||
hi-lock-interactive-patterns)))
|
||||
(unless hi-lock-interactive-patterns
|
||||
|
Loading…
x
Reference in New Issue
Block a user