From: Andreas Schwab <schwab@linux-m68k.org>
To: Achim Gratz <Stromeko@nexgo.de>
Cc: 11594@debbugs.gnu.org
Subject: bug#11594: message-send-and-exit now fails
Date: Thu, 31 May 2012 22:01:03 +0200 [thread overview]
Message-ID: <m2pq9k6ry8.fsf@igel.home> (raw)
In-Reply-To: <87ehq09o3g.fsf@gnu.org> ("Johan Bockgård"'s message of "Thu, 31 May 2012 20:56:03 +0200")
Johan Bockgård <bojohan@gnu.org> writes:
> The byte compiler seems broken:
>
> emacs -Q
>
> (setq m (byte-compile '(lambda () (defmacro m ()) (m))))
>
> #[nil "\300\301\302\303B\"\210\301 \207" [defalias m macro #[nil "\300\207" [nil] 1]] 4]
>
> (funcall m)
>
> => error: (invalid-function m)
byte code:
args: nil
0 constant defalias
1 constant m
2 constant macro
3 constant <compiled-function>
args: nil
0 constant nil
1 return
4 cons
5 call 2
6 discard
7 constant m
8 call 0
9 return
> In emacs-24 branch:
>
> #[nil "\300\301\302\"\210\303\207" [defalias m (macro . #[nil "\300\207" [nil] 1]) nil] 3]
byte code:
args: nil
0 constant defalias
1 constant m
2 constant <compiled macro>
args: nil
0 constant nil
1 return
3 call 2
4 discard
5 constant nil
6 return
There are two differences:
- (cons 'macro #[nil ...]) vs '(macro . #[nil ...]) (a performance
regression)
- (m) is not macro-expanded
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
next prev parent reply other threads:[~2012-05-31 20:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-31 8:17 bug#11594: message-send-and-exit now fails Jim Meyering
2012-05-31 18:29 ` Achim Gratz
2012-05-31 18:56 ` Johan Bockgård
2012-05-31 20:01 ` Andreas Schwab [this message]
2012-05-31 21:39 ` Johan Bockgård
2012-05-31 22:02 ` Johan Bockgård
2012-06-01 1:28 ` Stefan Monnier
2012-06-01 16:26 ` Johan Bockgård
2012-06-01 19:50 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2pq9k6ry8.fsf@igel.home \
--to=schwab@linux-m68k.org \
--cc=11594@debbugs.gnu.org \
--cc=Stromeko@nexgo.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.