emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#69712: closed (Package author/maintainer printing fix)


From: GNU bug Tracking System
Subject: bug#69712: closed (Package author/maintainer printing fix)
Date: Sat, 23 Mar 2024 20:13:02 +0000

Your message dated Sat, 23 Mar 2024 16:12:01 -0400
with message-id <jwvh6gw7lof.fsf-monnier+emacs@gnu.org>
and subject line Re: bug#69712: Package author/maintainer printing fix
has caused the debbugs.gnu.org bug report #69712,
regarding Package author/maintainer printing fix
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
69712: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69712
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: Package author/maintainer printing fix Date: Sun, 10 Mar 2024 19:03:16 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu)
There are many packages with non-dot author/maintainer format that fail with

Debugger entered--Lisp error: (wrong-type-argument listp "XXIV")
  car("XXIV")
  package--print-email-button("XXIV")
  describe-package-1(#s(package-desc :name chaos-mode ((:authors ("XXIV")) 
(:maintainers ("XXIV")) (:maintainer "XXIV"))))
  describe-package(#s(package-desc :name chaos-mode ((:authors ("XXIV")) 
(:maintainers ("XXIV")) (:maintainer "XXIV"))))
  package-menu-describe-package(#<marker (moves after insertion) at 67389 in 
*Packages*>)
  button-activate(#<marker (moves after insertion) at 67389 in *Packages*> nil)
  push-button(67389)
  funcall-interactively(push-button 67389)
  command-execute(push-button)

Here is the fix:

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index fe7b10f569a..790860df2a7 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -3082,19 +3082,21 @@ package--print-email-button
   "Insert a button whose action will send an email to RECIPIENT.
 NAME should have the form (FULLNAME . EMAIL) where FULLNAME is
 either a full name or nil, and EMAIL is a valid email address."
-  (when (car recipient)
-    (insert (car recipient)))
-  (when (and (car recipient) (cdr recipient))
-    (insert " "))
-  (when (cdr recipient)
-    (insert "<")
-    (insert-text-button (cdr recipient)
-                        'follow-link t
-                        'action (lambda (_)
-                                  (compose-mail
-                                   (format "%s <%s>" (car recipient) (cdr 
recipient)))))
-    (insert ">"))
-  (insert "\n"))
+  (if (stringp recipient)
+      (insert recipient "\n")
+    (when (car recipient)
+      (insert (car recipient)))
+    (when (and (car recipient) (cdr recipient))
+      (insert " "))
+    (when (cdr recipient)
+      (insert "<")
+      (insert-text-button (cdr recipient)
+                          'follow-link t
+                          'action (lambda (_)
+                                    (compose-mail
+                                     (format "%s <%s>" (car recipient) (cdr 
recipient)))))
+      (insert ">"))
+    (insert "\n")))
 
 
 ;;;; Package menu mode.

--- End Message ---
--- Begin Message --- Subject: Re: bug#69712: Package author/maintainer printing fix Date: Sat, 23 Mar 2024 16:12:01 -0400 User-agent: Gnus/5.13 (Gnus v5.13)
>> I suggest the following fix instead.
>> Can you confirm that it fixes the problem for you as well?
>>
>> diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
>> @@ -2941,7 +2941,7 @@ describe-package-1
>>          (insert " "))
>>        (insert "\n"))
>>      (when maintainers
>> -      (unless (proper-list-p maintainers)
>> +      (when (stringp (car maintainers))
>>          (setq maintainers (list maintainers)))
>
> I confirm this completely fixes the problem.

Thanks, pushed to `master`.


        Stefan



--- End Message ---

reply via email to

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