From: Kyle Meyer <email@example.com> To: Xinglu Chen <firstname.lastname@example.org> Cc: email@example.com Subject: Re: [PATCH] notmuch: Configure mailing list archive links Date: Fri, 05 Feb 2021 23:54:09 -0500 Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> Xinglu Chen writes: > This adds an entry to `notmuch-show-stash-ml-archive-link-alist` that > reads the `piem-inboxes` variable and returns the public-inbox archive > url. This means that users don't have to manually add public-inbox > archive urls to `notmuch-show-stash-ml-archive-link-alist`. Nice idea. I regularly use notmuch-show-stash-mlarchive-link with public-inbox targets and will happily drop my manual entries :) I've considered something related in the past: adding a command in the piem-dispatch transient that essentially does (when-let ((inbox (piem-inbox))) (kill-new (message "%s" (concat (piem--ensure-trailing-slash (piem-inbox-get :url inbox)) (piem-escape-mid (or (piem-mid) (user-error "No message ID found for the current buffer"))))))) In notmuch, I'm already too accustomed to using notmuch-show-stash-mlarchive-link (and more generally notmuch-show-stash-map), but I think I'd occasionally find the above useful in Gnus. Hmm, perhaps I'll add such a command this weekend, along with a section in the manual where we can mention it as well as the notmuch-show-stash-mlarchive-link support added by this patch. > diff --git a/piem-notmuch.el b/piem-notmuch.el > index 5c0cd62..52d9198 100644 > --- a/piem-notmuch.el > +++ b/piem-notmuch.el > @@ -106,6 +106,13 @@ (defun piem-notmuch-am-ready-mbox () > (insert patch))) > "mbox")))))) > > +(defun piem-notmuch-show-get-public-inbox-link (mid) > + "Given the message-id MID, return the public-inbox url. > +This will lookup the url in the `piem-inboxes' variable." > + (let* ((inbox (piem-inbox-by-header-match)) > + (link (piem-inbox-get :url inbox))) > + (concat link mid))) This will usually work, but * mid should be escaped with piem-escape-mid. * piem-inbox-by-header-match should be executed within piem-notmuch--with-current-message so that it can match against the full set of headers (which is important for matching the list ID). Better yet, just use piem-notmuch-get-inbox, which already does that. * What about in cases where there is no inbox/url? Right now it would just return the plain message ID. Should it signal a user-error instead? > + > ;;;###autoload > (define-minor-mode piem-notmuch-mode > "Toggle Notmuch support for piem. > @@ -119,11 +126,18 @@ (define-minor-mode piem-notmuch-mode > (add-hook 'piem-am-ready-mbox-functions #'piem-notmuch-am-ready-mbox) > (add-hook 'piem-get-inbox-functions #'piem-notmuch-get-inbox) > (add-hook 'piem-get-mid-functions #'piem-notmuch-get-mid) > - (add-hook 'piem-mid-to-thread-functions #'piem-notmuch-mid-to-thread)) > + (add-hook 'piem-mid-to-thread-functions #'piem-notmuch-mid-to-thread) > + (add-to-list 'notmuch-show-stash-mlarchive-link-alist > + '("piem" . piem-notmuch-show-get-public-inbox-link)) > + (setq notmuch-show-stash-mlarchive-link-default "piem")) I'd rather not override the user's notmuch-show-stash-mlarchive-link-default setting (even if we were to only do so for the default value of "Gmane", which we know is nonfunctional and not likely coming back at this point). Instead, how about just mentioning notmuch-show-stash-mlarchive-link support in piem-notmuch-mode's docstring along with a suggestion to set notmuch-show-stash-mlarchive-link-default to "piem"?
next prev parent reply other threads:[~2021-02-06 4:54 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-05 17:10 Xinglu Chen 2021-02-06 4:54 ` Kyle Meyer [this message] 2021-02-06 8:07 ` Xinglu Chen 2021-02-06 8:44 ` [PATCH v2] " Xinglu Chen 2021-02-06 15:58 ` Kyle Meyer 2021-02-06 16:17 ` Xinglu Chen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://git.kyleam.com/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: [PATCH] notmuch: Configure mailing list archive links' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
discussion and development of piem This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.kyleam.com/piem/0 piem/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 piem piem/ https://inbox.kyleam.com/piem \ firstname.lastname@example.org public-inbox-index piem Example config snippet for mirrors. Newsgroup available over NNTP: nntp://news.yhetil.org/yhetil.emacs.piem code repositories for project(s) associated with this inbox: https://git.kyleam.com/piem/ AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git