From 614e9b322ec08cf6549cd4db34e1dc75149e6b31 Mon Sep 17 00:00:00 2001 From: Philipp Stephani Date: Sun, 28 Jan 2018 20:39:58 +0100 Subject: [PATCH] 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. --- lisp/emacs-lisp/cl-preloaded.el | 2 ++ test/src/emacs-module-tests.el | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el index 364de031334..2a70f9b9248 100644 --- a/lisp/emacs-lisp/cl-preloaded.el +++ b/lisp/emacs-lisp/cl-preloaded.el @@ -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. diff --git a/test/src/emacs-module-tests.el b/test/src/emacs-module-tests.el index 162af21bbec..a6407524ad7 100644 --- a/test/src/emacs-module-tests.el +++ b/test/src/emacs-module-tests.el @@ -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 "#