diff 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
line wrap: on
line diff
--- a/lisp/x-init.el	Thu Feb 26 18:35:11 2009 +0900
+++ b/lisp/x-init.el	Sun Mar 01 11:11:46 2009 +0000
@@ -86,13 +86,14 @@
 ;; Sun have done to the default keymap for the Sun keyboards.
 (defun x-initialize-compose (device)
   "Enable compose key and dead key processing on DEVICE."
-  (autoload 'compose-map	    "x-compose" nil t 'keymap)
-  (autoload 'compose-acute-map	    "x-compose" nil t 'keymap)
-  (autoload 'compose-grave-map	    "x-compose" nil t 'keymap)
-  (autoload 'compose-cedilla-map    "x-compose" nil t 'keymap)
-  (autoload 'compose-diaeresis-map  "x-compose" nil t 'keymap)
-  (autoload 'compose-circumflex-map "x-compose" nil t 'keymap)
-  (autoload 'compose-tilde-map	    "x-compose" nil t 'keymap)
+  (loop for map in '(compose-map compose-acute-map compose-grave-map
+                     compose-cedilla-map compose-diaeresis-map
+                     compose-circumflex-map compose-tilde-map
+                     compose-ring-map compose-caron-map compose-macron-map
+                     compose-breve-map compose-dot-map
+                     compose-doubleacute-map compose-ogonek-map
+                     compose-hook-map compose-horn-map)
+    do (autoload map "x-compose" nil t 'keymap))
 
   (loop 
     for (key map)
@@ -195,10 +196,19 @@
          (dead-acute		compose-acute-map)
          (dead-grave		compose-grave-map)
          (dead-cedilla		compose-cedilla-map)
-         (dead-diaeresis		compose-diaeresis-map)
+         (dead-diaeresis	compose-diaeresis-map)
          (dead-circum		compose-circumflex-map)
          (dead-circumflex	compose-circumflex-map)
-         (dead-tilde		compose-tilde-map))
+         (dead-tilde		compose-tilde-map)
+         (dead-abovering        compose-ring-map)
+         (dead-caron            compose-caron-map)
+         (dead-macron           compose-macron-map)
+         (dead-breve            compose-breve-map)
+         (dead-abovedot         compose-dot-map)
+         (dead-doubleacute      compose-doubleacute-map)
+         (dead-ogonek           compose-ogonek-map)
+         (dead-hook             compose-hook-map)
+         (dead-horn             compose-horn-map))
     
     ;; Get the correct value for function-key-map
     with function-key-map = (symbol-value-in-console 'function-key-map