]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fexecute_extended_command): Use a
authorGerd Moellmann <gerd@gnu.org>
Tue, 9 Jan 2001 13:44:36 +0000 (13:44 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 9 Jan 2001 13:44:36 +0000 (13:44 +0000)
record_unwind_protect to ensure that pop_message is called.

src/keyboard.c

index bc991d713f610ffd46504904e6490d888603dbf9..105131eedb8a24c082b34934ba468dd405ebdfbd 100644 (file)
@@ -9070,6 +9070,8 @@ a special event, so ignore the prefix argument and don't clear it.")
     }
   return Qnil;
 }
+
+
 \f
 DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_command,
   1, 1, "P",
@@ -9192,7 +9194,9 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
          Lisp_Object binding;
          char *newmessage;
          int message_p = push_message ();
+         int count = BINDING_STACK_SIZE ();
 
+         record_unwind_protect (push_message_unwind, Qnil);
          binding = Fkey_description (bindings);
 
          newmessage
@@ -9211,7 +9215,7 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
              && message_p)
            restore_message ();
 
-         pop_message ();
+         unbind_to (count, Qnil);
        }
     }