emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master ab417cf: Handle negation of search keys in gnus-search minibuffer


From: Eric Abrahamsen
Subject: master ab417cf: Handle negation of search keys in gnus-search minibuffer completion
Date: Sat, 14 Nov 2020 16:22:32 -0500 (EST)

branch: master
commit ab417cf64d15fb6f6620b45e31c249baec49f3a8
Author: Eric Abrahamsen <eric@ericabrahamsen.net>
Commit: Eric Abrahamsen <eric@ericabrahamsen.net>

    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.
---
 lisp/gnus/gnus-search.el | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
index 17f1108..498da20 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"))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]