summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorVibhav Pant <vibhavp@gmail.com>2017-01-26 01:00:41 +0530
committerVibhav Pant <vibhavp@gmail.com>2017-01-26 01:00:41 +0530
commit19cb3985a3795539b51d70625904e95a6e581eef (patch)
tree0a7d14042619dba8b7a1d3c495981d62a46e0735 /lisp/emacs-lisp
parentc52a9b6ddd9166571e6bc8bb9426b0267874f9fa (diff)
downloademacs-19cb3985a3795539b51d70625904e95a6e581eef.tar.gz
* lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/bytecomp.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index b608844a08a..dff8bcfa209 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -4020,7 +4020,10 @@ that suppresses all warnings during execution of BODY."
(cases (cadr table-info))
jump-table test-obj body tag donetag default-tag default-case)
(when (and cases (not (= (length cases) 1)))
- (setq jump-table (make-hash-table :test test :size (length cases))
+ (setq jump-table (make-hash-table :test test
+ :size (if (assq 'default cases)
+ (1- (length cases))
+ (length cases)))
default-tag (byte-compile-make-tag)
donetag (byte-compile-make-tag))
(byte-compile-variable-ref var)