summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2017-08-18 08:15:25 -0400
committerNoam Postavsky <npostavs@gmail.com>2017-08-30 20:07:39 -0400
commitbc5d96a0b2a1dccf7eeeec459e40d21b54c977f4 (patch)
tree61f03ebde66c71cb304dfc1731c9930712b278d5 /lisp/emacs-lisp
parent7553e0f490e1f9a51c330816f7372da735091e8f (diff)
downloademacs-bc5d96a0b2a1dccf7eeeec459e40d21b54c977f4.tar.gz
emacs-bc5d96a0b2a1dccf7eeeec459e40d21b54c977f4.tar.bz2
emacs-bc5d96a0b2a1dccf7eeeec459e40d21b54c977f4.zip
Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
* lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn to drop the docstring. Add a simple docstring to the compiler-macro.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index b1ada00f4a4..20a956b474a 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -2503,8 +2503,9 @@ The function's arguments should be treated as immutable.
,(if (memq '&key args)
`(&whole cl-whole &cl-quote ,@args)
(cons '&cl-quote args))
+ ,(format "compiler-macro for inlining `%s'." name)
(cl--defsubst-expand
- ',argns '(cl-block ,name ,@body)
+ ',argns '(cl-block ,name ,@(cdr (macroexp-parse-body body)))
;; We used to pass `simple' as
;; (not (or unsafe (cl-expr-access-order pbody argns)))
;; But this is much too simplistic since it