Function: make-comp-cstr
make-comp-cstr is a byte-compiled function defined in comp-cstr.el.gz.
Signature
(make-comp-cstr &key TYPESET VALSET RANGE NEG)
Documentation
Constructor for objects of type comp-cstr.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp-cstr.el.gz
(require 'cl-extra) ;HACK: For `cl-find-class' when `cl-loaddefs' is missing.
(cl-defstruct (comp-cstr (:constructor comp--type-to-cstr
(type &aux
(null (eq type 'null))
(integer (eq type 'integer))
(typeset (if (or null integer)
nil
(list type)))
(valset (when null
'(nil)))
(range (when integer
'((- . +))))))
(:constructor comp--value-to-cstr
(value &aux
(integer (integerp value))
(valset (unless integer
(list value)))
(range (when integer
`((,value . ,value))))
(typeset ())))
(:constructor comp--irange-to-cstr
(irange &aux
(range (list irange))
(typeset ())))
(:copier nil))
"Internal representation of a type/value constraint."
(typeset '(t) :type list
:documentation "List of possible types the mvar can assume.
Each element cannot be a subtype of any other element of this slot.")
(valset () :type list
:documentation "List of possible values the mvar can assume.
Integer values are handled in the `range' slot.")
(range () :type list
:documentation "Integer interval.")
(neg nil :type boolean
:documentation "Non-nil if the constraint is negated"))