emacs-devel
[Top][All Lists]
Advanced

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

Re: custom-save-variables: Unknown requested feature: nil


From: Luc Teirlinck
Subject: Re: custom-save-variables: Unknown requested feature: nil
Date: Wed, 30 Nov 2005 19:55:46 -0600 (CST)

David Reitter wrote:

   I don't know what caused it. The below change makes the message go  
   away, but it's quite possibly not the right fix.

I believe that it is the right fix, but the same fix needs to be
applied to three other options, as I pointed out in my earlier reply.

   That `:require nil' came from the following change by Stefan Monnier
   on 2002-09-13:

        * simple.el: Provide `simple'.
        (transient-mark-mode, line-number-mode, column-number-mode):
        Pass an explicit `:require nil' argument.

   I do not know the reason for that change.

Whatever the reason for that change, it seems wrong.  I believe that
it tried to undo an at the time automatic :require written by
define-minor-mode.  It did not do that.  Instead it tried to require
the library nil.el _in addition_ to the other require, instead of
overwriting it.  (A defcustom can have more than one :require.  These
do not override each other.  Instead, all libraries are required by
the defcustom.)  This did not lead to an error, because of code in
custom-save-variables:

            (when (and (symbolp request) (not (featurep request)))
                  (message "Unknown requested feature: %s" request)
                  (setq requests (delq request requests))))

which eliminated the `:require nil'.

If you disable the above piece of code and customize transient-mark-mode
and save it, then the next time you try to load your init file, it
will yield an error because it can not open the library nil.

Not only did the 2002 change not do what it tried to do, it is also no
longer necessary to try to do it, since the following more recent change:

2005-06-26  Stefan Monnier  <address@hidden>

            * emacs-lisp/easy-mmode.el (define-minor-mode): Don't
            automatically add a :require to the defcustom.

I believe that the `:require nil' should be deleted in the defcustoms
for transient-mark-mode, line-number-mode, column-number-mode and
size-indication-mode.

Sincerely,

Luc.




reply via email to

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