aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2001-01-09 13:44:36 +0000
committerGerd Moellmann2001-01-09 13:44:36 +0000
commitc970a76059aba98b8ac3e5a6fb7e93ce45a6a329 (patch)
tree13c7bc73f244d8872f8f612b01fec18bd2cde851 /src
parent98edb5ff5fd06795c03513550216d49219f50550 (diff)
downloademacs-c970a76059aba98b8ac3e5a6fb7e93ce45a6a329.tar.gz
emacs-c970a76059aba98b8ac3e5a6fb7e93ce45a6a329.zip
(Fexecute_extended_command): Use a
record_unwind_protect to ensure that pop_message is called.
Diffstat (limited to 'src')
-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.")
9070 } 9070 }
9071 return Qnil; 9071 return Qnil;
9072} 9072}
9073
9074
9073 9075
9074DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_command, 9076DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_command,
9075 1, 1, "P", 9077 1, 1, "P",
@@ -9192,7 +9194,9 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
9192 Lisp_Object binding; 9194 Lisp_Object binding;
9193 char *newmessage; 9195 char *newmessage;
9194 int message_p = push_message (); 9196 int message_p = push_message ();
9197 int count = BINDING_STACK_SIZE ();
9195 9198
9199 record_unwind_protect (push_message_unwind, Qnil);
9196 binding = Fkey_description (bindings); 9200 binding = Fkey_description (bindings);
9197 9201
9198 newmessage 9202 newmessage
@@ -9211,7 +9215,7 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
9211 && message_p) 9215 && message_p)
9212 restore_message (); 9216 restore_message ();
9213 9217
9214 pop_message (); 9218 unbind_to (count, Qnil);
9215 } 9219 }
9216 } 9220 }
9217 9221