aboutsummaryrefslogtreecommitdiffstats
path: root/README.multi-tty
diff options
context:
space:
mode:
authorKaroly Lorentey2006-01-03 01:50:46 +0000
committerKaroly Lorentey2006-01-03 01:50:46 +0000
commitb3e6f69c10973ff7b040ced07a3a084960619681 (patch)
tree27d84923989971dd576d9d38f111f99c9b2cf2ce /README.multi-tty
parent0103b7c9f971e43ea4420a3f41704d85ad8f06ee (diff)
downloademacs-b3e6f69c10973ff7b040ced07a3a084960619681.tar.gz
emacs-b3e6f69c10973ff7b040ced07a3a084960619681.zip
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 '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 60050f9f775..7ad6bf5b31f 100644
--- a/README.multi-tty
+++ b/README.multi-tty
@@ -401,12 +401,6 @@ is probably not very interesting for anyone else.)
401THINGS TO DO 401THINGS TO DO
402------------ 402------------
403 403
404** Let-binding `overriding-terminal-local-map' on a brand new frame
405 does not seem to work correctly. (See `fancy-splash-screens'.)
406 The keymap seems to be set up right, but events go to another
407 terminal. Or is it `unread-command-events' that gets Emacs
408 confused? Investigate.
409
410** `delete-frame' events are handled by `special-event-map' 404** `delete-frame' events are handled by `special-event-map'
411 immediately when read by `read_char'. This is fine but it prevents 405 immediately when read by `read_char'. This is fine but it prevents
412 higher-level keymaps from binding that event to get notified of the 406 higher-level keymaps from binding that event to get notified of the
@@ -466,6 +460,10 @@ THINGS TO DO
466 Emacs with GTK support. If you want to play around with GTK 460 Emacs with GTK support. If you want to play around with GTK
467 multidisplay (and don't mind core dumps), you can edit src/config.h 461 multidisplay (and don't mind core dumps), you can edit src/config.h
468 and define HAVE_GTK_MULTIDISPLAY there by hand. 462 and define HAVE_GTK_MULTIDISPLAY there by hand.
463
464 Update: Han reports that GTK+ version 2.8.9 almost gets display
465 disconnects right. GTK will probably be fully fixed by the time
466 multi-tty gets into the trunk.
469 467
470** Audit `face-valid-attribute-values' usage in customize and 468** Audit `face-valid-attribute-values' usage in customize and
471 elsewhere. Its return value depends on the current window system. 469 elsewhere. Its return value depends on the current window system.
@@ -477,10 +475,6 @@ THINGS TO DO
477 475
478** frames-on-display-list should also accept frames. 476** frames-on-display-list should also accept frames.
479 477
480** I smell something funny around pop_kboard's "deleted kboard" case.
481 Determine what are the circumstances of this case, and fix any
482 bug that comes to light.
483
484** Consider the `tty-type' frame parameter and the `display-tty-type' 478** Consider the `tty-type' frame parameter and the `display-tty-type'
485 function. They serve the exact same purpose. I think it may be 479 function. They serve the exact same purpose. I think it may be
486 a good idea to eliminate one of them, preferably `tty-type'. 480 a good idea to eliminate one of them, preferably `tty-type'.
@@ -514,10 +508,6 @@ THINGS TO DO
514 instead of delete-frame-functions), 508 instead of delete-frame-functions),
515 after-delete-terminal-functions, after-create-terminal-functions. 509 after-delete-terminal-functions, after-create-terminal-functions.
516 510
517** Fix set-input-mode for multi-tty. It's a truly horrible interface;
518 what if we'd blow it up into several separate functions (with a
519 compatibility definition)?
520
521** BULK RENAME: The `display-' prefix of new Lisp-level functions 511** BULK RENAME: The `display-' prefix of new Lisp-level functions
522 conflicts with stuff like `display-time-mode'. Use `device-' 512 conflicts with stuff like `display-time-mode'. Use `device-'
523 or `terminal-' instead. I think I prefer `terminal-'. 513 or `terminal-' instead. I think I prefer `terminal-'.
@@ -583,6 +573,8 @@ THINGS TO DO
583 by changing the modelines or some other frame-local display element 573 by changing the modelines or some other frame-local display element
584 on the locked out displays. 574 on the locked out displays.
585 575
576 Update: In fact struct kboard does have an echo_string slot.
577
586** The session management module is prone to crashes when the X 578** The session management module is prone to crashes when the X
587 connection is closed and then later I try to connect to a new X 579 connection is closed and then later I try to connect to a new X
588 session: 580 session:
@@ -670,6 +662,9 @@ THINGS TO DO
670 terminals in xterm and konsole. The screen does flicker a bit, 662 terminals in xterm and konsole. The screen does flicker a bit,
671 but it's so quick it isn't noticable. 663 but it's so quick it isn't noticable.
672 664
665 (Update: This is probably some problem with padding or whatnot on
666 the secondary terminals.)
667
673** Move baud_rate to struct display. 668** Move baud_rate to struct display.
674 669
675** Implement support for starting an interactive Emacs session without 670** Implement support for starting an interactive Emacs session without
@@ -1414,6 +1409,32 @@ DIARY OF CHANGES
1414 against `delete-frame-functions' throwing an error and preventing a 1409 against `delete-frame-functions' throwing an error and preventing a
1415 frame delete. (patch-475) 1410 frame delete. (patch-475)
1416 1411
1412-- Fix set-input-mode for multi-tty. It's a truly horrible interface;
1413 what if we'd blow it up into several separate functions (with a
1414 compatibility definition)?
1415
1416 (Done. See `set-input-interrupt-mode', `set-output-flow-control',
1417 `set-input-meta-mode' and `set-quit-char'.) (patch-457)
1418
1419-- Let-binding `overriding-terminal-local-map' on a brand new frame
1420 does not seem to work correctly. (See `fancy-splash-screens'.)
1421 The keymap seems to be set up right, but events go to another
1422 terminal. Or is it `unread-command-events' that gets Emacs
1423 confused? Investigate.
1424
1425 (Emacs was confused because a process filter entered
1426 `recursive-edit' while Emacs was reading input. I added support
1427 for this in the input system.) (patch-489)
1428
1429-- I smell something funny around pop_kboard's "deleted kboard" case.
1430 Determine what are the circumstances of this case, and fix any
1431 bug that comes to light.
1432
1433 (It happens simply because single_kboard's terminal is sometimes
1434 deleted while executing a command on it, for example the one that
1435 kills the terminal. There was no bug here, but I rewrote the whole
1436 single_kboard mess anyway.) (patch-489)
1437
1417 1438
1418;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d 1439;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d
1419 1440