diff options
| author | Karoly Lorentey | 2005-05-03 01:49:33 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-05-03 01:49:33 +0000 |
| commit | 68bba4e4b3ced56b5608ee0495f94d24e7e3f40c (patch) | |
| tree | 43067ff161298f52824bd833e6d16b65dddf23e9 /README.multi-tty | |
| parent | 941d4811d5b6660e2cdb5f668d52792c7e5920e8 (diff) | |
| download | emacs-68bba4e4b3ced56b5608ee0495f94d24e7e3f40c.tar.gz emacs-68bba4e4b3ced56b5608ee0495f94d24e7e3f40c.zip | |
Fix UTF-8 tty input when first frame is an X frame. Steps towards multiple tty locale support.
* lisp/international/mule-cmds.el (set-locale-environment): Ignore
window-system; always set the keyboard coding system.
* src/termhooks.h (DISPLAY_TERMINAL_CODING, DISPLAY_KEYBOARD_CODING): New macros.
* src/coding.c (Fset_terminal_coding_system_internal, Fterminal_coding_system)
(Fset_keyboard_coding_system_internal, Fkeyboard_coding_system): Add DISPLAY
parameter.
* src/term.c (get_display): Add THROW parameter.
(get_tty_display, Fdisplay_name, Fdisplay_tty_type, Fdisplay_controlling_tty_p)
(Fdelete_display, Fdisplay_live_p): Update callers.
* src/xfns.c (check_x_display_info): Ditto.
* src/frame.c (Fmake_terminal_frame, Fframe_display): Ditto.
* src/dispextern.h (get_display): Update prototype.
* lisp/international/mule.el (set-terminal-coding-system)
(set-keyboard-coding-system): Add DISPLAY parameter.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-338
Diffstat (limited to 'README.multi-tty')
| -rw-r--r-- | README.multi-tty | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/README.multi-tty b/README.multi-tty index e7602bda7cb..c5230c0ca54 100644 --- a/README.multi-tty +++ b/README.multi-tty | |||
| @@ -383,18 +383,19 @@ THINGS TO DO | |||
| 383 | Update: selecting a region with the mouse enables single_kboard | 383 | Update: selecting a region with the mouse enables single_kboard |
| 384 | under X. This is very confusing. | 384 | under X. This is very confusing. |
| 385 | 385 | ||
| 386 | Update: After discussions with Richard, this will be resolved by | 386 | Update: After discussions with Richard Stallman, this will be |
| 387 | having locked displays warn the user to wait, and introducing a | 387 | resolved by having locked displays warn the user to wait, and |
| 388 | complex protocol to remotely bail out of single-kboard mode by | 388 | introducing a complex protocol to remotely bail out of |
| 389 | pressing C-g. | 389 | single-kboard mode by pressing C-g. |
| 390 | 390 | ||
| 391 | Update: Warning the user is not trivial to implement, as Emacs has | 391 | Update: Warning the user is not trivial to implement, as Emacs has |
| 392 | only one echo area. Ideally the warning should not be displayed on | 392 | only one echo area, shared by all frames. Ideally the warning |
| 393 | the display that is locking the others. Perhaps the high | 393 | should not be displayed on the display that is locking the others. |
| 394 | probability of user confusion caused by single_kboard mode deserves | 394 | Perhaps the high probability of user confusion caused by |
| 395 | a special case in the display code. Alternatively, it might be | 395 | single_kboard mode deserves a special case in the display code. |
| 396 | good enough to signal single_kboard mode by changing the modelines | 396 | Alternatively, it might be good enough to signal single_kboard mode |
| 397 | or some other frame-local display element on the locked out displays. | 397 | by changing the modelines or some other frame-local display element |
| 398 | on the locked out displays. | ||
| 398 | 399 | ||
| 399 | ** normal-erase-is-backspace-mode in simple.el needs to be updated for | 400 | ** normal-erase-is-backspace-mode in simple.el needs to be updated for |
| 400 | multi-tty (rep. by Dan Waber). | 401 | multi-tty (rep. by Dan Waber). |
| @@ -405,6 +406,22 @@ THINGS TO DO | |||
| 405 | ** rif->flush_display_optional (NULL) calls should be replaced by a | 406 | ** rif->flush_display_optional (NULL) calls should be replaced by a |
| 406 | new global function. | 407 | new global function. |
| 407 | 408 | ||
| 409 | ** Support multiple character locales. | ||
| 410 | |||
| 411 | (1) A version of `set-locale-environment' needs to be written | ||
| 412 | for setting up display-local settings on ttys. I think | ||
| 413 | calling set-display-table-and-terminal-coding-system and | ||
| 414 | set-keyboard-coding-system would be enough. The language | ||
| 415 | environment itself should remain a global setting. | ||
| 416 | |||
| 417 | (2) Have a look at Vlocale_coding_system. Seems like it would | ||
| 418 | be a tedious job to localize it, although most references | ||
| 419 | use it for interfacing with libc and are therefore OK with | ||
| 420 | the global definition. | ||
| 421 | |||
| 422 | Exceptions found so far: x-select-text and | ||
| 423 | x-cut-buffer-or-selection-value. | ||
| 424 | |||
| 408 | ** Have a look at fatal_error_hook. | 425 | ** Have a look at fatal_error_hook. |
| 409 | 426 | ||
| 410 | ** Have a look at set_frame_matrix_frame. | 427 | ** Have a look at set_frame_matrix_frame. |
| @@ -429,7 +446,8 @@ THINGS TO DO | |||
| 429 | 446 | ||
| 430 | ** The terminal customization files in term/*.el tend to change global | 447 | ** The terminal customization files in term/*.el tend to change global |
| 431 | parameters, which may confuse Emacs with multiple displays. Change | 448 | parameters, which may confuse Emacs with multiple displays. Change |
| 432 | them to tweak only frame-local settings, if possible. | 449 | them to tweak only frame-local settings, if possible. (They tend |
| 450 | to call define-key to set function key sequences a lot.) | ||
| 433 | 451 | ||
| 434 | ** Dan Nicolaescu suggests that -nw should be added as an alias for -t | 452 | ** Dan Nicolaescu suggests that -nw should be added as an alias for -t |
| 435 | in emacsclient. Good idea. (Alas, implementing this is not | 453 | in emacsclient. Good idea. (Alas, implementing this is not |
| @@ -449,9 +467,6 @@ THINGS TO DO | |||
| 449 | terminals in xterm and konsole. The screen does flicker a bit, | 467 | terminals in xterm and konsole. The screen does flicker a bit, |
| 450 | but it's so quick it isn't noticable. | 468 | but it's so quick it isn't noticable. |
| 451 | 469 | ||
| 452 | ** Clean up the frame-local variable system. I think it's ugly and | ||
| 453 | error-prone. But maybe I just haven't yet fully understood it. | ||
| 454 | |||
| 455 | ** Move baud_rate to struct display. | 470 | ** Move baud_rate to struct display. |
| 456 | 471 | ||
| 457 | ** Implement support for starting an interactive Emacs session without | 472 | ** Implement support for starting an interactive Emacs session without |
| @@ -963,7 +978,7 @@ DIARY OF CHANGES | |||
| 963 | 978 | ||
| 964 | (Fixed. Emacs now uses the locale settings as seen by the | 979 | (Fixed. Emacs now uses the locale settings as seen by the |
| 965 | emacsclient process for server tty frames.) | 980 | emacsclient process for server tty frames.) |
| 966 | 981 | (Update: Not really; Vlocale_coding_system is still global.) | |
| 967 | 982 | ||
| 968 | -- Make `struct display' accessible to Lisp programs. Accessor functions: | 983 | -- Make `struct display' accessible to Lisp programs. Accessor functions: |
| 969 | 984 | ||
| @@ -1022,5 +1037,9 @@ DIARY OF CHANGES | |||
| 1022 | 1037 | ||
| 1023 | (Done. This is the new default. No complaints so far.) | 1038 | (Done. This is the new default. No complaints so far.) |
| 1024 | 1039 | ||
| 1040 | -- Clean up the frame-local variable system. I think it's ugly and | ||
| 1041 | error-prone. But maybe I just haven't yet fully understood it. | ||
| 1042 | |||
| 1043 | (Nothing to do. It doesn't seem ugly any more. It's rather clever.) | ||
| 1025 | 1044 | ||
| 1026 | ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d | 1045 | ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d |