Subject: bug#49770: closed (Re: bug#49770: [PATCH] rmailsum: error when message contains no From header)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 29 Jul 2021 15:43:02 +0000

Your bug report

#49770: [PATCH] rmailsum: error when message contains no From header

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
49770: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49770
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#49770: [PATCH] rmailsum: error when message contains no From header
From: Eli Zaretskii <[email-masked]>
To: Nick Gasson <[email-masked]>
Cc: [email-masked]
Date: Thu, 29 Jul 2021 18:41:41 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Nick Gasson <[email-masked]>
> Date: Thu, 29 Jul 2021 21:24:13 +0800
> Cc: Nick Gasson <[email-masked]>
> 
> If you open a mbox file in rmail-mode containing a message without a
> "From" header and press "h" to display the summary, the following
> error occurs:
> 
>   Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>     string-match("\n" nil)
>     rmail-header-summary()
>     rmail-create-summary(1 nil nil 101)
>     rmail-create-summary-line(1)
>     rmail-get-summary(1)
>     rmail-new-summary-1("All" (rmail-summary) nil nil)
>     rmail-new-summary("All" (rmail-summary) nil)
>     rmail-summary()
>     funcall-interactively(rmail-summary)
>     call-interactively(rmail-summary nil nil)
> 
> * lisp/mail/rmailsum.el (rmail-header-summary): Check if from header
> is set before scanning it for newlines.

Thanks, installed (with a tiny change: I prefer an explicit 'stringp'
test where we must have a string).

This contribution was small enough for us to be able to receive it
without a copyright assignment, but if you'd like to be able to
contribute in the future without restrictions, I suggest to start your
copyright assignment paperwork rolling.  If you'd like that, I will
send you the form to fill and the instructions to go with it.

Subject: [PATCH] rmailsum: error when message contains no From header
From: Nick Gasson <[email-masked]>
To: [email-masked]
Cc: Nick Gasson <[email-masked]>
Date: Thu, 29 Jul 2021 21:24:13 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

If you open a mbox file in rmail-mode containing a message without a
"From" header and press "h" to display the summary, the following
error occurs:

  Debugger entered--Lisp error: (wrong-type-argument stringp nil)
    string-match("\n" nil)
    rmail-header-summary()
    rmail-create-summary(1 nil nil 101)
    rmail-create-summary-line(1)
    rmail-get-summary(1)
    rmail-new-summary-1("All" (rmail-summary) nil nil)
    rmail-new-summary("All" (rmail-summary) nil)
    rmail-summary()
    funcall-interactively(rmail-summary)
    call-interactively(rmail-summary nil nil)

* lisp/mail/rmailsum.el (rmail-header-summary): Check if from header
is set before scanning it for newlines.
---
 lisp/mail/rmailsum.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 44cff21b0628..436bc78250cb 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -758,7 +758,7 @@ rmail-header-summary
 		    len mch lo newline)
                ;; If there are multiple lines in FROM,
                ;; discard up to the last newline in it.
-               (while (setq newline (string-match "\n" from))
+               (while (and from (setq newline (string-match "\n" from)))
                  (setq from (substring from (1+ newline))))
 	       (if (or (null from)
 		       (string-match
-- 
2.30.2