Emacs の MUA である Wanderlust で,bbdb を使ってメールアドレス等を収集しているのであるが,bbdb3 が 3.2-6 から 3.2-7 にあがったタイミングで以下のエラーで表示メール関連の bbdb entry が表示されなくなった.M-x bbdb
自体は機能している.
save-current-buffer: Wrong type argument: stringp, nil
そもそも bbdb3 自体が Wanderlust で設定困難で,https://github.com/wanderlust/wanderlust/issues/64#issuecomment-388231182 にあるとおり,以下のような bbdb/wl-header
(see /usr/share/emacs/site-lisp/bbdb3/bbdb-wl.el
)を自前で用意していたのだが,これが原因らしい.
--- orig.el 2020-01-06 15:24:44.308354408 +0900
+++ new.el 2020-01-06 15:25:24.643900212 +0900
@@ -1,7 +1,7 @@
(defun bbdb/wl-header (header)
- (with-current-buffer wl-summary-buffer-name
+ (with-current-buffer wl-message-buffer-cur-summary-buffer
(elmo-message-entity-field
(elmo-message-entity wl-summary-buffer-elmo-folder
(wl-summary-message-number))
(intern (downcase header))
'string)))
3.2-7 では
- https://github.com/emacsmirror/bbdb/commit/2bbe645ae71d84ad518e03dec698d4154af2f9f0
- https://salsa.debian.org/debian/bbdb3/commit/2bbe645ae71d84ad518e03dec698d4154af2f9f0
のとおり bbdb-mua-auto-update
が wl-message-redisplay-hook
ではなく wl-summary-redisplay-hook
にadd-hook
されるようになったので,上記自前 bbdb/wl-header
は不要になった様子.