Function: cl-deftype

cl-deftype is an autoloaded macro defined in cl-macs.el.gz.

Signature

(cl-deftype NAME ARGLIST &rest BODY)

Documentation

Define NAME as a new data type.

The type name can then be used in cl-typecase, cl-check-type, etc.

View in manual

Aliases

deftype (obsolete since 27.1)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;;; Types and assertions.

;;;###autoload
(defmacro cl-deftype (name arglist &rest body)
  "Define NAME as a new data type.
The type name can then be used in `cl-typecase', `cl-check-type', etc."
  (declare (debug cl-defmacro) (doc-string 3) (indent 2))
  `(cl-eval-when (compile load eval)
     (define-symbol-prop ',name 'cl-deftype-handler
                         (cl-function (lambda (&cl-defs ('*) ,@arglist) ,@body)))))