Function: cl-the
cl-the is an autoloaded macro defined in cl-macs.el.gz.
Signature
(cl-the TYPE FORM)
Documentation
Return FORM. If type-checking is enabled, assert that it is of TYPE.
Probably introduced at or before Emacs version 25.1.
Aliases
the (obsolete since 27.1)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;;;###autoload
(defmacro cl-the (type form)
"Return FORM. If type-checking is enabled, assert that it is of TYPE."
(declare (indent 1) (debug (cl-type-spec form)))
;; When native compiling possibly add the appropriate type hint.
(when (and (boundp 'byte-native-compiling)
byte-native-compiling)
(setf form
(cl-case type
(fixnum `(comp-hint-fixnum ,form))
(cons `(comp-hint-cons ,form))
(otherwise form))))
(if (not (or (not (macroexp-compiling-p))
(< cl--optimize-speed 3)
(= cl--optimize-safety 3)))
form
(macroexp-let2 macroexp-copyable-p temp form
`(progn (unless (cl-typep ,temp ',type)
(signal 'wrong-type-argument
(list ',type ,temp ',form)))
,temp))))