mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-01 20:06:00 +00:00
b-c--cond-jump-table-info: Use correct body for singleton clauses
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info): When a clause's body consists of a single constant expression, use that expression as the body to be compiled. This fixes switch bytecode evaluating to nil to such clauses.
This commit is contained in:
parent
ace38bafa6
commit
1c91bc9221
@ -4066,8 +4066,8 @@ Return a list of the form ((TEST . VAR) ((VALUE BODY) ...))"
|
||||
;; discard duplicate clauses
|
||||
(not (assq obj2 cases)))
|
||||
(push (list (if (consp obj2) (eval obj2) obj2) body) cases)
|
||||
(if (eq condition t)
|
||||
(progn (push (list 'default body) cases)
|
||||
(if (and (macroexp-const-p condition) condition)
|
||||
(progn (push (list 'default (or body `(,condition))) cases)
|
||||
(throw 'break t))
|
||||
(setq ok nil)
|
||||
(throw 'break nil))))))
|
||||
|
Loading…
x
Reference in New Issue
Block a user