From 0605dd791e373e37c2fa3a83913807ba7eadb9f9 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 29 Aug 2003 16:15:31 +0000 Subject: [PATCH] (Fcall_interactively): Save and restore Vthis_command, Vthis_original_command, real_this_command, and current_kboard->Vlast_command. --- src/callint.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/callint.c b/src/callint.c index 4edb4201fa4..3b0d315db93 100644 --- a/src/callint.c +++ b/src/callint.c @@ -41,6 +41,7 @@ Lisp_Object Qcall_interactively; Lisp_Object Vcommand_history; extern Lisp_Object Vhistory_length; +extern Lisp_Object Vthis_original_command, real_this_command; Lisp_Object Vcommand_debug_status, Qcommand_debug_status; Lisp_Object Qenable_recursive_minibuffers; @@ -291,6 +292,14 @@ supply if the command inquires which events were used to invoke it. */) int key_count; int record_then_fail = 0; + Lisp_Object save_this_command, save_last_command; + Lisp_Object save_this_original_command, save_real_this_command; + + save_this_command = Vthis_command; + save_this_original_command = Vthis_original_command; + save_real_this_command = real_this_command; + save_last_command = current_kboard->Vlast_command; + if (NILP (keys)) keys = this_command_keys, key_count = this_command_key_count; else @@ -395,6 +404,12 @@ supply if the command inquires which events were used to invoke it. */) XSETCDR (teml, Qnil); } } + + Vthis_command = save_this_command; + Vthis_original_command = save_this_original_command; + real_this_command= save_real_this_command; + current_kboard->Vlast_command = save_last_command; + single_kboard_state (); return apply1 (function, specs); } @@ -841,6 +856,11 @@ supply if the command inquires which events were used to invoke it. */) if (record_then_fail) Fbarf_if_buffer_read_only (); + Vthis_command = save_this_command; + Vthis_original_command = save_this_original_command; + real_this_command= save_real_this_command; + current_kboard->Vlast_command = save_last_command; + single_kboard_state (); { -- 2.39.2