Package: emacs;
Reported by: Stephen Berman <stephen.berman <at> gmx.net>
Date: Fri, 20 Jun 2008 15:40:04 UTC
Severity: normal
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 453 in the body.
You can then email your comments to 453 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:bug#453
; Package emacs
.
Full text and rfc822 format available.Stephen Berman <stephen.berman <at> gmx.net>
:Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and rfc822 format available.Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: emacs-pretest-bug <at> gnu.org Subject: 23.0.60; rfc822-bad-address: wrong-type-argument error Date: Fri, 20 Jun 2008 17:34:40 +0200
[Message part 1 (text/plain, inline)]
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. Simply assigning an initial non-nil in the let declaration does not work, because then rfc822-bad-address tries to throw to 'address, but the corresponding catch in rfc822-addresses has not yet been established -- that happens after the call to rfc822-nuke-whitespace. I tried moving the catch above the rfc822-nuke-whitespace call: in combination with an initial value for rfc822-address-start, this allows rfc822-bad-address to return an error string to rfc822-addresses -- see the patch below --, but the caller in my setup, bbdb-rfc822-addresses, expects a list, so this raises another wrong-type-argument error. If it is legitimate for rfc822-bad-address to return a non-list value in this case, then the bug is presumably in bbdb-rfc822-addresses (from bbdb-snarf.el, not part of Emacs); but I don't know if this is the right diagnosis. If it is, I'll report it to the BBDB list, and the patch below, or a better one, should be applied to rfc822.el. Steve Berman
[Message part 2 (text/plain, inline)]
Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil) narrow-to-region(nil 5) (save-restriction (insert "_^_") (narrow-to-region rfc822-address-start (if ... ... ...)) (let (...) (while losers ... ... ...)) (goto-char (point-min)) (insert "(Unparsable address -- " reason ": \"") (goto-char (point-max)) (insert "\")")) rfc822-bad-address("Unbalanced comment (...)") (if (eobp) (rfc822-bad-address "Unbalanced comment (...)") (/= (setq ch ...) 41)) (while (if (eobp) (rfc822-bad-address "Unbalanced comment (...)") (/= ... 41)) (cond (... ...) (... ...) (... ...) (t ...))) (cond ((eobp) nil) ((= ... 40) (forward-char 1) (while ... ...) (forward-char -1) (delete-char 2) t) ((memq ch ...) (delete-region ... ...) t) (t nil)) (while (cond (... nil) (... ... ... ... ... t) (... ... t) (t nil))) (let (ch) (while (cond ... ... ... ...)) (or (not leave-space) (eobp) (bobp) (= ... 32) (insert 32))) rfc822-nuke-whitespace() (let ((list nil) tem rfc822-address-start) (rfc822-nuke-whitespace) (while (not ...) (setq rfc822-address-start ...) (setq tem ...) (cond ... ... ...)) (nreverse list)) (save-excursion (set-buffer buf) (make-local-variable (quote case-fold-search)) (setq case-fold-search nil) (insert header-text) (goto-char (point-min)) (while (re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ ]" nil t) (replace-match "\\1 " t)) (goto-char (point-min)) (let (... tem rfc822-address-start) (rfc822-nuke-whitespace) (while ... ... ... ...) (nreverse list))) (unwind-protect (save-excursion (set-buffer buf) (make-local-variable ...) (setq case-fold-search nil) (insert header-text) (goto-char ...) (while ... ...) (goto-char ...) (let ... ... ... ...)) (and buf (kill-buffer buf))) (let ((buf ...)) (unwind-protect (save-excursion ... ... ... ... ... ... ... ...) (and buf ...))) (if (string-match "\\`[ ]*\\([^][ rfc822-addresses("(\"\"Gro\x00df") (let* ((thisaddr ...) (comma ...) (parsed ...)) (if (string-match "(" ...) (setq start comma) (setq addrs ... addrline ... start 0))) (while (string-match "\\([^,]+\\)," addrline start) (let* (... ... ...) (if ... ... ...))) (let (addrs (start 0)) (setq addrline (concat addrline ",")) (while (string-match "\\([^,]+\\)," addrline start) (let* ... ...)) addrs) bbdb-rfc822-addresses("(\"\"Gro\x00df, Werner\"\") <W.F.Gross <at> t-online.de>") bbdb-get-addresses(nil "stephen\\.berman <at> gmx\\.net" gnus-fetch-field) bbdb/gnus-update-records(nil) bbdb/gnus-pop-up-bbdb-buffer() run-hooks(gnus-article-prepare-hook) apply(run-hooks gnus-article-prepare-hook) gnus-run-hooks(gnus-article-prepare-hook) gnus-article-prepare-display() gnus-article-prepare(166195 nil) gnus-summary-display-article(166195) gnus-summary-next-article(t nil) gnus-summary-next-unread-article() call-interactively(gnus-summary-next-unread-article nil nil)
[Message part 3 (text/plain, inline)]
*** emacs/lisp/mail/rfc822.el.~1.28.~ 2008-05-06 17:54:09.000000000 +0200 --- emacs/lisp/mail/rfc822.el 2008-06-20 17:16:10.000000000 +0200 *************** *** 278,319 **** (list (substring header-text (match-beginning 1) (match-end 1))) (let ((buf (generate-new-buffer " rfc822"))) (unwind-protect ! (save-excursion ! (set-buffer buf) ! (make-local-variable 'case-fold-search) ! (setq case-fold-search nil) ;For speed(?) ! (insert header-text) ! ;; unfold continuation lines ! (goto-char (point-min)) ! (while (re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ \t]" nil t) ! (replace-match "\\1 " t)) ! (goto-char (point-min)) ! (let ((list ()) ! tem ! rfc822-address-start); this is for rfc822-bad-address ! (rfc822-nuke-whitespace) ! (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)))) ! (t ! (rfc822-addresses-1 t))))) ! (cond ((null tem)) ! ((stringp tem) ! (setq list (cons tem list))) ! (t ! (setq list (nconc (nreverse tem) list))))) ! (nreverse list))) ! (and buf (kill-buffer buf)))))) (provide 'rfc822) --- 278,322 ---- (list (substring header-text (match-beginning 1) (match-end 1))) (let ((buf (generate-new-buffer " rfc822"))) (unwind-protect ! (save-excursion ! (set-buffer buf) ! (make-local-variable 'case-fold-search) ! (setq case-fold-search nil) ;For speed(?) ! (insert header-text) ! ;; unfold continuation lines ! (goto-char (point-min)) ! (while (re-search-forward "\\([^\\]\\(\\\\\\\\\\)*\\)\n[ \t]" nil t) ! (replace-match "\\1 " t)) ! (goto-char (point-min)) ! (let ((list ()) ! tem ! ;; This is for rfc822-bad-address. Give it a non-nil initial ! ;; value to prevent rfc822-bad-address from raising a ! ;; wrong-type-argument error ! (rfc822-address-start (point))) ! (catch 'address ; this is for rfc822-bad-address ! (rfc822-nuke-whitespace) ! (while (not (eobp)) ! (setq rfc822-address-start (point)) ! (setq tem ! (cond ((rfc822-looking-at ?\,) ! nil) ! ((looking-at "[][\000-\037@;:\\.>)]") ! (forward-char) ! (rfc822-bad-address ! (format "Strange character \\%c found" ! (preceding-char)))) ! (t ! (rfc822-addresses-1 t)))) ! (cond ((null tem)) ! ((stringp tem) ! (setq list (cons tem list))) ! (t ! (setq list (nconc (nreverse tem) list))))) ! (nreverse list)))) ! (and buf (kill-buffer buf)))))) (provide 'rfc822) In GNU Emacs 23.0.60.3 (i686-pc-linux-gnu, GTK+ Version 2.12.0) of 2008-06-16 on escher Windowing system distributor `The X.Org Foundation', version 11.0.70200000 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=local locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Debugger Minor modes in effect: shell-dirtrack-mode: t show-paren-mode: t recentf-mode: t tabbar-mwheel-mode: t tabbar-mode: t display-time-mode: t tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent input: <switch-frame> <help-echo> <switch-frame> <down-mouse-1> <mouse-movement> <mouse-1> C-x o <f1> C-c j l i s <return> <down-mouse-1> <mouse-1> <help-echo> <select-window> C-u C-M-x C-c j s u m <return> n <switch-frame> C-x b SPC r <tab> <return> <switch-frame> f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f <switch-frame> C-x b SPC r <tab> <return> <right> <left> <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-x b a <return> C-y C-x b SPC r <tab> <return> C-a <switch-frame> SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC i SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC SPC q t <help-echo> <select-window> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5> <triple-mouse-5> <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <select-window> <help-echo> <select-window> <select-window> <help-echo> <select-window> <help-echo> <help-echo> <select-window> <help-echo> <help-echo> <select-window> h M-u <up> <up> <f1> C-x b l i s <tab> C-g C-x b r <tab> <return> C-M-x C-M-y C-M-x C-x b * S <tab> u <tab> <return> n <f1> C-x b r <tab> <return> <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <down-mouse-4> <mouse-4> <down-mouse-1> <mouse-1> C-s C-w C-w C-w C-s C-s C-s C-s C-s C-s C-s C-M-a M-< C-c j d <return> M-x g u <return> <down-mouse-1> <mouse-movement> <mouse-1> C-x b r <tab> <return> C-x d C-g C-x b <return> <up> <up> <up> <up> M-x r e p o <tab> r <tab> b <tab> <return> <switch-frame> <down-mouse-1> <mouse-movement> <mouse-1> C-c j <switch-frame> C-c j e <backspace> l i s <return> <down-mouse-1> <mouse-1> <double-down-mouse-1> <double-mouse-1> <switch-frame> C-x b <return> M-x r e p o <tab> r <tab> b <tab> <return> Recent messages: Auto-saving...done Mark saved where search started Mark set Auto-saving...done Mark set Auto-saving...done Quit Making completion list... byte-code: Command attempted to use minibuffer while in minibuffer Making completion list... Footnotes: [1] This is the article: <http://permalink.gmane.org/gmane.linux.suse.general.german/166195>
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:bug#453
; Package emacs
.
Full text and rfc822 format available.Chong Yidong <cyd <at> stupidchicken.com>
:Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and rfc822 format available.Message #10 received at 453 <at> emacsbugs.donarmstrong.com (full text, mbox):
From: Chong Yidong <cyd <at> stupidchicken.com> To: Stephen Berman <stephen.berman <at> gmx.net> Cc: 453 <at> debbugs.gnu.org Subject: Re: 23.0.60; rfc822-bad-address: wrong-type-argument error 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.)
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:bug#453
; Package emacs
.
Full text and rfc822 format available.Stephen Berman <stephen.berman <at> gmx.net>
:Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and rfc822 format available.Message #15 received at 453 <at> emacsbugs.donarmstrong.com (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: Chong Yidong <cyd <at> stupidchicken.com> Cc: 453 <at> debbugs.gnu.org Subject: Re: bug#453: 23.0.60; rfc822-bad-address: wrong-type-argument error Date: Wed, 27 Aug 2008 12:38:05 +0200
On Tue, 26 Aug 2008 17:30:05 -0400 Chong Yidong <cyd <at> stupidchicken.com> wrote: > 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? The error occurs before that setq can be called, because rfc822-bad-address is also called from rfc822-nuke-whitespace, and at this point rfc822-address-start is nil. In more detail: 1. bbdb-rfc822-addresses is trying to parse this header: (""Groß, Werner"") <W.F.Gross <at> t-online.de> which presumably violates RFC822. 2. bbdb-rfc822-addresses calls rfc822-addresses, which turns the header into this string: (""Groß and, after let-binding but before setq-ing rfc822-address-start, 3. calls rfc822-nuke-whitespace, which further truncates the header to: ( and then calls 4. rfc822-bad-address, which tries to call narrow-to-region with rfc822-address-start, which is still nil, as the beginning of the region: BZZT! > (By the way, next time you mail a patch, please try not to change > whitespaces; that makes the patch very difficult to read. Thanks.) Sorry. That was the result of doing indent-region, which I assume means the existing indentation does not conform to Emacs conventions. Would it be appropriate to submit a separate patch to correct that? Steve Berman
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:bug#453
; Package emacs
.
Full text and rfc822 format available.Chong Yidong <cyd <at> stupidchicken.com>
:Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and rfc822 format available.Message #20 received at 453 <at> emacsbugs.donarmstrong.com (full text, mbox):
From: Chong Yidong <cyd <at> stupidchicken.com> To: Stephen Berman <stephen.berman <at> gmx.net> Cc: 453 <at> debbugs.gnu.org Subject: Re: bug#453: 23.0.60; rfc822-bad-address: wrong-type-argument error Date: Wed, 27 Aug 2008 10:38:24 -0400
Stephen Berman <stephen.berman <at> gmx.net> writes: > 1. bbdb-rfc822-addresses is trying to parse this header: > (""Groß, Werner"") <W.F.Gross <at> t-online.de> > which presumably violates RFC822. > 2. bbdb-rfc822-addresses calls rfc822-addresses, which turns the header > into this string: > (""Groß > and, after let-binding but before setq-ing rfc822-address-start, > 3. calls rfc822-nuke-whitespace, which further truncates the header to: > ( > and then calls > 4. rfc822-bad-address, which tries to call narrow-to-region with > rfc822-address-start, which is still nil, as the beginning of the > region: BZZT! Now I understand. could you send a new patch? Thanks.
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:bug#453
; Package emacs
.
Full text and rfc822 format available.Stephen Berman <stephen.berman <at> gmx.net>
:Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
Full text and rfc822 format available.Message #25 received at 453 <at> emacsbugs.donarmstrong.com (full text, mbox):
From: Stephen Berman <stephen.berman <at> gmx.net> To: Chong Yidong <cyd <at> stupidchicken.com> Cc: 453 <at> debbugs.gnu.org Subject: Re: bug#453: 23.0.60; rfc822-bad-address: wrong-type-argument error Date: Tue, 02 Sep 2008 18:07:57 +0200
On Wed, 27 Aug 2008 10:38:24 -0400 Chong Yidong <cyd <at> stupidchicken.com> wrote: > Stephen Berman <stephen.berman <at> gmx.net> writes: > >> 1. bbdb-rfc822-addresses is trying to parse this header: >> (""Groß, Werner"") <W.F.Gross <at> t-online.de> >> which presumably violates RFC822. >> 2. bbdb-rfc822-addresses calls rfc822-addresses, which turns the header >> into this string: >> (""Groß >> and, after let-binding but before setq-ing rfc822-address-start, >> 3. calls rfc822-nuke-whitespace, which further truncates the header to: >> ( >> and then calls >> 4. rfc822-bad-address, which tries to call narrow-to-region with >> rfc822-address-start, which is still nil, as the beginning of the >> region: BZZT! > > Now I understand. could you send a new patch? Thanks. I was going to just resend my patch minus the inappropriate white space changes. But upon reconsideration, I'm not confident that the patch I sent previously DTRT. I'm not even sure what TRT is here: as I wrote in my OP, my patch returns an error string as specified by rfc822-bad-address, but the caller bbdb-rfc822-addresses expects a list, so it still raises a wrong-type error. This happens when the relocated catch sexp has scope to the end of the let that immediately encloses it (patch (i) below). But I leave the catch in its existing position and move rfc822-nuke-whitespace to within it (patch (ii) below), then no error is raised, but also there's no indication of a bad address; yet stepping through the code with edebug does pass through rfc822-bad-address. So where should the catch be located? Hopefully someone familiar (unlike me) with RFC 822 and rfc822.el, and ideally also bbdb-rfc822-addresses, can answer that question and say whether either of these patches is suitable, or provide a better one. Steve Berman Patch (i) (returns an error string as specified by rfc822-bad-address, but raises a wrong-type error with bbdb-rfc822-addresses): *** emacs/lisp/mail/rfc822.el.~1.28.~ 2008-05-06 17:54:09.000000000 +0200 --- emacs/lisp/mail/rfc822.el 2008-09-02 17:35:28.000000000 +0200 *************** *** 292,303 **** (goto-char (point-min)) (let ((list ()) tem ! rfc822-address-start); this is for rfc822-bad-address ! (rfc822-nuke-whitespace) ! (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@;:\\.>)]") --- 292,306 ---- (goto-char (point-min)) (let ((list ()) tem ! ;; This is for rfc822-bad-address. Give it a non-nil initial ! ;; value to prevent rfc822-bad-address from raising a ! ;; wrong-type-argument error ! (rfc822-address-start (point))) ! (catch 'address ; this is for rfc822-bad-address ! (rfc822-nuke-whitespace) ! (while (not (eobp)) ! (setq rfc822-address-start (point)) ! (setq tem (cond ((rfc822-looking-at ?\,) nil) ((looking-at "[][\000-\037@;:\\.>)]") *************** *** 306,318 **** (format "Strange character \\%c found" (preceding-char)))) (t ! (rfc822-addresses-1 t))))) ! (cond ((null tem)) ! ((stringp tem) ! (setq list (cons tem list))) ! (t ! (setq list (nconc (nreverse tem) list))))) ! (nreverse list))) (and buf (kill-buffer buf)))))) (provide 'rfc822) --- 309,321 ---- (format "Strange character \\%c found" (preceding-char)))) (t ! (rfc822-addresses-1 t)))) ! (cond ((null tem)) ! ((stringp tem) ! (setq list (cons tem list))) ! (t ! (setq list (nconc (nreverse tem) list))))) ! (nreverse list)))) (and buf (kill-buffer buf)))))) (provide 'rfc822) Patch (ii) (bbdb-rfc822-addresses raises no error, but also there's no indication of a bad address; yet stepping through the code with edebug does pass through rfc822-bad-address): *** emacs/lisp/mail/rfc822.el.~1.28.~ 2008-05-06 17:54:09.000000000 +0200 --- emacs/lisp/mail/rfc822.el 2008-09-02 18:01:49.000000000 +0200 *************** *** 293,312 **** (let ((list ()) tem rfc822-address-start); this is for rfc822-bad-address - (rfc822-nuke-whitespace) (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)))) ! (t ! (rfc822-addresses-1 t))))) (cond ((null tem)) ((stringp tem) (setq list (cons tem list))) --- 293,313 ---- (let ((list ()) tem rfc822-address-start); this is for rfc822-bad-address (while (not (eobp)) (setq rfc822-address-start (point)) (setq tem (catch 'address ; this is for rfc822-bad-address ! (progn ! (rfc822-nuke-whitespace) ! (cond ((rfc822-looking-at ?\,) ! nil) ! ((looking-at "[][\000-\037@;:\\.>)]") ! (forward-char) ! (rfc822-bad-address ! (format "Strange character \\%c found" ! (preceding-char)))) ! (t ! (rfc822-addresses-1 t)))))) (cond ((null tem)) ((stringp tem) (setq list (cons tem list)))
Chong Yidong <cyd <at> stupidchicken.com>
:Stephen Berman <stephen.berman <at> gmx.net>
:Message #30 received at 453-done <at> emacsbugs.donarmstrong.com (full text, mbox):
From: Chong Yidong <cyd <at> stupidchicken.com> To: Stephen Berman <stephen.berman <at> gmx.net> Cc: 453-done <at> debbugs.gnu.org Subject: Re: bug#453: 23.0.60; rfc822-bad-address: wrong-type-argument error Date: Wed, 24 Sep 2008 13:57:53 -0400
> Patch (i) (returns an error string as specified by rfc822-bad-address, > but raises a wrong-type error with bbdb-rfc822-addresses): I think this is the right approach; bbdb-rfc822-addresses should handle the error. I've checked in your patch, thanks.
Debbugs Internal Request <don <at> donarmstrong.com>
to internal_control <at> emacsbugs.donarmstrong.com
.
(Thu, 23 Oct 2008 14:24:03 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.