Re: bbdbv3 and wanderlust
Kazuhiro Ito <[email protected]> Wed, 13 Sep 2017 22:16:26 +0900
| Newsgroups | gmane.mail.wanderlust.general |
|---|---|
| Message-ID | <86lglispqt.wl--xmue__21570.4863927842$1505308698$gmane$org@d1.dion.ne.jp> |
I am not user of bbdb, so below comments consist on only my thinking,
not tested.
> old file: ./.emacs.d/elpa/bbdb-20170725.300/bbdb-wl.el
> new file: ./.emacs.d/elpa/bbdb-20170725.300/bbdb-wl-pristine.el
> 39,42c39,43
> < (elmo-message-entity-field
> < (elmo-message-entity wl-summary-buffer-elmo-folder
> < (wl-summary-message-number))
> < (intern (downcase header)) 'string))
> ---
> > (with-current-buffer (get-buffer wl-summary-buffer-name)
> > (elmo-message-entity-field
> > (elmo-message-entity wl-summary-buffer-elmo-folder
> > (wl-summary-message-number))
> > (intern (downcase header)) 'string)))
If you use sticky summary feature, summary buffer's name is not euqal
to wl-summary-buffer-name. Replacing bbdb/wl-header function with the
below code should fix your problem.
(defun bbdb/wl-header (header)
(elmo-message-entity-field
(with-current-buffer (if (buffer-live-p wl-current-summary-buffer)
wl-current-summary-buffer
;; Or signal some error.
(current-buffer))
(elmo-message-entity wl-summary-buffer-elmo-folder
(wl-summary-message-number)))
(intern (downcase header)) 'string))
If bbdb/wl-header can assume wl-current-summary-buffer always
indicates non-killed buffer, we can use more simple code. But I'm not
sure.
(defun bbdb/wl-header (header)
(elmo-message-entity-field
(with-current-buffer wl-current-summary-buffer
(elmo-message-entity wl-summary-buffer-elmo-folder
(wl-summary-message-number)))
(intern (downcase header)) 'string))
> old file: ./.emacs.d/elpa/wanderlust-20170627.2306/wl-summary.el
> new file: ./.emacs.d/elpa/wanderlust-20170627.2306/wl-summary-pristine.el
> 2173,2178c2173,2179
> < (save-excursion
> < (beginning-of-line)
> < (if (or (re-search-forward "\r\\(-?[0-9]+\\)" (point-at-eol) t)
> < (re-search-forward "^ *\\(-?[0-9]+\\)" (point-at-eol) t))
> < (string-to-number (wl-match-buffer 1))
> < nil)))
> ---
> > (with-current-buffer (get-buffer wl-summary-buffer-name)
> > (save-excursion
> > (beginning-of-line)
> > (if (or (re-search-forward "\r\\(-?[0-9]+\\)" (point-at-eol) t)
> > (re-search-forward "^ *\\(-?[0-9]+\\)" (point-at-eol) t))
> > (string-to-number (wl-match-buffer 1))
> > nil))))
wl-summary-message-number is designed to be called from summary
buffer. If you really need that change, caller should be fixed.
--
Kazuhiro Ito