From: Sean Whitton <spwhitton-PEZ64Ft4C9UnzZ6mRAm98g@public.gmane.org>
To: emacs-orgmode-mXXj517/zsQ@public.gmane.org,
Matthieu Lemerre <racin-GANU6spQydw@public.gmane.org>
Cc: notmuch-gxuj+Tv9EO5zyzON3hdc1g@public.gmane.org
Subject: Re: Bug: ol-notmuch.el: calls `notmuch-show' with arbitrary search query
Date: Tue, 26 Nov 2019 10:41:51 -0700 [thread overview]
Message-ID: <87y2w21qn4.fsf@iris.silentflame.com> (raw)
In-Reply-To: <87h82wrjvb.fsf-TDhmT+1V6bdypu2/aTzxt1aTQe2KTcn/@public.gmane.org>
Dear maintainers,
On Thu 21 Nov 2019 at 02:37PM -07, Sean Whitton wrote:
> The function `org-notmuch-follow-link' in {org,ol}-notmuch.el calls
> `notmuch-show' with an arbitrary notmuch search query. However, the
> docstring for `notmuch-show' specifies that a notmuch thread ID, rather
> than an arbitrary notmuch query, should be supplied to `notmuch-show'.
>
> The effect of this is that the variable `notmuch-show-thread-id' may
> contain an arbitrary search query rather than a thread ID. That broke
> some code of mine which uses that variable.
>
> `org-notmuch-follow-link' needs to continue to accept an arbitrary query
> (as notmuch thread IDs are not stable), but it should convert it to a
> thread ID before passing it to `notmuch-show'.
Here is my workaround. If this approach seems sensible I can prepare a
patch to `org-notmuch-follow-link` in ol-notmuch.el.
(use-package org-notmuch
:init
;; the default value for `org-notmuch-open-function' is
;; `org-notmuch-follow-link', but that function is broken: it calls
;; `notmuch-show' with a search query rather than a thread ID. This
;; causes `notmuch-show-thread-id' to be populated with a value
;; which is not a thread ID, which breaks various other things
;;
;; so use a custom function instead
(defun spw--org-notmuch-follow-link (search)
(let ((thread-id
(substring
(shell-command-to-string
(combine-and-quote-strings (list "notmuch" "search"
"--output=threads" "--limit=1"
"--format=text"
"--format-version=4" search)))
0 -1)))
(notmuch-show thread-id nil nil search search)))
(setq org-notmuch-open-function 'spw--org-notmuch-follow-link))
--
Sean Whitton
next prev parent reply other threads:[~2019-11-26 17:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-21 21:37 Bug: ol-notmuch.el: calls `notmuch-show' with arbitrary search query Sean Whitton
[not found] ` <87h82wrjvb.fsf-TDhmT+1V6bdypu2/aTzxt1aTQe2KTcn/@public.gmane.org>
2019-11-26 17:41 ` Sean Whitton [this message]
2019-11-26 19:17 ` racin
[not found] ` <1630223474.433436589.1574795847430.JavaMail.zimbra-GANU6spQydw@public.gmane.org>
2019-11-26 21:52 ` Sean Whitton
2019-11-26 20:05 ` David Edmondson
[not found] ` <m24kyq9ze8.fsf-zDQXUQW/Few@public.gmane.org>
2019-11-26 21:57 ` Sean Whitton
[not found] ` <87r21u1et3.fsf-TDhmT+1V6bdypu2/aTzxt1aTQe2KTcn/@public.gmane.org>
2019-11-26 22:52 ` David Edmondson
[not found] ` <m2zhgi8d2x.fsf-zDQXUQW/Few@public.gmane.org>
2019-11-26 23:25 ` Sean Whitton
[not found] ` <875zj61aqe.fsf-TDhmT+1V6bdypu2/aTzxt1aTQe2KTcn/@public.gmane.org>
2019-11-27 13:08 ` David Edmondson
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://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y2w21qn4.fsf@iris.silentflame.com \
--to=spwhitton-pez64ft4c9unzz6mram98g@public.gmane.org \
--cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \
--cc=notmuch-gxuj+Tv9EO5zyzON3hdc1g@public.gmane.org \
--cc=racin-GANU6spQydw@public.gmane.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).