Subject: bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms

From: Stefan Monnier <[email-masked]>
Date: Sun, 11 Jul 2021 10:27:11 -0400

> So I think we should simply remove the :initialize tag from that
> variable.

Agreed.  `custom-initialize-delay` should be used sparingly.

> However, given this incident, I'm worried that others could trip on
> this subtlety.  So I wonder whether we should describe it in the ELisp
> manual.

What is "it"?  `custom-initialize-delay` is described in
`lispref/custom.texi` so are you suggesting that we don't describe
it there?  I could go along with that (it's only meaningful for
predumped files so it is kind of "internal to Emacs's core").
At the same time I don't see how that would have helped here.

> I think we should generally advise against using this tag for
> defcustom's that might affect the startup code itself.

We should generally advise against using this initialization function
at all.  Obviously it has its uses, but it's finicky.

> For 100% safety, one should probably use it only with variables
> defined in C.  Stefan, do you agree?

I don't see why being defined in C would be relevant, no.

        Stefan