[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: some issues with message expiration
>>>>> On Sun, 18 Jul 2010 22:03:19 +0200, David Maus ("DM") wrote:
[expire]
>> ("^\\.system$" (date 3) remove)
>> First it updates the message
>> db, then I get the 'Wrong type argument: listp, nil'. However, I do /not/ get
>> any backtrace. When I then try to enter the folder, or do anything (even when
>> trying M-x toggle-debug-on-error), I either get that same error again. And I
>> cannot move the cursor anymore. Emacs menus are still accessible though, it's
>> not a general hang. But just about whatever I do gives me 'Wrong type
>> argument: listp, nil'.
DM> Interesting. Do you call expire in Folder mode or Summary mode? Here
DM> expiring a maildir folder works perfectly in Summary mode, but in
DM> Folder mode I get an error -- although a different one (WL not being
DM> capable of finding the file the correspondents to a maildir message
DM> number).
This is in Folder mode; I just reproduced it with the latest Wanderlust from
Dave Abrahams repo. Interestingly, when I do that in summary mode
(wl-summary-expire), the same thing does not happen; in fact, it seems to work
without any problem in that case.
Interestingly, after doing the summary-mode expire, I can try folder-mode
expire without any further trouble -- I think this is because there is no
msgdb update involved now.
DM> A question about this one:
>> - when trying to expire my 'System' folder, I get
>> "Wrong type argument: listp, nil"
>> but
>> when I try to enter the folder afterwards I get:
>> "Format specifier doesn't match argument type", after which WL (or emacs)
>> is not very useful anymore, and tells me
>> "Symbol's value as variable is void: nil". After that, I cannot even close
>> emacs properly, but have to kill it.
DM> Do you have a way to reproduce this behavior? IIRC I hit a problem
DM> with the same symptoms occasionally and "Symbol's value as variable is
DM> void: nil" sound horrible: Meaning that Emacs somehow forgot that the
DM> symbol nil is ... nil. What ever WL might do wrong: THIS should not
DM> never happen :( (read: It could be a Emacs bug).
Yes, this easily reproducible, it happens every time I try to expire in Folder
Mode when the folder needs to be updated. Indeed, the nil thing seems very
scary. Do you have any idea on how I could debug this? (as mentioned,
toggle-debug-on-error does not work).
After glancing at the sources (wl-summary-expire vs wl-folder-expire-entity),
it seem that the main difference is that the latter updates the msgdb first;
and I get the errors somewhere during or after update takes place.
But, if I enter the folder (which involves a msgdb update as well), and the
use expire in the summary mode, things work well.
So my current hypothesis is that for some reason, msg-updating works in some
different and wrong way when it's triggered by folder-mode expire. Digging
further...
Best wishes,
Dirk.
--
Dirk-Jan C. Binnema Helsinki, Finland
e:djcb@djcbsoftware.nl w:www.djcbsoftware.nl
pgp: D09C E664 897D 7D39 5047 A178 E96A C7A1 017D DA3C