unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* Selection bug
@ 2022-10-11 16:29 Justus Winter
  2022-10-11 16:43 ` David Bremner
  0 siblings, 1 reply; 8+ messages in thread
From: Justus Winter @ 2022-10-11 16:29 UTC (permalink / raw)
  To: notmuch


[-- Attachment #1.1.1: Type: text/plain, Size: 877 bytes --]

Moin,

there is a bug in notmuch emacs that is mildly annoying.  Sometimes when
I refresh my search buffer, and there are new mails, the topmost
(i.e. newest) message seems to be selected (i.e. with green background),
but in fact if i hit enter (or do any other state changing action like
tagging), notmuch emacs acts on the previously selected message.  There
is a visual clue to that, the block cursor is still on that previously
selected message.

Still, I think it is a bug, and because the green background dominates
the block cursor, I run into this all the time.

I'll attach a screenshot that shows the bug.

This is notmuch straight from Debian bookworm.

ii  elpa-notmuch   0.37-1       all          thread-based email index, search and tagging (emacs interface)
ii  notmuch        0.37-1       amd64        thread-based email index, search and tagging

Best,
Justus

[-- Attachment #1.1.2: The selection bug as it happens. --]
[-- Type: image/png, Size: 6944 bytes --]

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2022-10-11 16:29 Selection bug Justus Winter
@ 2022-10-11 16:43 ` David Bremner
  2022-10-12 12:19   ` Justus Winter
  0 siblings, 1 reply; 8+ messages in thread
From: David Bremner @ 2022-10-11 16:43 UTC (permalink / raw)
  To: Justus Winter, notmuch

Justus Winter <justus@sequoia-pgp.org> writes:

> there is a bug in notmuch emacs that is mildly annoying.  Sometimes when
> I refresh my search buffer, and there are new mails, the topmost
> (i.e. newest) message seems to be selected (i.e. with green background),
> but in fact if i hit enter (or do any other state changing action like
> tagging), notmuch emacs acts on the previously selected message.  There
> is a visual clue to that, the block cursor is still on that previously
> selected message.
>
> Still, I think it is a bug, and because the green background dominates
> the block cursor, I run into this all the time.

Hi Justus;

That should be hl-line-mode, not sure why it's not tracking your
cursor. Can you duplicate the issue in emacs -q? Also, what version of
emacs is this?

d

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2022-10-11 16:43 ` David Bremner
@ 2022-10-12 12:19   ` Justus Winter
  2022-10-14  9:45     ` David Bremner
  0 siblings, 1 reply; 8+ messages in thread
From: Justus Winter @ 2022-10-12 12:19 UTC (permalink / raw)
  To: David Bremner, notmuch


[-- Attachment #1.1.1: Type: text/plain, Size: 2142 bytes --]

Hi David :)

David Bremner <david@tethera.net> writes:

> Justus Winter <justus@sequoia-pgp.org> writes:
>
>> there is a bug in notmuch emacs that is mildly annoying.  Sometimes when
>> I refresh my search buffer, and there are new mails, the topmost
>> (i.e. newest) message seems to be selected (i.e. with green background),
>> but in fact if i hit enter (or do any other state changing action like
>> tagging), notmuch emacs acts on the previously selected message.  There
>> is a visual clue to that, the block cursor is still on that previously
>> selected message.
>>
>> Still, I think it is a bug, and because the green background dominates
>> the block cursor, I run into this all the time.
>
> That should be hl-line-mode, not sure why it's not tracking your
> cursor. Can you duplicate the issue in emacs -q? Also, what version of
> emacs is this?

This is emacs 27.1 from bookworm:

ii  emacs          1:27.1+1-3.1 all          GNU Emacs editor (metapackage)

emacs --version
GNU Emacs 27.1
Copyright (C) 2020 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

I think I found a reproducer:

mkdir -p /tmp/selection-bug/{tmp,new,cur}
echo "[database]
path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
# M-x notmuch-hello, search for '*'
notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
# refresh search buffer, press down once, i.e. navigate to "End of search results".
notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
notmuch show --format=raw id:8735buw7gf.fsf@ngraves.fr | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
# refresh search buffer, bug: Nicolas' mail is green, mine is opened on pressing enter.

Best,
Justus

[-- Attachment #1.1.2: selection-bug-reproducer.png --]
[-- Type: image/png, Size: 23996 bytes --]

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2022-10-12 12:19   ` Justus Winter
@ 2022-10-14  9:45     ` David Bremner
  2022-10-18 10:13       ` Justus Winter
  0 siblings, 1 reply; 8+ messages in thread
From: David Bremner @ 2022-10-14  9:45 UTC (permalink / raw)
  To: Justus Winter, notmuch

Justus Winter <justus@sequoia-pgp.org> writes:

> I think I found a reproducer:
>
> mkdir -p /tmp/selection-bug/{tmp,new,cur}
> echo "[database]
> path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
> # M-x notmuch-hello, search for '*'
> notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, press down once, i.e. navigate to "End of search results".
> notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> notmuch show --format=raw id:8735buw7gf.fsf@ngraves.fr | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, bug: Nicolas' mail is green, mine is opened on pressing enter.

1) Do you think the particular messages matter? I don't have
   id:8735buw7gf.fsf@ngraves.fr

2) Just to be clear, that script has to be run manually, with the
   comments corresponding to interactive actions in emacs?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2022-10-14  9:45     ` David Bremner
@ 2022-10-18 10:13       ` Justus Winter
  2023-04-04  9:41         ` Justus Winter
  2024-06-05 10:54         ` David Bremner
  0 siblings, 2 replies; 8+ messages in thread
From: Justus Winter @ 2022-10-18 10:13 UTC (permalink / raw)
  To: David Bremner, notmuch


[-- Attachment #1.1: Type: text/plain, Size: 3156 bytes --]

David Bremner <david@tethera.net> writes:

> Justus Winter <justus@sequoia-pgp.org> writes:
>
>> I think I found a reproducer:
>>
>> mkdir -p /tmp/selection-bug/{tmp,new,cur}
>> echo "[database]
>> path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
>> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
>> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
>> # M-x notmuch-hello, search for '*'
>> notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
>> # refresh search buffer, press down once, i.e. navigate to "End of search results".
>> notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
>> notmuch show --format=raw id:8735buw7gf.fsf@ngraves.fr | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
>> # refresh search buffer, bug: Nicolas' mail is green, mine is opened on pressing enter.
>
> 1) Do you think the particular messages matter? I don't have
>    id:8735buw7gf.fsf@ngraves.fr

Uh, you are right.  I meant to pick mails form notmuch@, but this one is
from another list.  I actually reduced the example further:

mkdir -p /tmp/selection-bug/{tmp,new,cur}
echo "[database]
path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
# M-x notmuch-hello, search for '*'
notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
# refresh search buffer, press down once, i.e. navigate to "End of search results".
notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
# refresh search buffer, bug: your mail is green, mine is opened on pressing enter.

(I.e., just drop Nicolas' mail.)

The bug can be seen even with just one mail, but then its impact is less
severe:

mkdir -p /tmp/selection-bug/{tmp,new,cur}
echo "[database]
path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
# M-x notmuch-hello, search for '*', press down once, i.e. navigate past the line "End of search results".
notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
# refresh search buffer, bug: your mail is green, but in fact "End of search results" is selected and is "acted upon" when pressing enter.

> 2) Just to be clear, that script has to be run manually, with the
>    comments corresponding to interactive actions in emacs?

Yes.

As additional data point, I cannot reproduce the problem on my Desktop
which has the same emacs version but uses elpa-notmuch 0.31.4-2.  On
this system, if I run the reproducer, there is no line with a green
background, so it is less misleading.

Best,
Justus

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2022-10-18 10:13       ` Justus Winter
@ 2023-04-04  9:41         ` Justus Winter
  2023-04-04 16:21           ` Carl Worth
  2024-06-05 10:54         ` David Bremner
  1 sibling, 1 reply; 8+ messages in thread
From: Justus Winter @ 2023-04-04  9:41 UTC (permalink / raw)
  To: David Bremner, notmuch


[-- Attachment #1.1: Type: text/plain, Size: 3386 bytes --]

Justus Winter <justus@sequoia-pgp.org> writes:

> David Bremner <david@tethera.net> writes:
>
>> Justus Winter <justus@sequoia-pgp.org> writes:
>>
>>> I think I found a reproducer:
>>>
>>> mkdir -p /tmp/selection-bug/{tmp,new,cur}
>>> echo "[database]
>>> path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
>>> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
>>> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
>>> # M-x notmuch-hello, search for '*'
>>> notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
>>> # refresh search buffer, press down once, i.e. navigate to "End of search results".
>>> notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
>>> notmuch show --format=raw id:8735buw7gf.fsf@ngraves.fr | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
>>> # refresh search buffer, bug: Nicolas' mail is green, mine is opened on pressing enter.
>>
>> 1) Do you think the particular messages matter? I don't have
>>    id:8735buw7gf.fsf@ngraves.fr
>
> Uh, you are right.  I meant to pick mails form notmuch@, but this one is
> from another list.  I actually reduced the example further:
>
> mkdir -p /tmp/selection-bug/{tmp,new,cur}
> echo "[database]
> path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
> # M-x notmuch-hello, search for '*'
> notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, press down once, i.e. navigate to "End of search results".
> notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, bug: your mail is green, mine is opened on pressing enter.
>
> (I.e., just drop Nicolas' mail.)
>
> The bug can be seen even with just one mail, but then its impact is less
> severe:
>
> mkdir -p /tmp/selection-bug/{tmp,new,cur}
> echo "[database]
> path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
> # M-x notmuch-hello, search for '*', press down once, i.e. navigate past the line "End of search results".
> notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, bug: your mail is green, but in fact "End of search results" is selected and is "acted upon" when pressing enter.
>
>> 2) Just to be clear, that script has to be run manually, with the
>>    comments corresponding to interactive actions in emacs?
>
> Yes.
>
> As additional data point, I cannot reproduce the problem on my Desktop
> which has the same emacs version but uses elpa-notmuch 0.31.4-2.  On
> this system, if I run the reproducer, there is no line with a green
> background, so it is less misleading.

My desktop now behaves exactly like my laptop, and it is really
annoying.  Surely I'm not the only one with this problem.  Can no one
else reproduce this?

Best,
Justus

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2023-04-04  9:41         ` Justus Winter
@ 2023-04-04 16:21           ` Carl Worth
  0 siblings, 0 replies; 8+ messages in thread
From: Carl Worth @ 2023-04-04 16:21 UTC (permalink / raw)
  To: Justus Winter, David Bremner, notmuch

On Tue, Apr 04 2023, Justus Winter wrote:
> My desktop now behaves exactly like my laptop, and it is really
> annoying.  Surely I'm not the only one with this problem.  Can no one
> else reproduce this?

I haven't tried using the reproduction test, but I did just refresh my
inbox and I saw the buggy behavior.

So there's a random anecdote which suggests it might not be that hard to
reproduce the bug, (perhaps doesn't require any special messages).

In my case, it's less annoying because I have more than a screenful of
messages in my inbox (for shame!) so the message with the green bar
isn't even visible when emacs' point is moved to the message that is
actually selected.

So if I hadn't been intentionally looking for this behavior I likely
would have never noticed.

-Carl

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Selection bug
  2022-10-18 10:13       ` Justus Winter
  2023-04-04  9:41         ` Justus Winter
@ 2024-06-05 10:54         ` David Bremner
  1 sibling, 0 replies; 8+ messages in thread
From: David Bremner @ 2024-06-05 10:54 UTC (permalink / raw)
  To: Justus Winter, notmuch

Justus Winter <justus@sequoia-pgp.org> writes:

> David Bremner <david@tethera.net> writes:
>
> Uh, you are right.  I meant to pick mails form notmuch@, but this one is
> from another list.  I actually reduced the example further:
>
> mkdir -p /tmp/selection-bug/{tmp,new,cur}
> echo "[database]
> path=/tmp/selection-bug" > /tmp/selection-bug/notmuch-config
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch new
> NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config emacs -q --eval "(require 'notmuch)"
> # M-x notmuch-hello, search for '*'
> notmuch show --format=raw id:87edvlanuh.fsf@tethera.net | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, press down once, i.e. navigate to "End of search results".
> notmuch show --format=raw id:87fsfuuxwn.fsf@thinkbox | NOTMUCH_CONFIG=/tmp/selection-bug/notmuch-config notmuch insert
> # refresh search buffer, bug: your mail is green, mine is opened on pressing enter

This reproduces the problem for me. Indeed it looks a bit like a similar
"cursor jumping" problem I have seen (and someone else has reported on
IRC). I will see if I can figure anything more out now that I have a
reproducer.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-06-05 10:54 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-11 16:29 Selection bug Justus Winter
2022-10-11 16:43 ` David Bremner
2022-10-12 12:19   ` Justus Winter
2022-10-14  9:45     ` David Bremner
2022-10-18 10:13       ` Justus Winter
2023-04-04  9:41         ` Justus Winter
2023-04-04 16:21           ` Carl Worth
2024-06-05 10:54         ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.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).