Subject: bug#453: 23.0.60; rfc822-bad-address: wrong-type-argument error

From: Chong Yidong <[email-masked]>
Date: Tue, 26 Aug 2008 17:30:05 -0400

Sorry for the delay in replying.

> I was reading a newsgroup with Gnus, typed `n'
> (gnus-summary-next-unread-article) to read the next article[1], and
> got a wrong-type-argument error.  The backtrace is attached.  The
> error occurs in rfc822-bad-address, when the first argument of
> narrow-to-region, rfc822-address-start, is nil.  The value is nil at
> this point because rfc822-addresses calls rfc822-nuke-whitespace
> before rfc822-address-start is assigned an initial value.

I don't see how rfc822-address-start could be nil.  The code sets it to
(point) just before the call to rfc822-bad-address.  Could you further
explain your reasoning?

  (while (not (eobp))
    (setq rfc822-address-start (point))
    (setq tem
          (catch 'address ; this is for rfc822-bad-address
            (cond ((rfc822-looking-at ?\,)
                   nil)
                  ((looking-at "[][\000-\037@;:\\.>)]")
                   (forward-char)
                   (rfc822-bad-address
                     (format "Strange character \\%c found"
                             (preceding-char))))

(By the way, next time you mail a patch, please try not to change
whitespaces; that makes the patch very difficult to read.  Thanks.)