[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Conversation View / org-wl-store-link Enhancements
At Mon, 23 Aug 2010 11:23:25 -0800,
Dave Abrahams wrote:
>
> On Mon, Aug 23, 2010 at 8:59 AM, Erik Hetzner <ehetzner@gmail.com> wrote:
> > At Sun, 22 Aug 2010 16:06:48 -0800,
> > David Abrahams wrote:
> >>
> >> At Sun, 22 Aug 2010 14:48:26 -0700,
> >> Erik Hetzner wrote:
> >> >
> >> > Thanks for debugging my code & my thinking! You are correct. I
> >> > assumed we needed to gather more references because my code wasn’t
> >> > working as expected, but it does seem we are not getting all
> >> > references from the msgdb.
> >> >
> >
> > (defvar egh:wl-summary-prev-folder-name nil)
> >
> > (defun egh:wl-summary-visit-conversation (&optional close)
> > (interactive "P")
> > (if close
> > (if egh:wl-summary-prev-folder-name
> > (wl-summary-goto-folder-subr egh:wl-summary-prev-folder-name
> > 'no-sync nil nil t)
> > (message "No previous folder to visit."))
> > (let (folder-name prev-folder-name)
> > (save-excursion
> > (setq prev-folder-name wl-summary-buffer-folder-name)
> > (wl-summary-set-message-buffer-or-redisplay)
> > (set-buffer (wl-message-get-original-buffer))
> > (let* ((ref (substring (car (split-string (or (std11-field-body "References")
> > (std11-field-body "Message-Id")))) 1 -1)))
> > (setq folder-name (concat "/message-id:\"" ref
> > "\"|references:\"" ref
> > "\"/" (egh:wl-all-folder)))))
> > (wl-summary-goto-folder-subr folder-name 'update nil nil t)
> > (setq egh:wl-summary-prev-folder-name prev-folder-name)
> > (make-local-variable 'egh:wl-summary-prev-folder-name))))
> >
> > (define-key wl-summary-mode-map "X" 'egh:wl-summary-visit-conversation)
I have made some significant enhancements to this, which you can view
at
http://github.com/dabrahams/elisp/commit/2153e812e470d95342889606ebcdf451d3b9223b#L0R740
In particular:
* wl-summary-visit-conversation now not only opens the thread, but
takes you to the current message in that Summary buffer.
* Used with a prefix argument, it will return you to the exact message
you were viewing.
* org-store-link, with the advice at
http://github.com/dabrahams/elisp/commit/2153e812e470d95342889606ebcdf451d3b9223b#L0R790
will store a link that takes you to the message in its thread
context.
--
Dave Abrahams
BoostPro Computing
http://www.boostpro.com