Mercurial > emacs
changeset 68194:f4bca1157746
(Custom-set, Custom-save, Custom-reset-current, Custom-reset-saved):
Do not ask for confirmation in single option buffers.
author | Luc Teirlinck <teirllm@auburn.edu> |
---|---|
date | Sun, 15 Jan 2006 03:15:25 +0000 |
parents | 3b51c31a76ae |
children | bb2dfb332355 |
files | lisp/cus-edit.el |
diffstat | 1 files changed, 34 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/cus-edit.el Sun Jan 15 03:13:20 2006 +0000 +++ b/lisp/cus-edit.el Sun Jan 15 03:15:25 2006 +0000 @@ -746,28 +746,35 @@ (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 @@ (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.