diff options
| author | Stefan Monnier | 2009-08-10 21:42:33 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2009-08-10 21:42:33 +0000 |
| commit | 64657387b27fef24a961228d7c7b5f18a5fa05f3 (patch) | |
| tree | 95fa2fd8185bb73ef0b7ab30ade1ebc101f5f15a | |
| parent | a57855348341242c934c010bc50480dca143c471 (diff) | |
| download | emacs-64657387b27fef24a961228d7c7b5f18a5fa05f3.tar.gz emacs-64657387b27fef24a961228d7c7b5f18a5fa05f3.zip | |
(mule-keymap, mule-menu-keymap)
(describe-language-environment-map, setup-language-environment-map)
(set-coding-system-map): Move initialization into declaration.
(set-language-info-alist): Last arg to define-key-after can be skipped.
| -rw-r--r-- | lisp/international/mule-cmds.el | 244 |
1 files changed, 110 insertions, 134 deletions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index a3ab25095ab..dde00e1af6a 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el | |||
| @@ -38,144 +38,121 @@ | |||
| 38 | 38 | ||
| 39 | ;;; MULE related key bindings and menus. | 39 | ;;; MULE related key bindings and menus. |
| 40 | 40 | ||
| 41 | (defvar mule-keymap (make-sparse-keymap) | 41 | (defvar mule-keymap |
| 42 | (let ((map (make-sparse-keymap))) | ||
| 43 | (define-key map "f" 'set-buffer-file-coding-system) | ||
| 44 | (define-key map "r" 'revert-buffer-with-coding-system) | ||
| 45 | (define-key map "F" 'set-file-name-coding-system) | ||
| 46 | (define-key map "t" 'set-terminal-coding-system) | ||
| 47 | (define-key map "k" 'set-keyboard-coding-system) | ||
| 48 | (define-key map "p" 'set-buffer-process-coding-system) | ||
| 49 | (define-key map "x" 'set-selection-coding-system) | ||
| 50 | (define-key map "X" 'set-next-selection-coding-system) | ||
| 51 | (define-key map "\C-\\" 'set-input-method) | ||
| 52 | (define-key map "c" 'universal-coding-system-argument) | ||
| 53 | (define-key map "l" 'set-language-environment) | ||
| 54 | map) | ||
| 42 | "Keymap for Mule (Multilingual environment) specific commands.") | 55 | "Keymap for Mule (Multilingual environment) specific commands.") |
| 43 | 56 | ||
| 44 | ;; Keep "C-x C-m ..." for mule specific commands. | 57 | ;; Keep "C-x C-m ..." for mule specific commands. |
| 45 | (define-key ctl-x-map "\C-m" mule-keymap) | 58 | (define-key ctl-x-map "\C-m" mule-keymap) |
| 46 | 59 | ||
| 47 | (define-key mule-keymap "f" 'set-buffer-file-coding-system) | ||
| 48 | (define-key mule-keymap "r" 'revert-buffer-with-coding-system) | ||
| 49 | (define-key mule-keymap "F" 'set-file-name-coding-system) | ||
| 50 | (define-key mule-keymap "t" 'set-terminal-coding-system) | ||
| 51 | (define-key mule-keymap "k" 'set-keyboard-coding-system) | ||
| 52 | (define-key mule-keymap "p" 'set-buffer-process-coding-system) | ||
| 53 | (define-key mule-keymap "x" 'set-selection-coding-system) | ||
| 54 | (define-key mule-keymap "X" 'set-next-selection-coding-system) | ||
| 55 | (define-key mule-keymap "\C-\\" 'set-input-method) | ||
| 56 | (define-key mule-keymap "c" 'universal-coding-system-argument) | ||
| 57 | (define-key mule-keymap "l" 'set-language-environment) | ||
| 58 | |||
| 59 | (defvar mule-menu-keymap | ||
| 60 | (make-sparse-keymap "Mule (Multilingual Environment)") | ||
| 61 | "Keymap for Mule (Multilingual environment) menu specific commands.") | ||
| 62 | |||
| 63 | (defvar describe-language-environment-map | 60 | (defvar describe-language-environment-map |
| 64 | (make-sparse-keymap "Describe Language Environment")) | 61 | (let ((map (make-sparse-keymap "Describe Language Environment"))) |
| 62 | (define-key map | ||
| 63 | [Default] '(menu-item "Default" describe-specified-language-support)) | ||
| 64 | map)) | ||
| 65 | 65 | ||
| 66 | (defvar setup-language-environment-map | 66 | (defvar setup-language-environment-map |
| 67 | (make-sparse-keymap "Set Language Environment")) | 67 | (let ((map (make-sparse-keymap "Set Language Environment"))) |
| 68 | (define-key map | ||
| 69 | [Default] '(menu-item "Default" setup-specified-language-environment)) | ||
| 70 | map)) | ||
| 68 | 71 | ||
| 69 | (defvar set-coding-system-map | 72 | (defvar set-coding-system-map |
| 70 | (make-sparse-keymap "Set Coding System")) | 73 | (let ((map (make-sparse-keymap "Set Coding System"))) |
| 71 | 74 | (define-key-after map [universal-coding-system-argument] | |
| 72 | (define-key-after mule-menu-keymap [set-language-environment] | 75 | '(menu-item "For Next Command" universal-coding-system-argument |
| 73 | (list 'menu-item "Set Language Environment" setup-language-environment-map)) | 76 | :help "Coding system to be used by next command")) |
| 74 | (define-key-after mule-menu-keymap [separator-mule] | 77 | (define-key-after map [separator-1] '("--")) |
| 75 | '("--") | 78 | (define-key-after map [set-buffer-file-coding-system] |
| 76 | t) | 79 | '(menu-item "For Saving This Buffer" set-buffer-file-coding-system |
| 77 | (define-key-after mule-menu-keymap [toggle-input-method] | 80 | :help "How to encode this buffer when saved")) |
| 78 | '(menu-item "Toggle Input Method" toggle-input-method) | 81 | (define-key-after map [revert-buffer-with-coding-system] |
| 79 | t) | 82 | '(menu-item "For Reverting This File Now" |
| 80 | (define-key-after mule-menu-keymap [set-input-method] | 83 | revert-buffer-with-coding-system |
| 81 | '(menu-item "Select Input Method..." set-input-method) | 84 | :enable buffer-file-name |
| 82 | t) | 85 | :help "Revisit this file immediately using specified coding system")) |
| 83 | (define-key-after mule-menu-keymap [describe-input-method] | 86 | (define-key-after map [set-file-name-coding-system] |
| 84 | '(menu-item "Describe Input Method" describe-input-method)) | 87 | '(menu-item "For File Name" set-file-name-coding-system |
| 85 | (define-key-after mule-menu-keymap [separator-input-method] | 88 | :help "How to decode/encode file names")) |
| 86 | '("--") | 89 | (define-key-after map [separator-2] '("--")) |
| 87 | t) | 90 | |
| 88 | (define-key-after mule-menu-keymap [set-various-coding-system] | 91 | (define-key-after map [set-keyboard-coding-system] |
| 89 | (list 'menu-item "Set Coding Systems" set-coding-system-map | 92 | '(menu-item "For Keyboard" set-keyboard-coding-system |
| 90 | :enable 'default-enable-multibyte-characters)) | 93 | :help "How to decode keyboard input")) |
| 91 | (define-key-after mule-menu-keymap [view-hello-file] | 94 | (define-key-after map [set-terminal-coding-system] |
| 92 | '(menu-item "Show Multi-lingual Text" view-hello-file | 95 | '(menu-item "For Terminal" set-terminal-coding-system |
| 93 | :enable (file-readable-p | 96 | :enable (null (memq initial-window-system '(x w32 ns))) |
| 94 | (expand-file-name "HELLO" data-directory)) | 97 | :help "How to encode terminal output")) |
| 95 | :help "Display file which says HELLO in many languages") | 98 | (define-key-after map [separator-3] '("--")) |
| 96 | t) | 99 | |
| 97 | (define-key-after mule-menu-keymap [separator-coding-system] | 100 | (define-key-after map [set-selection-coding-system] |
| 98 | '("--") | 101 | '(menu-item "For X Selections/Clipboard" set-selection-coding-system |
| 99 | t) | 102 | :visible (display-selections-p) |
| 100 | (define-key-after mule-menu-keymap [describe-language-environment] | 103 | :help "How to en/decode data to/from selection/clipboard")) |
| 101 | (list 'menu-item "Describe Language Environment" | 104 | (define-key-after map [set-next-selection-coding-system] |
| 102 | describe-language-environment-map | 105 | '(menu-item "For Next X Selection" set-next-selection-coding-system |
| 103 | :help "Show multilingual settings for a specific language") | 106 | :visible (display-selections-p) |
| 104 | t) | 107 | :help "How to en/decode next selection/clipboard operation")) |
| 105 | (define-key-after mule-menu-keymap [describe-input-method] | 108 | (define-key-after map [set-buffer-process-coding-system] |
| 106 | '(menu-item "Describe Input Method..." describe-input-method | 109 | '(menu-item "For I/O with Subprocess" set-buffer-process-coding-system |
| 107 | :help "Keyboard layout for a specific input method") | 110 | :visible (fboundp 'start-process) |
| 108 | t) | 111 | :enable (get-buffer-process (current-buffer)) |
| 109 | (define-key-after mule-menu-keymap [describe-coding-system] | 112 | :help "How to en/decode I/O from/to subprocess connected to this buffer")) |
| 110 | '(menu-item "Describe Coding System..." describe-coding-system) | 113 | map)) |
| 111 | t) | 114 | |
| 112 | (define-key-after mule-menu-keymap [list-character-sets] | 115 | (defvar mule-menu-keymap |
| 113 | '(menu-item "List Character Sets" list-character-sets | 116 | (let ((map (make-sparse-keymap "Mule (Multilingual Environment)"))) |
| 114 | :help "Show table of available character sets")) | 117 | (define-key-after map [set-language-environment] |
| 115 | (define-key-after mule-menu-keymap [mule-diag] | 118 | `(menu-item "Set Language Environment" ,setup-language-environment-map)) |
| 116 | '(menu-item "Show All of Mule Status" mule-diag | 119 | (define-key-after map [separator-mule] '("--")) |
| 117 | :help "Display multilingual environment settings") | 120 | |
| 118 | t) | 121 | (define-key-after map [toggle-input-method] |
| 119 | 122 | '(menu-item "Toggle Input Method" toggle-input-method)) | |
| 120 | (define-key-after set-coding-system-map [universal-coding-system-argument] | 123 | (define-key-after map [set-input-method] |
| 121 | '(menu-item "For Next Command" universal-coding-system-argument | 124 | '(menu-item "Select Input Method..." set-input-method)) |
| 122 | :help "Coding system to be used by next command") | 125 | (define-key-after map [describe-input-method] |
| 123 | t) | 126 | '(menu-item "Describe Input Method" describe-input-method)) |
| 124 | (define-key-after set-coding-system-map [separator-1] | 127 | (define-key-after map [separator-input-method] '("--")) |
| 125 | '("--") | 128 | |
| 126 | t) | 129 | (define-key-after map [set-various-coding-system] |
| 127 | (define-key-after set-coding-system-map [set-buffer-file-coding-system] | 130 | (list 'menu-item "Set Coding Systems" set-coding-system-map |
| 128 | '(menu-item "For Saving This Buffer" set-buffer-file-coding-system | 131 | :enable 'default-enable-multibyte-characters)) |
| 129 | :help "How to encode this buffer when saved") | 132 | (define-key-after map [view-hello-file] |
| 130 | t) | 133 | '(menu-item "Show Multi-lingual Text" view-hello-file |
| 131 | (define-key-after set-coding-system-map [revert-buffer-with-coding-system] | 134 | :enable (file-readable-p |
| 132 | '(menu-item "For Reverting This File Now" revert-buffer-with-coding-system | 135 | (expand-file-name "HELLO" data-directory)) |
| 133 | :enable buffer-file-name | 136 | :help "Display file which says HELLO in many languages")) |
| 134 | :help "Revisit this file immediately using specified coding system") | 137 | (define-key-after map [separator-coding-system] '("--")) |
| 135 | t) | 138 | |
| 136 | (define-key-after set-coding-system-map [set-file-name-coding-system] | 139 | (define-key-after map [describe-language-environment] |
| 137 | '(menu-item "For File Name" set-file-name-coding-system | 140 | (list 'menu-item "Describe Language Environment" |
| 138 | :help "How to decode/encode file names") | 141 | describe-language-environment-map |
| 139 | t) | 142 | :help "Show multilingual settings for a specific language")) |
| 140 | (define-key-after set-coding-system-map [separator-2] | 143 | (define-key-after map [describe-input-method] |
| 141 | '("--") | 144 | '(menu-item "Describe Input Method..." describe-input-method |
| 142 | t) | 145 | :help "Keyboard layout for a specific input method")) |
| 143 | 146 | (define-key-after map [describe-coding-system] | |
| 144 | (define-key-after set-coding-system-map [set-keyboard-coding-system] | 147 | '(menu-item "Describe Coding System..." describe-coding-system)) |
| 145 | '(menu-item "For Keyboard" set-keyboard-coding-system | 148 | (define-key-after map [list-character-sets] |
| 146 | :help "How to decode keyboard input") | 149 | '(menu-item "List Character Sets" list-character-sets |
| 147 | t) | 150 | :help "Show table of available character sets")) |
| 148 | (define-key-after set-coding-system-map [set-terminal-coding-system] | 151 | (define-key-after map [mule-diag] |
| 149 | '(menu-item "For Terminal" set-terminal-coding-system | 152 | '(menu-item "Show All of Mule Status" mule-diag |
| 150 | :enable (null (memq initial-window-system '(x w32 ns))) | 153 | :help "Display multilingual environment settings")) |
| 151 | :help "How to encode terminal output") | 154 | map) |
| 152 | t) | 155 | "Keymap for Mule (Multilingual environment) menu specific commands.") |
| 153 | (define-key-after set-coding-system-map [separator-3] | ||
| 154 | '("--") | ||
| 155 | t) | ||
| 156 | (define-key-after set-coding-system-map [set-selection-coding-system] | ||
| 157 | '(menu-item "For X Selections/Clipboard" set-selection-coding-system | ||
| 158 | :visible (display-selections-p) | ||
| 159 | :help "How to en/decode data to/from selection/clipboard") | ||
| 160 | t) | ||
| 161 | (define-key-after set-coding-system-map [set-next-selection-coding-system] | ||
| 162 | '(menu-item "For Next X Selection" set-next-selection-coding-system | ||
| 163 | :visible (display-selections-p) | ||
| 164 | :help "How to en/decode next selection/clipboard operation") | ||
| 165 | t) | ||
| 166 | (define-key-after set-coding-system-map [set-buffer-process-coding-system] | ||
| 167 | '(menu-item "For I/O with Subprocess" set-buffer-process-coding-system | ||
| 168 | :visible (fboundp 'start-process) | ||
| 169 | :enable (get-buffer-process (current-buffer)) | ||
| 170 | :help "How to en/decode I/O from/to subprocess connected to this buffer") | ||
| 171 | t) | ||
| 172 | |||
| 173 | |||
| 174 | (define-key setup-language-environment-map | ||
| 175 | [Default] '(menu-item "Default" setup-specified-language-environment)) | ||
| 176 | |||
| 177 | (define-key describe-language-environment-map | ||
| 178 | [Default] '(menu-item "Default" describe-specified-language-support)) | ||
| 179 | 156 | ||
| 180 | ;; This should be a single character key binding because users use it | 157 | ;; This should be a single character key binding because users use it |
| 181 | ;; very frequently while editing multilingual text. Now we can use | 158 | ;; very frequently while editing multilingual text. Now we can use |
| @@ -869,8 +846,7 @@ overrides ACCEPT-DEFAULT-P. | |||
| 869 | 846 | ||
| 870 | Kludgy feature: if FROM is a string, the string is the target text, | 847 | Kludgy feature: if FROM is a string, the string is the target text, |
| 871 | and TO is ignored." | 848 | and TO is ignored." |
| 872 | (if (and default-coding-system | 849 | (if (not (listp default-coding-system)) |
| 873 | (not (listp default-coding-system))) | ||
| 874 | (setq default-coding-system (list default-coding-system))) | 850 | (setq default-coding-system (list default-coding-system))) |
| 875 | 851 | ||
| 876 | (let ((no-other-defaults nil) | 852 | (let ((no-other-defaults nil) |
| @@ -1215,7 +1191,7 @@ in the European submenu in each of those two menus." | |||
| 1215 | (downcase parent)))) | 1191 | (downcase parent)))) |
| 1216 | (define-prefix-command map nil prompt) | 1192 | (define-prefix-command map nil prompt) |
| 1217 | (define-key-after describe-map (vector parent-symbol) | 1193 | (define-key-after describe-map (vector parent-symbol) |
| 1218 | (cons parent map) t))) | 1194 | (cons parent map)))) |
| 1219 | (setq describe-map (symbol-value map)) | 1195 | (setq describe-map (symbol-value map)) |
| 1220 | (setq map (lookup-key setup-map (vector parent-symbol))) | 1196 | (setq map (lookup-key setup-map (vector parent-symbol))) |
| 1221 | (if (not map) | 1197 | (if (not map) |
| @@ -1224,7 +1200,7 @@ in the European submenu in each of those two menus." | |||
| 1224 | (downcase parent)))) | 1200 | (downcase parent)))) |
| 1225 | (define-prefix-command map nil prompt) | 1201 | (define-prefix-command map nil prompt) |
| 1226 | (define-key-after setup-map (vector parent-symbol) | 1202 | (define-key-after setup-map (vector parent-symbol) |
| 1227 | (cons parent map) t))) | 1203 | (cons parent map)))) |
| 1228 | (setq setup-map (symbol-value map)) | 1204 | (setq setup-map (symbol-value map)) |
| 1229 | (setq l (cdr l))))) | 1205 | (setq l (cdr l))))) |
| 1230 | 1206 | ||
| @@ -1232,9 +1208,9 @@ in the European submenu in each of those two menus." | |||
| 1232 | (let ((doc (assq 'documentation alist))) | 1208 | (let ((doc (assq 'documentation alist))) |
| 1233 | (when doc | 1209 | (when doc |
| 1234 | (define-key-after describe-map (vector (intern lang-env)) | 1210 | (define-key-after describe-map (vector (intern lang-env)) |
| 1235 | (cons lang-env 'describe-specified-language-support) t))) | 1211 | (cons lang-env 'describe-specified-language-support)))) |
| 1236 | (define-key-after setup-map (vector (intern lang-env)) | 1212 | (define-key-after setup-map (vector (intern lang-env)) |
| 1237 | (cons lang-env 'setup-specified-language-environment) t) | 1213 | (cons lang-env 'setup-specified-language-environment)) |
| 1238 | 1214 | ||
| 1239 | (dolist (elt alist) | 1215 | (dolist (elt alist) |
| 1240 | (set-language-info-internal lang-env (car elt) (cdr elt))) | 1216 | (set-language-info-internal lang-env (car elt) (cdr elt))) |