VM

vm-8.0.12 breaks on unparseable addresses

Asked by Manuel Carro

In function vm-su-du-recipients (file summary.el), at the end, the call

    (vm-set-to-of m (mapconcat 'identity addresses ", "))

can fail (it failed for me) because the paremeter addresses can be bound to a string such as

"(Unparsable address -- Strange character \\; found: \";_^_>\")"

and mapconcat expects a list as second argument. The kludge I made was to convert it anyway to a list:

    ;; Patched by MCL for addresses which are not a list of addresses
    (vm-set-to-of m (mapconcat 'identity
        (if (eq (type-of addresses) 'string)
            (list addresses)
            addresses
        )
        ", "))

I could not test it thoroughly yet - and of course it is a kludge, but it points out to where the problem is.

Cheers,

MCL

Question information

Language:
English Edit question
Status:
Solved
For:
VM Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

This question was originally filed as bug #302562.

Revision history for this message
Uday Reddy (reddyuday) said :
#1

Hi, if you can give us a sample of messages that generate the "unparsable address..." strings, we can see how to handle them. They should not be getting bound to the variable 'addresses'.

Cheers,
Uday

Revision history for this message
Manuel Carro (mcarro) said :
#2

Hi.

> Hi, if you can give us a sample of messages that generate the
> "unparsable address..." strings, we can see how to handle them. They
> should not be getting bound to the variable 'addresses'.

Unfortunately I am not using VM any longer, after maybe 10 years. I
have switched to GNUs. I have converted all my mailboxes, so I do not
have the original messages any longer.

Best,
--
+------------------------------------------------------------------------------+
| Manuel Carro --- Facultad de Informática -- U. Politécnica de Madrid (UPM) |
| Campus de Montegancedo --- E-28660 Boadilla del Monte --- Spain |
| Phone: +34-913363747 --- FAX: +34-913363669 |

Revision history for this message
Oliver Moeller (omoeller) said :
#3

Bug is present in VM 8.1.1.
Thanks for the workaround, MCL.

I can provide an example email header (part), which triggers the bug.
It was spam (received, then shot by spam-assassin); original domain / recipient replaced:

From: Randolph Todd <email address hidden>
To: <<email address hidden>
Cc: <email address hidden>; Sun, 31 Oct 2010 11:41:21 +0900
Cc: <email address hidden>>
Subject: Kaufen Sie sich eine Top-Armbanduhr billiger.
Date: Sun, 31 Oct 2010 11:41:21 +0900

Revision history for this message
Uday Reddy (reddyuday) said :
#4

This is a problem with some versions of Gnu Emacs. The following work-around, contributed by Manuel Hermenegildo solves the problem. You can put it in your .emacs file, but remember to take it out when you upgrade your Emacs version.

;; Fixing temporarily the rfc822-addresses error
(defadvice rfc822-addresses (after rfc822-addresses-fixerror)
 "Fixes weird error return in rfc822-addresses."
 (setq ad-return-value
       (if (listp ad-return-value)
    ad-return-value
  (list ad-return-value)
  )))
(ad-activate 'rfc822-addresses)

Revision history for this message
Uday Reddy (reddyuday) said :
#5

Work-around announced.