From: Kenichi Handa <handa@gnu.org>
Date: Wed, 17 Oct 2012 23:59:24 +0000 (+0900)
Subject: international/mule.el (set-keyboard-coding-system): Recover input meta mode when... 
X-Git-Tag: emacs-24.2.90~232
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b278604edf862feced13457cfed15bcf7ac63f76;p=emacs.git

international/mule.el (set-keyboard-coding-system): Recover input meta mode when the new coding system doesn not use 8-bit.  Supply TERMINAL arg to set-input-meta-mode.
---

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9b1929eae6b..602569156f7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2012-10-17  Kenichi Handa  <handa@gnu.org>
+
+	* international/mule.el (set-keyboard-coding-system): Recover
+	input meta mode when the new coding system doesn not use 8-bit.
+	Supply TERMINAL arg to set-input-meta-mode.
+
 2012-10-17  Michael Heerdegen <michael_heerdegen@web.de>  (tiny change)
 
 	* wdired.el (wdired-old-marks): New variable.
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index e6e3f045a9e..922bec64c86 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -1355,19 +1355,25 @@ graphical terminals."
 		(t
 		 (error "Unsupported coding system for keyboard: %s"
 			coding-system)))
-	  (when accept-8-bit
-	    (or saved-meta-mode
-		(set-terminal-parameter terminal
-					'keyboard-coding-saved-meta-mode
-					(cons (nth 2 (current-input-mode))
-					      nil)))
-	    (set-input-meta-mode 8))
+	  (if accept-8-bit
+	      (progn
+		(or saved-meta-mode
+		    (set-terminal-parameter terminal
+					    'keyboard-coding-saved-meta-mode
+					    (cons (nth 2 (current-input-mode))
+						  nil)))
+		(set-input-meta-mode 8 terminal))
+	    (when saved-meta-mode
+	      (set-input-meta-mode (car saved-meta-mode) terminal)
+	      (set-terminal-parameter terminal
+				      'keyboard-coding-saved-meta-mode
+				      nil)))
 	  ;; Avoid end-of-line conversion.
 	  (setq coding-system
 		(coding-system-change-eol-conversion coding-system 'unix)))
 
       (when saved-meta-mode
-	(set-input-meta-mode (car saved-meta-mode))
+	(set-input-meta-mode (car saved-meta-mode) terminal)
 	(set-terminal-parameter terminal
 				'keyboard-coding-saved-meta-mode
 				nil))))