From 6d0b640def3e63b236aa88029246fefae0990b24 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 10 Jan 2016 19:41:34 +0100 Subject: [PATCH] Improvement on debbugs * packages/debbugs/README: * packages/debbugs/debbugs.texi (Top): Add reference to User Guide. * packages/debbugs/debbugs-gnu.el (message-goto-body): Autoload. (debbugs-gnu-default-suppress-bugs): Fix docstring. (debbugs-gnu-dump-persistency-file, debbugs-gnu-sort-id): Sort descending. (debbugs-gnu-search, debbugs-gnu, debbugs-gnu-rescan) (debbugs-gnu-mode, debbugs-gnu-bugs): Set `debbugs-gnu-current-suppress' proper. (debbugs-gnu-current-limit, debbugs-gnu-current-suppress): Add docstring. (debbugs-gnu-get-bugs): Don't sort. (debbugs-gnu-print-entry): Don't suppress `debbugs-gnu-local-tags' listed bugs. (debbugs-gnu-mode-map): Make also a menu-map. (debbugs-gnu-send-control-message): Report in echo area. * packages/debbugs/debbugs-ug.texi (Retrieving Bugs): Don't mention debbugs-gnu-default-hits-per-page any longer. Describe debbugs-gnu-suppress-bugs. (Tabulated Lists, TODO Items): Don't mention debbugs-gnu-default-hits-per-page any longer. Bugs are sorted descending. (Control Messages): Sort severities according to there importance. * packages/debbugs/debbugs.el: Add Packages-Require header. (debbugs-get-status): Fix docstring. --- packages/debbugs/README | 3 + packages/debbugs/debbugs-browse.el | 1 - packages/debbugs/debbugs-gnu.el | 124 +++++++++++++++++++--------- packages/debbugs/debbugs-org.el | 1 - packages/debbugs/debbugs-ug.info | 125 +++++++++++++---------------- packages/debbugs/debbugs-ug.texi | 58 +++++-------- packages/debbugs/debbugs.el | 4 +- packages/debbugs/debbugs.info | 15 ++-- packages/debbugs/debbugs.texi | 3 + 9 files changed, 181 insertions(+), 153 deletions(-) diff --git a/packages/debbugs/README b/packages/debbugs/README index 9b2cef592..74f8db86d 100644 --- a/packages/debbugs/README +++ b/packages/debbugs/README @@ -12,6 +12,9 @@ could use the commands `M-x debbugs-org', `M-x debbugs-org-search' and A minor mode `debbugs-browse-mode' let you browse URLs to the GNU Bug Tracker as well as bug identifiers prepared for `bug-reference-mode'. +All these commands are described in the Debbugs User Guide, accessible via +(info "(debbugs-ug)") + This package works by implementing basic functions to access a Debbugs SOAP server (see ). It implements the SOAP functions "get_bugs", "newest_bugs", "get_status", diff --git a/packages/debbugs/debbugs-browse.el b/packages/debbugs/debbugs-browse.el index b572b2c6d..b4e87c7f0 100644 --- a/packages/debbugs/debbugs-browse.el +++ b/packages/debbugs/debbugs-browse.el @@ -5,7 +5,6 @@ ;; Author: Michael Albinus ;; Keywords: comm, hypermedia, maint ;; Package: debbugs -;; Version: 0.8 ;; This file is part of GNU Emacs. diff --git a/packages/debbugs/debbugs-gnu.el b/packages/debbugs/debbugs-gnu.el index c57867a3d..51f5bf155 100644 --- a/packages/debbugs/debbugs-gnu.el +++ b/packages/debbugs/debbugs-gnu.el @@ -6,7 +6,6 @@ ;; Michael Albinus ;; Keywords: comm, hypermedia, maint ;; Package: debbugs -;; Version: 0.8 ;; This file is not part of GNU Emacs. @@ -156,6 +155,7 @@ (autoload 'gnus-with-article-buffer "gnus-art") (autoload 'log-edit-insert-changelog "log-edit") (autoload 'mail-header-subject "nnheader") +(autoload 'message-goto-body "message") (autoload 'message-make-from "message") (autoload 'rmail-get-new-mail "rmail") (autoload 'rmail-show-message "rmail") @@ -240,7 +240,7 @@ '((pending . "done")) "*A list of specs for bugs to be suppressed. An element of this list is a cons cell \(KEY . REGEXP\), with key -being returned by `debbugs-get-status', and VAL a regular +being returned by `debbugs-get-status', and REGEXP a regular expression matching the corresponding value, a string. Showing suppressed bugs is toggled by `debbugs-gnu-toggle-suppress'." :group 'debbugs-gnu @@ -291,7 +291,7 @@ If this is 'rmail, use Rmail instead." ";; -*- emacs-lisp -*-\n" ";; Debbugs tags connection history. Don't change this file.\n\n" (format "(setq debbugs-gnu-local-tags '%S)" - (sort (copy-sequence debbugs-gnu-local-tags) '<))))) + (sort (copy-sequence debbugs-gnu-local-tags) '>))))) (defvar debbugs-gnu-current-query nil "The query object of the current search. @@ -342,6 +342,8 @@ marked as \"client-side filter\"." (if (zerop (length phrase)) (setq phrase nil) (add-to-list 'debbugs-gnu-current-query (cons 'phrase phrase))) + ;; We suppress the bugs if there is no phrase. + (setq-default debbugs-gnu-current-suppress (null phrase)) ;; The other queries. (catch :finished @@ -458,8 +460,13 @@ marked as \"client-side filter\"." (setq debbugs-gnu-current-query nil debbugs-gnu-current-filter nil))) -(defvar debbugs-gnu-current-limit nil) -(defvar debbugs-gnu-current-suppress nil) +(defvar debbugs-gnu-current-limit nil + "List of bug ids to be shown, if non-nil") + +(defvar debbugs-gnu-current-suppress nil + "Whether bugs shall be suppressed. +The specification which bugs shall be suppressed is taken from + `debbugs-gnu-default-suppress-bugs'.") ;;;###autoload (defun debbugs-gnu (severities &optional packages archivedp suppress tags) @@ -491,20 +498,26 @@ marked as \"client-side filter\"." (with-temp-buffer (insert-file-contents debbugs-gnu-persistency-file) (eval (read (current-buffer))))) + ;; Per default, we suppress retrieved unwanted bugs. + (when (called-interactively-p 'any) + (setq-default debbugs-gnu-current-suppress t)) ;; Add queries. (dolist (severity (if (consp severities) severities (list severities))) (when (not (zerop (length severity))) + (when (string-equal severity "tagged") + (setq-default debbugs-gnu-current-suppress nil)) (add-to-list 'debbugs-gnu-current-query (cons 'severity severity)))) (dolist (package (if (consp packages) packages (list packages))) (when (not (zerop (length package))) (add-to-list 'debbugs-gnu-current-query (cons 'package package)))) (when archivedp + (setq-default debbugs-gnu-current-suppress nil) (add-to-list 'debbugs-gnu-current-query '(archive . "1"))) (when suppress + (setq-default debbugs-gnu-current-suppress t) (add-to-list 'debbugs-gnu-current-query '(status . "open")) - (add-to-list 'debbugs-gnu-current-query '(status . "forwarded")) - (setq debbugs-gnu-current-suppress suppress)) + (add-to-list 'debbugs-gnu-current-query '(status . "forwarded"))) (dolist (tag (if (consp tags) tags (list tags))) (when (not (zerop (length tag))) (add-to-list 'debbugs-gnu-current-query (cons 'tag tag)))) @@ -546,26 +559,23 @@ marked as \"client-side filter\"." (list (intern (concat ":" (symbol-name (car elt)))) (cdr elt))))))) - (sort - (cond - ;; If the query is just a list of bug numbers, we return them. - (bugs (cdr bugs)) - ;; If the query contains the pseudo-severity "tagged", we return - ;; just the local tagged bugs. - (local-tags (copy-sequence debbugs-gnu-local-tags)) - ;; A full text query. - (phrase - (mapcar - (lambda (x) (cdr (assoc "id" x))) - (apply 'debbugs-search-est args))) - ;; User tags. - (tags - (setq args (mapcar (lambda (x) (if (eq x :package) :user x)) args)) - (apply 'debbugs-get-usertag args)) - ;; Otherwise, we retrieve the bugs from the server. - (t (apply 'debbugs-get-bugs args))) - ;; Sort function. - '<))) + (cond + ;; If the query is just a list of bug numbers, we return them. + (bugs (cdr bugs)) + ;; If the query contains the pseudo-severity "tagged", we return + ;; just the local tagged bugs. + (local-tags (copy-sequence debbugs-gnu-local-tags)) + ;; A full text query. + (phrase + (mapcar + (lambda (x) (cdr (assoc "id" x))) + (apply 'debbugs-search-est args))) + ;; User tags. + (tags + (setq args (mapcar (lambda (x) (if (eq x :package) :user x)) args)) + (apply 'debbugs-get-usertag args)) + ;; Otherwise, we retrieve the bugs from the server. + (t (apply 'debbugs-get-bugs args))))) (defun debbugs-gnu-show-reports () "Show bug reports." @@ -698,14 +708,13 @@ Used instead of `tabulated-list-print-entry'." (memq (cdr (assq 'id list-id)) debbugs-gnu-current-limit)) ;; Filter suppressed bugs. (or (not debbugs-gnu-current-suppress) - (and (not (memq (cdr (assq 'id list-id)) debbugs-gnu-local-tags)) - (not (catch :suppress - (dolist (check debbugs-gnu-default-suppress-bugs) - (when - (string-match - (cdr check) - (or (cdr (assq (car check) list-id)) "")) - (throw :suppress t))))))) + (not (catch :suppress + (dolist (check debbugs-gnu-default-suppress-bugs) + (when + (string-match + (cdr check) + (or (cdr (assq (car check) list-id)) "")) + (throw :suppress t)))))) ;; Filter search list. (not (catch :suppress (dolist (check debbugs-gnu-current-filter) @@ -748,7 +757,8 @@ Used instead of `tabulated-list-print-entry'." (insert ?\n)))) (defvar debbugs-gnu-mode-map - (let ((map (make-sparse-keymap))) + (let ((map (make-sparse-keymap)) + (menu-map (make-sparse-keymap))) (set-keymap-parent map tabulated-list-mode-map) (define-key map "\r" 'debbugs-gnu-select-report) (define-key map [mouse-1] 'debbugs-gnu-select-report) @@ -764,6 +774,35 @@ Used instead of `tabulated-list-print-entry'." (define-key map "B" 'debbugs-gnu-show-blocking-reports) (define-key map "C" 'debbugs-gnu-send-control-message) (define-key map "R" 'debbugs-gnu-show-all-blocking-reports) + + (define-key map [menu-bar debbugs] (cons "Debbugs" menu-map)) + (define-key menu-map [debbugs-gnu-select-report] + '(menu-item "Show Reports" debbugs-gnu-select-report + :help "Show all reports belonging to this bug")) + (define-key-after menu-map [debbugs-gnu-rescan] + '(menu-item "Refresh Bugs" debbugs-gnu-rescan + :help "Refresh bug list") + 'debbugs-gnu-select-report) + (define-key-after menu-map [debbugs-gnu-show-all-blocking-reports] + '(menu-item "Show Release Blocking Bugs" + debbugs-gnu-show-all-blocking-reports + :help "Show all bugs blocking next Emacs release") + ;:enable '(assq 'phrase debbugs-gnu-current-query)) + 'debbugs-gnu-rescan) + (define-key-after menu-map [debbugs-gnu-separator] + '(menu-item "--") 'debbugs-gnu-show-all-blocking-reports) + (define-key-after menu-map [debbugs-gnu-search] + '(menu-item "Search Bugs" debbugs-gnu-search + :help "Search bugs on debbugs.gnu.org") + 'debbugs-gnu-separator) + (define-key-after menu-map [debbugs-gnu] + '(menu-item "Retrieve Bugs" debbugs-gnu + :help "Retrieve bugs from debbugs.gnu.org") + 'debbugs-gnu-search) + (define-key-after menu-map [debbugs-gnu-bugs] + '(menu-item "Retrieve Bugs by Number" debbugs-gnu-bugs + :help "Retrieve selected bugs from debbugs.gnu.org") + 'debbugs-gnu) map)) (defun debbugs-gnu-rescan () @@ -771,6 +810,7 @@ Used instead of `tabulated-list-print-entry'." (interactive) ;; Refresh the buffer. `save-excursion' does not work, so we ;; remember the position. + (setq-default debbugs-gnu-current-suppress debbugs-gnu-current-suppress) (let ((pos (point))) (debbugs-gnu-show-reports) (goto-char pos))) @@ -788,7 +828,8 @@ The following commands are available: \\{debbugs-gnu-mode-map}" (set (make-local-variable 'debbugs-gnu-sort-state) 'number) (set (make-local-variable 'debbugs-gnu-current-limit) nil) - (set (make-local-variable 'debbugs-gnu-current-suppress) nil) + (set (make-local-variable 'debbugs-gnu-current-suppress) + debbugs-gnu-current-suppress) (setq tabulated-list-format [("Id" 5 debbugs-gnu-sort-id) ("State" 20 debbugs-gnu-sort-state) ("Submitter" 25 t) @@ -800,7 +841,7 @@ The following commands are available: (setq buffer-read-only t)) (defun debbugs-gnu-sort-id (s1 s2) - (< (cdr (assq 'id (car s1))) + (> (cdr (assq 'id (car s1))) (cdr (assq 'id (car s2))))) (defconst debbugs-gnu-state-preference @@ -1228,7 +1269,10 @@ removed instead." (format "tags %d%s %s\n" id (if reverse " -" "") message)))) - (funcall send-mail-function)))) + (funcall send-mail-function) + (message-goto-body) + (message "Control message sent:\n%s" + (buffer-substring-no-properties (point) (1- (point-max))))))) (defvar debbugs-gnu-usertags-mode-map (let ((map (make-sparse-keymap))) @@ -1328,6 +1372,8 @@ The following commands are available: (dolist (elt bugs) (unless (natnump elt) (signal 'wrong-type-argument (list 'natnump elt)))) (add-to-list 'debbugs-gnu-current-query (cons 'bugs bugs)) + ;; We do not suppress bugs requested explicitely. + (setq-default debbugs-gnu-current-suppress nil) (debbugs-gnu nil)) (defvar debbugs-gnu-trunk-directory "~/src/emacs/trunk/" diff --git a/packages/debbugs/debbugs-org.el b/packages/debbugs/debbugs-org.el index 9701a515a..b0303759e 100644 --- a/packages/debbugs/debbugs-org.el +++ b/packages/debbugs/debbugs-org.el @@ -5,7 +5,6 @@ ;; Author: Michael Albinus ;; Keywords: comm, hypermedia, maint, outlines ;; Package: debbugs -;; Version: 0.8 ;; This file is not part of GNU Emacs. diff --git a/packages/debbugs/debbugs-ug.info b/packages/debbugs/debbugs-ug.info index 91a01b0d0..b3bbaa0d4 100644 --- a/packages/debbugs/debbugs-ug.info +++ b/packages/debbugs/debbugs-ug.info @@ -35,10 +35,10 @@ the Debian project but currently used also by the GNU project. The main distinctive feature of Debbugs is that it's mostly email-based. All actions on bug reports: opening, closing, changing the status, commenting, forwarding are performed via email by sending specially -composed letters to the particular mail addresses. However, searching -the bug reports, querying bug report status and viewing comments have -been web-based for a long time. To overcome this inconvenience the -Debbugs/SOAP service was introduced. +composed letters to the particular email addresses. However, +searching the bug reports, querying bug report status and viewing +comments have been web-based for a long time. To overcome this +inconvenience the Debbugs/SOAP service was introduced. Based on the Debbugs/SOAP service, frontends are written which offer handling of bugs inside Emacs. These frontends are restricted @@ -80,10 +80,10 @@ prefix. These commands retrieve bug reports from the GNU Debbugs server. 'debbugs-gnu' returns a tabulated list, and 'debbugs-org' returns - a list of TODO items in 'org-mode'. If there were more than - 'debbugs-gnu-default-hits-per-page' bug results from the query, - there are widgets ('debbugs-gnu') or links ('debbugs-org') in the - result buffer for retrieving the other results. + a list of TODO items in 'org-mode'. In order not to stress the + GNU Debbugs server, the bugs are retrieved in chunks of 500 bugs. + However, the bug report buffer shows all retrieved bugs then, in + reverse bug number order. SEVERITIES is a list of strings which filter for the severities of the bugs to be retrieved. Valid severities are '"serious"', @@ -103,7 +103,11 @@ prefix. on the GNU Debbugs server. SUPPRESS shall also distinct between 'nil' and non-'nil'. When - non-'nil', closed bugs are suppressed from the results. + non-'nil', closed bugs are suppressed from being retrieved from + the Debbugs server. Which bugs are regarded as suppressed is + configured in the customer option 'debbugs-gnu-suppress-bugs'. + Per default, bugs marked as '"done"' are suppressed from being + retrieved. When SEVERITIES contains the severity '"tagged"', TAGS is consulted in order to restrict the result on bugs which are @@ -121,12 +125,6 @@ prefix. customer options 'debbugs-gnu-default-severities' and 'debbugs-gnu-default-packages'. - When the result would exceed more than 500 bugs, the user is - asked how many bugs to retrieve at once. This value can be - configured in the customer option - 'debbugs-gnu-default-hits-per-page'. However, it is not - recommended to exceeds the default value. - *note Layout:: for the presentation of the results. -- Command: debbugs-gnu-bugs &rest bugs @@ -185,7 +183,7 @@ uses a HyperEstraier based search engine A comma-separated list of defined user tags. 'submitter' - The address of the bug submitter. + The email address of the bug submitter. 'date' A time period the bug has been in which the bug has been @@ -285,14 +283,8 @@ File: debbugs-ug.info, Node: Tabulated Lists, Next: TODO Items, Up: Layout A tabulated list of bug reports consist of four columns for every bug entry: 'Id' (the bug number), 'State' (some bug attributes), 'Submitter' (the name of the bug submitter), and 'Title' (the bug -subject). Per default the bugs are sorted by 'Id'; this could be -changed by clicking in the headline. - - Per bug retrieval only up to 500 -('debbugs-gnu-default-hits-per-page') bugs are retrieved and presented -in a buffer. If there shall be presented more bugs, widgets are -placed on the top and bottom of the buffer for navigation to further -report buffers. +subject). Per default the bugs are sorted descending by 'Id'; this +could be changed by clicking in the headline. Different foreground colours present further information on the bug report. If the bug number uses a red colour ('debbugs-gnu-tagged'), @@ -367,15 +359,10 @@ TODO items are offered as usual in 'org-mode'. The bug attributes are mapped onto properties of these items. They can be shown by the usual navigation in 'org-mode'. - Per bug retrieval only up to 500 -('debbugs-gnu-default-hits-per-page') bugs are retrieved and presented -in a buffer. At the end of the buffer there is a link, which allows -to append the next 500 bugs to the list. - Bug severities are mapped onto org severities, see 'debbugs-org-severity-priority'. - The bug report buffers have enabled the minor 'debbugs-gnu-mode'. + The bug report buffers have enabled the minor 'debbugs-org-mode'. This enables the following key strokes: '' 'org-cycle' @@ -456,12 +443,12 @@ The strings show the exact format of the control messages. The second bug number is read interactively. +'serious' 'important' -'minor' 'normal' -'serious' +'minor' 'wishlist' - "severity 12345 important|minor|normal|serious|wishlist" + "severity 12345 serious|important|normal|minor|wishlist" 'invalid' "tags 12345 notabug" @@ -529,10 +516,10 @@ Command Index * debbugs-browse-mode: Minor Mode. (line 12) * debbugs-gnu: Retrieving Bugs. (line 15) -* debbugs-gnu-bugs: Retrieving Bugs. (line 71) +* debbugs-gnu-bugs: Retrieving Bugs. (line 69) * debbugs-gnu-search: Searching Bugs. (line 10) * debbugs-org: Retrieving Bugs. (line 17) -* debbugs-org-bugs: Retrieving Bugs. (line 72) +* debbugs-org-bugs: Retrieving Bugs. (line 70) * debbugs-org-search: Searching Bugs. (line 11)  @@ -547,10 +534,10 @@ Variable Index * debbugs-browse-function: Minor Mode. (line 12) * debbugs-gnu-all-packages: Retrieving Bugs. (line 36) * debbugs-gnu-all-severities: Retrieving Bugs. (line 27) -* debbugs-gnu-default-hits-per-page: Retrieving Bugs. (line 63) -* debbugs-gnu-default-packages: Retrieving Bugs. (line 59) -* debbugs-gnu-default-severities: Retrieving Bugs. (line 59) -* debbugs-gnu-mail-backend: Tabulated Lists. (line 75) +* debbugs-gnu-default-packages: Retrieving Bugs. (line 63) +* debbugs-gnu-default-severities: Retrieving Bugs. (line 63) +* debbugs-gnu-default-suppress-bugs: Retrieving Bugs. (line 44) +* debbugs-gnu-mail-backend: Tabulated Lists. (line 69)  File: debbugs-ug.info, Node: Key Index, Prev: Variable Index, Up: Top @@ -561,40 +548,40 @@ Key Index [index] * Menu: -* '/': Tabulated Lists. (line 42) -* 'B': Tabulated Lists. (line 56) -* 'b': Tabulated Lists. (line 57) -* 'C': Tabulated Lists. (line 70) -* 'C-c # C': TODO Items. (line 30) -* 'C-c # d': TODO Items. (line 24) -* 'C-c # t': TODO Items. (line 27) -* 'd': Tabulated Lists. (line 39) -* 'g': Tabulated Lists. (line 53) -* '': Tabulated Lists. (line 36) -* '': Tabulated Lists. (line 37) -* 'R': Tabulated Lists. (line 46) -* '': Tabulated Lists. (line 35) -* 's': Tabulated Lists. (line 61) -* 't': Tabulated Lists. (line 64) -* '': TODO Items. (line 21) -* 'w': Tabulated Lists. (line 50) -* 'x': Tabulated Lists. (line 67) +* '/': Tabulated Lists. (line 36) +* 'B': Tabulated Lists. (line 50) +* 'b': Tabulated Lists. (line 51) +* 'C': Tabulated Lists. (line 64) +* 'C-c # C': TODO Items. (line 25) +* 'C-c # d': TODO Items. (line 19) +* 'C-c # t': TODO Items. (line 22) +* 'd': Tabulated Lists. (line 33) +* 'g': Tabulated Lists. (line 47) +* '': Tabulated Lists. (line 30) +* '': Tabulated Lists. (line 31) +* 'R': Tabulated Lists. (line 40) +* '': Tabulated Lists. (line 29) +* 's': Tabulated Lists. (line 55) +* 't': Tabulated Lists. (line 58) +* '': TODO Items. (line 16) +* 'w': Tabulated Lists. (line 44) +* 'x': Tabulated Lists. (line 61)  Tag Table: Node: Top1097 -Node: Retrieving Bugs2634 -Node: Searching Bugs6165 -Ref: Searching Bugs-Footnote-110044 -Ref: Searching Bugs-Footnote-210132 -Node: Layout10223 -Node: Tabulated Lists10698 -Node: TODO Items14062 -Node: Control Messages15327 -Node: Minor Mode17638 -Node: Command Index18577 -Node: Variable Index19224 -Node: Key Index19872 +Node: Retrieving Bugs2635 +Node: Searching Bugs6095 +Ref: Searching Bugs-Footnote-19980 +Ref: Searching Bugs-Footnote-210068 +Node: Layout10159 +Node: Tabulated Lists10634 +Node: TODO Items13751 +Node: Control Messages14798 +Node: Minor Mode17109 +Node: Command Index18048 +Node: Variable Index18695 +Node: Key Index19343  End Tag Table diff --git a/packages/debbugs/debbugs-ug.texi b/packages/debbugs/debbugs-ug.texi index c7c00ecc9..f38bccf74 100644 --- a/packages/debbugs/debbugs-ug.texi +++ b/packages/debbugs/debbugs-ug.texi @@ -46,10 +46,10 @@ the Debian project but currently used also by the GNU project. The main distinctive feature of Debbugs is that it's mostly email-based. All actions on bug reports: opening, closing, changing the status, commenting, forwarding are performed via email by sending specially -composed letters to the particular mail addresses. However, searching -the bug reports, querying bug report status and viewing comments have -been web-based for a long time. To overcome this inconvenience the -Debbugs/SOAP service was introduced. +composed letters to the particular email addresses. However, +searching the bug reports, querying bug report status and viewing +comments have been web-based for a long time. To overcome this +inconvenience the Debbugs/SOAP service was introduced. Based on the Debbugs/SOAP service, frontends are written which offer handling of bugs inside Emacs. These frontends are restricted to the @@ -89,11 +89,10 @@ When the bug numbers to be retrieved are known, the commands These commands retrieve bug reports from the GNU Debbugs server. @code{debbugs-gnu} returns a tabulated list, and @code{debbugs-org} -returns a list of TODO items in @code{org-mode}. If there were more -than @code{debbugs-gnu-default-hits-per-page} bug results from the -query, there are widgets (@code{debbugs-gnu}) or links -(@code{debbugs-org}) in the result buffer for retrieving the other -results. +returns a list of TODO items in @code{org-mode}. In order not to +stress the GNU Debbugs server, the bugs are retrieved in chunks of 500 +bugs. However, the bug report buffer shows all retrieved bugs then, +in reverse bug number order. @vindex debbugs-gnu-all-severities @var{severities} is a list of strings which filter for the severities @@ -114,9 +113,13 @@ The existing package names are compiled into the constant @var{archivedp}, if non-@code{nil}, extends the result also on archived bugs on the GNU Debbugs server. +@vindex debbugs-gnu-default-suppress-bugs @var{suppress} shall also distinct between @code{nil} and non-@code{nil}. When non-@code{nil}, closed bugs are suppressed from -the results. +being retrieved from the Debbugs server. Which bugs are regarded as +suppressed is configured in the customer option +@code{debbugs-gnu-suppress-bugs}. Per default, bugs marked as +@code{"done"} are suppressed from being retrieved. When @var{severities} contains the severity @code{"tagged"}, @var{tags} is consulted in order to restrict the result on bugs which @@ -136,12 +139,6 @@ Default values for interactive use could be configured in the customer options @code{debbugs-gnu-default-severities} and @code{debbugs-gnu-default-packages}. -@vindex debbugs-gnu-default-hits-per-page -When the result would exceed more than 500 bugs, the user is asked how -many bugs to retrieve at once. This value can be configured in the -customer option @code{debbugs-gnu-default-hits-per-page}. However, it -is not recommended to exceeds the default value. - @ref{Layout} for the presentation of the results. @end deffn @@ -206,7 +203,7 @@ server, @xref{Retrieving Bugs}. A comma-separated list of defined user tags. @item submitter -The address of the bug submitter. +The email address of the bug submitter. @item date A time period the bug has been in which the bug has been submitted or @@ -292,14 +289,8 @@ in @code{org-mode}. A tabulated list of bug reports consist of four columns for every bug entry: @code{Id} (the bug number), @code{State} (some bug attributes), @code{Submitter} (the name of the bug submitter), and @code{Title} -(the bug subject). Per default the bugs are sorted by @code{Id}; this -could be changed by clicking in the headline. - -Per bug retrieval only up to 500 -(@code{debbugs-gnu-default-hits-per-page}) bugs are retrieved and -presented in a buffer. If there shall be presented more bugs, widgets -are placed on the top and bottom of the buffer for navigation to -further report buffers. +(the bug subject). Per default the bugs are sorted descending by +@code{Id}; this could be changed by clicking in the headline. Different foreground colours present further information on the bug report. If the bug number uses a red colour @@ -414,16 +405,11 @@ TODO items are offered as usual in @code{org-mode}. The bug attributes are mapped onto properties of these items. They can be shown by the usual navigation in @code{org-mode}. -Per bug retrieval only up to 500 -(@code{debbugs-gnu-default-hits-per-page}) bugs are retrieved and -presented in a buffer. At the end of the buffer there is a link, -which allows to append the next 500 bugs to the list. - Bug severities are mapped onto org severities, see @code{debbugs-org-severity-priority}. The bug report buffers have enabled the minor -@code{debbugs-gnu-mode}. This enables the following key strokes: +@code{debbugs-org-mode}. This enables the following key strokes: @multitable {@kbd{C-c # C}} {Some very very very long long text Some very very very long long text Some very very very long long text} @@ -517,12 +503,12 @@ interactively. The second bug number is read interactively. -@item important +@item serious +@itemx important +@itemx normal @itemx minor -@item normal -@itemx serious -@item wishlist -"severity 12345 important|minor|normal|serious|wishlist" +@itemx wishlist +"severity 12345 serious|important|normal|minor|wishlist" @item invalid "tags 12345 notabug" @* diff --git a/packages/debbugs/debbugs.el b/packages/debbugs/debbugs.el index de10305f6..aacd7a006 100644 --- a/packages/debbugs/debbugs.el +++ b/packages/debbugs/debbugs.el @@ -6,6 +6,7 @@ ;; Keywords: comm, hypermedia ;; Package: debbugs ;; Version: 0.8 +;; Package-Requires: ((async "1.6")) ;; This file is not part of GNU Emacs. @@ -261,7 +262,8 @@ Every returned entry is an association list with the following attributes: `package': A list of package names the bug belongs to. `severity': The severity of the bug report. This can be - \"important\", \"grave\", \"normal\", \"minor\" or \"wishlist\". + \"critical\", \"grave\", \"serious\", \"important\", + \"normal\", \"minor\" or \"wishlist\". `tags': The status of the bug report, a list of strings. This can be \"fixed\", \"notabug\", \"wontfix\", \"unreproducible\", diff --git a/packages/debbugs/debbugs.info b/packages/debbugs/debbugs.info index 354008e77..f29d07e7a 100644 --- a/packages/debbugs/debbugs.info +++ b/packages/debbugs/debbugs.info @@ -55,6 +55,9 @@ with the Debbugs server. In tandem with Emacs' email facilities, with the Debbugs BTS directly from Emacs without addressing Debbugs' web interface. + The user interface for accessing the Debbugs server for GNU +projects is described in *note Debbugs User Guide: (debbugs-ug)Top. + * Menu: * Installation:: Getting and installing 'debbugs'. @@ -536,11 +539,11 @@ also package names as user identification.  Tag Table: Node: Top1094 -Node: Installation3047 -Node: Configuration4146 -Node: Requesting bug numbers6058 -Node: Requesting bugs statuses11312 -Node: Requesting messages15363 -Node: Requesting user tags18378 +Node: Installation3179 +Node: Configuration4278 +Node: Requesting bug numbers6190 +Node: Requesting bugs statuses11444 +Node: Requesting messages15495 +Node: Requesting user tags18510  End Tag Table diff --git a/packages/debbugs/debbugs.texi b/packages/debbugs/debbugs.texi index deeb10663..705e15329 100644 --- a/packages/debbugs/debbugs.texi +++ b/packages/debbugs/debbugs.texi @@ -65,6 +65,9 @@ facilities, @code{debbugs} provides a solution for building applications that interact with the Debbugs BTS directly from Emacs without addressing Debbugs' web interface. +The user interface for accessing the Debbugs server for GNU projects +is described in @ref{Top, Debbugs User Guide, , debbugs-ug}. + @menu * Installation:: Getting and installing @code{debbugs}. * Configuration:: Configuring @code{debbugs}. -- 2.39.2