From b278604edf862feced13457cfed15bcf7ac63f76 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Thu, 18 Oct 2012 08:59:24 +0900 Subject: [PATCH] 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. --- lisp/ChangeLog | 6 ++++++ lisp/international/mule.el | 22 ++++++++++++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) 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 + + * 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 (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)))) -- 2.39.2