Subject: bug#66357: 29.1; malformed load-history entry when built --with-ns

From: Eli Zaretskii <[email-masked]>
Date: Thu, 05 Oct 2023 09:01:27 +0300

> Date: Wed, 04 Oct 2023 15:34:34 -0400
> From:  Aaron Ucko via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> 
> Immediately after startup, load-history starts with the malformed entry
> 
>   ((require . package) (require . info))
> 
> which in turn breaks e.g. eval-after-load, which reasonably expects
> every entry to start with a filename.
> 
> I encounter this behavior with an all-comments .emacs, but not with
> emacs -q; with -q, load-history instead starts with nil, which is
> irregular too but (mostly?) harmless.  This Cocoa-enabled build exhibits
> the same behavior in -nw mode, but an X11 build of the same sources
> (unpatched 29.1) doesn't add any irregular entries in any mode.

I cannot reproduce this (but I'm not on macOS).  My guess is that you
have packages installed via package.el, and some of your init files
are executed (and load package.el) even though the .emacs is commented
out.

I don't have any packages installed, so I don't see this problem.

In any case, the above value is non malformed, it is fully documented
in the ELisp manual:

 -- Variable: load-history
     The value of this variable is an alist that associates the names of
     loaded library files with the names of the functions and variables
     they defined, as well as the features they provided or required.

     Each element in this alist describes one loaded library (including
     libraries that are preloaded at startup).  It is a list whose CAR
     is the absolute file name of the library (a string).  The rest of
     the list elements have these forms:

     ‘VAR’
          The symbol VAR was defined as a variable.
     ‘(defun . FUN)’
          The function FUN was defined.  ‘(defun . FUN)’, which
          represents defining FUN as a function.
     ‘(defface . FACE)’
          The face FACE was defined.
     ‘(require . FEATURE)’
          The feature FEATURE was required.