Re: Bug? notmuch-emacs: "All tags" in notmuch-hello does not show all tags

Subject: Re: Bug? notmuch-emacs: "All tags" in notmuch-hello does not show all tags

Date: Sun, 22 Apr 2018 11:52:17 +0300

To: Gregor Zattler, Notmuch Mail

Cc:

From: Tomi Ollila


On Sun, Apr 22 2018, Gregor Zattler wrote:

> Hi Tomi, notmuch-emacs developers,
> * Tomi Ollila <tomi.ollila@iki.fi> [2018-04-21; 20:38]:
> [...]
>> That doesn't mean there could not be a bug there, just
>> that I cannot reproduce it...
>
> Thanks for your investigation.
>
> I now prepared a minimal example, please extract the archive in
> /tmp.  It contains a quite minmalistic .notmuch-config, a Maildir
> with one email and a test script which runs notmuch new, notmuch
> tag, starts emacs with no configuration and hopefully shows
> notmuch-hello.[1] Please klick on "show", you'll see only one
> tag: "spam", klick on "spam" you'll see this one email shown with
> its four (!) tags: "inbox", "new" and "certaintag" are not shown
> in "All tags".
>
> At least this is what I see with emacs25 and emacs27 and current
> notmuch.
>
> Do you see the same?


Yes, I can reproduce -- only "spam" is seen

To look what happened I ran (in notmuch source dir):

$ NOTMUCH_CONFIG=/tmp/.notmuch-config strace -f -e trace=execve,read,write -o ttt ./devel/try-emacs-mua -Q

based on that output:

$ NOTMUCH_CONFIG=/tmp/.notmuch-config notmuch search --output=tags '*'
certaintag
inbox
new
spam

$ NOTMUCH_CONFIG=/tmp/.notmuch-config notmuch count --batch
tag:certaintag
0
tag:new
0
tag:spam
1
tag:inbox
0
tag:foobar
0

NOTMUCH_CONFIG=/tmp/.notmuch-config notmuch count --batch --exclude=false
tag:certaintag
1
tag:new
1
tag:spam
1
tag:inbox
1

1
tag:foobar
0

So, currently, whenever count is zero, the tag is now shown in all tags
listing (but we know we have the tag since queried earlier). But, at least
in this case we should get real count and have that '--exclude=false' there,
and then the count is always positive number.

At least some SMOP is required to get this fixed.

Tomi

>
>
> Thanks for investing time in this issue.  Regards, gregor
>
> [1] The script tries to guess your notmuch/emacs source path as
> load-path for emacs.  If this fails please edit the emacs
> invocation according to your local setup
> [database]
> path=/tmp/Mail
>
> [user]
> name=Test User
> primary_email=test@example.org
> other_email=
>
> [new]
> tags=new;unread;inbox;
>
> [search]
> exclude_tags=deleted;spam;
>
> [maildir]
> synchronize_flags=true
>
> From: test@example.org
> To: test@example.org
> Subject: test single tag and tag +spam
> Message-ID: <test23@example.com>
>
> Look an email!
> #!/bin/bash
>
> export NOTMUCH_CONFIG=/tmp/.notmuch-config
> notmuch new
> notmuch tag +spam +certaintag -- mid:test23@example.com
> emacs -L "$(locate notmuch/emacs/notmuch.el | head -n 1 | sed -e 's/notmuch.el//')" -Q --eval "(require 'notmuch)" -f notmuch-hello
_______________________________________________
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch

Thread: