[neomutt-users] index position changes unexpectedly

Brian Parent bparent at ucsd.edu
Sat Jun 6 01:48:00 CEST 2020


When going from an open message, back to the index, normally, the position in the index is that same message that was previously open.
However, if the index is limited (!~D ~r1/4-), AND if a new message arrives before going back to the index, the position in the index jumps to the first unread message in the limit.

This might be related to issue# 2223, but setting "check_new=no" doesn't help.  Nor does setting "check_mail=0".

The problem is reliably repeatable.

The problem began after I upgraded from 20180716 to NeoMutt 20200501-56-58e35d.

The neomutt -d5 output doesn't appear to be very helpful, at least not to me.

neomutt -d5 output, annotated...

Up to this point, I've limited the messages with "limit !~D ~r1/4-",
and opened a message to read so my display includes a few index lines, and a message below that,

Then a new message arrives, and the following debug output appears

	[2020-06-05 16:13:06]<2> mutt_socket_write_d() 7> a0016 NOOP
	[2020-06-05 16:13:06]<5> mutt_socket_readln_d() 7< * 3058 EXISTS
	[2020-06-05 16:13:06]<2> cmd_parse_exists() Handling EXISTS
	[2020-06-05 16:13:06]<2> cmd_parse_exists() New mail in INBOX - 3058 messages total
	[2020-06-05 16:13:06]<5> mutt_socket_readln_d() 7< a0016 OK Success
	[2020-06-05 16:13:06]<3> imap_cmd_step() IMAP queue drained
	[2020-06-05 16:13:06]<2> imap_cmd_finish() Fetching new mails from 3058 to 3058
	[2020-06-05 16:13:06]<3> mutt_buffer_mktemp_full() imap/message.c:1096: mutt_mktemp returns "/Users/bparent/tmp/neomutt-ucsd-502-29590-14225133563637335574"
	[2020-06-05 16:13:06]<4> mutt_progress_update() updating progress: 0
	[2020-06-05 16:13:06]<2> mutt_socket_write_d() 7> a0017 FETCH 3058:3058 (UID FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (DATE FROM SENDER SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES LIST-POST X-LABEL X-ORIGINAL-TO)])
	[2020-06-05 16:13:06]<4> mutt_progress_update() updating progress: 3058
	[2020-06-05 16:13:06]<5> mutt_socket_readln_d() 7< * 3058 FETCH (UID 179062 RFC822.SIZE 6818 INTERNALDATE "05-Jun-2020 23:12:56 +0000" FLAGS () BODY[HEADER.FIELDS (DATE FROM SENDER SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES LIST-POST X-LABEL X-ORIGINAL-TO)] {295}
	[2020-06-05 16:13:06]<3> cmd_parse_fetch() Handling FETCH
	[2020-06-05 16:13:06]<3> cmd_parse_fetch() Skipping FETCH response - MSN 3058 out of range
	[2020-06-05 16:13:06]<2> imap_read_literal() reading 295 bytes
	[2020-06-05 16:13:06]<3> imap_read_literal() 
	From: Brian Parent <bparentx at gmail.com>
	Date: Fri, 5 Jun 2020 16:12:42 -0700
	Message-ID: <CA+SVfxv3N_OP6MNBj4V1fCv9hUj+n-tBvMYavfu_iCekS3B2Qw at mail.gmail.com>
	Subject: test 7
	To: Brian Parent <bparent at ucsd.edu>
	Content-Type: multipart/alternative; boundary="000000000000a1aaa705a75e6636"

	[2020-06-05 16:13:06]<5> mutt_socket_readln_d() 7< )
	[2020-06-05 16:13:06]<2> parse_parameters() 'boundary="000000000000a1aaa705a75e6636"'
	[2020-06-05 16:13:06]<2> parse_parameters() parse_parameter: 'boundary' = '000000000000a1aaa705a75e6636'
	[2020-06-05 16:13:06]<5> mutt_socket_readln_d() 7< a0017 OK Success
	[2020-06-05 16:13:06]<3> imap_cmd_step() IMAP queue drained
	[2020-06-05 16:13:06]<M> mutt_sort_headers() Sorting mailbox...
	[2020-06-05 16:13:06]<M> mutt_pager() New mail in this mailbox
	[2020-06-05 16:13:21]<2> mutt_socket_write_d() 7> a0018 NOOP
	[2020-06-05 16:13:21]<5> mutt_socket_readln_d() 7< a0018 OK Success
	[2020-06-05 16:13:21]<3> imap_cmd_step() IMAP queue drained

This is the point after neomutt notifies me of new mail, and I leave the open message to go back to the index,
and the index is positioned at the first unread message in the limited index display, instead of the message that
was just closed.

	[2020-06-05 16:13:33]<1> mutt_pager() Got op OP_EXIT (100)
	[2020-06-05 16:13:33]<2> mutt_window_reflow() entering
	[2020-06-05 16:13:33]<M> mutt_sort_headers() Sorting mailbox...
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() #3 yes, bparent at ucsd.edu = bparent @ ucsd.edu
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() #3 yes, bparent at ucsd.edu = bparent @ ucsd.edu
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() #3 yes, bparent at ucsd.edu = bparent @ ucsd.edu
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	[2020-06-05 16:13:33]<5> mutt_addr_is_user() no, all failed
	...



	[calvin bparent ~] [16:13]: neomutt -v
	NeoMutt 20200501-56-58e35d
	Copyright (C) 1996-2016 Michael R. Elkins and others.
	NeoMutt comes with ABSOLUTELY NO WARRANTY; for details type 'neomutt -vv'.
	NeoMutt is free software, and you are welcome to redistribute it
	under certain conditions; type 'neomutt -vv' for details.

	System: Darwin 19.5.0 (x86_64)
	ncurses: ncurses 6.2.20200212 (compiled with 6.2.20200212)
	libiconv: 1.16
	libidn: 1.35 (compiled with 1.35)
	GPGME: 1.13.1-unknown
	GnuTLS: 3.6.13
	storage: kyotocabinet

	Configure options: --gnutls --gpgme --gss --sasl --kyotocabinet --disable-doc --prefix=/opt/local

	Compilation CFLAGS: -g -O2 -std=c99 -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D__EXTENSIONS__ -I/opt/local/include -DNCURSES_WIDECHAR

	Default options:
	  +attach_headers_color +compose_to_sender +compress +cond_date +debug 
	  +encrypt_to_self +forgotten_attachments +forwref +ifdef +imap +index_color 
	  +initials +limit_current_thread +multiple_fcc +nested_if +new_mail +nntp +pop 
	  +progress +quasi_delete +regcomp +reply_with_xorig +sensible_browser +sidebar 
	  +skip_quoted +smtp +status_color +timeout +tls_sni +trash 

	Compile options:
	  -autocrypt +bkgdset +color +curs_set +fcntl -flock -fmemopen +futimens 
	  +getaddrinfo +gnutls +gpgme +gss +hcache -homespool +idn -inotify 
	  -locales_hack -lua -lz4 +meta -mixmaster +nls -notmuch -openssl +pgp +regex 
	  +sasl +smime -sqlite +start_color +sun_attachment +typeahead -zlib -zstd 
	MAILPATH="/var/mail"
	PKGDATADIR="/opt/local/share/neomutt"
	SENDMAIL="/usr/sbin/sendmail"
	SYSCONFDIR="/opt/local/etc"

	To learn more about NeoMutt, visit: https://neomutt.org
	If you find a bug in NeoMutt, please raise an issue at:
	    https://github.com/neomutt/neomutt/issues
	or send an email to: <neomutt-devel at neomutt.org>



More information about the neomutt-users mailing list