Variable: pcase--subtype-bitsets

pcase--subtype-bitsets is a variable defined in pcase.el.gz.

Value

#s(hash-table data
	      (fixnump 1 integerp 5 numberp 261 integer-or-marker-p
		       1029 number-or-marker-p 1285 atom 536838143
		       null 2 booleanp 2 symbolp 8194 listp 32770
		       sequencep 35522 bignump 4 primitive-function-p
		       8 subrp 16424 compiled-function-p 56
		       cl-functionp 69688 byte-code-function-p 16
		       closurep 4112 native-comp-function-p 32 stringp
		       64 arrayp 2752 vectorp 128 floatp 256
		       bool-vector-p 512 markerp 1024 char-table-p
		       2048 interpreted-function-p 4096
		       symbol-with-pos-p 8192 special-form-p 16384
		       consp 32768 module-function-p 65536 mutexp
		       131072 recordp 262144 framep 524288
		       hash-table-p 1048576 window-configuration-p
		       2097152 user-ptrp 4194304 overlayp 8388608
		       processp 16777216 obarrayp 33554432 bufferp
		       67108864 threadp 134217728 windowp 268435456
		       functionp 110650 keywordp 8194 characterp 1
		       natnump 5 facep 8258 plistp 32770 cl-struct-p
		       262144 fboundp 8194))

Documentation

Hash table mapping type predicates to their sets of types.

The table maps each type predicate, such as numberp and stringp, to the set of built-in types for which the predicate may return non-nil. The sets are represented as bitsets (integers) where each bit represents a specific leaf type. Which bit represents which type is unspecified.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/pcase.el.gz
(defconst pcase--subtype-bitsets
  (if (and (fboundp 'built-in-class-p)
           (built-in-class-p (get 'function 'cl--class)))
      (pcase--subtype-bitsets)
    ;; Early bootstrap: we don't have the built-in classes yet, so just
    ;; use an empty table for now.
    (prog1 (make-hash-table)
      ;; The empty table leads to significantly worse code, so upgrade
      ;; to the real table as soon as possible (most importantly: before we
      ;; start compiling code, and hence baking the result into files).
      (with-eval-after-load 'cl-preloaded
        (defconst pcase--subtype-bitsets (pcase--subtype-bitsets)))))
  "Hash table mapping type predicates to their sets of types.
The table maps each type predicate, such as `numberp' and `stringp',
to the set of built-in types for which the predicate may return non-nil.
The sets are represented as bitsets (integers) where each bit represents
a specific leaf type.  Which bit represents which type is unspecified.")