Even when working at Layer 2, ExtremeWare takes
advantage of information available at other layers to
establish and enforce QoS and access control policies.
Layer-independence means that when an Extreme Networks
product is routing or switching packets, QoS and access
control decisions can still be made using criteria pulled from
Layers 1–4 or from other sources.
(Source: «Extreme Networks Technical Brief: ExtremeWare Operating System»)
— leoboiko, 10:57:11
Wanderlust (wl) is the best IMAP MUA I’ve ever found. However, it takes too long to filter (“refile”) server-side messages. I wonder if it tries to download them to search?
This problem is even more annoying because wl is an Emacs application, and the Emacs OS lacks multitasking (they tell me that’s because it lacks closures, and that is because its flavour of Lisp uses dynamic scoping, and that’s hard to change). So your whole OS stays blocked while wl filter your messages.
This same issue killed any hope of a pure-Emacs web browser (like w3). People have circumvented it by calling external, non-Emacs applications, which can run asynchronously thanks to the host OS (like w3m-el).
You can do the same to organize IMAP mailboxes with this nifty little program called imapfilter. It uses Lua for configuration and knows how to filter efficiently, by asking the server to match patterns and move messages. It only deals with message IDs. The thing is so fast, it’s usually done almost instantaneously.
Here’s how to hook up imapfilter to wl:
;; on your wl configuration file, or wherever you keep this stuff
(when (and (file-readable-p "~/.imapfilter/config.lua")
(executable-find "imapfilter"))
(eval-after-load 'wl
'(add-to-list 'wl-folder-check-entity-pre-hook
(lambda ()
(message "calling imapfilter…")
(if (eq (call-process "imapfilter") 0)
(message "imapfilter ran fine.")
(message "error running imapfilter!"))))))
I use the when condition for robustness, because I copy my emacs conffiles to several machines. The eval-after-load prevents startup delay. The meat of it is the add-to-list hook, which will cause imapfilter to be called whenever you synchronize folders (key s on folder view).
— leoboiko, 09:57:15