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

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 10 Jul 2021 21:56:35 +0200

Naofumi Yasufuku <[email-masked]> writes:

> Precondition:
> - Repository revision: 9ce6541ac9710933beca7f9944087fe4849d5ae9
> - macOS
> - $ mv ~/.emacs.d/eln-cache ~/.emacs.d/eln-cache.old
>
> Emacs doesn't start due to the following error:
>   $ ./src/emacs -Q
>   Symbol’s value as variable is void: lock-file-name-transforms
>   $

[...]

> -  return call1 (Qmake_lock_file_name, Fexpand_file_name (fn, Qnil));
> +  Lisp_Object func = intern ("make-lock-file-name");
> +  if (NILP (Fboundp (func)))
> +    return Qnil;
> +  return call1 (func, Fexpand_file_name (fn, Qnil));

Well, that code was buggy (as Michael pointed out) -- Fboundp doesn't
work on interned symbols, apparently?

But in any case, make-lock-file-name and lock-file-name-transforms are
defined in the same file ("files.el"), so what you're seeing here just
shouldn't be possible -- it should complain about make-lock-file-name
being undefined, not the variable.

So I think this points to there being something odd going on in your
build tree.  Are you sure you have no private modifications in the tree?
Do you still see this issue from a freshly checked out tree?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no