emacs-notmuch: notmuch-show-hook runs too early

classic Classic list List threaded Threaded
5 messages Options
yoctocell yoctocell
Reply | Threaded
Open this post in threaded view
|

emacs-notmuch: notmuch-show-hook runs too early


I am using a package called gnus-article-treat-patch[0] which colorizes
patches in emails. It works expected when I manually call
`ft/gnus-article-treat-patch' in a notmuch-show buffer, but it doesn't
work when I add it as a hook.

(add-hook 'notmuch-show-hook 'ft/gnus-article-treat-patch)

`notmuch-show-hook' seems to be called too early so
`ft/gnus-article-treat-patch' isn't able to read the contents of the
message and apply any highlighting.

I managed to get it to work with the following patch.

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 056c4e30..f9f3bdb1 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -1317,11 +1317,11 @@ If no messages match the query return NIL."
                                      (notmuch-sanitize
                                       (notmuch-show-strip-re
                                        (notmuch-show-get-subject)))))
-      (run-hooks 'notmuch-show-hook)
       (if state
          (notmuch-show-apply-state state)
        ;; With no state to apply, just go to the first message.
- (notmuch-show-goto-first-wanted-message)))
+ (notmuch-show-goto-first-wanted-message))
+      (run-hooks 'notmuch-show-hook))
     ;; Report back to the caller whether any messages matched.
     forest))

[0]: https://github.com/velkyel/gnus-article-treat-patch

--
yoctocell
8B88 2502 31D7 03B1 68BC  2691 3851 020D 7E61 BBC2

_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]

signature.asc (877 bytes) Download Attachment
David Bremner-2 David Bremner-2
Reply | Threaded
Open this post in threaded view
|

Re: emacs-notmuch: notmuch-show-hook runs too early

yoctocell <[hidden email]> writes:

> I am using a package called gnus-article-treat-patch[0] which colorizes
> patches in emails. It works expected when I manually call
> `ft/gnus-article-treat-patch' in a notmuch-show buffer, but it doesn't
> work when I add it as a hook.
>
> (add-hook 'notmuch-show-hook 'ft/gnus-article-treat-patch)
>
> `notmuch-show-hook' seems to be called too early so
> `ft/gnus-article-treat-patch' isn't able to read the contents of the
> message and apply any highlighting.
>
> I managed to get it to work with the following patch.

Can you have a look at

    https://nmbug.notmuchmail.org/nmweb/show/20210108184004.781702-3-dme%40dme.org

and see if that approach would work with you?

At first glance I am more in favour of adding a hook than changing the
semantics of an existing one.

d
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
yoctocell yoctocell
Reply | Threaded
Open this post in threaded view
|

Re: emacs-notmuch: notmuch-show-hook runs too early

On Fri, Jan 08 2021, David Bremner wrote:

> Can you have a look at
>
>     https://nmbug.notmuchmail.org/nmweb/show/20210108184004.781702-3-dme%40dme.org
>
> and see if that approach would work with you?
>
> At first glance I am more in favour of adding a hook than changing the
> semantics of an existing one.

I works as expected. Thanks for pointing this out!
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
David Edmondson David Edmondson
Reply | Threaded
Open this post in threaded view
|

Re: emacs-notmuch: notmuch-show-hook runs too early

In reply to this post by yoctocell
On Tuesday, 2021-01-05 at 09:45:52 +01, yoctocell wrote:

> I am using a package called gnus-article-treat-patch[0] which colorizes
> patches in emails. It works expected when I manually call
> `ft/gnus-article-treat-patch' in a notmuch-show buffer, but it doesn't
> work when I add it as a hook.

Is there a reason not to use notmuch-wash-convert-inline-patch-to-part?

It doesn't do quite as much (nothing for the header), but the patch
should be appropriately rendered.

> (add-hook 'notmuch-show-hook 'ft/gnus-article-treat-patch)
>
> `notmuch-show-hook' seems to be called too early so
> `ft/gnus-article-treat-patch' isn't able to read the contents of the
> message and apply any highlighting.
>
> I managed to get it to work with the following patch.
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 056c4e30..f9f3bdb1 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -1317,11 +1317,11 @@ If no messages match the query return NIL."
>      (notmuch-sanitize
>       (notmuch-show-strip-re
> (notmuch-show-get-subject)))))
> -      (run-hooks 'notmuch-show-hook)
>        (if state
>  (notmuch-show-apply-state state)
> ;; With no state to apply, just go to the first message.
> - (notmuch-show-goto-first-wanted-message)))
> + (notmuch-show-goto-first-wanted-message))
> +      (run-hooks 'notmuch-show-hook))
>      ;; Report back to the caller whether any messages matched.
>      forest))
>
> [0]: https://github.com/velkyel/gnus-article-treat-patch
>
> --
> yoctocell
> 8B88 2502 31D7 03B1 68BC  2691 3851 020D 7E61 BBC2
> _______________________________________________
> notmuch mailing list -- [hidden email]
> To unsubscribe send an email to [hidden email]

dme.
--
He caught a fleeting glimpse of a man, moving uphill pursued by a bus.
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]
yoctocell yoctocell
Reply | Threaded
Open this post in threaded view
|

Re: emacs-notmuch: notmuch-show-hook runs too early

On Fri, Jan 08 2021, David Edmondson wrote:

> Is there a reason not to use notmuch-wash-convert-inline-patch-to-part?

I wasn't aware if this function.  It seems to work great so I should
probably use this instead.  Thanks!
_______________________________________________
notmuch mailing list -- [hidden email]
To unsubscribe send an email to [hidden email]