From 8476cfaf3dadf04379fde65cd7e24820151f78a9 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 26 Aug 2009 02:56:05 +0000 Subject: [PATCH] (byte-compile-lapcode): Signal overflow. --- lisp/ChangeLog | 4 ++++ lisp/emacs-lisp/bytecomp.el | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cb2b6ebe789..3d2796ed3dc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 --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)))) -- 2.39.2