]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/eieio-core.el (eieio-set-defaults): Silence errors
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 29 Nov 2023 15:45:33 +0000 (10:45 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 29 Nov 2023 15:45:33 +0000 (10:45 -0500)
See bug#66938

lisp/emacs-lisp/eieio-core.el

index a394156c93ad12d781ce53a10b49f22288a88270..37c5ebdb6da41048a80100e4f411e68fb06c9932 100644 (file)
@@ -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))))))