From 485aba46966fc9f812898cbd5f17a9e519cca013 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 12 Jun 2016 20:18:30 +0200 Subject: [PATCH 1/1] Further work on debbugs-gnu-search * packages/debbugs/debbugs-gnu.el (debbugs-gnu-suppress-closed): Set :version to "25.1". (debbugs-gnu-search): Allow "status" for client-side filter. * packages/debbugs/debbugs.el (debbugs-get-bugs): Fix docstring. Use proper values for :status. (debbugs-get-status): Fix docstring. (debbugs-search-est): Do not quote keys with apostroph, it doesn't work in Emacs 25.1. Use proper values for :status. --- packages/debbugs/debbugs-gnu.el | 24 ++++++++++++++++-------- packages/debbugs/debbugs.el | 29 +++++++++++++++++------------ 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el index 6cf8f3487..0ecfb165a 100644 --- a/packages/debbugs/debbugs-gnu.el +++ b/packages/debbugs/debbugs-gnu.el @@ -209,7 +209,7 @@ "If non-nil, don't show closed bugs." :group 'debbugs-gnu :type 'boolean - :version "25.2") + :version "25.1") (defconst debbugs-gnu-all-severities (mapcar 'cadr (cdr (get 'debbugs-gnu-default-severities 'custom-type))) @@ -380,7 +380,9 @@ marked as \"client-side filter\"." "Enter attribute: " (if phrase '("severity" "package" "tags" - "author" "date" "subject") + "author" "date" "subject" + ;; Client-side queries. + "status") '("severity" "package" "archive" "src" "status" "tag" "owner" "submitter" "maint" "correspondent" ;; Client-side queries. @@ -422,16 +424,21 @@ marked as \"client-side filter\"." 'debbugs-gnu-current-query (cons (intern (if (equal key "author") "@author" key)) val1)))) + ;; Client-side filters. ((equal key "status") (setq val1 (completing-read - "Enter status: " '("pending" "forwarded" "fixed" "done"))) + (format "Enter status%s: " + (if (null phrase) "" " (client-side filter)")) + '("pending" "forwarded" "fixed" "done"))) (when (not (zerop (length val1))) - (add-to-list - 'debbugs-gnu-current-query (cons (intern key) val1)))) + (if (null phrase) + (add-to-list + 'debbugs-gnu-current-query (cons (intern key) val1)) + (add-to-list + 'debbugs-gnu-current-filter (cons 'pending val1))))) - ;; Client-side filters. ((member key '("date" "log_modified" "last_modified" "found_date" "fixed_date" "unarchived")) (setq val1 @@ -470,12 +477,13 @@ marked as \"client-side filter\"." 'debbugs-gnu-current-query 'debbugs-gnu-current-filter) (cons (intern key) (cons val1 val2))))) + ;; "subject", "done", "forwarded", "msgid", "summary". ((not (zerop (length key))) (setq val1 (funcall (if phrase 'read-string 'read-regexp) - (format "Enter %s%s" - key (if phrase ": " " (client-side filter)")))) + (format "Enter %s%s: " + key (if phrase "" " (client-side filter)")))) (when (not (zerop (length val1))) (add-to-list (if phrase diff --git a/packages/debbugs/debbugs.el b/packages/debbugs/debbugs.el index 8efeddbe2..c99ba7aab 100644 --- a/packages/debbugs/debbugs.el +++ b/packages/debbugs/debbugs.el @@ -181,8 +181,8 @@ Valid keywords are: the value of field `affects' in bug's status. The returned bugs do not necessary belong to this package. - :status -- Status of bug. Valid values are \"done\", - \"forwarded\" and \"open\". + :status -- Status of bug. Valid values are \"pending\", + \"forwarded\", \"fixed\" and \"done\". :archive -- A keyword to filter for bugs which are already archived, or not. Valid values are \"0\" (not archived), @@ -225,8 +225,8 @@ patch: (setq vec (vconcat vec (list key val)))) (error "Wrong %s: %s" key val))) (:status - ;; Possible values: "done", "forwarded" and "open" - (if (string-match "\\`\\(done\\|forwarded\\|open\\)\\'" val) + ;; Possible values: "pending", "forwarded", "fixed" and "done". + (if (string-match "\\`\\(pending\\|forwarded\\|fixed\\|done\\)\\'" val) (setq vec (vconcat vec (list key val))) (error "Wrong %s: %s" key val))) (:archive @@ -282,7 +282,7 @@ Every returned entry is an association list with the following attributes: can be \"fixed\", \"notabug\", \"wontfix\", \"unreproducible\", \"moreinfo\" or \"patch\". - `pending': The string \"pending\", \"forwarded\" or \"done\". + `pending': The string \"pending\", \"forwarded\", \"fixed\" or \"done\". `subject': Subject/Title of the bugreport. @@ -697,7 +697,7 @@ Examples: (setq kw (pop elt)) (unless (keywordp kw) (error "Wrong keyword: %s" kw)) - (setq key (format "'%s'" (substring (symbol-name kw) 1))) + (setq key (substring (symbol-name kw) 1)) (cl-case kw ;; Phrase condition. (:phrase @@ -739,7 +739,8 @@ Examples: (unless (member x val) (setq val (append val (list x)))))) (setq vec - (vconcat vec (list key (mapconcat #'identity val " ")))))) + (vconcat + vec (list key (mapconcat #'identity val " ")))))) (:status ;; It shouldn't happen in a phrase condition. @@ -748,15 +749,17 @@ Examples: (setq attr-cond t) (if (not (stringp (car elt))) (setq vec (vconcat vec (list key ""))) - ;; Possible values: "done", "forwarded" and "open" + ;; Possible values: "pending", "forwarded", "fixed" and "done". (while (and (stringp (car elt)) (string-match - "\\`\\(done\\|forwarded\\|open\\)\\'" (car elt))) + "\\`\\(pending\\|forwarded\\|fixed\\|done\\)\\'" + (car elt))) (let ((x (pop elt))) (unless (member x val) (setq val (append val (list x)))))) (setq vec - (vconcat vec (list key (mapconcat #'identity val " ")))))) + (vconcat + vec (list key (mapconcat #'identity val " ")))))) ((:subject :package :tags :severity :@title) ;; It shouldn't happen in a phrase condition. @@ -771,7 +774,8 @@ Examples: (unless (member x val) (setq val (append val (list x)))))) (setq vec - (vconcat vec (list key (mapconcat #'identity val " ")))))) + (vconcat + vec (list key (mapconcat #'identity val " ")))))) ((:date :@cdate) ;; It shouldn't happen in a phrase condition. @@ -787,7 +791,8 @@ Examples: (setq val (append val (list x)))))) (setq vec (vconcat - vec (list key (mapconcat #'number-to-string val " ")))))) + vec + (list key (mapconcat #'number-to-string val " ")))))) ((:operator :order) ;; It shouldn't happen in a phrase condition. -- 2.39.2