mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-24 07:20:37 +00:00
Let the cl-typep effects of defclass work during compilation (Bug#27718)
* lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop' instead of `put'. * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (eieio-tests--dummy-function): Remove. (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't expect to fail if compiled.
This commit is contained in:
parent
cc30d77ecd
commit
b5c8e9898d
@ -246,7 +246,7 @@ This method is obsolete."
|
||||
;; test, so we can let typep have the CLOS documented behavior
|
||||
;; while keeping our above predicate clean.
|
||||
|
||||
(put ',name 'cl-deftype-satisfies #',testsym2)
|
||||
(define-symbol-prop ',name 'cl-deftype-satisfies #',testsym2)
|
||||
|
||||
(eieio-defclass-internal ',name ',superclasses ',slots ',options-and-doc)
|
||||
|
||||
|
@ -529,15 +529,7 @@ METHOD is the method that was attempting to be called."
|
||||
"This class should break."))
|
||||
:type 'invalid-slot-type))
|
||||
|
||||
(defun eieio-tests--dummy-function ()
|
||||
;; Dummy function to see if the file is compiled.
|
||||
t)
|
||||
|
||||
(ert-deftest eieio-test-23-inheritance-check ()
|
||||
;; This test fails when compiled, see Bug#27718.
|
||||
:expected-result (if (byte-code-function-p
|
||||
(symbol-function 'eieio-tests--dummy-function))
|
||||
:failed :passed)
|
||||
(should (child-of-class-p 'class-ab 'class-a))
|
||||
(should (child-of-class-p 'class-ab 'class-b))
|
||||
(should (object-of-class-p eitest-a 'class-a))
|
||||
@ -556,10 +548,6 @@ METHOD is the method that was attempting to be called."
|
||||
(should (not (cl-typep "foo" 'class-a))))
|
||||
|
||||
(ert-deftest eieio-test-24-object-predicates ()
|
||||
;; This test fails when compiled, see Bug#27718.
|
||||
:expected-result (if (byte-code-function-p
|
||||
(symbol-function 'eieio-tests--dummy-function))
|
||||
:failed :passed)
|
||||
(let ((listooa (list (class-ab) (class-a)))
|
||||
(listoob (list (class-ab) (class-b))))
|
||||
(should (cl-typep listooa '(list-of class-a)))
|
||||
|
Loading…
Reference in New Issue
Block a user