# HG changeset patch # User Ken Manheimer # Date 1295560635 18000 # Node ID e5e8faa33346f888160e31f169a0fd4f01d0f5c5 # Parent ac3e3168aca26b2b73b65e79ac0157128b468fc1 (allout-institute-keymap): Use fset instead of reapplying defalias. (allout-hotspot-key-handler): Check for non-control-modified bindings for hotspot characters if there is no control-modified versions. diff -r ac3e3168aca2 -r e5e8faa33346 lisp/allout.el --- a/lisp/allout.el Thu Jan 20 13:13:30 2011 -0500 +++ b/lisp/allout.el Thu Jan 20 16:57:15 2011 -0500 @@ -169,10 +169,11 @@ ;; used in minor-mode-map-alist to indirect to the actual ;; allout-mode-map-var value, which can be adjusted and reassigned. + ;; allout-mode-map-value for keymap reference in various places: (setq allout-mode-map-value map) - ;; The defalias reexecution is necessary when allout-mode-map-value is - ;; changing from nil, and it doesn't hurt to do it every time, so: - (defalias 'allout-mode-map allout-mode-map-value)) + ;; the function value keymap of allout-mode-map is used in + ;; minor-mode-map-alist - update it: + (fset allout-mode-map allout-mode-map-value)) ;;;_ * intialize the mode map: ;; ensure that allout-mode-map has some setting even if allout-mode hasn't ;; been invoked: @@ -3416,13 +3417,18 @@ (not modified) (<= 33 key-num) (setq mapped-binding - ;; translate as a keybinding: - (key-binding (vconcat allout-command-prefix - (vector - (if (and (<= 97 key-num) ; "a" - (>= 122 key-num)) ; "z" - (- key-num 96) key-num))) - t))) + (or + ;; try control-modified versions of keys: + (key-binding (vconcat allout-command-prefix + (vector + (if (and (<= 97 key-num) ; "a" + (>= 122 key-num)) ; "z" + (- key-num 96) key-num))) + t) + ;; try non-modified versions of keys: + (key-binding (vconcat allout-command-prefix + (vector key-num)) + t)))) ;; Qualified as an allout command -- do hot-spot operation. (setq allout-post-goto-bullet t) ;; accept-defaults nil, or else we get allout-item-icon-key-handler.