Subject: bug#61143: 29.0.60; cl-loaddefs.el is always recompiled when loading cl-lib

From: Daniel Mendler <[email-masked]>
Date: Sun, 29 Jan 2023 11:29:11 +0100

Every time I start Emacs 29 with my config or with emacs -Q, the feature
cl-loaddefs.el is recompiled by the native compiler. The
*Async-native-compile-log* buffer shows this message:

Compiling /home/.../emacs/share/emacs/29.0.60/lisp/emacs-lisp/cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...done
Compilation finished.

The compiler does not produce any output for cl-loaddefs.el in the
eln-cache. This recompilation also happens repeatedly with emacs -Q:

1. Start emacs -Q
2. M-x load-library cl-lib -> Recompilation triggered
3. M-x load-library cl-lib -> Recompilation triggered (Repeat)

In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw scroll bars) of 2023-01-26 built on projects
Repository revision: f8c95d1a7681e861fc22d2a040cda0ddfe23eff4
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --prefix=... --with-json
 --with-native-compilation --with-x-toolkit=athena --without-dbus
 --without-selinux --without-threads --without-gsettings --with-cairo'

Configured features:
CAIRO FREETYPE GIF GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 TIFF
TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XPM LUCID ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  display-time-mode: t
  global-so-long-mode: t
  save-place-mode: t
  global-hl-todo-mode: t
  savehist-mode: t
  minions-mode: t
  recursion-indicator-mode: t
  recentf-mode: t
  corfu-popupinfo-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  marginalia-mode: t
  diff-hl-flydiff-mode: t
  global-diff-hl-mode: t
  global-auto-revert-mode: t
  repeat-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  global-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
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Features:
(shadow sort mail-extr mule-util time vc-svn project view formfeed
disp-table whitespace hl-line cap-words superword subword hideshow
noutline outline so-long saveplace consult-register byte-opt kmacro
consult-ext consult-vertico consult bookmark pp emacsbug message mailcap
yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache
epa derived epg rfc6068 epg-config gnus-util 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 vertico-directory orderless-ext orderless
cursor-sensor vertico-repeat corfu-ext vertico-ext vertico-unobtrusive
vertico-flat hl-todo savehist minions recursion-indicator recentf
tree-widget wid-edit corfu-popupinfo corfu-history corfu
vertico-multiform vertico marginalia compat diff-hl-flydiff diff diff-hl
log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode easy-mmode
autorevert filenotify repeat modus-operandi-theme modus-themes
emacs-lock delsel splash flymake-proc fringe-ext +keys +theme +defaults
comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra
help-mode cl-loaddefs cl-lib bytecomp byte-compile info
speed-type-autoloads rainbow-mode-autoloads spell-fu-autoloads
pdf-tools-autoloads clojure-mode-autoloads csv-mode-autoloads
lua-mode-autoloads scad-mode-autoloads company-autoloads
tempel-autoloads with-editor-autoloads rust-mode-autoloads
org-modern-autoloads osm-autoloads recursion-indicator-autoloads
git-link-autoloads cape-autoloads git-modes-autoloads
marginalia-autoloads markdown-mode-autoloads keycast-autoloads
gnuplot-autoloads helpful-autoloads f-autoloads orderless-autoloads
tmr-autoloads minions-autoloads sml-mode-autoloads gcode-mode-autoloads
writegood-mode-autoloads diff-hl-autoloads ef-themes-autoloads
vertico-autoloads affe-autoloads corfu-autoloads
symbol-overlay-autoloads package-lint-flymake-autoloads
modus-themes-autoloads dash-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads hl-todo-autoloads compat-autoloads
+pkg +autoloads rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode 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 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 nadvice seq simple cl-generic
indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote inotify dynamic-setting
font-render-setting cairo x-toolkit x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 239512 78382)
 (symbols 48 15739 46)
 (strings 32 51019 16747)
 (string-bytes 1 1737668)
 (vectors 16 26097)
 (vector-slots 8 490250 170170)
 (floats 8 218 240)
 (intervals 56 953 167)
 (buffers 976 10))