aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/cus-theme.el
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2005-12-31 02:04:03 +0000
committerChong Yidong <[email protected]>2005-12-31 02:04:03 +0000
commitbdeaa675d1d646d75f145b482915c7ed1721e408 (patch)
tree4aad73e5b4bd22a3db3a4efdd587ed0ed3863191 /lisp/cus-theme.el
parent3a6c62dbcb2461c8d3c49b4edfeb9d50009e7e54 (diff)
* cus-theme.el (custom-new-theme-mode-map): New variable.
Diffstat (limited to 'lisp/cus-theme.el')
-rw-r--r--lisp/cus-theme.el16
1 files changed, 15 insertions, 1 deletions
diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el
index 7d716717b5..b95ffc5d32 100644
--- a/lisp/cus-theme.el
+++ b/lisp/cus-theme.el
@@ -31,11 +31,25 @@
(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)