[Top][All Lists]

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

[elpa] externals/debbugs 6a865a3 191/311: Improve debbugs-gnu-search

From: Stefan Monnier
Subject: [elpa] externals/debbugs 6a865a3 191/311: Improve debbugs-gnu-search
Date: Sun, 29 Nov 2020 18:42:09 -0500 (EST)

branch: externals/debbugs
commit 6a865a315ffc0843162377cb60a21b9ca5d47aaa
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Improve debbugs-gnu-search
    * packages/debbugs/debbugs-gnu.el (debbugs-gnu-search):
    Use `author' for phrase based search, `status' for attribute-based
    search.  Fix allowed values for `status' search.
    * packages/debbugs/debbugs.el (debbugs-search-est): Fix docstring.
    Quote keys with apostroph in order to handle "@" properly in
    Debbugs::SOAP Perl module.  Make sharper test for `submitter' and
 debbugs-gnu.el | 16 ++++++++++------
 debbugs.el     | 15 +++++++--------
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index dd1fe33..6cf8f34 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -379,10 +379,11 @@ marked as \"client-side filter\"."
            (setq key (completing-read
                       "Enter attribute: "
                       (if phrase
-                          '("severity" "package" "tags" "submitter" "date"
-                            "subject" "status")
-                        '("severity" "package" "archive" "src" "tag"
+                          '("severity" "package" "tags"
+                            "author" "date" "subject")
+                        '("severity" "package" "archive" "src" "status" "tag"
                           "owner" "submitter" "maint" "correspondent"
+                          ;; Client-side queries.
                           "date" "log_modified" "last_modified"
                           "found_date" "fixed_date" "unarchived"
                           "subject" "done" "forwarded" "msgid" "summary"))
@@ -413,16 +414,19 @@ marked as \"client-side filter\"."
                 'debbugs-gnu-current-query (cons (intern key) val1))))
-            ((member key '("owner" "submitter" "maint" "correspondent"))
+            ((member
+              key '("author" "owner" "submitter" "maint" "correspondent"))
              (setq val1 (read-string "Enter email address: "))
              (when (not (zerop (length val1)))
-                'debbugs-gnu-current-query (cons (intern key) val1))))
+                'debbugs-gnu-current-query
+                (cons (intern (if (equal key "author") "@author" key)) val1))))
             ((equal key "status")
-              (completing-read "Enter status: " '("done" "forwarded" "open")))
+              (completing-read
+               "Enter status: " '("pending" "forwarded" "fixed" "done")))
              (when (not (zerop (length val1)))
                 'debbugs-gnu-current-query (cons (intern key) val1))))
diff --git a/debbugs.el b/debbugs.el
index 422a775..8efeddb 100644
--- a/debbugs.el
+++ b/debbugs.el
@@ -565,17 +565,15 @@ The following conditions are possible:
   ATTRIBUTE is one of the following keywords:
-  :status --  Status of bug.  Valid values are \"done\",
-  \"forwarded\" and \"open\".
   :subject, :@title -- The subject of a message or the title of
   the bug, a string.
   :date, :@cdate -- The submission or modification dates of a
   message, a number.
-  :submitter, :@author -- The email address of the submitter of a
-  bug or the author of a message belonging to this bug, a string.
+  :@author -- The email address of the author of a message
+  belonging to this bug, a string.  It may be different than
+  the email of the person submitting the bug.
   The special email address \"me\" is used as pattern, replaced
   with `user-mail-address'.
@@ -699,7 +697,7 @@ Examples:
            (setq kw (pop elt))
            (unless (keywordp kw)
              (error "Wrong keyword: %s" kw))
-           (setq key (substring (symbol-name kw) 1))
+           (setq key (format "'%s'" (substring (symbol-name kw) 1)))
            (cl-case kw
              ;; Phrase condition.
@@ -724,8 +722,9 @@ Examples:
              ;; Attribute condition.
              ((:submitter :@author)
-              ;; It shouldn't happen in a phrase condition.
-              (if phrase-cond
+              ;; It shouldn't happen.
+              (if (or (and (eq kw :submitter) phrase-cond)
+                      (and (eq kw :@author) attr-cond))
                   (error "Wrong keyword: %s" kw))
               (if (not (stringp (car elt)))
                   (setq vec (vconcat vec (list key "")))

reply via email to

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