Gnus development mailing list
 help / color / mirror / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: ding@gnus.org
Subject: Re: Does Gnus automatically run 'notmuch new' if configured?
Date: Fri, 25 Sep 2020 11:45:52 -0700	[thread overview]
Message-ID: <87mu1ditjz.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <m28scxn3zf.fsf@codeisgreat.org>

Pankaj Jangid <pankaj@codeisgreat.org> writes:

> On Fri, Sep 25 2020, Eric Abrahamsen wrote:
>
>> Ahem, I may have led you astray with `async-shell-command', which is
>> mostly meant to be called interactively -- in which case you usually
>> want to see the output. In lisp code that runs in the background,
>> you're better off using `start-process', where you can tell it not to
>> keep the output:
>
> I had explored a little bit of `start-process` and `call-process` when I
> was reading help on `async-shell-comman`. But then I thought these are
> low level methods and I don't need that much control.
>
>> (start-process "unnecessary label" nil "/path/to/notmuch" '("new"))
>
> This is nice. I am using this now. Just a correction. Last argument is
> not list. List was giving error. I am using below code,
>
> (start-process "notmuch" "*Notmuch*" "notmuch" "new")

Oops, sorry!

[...]

>> which hook is best for the purpose? Currently I am using
>> `gnus-after-getting-new-news-hook`. But that is run only when I press
>> `g` (gnus-group-get-new-news). It seems that the hook is not invoked
>> when I start Gnus.
>
> Hm. That seems like a bug to me - I would expect it to fire after
> getting new news, regardless of whether it was fetched by startup or by
> explicit action.
>
> You could advice M-x gnus to run notmuch after startup:
>
> (defadvice gnus (after gnus-notmuch-new activate)
> (your-run-notmuch-new-function))
>
> in addition to the hook.
>
> But it still feels wrong that the hook doesn't fire - doesn't it?

It is weird, but the code is very clear: startup runs
`gnus-get-unread-articles' directly, and the hook isn't run there. "g"
in the group buffer runs `gnus-group-get-new-news', which first calls
`gnus-get-unread-articles', then runs the hook.

You could certainly argue that that's weird, but that's how it currently
works.

Rather than an advice, I would just add your function to the
`gnus-startup-hook', as well.

Eric



  parent reply	other threads:[~2020-09-25 18:46 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-24  8:32 Pankaj Jangid
2020-09-24 16:42 ` Eric Abrahamsen
2020-09-24 17:55 ` Adam Sjøgren
2020-09-25  4:00   ` Pankaj Jangid
2020-09-25  6:05     ` Eric Abrahamsen
2020-09-25  7:51       ` Pankaj Jangid
2020-09-25  8:09   ` Eric S Fraga
2020-09-25  9:31     ` Adam Sjøgren
2020-09-25 14:44       ` Pankaj Jangid
2020-09-25 16:31         ` Eric Abrahamsen
2020-09-25 17:47           ` Pankaj Jangid
2020-09-25 18:16             ` Adam Sjøgren
2020-09-25 18:45             ` Eric Abrahamsen [this message]
2020-09-25 18:52               ` Adam Sjøgren
2020-09-26  1:29               ` Pankaj Jangid
2020-09-26 11:48                 ` Adam Sjøgren
2020-09-26 17:08                   ` Pankaj Jangid
2020-09-25 18:25       ` Adam Sjøgren

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mu1ditjz.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=ding@gnus.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.
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 NNTP newsgroup(s).