aboutsummaryrefslogtreecommitdiffstats
path: root/README.multi-tty
diff options
context:
space:
mode:
authorKaroly Lorentey <[email protected]>2006-01-03 01:50:46 +0000
committerKaroly Lorentey <[email protected]>2006-01-03 01:50:46 +0000
commitb3e6f69c10973ff7b040ced07a3a084960619681 (patch)
tree27d84923989971dd576d9d38f111f99c9b2cf2ce /README.multi-tty
parent0103b7c9f971e43ea4420a3f41704d85ad8f06ee (diff)
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: [email protected]/emacs--multi-tty--0--patch-489
Diffstat (limited to 'README.multi-tty')
-rw-r--r--README.multi-tty49
1 files changed, 35 insertions, 14 deletions
diff --git a/README.multi-tty b/README.multi-tty
index 60050f9f77..7ad6bf5b31 100644
--- a/README.multi-tty
+++ b/README.multi-tty
@@ -401,12 +401,6 @@ is probably not very interesting for anyone else.)
THINGS TO DO
------------
-** Let-binding `overriding-terminal-local-map' on a brand new frame
- does not seem to work correctly. (See `fancy-splash-screens'.)
- The keymap seems to be set up right, but events go to another
- terminal. Or is it `unread-command-events' that gets Emacs
- confused? Investigate.
-
** `delete-frame' events are handled by `special-event-map'
immediately when read by `read_char'. This is fine but it prevents
higher-level keymaps from binding that event to get notified of the
@@ -466,6 +460,10 @@ THINGS TO DO
Emacs with GTK support. If you want to play around with GTK
multidisplay (and don't mind core dumps), you can edit src/config.h
and define HAVE_GTK_MULTIDISPLAY there by hand.
+
+ Update: Han reports that GTK+ version 2.8.9 almost gets display
+ disconnects right. GTK will probably be fully fixed by the time
+ multi-tty gets into the trunk.
** Audit `face-valid-attribute-values' usage in customize and
elsewhere. Its return value depends on the current window system.
@@ -477,10 +475,6 @@ THINGS TO DO
** frames-on-display-list should also accept frames.
-** I smell something funny around pop_kboard's "deleted kboard" case.
- Determine what are the circumstances of this case, and fix any
- bug that comes to light.
-
** Consider the `tty-type' frame parameter and the `display-tty-type'
function. They serve the exact same purpose. I think it may be
a good idea to eliminate one of them, preferably `tty-type'.
@@ -514,10 +508,6 @@ THINGS TO DO
instead of delete-frame-functions),
after-delete-terminal-functions, after-create-terminal-functions.
-** Fix set-input-mode for multi-tty. It's a truly horrible interface;
- what if we'd blow it up into several separate functions (with a
- compatibility definition)?
-
** BULK RENAME: The `display-' prefix of new Lisp-level functions
conflicts with stuff like `display-time-mode'. Use `device-'
or `terminal-' instead. I think I prefer `terminal-'.
@@ -583,6 +573,8 @@ THINGS TO DO
by changing the modelines or some other frame-local display element
on the locked out displays.
+ Update: In fact struct kboard does have an echo_string slot.
+
** The session management module is prone to crashes when the X
connection is closed and then later I try to connect to a new X
session:
@@ -670,6 +662,9 @@ THINGS TO DO
terminals in xterm and konsole. The screen does flicker a bit,
but it's so quick it isn't noticable.
+ (Update: This is probably some problem with padding or whatnot on
+ the secondary terminals.)
+
** Move baud_rate to struct display.
** Implement support for starting an interactive Emacs session without
@@ -1414,6 +1409,32 @@ DIARY OF CHANGES
against `delete-frame-functions' throwing an error and preventing a
frame delete. (patch-475)
+-- Fix set-input-mode for multi-tty. It's a truly horrible interface;
+ what if we'd blow it up into several separate functions (with a
+ compatibility definition)?
+
+ (Done. See `set-input-interrupt-mode', `set-output-flow-control',
+ `set-input-meta-mode' and `set-quit-char'.) (patch-457)
+
+-- Let-binding `overriding-terminal-local-map' on a brand new frame
+ does not seem to work correctly. (See `fancy-splash-screens'.)
+ The keymap seems to be set up right, but events go to another
+ terminal. Or is it `unread-command-events' that gets Emacs
+ confused? Investigate.
+
+ (Emacs was confused because a process filter entered
+ `recursive-edit' while Emacs was reading input. I added support
+ for this in the input system.) (patch-489)
+
+-- I smell something funny around pop_kboard's "deleted kboard" case.
+ Determine what are the circumstances of this case, and fix any
+ bug that comes to light.
+
+ (It happens simply because single_kboard's terminal is sometimes
+ deleted while executing a command on it, for example the one that
+ kills the terminal. There was no bug here, but I rewrote the whole
+ single_kboard mess anyway.) (patch-489)
+
;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d