diff options
author | Gerd Moellmann <gerd@gnu.org> | 2001-01-09 13:44:36 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2001-01-09 13:44:36 +0000 |
commit | c970a76059aba98b8ac3e5a6fb7e93ce45a6a329 (patch) | |
tree | 13c7bc73f244d8872f8f612b01fec18bd2cde851 | |
parent | 98edb5ff5fd06795c03513550216d49219f50550 (diff) | |
download | emacs-c970a76059aba98b8ac3e5a6fb7e93ce45a6a329.tar.gz |
(Fexecute_extended_command): Use a
record_unwind_protect to ensure that pop_message is called.
-rw-r--r-- | src/keyboard.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index bc991d713f6..105131eedb8 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -9070,6 +9070,8 @@ a special event, so ignore the prefix argument and don't clear it.") } return Qnil; } + + 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); } } |