Subject: 31.0.50; Passing a list to a customization string variable for Emacs >= 31 in project.el

From: "M. Page-Lieberman" <[email-masked]>
Date: Sun, 18 May 2025 09:21:57 -0400

I get the following warning message when starting up Emacs when
attempting to install Geiser (via straight.el, ie. /(straight-use-package
'geiser)/ in my init file):

"""
⛔ Warning (initialization): An error occurred while loading
‘/Users/jotaemei/.emacs.d/init.el’:

Wrong type argument: stringp, (projects.eld projects)

To ensure normal operation, you should investigate and remove the cause
of the error in your initialization file.  Start Emacs with the
‘--debug-init’ option to view a complete error backtrace.
"""

The installation of Guile grabs project.el, which in turn defines the
following definition for a customization on line 1852:

"""
(defcustom project-list-file
  (locate-user-emacs-file (if (>= emacs-major-version 31)
                              '("projects.eld" "projects")
                            "projects"))
  "File in which to save the list of known projects."
  :type 'file
  :version "31.1"
  :group 'project)
"""

I /do/ have an Emacs major version of 31, which is for emacs-plus.

When I pull up the customization via /customize-variable/, I see for the
value of project-list-file: """UNKNOWN, you should not see this."""

Notably, no such projects.eld file nor directory exists in the file system.
For the time being, I'll just edit that defcustom to remove it.

In GNU Emacs 31.0.50 (build 1, x86_64-apple-darwin24.3.0, NS
 appkit-2575.40 Version 15.3.1 (Build 24D70)) of 2025-03-08 built on
 MacBookPro
Windowing system distributor 'Apple', version 10.3.2575
System Description:  macOS 15.4.1

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus@31/31.0.50/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus@31/31.0.50
 --with-native-compilation=aot --with-xml2 --with-gnutls
 --without-compress-install --without-dbus --without-imagemagick
 --with-modules --with-rsvg --with-webp --with-ns
 --disable-ns-self-contained 'CFLAGS=-O2 -DFD_SETSIZE=10000
 -DDARWIN_UNLIMITED_SELECT -I/usr/local/opt/sqlite/include
 -I/usr/local/opt/gcc/include -I/usr/local/opt/libgccjit/include'
 'LDFLAGS=-L/usr/local/opt/sqlite/lib -L/usr/local/lib/gcc/14
 -I/usr/local/opt/gcc/include -I/usr/local/opt/libgccjit/include''

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

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

Major mode: Special

Minor modes in effect:
  pdf-occur-global-minor-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  recentf-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
~/repos/org-contrib/org-mac-link/org-mac-link hides
/Users/jotaemei/.emacs.d/elpa/org-mac-link-20231016.2047/org-mac-link
/Users/jotaemei/.emacs.d/elpa/transient-20240902.1048/transient hides
/usr/local/Cellar/emacs-plus@31/31.0.50/share/emacs/31.0.50/lisp/transient
/Users/jotaemei/.emacs.d/elpa/ef-themes-1.8.0/theme-loaddefs hides
/usr/local/Cellar/emacs-plus@31
/31.0.50/share/emacs/31.0.50/lisp/theme-loaddefs
/Users/jotaemei/.emacs.d/straight/build/xref/xref hides
/usr/local/Cellar/emacs-plus@31
/31.0.50/share/emacs/31.0.50/lisp/progmodes/xref
/Users/jotaemei/.emacs.d/straight/build/project/project hides
/usr/local/Cellar/emacs-plus@31
/31.0.50/share/emacs/31.0.50/lisp/progmodes/project

Features:
(shadow sort mail-extr emacsbug lisp-mnt message yank-media puny rfc822
mml mml-sec epa derived epg rfc6068 epg-config gnus-util mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
time-date rainbow-delimiters comp-run comp-common rx warnings arc-mode
archive-mode noutline outline hyperspec thingatpt slime-autoloads
pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist advice
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local find-func cedet
pdf-isearch let-alist pdf-misc imenu pdf-tools compile comint ansi-osc
ansi-color ring cus-edit pdf-view jka-compr pdf-cache pdf-info tq
pdf-util format-spec pdf-macs image-mode dired dired-loaddefs exif
pdf-loader ef-winter-theme ef-themes geiser-autoloads project-autoloads
xref-autoloads nova-theme-autoloads undo-fu-autoloads bookmarks-menu
bookmark text-property-search pp bookmarks-menu-autoloads
straight-autoloads cl-extra help-mode straight exec-path-from-shell
recentf tree-widget wid-edit display-line-numbers cus-load
chromecast-autoloads dirvish-autoloads ef-themes-autoloads
exec-path-from-shell-autoloads exotica-theme-autoloads
gruvbox-theme-autoloads autothemer-autoloads hc-zenburn-theme-autoloads
jazz-theme-autoloads lfe-mode-autoloads nord-theme-autoloads
nordic-night-theme-autoloads nov-autoloads olivetti-autoloads
org-mac-link-autoloads org-modern-autoloads org-web-tools-autoloads
esxml-autoloads kv-autoloads org-web-track-autoloads enlive-autoloads
pdf-tools-autoloads plz-autoloads rainbow-delimiters-autoloads
request-autoloads solarized-theme-autoloads tablist-autoloads
transient-autoloads treemacs-all-the-icons-autoloads
all-the-icons-autoloads treemacs-tab-bar-autoloads treemacs-autoloads
cfrs-autoloads posframe-autoloads ht-autoloads hydra-autoloads
lv-autoloads pfuture-autoloads ace-window-autoloads avy-autoloads
s-autoloads info dash-autoloads w3m-load w3m-autoloads
zenburn-theme-autoloads package browse-url xdg url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt
gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode 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 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
threads kqueue cocoa ns lcms2 multi-tty make-network-process
tty-child-frames native-compile emacs)

Memory information:
((conses 16 218124 17128) (symbols 48 17346 0) (strings 32 54098 3779)
 (string-bytes 1 1929999) (vectors 16 24342)
 (vector-slots 8 318724 11393) (floats 8 108 143) (intervals 56 419 0)
 (buffers 992 14))