summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-generic.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/cl-generic.el')
-rw-r--r--lisp/emacs-lisp/cl-generic.el11
1 files changed, 2 insertions, 9 deletions
diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el
index 62abe8d1589..8bda857afdd 100644
--- a/lisp/emacs-lisp/cl-generic.el
+++ b/lisp/emacs-lisp/cl-generic.el
@@ -1332,11 +1332,6 @@ These match if the argument is `eql' to VAL."
;;; Dispatch on "normal types".
-(defconst cl--generic--unreachable-types
- ;; FIXME: Try to make that list empty?
- '(keyword)
- "Built-in classes on which we cannot dispatch for technical reasons.")
-
(defun cl--generic-type-specializers (tag &rest _)
(and (symbolp tag)
(let ((class (cl--find-class tag)))
@@ -1350,14 +1345,12 @@ These match if the argument is `eql' to VAL."
(cl-defmethod cl-generic-generalizers :extra "typeof" (type)
"Support for dispatch on types.
This currently works for built-in types and types built on top of records."
- ;; FIXME: Add support for other types accepted by `cl-typep' such
- ;; as `character', `face', `function', ...
+ ;; FIXME: Add support for other "types" accepted by `cl-typep' such
+ ;; as `character', `face', `keyword', ...?
(or
(and (symbolp type)
(not (eq type t)) ;; Handled by the `t-generalizer'.
(let ((class (cl--find-class type)))
- (when (memq type cl--generic--unreachable-types)
- (error "Dispatch on %S is currently not supported" type))
(memq (type-of class)
'(built-in-class cl-structure-class eieio--class)))
(list cl--generic-typeof-generalizer))