From: Vibhav Pant Date: Thu, 9 Mar 2017 18:39:58 +0000 (+0530) Subject: Byte compile cond clauses without any bodies correctly. X-Git-Tag: emacs-26.0.90~604 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=092071345f265efcd3abd6de01552ebe95ffb9a1;p=emacs.git 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. --- 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) ...))" ;; 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)