1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-28 19:42:02 +00:00

(Fcall_interactively): Save and restore Vthis_command, Vthis_original_command,

real_this_command, and current_kboard->Vlast_command.
This commit is contained in:
Richard M. Stallman 2003-08-29 16:15:31 +00:00
parent f8f096e9be
commit 0605dd791e

View File

@ -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 ();
{