aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2009-08-10 21:42:33 +0000
committerStefan Monnier2009-08-10 21:42:33 +0000
commit64657387b27fef24a961228d7c7b5f18a5fa05f3 (patch)
tree95fa2fd8185bb73ef0b7ab30ade1ebc101f5f15a
parenta57855348341242c934c010bc50480dca143c471 (diff)
downloademacs-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.el244
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
870Kludgy feature: if FROM is a string, the string is the target text, 847Kludgy feature: if FROM is a string, the string is the target text,
871and TO is ignored." 848and 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)))