Variable: cl--typeof-types

cl--typeof-types is a variable defined in cl-preloaded.el.gz.

Value

Large value
((integer number number-or-marker atom)
 (symbol-with-pos symbol atom)
 (symbol atom)
 (string array sequence atom)
 (cons list sequence)
 (marker number-or-marker atom)
 (overlay atom)
 (float number atom)
 (window-configuration atom)
 (process atom)
 (window atom)
 (subr atom)
 (compiled-function byte-code-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)
 (tree-sitter-parser atom)
 (tree-sitter-node atom)
 (tree-sitter-compiled-query atom)
 (null symbol list sequence atom))

Documentation

Alist of supertypes.

Each element has the form (TYPE . SUPERTYPES) where TYPE is one of the symbols returned by type-of, and SUPERTYPES is the list of its supertypes from the most specific to least specific.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-preloaded.el.gz
(defconst cl--typeof-types
  ;; Hand made from the source code of `type-of'.
  '((integer number number-or-marker atom)
    (symbol-with-pos symbol atom) (symbol atom) (string array sequence atom)
    (cons list sequence)
    ;; Markers aren't `numberp', yet they are accepted wherever integers are
    ;; accepted, pretty much.
    (marker number-or-marker atom)
    (overlay atom) (float number atom) (window-configuration atom)
    (process atom) (window atom)
    ;; FIXME: We'd want to put `function' here, but that's only true
    ;; for those `subr's which aren't special forms!
    (subr atom)
    ;; FIXME: We should probably reverse the order between
    ;; `compiled-function' and `byte-code-function' since arguably
    ;; `subr' and also "compiled functions" but not "byte code functions",
    ;; but it would require changing the value returned by `type-of' for
    ;; byte code objects, which risks breaking existing code, which doesn't
    ;; seem worth the trouble.
    (compiled-function byte-code-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)
    (tree-sitter-parser atom)
    (tree-sitter-node atom)
    (tree-sitter-compiled-query atom)
    ;; Plus, really hand made:
    (null symbol list sequence atom))
  "Alist of supertypes.
Each element has the form (TYPE . SUPERTYPES) where TYPE is one of
the symbols returned by `type-of', and SUPERTYPES is the list of its
supertypes from the most specific to least specific.")