diff options
| author | Kenichi Handa | 2012-10-18 08:59:24 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-10-18 08:59:24 +0900 |
| commit | b278604edf862feced13457cfed15bcf7ac63f76 (patch) | |
| tree | 8996dc876760fd9ac42050e7f5b7e058bc2f2886 | |
| parent | 596846525bf5f515541ab1ca9a459f4842d55d1d (diff) | |
| download | emacs-b278604edf862feced13457cfed15bcf7ac63f76.tar.gz emacs-b278604edf862feced13457cfed15bcf7ac63f76.zip | |
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 @@ | |||
| 1 | 2012-10-17 Kenichi Handa <handa@gnu.org> | ||
| 2 | |||
| 3 | * international/mule.el (set-keyboard-coding-system): Recover | ||
| 4 | input meta mode when the new coding system doesn not use 8-bit. | ||
| 5 | Supply TERMINAL arg to set-input-meta-mode. | ||
| 6 | |||
| 1 | 2012-10-17 Michael Heerdegen <michael_heerdegen@web.de> (tiny change) | 7 | 2012-10-17 Michael Heerdegen <michael_heerdegen@web.de> (tiny change) |
| 2 | 8 | ||
| 3 | * wdired.el (wdired-old-marks): New variable. | 9 | * 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." | |||
| 1355 | (t | 1355 | (t |
| 1356 | (error "Unsupported coding system for keyboard: %s" | 1356 | (error "Unsupported coding system for keyboard: %s" |
| 1357 | coding-system))) | 1357 | coding-system))) |
| 1358 | (when accept-8-bit | 1358 | (if accept-8-bit |
| 1359 | (or saved-meta-mode | 1359 | (progn |
| 1360 | (set-terminal-parameter terminal | 1360 | (or saved-meta-mode |
| 1361 | 'keyboard-coding-saved-meta-mode | 1361 | (set-terminal-parameter terminal |
| 1362 | (cons (nth 2 (current-input-mode)) | 1362 | 'keyboard-coding-saved-meta-mode |
| 1363 | nil))) | 1363 | (cons (nth 2 (current-input-mode)) |
| 1364 | (set-input-meta-mode 8)) | 1364 | nil))) |
| 1365 | (set-input-meta-mode 8 terminal)) | ||
| 1366 | (when saved-meta-mode | ||
| 1367 | (set-input-meta-mode (car saved-meta-mode) terminal) | ||
| 1368 | (set-terminal-parameter terminal | ||
| 1369 | 'keyboard-coding-saved-meta-mode | ||
| 1370 | nil))) | ||
| 1365 | ;; Avoid end-of-line conversion. | 1371 | ;; Avoid end-of-line conversion. |
| 1366 | (setq coding-system | 1372 | (setq coding-system |
| 1367 | (coding-system-change-eol-conversion coding-system 'unix))) | 1373 | (coding-system-change-eol-conversion coding-system 'unix))) |
| 1368 | 1374 | ||
| 1369 | (when saved-meta-mode | 1375 | (when saved-meta-mode |
| 1370 | (set-input-meta-mode (car saved-meta-mode)) | 1376 | (set-input-meta-mode (car saved-meta-mode) terminal) |
| 1371 | (set-terminal-parameter terminal | 1377 | (set-terminal-parameter terminal |
| 1372 | 'keyboard-coding-saved-meta-mode | 1378 | 'keyboard-coding-saved-meta-mode |
| 1373 | nil)))) | 1379 | nil)))) |