[PATCH] emacs: Add `notmuch-show-stash-gmane' and `notmuch-show-stash-gmane-and-go'.
David Edmondson
dme at dme.org
Tue Jan 24 22:31:43 PST 2012
On Wed, 25 Jan 2012 01:50:08 +0100, Pieter Praet <pieter at praet.org> wrote:
> In a perfect world, everyone would be using Notmuch and have a local
> copy of every message ever sent to any ML. While we're waiting for
> Atlantis to resurface, we'll need an interim solution.
>
> +1 for the idea, but Gmane doesn't archive *all* MLs, so we should leave
> the user some legroom. Since I've already made the necessary changes,
> I'll just send the patch instead of wasting your time with suggestions.
> Feel free to merge it into yours.
This is definitely a good idea, but...
> Peace
>
> ---
> emacs/notmuch-show.el | 40 ++++++++++++++++++++++++++++++----------
> test/emacs | 2 +-
> 2 files changed, 31 insertions(+), 11 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index c4d45e7..7f209cd 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -123,6 +123,24 @@ indentation."
> (const :tag "View interactively"
> notmuch-show-interactively-view-part)))
>
> +(defcustom notmuch-show-stash-mlarchive-link-pref "http://mid.gmane.org/"
> + "Default Mailing List Archive to use when stashing links."
> + :group 'notmuch-show
> + ;; TODO: find a working `Message-Id' search arg for all options.
> + :type '(choice (const :tag "Gmane"
> + "http://mid.gmane.org/")
> + ;; (const :tag "MARC"
> + ;; "http://marc.info/")
> + (const :tag "Mail Archive, The"
> + "http://www.mail-archive.com/search?l=mid&q=")
> + ;; (const :tag "MarkMail"
> + ;; "http://markmail.org/")
> + ;; (const :tag "opensubscriber"
> + ;; "http://opensubscriber.com/")
> + ;; (const :tag "Nabble"
> + ;; "http://nabble.com/")
> + (string :tag "Custom URI")))
...do we not now how to reference messages by message-id on these other
services?
Your point about Gmane not having everything applies equally to any
service, suggesting that perhaps the user should also have an option to
choose which service to use at stash time. Thoughts?
> +
> (defmacro with-current-notmuch-show-message (&rest body)
> "Evaluate body with current buffer set to the text of current message"
> `(save-excursion
> @@ -1016,8 +1034,8 @@ thread id. If a prefix is given, crypto processing is toggled."
> (define-key map "s" 'notmuch-show-stash-subject)
> (define-key map "T" 'notmuch-show-stash-tags)
> (define-key map "t" 'notmuch-show-stash-to)
> - (define-key map "g" 'notmuch-show-stash-gmane)
> - (define-key map "G" 'notmuch-show-stash-gmane-and-go)
> + (define-key map "l" 'notmuch-show-stash-mlarchive-link)
> + (define-key map "L" 'notmuch-show-stash-mlarchive-link-and-go)
> map)
> "Submap for stash commands")
> (fset 'notmuch-show-stash-map notmuch-show-stash-map)
> @@ -1605,20 +1623,22 @@ buffer."
> (interactive)
> (notmuch-common-do-stash (notmuch-show-get-to)))
>
> -(defun notmuch-show-stash-gmane ()
> - "Copy a Gmane URI for the current message to the kill-ring.
> +(defun notmuch-show-stash-mlarchive-link ()
> + "Copy an ML Archive URI for the current message to the kill-ring.
>
> -This presumes that the message is available at Gmane."
> +This presumes that the message is available at the Mailing List Archive
> +configured in `notmuch-show-stash-mlarchive-link-pref'."
> (interactive)
> - (notmuch-common-do-stash (concat "http://mid.gmane.org/"
> + (notmuch-common-do-stash (concat notmuch-show-stash-mlarchive-link-pref
> (substring (notmuch-show-get-message-id) 4 -1))))
>
> -(defun notmuch-show-stash-gmane-and-go ()
> - "Copy a Gmane URI for the current message to the kill-ring and visit it.
> +(defun notmuch-show-stash-mlarchive-link-and-go ()
> + "Copy an ML Archive URI for the current message to the kill-ring and visit it.
>
> -This presumes that the message is available at Gmane."
> +This presumes that the message is available at the Mailing List Archive
> +configured in `notmuch-show-stash-mlarchive-link-pref'."
> (interactive)
> - (let ((uri (concat "http://mid.gmane.org/"
> + (let ((uri (concat notmuch-show-stash-mlarchive-link-pref
> (substring (notmuch-show-get-message-id) 4 -1))))
> (notmuch-common-do-stash uri)
> (browse-url uri)))
> diff --git a/test/emacs b/test/emacs
> index 5f7467d..4e08726 100755
> --- a/test/emacs
> +++ b/test/emacs
> @@ -382,7 +382,7 @@ test_emacs '(notmuch-show "id:\"bought\"")
> (notmuch-show-stash-message-id-stripped)
> (notmuch-show-stash-tags)
> (notmuch-show-stash-filename)
> - (notmuch-show-stash-gmane)
> + (notmuch-show-stash-mlarchive-link)
> (switch-to-buffer
> (generate-new-buffer "*test-stashing*"))
> (dotimes (i 10)
> --
> 1.7.8.1
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20120125/a8d9cc55/attachment.pgp>
More information about the notmuch
mailing list