GNU bug report logs - #25770
delayed-init custom variables are not special

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Fri, 17 Feb 2017 06:16:02 UTC

Severity: normal

Found in version 25.1

Fixed in version 26.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #13 received at 25770 <at> debbugs.gnu.org (full text, mbox):

From: Tino Calancha <tino.calancha <at> gmail.com>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 25770 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>,
 tino.calancha <at> gmail.com
Subject: Re: bug#25770: delayed-init custom variables are not special
Date: Tue, 21 Feb 2017 18:41:42 +0900
Glenn Morris <rgm <at> gnu.org> writes:

> Glenn Morris wrote:
>
>> It seems that defcustoms that use custom-initialize-delay end up not
>> being special.
>
> Maybe something like this?
>
> --- i/lisp/custom.el
> +++ w/lisp/custom.el
> @@ -764,9 +764,12 @@ custom-reevaluate-setting
>  Use the :set function to do so.  This is useful for customizable options
>  that are defined before their standard value can really be computed.
>  E.g. dumped variables whose default depends on run-time information."
> -  (funcall (or (get symbol 'custom-set) 'set-default)
> -	   symbol
> -	   (eval (car (or (get symbol 'saved-value) (get symbol 'standard-value))))))
> +  (let ((val (car (or (get symbol 'saved-value)
> +		      (get symbol 'standard-value)))))
> +    (if (default-boundp symbol)
> +	(funcall (or (get symbol 'custom-set) 'set-default) symbol (eval val))
> +      (eval `(defvar ,symbol ,val)))))
> +

After commit 96cea19842b577eb4f2e057d702aea54d736233e
emacs -Q lisp/subr.el
shows no fontification, even though the mode line
says that the buffer is in Emacs Lisp mode. 




This bug report was last modified 8 years and 91 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.