aboutsummaryrefslogtreecommitdiffstats
path: root/README.multi-tty
diff options
context:
space:
mode:
authorKaroly Lorentey2005-05-03 01:49:33 +0000
committerKaroly Lorentey2005-05-03 01:49:33 +0000
commit68bba4e4b3ced56b5608ee0495f94d24e7e3f40c (patch)
tree43067ff161298f52824bd833e6d16b65dddf23e9 /README.multi-tty
parent941d4811d5b6660e2cdb5f668d52792c7e5920e8 (diff)
downloademacs-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-tty49
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