]> git.eshelyaron.com Git - emacs.git/commitdiff
(Custom-set, Custom-save, Custom-reset-current, Custom-reset-saved):
authorLuc Teirlinck <teirllm@auburn.edu>
Sun, 15 Jan 2006 03:15:25 +0000 (03:15 +0000)
committerLuc Teirlinck <teirllm@auburn.edu>
Sun, 15 Jan 2006 03:15:25 +0000 (03:15 +0000)
Do not ask for confirmation in single option buffers.

lisp/cus-edit.el

index 7b0563448a683af884d64608cec5edc30f4e5814..cf69ce61ac24876b74d2a44928f6e3e8554b8749 100644 (file)
@@ -746,28 +746,35 @@ groups after non-groups, if nil do not order groups at all."
 (defun Custom-set ()
   "Set the current value of all edited settings in the buffer."
   (interactive)
-  (if (y-or-n-p "Set all values according to this buffer? ")
-      (let ((children custom-options))
+  (let ((children custom-options))
+    (if (or (and (= 1 (length children))
+                (memq (widget-type (car children))
+                      '(custom-variable custom-face)))
+           (y-or-n-p "Set all values according to this buffer? "))
        (mapc (lambda (child)
                (when (eq (widget-get child :custom-state) 'modified)
                  (widget-apply child :custom-set)))
-             children))
-    (message "Aborted")))
+             children)
+      (message "Aborted"))))
 
 (defun Custom-save ()
   "Set all edited settings, then save all settings that have been set.
 If a setting was edited and set before, this saves it.
 If a setting was merely edited before, this sets it then saves it."
   (interactive)
-  (if (yes-or-no-p "Save all settings in this buffer? ")
-      (let ((children custom-options))
-       (mapc (lambda (child)
-               (when (memq (widget-get child :custom-state)
-                           '(modified set changed rogue))
-                 (widget-apply child :custom-save)))
-             children)
-       (custom-save-all))
-    (message "Aborted")))
+  (let ((children custom-options))
+    (if (or (and (= 1 (length children))
+                (memq (widget-type (car children))
+                      '(custom-variable custom-face)))
+           (yes-or-no-p "Save all settings in this buffer? "))
+       (progn
+         (mapc (lambda (child)
+                 (when (memq (widget-get child :custom-state)
+                             '(modified set changed rogue))
+                   (widget-apply child :custom-save)))
+               children)
+         (custom-save-all))
+      (message "Aborted"))))
 
 (defvar custom-reset-menu
   '(("Undo Edits" . Custom-reset-current)
@@ -790,27 +797,33 @@ when the action is chosen.")
 (defun Custom-reset-current (&rest ignore)
   "Reset all edited settings in the buffer to show their current values."
   (interactive)
-  (if (y-or-n-p "Reset all settings' buffer text to show current values? ")
-      (let ((children custom-options))
+  (let ((children custom-options))
+    (if (or (and (= 1 (length children))
+                (memq (widget-type (car children))
+                      '(custom-variable custom-face)))
+           (y-or-n-p "Reset all settings' buffer text to show current values?  "))
        (mapc (lambda (widget)
                (if (memq (widget-get widget :custom-state)
                          '(modified changed))
                    (widget-apply widget :custom-reset-current)))
-             children))
-    (message "Aborted")))
+             children)
+      (message "Aborted"))))
 
 (defun Custom-reset-saved (&rest ignore)
   "Reset all edited or set settings in the buffer to their saved value.
 This also shows the saved values in the buffer."
   (interactive)
-  (if (y-or-n-p "Reset all settings (current values and buffer text) to saved values? ")
-      (let ((children custom-options))
+  (let ((children custom-options))
+    (if (or (and (= 1 (length children))
+                (memq (widget-type (car children))
+                      '(custom-variable custom-face)))
+           (y-or-n-p "Reset all settings (current values and buffer text) to saved values? "))
        (mapc (lambda (widget)
                (if (memq (widget-get widget :custom-state)
                          '(modified set changed rogue))
                    (widget-apply widget :custom-reset-saved)))
-             children))
-    (message "Aborted")))
+             children)
+      (message "Aborted"))))
 
 (defun Custom-reset-standard (&rest ignore)
   "Erase all customization (either current or saved) for the group members.