Function: cl-declaim

cl-declaim is a macro defined in cl-lib.el.gz.

Signature

(cl-declaim &rest SPECS)

Documentation

Like cl-proclaim, but takes any number of unevaluated, unquoted arguments.

Puts (cl-eval-when (compile load eval) ...) around the declarations so that they are registered at compile-time as well as run-time.

View in manual

Aliases

declaim (obsolete since 27.1)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-lib.el.gz
(defmacro cl-declaim (&rest specs)
  "Like `cl-proclaim', but takes any number of unevaluated, unquoted arguments.
Puts `(cl-eval-when (compile load eval) ...)' around the declarations
so that they are registered at compile-time as well as run-time."
  (let ((body (mapcar (lambda (x) `(cl-proclaim ',x)) specs)))
    (if (macroexp-compiling-p) `(cl-eval-when (compile load eval) ,@body)
      `(progn ,@body))))           ; Avoid loading cl-macs.el for cl-eval-when.