unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
@ 2021-07-10 17:11 Naofumi Yasufuku
  2021-07-10 17:17 ` Lars Ingebrigtsen
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Naofumi Yasufuku @ 2021-07-10 17:11 UTC (permalink / raw)
  To: 49507


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





^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 17:11 bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms Naofumi Yasufuku
@ 2021-07-10 17:17 ` Lars Ingebrigtsen
  2021-07-10 19:17   ` Naofumi Yasufuku
  2021-07-10 19:56 ` Lars Ingebrigtsen
  2021-07-16 12:00 ` Lars Ingebrigtsen
  2 siblings, 1 reply; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-10 17:17 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: 49507

Naofumi Yasufuku <naofumi@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 17:17 ` Lars Ingebrigtsen
@ 2021-07-10 19:17   ` Naofumi Yasufuku
  2021-07-10 19:29     ` Eli Zaretskii
  2021-07-10 19:30     ` Lars Ingebrigtsen
  0 siblings, 2 replies; 20+ messages in thread
From: Naofumi Yasufuku @ 2021-07-10 19:17 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 49507


Lars Ingebrigtsen <larsi@gnus.org> writes:

> Naofumi Yasufuku <naofumi@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@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@hyperion src ((9ce6541ac9...))]%
------------------------------------------------------------------------


Regards,
--Naofumi





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 19:17   ` Naofumi Yasufuku
@ 2021-07-10 19:29     ` Eli Zaretskii
  2021-07-10 22:35       ` Naofumi Yasufuku
  2021-07-10 19:30     ` Lars Ingebrigtsen
  1 sibling, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2021-07-10 19:29 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: larsi, 49507

> From: Naofumi Yasufuku <naofumi@yasufuku.dev>
> Date: Sun, 11 Jul 2021 04:17:24 +0900
> Cc: 49507@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?





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 19:17   ` Naofumi Yasufuku
  2021-07-10 19:29     ` Eli Zaretskii
@ 2021-07-10 19:30     ` Lars Ingebrigtsen
  1 sibling, 0 replies; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-10 19:30 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: 49507

Naofumi Yasufuku <naofumi@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 17:11 bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms Naofumi Yasufuku
  2021-07-10 17:17 ` Lars Ingebrigtsen
@ 2021-07-10 19:56 ` Lars Ingebrigtsen
  2021-07-10 22:42   ` Naofumi Yasufuku
  2021-07-11 14:20   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-16 12:00 ` Lars Ingebrigtsen
  2 siblings, 2 replies; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-10 19:56 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: 49507

Naofumi Yasufuku <naofumi@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 19:29     ` Eli Zaretskii
@ 2021-07-10 22:35       ` Naofumi Yasufuku
  2021-07-11  6:22         ` Eli Zaretskii
  0 siblings, 1 reply; 20+ messages in thread
From: Naofumi Yasufuku @ 2021-07-10 22:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: larsi, 49507


Eli Zaretskii <eliz@gnu.org> writes:

>> From: Naofumi Yasufuku <naofumi@yasufuku.dev>
>> Date: Sun, 11 Jul 2021 04:17:24 +0900
>> Cc: 49507@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
$






^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 19:56 ` Lars Ingebrigtsen
@ 2021-07-10 22:42   ` Naofumi Yasufuku
  2021-07-11  6:21     ` Eli Zaretskii
  2021-07-11 14:20   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 20+ messages in thread
From: Naofumi Yasufuku @ 2021-07-10 22:42 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 49507


Lars Ingebrigtsen <larsi@gnus.org> writes:

> Naofumi Yasufuku <naofumi@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.





^ permalink raw reply related	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 22:42   ` Naofumi Yasufuku
@ 2021-07-11  6:21     ` Eli Zaretskii
  2021-07-11 11:52       ` Lars Ingebrigtsen
  0 siblings, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2021-07-11  6:21 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: larsi, 49507

> From: Naofumi Yasufuku <naofumi@yasufuku.dev>
> Date: Sun, 11 Jul 2021 07:42:15 +0900
> Cc: 49507@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?





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 22:35       ` Naofumi Yasufuku
@ 2021-07-11  6:22         ` Eli Zaretskii
  0 siblings, 0 replies; 20+ messages in thread
From: Eli Zaretskii @ 2021-07-11  6:22 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: larsi, 49507

> From: Naofumi Yasufuku <naofumi@yasufuku.dev>
> Cc: larsi@gnus.org, 49507@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.





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11  6:21     ` Eli Zaretskii
@ 2021-07-11 11:52       ` Lars Ingebrigtsen
  2021-07-11 12:28         ` Eli Zaretskii
  0 siblings, 1 reply; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-11 11:52 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 49507, Naofumi Yasufuku

Eli Zaretskii <eliz@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11 11:52       ` Lars Ingebrigtsen
@ 2021-07-11 12:28         ` Eli Zaretskii
  2021-07-11 14:27           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2021-07-11 12:28 UTC (permalink / raw)
  To: Lars Ingebrigtsen, Stefan Monnier; +Cc: 49507, naofumi

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: Naofumi Yasufuku <naofumi@yasufuku.dev>,  49507@debbugs.gnu.org
> Date: Sun, 11 Jul 2021 13:52:24 +0200
> 
> Eli Zaretskii <eliz@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?





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 19:56 ` Lars Ingebrigtsen
  2021-07-10 22:42   ` Naofumi Yasufuku
@ 2021-07-11 14:20   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-12 12:01     ` Lars Ingebrigtsen
  1 sibling, 1 reply; 20+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-11 14:20 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 49507, Naofumi Yasufuku

> 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






^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11 12:28         ` Eli Zaretskii
@ 2021-07-11 14:27           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-11 14:50             ` Eli Zaretskii
  0 siblings, 1 reply; 20+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-11 14:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Lars Ingebrigtsen, 49507, naofumi

> 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






^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11 14:27           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-11 14:50             ` Eli Zaretskii
  2021-07-11 16:42               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 20+ messages in thread
From: Eli Zaretskii @ 2021-07-11 14:50 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: larsi, 49507, naofumi

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Lars Ingebrigtsen <larsi@gnus.org>,  49507@debbugs.gnu.org,
>   naofumi@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?





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11 14:50             ` Eli Zaretskii
@ 2021-07-11 16:42               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2021-07-12 12:01                 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 20+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2021-07-11 16:42 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: larsi, 49507, naofumi

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






^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11 16:42               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-12 12:01                 ` Lars Ingebrigtsen
  0 siblings, 0 replies; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-12 12:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 49507, naofumi

Stefan Monnier <monnier@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-11 14:20   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2021-07-12 12:01     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-12 12:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 49507, Naofumi Yasufuku

Stefan Monnier <monnier@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-10 17:11 bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms Naofumi Yasufuku
  2021-07-10 17:17 ` Lars Ingebrigtsen
  2021-07-10 19:56 ` Lars Ingebrigtsen
@ 2021-07-16 12:00 ` Lars Ingebrigtsen
  2021-07-16 14:07   ` Naofumi Yasufuku
  2 siblings, 1 reply; 20+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-16 12:00 UTC (permalink / raw)
  To: Naofumi Yasufuku; +Cc: 49507

Naofumi Yasufuku <naofumi@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





^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms
  2021-07-16 12:00 ` Lars Ingebrigtsen
@ 2021-07-16 14:07   ` Naofumi Yasufuku
  0 siblings, 0 replies; 20+ messages in thread
From: Naofumi Yasufuku @ 2021-07-16 14:07 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 49507


Lars Ingebrigtsen <larsi@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))





^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-07-16 14:07 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-10 17:11 bug#49507: 28.0.50; macOS: Symbol’s value as variable is void: lock-file-name-transforms Naofumi Yasufuku
2021-07-10 17:17 ` Lars Ingebrigtsen
2021-07-10 19:17   ` Naofumi Yasufuku
2021-07-10 19:29     ` Eli Zaretskii
2021-07-10 22:35       ` Naofumi Yasufuku
2021-07-11  6:22         ` Eli Zaretskii
2021-07-10 19:30     ` Lars Ingebrigtsen
2021-07-10 19:56 ` Lars Ingebrigtsen
2021-07-10 22:42   ` Naofumi Yasufuku
2021-07-11  6:21     ` Eli Zaretskii
2021-07-11 11:52       ` Lars Ingebrigtsen
2021-07-11 12:28         ` Eli Zaretskii
2021-07-11 14:27           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-11 14:50             ` Eli Zaretskii
2021-07-11 16:42               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-12 12:01                 ` Lars Ingebrigtsen
2021-07-11 14:20   ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-07-12 12:01     ` Lars Ingebrigtsen
2021-07-16 12:00 ` Lars Ingebrigtsen
2021-07-16 14:07   ` Naofumi Yasufuku

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).