]> git.eshelyaron.com Git - emacs.git/commitdiff
Keep the user theme in sync when marking a variable as set
authorMauro Aranda <maurooaranda@gmail.com>
Thu, 27 Aug 2020 14:22:35 +0000 (16:22 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 27 Aug 2020 14:22:35 +0000 (16:22 +0200)
* lisp/custom.el (customize-mark-as-set): Keep the user theme in sync
even if the new value of the variable is the saved-value or the
standard-value.  If we don't do this, custom themes might end up
stepping over the user preferences in a session (bug#28904).

lisp/custom.el

index db7f6a056d4d5abedd0a34f4a42dbe7cad045939..7581457ce8dd76591f8a63ae079f03f817f745d6 100644 (file)
@@ -758,6 +758,9 @@ Return non-nil if the `customized-value' property actually changed."
        (progn (put symbol 'customized-value (list (custom-quote value)))
               (custom-push-theme 'theme-value symbol 'user 'set
                                  (custom-quote value)))
+      (custom-push-theme 'theme-value symbol 'user
+                         (if (get symbol 'saved-value) 'set 'reset)
+                         (custom-quote value))
       (put symbol 'customized-value nil))
     ;; Changed?
     (not (equal customized (get symbol 'customized-value)))))