Subject: bug#16266: 24.3; `load-theme' prevents immediate setting of themed variables

From: Alex Kost <[email-masked]>
Date: Fri, 27 Dec 2013 11:15:49 +0400

Specifying optional arguments (NOW, REQUEST, COMMENT) for ARGS of
`custom-theme-set-variables' doesn't take effect.

`load-theme' function has this piece:

	(let ((custom--inhibit-theme-enable t)  ;;; why this is here?
              (buffer-file-name fn))    ;For load-history.
	  (eval-buffer))

Because of that, a big piece of `custom-theme-set-variables' function is
never evaluated:

      (unless custom--inhibit-theme-enable      ;;; this var is always T
	;; Now set the variable.
	(let* ((now (nth 2 entry))
	       (requests (nth 3 entry))
	       (comment (nth 4 entry))
	       set)
          ...
          ))

I found a very similar letter to emacs.devel mailing list:
<http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00473.html>.

As far as I can see, this bug is in 24.3.50 as well.

In GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 3.8.2)
 of 2013-08-07 on -mnt-storage-buildroots-staging-i686-eric