# HG changeset patch # User Stefan Monnier # Date 1251255365 0 # Node ID 850f9373a88a09d98d258c4e47a3d54276530d24 # Parent 9eb9d3014be09b34ba628ed0816c20522b214f13 (byte-compile-lapcode): Signal overflow. diff -r 9eb9d3014be0 -r 850f9373a88a lisp/ChangeLog --- a/lisp/ChangeLog Tue Aug 25 19:26:37 2009 +0000 +++ b/lisp/ChangeLog Wed Aug 26 02:56:05 2009 +0000 @@ -1,3 +1,7 @@ +2009-08-26 Andreas Schwab + + * emacs-lisp/bytecomp.el (byte-compile-lapcode): Signal overflow. + 2009-08-25 Michael Albinus * simple.el (process-file-side-effects): New defvar. diff -r 9eb9d3014be0 -r 850f9373a88a lisp/emacs-lisp/bytecomp.el --- a/lisp/emacs-lisp/bytecomp.el Tue Aug 25 19:26:37 2009 +0000 +++ b/lisp/emacs-lisp/bytecomp.el Wed Aug 26 02:56:05 2009 +0000 @@ -854,7 +854,9 @@ (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))))