summaryrefslogtreecommitdiff
path: root/lisp/custom.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2017-02-21 12:59:56 -0500
committerGlenn Morris <rgm@gnu.org>2017-02-21 12:59:56 -0500
commit20dda6be76236253f689037a31dcc82cc9673bd4 (patch)
tree7e079394724ec5935f2442738960c714f0528efe /lisp/custom.el
parent96cea19842b577eb4f2e057d702aea54d736233e (diff)
downloademacs-20dda6be76236253f689037a31dcc82cc9673bd4.tar.gz
Tweak recent custom-reevaluate-setting change
* lisp/custom.el (custom-reevaluate-setting): Tweak previous change to avoid font-lock init issues.
Diffstat (limited to 'lisp/custom.el')
-rw-r--r--lisp/custom.el18
1 files changed, 7 insertions, 11 deletions
diff --git a/lisp/custom.el b/lisp/custom.el
index 7eaff450c5d..030478ab172 100644
--- a/lisp/custom.el
+++ b/lisp/custom.el
@@ -764,17 +764,13 @@ Return non-nil if the `customized-value' property actually changed."
Use the :set function to do so. This is useful for customizable options
that are defined before their standard value can really be computed.
E.g. dumped variables whose default depends on run-time information."
- (let ((val (car (or (get symbol 'saved-value)
- (get symbol 'standard-value)))))
- (if (default-boundp symbol)
- (funcall (or (get symbol 'custom-set) 'set-default) symbol (eval val))
- ;; If it has never been set at all, defvar it so as to mark it
- ;; special, etc (bug#25770). This ignores any :set function,
- ;; but that is not supposed to be used for initialization anyway.
- ;; Or we could move this branch to the start, then unconditionally
- ;; call the custom-set branch.
- (eval `(defvar ,symbol ,val)))))
-
+ ;; If it has never been set at all, defvar it so as to mark it
+ ;; special, etc (bug#25770).
+ (or (default-boundp symbol)
+ (eval `(defvar ,symbol nil)))
+ (funcall (or (get symbol 'custom-set) 'set-default)
+ symbol
+ (eval (car (or (get symbol 'saved-value) (get symbol 'standard-value))))))
;;; Custom Themes