Re: [Mutt] #1860: Ctrl+C misbehaviour in input-line
#1860: Ctrl+C misbehaviour in input-line
----------------------------------+-----------------------------------------
Reporter: gintautas.m@â | Owner: mutt-dev
Type: defect | Status: assigned
Priority: minor | Milestone:
Component: mutt | Version: 1.5.5.1+cvs20040105i
Keywords: patch |
----------------------------------+-----------------------------------------
Description changed by brendan:
Old description:
> {{{
> Package: mutt
> Version: 1.5.5.1-200401
> Severity: normal
>
> -- Please type your report below this line
>
> Mutt behaves oddly in entry mode - by entry mode I mean the one where you
> can
> enter text to the line at the bottom of the screen (e.g. after pressing
> ':'
> or 'm' or many other commands) - when I use Escape and then <Ctrl+C>.
>
> Let me explain by example; try typing in these keystrokes:
> mfoo<Esc><Ctrl+C>nbar
> You will see that you are still in entry mode, but the label 'To: ' is
> not
> visible any more and the 'b' has been interpreted as <Esc>b or C-b
> meaning "go
> to start of the line".
>
> I think Ctrl+C should abort text entry in this case because that's what
> it does
> when <Esc> is not involved.
>
> -- System Information
> System Version: Linux gintm 2.6.5 #3 Sat Apr 17 01:27:20 EEST 2004 i686
> GNU/Linux
>
> -- Build environment information
>
> (Note: This is the build environment installed on the system
> muttbug is run on. Information may or may not match the environment
> used to build mutt.)
>
> - gcc version information
> cc
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs
> Configured with: ../src/configure -v --enable-
> languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
> --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-
> dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls
> --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu
> --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-
> objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.3 (Debian 20040401)
>
> - CFLAGS
> -Wall -pedantic -g -O2
>
> -- Mutt Version Information
>
> Mutt 1.5.5.1+cvs20040105i (2003-11-05)
> Copyright (C) 1996-2002 Michael R. Elkins and others.
> Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
> Mutt is free software, and you are welcome to redistribute it
> under certain conditions; type `mutt -vv' for details.
>
> System: Linux 2.6.5 (i686) [using ncurses 5.3] [using libidn 0.4.1
> (compiled with 0.3.4)]
> Compile options:
> -DOMAIN
> -DEBUG
> -HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE
> +USE_FCNTL -USE_FLOCK
> +USE_POP +USE_IMAP +IMAP_EDIT_THREADS -USE_GSS -USE_SSL +USE_GNUTLS
> +USE_SASL +USE_SASL2
> +HAVE_REGCOMP -USE_GNU_REGEX
> +HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
> +HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
> +CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME
> -CRYPT_BACKEND_GPGME -BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT
> +ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS
> +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
> +HAVE_ICONV -ICONV_NONTRANS +HAVE_LIBIDN +HAVE_GETSID
> +HAVE_GETADDRINFO
> ISPELL="/usr/bin/ispell"
> SENDMAIL="/usr/sbin/sendmail"
> MAILPATH="/var/mail"
> PKGDATADIR="/usr/share/mutt"
> SYSCONFDIR="/etc"
> EXECSHELL="/bin/sh"
> MIXMASTER="mixmaster"
> To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
> To report a bug, please use the flea(1) utility.
>
> patch-1.5.5.1.tt.compat.1-cl
> patch-1.5.4.vk.pgp_verbose_mime
> patch-1.5.3.rr.compressed.1
> patch-1.5.4.helmersson.incomplete_multibyte
> patch-1.5.4.fw.maildir_inode_sort
> patch-1.3.23.1.ametzler.pgp_good_sign
> patch-1.5.3.Md.gpg_status_fd
> patch-1.4.Md.gpg-agent
> patch-1.5.3.Md.etc_mailname_gethostbyname
> patch-1.5.1.cd.edit_threads.9.2
> patch-1.3.27.bse.xtitles.1
> Md.use_debian_editor
> Md.muttbug
> patch-1.4.admcd.gnutlsdlopen.53d
> patch-1.4.admcd.gnutlsbuild.53d
> patch-1.4.admcd.gnutls.56d
>
> --- Begin /home/gintas/.muttrc
> set mbox_type=Maildir
> set spoolfile=+Local
> set move=no
> set mark_old=no
> set beep=no
> unset wait_key
> set envelope_from=yes
> set sort=threads
> set sort_aux=date-sent
> set ignore_list_reply_to
> hdr_order From From: To: Cc: Subject: Date: X-Note: X-Mailer: User-Agent:
> Content-Type:
> ignore *
> unignore From: To: Cc: Subject: X-Mailer: User-Agent:
> set mailcap_path="~/.mutt/mailcap"
> auto_view text/html
> alternative_order text/enriched text/plain text text/html
> set index_format="%4C %Z %{%b %d %H:%M} %-20.20L %s"
> set pager_index_lines=8
> set pager_stop
> set tilde
> set include=yes
> set reverse_alias
> set editor="vim '+set expandtab' '+set textwidth=72'"
> set attribution="Hello,\n"
> set edit_headers=yes
> charset-hook windows-1257 cp1257
> set allow_8bit
> set send_charset="us-ascii:iso-8859-1:windows-1257:utf-8"
> set tmpdir="~/tmp"
> set signature="~/.mutt/signature"
> set sig_dashes=yes
> set postponed=+postponed
> set record=+sent
> set save_name=no
> source "~/.mutt/aliases"
> source "~/.mutt/lists"
> source "~/.mutt/hooks"
> source "~/.mutt/mboxes"
> source "~/.mutt/colors"
> source "~/.mutt/keys"
> source "~/.mutt/gpg"
> --- End /home/gintas/.muttrc
>
> --- Begin /etc/Muttrc
> ignore "from " received content- mime-version status x-status message-id
> ignore sender references return-path lines
> ignore date delivered-to precedence errors-to in-reply-to user-agent
> ignore x-loop x-sender x-mailer x-msmail-priority x-mimeole x-priority
> ignore x-accept-language x-authentication-warning thread- priority
> bind editor "\e<delete>" kill-word
> bind editor "\e<backspace>" kill-word
> bind editor <delete> delete-char
> unset use_domain
> unset use_from
> set sort=threads
> unset write_bcc
> unset bounce_delivered
> macro index \eb '/~b ' 'search in message bodies'
> macro index \cb |urlview\n 'call urlview to extract URLs out of a
> message'
> macro pager \cb |urlview\n 'call urlview to extract URLs out of a
> message'
> set pipe_decode
> macro generic <f1> "!zcat /usr/share/doc/mutt/manual.txt.gz | sensible-
> pager\n" "Show Mutt documentation"
> macro index <f1> "!zcat /usr/share/doc/mutt/manual.txt.gz | sensible-
> pager\n" "Show Mutt documentation"
> macro pager <f1> "!zcat /usr/share/doc/mutt/manual.txt.gz | sensible-
> pager\n" "Show Mutt documentation"
> open-hook \\.gz$ "gzip -cd %f > %t"
> close-hook \\.gz$ "gzip -c %t > %f"
> append-hook \\.gz$ "gzip -c %t >> %f"
> open-hook \\.bz2$ "bzip2 -cd %f > %t"
> close-hook \\.bz2$ "bzip2 -c %t > %f"
> append-hook \\.bz2$ "bzip2 -c %t >> %f"
> color normal white black
> color attachment brightyellow black
> color hdrdefault cyan black
> color indicator black cyan
> color markers brightred black
> color quoted green black
> color signature cyan black
> color status brightgreen blue
> color tilde blue black
> color tree red black
> set pgp_decode_command="gpg --charset utf-8 --status-fd=2 %?p
> ?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
> set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch
> --output - --verify %s %f"
> set pgp_decrypt_command="gpg --status-fd=2 --passphrase-fd 0 --no-
> verbose --quiet --batch --output - %f"
> set pgp_sign_command="gpg --no-verbose --batch --quiet --output -
> --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
> set pgp_clearsign_command="gpg --charset utf-8 --no-verbose --batch
> --quiet --output - --passphrase-fd 0 --armor --textmode --clearsign
> %?a?-u %a? %f"
> set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg --charset utf-8
> --batch --quiet --no-verbose --output - --encrypt --textmode --armor
> --always-trust -- -r %r -- %f"
> set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg --charset utf-8
> --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output -
> --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
> set pgp_import_command="gpg --no-verbose --import %f"
> set pgp_export_command="gpg --no-verbose --export --armor %k"
> set pgp_verify_key_command="gpg --verbose --batch --fingerprint
> --check-sigs %r"
> set pgp_list_pubring_command="gpg --no-verbose --batch --quiet
> --with-colons --list-keys %k"
> set pgp_list_secring_command="gpg --no-verbose --batch --quiet
> --with-colons --list-secret-keys %k"
> set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
> set smime_ca_location="~/.smime/ca-bundle.crt"
> set smime_certificates="~/.smime/certificates"
> set smime_keys="~/.smime/keys"
> set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out"
> set smime_get_cert_command="openssl pkcs7 -print_certs -in %f"
> set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify
> -signer %c -out /dev/null"
> set smime_get_cert_email_command="openssl x509 -in %f -noout -email"
> set smime_import_cert_command="smime_keys add_cert %f"
> set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f
> %c"
> set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin
> stdin -in %f -certfile %i -outform DER"
> set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform
> DER -in %f -inkey %k -recip %c"
> set smime_verify_command="openssl smime -verify -inform DER -in %s %C
> -content %f"
> set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s
> %C"
> --- End /etc/Muttrc
>
>
> >How-To-Repeat:
> >Fix:
> }}}
New description:
Mutt behaves oddly in entry mode - by entry mode I mean the one where you
can
enter text to the line at the bottom of the screen (e.g. after pressing
':'
or 'm' or many other commands) - when I use Escape and then <Ctrl+C>.
Let me explain by example; try typing in these keystrokes:
mfoo<Esc><Ctrl+C>nbar
You will see that you are still in entry mode, but the label 'To: ' is not
visible any more and the 'b' has been interpreted as <Esc>b or C-b meaning
"go
to start of the line".
I think Ctrl+C should abort text entry in this case because that's what it
does
when <Esc> is not involved.
{{{
- gcc version information
cc
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs
Configured with: ../src/configure -v --enable-
languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-
dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls
--without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu
--enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-
objc-gc i486-linux
Thread model: posix
gcc version 3.3.3 (Debian 20040401)
- CFLAGS
-Wall -pedantic -g -O2
-- Mutt Version Information
Mutt 1.5.5.1+cvs20040105i (2003-11-05)
Copyright (C) 1996-2002 Michael R. Elkins and others.
Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
Mutt is free software, and you are welcome to redistribute it
under certain conditions; type `mutt -vv' for details.
System: Linux 2.6.5 (i686) [using ncurses 5.3] [using libidn 0.4.1
(compiled with 0.3.4)]
Compile options:
-DOMAIN
-DEBUG
-HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE
+USE_FCNTL -USE_FLOCK
+USE_POP +USE_IMAP +IMAP_EDIT_THREADS -USE_GSS -USE_SSL +USE_GNUTLS
+USE_SASL +USE_SASL2
+HAVE_REGCOMP -USE_GNU_REGEX
+HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET
+HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM
+CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME
-CRYPT_BACKEND_GPGME -BUFFY_SIZE -EXACT_ADDRESS -SUN_ATTACHMENT
+ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS
+HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR
+HAVE_ICONV -ICONV_NONTRANS +HAVE_LIBIDN +HAVE_GETSID
+HAVE_GETADDRINFO
ISPELL="/usr/bin/ispell"
SENDMAIL="/usr/sbin/sendmail"
MAILPATH="/var/mail"
PKGDATADIR="/usr/share/mutt"
SYSCONFDIR="/etc"
EXECSHELL="/bin/sh"
MIXMASTER="mixmaster"
To contact the developers, please mail to <mutt-dev@xxxxxxxx>.
To report a bug, please use the flea(1) utility.
patch-1.5.5.1.tt.compat.1-cl
patch-1.5.4.vk.pgp_verbose_mime
patch-1.5.3.rr.compressed.1
patch-1.5.4.helmersson.incomplete_multibyte
patch-1.5.4.fw.maildir_inode_sort
patch-1.3.23.1.ametzler.pgp_good_sign
patch-1.5.3.Md.gpg_status_fd
patch-1.4.Md.gpg-agent
patch-1.5.3.Md.etc_mailname_gethostbyname
patch-1.5.1.cd.edit_threads.9.2
patch-1.3.27.bse.xtitles.1
Md.use_debian_editor
Md.muttbug
patch-1.4.admcd.gnutlsdlopen.53d
patch-1.4.admcd.gnutlsbuild.53d
patch-1.4.admcd.gnutls.56d
--- Begin /home/gintas/.muttrc
set mbox_type=Maildir
set spoolfile=+Local
set move=no
set mark_old=no
set beep=no
unset wait_key
set envelope_from=yes
set sort=threads
set sort_aux=date-sent
set ignore_list_reply_to
hdr_order From From: To: Cc: Subject: Date: X-Note: X-Mailer: User-Agent:
Content-Type:
ignore *
unignore From: To: Cc: Subject: X-Mailer: User-Agent:
set mailcap_path="~/.mutt/mailcap"
auto_view text/html
alternative_order text/enriched text/plain text text/html
set index_format="%4C %Z %{%b %d %H:%M} %-20.20L %s"
set pager_index_lines=8
set pager_stop
set tilde
set include=yes
set reverse_alias
set editor="vim '+set expandtab' '+set textwidth=72'"
set attribution="Hello,\n"
set edit_headers=yes
charset-hook windows-1257 cp1257
set allow_8bit
set send_charset="us-ascii:iso-8859-1:windows-1257:utf-8"
set tmpdir="~/tmp"
set signature="~/.mutt/signature"
set sig_dashes=yes
set postponed=+postponed
set record=+sent
set save_name=no
source "~/.mutt/aliases"
source "~/.mutt/lists"
source "~/.mutt/hooks"
source "~/.mutt/mboxes"
source "~/.mutt/colors"
source "~/.mutt/keys"
source "~/.mutt/gpg"
--- End /home/gintas/.muttrc
--- Begin /etc/Muttrc
ignore "from " received content- mime-version status x-status message-id
ignore sender references return-path lines
ignore date delivered-to precedence errors-to in-reply-to user-agent
ignore x-loop x-sender x-mailer x-msmail-priority x-mimeole x-priority
ignore x-accept-language x-authentication-warning thread- priority
bind editor "\e<delete>" kill-word
bind editor "\e<backspace>" kill-word
bind editor <delete> delete-char
unset use_domain
unset use_from
set sort=threads
unset write_bcc
unset bounce_delivered
macro index \eb '/~b ' 'search in message bodies'
macro index \cb |urlview\n 'call urlview to extract URLs out of a message'
macro pager \cb |urlview\n 'call urlview to extract URLs out of a message'
set pipe_decode
macro generic <f1> "!zcat /usr/share/doc/mutt/manual.txt.gz | sensible-
pager\n" "Show Mutt documentation"
macro index <f1> "!zcat /usr/share/doc/mutt/manual.txt.gz | sensible-
pager\n" "Show Mutt documentation"
macro pager <f1> "!zcat /usr/share/doc/mutt/manual.txt.gz | sensible-
pager\n" "Show Mutt documentation"
open-hook \\.gz$ "gzip -cd %f > %t"
close-hook \\.gz$ "gzip -c %t > %f"
append-hook \\.gz$ "gzip -c %t >> %f"
open-hook \\.bz2$ "bzip2 -cd %f > %t"
close-hook \\.bz2$ "bzip2 -c %t > %f"
append-hook \\.bz2$ "bzip2 -c %t >> %f"
color normal white black
color attachment brightyellow black
color hdrdefault cyan black
color indicator black cyan
color markers brightred black
color quoted green black
color signature cyan black
color status brightgreen blue
color tilde blue black
color tree red black
set pgp_decode_command="gpg --charset utf-8 --status-fd=2 %?p
?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch
--output - --verify %s %f"
set pgp_decrypt_command="gpg --status-fd=2 --passphrase-fd 0 --no-
verbose --quiet --batch --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --quiet --output -
--passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --charset utf-8 --no-verbose --batch
--quiet --output - --passphrase-fd 0 --armor --textmode --clearsign
%?a?-u %a? %f"
set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg --charset utf-8
--batch --quiet --no-verbose --output - --encrypt --textmode --armor
--always-trust -- -r %r -- %f"
set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg --charset utf-8
--passphrase-fd 0 --batch --quiet --no-verbose --textmode --output -
--encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import %f"
set pgp_export_command="gpg --no-verbose --export --armor %k"
set pgp_verify_key_command="gpg --verbose --batch --fingerprint
--check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-
colons --list-keys %k"
set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-
colons --list-secret-keys %k"
set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
set smime_ca_location="~/.smime/ca-bundle.crt"
set smime_certificates="~/.smime/certificates"
set smime_keys="~/.smime/keys"
set smime_pk7out_command="openssl smime -verify -in %f -noverify -pk7out"
set smime_get_cert_command="openssl pkcs7 -print_certs -in %f"
set smime_get_signer_cert_command="openssl smime -verify -in %f -noverify
-signer %c -out /dev/null"
set smime_get_cert_email_command="openssl x509 -in %f -noout -email"
set smime_import_cert_command="smime_keys add_cert %f"
set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f
%c"
set smime_sign_command="openssl smime -sign -signer %c -inkey %k -passin
stdin -in %f -certfile %i -outform DER"
set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform
DER -in %f -inkey %k -recip %c"
set smime_verify_command="openssl smime -verify -inform DER -in %s %C
-content %f"
set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s
%C"
--- End /etc/Muttrc
}}}
--
--
Ticket URL: <http://dev.mutt.org/trac/ticket/1860#comment:8>
Mutt <http://www.mutt.org/>
The Mutt mail user agent