# HG changeset patch # User Luc Teirlinck # Date 1132702108 0 # Node ID 7ae3d744378eb6c434789e3dbecfedee4e05b308 # Parent bcb7b69bc80f686312024af7f7036ea96dabbca4 (Custom-reset-standard): Make it handle Custom group buffers correctly. (It used to throw an error in such buffers.) Make it ask for confirmation in group buffers and other Custom buffers containing more than one customization item. diff -r bcb7b69bc80f -r 7ae3d744378e lisp/cus-edit.el --- a/lisp/cus-edit.el Tue Nov 22 23:26:53 2005 +0000 +++ b/lisp/cus-edit.el Tue Nov 22 23:28:28 2005 +0000 @@ -800,13 +800,18 @@ making them as if they had never been customized at all." (interactive) (let ((children custom-options)) - (mapc (lambda (widget) - (and (widget-get widget :custom-standard-value) - (widget-apply widget :custom-standard-value) - (if (memq (widget-get widget :custom-state) - '(modified set changed saved rogue)) - (widget-apply widget :custom-reset-standard)))) - children))) + (when (or (and (= 1 (length children)) + (memq (widget-type (car children)) + '(custom-variable custom-face))) + (yes-or-no-p "Really erase all customizations in this buffer? ")) + (mapc (lambda (widget) + (and (if (widget-get widget :custom-standard-value) + (widget-apply widget :custom-standard-value) + t) + (memq (widget-get widget :custom-state) + '(modified set changed saved rogue)) + (widget-apply widget :custom-reset-standard))) + children)))) ;;; The Customize Commands