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

Previous Next

Package: emacs;

Reported by: Naofumi Yasufuku <naofumi <at> yasufuku.dev>

Date: Sat, 10 Jul 2021 17:13:01 UTC

Severity: normal

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 49507 in the body.
You can then email your comments to 49507 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 17:13:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Naofumi Yasufuku <naofumi <at> yasufuku.dev>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 10 Jul 2021 17:13:02 GMT) Full text and rfc822 format available.

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

From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50; macOS: Symbol’s value as
 variable is void: lock-file-name-transforms
Date: Sun, 11 Jul 2021 02:11:51 +0900
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
  $

I've not seen such error under linux.  At least, this issue disappears
if make_lock_file_name() in src/filelock.c is reverted.

----
 src/filelock.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/filelock.c b/src/filelock.c
index 106633f584..052801a3e1 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -622,7 +622,10 @@ lock_if_free (lock_info_type *clasher, char *lfname)
 static Lisp_Object
 make_lock_file_name (Lisp_Object fn)
 {
-  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));
 }
 
 /* lock_file locks file FN,
----

Regards,
--Naofumi


In GNU Emacs 28.0.50 (build 2, x86_64-apple-darwin20.5.0, NS appkit-2022.50 Version 11.4 (Build 20F71))
 of 2021-07-11 built on hyperion.local
Repository revision: 9ce6541ac9710933beca7f9944087fe4849d5ae9
Repository branch: HEAD
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.4

Configured using:
 'configure --prefix=/Users/naofumi/.local/emacs-head --with-mailutils
 --with-native-compilation --with-xwidgets --with-ns
 --disable-ns-self-contained'

Configured features:
ACL DBUS GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG THREADS TIFF TOOLKIT_SCROLL_BARS XIM
XWIDGETS ZLIB

Important settings:
  value of $LC_TIME: C
  value of $LANG: ja_JP.UTF-8
  locale-coding-system: utf-8-hfs

Major mode: Lisp Interaction

Minor modes in effect:
  company-statistics-mode: t
  global-company-mode: t
  company-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  doom-modeline-mode: t
  which-key-mode: t
  disable-mouse-global-mode: t
  key-chord-mode: t
  shell-dirtrack-mode: t
  projectile-mode: t
  global-git-gutter-mode: t
  ivy-mode: t
  amx-mode: t
  pyvenv-tracking-mode: t
  editorconfig-mode: t
  windmove-mode: t
  winner-mode: t
  global-so-long-mode: t
  global-whitespace-mode: t
  recentf-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  savehist-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/naofumi/.emacs.d/elpa-28/cmake-mode-20210104.1831/cmake-mode hides /usr/local/share/emacs/site-lisp/cmake/cmake-mode
/Users/naofumi/.emacs.d/elpa-28/password-store-20200328.1214/password-store hides /usr/local/share/emacs/site-lisp/pass/password-store
/Users/naofumi/.emacs.d/elpa-28/transient-20210701.1116/transient hides /Users/naofumi/src/git.sv.gnu.org/emacs/lisp/transient

Features:
(shadow highlight-indent-guides editorconfig-core
editorconfig-core-handle editorconfig-fnmatch face-remap emacsbug
counsel xdg swiper server skk-cursor ccc skk-sticky skk-dcomp skk-comp
skk-look skk-server skk-study skk-hint skk-cus cus-edit pp cus-start
cus-load skk-emacs skk-macs skk-vars skk company-statistics
company-oddmuse company-keywords company-etags etags fileloop
company-gtags company-dabbrev-code company-dabbrev company-files
company-clang company-capf company-cmake company-semantic
company-template company-bbdb company pcase yasnippet-snippets yasnippet
doom-modeline doom-modeline-segments doom-modeline-env
doom-modeline-core shrink-path f all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat parse-time iso8601 ls-lisp
doom-tomorrow-night-theme doom-themes doom-themes-base
base16-tomorrow-night-theme base16-theme vlf-setup which-key
disable-mouse key-chord shell-pop term shell ehelp win-switch
elscreen-gf elscreen projectile grep compile ibuf-ext ibuffer
ibuffer-loaddefs git-gutter ivy-xref ivy-migemo two-column ivy-hydra ivy
ivy-faces ivy-overlay colir color ace-link avy amx s migemo
smart-jump-lisp-mode smart-jump-elisp-mode smart-jump xref project hydra
lv pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg
esh-module esh-groups esh-util editorconfig mu4e-maildirs-extension dash
gnus-dired mu4e desktop frameset mu4e-org ox-gfm ox-md ox-odt rng-loc
rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii
ox-publish ox org-element avl-tree generator org ob ob-tangle ob-ref
ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete pcomplete org-list org-faces org-entities noutline outline
easy-mmode org-version ob-emacs-lisp ob-core ob-eval org-table ol
org-keys org-compat org-macs org-loaddefs format-spec find-func
mu4e-main mu4e-view cal-menu calendar cal-loaddefs thingatpt comint
ansi-color mu4e-headers mu4e-compose mu4e-context mu4e-draft
mu4e-actions ido rfc2368 smtpmail sendmail mu4e-mark mu4e-message
flow-fill mu4e-proc mu4e-utils doc-view jka-compr image-mode exif
mu4e-lists hl-line mu4e-vars message rmc puny dired-x dired comp
comp-cstr warnings rx cl-extra help-mode dired-loaddefs rfc822 mml
mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader mu4e-meta auth-source-pass windmove
winner ring so-long disp-table whitespace recentf-ext recentf
tree-widget wid-edit diminish autorevert filenotify cua-base elec-pair
delsel paren savehist exec-path-from-shell finder-inf advice edmacro
kmacro slime-autoloads info package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib japan-util
iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads xwidget-internal dbusbind
kqueue cocoa ns lcms2 multi-tty make-network-process native-compile
emacs)

Memory information:
((conses 16 724701 452278)
 (symbols 48 40867 3)
 (strings 32 183109 67092)
 (string-bytes 1 6433859)
 (vectors 16 80273)
 (vector-slots 8 1785177 383090)
 (floats 8 1019 1732)
 (intervals 56 15057 358)
 (buffers 992 32))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 17:18:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sat, 10 Jul 2021 19:17:08 +0200
Naofumi Yasufuku <naofumi <at> yasufuku.dev> 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
>   $

Try saying "make bootstrap" and see whether the problem goes away.

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




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 10 Jul 2021 17:18:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 19:18:01 GMT) Full text and rfc822 format available.

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

From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Sun, 11 Jul 2021 04:17:24 +0900
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Naofumi Yasufuku <naofumi <at> yasufuku.dev> 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
>>   $
>
> Try saying "make bootstrap" and see whether the problem goes away.

I've tried "make bootstrap", but it doesn't solve.

I found out that this issue is language environment specific
and not macOS specific.  The same issue can be reproduced under linux
with LANG=ja_JP.UTF-8:


$ LANG=C ./src/emacs -Q
$ LANG=en_US.UTF-8 ./src/emacs -Q
# LANG=ja_JP.UTF-8 ./src/emacs -Q
Symbol’s value as variable is void: lock-file-name-transforms
$

------------------------------------------------------------------------
[naofumi <at> hyperion src ((9ce6541ac9...))]% gdb emacs
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin20.3.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from emacs...
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = /private/tmp/com.apple.launchd.LJFJOAZgMb/org.xquartz:0
TERM = xterm-256color
Breakpoint 1 at 0x1000d3a00: terminate_due_to_signal. (2 locations)
(gdb) b make_lock_file_name
Breakpoint 2 at 0x100100aa8: make_lock_file_name. (3 locations)
(gdb) r -Q
Starting program: /Users/naofumi/src/git.sv.gnu.org/emacs/src/emacs -Q
[New Thread 0x2303 of process 36192]
[New Thread 0x2203 of process 36192]
warning: unhandled dyld version (17)
[New Thread 0x1907 of process 36192]
[New Thread 0x2003 of process 36192]
[New Thread 0x2103 of process 36192]

Thread 2 hit Breakpoint 2, make_lock_file_name (fn=XIL(0x14562c9a4))
    at filelock.c:625
625	  return call1 (Qmake_lock_file_name, Fexpand_file_name (fn, Qnil));
(gdb) bt
#0  make_lock_file_name (fn=XIL(0x14562c9a4)) at filelock.c:625
#1  lock_file (fn=XIL(0x14562c9a4)) at filelock.c:666
#2  Flock_file (file=XIL(0x14562c9a4)) at filelock.c:755
#3  0x000000010010c9b5 in write_region (start=<optimized out>,
    end=<optimized out>, filename=<optimized out>, append=<optimized out>,
    visit=make_fixnum(0), lockname=<optimized out>, mustbenew=XIL(0), desc=10)
    at fileio.c:5230
#4  0x0000000000000008 in ?? ()
#5  0x00000001460b7400 in ?? ()
#6  0x00007ffeefbfd7e0 in ?? ()
#7  0x00007fff20324131 in ?? ()
#8  0x000000014545e380 in ?? ()
#9  0x000000014545e380 in ?? ()
#10 0x0000000000000008 in ?? ()
#11 0x0000000145466a00 in ?? ()
#12 0x0000000145467e00 in ?? ()
#13 0x0000000000000008 in ?? ()
#14 0x00007ffeefbfd890 in ?? ()
#15 0x00007fff20323937 in ?? ()
#16 0x00007ffeefbfd820 in ?? ()
#17 0xf6b78000c0001002 in ?? ()
#18 0x00007ffeefbfffff in ?? ()
#19 0x00000001001488ef in swap_in_symval_forwarding (symbol=0x14562c9a4,
    blv=0x481b79e8) at data.c:1385
#20 0x00000001481c9980 in ?? ()
#21 0x0000000000001400 in ?? ()
#22 0x00007ffeefbfd840 in ?? ()
#23 0x000000014562c9a4 in ?? ()
#24 0x00000001460be5e0 in ?? ()
#25 0x0000000000000488 in ?? ()
#26 0x0000000000000000 in ?? ()

Lisp Backtrace:
"write-region" (0xefbfdd58)
"comp-run-async-workers" (0xefbfdf10)
"native--compile-async" (0xefbfe180)
"defalias" (0xefbfe250)
"set-language-environment" (0xefbfeac8)
"set-locale-environment" (0xefbfee88)
"normal-top-level" (0xefbfef30)
(gdb) s
Symbol’s value as variable is void: lock-file-name-transforms
[Inferior 1 (process 36192) exited with code 0377]
(gdb) q
[naofumi <at> hyperion src ((9ce6541ac9...))]%
------------------------------------------------------------------------


Regards,
--Naofumi




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 19:30:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50;
 macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Sat, 10 Jul 2021 22:29:34 +0300
> From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
> Date: Sun, 11 Jul 2021 04:17:24 +0900
> Cc: 49507 <at> debbugs.gnu.org
> 
> Lisp Backtrace:
> "write-region" (0xefbfdd58)
> "comp-run-async-workers" (0xefbfdf10)
> "native--compile-async" (0xefbfe180)
> "defalias" (0xefbfe250)
> "set-language-environment" (0xefbfeac8)
> "set-locale-environment" (0xefbfee88)
> "normal-top-level" (0xefbfef30)
> (gdb) s
> Symbol’s value as variable is void: lock-file-name-transforms

Any idea why Emacs needs to native-compile something at startup?
Which Lisp file does it native-compile here?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 19:31:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sat, 10 Jul 2021 21:30:26 +0200
Naofumi Yasufuku <naofumi <at> yasufuku.dev> writes:

> $ LANG=C ./src/emacs -Q
> $ LANG=en_US.UTF-8 ./src/emacs -Q
> # LANG=ja_JP.UTF-8 ./src/emacs -Q
> Symbol’s value as variable is void: lock-file-name-transforms

I'm unable to reproduce the issue on Debian/bullseye with the current
master.

Could you try setting `debug-on-error' so that you get a backtrace?

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 19:57:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sat, 10 Jul 2021 21:56:35 +0200
Naofumi Yasufuku <naofumi <at> yasufuku.dev> 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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 22:37:02 GMT) Full text and rfc822 format available.

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

From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Sun, 11 Jul 2021 07:35:46 +0900
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
>> Date: Sun, 11 Jul 2021 04:17:24 +0900
>> Cc: 49507 <at> debbugs.gnu.org
>> 
>> Lisp Backtrace:
>> "write-region" (0xefbfdd58)
>> "comp-run-async-workers" (0xefbfdf10)
>> "native--compile-async" (0xefbfe180)
>> "defalias" (0xefbfe250)
>> "set-language-environment" (0xefbfeac8)
>> "set-locale-environment" (0xefbfee88)
>> "normal-top-level" (0xefbfef30)
>> (gdb) s
>> Symbol’s value as variable is void: lock-file-name-transforms
>
> Any idea why Emacs needs to native-compile something at startup?
> Which Lisp file does it native-compile here?

It seems lisp/language/*-util.el autoloads can invoke this native-compile.

$ LANG=ja_JP.UTF-8 ./src/emacs -Q
Symbol’s value as variable is void: lock-file-name-transforms
$ LANG=zh_CN.UTF-8 ./src/emacs -Q
Symbol’s value as variable is void: lock-file-name-transforms
$ LANG=ko_KR.UTF-8 ./src/emacs -Q
Symbol’s value as variable is void: lock-file-name-transforms
$ LANG=ru_RU.UTF-8 ./src/emacs -Q
Symbol’s value as variable is void: lock-file-name-transforms
$ ls
BUGS                                  configure~
CONTRIBUTE                            doc
COPYING                               emacs-async-comp-china-util-LRUF4Q.el
ChangeLog.1                           emacs-async-comp-cyril-util-rr4O3Z.el
ChangeLog.2                           emacs-async-comp-japan-util-NCE2ge.el
ChangeLog.3                           emacs-async-comp-korea-util-V8cDm0.el
GNUmakefile                           etc
INSTALL                               info
INSTALL.REPO                          leim
Makefile                              lib
Makefile.in                           lib-src
README                                lisp
aclocal.m4                            lwlib
admin                                 m4
autogen.sh                            make-dist
autom4te.cache                        modules
build-aux                             msdos
config.bat                            native-lisp
config.log                            nextstep
config.log~                           nt
config.status                         oldXMenu
configure                             src
configure.ac                          test
$





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sat, 10 Jul 2021 22:43:02 GMT) Full text and rfc822 format available.

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

From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Sun, 11 Jul 2021 07:42:15 +0900
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Naofumi Yasufuku <naofumi <at> yasufuku.dev> 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.
>

I found that the following simple `lock-file-name-transforms' change
can also avoid this error:

----
 lisp/files.el | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lisp/files.el b/lisp/files.el
index 0dfcab8f89..894a06e6e7 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -424,7 +424,6 @@ lock-file-name-transforms
   :type '(repeat (list (regexp :tag "Regexp")
                        (string :tag "Replacement")
 		       (boolean :tag "Uniquify")))
-  :initialize 'custom-initialize-delay
   :version "28.1")
 
 (defvar auto-save--timer nil "Timer for `auto-save-visited-mode'.")
----


> 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?

I've tested with fresh build of new checked out under both macOS and
linux (Ubuntu 21.04).  The result is same.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 06:22:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50;
 macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Sun, 11 Jul 2021 09:21:23 +0300
> From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
> Date: Sun, 11 Jul 2021 07:42:15 +0900
> Cc: 49507 <at> debbugs.gnu.org
> 
> I found that the following simple `lock-file-name-transforms' change
> can also avoid this error:
> 
> ----
>  lisp/files.el | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/lisp/files.el b/lisp/files.el
> index 0dfcab8f89..894a06e6e7 100644
> --- a/lisp/files.el
> +++ b/lisp/files.el
> @@ -424,7 +424,6 @@ lock-file-name-transforms
>    :type '(repeat (list (regexp :tag "Regexp")
>                         (string :tag "Replacement")
>  		       (boolean :tag "Uniquify")))
> -  :initialize 'custom-initialize-delay
>    :version "28.1")

Ah, I see the problem.  Defcustom's that are marked with
'custom-initialize-delay are evaluated early in the process of
restoring from the pdumper file, when the code of files.el was not yet
loaded.

Lars, why did you use this :initialize tag here?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 06:23:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Sun, 11 Jul 2021 09:22:35 +0300
> From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
> Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org
> Date: Sun, 11 Jul 2021 07:35:46 +0900
> 
> >> Lisp Backtrace:
> >> "write-region" (0xefbfdd58)
> >> "comp-run-async-workers" (0xefbfdf10)
> >> "native--compile-async" (0xefbfe180)
> >> "defalias" (0xefbfe250)
> >> "set-language-environment" (0xefbfeac8)
> >> "set-locale-environment" (0xefbfee88)
> >> "normal-top-level" (0xefbfef30)
> >> (gdb) s
> >> Symbol’s value as variable is void: lock-file-name-transforms
> >
> > Any idea why Emacs needs to native-compile something at startup?
> > Which Lisp file does it native-compile here?
> 
> It seems lisp/language/*-util.el autoloads can invoke this native-compile.

Right, that figures.  We preload the files in lisp/language/, but not
the support some of them need if the corresponding
language-environment is activated.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 11:53:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 49507 <at> debbugs.gnu.org, Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sun, 11 Jul 2021 13:52:24 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> Lars, why did you use this :initialize tag here?

I was just cargo-culting from the defcustom of
auto-save-file-name-transforms above.

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 12:30:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 49507 <at> debbugs.gnu.org, naofumi <at> yasufuku.dev
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sun, 11 Jul 2021 15:28:59 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Cc: Naofumi Yasufuku <naofumi <at> yasufuku.dev>,  49507 <at> debbugs.gnu.org
> Date: Sun, 11 Jul 2021 13:52:24 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > Lars, why did you use this :initialize tag here?
> 
> I was just cargo-culting from the defcustom of
> auto-save-file-name-transforms above.

The initial value of auto-save-file-name-transforms uses
temporary-file-directory, so it's reasonable to delay its
initialization until Emacs starts up, as opposed to initializing it
when Emacs is dumped (which could be on a different system).  But
lock-file-name-transforms's initial value is a constant, so we can
safely initialize it at dump time.

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

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.  I think we should generally advise against using this tag for
defcustom's that might affect the startup code itself.  For 100%
safety, one should probably use it only with variables defined in C.
Stefan, do you agree?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 14:22:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 49507 <at> debbugs.gnu.org, Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sun, 11 Jul 2021 10:20:59 -0400
> Well, that code was buggy (as Michael pointed out) -- Fboundp doesn't
> work on interned symbols, apparently?

It does.  The problem is that you want to use `Ffboundp` instead, AFAICT.


        Stefan





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 14:28:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 49507 <at> debbugs.gnu.org,
 naofumi <at> yasufuku.dev
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
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





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 14:52:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org, naofumi <at> yasufuku.dev
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sun, 11 Jul 2021 17:50:45 +0300
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>,  49507 <at> debbugs.gnu.org,
>   naofumi <at> yasufuku.dev
> Date: Sun, 11 Jul 2021 10:27:11 -0400
> 
> > 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?

No, I'm saying that we should recommend its use only with variables
that are defined in C, which makes sure they are defined by the time
the startup code runs.

> > 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.

Because those are always defined when the startup code runs.  By
contrast, if you define them in some preloaded Lisp file, the
defcustom form could run before the preloaded Lisp is restored from
the pdumper file.

Maybe I'm confused, but in that case can you describe why the error
happens for lock-file-name-transforms when the startup code needs to
lock a file early on?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Sun, 11 Jul 2021 16:44:02 GMT) Full text and rfc822 format available.

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: larsi <at> gnus.org, 49507 <at> debbugs.gnu.org, naofumi <at> yasufuku.dev
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Sun, 11 Jul 2021 12:42:49 -0400
>> I don't see why being defined in C would be relevant, no.
> Because those are always defined when the startup code runs.  By
> contrast, if you define them in some preloaded Lisp file, the
> defcustom form could run before the preloaded Lisp is restored from
> the pdumper file.

The error indeed came from the fact that the var is not defined when
`defcustom` is executed but instead only later on, when the predumped
Emacs is executed (in `startup.el`).

But to some extent it's only a side effect of the current implementation
of `custom-initialize-delay`.  We could change it to also define the
variable when the `defcustom` is executed.  [ AFAICT that should be
mostly painless, but past experience with this functionality tells me
that this change would inevitably introduce some unforeseen change
which we'd only discover a few months later ;-)  ]

The underlying functionality is needed for any variable that's
predefined in the dump and yet whose default value can't be precomputed
when we dump Emacs.  A `grep` shows that the vast majority of those
variables are defined in ELisp.


        Stefan





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Mon, 12 Jul 2021 12:02:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 49507 <at> debbugs.gnu.org, naofumi <at> yasufuku.dev
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Mon, 12 Jul 2021 14:01:20 +0200
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> But to some extent it's only a side effect of the current implementation
> of `custom-initialize-delay`.  We could change it to also define the
> variable when the `defcustom` is executed.

Yeah, I'd much prefer making `custom-initialize-delay' more robust.

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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Mon, 12 Jul 2021 12:03:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 49507 <at> debbugs.gnu.org, Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Mon, 12 Jul 2021 14:01:49 +0200
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> Well, that code was buggy (as Michael pointed out) -- Fboundp doesn't
>> work on interned symbols, apparently?
>
> It does.  The problem is that you want to use `Ffboundp` instead, AFAICT.

Ff...  heh.

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




Removed tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 12 Jul 2021 12:19:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Fri, 16 Jul 2021 12:02:02 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value
 as variable is void: lock-file-name-transforms
Date: Fri, 16 Jul 2021 14:00:54 +0200
Naofumi Yasufuku <naofumi <at> yasufuku.dev> writes:

> Emacs doesn't start due to the following error:
>   $ ./src/emacs -Q
>   Symbol’s value as variable is void: lock-file-name-transforms

I've now removed the :initialize form from the defcustom, so the build
should work better now.  (I'll be filing a new bug report about
:initialize 'custom-initialize-delay in general.)

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




bug marked as fixed in version 28.1, send any further explanations to 49507 <at> debbugs.gnu.org and Naofumi Yasufuku <naofumi <at> yasufuku.dev> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 16 Jul 2021 12:02:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49507; Package emacs. (Fri, 16 Jul 2021 14:08:01 GMT) Full text and rfc822 format available.

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

From: Naofumi Yasufuku <naofumi <at> yasufuku.dev>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 49507 <at> debbugs.gnu.org
Subject: Re: bug#49507: 28.0.50; macOS: Symbol’s value as variable is void:
 lock-file-name-transforms
Date: Fri, 16 Jul 2021 23:07:06 +0900
Lars Ingebrigtsen <larsi <at> gnus.org> writes:
>
> I've now removed the :initialize form from the defcustom, so the build
> should work better now.  (I'll be filing a new bug report about
> :initialize 'custom-initialize-delay in general.)

Thank you, Lars and everyone.
Sorry for my absence.  I confirmed that 'LANG=ja_JP.UTF-8 emacs' starts
up without error after commit 561ef16fd0.

I agree that defcustom `custom-initialize-delay' implementation issue
still remains, and this workaround lacks a bit of consistency of
`make-lock-file-name' with custom `lock-file-name-transforms' variable.

In closing, let me summarize this issue:

--------
$ ./configure --with-native-compilation ...
$ make -j8 bootstrap


STEP 0)
Make sure that ~/.emacs/eln-cache doesn't exist.
Remove or rename it if exists.

$ mv ~/.emacs/eln-cache ~/.emacs/eln-cache.old


STEP 1)
Run emacs with $LANG that can invoke async native compilation
of lisp/language/*-util.el.

$ LANG=ja_JP.UTF-8 ./src/emacs -Q
Symbol’s value as variable is void: lock-file-name-transforms
$
$ LANG=zh_CN.UTF-8 ./src/emacs -Q
Symbol's value as variable is void: lock-file-name-transforms
$
$ ls
aclocal.m4             configure.ac                           lwlib
admin                  CONTRIBUTE                             m4
autogen.sh             COPYING                                make-dist
autom4te.cache         doc                                    Makefile
BUGS                   emacs-async-comp-china-util-C75DZz.el  Makefile.in
build-aux              emacs-async-comp-japan-util-eJHmFp.el  modules
ChangeLog.1            etc                                    msdos
ChangeLog.2            GNUmakefile                            native-lisp
ChangeLog.3            info                                   nextstep
compile_commands.json  INSTALL                                nt
config.bat             INSTALL.REPO                           oldXMenu
config.log             leim                                   README
config.log~            lib                                    src
config.status          lib-src                                test
configure              lisp
$


TRACE)
This error can happen if `write-region' by async native compilation runs
at early stage of emacs startup.  Not macOS-specific.

$ cd src
$ export LANG=ja_JP.UTF-8
$ gdb emacs
..
Breakpoint 1 at 0x1000d3a00: terminate_due_to_signal. (2 locations)
(gdb) b make_lock_file_name
Breakpoint 2 at 0x100100aa8: make_lock_file_name. (3 locations)
(gdb) r -Q
Starting program: /home/naofumi/src/git.sv.gnu.org/emacs/src/emacs -Q
[New Thread 0x2303 of process 36192]
[New Thread 0x2203 of process 36192]
warning: unhandled dyld version (17)
[New Thread 0x1907 of process 36192]
[New Thread 0x2003 of process 36192]
[New Thread 0x2103 of process 36192]

Thread 2 hit Breakpoint 2, make_lock_file_name (fn=XIL(0x14562c9a4))
    at filelock.c:625
625	  return call1 (Qmake_lock_file_name, Fexpand_file_name (fn, Qnil));
(gdb) bt
#0  make_lock_file_name (fn=XIL(0x14562c9a4)) at filelock.c:625
#1  lock_file (fn=XIL(0x14562c9a4)) at filelock.c:666
#2  Flock_file (file=XIL(0x14562c9a4)) at filelock.c:755
#3  0x000000010010c9b5 in write_region (start=<optimized out>,
    end=<optimized out>, filename=<optimized out>, append=<optimized out>,
    visit=make_fixnum(0), lockname=<optimized out>, mustbenew=XIL(0), desc=10)
    at fileio.c:5230
...
Lisp Backtrace:
"write-region" (0xefbfdd58)
"comp-run-async-workers" (0xefbfdf10)
"native--compile-async" (0xefbfe180)
"defalias" (0xefbfe250)
"set-language-environment" (0xefbfeac8)
"set-locale-environment" (0xefbfee88)
"normal-top-level" (0xefbfef30)
(gdb) s
Symbol’s value as variable is void: lock-file-name-transforms
[Inferior 1 (process 36192) exited with code 0377]
(gdb) q


EXPECTED BEHAVIOR)
Emacs starts up and async native compilation runs without error
like this:

*Async-native-compile-log*
--------
Compiling /home/naofumi/src/git.sv.gnu.org/emacs/lisp/language/japan-util.el...
Compiling /home/naofumi/src/git.sv.gnu.org/emacs/lisp/emacs-lisp/cl-lib.el...
Compiling /home/naofumi/src/git.sv.gnu.org/emacs/lisp/emacs-lisp/seq.el...
...
--------


AN INTERIM WORKAROUND 1)
Specify LANG=C or en_US

$ LANG=en_US.UTF-8 ./src/emacs -Q
$

AN INTERIM WORKAROUND 2)
--------
 lisp/files.el | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lisp/files.el b/lisp/files.el
index 0dfcab8f89..894a06e6e7 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -424,7 +424,6 @@ lock-file-name-transforms
   :type '(repeat (list (regexp :tag "Regexp")
                        (string :tag "Replacement")
 		       (boolean :tag "Uniquify")))
-  :initialize 'custom-initialize-delay
   :version "28.1")
 
 (defvar auto-save--timer nil "Timer for `auto-save-visited-mode'.")
--------



In GNU Emacs 28.0.50 (build 1, aarch64-unknown-linux-gnu, GTK+ Version 3.24.25, cairo version 1.16.0)
 of 2021-07-16 built on phoebe
Repository revision: 865535a24cd07efee3c2d323de6e9baae8bc817d
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101001
System Description: Ubuntu 21.04

Configured using:
 'configure --prefix=/home/naofumi/.local/emacs-head --with-mailutils
 --with-native-compilation --with-xwidgets'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE
XIM XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: ja_JP.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail
rmail-loaddefs auth-source eieio eieio-core eieio-loaddefs
password-cache json map text-property-search time-date mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp
comp-cstr warnings subr-x rx cl-seq cl-macs cl-extra help-mode seq
byte-opt gv cl-loaddefs cl-lib bytecomp byte-compile cconv iso-transl
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice button loaddefs faces cus-face macroexp files
window text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote threads
xwidget-internal dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 73557 8376)
 (symbols 48 7820 1)
 (strings 32 21016 3598)
 (string-bytes 1 690372)
 (vectors 16 17084)
 (vector-slots 8 281899 11071)
 (floats 8 27 36)
 (intervals 56 218 0)
 (buffers 992 12))




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 14 Aug 2021 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 255 days ago.

Previous Next


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