Nowadays `eieio-oset` applies to more than just EIEIO objects.
The old code tended to work OK but only because `eieio--class-slots`
is usually compiled/inlined without checks.
* lisp/emacs-lisp/eieio-core.el (eieio--validate-slot-value):
Don't assume CLASS is an EIEIO class.
(cherry picked from commit
4024a7d541ca049ca9b28bce54c225bf9691f944)
nil
;; Trim off object IDX junk added in for the object index.
(setq slot-idx (- slot-idx (eval-when-compile eieio--object-num-slots)))
- (let* ((sd (aref (eieio--class-slots class)
+ (let* ((sd (aref (cl--class-slots class) ;??
slot-idx))
(st (cl--slot-descriptor-type sd)))
(cond