aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/bytecomp.el
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2012-03-26 15:10:00 -0400
committerStefan Monnier <[email protected]>2012-03-26 15:10:00 -0400
commitf9210e18be29dd83fab9f4e260a29f6e6e5f0c62 (patch)
treeaf9151109ce697cc61d0b9e72fcd91dd861dfc12 /lisp/emacs-lisp/bytecomp.el
parent679910f18b72f30c7b9ac4322974bd859219384a (diff)
* emacs-lisp/bytecomp.el (byte-compile-constants-vector): Allow more
than 197 variables.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
-rw-r--r--lisp/emacs-lisp/bytecomp.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 2ee878e521..93c6518d21 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2694,7 +2694,8 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(limits '(5 ; Use the 1-byte varref codes,
63 ; 1-constlim ; 1-byte byte-constant codes,
255 ; 2-byte varref codes,
- 65535)) ; 3-byte codes for the rest.
+ 65535 ; 3-byte codes for the rest.
+ 65535)) ; twice since we step when we swap.
limit)
(while (or rest other)
(setq limit (car limits))
@@ -2708,8 +2709,8 @@ If FORM is a lambda or a macro, byte-compile it as a function."
(setcdr (car rest) (setq i (1+ i)))
(setq ret (cons (car rest) ret))))
(setq rest (cdr rest)))
- (setq limits (cdr limits)
- rest (prog1 other
+ (setq limits (cdr limits) ;Step
+ rest (prog1 other ;&Swap.
(setq other rest))))
(apply 'vector (nreverse (mapcar 'car ret)))))