diff lisp/mule/mule-cmds.el @ 3142:77f5a5135b3a

[xemacs-hg @ 2005-12-17 19:46:57 by aidan] Fix self-insert-command with X11 input methods. Addresses Zhang Wei's problem of 871x118lc4.fsf@gmail.com.
author aidan
date Sat, 17 Dec 2005 19:47:03 +0000
parents adda8fccb13d
children a2331a8fccb5
line wrap: on
line diff
--- a/lisp/mule/mule-cmds.el	Fri Dec 16 23:52:23 2005 +0000
+++ b/lisp/mule/mule-cmds.el	Sat Dec 17 19:47:03 2005 +0000
@@ -1271,6 +1271,20 @@
 	 (warn "Invalid native-coding-system %s in language environment %s"
 	       native language-name)))
       (define-coding-system-alias 'file-name 'native)
+      ;; Set the default keyboard and terminal coding systems to the native
+      ;; coding system of the language environment. 
+      ;;
+      (setq keyboard-coding-system native
+	    terminal-coding-system native)
+
+      ;; And do the same for any TTYs. 
+      (dolist (con (console-list))
+	(when (eq 'tty (device-type (car (console-device-list con))))
+	  ;; Calling set-input-mode at the same time would be a sane thing
+	  ;; to do here. I would prefer to default to accepting eight bit
+	  ;; input and not using the top bit for Meta.
+	  (set-console-tty-coding-system con native)))
+
       ;; process output should not have EOL conversion.  under MS Windows
       ;; and Cygwin, this screws things up (`cmd' is fine with just LF and
       ;; `bash' chokes on CR-LF).
@@ -1327,7 +1341,7 @@
 	;;     locale but we should still use the right code page, etc.
 	(declare-fboundp (mswindows-set-current-locale userdef)))
       ;; Unix:
-      (let ((locstring (set-current-locale "")))
+      (let ((locstring (current-locale)))
 	;; assume C lib locale and LANG env var are set correctly.  use
 	;; them to find the langenv.
 	(setq langenv