From e3ed3bc755195a273078dcd577dd0902f7699a7a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 29 Nov 2023 10:45:33 -0500 Subject: [PATCH] * lisp/emacs-lisp/eieio-core.el (eieio-set-defaults): Silence errors See bug#66938 --- lisp/emacs-lisp/eieio-core.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el index a394156c93a..37c5ebdb6da 100644 --- a/lisp/emacs-lisp/eieio-core.el +++ b/lisp/emacs-lisp/eieio-core.el @@ -951,7 +951,10 @@ not nil." (let ((slots (eieio--class-slots (eieio--object-class obj)))) (dotimes (i (length slots)) (let* ((name (cl--slot-descriptor-name (aref slots i))) - (df (eieio-oref-default obj name))) + ;; If the `:initform` signals an error, just skip it, + ;; since the error is intended to be signal'ed from + ;; `initialize-instance` rather than at the time of `defclass`. + (df (ignore-errors (eieio-oref-default obj name)))) (if (or df set-all) (eieio-oset obj name df)))))) -- 2.39.2