comparison lisp/x-init.el @ 4627:fdc76fec36d3

Vastly expand the characters x-compose.el supports. 2009-03-01 Aidan Kehoe <kehoea@parhasard.net> * x-compose.el: Document an XIM bug, and how one might work around it. (define-compose-map): Revise this macro, call it with compose-caron-map, compose-macron-map, compose-breve-map, compose-dot-map, compose-doubleacute-map, compose-ogonek-map, compose-hook-map, compose-horn-map as well as the previous existing maps. (compose-map): Add entries for caron, macron, doubleacute, ogonek, breve and abovedot to this map. Add an assert, this code assumes that a non-Mule build has no character codes above U+00FF. Incorporate all the precomposed Latin characters in UnicodeData.txt that we can into the maps, deciding at runtime on which exactly depending on whether this is a non-Mule or a Mule build. Remove a commented-out old X11 bug workaround. Use #'flet instead of defun + unintern for #'alias-colon-to-doublequote. Correct #'electric-diacritic to work with the keyboard macro versions of the maps. (compose-help): This has been turned off since 1994; no-one appears to have noticed, since the normal help mechanism offers similar functionality and is actually maintained. Removed entirely. Remove a superflous setting of a default value for ctl-arrow. * x-init.el (x-initialize-compose): Support the new dead key maps we just added to x-compose.el with autoloads here.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 01 Mar 2009 11:11:46 +0000
parents b75b075a9041
children dceee3855f15
comparison
equal deleted inserted replaced
4626:f1bb4cc3144a 4627:fdc76fec36d3
84 ;; Load X-server specific code. 84 ;; Load X-server specific code.
85 ;; Specifically, load some code to repair the grievous damage that MIT and 85 ;; Specifically, load some code to repair the grievous damage that MIT and
86 ;; Sun have done to the default keymap for the Sun keyboards. 86 ;; Sun have done to the default keymap for the Sun keyboards.
87 (defun x-initialize-compose (device) 87 (defun x-initialize-compose (device)
88 "Enable compose key and dead key processing on DEVICE." 88 "Enable compose key and dead key processing on DEVICE."
89 (autoload 'compose-map "x-compose" nil t 'keymap) 89 (loop for map in '(compose-map compose-acute-map compose-grave-map
90 (autoload 'compose-acute-map "x-compose" nil t 'keymap) 90 compose-cedilla-map compose-diaeresis-map
91 (autoload 'compose-grave-map "x-compose" nil t 'keymap) 91 compose-circumflex-map compose-tilde-map
92 (autoload 'compose-cedilla-map "x-compose" nil t 'keymap) 92 compose-ring-map compose-caron-map compose-macron-map
93 (autoload 'compose-diaeresis-map "x-compose" nil t 'keymap) 93 compose-breve-map compose-dot-map
94 (autoload 'compose-circumflex-map "x-compose" nil t 'keymap) 94 compose-doubleacute-map compose-ogonek-map
95 (autoload 'compose-tilde-map "x-compose" nil t 'keymap) 95 compose-hook-map compose-horn-map)
96 do (autoload map "x-compose" nil t 'keymap))
96 97
97 (loop 98 (loop
98 for (key map) 99 for (key map)
99 ;; The dead keys might really be called just about anything, depending 100 ;; The dead keys might really be called just about anything, depending
100 ;; on the vendor. MIT thinks that the prefixes are "SunFA_", "D", and 101 ;; on the vendor. MIT thinks that the prefixes are "SunFA_", "D", and
193 ;; fucking random, considering it doesn't happen for any other 194 ;; fucking random, considering it doesn't happen for any other
194 ;; character sets. 195 ;; character sets.
195 (dead-acute compose-acute-map) 196 (dead-acute compose-acute-map)
196 (dead-grave compose-grave-map) 197 (dead-grave compose-grave-map)
197 (dead-cedilla compose-cedilla-map) 198 (dead-cedilla compose-cedilla-map)
198 (dead-diaeresis compose-diaeresis-map) 199 (dead-diaeresis compose-diaeresis-map)
199 (dead-circum compose-circumflex-map) 200 (dead-circum compose-circumflex-map)
200 (dead-circumflex compose-circumflex-map) 201 (dead-circumflex compose-circumflex-map)
201 (dead-tilde compose-tilde-map)) 202 (dead-tilde compose-tilde-map)
203 (dead-abovering compose-ring-map)
204 (dead-caron compose-caron-map)
205 (dead-macron compose-macron-map)
206 (dead-breve compose-breve-map)
207 (dead-abovedot compose-dot-map)
208 (dead-doubleacute compose-doubleacute-map)
209 (dead-ogonek compose-ogonek-map)
210 (dead-hook compose-hook-map)
211 (dead-horn compose-horn-map))
202 212
203 ;; Get the correct value for function-key-map 213 ;; Get the correct value for function-key-map
204 with function-key-map = (symbol-value-in-console 'function-key-map 214 with function-key-map = (symbol-value-in-console 'function-key-map
205 (device-console device) 215 (device-console device)
206 function-key-map) 216 function-key-map)