Byte compile cond clauses without any bodies correctly.

* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
cond clause has no body, push t on to the stack.
This commit is contained in:
Vibhav Pant 2017-03-10 00:09:58 +05:30
parent 37b88d7b92
commit 092071345f

View file

@ -4128,7 +4128,9 @@ Return a list of the form ((TEST . VAR) ((VALUE BODY) ...))"
;; depth/tag conflicts or violating asserts down the road.
;; To make sure `byte-compile-body' itself doesn't violate this,
;; we use `cl-assert'.
(byte-compile-body body byte-compile--for-effect)
(if (null body)
(byte-compile-form t byte-compile--for-effect)
(byte-compile-body body byte-compile--for-effect))
(cl-assert (or (= byte-compile-depth init-depth)
(= byte-compile-depth (1+ init-depth))))
(byte-compile-goto 'byte-goto donetag)