From: Mauro Aranda Date: Mon, 30 Dec 2019 21:10:28 +0000 (-0300) Subject: Reset to the standard value when reverting session's customizations X-Git-Tag: emacs-27.0.90~182 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8addfa91c8;p=emacs.git Reset to the standard value when reverting session's customizations * lisp/cus-edit.el (custom-variable-reset-saved): When there is no previous saved value, reset to the standard value. (Bug#15214) --- diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 0ca3f1ede85..d3d17fda7ad 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -3035,17 +3035,18 @@ Update the widget to show that value. The value that was current before this operation becomes the backup value." (let* ((symbol (widget-value widget)) (saved-value (get symbol 'saved-value)) - (comment (get symbol 'saved-variable-comment))) + (comment (get symbol 'saved-variable-comment)) + value) (custom-variable-backup-value widget) (if (not (or saved-value comment)) - ;; If there is no saved value, remove the setting. - (custom-push-theme 'theme-value symbol 'user 'reset) - ;; Otherwise, apply the saved value. - (put symbol 'variable-comment comment) - (custom-push-theme 'theme-value symbol 'user 'set (car-safe saved-value)) - (ignore-errors - (funcall (or (get symbol 'custom-set) 'set-default) - symbol (eval (car saved-value))))) + ;; If there is no saved value, remove the setting. + (custom-push-theme 'theme-value symbol 'user 'reset) + (setq value (car-safe saved-value)) + (custom-push-theme 'theme-value symbol 'user 'set value) + (put symbol 'variable-comment comment)) + (ignore-errors + (funcall (or (get symbol 'custom-set) #'set-default) symbol + (eval (or value (car (get symbol 'standard-value)))))) (put symbol 'customized-value nil) (put symbol 'customized-variable-comment nil) (widget-put widget :custom-state 'unknown)