unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#64064: [PATCH 0/4] debbugs improvements
@ 2023-06-14 12:15 Morgan Smith
  2023-06-16  8:50 ` Michael Albinus
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Morgan Smith @ 2023-06-14 12:15 UTC (permalink / raw)
  To: 64064; +Cc: Michael Albinus

[-- Attachment #1: Type: text/plain, Size: 722 bytes --]

Hello!

These patches enable the use of some more 'tabulated-list' functions
like 'tabulated-list-sort' (bound to "S").

You may or may not want to install the last patch.  It does add
potential network calls to the 'revert-buffer' function.  If there are
legitimate reasons to revert the buffer without fetching new bugs then
people might not like that change.

Morgan Smith (4):
  Call 'tabulated-list-print-entry' in 'debbugs-gnu-print-entry'.
  Don't error out on 'nil' alist value.
  Don't sort bugs in 'debbugs-gnu-show-reports'.
  Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook'.

 debbugs-gnu.el | 62 +++++++++-----------------------------------------
 1 file changed, 11 insertions(+), 51 deletions(-)
 

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Call-tabulated-list-print-entry-in-debbugs-gnu-print.patch --]
[-- Type: text/x-patch, Size: 2908 bytes --]

From f64d98ea82cfc999fc6eb644696dc2a0f6f100ec Mon Sep 17 00:00:00 2001
From: Morgan Smith <Morgan.J.Smith@outlook.com>
Date: Mon, 12 Jun 2023 20:12:11 -0400
Subject: [PATCH 1/4] Call 'tabulated-list-print-entry' in
 'debbugs-gnu-print-entry'.

Some of the features of 'tabulated-list' (tabulated-list-next-column,
tabulated-list-sort) didn't work properly because 'debbugs-gnu-print-entry'
didn't set the 'tabulated-list-column-name' text property.  Instead of trying
to duplicate code we can simply call 'tabulated-list-print-entry'.

* debbugs-gnu.el (debbugs-gnu-print-entry): Remove all printing logic and
replace with a call to 'tabulated-list-print-entry'.
---
 debbugs-gnu.el | 40 ++--------------------------------------
 1 file changed, 2 insertions(+), 38 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 337c7cbb9a..2c76a3361b 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1052,18 +1052,7 @@ are taken from the cache instead."
 (defun debbugs-gnu-print-entry (list-id cols)
   "Insert a debbugs entry at point.
 Used instead of `tabulated-list-print-entry'."
-  (let ((beg (point))
-	(pos 0)
-	(case-fold-search t)
-	(id               (aref cols 0))
-	(id-length        (nth 1 (aref tabulated-list-format 0)))
-	(state            (aref cols 1))
-	(state-length     (nth 1 (aref tabulated-list-format 1)))
-	(submitter        (aref cols 2))
-	(submitter-length (nth 1 (aref tabulated-list-format 2)))
-	(title            (aref cols 3))
-	;; (title-length     (nth 1 (aref tabulated-list-format 3)))
-        )
+  (let ((case-fold-search t))
     (when (and
 	   ;; We may have a narrowing in effect.
 	   (or (not debbugs-gnu-limit)
@@ -1090,32 +1079,7 @@ Used instead of `tabulated-list-print-entry'."
 				       (> (cddr check) val)))
 			  (throw :suppress t))))))))
 
-      ;; Insert id.
-      (indent-to (- id-length (length id)))
-      (insert id)
-      ;; Insert state.
-      (indent-to (setq pos (+ pos id-length 1)) 1)
-      (insert (if (> (length state) state-length)
-		  (propertize (substring state 0 state-length)
-			      'help-echo state)
-		state))
-      ;; Insert submitter.
-      (indent-to (setq pos (+ pos state-length 1)) 1)
-      (insert (if (> (length submitter) submitter-length)
-		  (propertize (substring submitter 0 submitter-length)
-			      'help-echo submitter)
-		submitter))
-      (indent-to (+ pos (1- submitter-length)))
-      ;; Insert title.
-      (indent-to (setq pos (+ pos submitter-length 1)) 1)
-      (insert (propertize title 'help-echo title))
-      ;; Add properties.
-      (add-text-properties
-       beg (point)
-       `(tabulated-list-id ,list-id
-	 tabulated-list-entry ,cols
-	 mouse-face highlight))
-      (insert ?\n))))
+      (tabulated-list-print-entry list-id cols))))
 
 (defun debbugs-gnu-menu-map-emacs-enabled ()
   "Whether \"Show Release Blocking Bugs\" is enabled in the menu."
-- 
2.40.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-Don-t-error-out-on-nil-alist-value.patch --]
[-- Type: text/x-patch, Size: 2936 bytes --]

From 54a3e56379308c05a9ac6646160d136a26044b95 Mon Sep 17 00:00:00 2001
From: Morgan Smith <Morgan.J.Smith@outlook.com>
Date: Mon, 12 Jun 2023 19:56:50 -0400
Subject: [PATCH 2/4] Don't error out on 'nil' alist value.

The intention of the DEFAULT argument to alist-get is to return "" instead of
'nil'.  However, this still returns 'nil' if the key exists but the value is
'nil'.

This problem wasn't detected previously since the functions
'debbugs-gnu-sort-submitter' and 'debbugs-gnu-sort-title' weren't actually
used until the previous commit.

* debbugs-gnu.el (debbugs-gnu-print-entry):
(debbugs-gnu-sort-submitter):
(debbugs-gnu-sort-title):
Remove DEFAULT argument of alist-get and instead wrap call with 'or' to return
default.
---
 debbugs-gnu.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 2c76a3361b..c28a4aa5e4 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1062,7 +1062,7 @@ Used instead of `tabulated-list-print-entry'."
 	       (not (catch :suppress
 		      (dolist (check debbugs-gnu-default-suppress-bugs)
 			(when (string-match
-			       (cdr check) (alist-get (car check) list-id ""))
+			       (cdr check) (or (alist-get (car check) list-id) ""))
 			  (throw :suppress t))))))
 	   ;; Filter search list.
 	   (not (catch :suppress
@@ -1288,10 +1288,10 @@ Interactively, it is non-nil with the prefix argument."
 (defun debbugs-gnu-sort-submitter (s1 s2)
   (let ((address1
 	 (debbugs-gnu--split-address
-	  (decode-coding-string (alist-get 'originator (car s1) "") 'utf-8)))
+	  (decode-coding-string (or (alist-get 'originator (car s1)) "") 'utf-8)))
 	(address2
 	 (debbugs-gnu--split-address
-	  (decode-coding-string (alist-get 'originator (car s2) "") 'utf-8))))
+	  (decode-coding-string (or (alist-get 'originator (car s2)) "") 'utf-8))))
     (cond
      ;; Bugs I'm the originator of go to the beginning.
      ((and (string-equal user-mail-address (car address1))
@@ -1309,14 +1309,14 @@ Interactively, it is non-nil with the prefix argument."
 (defun debbugs-gnu-sort-title (s1 s2)
   (let ((owner1
 	 (car (debbugs-gnu--split-address
-	       (decode-coding-string (alist-get 'owner (car s1) "") 'utf-8))))
+	       (decode-coding-string (or (alist-get 'owner (car s1)) "") 'utf-8))))
 	(subject1
-	 (decode-coding-string (alist-get 'subject (car s1) "") 'utf-8))
+	 (decode-coding-string (or (alist-get 'subject (car s1)) "") 'utf-8))
 	(owner2
 	 (car (debbugs-gnu--split-address
-	       (decode-coding-string (alist-get 'owner (car s2) "") 'utf-8))))
+	       (decode-coding-string (or (alist-get 'owner (car s2)) "") 'utf-8))))
 	(subject2
-	 (decode-coding-string (alist-get 'subject (car s2) "") 'utf-8)))
+	 (decode-coding-string (or (alist-get 'subject (car s2)) "") 'utf-8)))
     (cond
      ;; Bugs I'm the owner of go to the beginning.
      ((and (string-equal user-mail-address owner1)
-- 
2.40.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-Don-t-sort-bugs-in-debbugs-gnu-show-reports.patch --]
[-- Type: text/x-patch, Size: 1427 bytes --]

From 550385aeb852ad30bb18d341d475f65ec613fdaf Mon Sep 17 00:00:00 2001
From: Morgan Smith <Morgan.J.Smith@outlook.com>
Date: Mon, 12 Jun 2023 20:13:53 -0400
Subject: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports'.

Everything is automatically sorted by 'tabulated-list-mode' according to
'tabulated-list-sort-key' which we already set to the id.

* debbugs-gnu.el (debbugs-gnu-show-reports): Don't sort the bugs.
---
 debbugs-gnu.el | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index c28a4aa5e4..c65ea3e827 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -923,7 +923,6 @@ are taken from the cache instead."
 
     ;; Print bug reports.
     (dolist (status
-	     (sort
 	      (let ((debbugs-cache-expiry (if offline nil debbugs-cache-expiry))
 		    ids)
 		(apply #'debbugs-get-status
@@ -933,11 +932,7 @@ are taken from the cache instead."
 					(push key ids))
 				      debbugs-cache-data)
 			     ids)
-			 (debbugs-gnu-get-bugs debbugs-gnu-local-query))))
-	      ;; Sort so that if a new report gets merged with an old
-	      ;; report, it shows up under the new report.
-	      (lambda (s1 s2)
-		(> (alist-get 'id s1) (alist-get 'id s2)))))
+			 (debbugs-gnu-get-bugs debbugs-gnu-local-query)))))
       (let* ((id (alist-get 'id status))
 	     (words (cons (alist-get 'severity status)
 			  (alist-get 'keywords status)))
-- 
2.40.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-Add-debbugs-gnu-rescan-to-tabulated-list-revert-hook.patch --]
[-- Type: text/x-patch, Size: 973 bytes --]

From 5526b57121df84a9db6fd8f14771b01ee2e2cddc Mon Sep 17 00:00:00 2001
From: Morgan Smith <Morgan.J.Smith@outlook.com>
Date: Mon, 12 Jun 2023 20:18:38 -0400
Subject: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook'.

This now fetches new bugs when the buffer is reverted.

* debbugs-gnu.el (debbugs-gnu-mode): Add 'debbugs-gnu-rescan' to
'tabulated-list-revert-hook'.
---
 debbugs-gnu.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index c65ea3e827..df651f3f2f 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1221,6 +1221,7 @@ Interactively, it is non-nil with the prefix argument."
 			       ("Title"     10 debbugs-gnu-sort-title)])
   (setq tabulated-list-sort-key (cons "Id" nil))
   (setq tabulated-list-printer #'debbugs-gnu-print-entry)
+  (add-hook 'tabulated-list-revert-hook #'debbugs-gnu-rescan nil t)
   (buffer-disable-undo)
   (setq truncate-lines t)
   (setq buffer-read-only t))
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 0/4] debbugs improvements
  2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
@ 2023-06-16  8:50 ` Michael Albinus
       [not found]   ` <DM5PR03MB3163BD5C32B57C2C6860B7B6C558A@DM5PR03MB3163.namprd03.prod.outlook.com>
  2023-06-16 10:16 ` bug#64064: [PATCH 1/4] Call 'tabulated-list-print-entry' in 'debbugs-gnu-print-entry' Michael Albinus
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-16  8:50 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> Hello!

Hi Morgan,

> These patches enable the use of some more 'tabulated-list' functions
> like 'tabulated-list-sort' (bound to "S").

Thanks a lot! I will go through the patches, and add some comments.

However, debbugs is a GNU ELPA package. In order to apply non-trivial
patches there, the patch author shall have signed the FSF copyright
papers. That means, that the copyright is assigned to the FSF, that's
all. Are you willing to sign such papers?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 1/4] Call 'tabulated-list-print-entry' in 'debbugs-gnu-print-entry'.
  2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
  2023-06-16  8:50 ` Michael Albinus
@ 2023-06-16 10:16 ` Michael Albinus
  2023-06-18 10:11   ` bug#64064: [PATCH 0/4] debbugs improvements Michael Albinus
  2023-06-16 10:22 ` bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value Michael Albinus
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-16 10:16 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> Some of the features of 'tabulated-list' (tabulated-list-next-column,
> tabulated-list-sort) didn't work properly because 'debbugs-gnu-print-entry'
> didn't set the 'tabulated-list-column-name' text property.  Instead of trying
> to duplicate code we can simply call 'tabulated-list-print-entry'.

Agreed.

> * debbugs-gnu.el (debbugs-gnu-print-entry): Remove all printing logic and
> replace with a call to 'tabulated-list-print-entry'.

According to my tests, this looks good.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value.
  2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
  2023-06-16  8:50 ` Michael Albinus
  2023-06-16 10:16 ` bug#64064: [PATCH 1/4] Call 'tabulated-list-print-entry' in 'debbugs-gnu-print-entry' Michael Albinus
@ 2023-06-16 10:22 ` Michael Albinus
  2023-06-16 16:49   ` Morgan Smith
  2023-06-16 10:26 ` bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports' Michael Albinus
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-16 10:22 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> The intention of the DEFAULT argument to alist-get is to return "" instead of
> 'nil'.  However, this still returns 'nil' if the key exists but the value is
> 'nil'.
>
> This problem wasn't detected previously since the functions
> 'debbugs-gnu-sort-submitter' and 'debbugs-gnu-sort-title' weren't actually
> used until the previous commit.

Couldn't we simply fix this in 'debbugs-gnu-sort-submitter' and
'debbugs-gnu-sort-title'? That is, handling a nil value for submitter
and title?

And do you have an example bug number where this could happen?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports'.
  2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
                   ` (2 preceding siblings ...)
  2023-06-16 10:22 ` bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value Michael Albinus
@ 2023-06-16 10:26 ` Michael Albinus
  2023-06-16 16:56   ` Morgan Smith
  2023-06-16 10:34 ` bug#64064: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook' Michael Albinus
  2023-06-16 10:37 ` bug#64064: [PATCH 0/4] debbugs improvements Michael Albinus
  5 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-16 10:26 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> Everything is automatically sorted by 'tabulated-list-mode' according to
> 'tabulated-list-sort-key' which we already set to the id.
>
> * debbugs-gnu.el (debbugs-gnu-show-reports): Don't sort the bugs.
> ---
>  debbugs-gnu.el | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/debbugs-gnu.el b/debbugs-gnu.el
> index c28a4aa5e4..c65ea3e827 100644
> --- a/debbugs-gnu.el
> +++ b/debbugs-gnu.el
> @@ -923,7 +923,6 @@ are taken from the cache instead."
>
>      ;; Print bug reports.
>      (dolist (status
> -	     (sort
>  	      (let ((debbugs-cache-expiry (if offline nil debbugs-cache-expiry))
>  		    ids)
>  		(apply #'debbugs-get-status
> @@ -933,11 +932,7 @@ are taken from the cache instead."
>  					(push key ids))
>  				      debbugs-cache-data)
>  			     ids)
> -			 (debbugs-gnu-get-bugs debbugs-gnu-local-query))))
> -	      ;; Sort so that if a new report gets merged with an old
> -	      ;; report, it shows up under the new report.
> -	      (lambda (s1 s2)
> -		(> (alist-get 'id s1) (alist-get 'id s2)))))
> +			 (debbugs-gnu-get-bugs debbugs-gnu-local-query)))))
>        (let* ((id (alist-get 'id status))
>  	     (words (cons (alist-get 'severity status)
>  			  (alist-get 'keywords status)))

Have you tested that the use case mentioned in the comment still works?

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook'.
  2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
                   ` (3 preceding siblings ...)
  2023-06-16 10:26 ` bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports' Michael Albinus
@ 2023-06-16 10:34 ` Michael Albinus
  2023-06-18 11:50   ` Michael Albinus
  2023-06-16 10:37 ` bug#64064: [PATCH 0/4] debbugs improvements Michael Albinus
  5 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-16 10:34 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> This now fetches new bugs when the buffer is reverted.
>
> * debbugs-gnu.el (debbugs-gnu-mode): Add 'debbugs-gnu-rescan' to
> 'tabulated-list-revert-hook'.

I haven't tested, but it sounds OK.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 0/4] debbugs improvements
  2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
                   ` (4 preceding siblings ...)
  2023-06-16 10:34 ` bug#64064: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook' Michael Albinus
@ 2023-06-16 10:37 ` Michael Albinus
  5 siblings, 0 replies; 18+ messages in thread
From: Michael Albinus @ 2023-06-16 10:37 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> Hello!

Hi,

> You may or may not want to install the last patch.  It does add
> potential network calls to the 'revert-buffer' function.  If there are
> legitimate reasons to revert the buffer without fetching new bugs then
> people might not like that change.

If people do revert the buffer, they do it for a reason. So it seems OK
to me to add this.

By default, the cache is used for bug information, so the network
traffic isn't that huge I believe.

If it shows problems, we could still revert the patch.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value.
  2023-06-16 10:22 ` bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value Michael Albinus
@ 2023-06-16 16:49   ` Morgan Smith
  2023-06-18 11:14     ` Michael Albinus
  0 siblings, 1 reply; 18+ messages in thread
From: Morgan Smith @ 2023-06-16 16:49 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 64064

[-- Attachment #1: Type: text/plain, Size: 550 bytes --]

Michael Albinus <michael.albinus@gmx.de> writes:

> Couldn't we simply fix this in 'debbugs-gnu-sort-submitter' and
> 'debbugs-gnu-sort-title'? That is, handling a nil value for submitter
> and title?
>
> And do you have an example bug number where this could happen?

You are correct.  I have no example and I doubt such a bug exists.  We
could remove that part of this patch.  Although it is odd that the
DEFAULT argument to alist-get is set in that case.

On a related note, bug#60850 does not have a subject line so here is
more complete patch:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Don-t-error-out-on-nil-alist-value.patch --]
[-- Type: text/x-patch, Size: 3310 bytes --]

From e391f728c3a00215d8d32ac9b54b29961da46774 Mon Sep 17 00:00:00 2001
From: Morgan Smith <Morgan.J.Smith@outlook.com>
Date: Mon, 12 Jun 2023 19:56:50 -0400
Subject: [PATCH] Don't error out on 'nil' alist value.

The intention of the DEFAULT argument to alist-get is to return "" instead of
'nil'.  However, this still returns 'nil' if the key exists but the value is
'nil'.

This problem wasn't detected previously since the functions
'debbugs-gnu-sort-submitter' and 'debbugs-gnu-sort-title' weren't actually
used until the previous commit.

* debbugs-gnu.el (debbugs-gnu-sort-submitter, debbugs-gnu-sort-title):
Remove DEFAULT argument of alist-get and instead wrap call with 'or' to return
default.

* debbugs-org.el (debbugs-org-show-reports): If the subject is empty, use the
empty string.
---
 debbugs-gnu.el | 12 ++++++------
 debbugs-org.el |  5 ++---
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index 81297d8b7f..dae87c75b0 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1282,10 +1282,10 @@ Interactively, it is non-nil with the prefix argument."
 (defun debbugs-gnu-sort-submitter (s1 s2)
   (let ((address1
 	 (debbugs-gnu--split-address
-	  (decode-coding-string (alist-get 'originator (car s1) "") 'utf-8)))
+	  (decode-coding-string (or (alist-get 'originator (car s1)) "") 'utf-8)))
 	(address2
 	 (debbugs-gnu--split-address
-	  (decode-coding-string (alist-get 'originator (car s2) "") 'utf-8))))
+	  (decode-coding-string (or (alist-get 'originator (car s2)) "") 'utf-8))))
     (cond
      ;; Bugs I'm the originator of go to the beginning.
      ((and (string-equal user-mail-address (car address1))
@@ -1303,14 +1303,14 @@ Interactively, it is non-nil with the prefix argument."
 (defun debbugs-gnu-sort-title (s1 s2)
   (let ((owner1
 	 (car (debbugs-gnu--split-address
-	       (decode-coding-string (alist-get 'owner (car s1) "") 'utf-8))))
+	       (decode-coding-string (or (alist-get 'owner (car s1)) "") 'utf-8))))
 	(subject1
-	 (decode-coding-string (alist-get 'subject (car s1) "") 'utf-8))
+	 (decode-coding-string (or (alist-get 'subject (car s1)) "") 'utf-8))
 	(owner2
 	 (car (debbugs-gnu--split-address
-	       (decode-coding-string (alist-get 'owner (car s2) "") 'utf-8))))
+	       (decode-coding-string (or (alist-get 'owner (car s2)) "") 'utf-8))))
 	(subject2
-	 (decode-coding-string (alist-get 'subject (car s2) "") 'utf-8)))
+	 (decode-coding-string (or (alist-get 'subject (car s2)) "") 'utf-8)))
     (cond
      ;; Bugs I'm the owner of go to the beginning.
      ((and (string-equal user-mail-address owner1)
diff --git a/debbugs-org.el b/debbugs-org.el
index 3d353c81e4..c3786d3b0e 100644
--- a/debbugs-org.el
+++ b/debbugs-org.el
@@ -209,9 +209,8 @@ marked as \"client-side filter\"."
 	     (archived (alist-get 'archived status))
 	     (tags (append (alist-get 'found_versions status)
 			   (alist-get 'tags status)))
-	     (subject (when (alist-get 'subject status)
-			(decode-coding-string
-			 (alist-get 'subject status) 'utf-8)))
+	     (subject (decode-coding-string
+			       (or (alist-get 'subject status) "") 'utf-8))
 	     (date (alist-get 'date status))
 	     (last-modified (alist-get 'last_modified status))
 	     (originator (when (alist-get 'originator status)
-- 
2.40.1


[-- Attachment #3: Type: text/plain, Size: 8 bytes --]


Morgan

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports'.
  2023-06-16 10:26 ` bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports' Michael Albinus
@ 2023-06-16 16:56   ` Morgan Smith
  2023-06-18 11:52     ` Michael Albinus
  0 siblings, 1 reply; 18+ messages in thread
From: Morgan Smith @ 2023-06-16 16:56 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 64064

Michael Albinus <michael.albinus@gmx.de> writes:

> Morgan Smith <Morgan.J.Smith@outlook.com> writes:
>
>> -	      ;; Sort so that if a new report gets merged with an old
>> -	      ;; report, it shows up under the new report.
>
> Have you tested that the use case mentioned in the comment still works?

This is somehow my first time reading that comment.  I have not tested
it but reading through the code I'm pretty sure that my patch breaks
this.  I would recommend against installing this patch.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 0/4] debbugs improvements
       [not found]   ` <DM5PR03MB3163BD5C32B57C2C6860B7B6C558A@DM5PR03MB3163.namprd03.prod.outlook.com>
@ 2023-06-16 16:57     ` Morgan Smith
  2023-06-16 17:04       ` Michael Albinus
  0 siblings, 1 reply; 18+ messages in thread
From: Morgan Smith @ 2023-06-16 16:57 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

> Hi Michael,
>
> Michael Albinus <michael.albinus@gmx.de> writes:
>
>> However, debbugs is a GNU ELPA package. In order to apply non-trivial
>> patches there, the patch author shall have signed the FSF copyright
>> papers. That means, that the copyright is assigned to the FSF, that's
>> all. Are you willing to sign such papers?
>
> I have already done this for Emacs so I don't think any further action
> is required on this front.  I'm not sure how you validate my claim but I
> have a couple commits in Emacs proper.  Also in Emms.
>
> Morgan

Sorry, still learning how to CC the bug tracker :P





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 0/4] debbugs improvements
  2023-06-16 16:57     ` Morgan Smith
@ 2023-06-16 17:04       ` Michael Albinus
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Albinus @ 2023-06-16 17:04 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

>> Hi Michael,

Hi Morgan,

>>> However, debbugs is a GNU ELPA package. In order to apply non-trivial
>>> patches there, the patch author shall have signed the FSF copyright
>>> papers. That means, that the copyright is assigned to the FSF, that's
>>> all. Are you willing to sign such papers?
>>
>> I have already done this for Emacs so I don't think any further action
>> is required on this front.  I'm not sure how you validate my claim but I
>> have a couple commits in Emacs proper.  Also in Emms.

I've checked the file on the savannah host where all people are listed
who have signed the FSF papers. I couldn't find you as "Morgan Smith".

Checking it again, you're there as "Morgan Stewart James Smith" :-)
So that's OK.

Note that I don't know how much time I'll have over the weekend. If
things go bad (for us), I'll continue to reply next week.

>> Morgan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 0/4] debbugs improvements
  2023-06-16 10:16 ` bug#64064: [PATCH 1/4] Call 'tabulated-list-print-entry' in 'debbugs-gnu-print-entry' Michael Albinus
@ 2023-06-18 10:11   ` Michael Albinus
  2023-06-18 19:26     ` Morgan Smith
  0 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-18 10:11 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Michael Albinus <michael.albinus@gmx.de> writes:

Hi Morgan,

>> * debbugs-gnu.el (debbugs-gnu-print-entry): Remove all printing logic and
>> replace with a call to 'tabulated-list-print-entry'.
>
> According to my tests, this looks good.

I've pushed it to the git repostory. I've added another patch which sets
the mouse-face property; this was lost in your patch.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value.
  2023-06-16 16:49   ` Morgan Smith
@ 2023-06-18 11:14     ` Michael Albinus
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Albinus @ 2023-06-18 11:14 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

Hi Morgan,

> You are correct.  I have no example and I doubt such a bug exists.  We
> could remove that part of this patch.  Although it is odd that the
> DEFAULT argument to alist-get is set in that case.
>
> On a related note, bug#60850 does not have a subject line so here is
> more complete patch:

I've pushed this to the elpa git repo.

> Morgan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook'.
  2023-06-16 10:34 ` bug#64064: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook' Michael Albinus
@ 2023-06-18 11:50   ` Michael Albinus
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Albinus @ 2023-06-18 11:50 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Michael Albinus <michael.albinus@gmx.de> writes:

Hi Morgan,

>> This now fetches new bugs when the buffer is reverted.
>>
>> * debbugs-gnu.el (debbugs-gnu-mode): Add 'debbugs-gnu-rescan' to
>> 'tabulated-list-revert-hook'.
>
> I haven't tested, but it sounds OK.

Pushed to the git repo.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports'.
  2023-06-16 16:56   ` Morgan Smith
@ 2023-06-18 11:52     ` Michael Albinus
  2023-06-18 19:22       ` Morgan Smith
  0 siblings, 1 reply; 18+ messages in thread
From: Michael Albinus @ 2023-06-18 11:52 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

Hi Morgan,

>>> -	      ;; Sort so that if a new report gets merged with an old
>>> -	      ;; report, it shows up under the new report.
>>
>> Have you tested that the use case mentioned in the comment still works?
>
> This is somehow my first time reading that comment.  I have not tested
> it but reading through the code I'm pretty sure that my patch breaks
> this.  I would recommend against installing this patch.

Please tell me whether you want to work on this. Otherwise, I would
release debbugs on elpa.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports'.
  2023-06-18 11:52     ` Michael Albinus
@ 2023-06-18 19:22       ` Morgan Smith
  2023-06-19  7:40         ` Michael Albinus
  0 siblings, 1 reply; 18+ messages in thread
From: Morgan Smith @ 2023-06-18 19:22 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 64064

Michael Albinus <michael.albinus@gmx.de> writes:

>
> Please tell me whether you want to work on this. Otherwise, I would
> release debbugs on elpa.
>

To improve performance the next step should be making the network calls
asynchronously.  I thought this was a free performance boost but it is
not.  I have no plans to work on this.

Thanks,

Morgan





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 0/4] debbugs improvements
  2023-06-18 10:11   ` bug#64064: [PATCH 0/4] debbugs improvements Michael Albinus
@ 2023-06-18 19:26     ` Morgan Smith
  0 siblings, 0 replies; 18+ messages in thread
From: Morgan Smith @ 2023-06-18 19:26 UTC (permalink / raw)
  To: Michael Albinus; +Cc: 64064

Michael Albinus <michael.albinus@gmx.de> writes:

>
> I've added another patch which sets
> the mouse-face property; this was lost in your patch.
>

Thanks for catching that!  Reading is not my strong suit :P.  Sometimes
I just feel like deleting code without reading it.

Thanks,

Morgan





^ permalink raw reply	[flat|nested] 18+ messages in thread

* bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports'.
  2023-06-18 19:22       ` Morgan Smith
@ 2023-06-19  7:40         ` Michael Albinus
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Albinus @ 2023-06-19  7:40 UTC (permalink / raw)
  To: Morgan Smith; +Cc: 64064-done

Morgan Smith <Morgan.J.Smith@outlook.com> writes:

Hi Morgan,

> To improve performance the next step should be making the network calls
> asynchronously.  I thought this was a free performance boost but it is
> not.  I have no plans to work on this.

We're doing asynchronous bug fetching already. In `debbugs-get-status',
several calls to `debbugs-soap-invoke-async' are fired in parallel,
every call retrieving up to `debbugs-max-hits-per-request' bugs at once.

I've also made some experiments with other improvements for asynchronous
network calls, those attempts failed (some years ago). And here we are.

Anyway, there's nothing left to do. I've released debbugs 0.36, closing
this bug.

> Thanks,
>
> Morgan

Best regards, Michael.





^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2023-06-19  7:40 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-14 12:15 bug#64064: [PATCH 0/4] debbugs improvements Morgan Smith
2023-06-16  8:50 ` Michael Albinus
     [not found]   ` <DM5PR03MB3163BD5C32B57C2C6860B7B6C558A@DM5PR03MB3163.namprd03.prod.outlook.com>
2023-06-16 16:57     ` Morgan Smith
2023-06-16 17:04       ` Michael Albinus
2023-06-16 10:16 ` bug#64064: [PATCH 1/4] Call 'tabulated-list-print-entry' in 'debbugs-gnu-print-entry' Michael Albinus
2023-06-18 10:11   ` bug#64064: [PATCH 0/4] debbugs improvements Michael Albinus
2023-06-18 19:26     ` Morgan Smith
2023-06-16 10:22 ` bug#64064: [PATCH 2/4] Don't error out on 'nil' alist value Michael Albinus
2023-06-16 16:49   ` Morgan Smith
2023-06-18 11:14     ` Michael Albinus
2023-06-16 10:26 ` bug#64064: [PATCH 3/4] Don't sort bugs in 'debbugs-gnu-show-reports' Michael Albinus
2023-06-16 16:56   ` Morgan Smith
2023-06-18 11:52     ` Michael Albinus
2023-06-18 19:22       ` Morgan Smith
2023-06-19  7:40         ` Michael Albinus
2023-06-16 10:34 ` bug#64064: [PATCH 4/4] Add 'debbugs-gnu-rescan' to 'tabulated-list-revert-hook' Michael Albinus
2023-06-18 11:50   ` Michael Albinus
2023-06-16 10:37 ` bug#64064: [PATCH 0/4] debbugs improvements Michael Albinus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).