Commit 9c1f24d7 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/emacs-lisp/macroexp.el (macroexp-parse-body): Fix bug#67568

This fixes a regression introduced in commit f616edb4.
parent e33f560b
Pipeline #27372 failed with stages
in 42 minutes and 34 seconds
......@@ -533,17 +533,18 @@ definitions to shadow the loaded ones for use in file byte-compilation."
(defun macroexp-parse-body (body)
"Parse a function BODY into (DECLARATIONS . EXPS)."
(let ((decls ()))
;; 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.
(unless (and (null (cdr body)) (stringp (car body)))
(while
(and body
(let ((e (car body)))
(or (stringp e)
(memq (car-safe e)
'(:documentation declare interactive cl-declare)))))
(push (pop body) 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)))
(defun macroexp-progn (exps)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment