diff README.multi-tty @ 83298:ed09a89e2b25

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
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 03 May 2005 01:49:33 +0000
parents 6f9586cdd29c
children 6deb860255f3
line wrap: on
line diff
--- a/README.multi-tty	Tue May 03 01:38:40 2005 +0000
+++ b/README.multi-tty	Tue May 03 01:49:33 2005 +0000
@@ -383,18 +383,19 @@
    Update: selecting a region with the mouse enables single_kboard
    under X.  This is very confusing.
 
-   Update: After discussions with Richard, this will be resolved by
-   having locked displays warn the user to wait, and introducing a
-   complex protocol to remotely bail out of single-kboard mode by
-   pressing C-g.
+   Update: After discussions with Richard Stallman, this will be
+   resolved by having locked displays warn the user to wait, and
+   introducing a complex protocol to remotely bail out of
+   single-kboard mode by pressing C-g.
 
    Update: Warning the user is not trivial to implement, as Emacs has
-   only one echo area.  Ideally the warning should not be displayed on
-   the display that is locking the others.  Perhaps the high
-   probability of user confusion caused by single_kboard mode deserves
-   a special case in the display code.  Alternatively, it might be
-   good enough to signal single_kboard mode by changing the modelines
-   or some other frame-local display element on the locked out displays.
+   only one echo area, shared by all frames.  Ideally the warning
+   should not be displayed on the display that is locking the others.
+   Perhaps the high probability of user confusion caused by
+   single_kboard mode deserves a special case in the display code.
+   Alternatively, it might be good enough to signal single_kboard mode
+   by changing the modelines or some other frame-local display element
+   on the locked out displays.
 
 ** normal-erase-is-backspace-mode in simple.el needs to be updated for
    multi-tty (rep. by Dan Waber).
@@ -405,6 +406,22 @@
 ** rif->flush_display_optional (NULL) calls should be replaced by a
    new global function.
 
+** Support multiple character locales.  
+
+	(1) A version of `set-locale-environment' needs to be written
+	    for setting up display-local settings on ttys.  I think
+	    calling set-display-table-and-terminal-coding-system and
+	    set-keyboard-coding-system would be enough.  The language
+	    environment itself should remain a global setting.
+
+	(2) Have a look at Vlocale_coding_system.  Seems like it would
+	    be a tedious job to localize it, although most references
+	    use it for interfacing with libc and are therefore OK with
+	    the global definition.
+
+            Exceptions found so far: x-select-text and
+            x-cut-buffer-or-selection-value.
+
 ** Have a look at fatal_error_hook.
 
 ** Have a look at set_frame_matrix_frame.
@@ -429,7 +446,8 @@
 
 ** The terminal customization files in term/*.el tend to change global
    parameters, which may confuse Emacs with multiple displays.  Change
-   them to tweak only frame-local settings, if possible.
+   them to tweak only frame-local settings, if possible.  (They tend
+   to call define-key to set function key sequences a lot.)
 
 ** Dan Nicolaescu suggests that -nw should be added as an alias for -t
    in emacsclient.  Good idea.  (Alas, implementing this is not
@@ -449,9 +467,6 @@
    terminals in xterm and konsole.  The screen does flicker a bit,
    but it's so quick it isn't noticable.
 
-** Clean up the frame-local variable system.  I think it's ugly and
-   error-prone.  But maybe I just haven't yet fully understood it.
-
 ** Move baud_rate to struct display.
 
 ** Implement support for starting an interactive Emacs session without
@@ -963,7 +978,7 @@
 
    (Fixed.  Emacs now uses the locale settings as seen by the
    emacsclient process for server tty frames.)
-
+   (Update: Not really; Vlocale_coding_system is still global.)
 
 -- Make `struct display' accessible to Lisp programs.  Accessor functions:
 
@@ -1022,5 +1037,9 @@
 
    (Done.  This is the new default.  No complaints so far.)
 
+-- Clean up the frame-local variable system.  I think it's ugly and
+   error-prone.  But maybe I just haven't yet fully understood it.
+
+   (Nothing to do.  It doesn't seem ugly any more.  It's rather clever.)
 
 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d