From bdeaa675d1d646d75f145b482915c7ed1721e408 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 31 Dec 2005 02:04:03 +0000 Subject: [PATCH] * cus-theme.el (custom-new-theme-mode-map): New variable. --- lisp/ChangeLog | 1 + lisp/cus-theme.el | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d8faabbdac9..80829c7a581 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,7 @@ 2005-12-30 Chong Yidong * cus-theme.el (custom-new-theme-mode): Use cus-edit faces. + (custom-new-theme-mode-map): New variable. 2005-12-30 Richard M. Stallman diff --git a/lisp/cus-theme.el b/lisp/cus-theme.el index 7d716717b58..b95ffc5d329 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) -- 2.39.2