summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2018-02-02 10:28:34 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2018-02-02 10:28:34 -0500
commit6ff8b7749fcc96b79489f73500bcd4722263383c (patch)
treedb3d8060a167ded37733d57cd94803fffbe40180 /lisp/emacs-lisp
parentecc6257f48eb3a87d93ebe91f18b1d871faece5d (diff)
downloademacs-6ff8b7749fcc96b79489f73500bcd4722263383c.tar.gz
emacs-6ff8b7749fcc96b79489f73500bcd4722263383c.tar.bz2
emacs-6ff8b7749fcc96b79489f73500bcd4722263383c.zip
* lisp/emacs-lisp/cconv.el (cconv-convert): Fix compiling compiled code
Don't conv-convert the docstring arg of defvar/defconst.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cconv.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index 02fe794467b..ca46dbb7b55 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -449,8 +449,11 @@ places where they originally did not directly appear."
;defconst, defvar
(`(,(and sym (or `defconst `defvar)) ,definedsymbol . ,forms)
`(,sym ,definedsymbol
- . ,(mapcar (lambda (form) (cconv-convert form env extend))
- forms)))
+ . ,(when (consp forms)
+ (cons (cconv-convert (car forms) env extend)
+ ;; The rest (i.e. docstring, of any) is not evaluated,
+ ;; and may be an invalid expression (e.g. ($# . 678)).
+ (cdr forms)))))
;condition-case
((and `(condition-case ,var ,protected-form . ,handlers)