aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2009-08-26 02:56:05 +0000
committerStefan Monnier2009-08-26 02:56:05 +0000
commit8476cfaf3dadf04379fde65cd7e24820151f78a9 (patch)
tree2ff01d71b451dc1c1d6068a023bf2fb95403ff2b
parent78176e6906407f76a016246a001a570ac7b21d9a (diff)
downloademacs-8476cfaf3dadf04379fde65cd7e24820151f78a9.tar.gz
emacs-8476cfaf3dadf04379fde65cd7e24820151f78a9.zip
(byte-compile-lapcode): Signal overflow.
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
2 files changed, 7 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index cb2b6ebe789..3d2796ed3dc 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
12009-08-26 Andreas Schwab <schwab@linux-m68k.org>
2
3 * emacs-lisp/bytecomp.el (byte-compile-lapcode): Signal overflow.
4
12009-08-25 Michael Albinus <michael.albinus@gmx.de> 52009-08-25 Michael Albinus <michael.albinus@gmx.de>
2 6
3 * simple.el (process-file-side-effects): New defvar. 7 * simple.el (process-file-side-effects): New defvar.
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")
854 (t ; Absolute jump 854 (t ; Absolute jump
855 (setq pc (car (cdr (car bytes)))) ; Pick PC from tag 855 (setq pc (car (cdr (car bytes)))) ; Pick PC from tag
856 (setcar (cdr bytes) (logand pc 255)) 856 (setcar (cdr bytes) (logand pc 255))
857 (setcar bytes (lsh pc -8)))) 857 (setcar bytes (lsh pc -8))
858 ;; FIXME: Replace this by some workaround.
859 (if (> (car bytes) 255) (error "Bytecode overflow"))))))
858 (setq patchlist (cdr patchlist)))) 860 (setq patchlist (cdr patchlist))))
859 (apply 'unibyte-string (nreverse bytes)))) 861 (apply 'unibyte-string (nreverse bytes))))
860 862