[neomutt-users] "mutt -e <command>" does not do as documented

Floyd Anderson f.a at 31c0.net
Mon Jun 5 10:43:17 CEST 2017

On So, 04 Jun 22:02:59 -0400
Xu Wang <xuwang762 at gmail.com> wrote:
>I'm using NeoMutt 20170428 (1.8.2).
>The documentation for -e is:
>    Specify a configuration command to be run after processing of
>initialization files.
>But contrary to said phrase, I find the command is not executed after
>(maybe it is executed before?). Here is an example.
>In your .muttrc, put the following:
>push <first-entry>
>Then run the following command:
>mutt -e "push <last-entry>"
>I find that the first entry is selected.
>Does others reproduce and think this is a bug or documentation failure?
>Kind regards,

Hello Xu,

I can confirm your experience related to your example of jumping with 
mutt-1.8.2, neomutt-1.8.2 and neomutt-1.8.3 so far.

But using other examples:
    $ echo -e 'lua mutt.print("hello from mutt.rc")\n' > /tmp/mutt-test.rc
    $ mutt -F /tmp/mutt-test.rc -e 'lua mutt.print("hello from cmdline")' -B
prints out in the right order:
    $ hello from mutt.rc
    $ hello from cmdline

Also variable initialisation like:
    $ echo -e 'set my_dummyvar = "hello from mutt.rc"\n' > /tmp/mutt-test.rc
    $ mutt -F /tmp/mutt-test.rc -e 'set my_dummyvar = "hello from cmdline"'
and executing within Mutt/NeoMutt:
    set ?my_dummyvar
displays the expected result:
    my_dummyvar="hello from cmdline"

So your described behaviour seems specific to moving/jumping around.


More information about the neomutt-users mailing list