[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Conversation View / org-wl-store-link Enhancements



At Sat, 02 Oct 2010 20:58:12 -0400,
David Abrahams wrote:
> 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.

Hi David,

Thanks, these are great! I have added a few new changes myself to
yours:

* fix a problem with 'no-sync being passed to
wl-summary-goto-folder-subr; this is fast but when the previous
summary was not sticky it needs an update. If we keep track of the
sticky state of the previous summary we can use 'no-sync if possible
but 'update if necessary.

* allow multiple all folders via a wl-all-folder-alist which consists
of regexes and folders. If you are in a summary buffer then it tries
each regex against the current folder name & returns all the cdrs of
the matched alists. The search function then uses multi folders if
there are multiple matching all folders.

(This was needed for me because I have a “work” all folder and a
“home” all folder.)

I also added a wl-open-message-view function to help out with an
org-mode feature (see below).

I added a wl-conversation.el file to my new-imap4-search branch:

  http://github.com/egh/wanderlust/tree/new-imap4-search

Regarding org-mode, I am going to propose to the org-mode list a mid:
link (similar to RFC 2392). It has always kind of bothered me that org
mode mail links are tied to a folder & a mail reader. 

Wouldn’t it be better if we could use:

  [[mid:m2pqvs5byz.wl%dave@boostpro.com][Email from David Abrahams: Conversation View / org-wl-sto]]

instead? Here is a starting point, based on your code;

(defadvice org-wl-store-link-message (after org-wl-store-link activate protect)
  (if (string= (substring ad-return-value 0 3) "wl:")
      (let* ((thread-location (wl-current-thread-location))
             (message-id-no-brackets (org-remove-angle-brackets (car thread-location)))
             (link (org-make-link "mid:" message-id-no-brackets)))
        (org-add-link-props :link link)
        (setq ad-return-value link)
    )))

(defun org-wl-capture ())
  
(org-add-link-type "mid" 'org-mid-open)

(defun org-mid-open (path)
  "Follow the MID link specified by PATH."
  (wl-open-message-view  (concat "<" path ">")))

best, Erik

Attachment: pgpO3S6U_IuX7.pgp
Description: PGP signature