From: Stefan Monnier Date: Wed, 20 Apr 2011 17:28:07 +0000 (-0300) Subject: * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~215^2~57 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=332e62ab1f5d90d22951b67c430cbd4da9c10dbe;p=emacs.git * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, add sanity check. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a7aedca6944..d019eca95c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2011-04-20 Stefan Monnier + * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Remove dead code, + add sanity check. + * obsolete/erc-hecomplete.el: Make obsolete. * obsolete/: Standardize obsolescence info in the header. diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index 548fcd133df..7b98ade2422 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -1364,8 +1364,7 @@ (defun byte-decompile-bytecode-1 (bytes constvec &optional make-spliceable) (let ((length (length bytes)) (bytedecomp-ptr 0) optr tags bytedecomp-op offset - lap tmp - endtag) + lap tmp) (while (not (= bytedecomp-ptr length)) (or make-spliceable (push bytedecomp-ptr lap)) @@ -1373,7 +1372,9 @@ optr bytedecomp-ptr ;; This uses dynamic-scope magic. offset (disassemble-offset bytes)) - (setq bytedecomp-op (aref byte-code-vector bytedecomp-op)) + (let ((opcode (aref byte-code-vector bytedecomp-op))) + (assert opcode) + (setq bytedecomp-op opcode)) (cond ((memq bytedecomp-op byte-goto-ops) ;; It's a pc. (setq offset @@ -1417,8 +1418,6 @@ (setq rest (cdr rest)))) (setq rest (cdr rest)))) (if tags (error "optimizer error: missed tags %s" tags)) - (if endtag - (setq lap (cons (cons nil endtag) lap))) ;; Remove addrs, lap = ( [ (op . arg) | (TAG tagno) ]* ) (mapcar (function (lambda (elt) (if (numberp elt)