summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Teirlinck <teirllm@auburn.edu>2006-01-15 03:15:25 +0000
committerLuc Teirlinck <teirllm@auburn.edu>2006-01-15 03:15:25 +0000
commit025fddd4ed8413e1678a3e14935c462afd1eb668 (patch)
tree6155a1630515f97751c2376eb8c8124c1152d00e
parentb41e2e73f41b44a8ea97579326b176e15bceb674 (diff)
downloademacs-025fddd4ed8413e1678a3e14935c462afd1eb668.tar.gz
(Custom-set, Custom-save, Custom-reset-current, Custom-reset-saved):
Do not ask for confirmation in single option buffers.
-rw-r--r--lisp/cus-edit.el55
1 files changed, 34 insertions, 21 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 7b0563448a6..cf69ce61ac2 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -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.