[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#34757: Invalid bytecode from byte compiler
From: |
Michael Heerdegen |
Subject: |
bug#34757: Invalid bytecode from byte compiler |
Date: |
Fri, 08 Mar 2019 14:50:33 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
> > From: chuntaro <chuntaro@sakura-games.jp>
> > Date: Tue, 5 Mar 2019 17:01:00 +0900
> >
> > Invalid bytecode is output and error occurs when executed.
> >
> > Byte compile the following code.
> >
> > bug.el
> > ----------------------------------------------------------------
> > ;;; -*- lexical-binding: t; -*-
> >
> > (let ((a 2))
> > (print 1)
> > (setq a 1))
> > ----------------------------------------------------------------
> >
> > $ emacs --batch -f batch-byte-compile bug.el
> >
> > bug.elc
> > ----------------------------------------------------------------
> > ;ELC
> > ...
> > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> >
> >
> > (funcall 2 'print 1)
> > 1
> > ----------------------------------------------------------------
> >
> > $ emacs --batch -l bug.elc
> > Invalid function: 2
>
> Why is that a problem? The Lisp code is invalid, and the error
> message says that much.
Please take a closer look: The Lisp code in the compiled file is
invalid, but the code in the .el isn't.
Michael.