Hi again,

I'm getting old and stupid.  In my first message I'd pasted mutt.h two
times and forgot to include keymap.c.

Anyway, I found a first problem.  Compiled with my patches I get this
error at startup:

   Invalid value for option send_charset: "us-ascii:utf-8"

It complains when I set any but utf-8 in that variable.  I'm not able
to relate with my modifications.




--- mutt-1.7.2/curs_lib.c       Mon Dec  5 00:46:59 2016
+++ mutt-1.7.2-modified/curs_lib.c      Sat Feb 25 14:45:01 2017
@@ -148,7 +148,10 @@ event_t mutt_getch (void)
 
   ret.ch = ch;
   ret.op = 0;
-  return (ch == ctrl ('G') ? err : ret);
+  if (option (OPTESCKEYABORTS))
+    return (ch == '\033' ? err : ret);
+  else
+    return (ch == ctrl ('G') ? err : ret);
 }
 
 int _mutt_get_field (const char *field, char *buf, size_t buflen, int 
complete, int multiple, char ***files, int *numfiles)

--- mutt-1.7.2/mutt.h   Mon Dec  5 00:46:59 2016
+++ mutt-1.7.2-modified/mutt.h  Sat Feb 25 14:31:12 2017
@@ -340,6 +340,7 @@ enum
   OPTEDITHDRS,
   OPTENCODEFROM,
   OPTENVFROM,
+  OPTESCKEYABORTS,
   OPTFASTREPLY,
   OPTFCCCLEAR,
   OPTFOLLOWUPTO,

--- mutt-1.7.2/init.h   Mon Dec  5 00:46:59 2016
+++ mutt-1.7.2-modified/init.h  Sat Feb 25 14:35:34 2017
@@ -762,6 +762,14 @@ struct option_t MuttVars[] = {
   ** .pp
   ** Escape character to use for functions in the built-in editor.
   */
+  { "esc_key_aborts",  DT_BOOL, R_NONE, OPTESCKEYABORTS, 0 },
+  /*
+  ** .pp
+  ** For vi-like bindings users.  Set this value to ``yes'' to use
+  ** ESC key instead of the default Ctrl-G to abort commands.  Take
+  ** in care some predifined emacs-like Meta prefixed bindings will
+  ** stop working.
+  */
   { "fast_reply",      DT_BOOL, R_NONE, OPTFASTREPLY, 0 },
   /*
   ** .pp

--- mutt-1.7.2/keymap.c Sat Feb 25 14:47:29 2017
+++ mutt-1.7.2.orig/keymap.c    Mon Dec  5 00:46:59 2016
@@ -1133,32 +1133,16 @@ void mutt_what_key (void)
 {
   int ch;
 
-  if (option (OPTESCKEYABORTS))
-  {
-    mutt_window_mvprintw (MuttMessageWindow, 0, 0, _("Enter keys (ESC to 
abort): "));
-    do {
-      ch = getch();
-      if (ch != ERR && ch != '\033')
-      {
-        mutt_message(_("Char = %s, Octal = %o, Decimal = %d"),
-              km_keyname(ch), ch, ch);
-      }
+  mutt_window_mvprintw (MuttMessageWindow, 0, 0, _("Enter keys (^G to abort): 
"));
+  do {
+    ch = getch();
+    if (ch != ERR && ch != ctrl ('G'))
+    {
+      mutt_message(_("Char = %s, Octal = %o, Decimal = %d"),
+              km_keyname(ch), ch, ch);
     }
-    while (ch != ERR && ch != '\033');
   }
-  else
-  {
-    mutt_window_mvprintw (MuttMessageWindow, 0, 0, _("Enter keys (^G to 
abort): "));
-    do {
-      ch = getch();
-      if (ch != ERR && ch != ctrl ('G'))
-      {
-        mutt_message(_("Char = %s, Octal = %o, Decimal = %d"),
-              km_keyname(ch), ch, ch);
-      }
-    }
-    while (ch != ERR && ch != ctrl ('G'));
-  }
+  while (ch != ERR && ch != ctrl ('G'));
 
   mutt_flushinp();
   mutt_clear_error();






Reply via email to