]> code.delx.au - gnu-emacs/commitdiff
cus-edit.el (custom-command-apply): Specify the return value in the doc
authorAlan Mackenzie <acm@muc.de>
Wed, 15 Oct 2014 15:23:27 +0000 (15:23 +0000)
committerAlan Mackenzie <acm@muc.de>
Wed, 15 Oct 2014 15:23:27 +0000 (15:23 +0000)
string.
(Custom-reset-standard): Save custom-file (e.g. .emacs) only when
custom-command-apply has returned non-nil.

lisp/ChangeLog
lisp/cus-edit.el

index 7e09336183c9712c85d19230cf9d5d3d37c80ca4..6b0c8a67b796be091fa3d1b48a2260241d2f43ca 100644 (file)
@@ -1,3 +1,10 @@
+2014-10-15  Alan Mackenzie  <acm@muc.de>
+
+       * cus-edit.el (custom-command-apply): Specify the return value in
+       the doc string.
+       (Custom-reset-standard): Save custom-file (e.g. .emacs) only when
+       custom-command-apply has returned non-nil.
+
 2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * emacs-lisp/lisp.el (lisp--local-variables-1): Handle `quote'.
index b54898a171c684cf1ec9490e6328852bd614930a..c8e9b90437d607112c8c9eabd223ea3e98dd5a09 100644 (file)
@@ -779,7 +779,8 @@ when the action is chosen.")
   "Call function FUN on all widgets in `custom-options'.
 If there is more than one widget, ask user for confirmation using
 the query string QUERY, using `y-or-n-p' if STRONG-QUERY is nil,
-and `yes-or-no-p' otherwise."
+and `yes-or-no-p' otherwise.  Return non-nil if the functionality
+has been executed, nil otherwise."
   (if (or (and (= 1 (length custom-options))
               (memq (widget-type (car custom-options))
                     '(custom-variable custom-face)))
@@ -892,16 +893,16 @@ making them as if they had never been customized at all."
   ;; Bind these temporarily.
   (let ((custom-reset-standard-variables-list '(t))
        (custom-reset-standard-faces-list '(t)))
-    (custom-command-apply
-     (lambda (widget)
-       (and (or (null (widget-get widget :custom-standard-value))
-               (widget-apply widget :custom-standard-value))
-           (memq (widget-get widget :custom-state)
-                 '(modified set changed saved rogue))
-           (widget-apply widget :custom-mark-to-reset-standard)))
-     "The settings will revert to their default values, in this
+    (if (custom-command-apply
+        (lambda (widget)
+          (and (or (null (widget-get widget :custom-standard-value))
+                   (widget-apply widget :custom-standard-value))
+               (memq (widget-get widget :custom-state)
+                     '(modified set changed saved rogue))
+               (widget-apply widget :custom-mark-to-reset-standard)))
+        "The settings will revert to their default values, in this
 and future sessions.  Really erase customizations? " t)
-    (custom-reset-standard-save-and-update)))
+       (custom-reset-standard-save-and-update))))
 
 ;;; The Customize Commands