diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2009-08-26 02:56:05 +0000 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2009-08-26 02:56:05 +0000 |
commit | 8476cfaf3dadf04379fde65cd7e24820151f78a9 (patch) | |
tree | 2ff01d71b451dc1c1d6068a023bf2fb95403ff2b /lisp/emacs-lisp | |
parent | 78176e6906407f76a016246a001a570ac7b21d9a (diff) | |
download | emacs-8476cfaf3dadf04379fde65cd7e24820151f78a9.tar.gz emacs-8476cfaf3dadf04379fde65cd7e24820151f78a9.tar.bz2 emacs-8476cfaf3dadf04379fde65cd7e24820151f78a9.zip |
(byte-compile-lapcode): Signal overflow.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index b8e63a4f5f8..f1561c0b279 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -854,7 +854,9 @@ otherwise pop it") (t ; Absolute jump (setq pc (car (cdr (car bytes)))) ; Pick PC from tag (setcar (cdr bytes) (logand pc 255)) - (setcar bytes (lsh pc -8)))) + (setcar bytes (lsh pc -8)) + ;; FIXME: Replace this by some workaround. + (if (> (car bytes) 255) (error "Bytecode overflow")))))) (setq patchlist (cdr patchlist)))) (apply 'unibyte-string (nreverse bytes)))) |