diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2006-01-03 01:50:46 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2006-01-03 01:50:46 +0000 |
commit | b4c0300a21486d95f5abbd8f80a8be6785523862 (patch) | |
tree | 41d69287bc9550fd7bc4a7f63ef4e1b1b675f839 /src/callint.c | |
parent | bdbea60596f495b4d9f329958987de85ab1af805 (diff) | |
download | emacs-b4c0300a21486d95f5abbd8f80a8be6785523862.tar.gz |
Overhaul and simplify single_kboard API. Allow calls to `recursive-edit' in process filters. Small fixes.
* lisp/server.el (server-process-filter): Protect `display-splash-screen'
call in a condition-case. Explain why.
* src/callint.c (Fcall_interactively): Update call to
`temporarily_switch_to_single_kboard'.
* src/fns.c (Fy_or_n_p): Ditto.
* src/frame.c (Fdelete_frame): Remove unused variable `count'.
* src/keyboard.c (wrong_kboard_jmpbuf): Remove global variable.
* src/keyboard.c (read_char): Add wrong_kboard_jmpbuf parameter to allow
for recursive calls. Update longjmp invocations. Remember the
original current_kboard, and longjmp to `wrong_kboard_jmpbuf' when a
filter, timer or sentinel changes it. Comment out unnecessary calls to
`record_single_kboard_state' and `any_kboard_state'. Update recursive
calls.
* src/keyboard.c (read_key_sequence): Add `wrong_kboard_jmpbuf' local
variable. Update setjmp and read_char calls. Abort if
interrupted_kboard died in read_char.
* src/keyboard.c (any_kboard_state, single_kboard_state)
(record_single_kboard_state): Comment out obsolete functions.
(push_frame_kboard): Remove function.
(pop_kboard): Switch out of single_kboard mode if the
kboard has been deleted.
(temporarily_switch_to_single_kboard): Change first
parameter to a frame pointer. Throw an error when caller wants to
change kboards while in single_kboard mode.
(restore_kboard_configuration): Abort if pop_kboard changed
the kboard in single_kboard mode.
(Frecursive_edit): Switch to single_kboard mode only in
nested command loops.
(cmd_error, command_loop, command_loop_1, timer_check):
Comment out unnecessary call to `any_kboard_state' and
`record_single_kboard_state'.
* src/keyboard.c (delete_kboard): Exit single_kboard mode if we have just
deleted that kboard.
* src/keyboard.c (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
`fatal_error_signal'.
* src/keyboard.h (read_char, single_kboard_state)
(record_single_kboard_state): Remove.
(temporarily_switch_to_single_kboard): Update.
* src/lread.c: Include setjmp.h. Update declaration of `read_char'.
(read_filtered_event): Call `read_char' with a local
`wrong_kboard_jmpbuf'.
* src/minibuf.c (read_minibuf): Update call to
`temporarily_switch_to_single_kboard'.
* src/termchar.h (tty_display_info): Rename `previous_terminal_frame'
member to `previous_frame'.
* src/xdisp.c (redisplay_internal): Update references to
`previous_terminal_frame'.
(display_mode_line, Fformat_mode_line): Replace calls to
`push_frame_kboard' with `push_kboard'.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-489
Diffstat (limited to 'src/callint.c')
-rw-r--r-- | src/callint.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/callint.c b/src/callint.c index d44d2f20ca0..38db2ea92ec 100644 --- a/src/callint.c +++ b/src/callint.c @@ -875,12 +875,11 @@ If KEYS is omitted or nil, the return value of `this-command-keys' is used. */) real_this_command= save_real_this_command; current_kboard->Vlast_command = save_last_command; - temporarily_switch_to_single_kboard (NULL); - { Lisp_Object val; specbind (Qcommand_debug_status, Qnil); + temporarily_switch_to_single_kboard (NULL); val = Ffuncall (count + 1, args); UNGCPRO; return unbind_to (speccount, val); |