aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVibhav Pant2017-03-10 00:09:58 +0530
committerVibhav Pant2017-03-10 00:22:35 +0530
commit092071345f265efcd3abd6de01552ebe95ffb9a1 (patch)
treef7a304a37159799fd28b8a394f31fed76f9c3d4a
parent37b88d7b92ba77a771ce0dbff940b3dec1a366c5 (diff)
downloademacs-092071345f265efcd3abd6de01552ebe95ffb9a1.tar.gz
emacs-092071345f265efcd3abd6de01552ebe95ffb9a1.zip
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.
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 25513bd0248..7cbef8e4340 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -4128,7 +4128,9 @@ Return a list of the form ((TEST . VAR) ((VALUE BODY) ...))"
4128 ;; depth/tag conflicts or violating asserts down the road. 4128 ;; depth/tag conflicts or violating asserts down the road.
4129 ;; To make sure `byte-compile-body' itself doesn't violate this, 4129 ;; To make sure `byte-compile-body' itself doesn't violate this,
4130 ;; we use `cl-assert'. 4130 ;; we use `cl-assert'.
4131 (byte-compile-body body byte-compile--for-effect) 4131 (if (null body)
4132 (byte-compile-form t byte-compile--for-effect)
4133 (byte-compile-body body byte-compile--for-effect))
4132 (cl-assert (or (= byte-compile-depth init-depth) 4134 (cl-assert (or (= byte-compile-depth init-depth)
4133 (= byte-compile-depth (1+ init-depth)))) 4135 (= byte-compile-depth (1+ init-depth))))
4134 (byte-compile-goto 'byte-goto donetag) 4136 (byte-compile-goto 'byte-goto donetag)