diff options
| author | Karoly Lorentey | 2006-01-03 01:50:46 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-01-03 01:50:46 +0000 |
| commit | b3e6f69c10973ff7b040ced07a3a084960619681 (patch) | |
| tree | 27d84923989971dd576d9d38f111f99c9b2cf2ce /README.multi-tty | |
| parent | 0103b7c9f971e43ea4420a3f41704d85ad8f06ee (diff) | |
| download | emacs-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-tty | 49 |
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.) | |||
| 401 | THINGS TO DO | 401 | THINGS 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 | ||