wanderlust iii


Wanderlust






I have been using the Wanderlust E-mail client for almost a year now, and I
am very happy with it. In previous postings I already discussed setup and
some tips and tricks; and I also had somewhat related posts on bbdb (the
address book) and warning you about new mail. But I think it's time for an
update.






maintenance






One question that I have received quite a few times was about the
maintenance of Wanderlust; it's may be a nice e-mail client, but little
seems to have happened in the last few years. It's reasonable concern.



Fortunately, it seems the situation has improved significantly. There's
more traffic on the mailing lists, both from old and new users. Various
improvements are circulating; the place to get the latest stuff is in David
Abrahams' git-repository: semi, flim, apel and wanderlust. The plan is to
gradually apply the changes to the upstream (CVS) repository.







bugs






Although I have been quite happy with Wanderlust, there was one bug #5534
that has bitten me a few times, causing occasional hangs when saving
(draft) messages with non-ascii characters. It seemed finally to be a bug
in emacs itself, which is triggered by something in Wanderlust. A fix will
probably be available for the next emacs version; until then, you can work
around this by using an external MIME-encoder. To do this, add the
following to your WL initialization code (thanks to various helpful people
on the WL mailing list):





(setq mel-b-ccl-module nil)
(setq mel-q-ccl-module nil)
(setq base64-external-encoder '("mimencode"))
(setq base64-external-decoder '("mimencode" "-u"))
(setq base64-external-decoder-option-to-specify-file '("-o"))
(setq quoted-printable-external-encoder '("mimencode" "-q"))
(setq quoted-printable-external-decoder '("mimencode" "-q" "-u"))
(setq quoted-printable-external-decoder-option-to-specify-file '("-o"))
(setq base64-internal-decoding-limit 0)
(setq base64-internal-encoding-limit 0)
(setq quoted-printable-internal-decoding-limit 0)
(setq quoted-printable-internal-encoding-limit 0)

(setq-default mime-transfer-level 8)
(setq mime-header-accept-quoted-encoded-words t)






This requires the mimencode-program, which is part of the
metamail-package. For the time being, this seems to be the best solution
when using Wanderlust with Emacs 23.







one more trick: reformatting






Let's finish with one more trick. Sometimes, incoming mail is formatted
quite badly; in particular, the new lines are too long for comfortable
reading. From the WL-mailing list, here's a trick to deal with that:





(require 'filladapt)

;; from a WL mailing list post by Per b. Sederber
;; Re-fill messages that arrive poorly formatted
(defun wl-summary-refill-message (all)
(interactive "P")
(if (and wl-message-buffer (get-buffer-window wl-message-buffer))
(progn
(wl-summary-toggle-disp-msg 'on)
(save-excursion
(set-buffer wl-message-buffer)
(goto-char (point-min))
(re-search-forward "^$")
(while (or (looking-at "^\\[[1-9]") (looking-at "^$"))
(forward-line 1))
(let* ((buffer-read-only nil)
(find (lambda (regexp)
(save-excursion
(if (re-search-forward regexp nil t)
(match-beginning 0)
(point-max)))))
(start (point))
(end (if all
(point-max)
(min (funcall find "^[^>\n]* wrote:[ \n]+")
(funcall find "^>>>>>")
(funcall find "^ *>.*\n *>")
(funcall find "^-----Original Message-----")))))
(save-restriction
(narrow-to-region start end)
(filladapt-mode 1)
(fill-region (point-min) (point-max)))))
(message "Message re-filled"))
(message "No message to re-fill")))

(define-key wl-summary-mode-map "\M-q" 'wl-summary-refill-message)






Now, you can refill your messages with M-q when in the Summary.



If you have any other nifty WL-tricks that could be useful for others, please
share them in the comments, thanks!



No comments:

Post a Comment

Followers

Popular Posts