diff options
| author | Kenichi Handa <handa@gnu.org> | 2012-10-18 08:59:24 +0900 |
|---|---|---|
| committer | Kenichi Handa <handa@gnu.org> | 2012-10-18 08:59:24 +0900 |
| commit | b278604edf862feced13457cfed15bcf7ac63f76 (patch) | |
| tree | 8996dc876760fd9ac42050e7f5b7e058bc2f2886 | |
| parent | 596846525bf5f515541ab1ca9a459f4842d55d1d (diff) | |
| download | emacs-b278604edf862feced13457cfed15bcf7ac63f76.tar.gz | |
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.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | 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 <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)))) |
