summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/eieio-core.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/eieio-core.el')
-rw-r--r--lisp/emacs-lisp/eieio-core.el11
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index f879a3999fb..4d55ed6e1d1 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -117,9 +117,6 @@ Currently under control of this var:
(defsubst eieio--object-class-tag (obj)
(aref obj 0))
-(defsubst eieio--object-class (obj)
- (eieio--object-class-tag obj))
-
;;; Important macros used internally in eieio.
@@ -132,6 +129,12 @@ Currently under control of this var:
(or (cl--find-class class) class)
class))
+(defsubst eieio--object-class (obj)
+ (let ((tag (eieio--object-class-tag obj)))
+ (if eieio-backward-compatibility
+ (eieio--class-object tag)
+ tag)))
+
(defun class-p (x)
"Return non-nil if X is a valid class vector.
X can also be is a symbol."
@@ -163,7 +166,7 @@ Return nil if that option doesn't exist."
(defun eieio-object-p (obj)
"Return non-nil if OBJ is an EIEIO object."
(and (recordp obj)
- (eieio--class-p (eieio--object-class-tag obj))))
+ (eieio--class-p (eieio--object-class obj))))
(define-obsolete-function-alias 'object-p 'eieio-object-p "25.1")