From: Luc Teirlinck Date: Tue, 22 Nov 2005 23:28:28 +0000 (+0000) Subject: (Custom-reset-standard): Make it handle Custom group X-Git-Tag: emacs-pretest-22.0.90~5712 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eac1f7d830bf3718849615973b30fc4ba1829fae;p=emacs.git (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 --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 59a8b341cad..b84568b7060 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -800,13 +800,18 @@ This operation eliminates any saved settings for the group members, 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