Subject: bug#70141: 30.0.50; cl--class-allparents throws error for ebdb-field-pgp

From: Robert Pluim <[email-masked]>
Date: Tue, 02 Apr 2024 16:04:51 +0200

Just for fun I tried enabling the native compiler, and keep running
into the following error with my config (-Q is fine).

Iʼve tried reinstalling key-chord and ebdb, but thatʼs made no difference.

I know nothing about eieio, but the defclass for ebdb-field-pgp has a
superclass:

    (defclass ebdb-field-pgp (ebdb-field-user)

Debugger entered--Lisp error: (wrong-type-argument cl--class nil)
  cl--class-allparents(nil)
  cl--class-allparents(#s(eieio--class :name ebdb-field-pgp :docstring nil :parents (nil) :slots nil :index-table nil :children nil :initarg-tuples nil :class-slots nil :class-allocation-values nil :default-object-cache nil :options nil))
  comp--cl-class-hierarchy(ebdb-field-pgp)
  comp--compute-typeof-types()
  make-comp-cstr-ctxt()
  byte-code("\302 \30\303\304\305\"\11\306\211\211\211\211\5:\2037\0\5@\262\3\2\211A\262\4\242\262\5\2@\262\4\307\4!\262\2\310\5\3\6\11#\210\5A\262\6\210\306\202\15\0)\6\6\207" [comp-ctxt comp-known-type-specifiers make-comp-cstr-ctxt make-hash-table :test eq nil comp-type-spec-to-cstr puthash] 11)
  (defconst comp-known-func-cstr-h (byte-code "\302 \30\303\304\305\"\11\306\211\211\211\211\5:\2037\0\5@\262\3\2\211A\262\4\242\262\5\2@\262\4\307\4!\262\2\310\5\3\6\11#\210\5A\262\6\210\306\202\15\0)\6\6\207" [comp-ctxt comp-known-type-specifiers make-comp-cstr-ctxt make-hash-table :test eq nil comp-type-spec-to-cstr puthash] 11) "Hash table function -> `comp-constraint'.")
  comp-c-func-name(start-kbd-macro "subr--trampoline-" t)
  comp-trampoline-filename(start-kbd-macro)
  comp-trampoline-search(start-kbd-macro)
  comp-subr-trampoline-install(start-kbd-macro)
  #f(compiled-function (v1311) #<bytecode -0xec7955ad0edb4ef>)(#f(advice key-chord--start-kbd-macro :after #f(compiled-function (append &optional no-exec) "Record subsequent keyboard input, defining a keyboard macro.\nThe commands are recorded even as they are executed.\nUse \\[end-kbd-macro] to finish recording and make the macro available.\nUse \\[name-last-kbd-macro] to give it a permanent name.\nNon-nil arg (prefix arg) means append to last macro defined;\nthis begins by re-executing that macro as if you typed it again.\nIf optional second arg, NO-EXEC, is non-nil, do not re-execute last\nmacro before appending to it." (interactive "P") #<bytecode 0x102b94c243f7>)))
  #f(compiled-function (gv--val) #<bytecode -0xa3525baebab5ba5>)(#f(advice key-chord--start-kbd-macro :after #f(compiled-function (append &optional no-exec) "Record subsequent keyboard input, defining a keyboard macro.\nThe commands are recorded even as they are executed.\nUse \\[end-kbd-macro] to finish recording and make the macro available.\nUse \\[name-last-kbd-macro] to give it a permanent name.\nNon-nil arg (prefix arg) means append to last macro defined;\nthis begins by re-executing that macro as if you typed it again.\nIf optional second arg, NO-EXEC, is non-nil, do not re-execute last\nmacro before appending to it." (interactive "P") #<bytecode 0x102b94c243f7>)))
  advice--add-function(:after (#f(compiled-function () #<bytecode 0x319866e3b41141>) . #f(compiled-function (gv--val) #<bytecode -0xa3525baebab5ba5>)) key-chord--start-kbd-macro nil)
  advice-add(start-kbd-macro :after key-chord--start-kbd-macro)
  (key-chord-mode 1)
  load-with-code-conversion("/home/rpluim/.emacs" "/home/rpluim/.emacs" t t)

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.16.0) of 2024-04-02 built on rltb
Repository revision: a5fbb652ed3614d6735015551564f32b80e42c53
Repository branch: ncomp
Windowing system distributor 'The X.Org Foundation', version 11.0.12009000
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure -C'

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

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

Robert
--