Article View: gnu.emacs.bug
Article #99226(none)
From: microsoft!news
Date: Mon, 15 Oct 1990 11:03
Date: Mon, 15 Oct 1990 11:03
45 lines
1932 bytes
1932 bytes
To: uunet!gnu-emacs-bug
Path: microsoft!uunet!decwrl!sdd.hp.com!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!tut.cis.ohio-state.edu!BREEZE.BELLCORE.COM!mlittman
From: mlittman@BREEZE.BELLCORE.COM (Michael L. Littman)
Newsgroups: gnu.emacs.bug
Subject: Backquote results in different behavior when byte-compiled
Message-ID: <9010091456.AA18404@breeze.bellcore.com>
Date: 9 Oct 90 14:56:40 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 32
System: Sparc 18.55
I am using a macro to generate a list which I then tamper with using
"setcar". Before I byte-compile, "setcar" does not produce a
side-effect to the macro. After I compile, it does.
If I define the macro any other way, I get consistent results: either
"setcar" produces side-effects in the compiled version AND the
uncompiled version, or it "setcar" produces no side-effects in the
compiled version OR the uncompiled version.
; Program:
(defmacro nil-list ()
(` (cons '(nil) nil)))
(defun change-nils (true)
(let ((a (nil-list)))
(if true
(setcar (car a) 'up)
)
a))
; Test...
(change-nils t) => ((up))
(change-nils nil) => ((nil)) ; No side effect
(byte-compile 'change-nils)
(change-nils t) => ((up))
(change-nils nil) => ((up)) ; Side effect
-Michael
Technical Details
Message-ID:
<9010151416.AA13379@uunet.uu.net>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!UUNET.UU.NET!microsoft!newsShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fb2f1,f1dbc4b61e8e8143 X-Google-Attributes: gidfb2f1,public X-Google-ArrivalTime: 1990-10-15 04:03:38 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!tut.cis.ohio-state.edu!UUNET.UU.NET!microsoft!news From: microsoft!news@UUNET.UU.NET Newsgroups: gnu.emacs.bug Subject: (none) Message-ID: <9010151416.AA13379@uunet.uu.net> Date: 15 Oct 90 11:03:38 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 45 Approved: bug-gnu-emacs@prep.ai.mit.edu Posted: Mon Oct 15 12:03:38 1990