mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Add missing module types to cl--typeof-types.
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add module types. * test/src/emacs-module-tests.el (emacs-module-tests--generic): New helper function. (module-function-object, mod-test-userptr-fun-test): Test that type dispatching works with module types.
This commit is contained in:
parent
d0733704b3
commit
614e9b322e
2 changed files with 12 additions and 0 deletions
|
|
@ -60,12 +60,14 @@
|
|||
(marker number-or-marker atom)
|
||||
(overlay atom) (float number atom) (window-configuration atom)
|
||||
(process atom) (window atom) (subr atom) (compiled-function function atom)
|
||||
(module-function function atom)
|
||||
(buffer atom) (char-table array sequence atom)
|
||||
(bool-vector array sequence atom)
|
||||
(frame atom) (hash-table atom) (terminal atom)
|
||||
(thread atom) (mutex atom) (condvar atom)
|
||||
(font-spec atom) (font-entity atom) (font-object atom)
|
||||
(vector array sequence atom)
|
||||
(user-ptr atom)
|
||||
;; Plus, really hand made:
|
||||
(null symbol list sequence atom))
|
||||
"Alist of supertypes.
|
||||
|
|
|
|||
|
|
@ -30,6 +30,14 @@
|
|||
|
||||
(require 'mod-test mod-test-file)
|
||||
|
||||
(cl-defgeneric emacs-module-tests--generic (_))
|
||||
|
||||
(cl-defmethod emacs-module-tests--generic ((_ module-function))
|
||||
'module-function)
|
||||
|
||||
(cl-defmethod emacs-module-tests--generic ((_ user-ptr))
|
||||
'user-ptr)
|
||||
|
||||
;;
|
||||
;; Basic tests.
|
||||
;;
|
||||
|
|
@ -74,6 +82,7 @@ changes."
|
|||
(should (module-function-p func))
|
||||
(should (functionp func))
|
||||
(should (equal (type-of func) 'module-function))
|
||||
(should (eq (emacs-module-tests--generic func) 'module-function))
|
||||
(should (string-match-p
|
||||
(rx bos "#<module function "
|
||||
(or "Fmod_test_sum"
|
||||
|
|
@ -149,6 +158,7 @@ changes."
|
|||
(r (mod-test-userptr-get v)))
|
||||
|
||||
(should (eq (type-of v) 'user-ptr))
|
||||
(should (eq (emacs-module-tests--generic v) 'user-ptr))
|
||||
(should (integerp r))
|
||||
(should (= r n))))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue