Subject: bug#1041: 23.0.60; Custom variable not turned on after autoload

From: Stefan Monnier <[email-masked]>
Date: Sun, 28 Sep 2008 19:19:24 -0400

> I just changed som (require ...) to autoloads and noticed that some
> things stopped working. It looks like custom variables are not turned on
> correctly after autoload. The loading is done after
> custom-set-variables. Here is how I handle one such case now:

> ;;;###autoload
> (define-globalized-minor-mode nxhtml-global-minor-mode
>   nxhtml-minor-mode
>   nxhtml-maybe-turn-on-minor-mode
>   :require 'nxhtml-menu
>   :group 'nxhtml)
> (custom-reevaluate-setting 'nxhtml-global-minor-mode)
> (when nxhtml-global-minor-mode (nxhtml-global-minor-mode 1))

> I am not sure about the details and I do not have time to look into it
> right now, but it looks like the saved values are not used after the
> autoload. This is what I use `custom-reevaluate-setting' above for.

> The line below is for a problem when loading the library with a minor
> mode after custom-set-variables have been called. I have reported this
> problem long ago and have a patch for it. (I am not sure if this bug is
> still there since I distribute most of my libraries with something like
> the last line above. I get no bug reports about it.)

In theory, both the custom-reevaluate-setting and the `when' line should
not be needed (and are undesirable).  Also, please provide a test case
(ideally even outside of nxhtml) that shows the problem you're
describing.

        Stefan