1
0
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:
Noam Postavsky 2017-08-04 19:50:21 -04:00
parent cc30d77ecd
commit b5c8e9898d
2 changed files with 1 additions and 13 deletions

View File

@ -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)

View File

@ -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)))