summaryrefslogtreecommitdiff
path: root/lisp/cus-edit.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/cus-edit.el')
-rw-r--r--lisp/cus-edit.el15
1 files changed, 15 insertions, 0 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index baa2e82a65a..bdf05f2b74b 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -2398,6 +2398,16 @@ and so forth. The remaining group tags are shown with
(or (nth (1- (widget-get widget :custom-level)) custom-group-tag-faces)
'custom-group-tag-face))
+(define-widget 'custom-group-visibility 'visibility
+ "An indicator and manipulator for hidden group contents."
+ :create 'custom-group-visibility-create)
+
+(defun custom-group-visibility-create (widget)
+ (let ((visible (widget-value widget)))
+ (if visible
+ (insert "--------")))
+ (widget-default-create widget))
+
(defun custom-group-value-create (widget)
"Insert a customize group for WIDGET in the current buffer."
(let ((state (widget-get widget :custom-state))
@@ -2979,6 +2989,9 @@ The format is suitable for use with `easy-menu-define'."
:type 'hook
:group 'custom-buffer )
+(defun custom-state-buffer-message ()
+ (message "To set the value, invoke [State] and choose the Set operation"))
+
(defun custom-mode ()
"Major mode for editing customization buffers.
@@ -3002,6 +3015,8 @@ if that value is non-nil."
(use-local-map custom-mode-map)
(easy-menu-add custom-mode-menu)
(make-local-variable 'custom-options)
+ (make-local-hook 'widget-edit-hook)
+ (add-hook 'widget-edit-hook 'custom-state-buffer-message nil t)
(run-hooks 'custom-mode-hook))
;;; The End.