emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changes in the arg list for custom-set-variables - how should it be


From: Richard Stallman
Subject: Re: Changes in the arg list for custom-set-variables - how should it be handled
Date: Tue, 04 Jan 2005 22:31:52 -0500

I sent this message a few weeks ago, but nobody spoke up
to work on this.  Who would like to do this change?

    I have seen that there are some changes in the arg list for
    custom-set-variables from the current Emacs to CVS Emacs. For example for
    global-font-lock-mode:

        '(global-font-lock-mode t nil (font-lock))

    should be changed too

        '(global-font-lock-mode t nil (font-core))

Stephan Stahl <address@hidden> pointed out that the user does
not need to make this change, but that the new form, when written by
Emacs, could make the init file fail to load in older Emacs versions.

This kind of thing occurs when :require is used in the defcustom
macro.  In this case it results from the following code in
define-minor-mode:

               ,@(cond
                  ((not (and curfile require)) nil)
                  ((not (eq require t)) `(:require ,require))
                  (t `(:require
                       ',(intern (file-name-nondirectory
                                  (file-name-sans-extension curfile))))))

This puts a :require into the defcustom generated for the minor mode.
The result is that loading the setting of the variable forces loading
of the file the variable is defined in.  I suppose the reason for this
is so that the :set function can work right, but in the case
of global-font-lock-mode it is unnecessary since font-core.el is
preloaded.

In cases where such a definition is autoloaded instead, autoload.el
could set up something to record the necessary information elsewhere,
so that setting the variable will load the right files.  That way, it
won't have to be recorded in the custom-set-variables call, and this
problem will not happen.

Would someone like to work on this?  Please respond if you want
to do it.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]