* cus-theme.el (custom-new-theme-mode-map): New variable.
authorChong Yidong <cyd@stupidchicken.com>
Sat, 31 Dec 2005 02:04:03 +0000 (02:04 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 31 Dec 2005 02:04:03 +0000 (02:04 +0000)
lisp/ChangeLog
lisp/cus-theme.el

index d8faabb..80829c7 100644 (file)
@@ -1,6 +1,7 @@
 2005-12-30  Chong Yidong  <cyd@stupidchicken.com>
 
        * cus-theme.el (custom-new-theme-mode): Use cus-edit faces.
+       (custom-new-theme-mode-map): New variable.
 
 2005-12-30  Richard M. Stallman  <rms@gnu.org>
 
index 7d71671..b95ffc5 100644 (file)
 (eval-when-compile
   (require 'wid-edit))
 
+(defvar custom-new-theme-mode-map
+  ;; This keymap should be dense, but a dense keymap would prevent inheriting
+  ;; "\r" bindings from the parent map.
+  ;; Actually, this misfeature of dense keymaps was fixed on 2001-11-26.
+  (let ((map (make-keymap)))
+    (set-keymap-parent map widget-keymap)
+    (suppress-keymap map)
+    (define-key map "n" 'widget-forward)
+    (define-key map "p" 'widget-backward)
+    (define-key map [mouse-1] 'widget-move-and-invoke)
+    map)
+  "Keymap for `custom-new-theme-mode'.")
+
 (define-derived-mode custom-new-theme-mode nil "New-Theme"
   "Major mode for the buffer created by `customize-create-theme'.
 Do not call this mode function yourself.  It is only meant for internal
 use by `customize-create-theme'."
-  (set-keymap-parent custom-new-theme-mode-map widget-keymap)
+  (use-local-map custom-new-theme-mode-map)
+  (define-key custom-new-theme-mode-map [mouse-1] 'widget-move-and-invoke)
   (set (make-local-variable 'widget-documentation-face) 'custom-documentation)
   (set (make-local-variable 'widget-button-face) custom-button)
   (set (make-local-variable 'widget-button-pressed-face) custom-button-pressed)