Function: macroexp-parse-body
macroexp-parse-body is a byte-compiled function defined in
macroexp.el.gz.
Signature
(macroexp-parse-body BODY)
Documentation
Parse a function BODY into (DECLARATIONS . EXPS).
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/macroexp.el.gz
;;; Handy functions to use in macros.
(defun macroexp-parse-body (body)
"Parse a function BODY into (DECLARATIONS . EXPS)."
(let ((decls ()))
(while
(and body
(let ((e (car body)))
(or (and (stringp e)
;; If there is only a string literal with
;; nothing following, we consider this to be
;; part of the body (the return value) rather
;; than a declaration at this point.
(cdr body))
(memq (car-safe e)
'(:documentation declare interactive cl-declare)))))
(push (pop body) decls))
(cons (nreverse decls) body)))