diff options
author | Eric Abrahamsen <eric@ericabrahamsen.net> | 2020-11-14 13:19:47 -0800 |
---|---|---|
committer | Eric Abrahamsen <eric@ericabrahamsen.net> | 2020-11-14 13:22:13 -0800 |
commit | ab417cf64d15fb6f6620b45e31c249baec49f3a8 (patch) | |
tree | eecdaaf9cda60211083c08e7f7fcc743969d738f /lisp/gnus/gnus-search.el | |
parent | ad29bc74ca9d4e1768698d4002b49c234624e359 (diff) | |
download | emacs-ab417cf64d15fb6f6620b45e31c249baec49f3a8.tar.gz emacs-ab417cf64d15fb6f6620b45e31c249baec49f3a8.tar.bz2 emacs-ab417cf64d15fb6f6620b45e31c249baec49f3a8.zip |
Handle negation of search keys in gnus-search minibuffer completion
* lisp/gnus/gnus-search.el (gnus-search-get-active): Keys might start
with a leading "-": check for that and ignore it.
Diffstat (limited to 'lisp/gnus/gnus-search.el')
-rw-r--r-- | lisp/gnus/gnus-search.el | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index 17f1108029c..498da200dab 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -2101,9 +2101,10 @@ article came from is also searched." (defun gnus-search--complete-key-data () "Potentially return completion data for a search key or value." (let* ((key-start (save-excursion - (if (re-search-backward " " (minibuffer-prompt-end) t) - (1+ (point)) - (minibuffer-prompt-end)))) + (or (re-search-backward " " (minibuffer-prompt-end) t) + (goto-char (minibuffer-prompt-end))) + (skip-chars-forward " -") + (point))) (after-colon (save-excursion (when (re-search-backward ":" key-start t) (1+ (point))))) @@ -2113,7 +2114,7 @@ article came from is also searched." ;; only handle in a contact-completion context. (when (and gnus-search-contact-tables (save-excursion - (re-search-backward "\\<\\(\\w+\\):" key-start t) + (re-search-backward "\\<-?\\(\\w+\\):" key-start t) (member (match-string 1) '("from" "to" "cc" "bcc" "recipient" "address")))) |