guix-devel
[Top][All Lists]
Advanced

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

Re: December 2020 (old) bugs squashing!


From: zimoun
Subject: Re: December 2020 (old) bugs squashing!
Date: Mon, 07 Dec 2020 03:26:05 +0100

Hi,

On Sat, 05 Dec 2020 at 20:42, "Bonface M. K." <bonfacemunyoki@gmail.com> wrote:

> Just curious, how do you get debbugs to show
> forgotten patches. I'm only beginning to use it
> now ...

Forgotten patches are just old patches. ;-)


What I do with Emacs is: “M-x debbugs-gnu“ to have all the bugs and
patches; with something in my config file as:

  (setq
   debbugs-gnu-default-packages '("guix-patches" "guix")
   gnus-summary-line-format "%I%(%[ %n%]%) %s\n"))

Then I scroll down the buffer, generally M-> and I look for the state
normal in red; which means no answer in the thread.  And I pick one from
my interest, or hitting p to move.  In any case, it is worth to read all
of them. :-) Next, I try to understand and/or to reproduce.  Three
cases:

 a) lacking info so reply for asking more details
 b) appear to me not-a-bug anymore so ask for status
 c) real bug so report/update what I did

In addition, I have an Org-mode to track what I open and then remind me
3 weeks later in my agenda.  If no answer, I mark it as moreinfo with
’M-x debbugs-gnu-send-control-message’ (C).  Otherwise I add an item to
my TODO list to work on it if I feel enough annoyed.  Time to time, when
I attend to boring meeting, I review all the moreinfo and close some if
they are too old, ask again if I am not confident.


Reading the bugs via Debbugs, I do ‘M-x org-capture’ (C-ctth blabla C-c
C-c) then stash the link of the bug ’M-x my/guix-issue’ and start the
reply ’M-x gnus-summary-wide-reply-with-original’ (R), edit, and ’M-x
message-send-and-exit’ (C-c C-c), assuming that Emacs is configured to
send email. :-)


Snippet of my config:

--8<---------------cut here---------------start------------->8---
  (define-key gnus-summary-mode-map "R" 'gnus-summary-wide-reply-with-original)
  (define-key gnus-article-mode-map "R" 'gnus-summary-wide-reply-with-original)

  (setq
   org-capture-templates
   (backquote
    (("t" "Todo")
     ("th" "Hunt" entry
      (file+headline "~/org/todo.org" "Bug Hunt")
      ,(my/org-templates-file "todo-bug.org"))
  org-capture-templates-contexts
  '(("th" ((in-mode . "gnus-summary-mode")))
    ("th" ((in-mode . "gnus-article-mode")))))
--8<---------------cut here---------------end--------------->8---

where the capture is:

--8<---------------cut here---------------start------------->8---
* TODO  [#C] Bug %?                                        :hunt:
  SCHEDULED:  %(org-insert-time-stamp (org-read-date nil t "+3w"))
  :LOGBOOK:
  CLOCK: %U--%U =>  0:00
  :OPEN: %U
  :END:
  :PROPERTIES:
  :Open: %U
  :Subject: %:subject
  :Date: %:date
  :MessageID: %:message-id
  :END:
--8<---------------cut here---------------end--------------->8---

and the helper is:

--8<---------------cut here---------------start------------->8---
(defmacro defun-bug->url (name url &optional docstring)
  "Macro returning yankage #bug URL.

The `interactive' function that the macro returns is then referred by NAME.

Please provide a DOCSTRING."
  (let ((fun (intern (symbol-name name)))
        (doc (concat docstring "\n\n"
                           (format "Yankable result: `%sNUMBER'." url))))
    `(defun ,fun (number)
       ,doc
        (interactive
         (list
          (progn
            (when (not (boundp 'debbugs-gnu-bug-number))
              (setq debbugs-gnu-bug-number -2))
            (read-string
             (format "Bug number (%s): " debbugs-gnu-bug-number)
             nil nil debbugs-gnu-bug-number))))
      (let ((str (format "%s%s" ,url number)))
        (kill-new str)
        (when current-prefix-arg
          (browse-url str))
        (message (format "%s killed." str))))))

(defun-bug->url my/guix-issues "http://issues.guix.gnu.org/issue/";
          "Add URL of bug NUMBER to `kill-ring'.")
(defun-bug->url my/guix-debbugs "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=";
          "Add (old) URL of bug NUMBER to `kill-ring'.")
--8<---------------cut here---------------end--------------->8---


Last, there is one point I do not like with the Emacs front-end of
Debbugs is that the network is required.  Well, I would prefer dump all
the mbox and work with Emacs+Notmuch but I have not yet configured that.
If someone has tip, please share. :-)

Or maybe fetch from issues.guix.gnu.org the Mumi maildir+mu database.

Hope that helps,
simon



reply via email to

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