summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-01-09 13:44:36 +0000
committerGerd Moellmann <gerd@gnu.org>2001-01-09 13:44:36 +0000
commitc970a76059aba98b8ac3e5a6fb7e93ce45a6a329 (patch)
tree13c7bc73f244d8872f8f612b01fec18bd2cde851
parent98edb5ff5fd06795c03513550216d49219f50550 (diff)
downloademacs-c970a76059aba98b8ac3e5a6fb7e93ce45a6a329.tar.gz
(Fexecute_extended_command): Use a
record_unwind_protect to ensure that pop_message is called.
-rw-r--r--src/keyboard.c6
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);
}
}