Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site topaz.RUTGERS.EDU
Path: utzoo!linus!philabs!cmcl2!seismo!columbia!topaz!hedrick
From: hedrick@topaz.RUTGERS.EDU (Chuck Hedrick)
Newsgroups: net.lang.lisp
Subject: Re: HELP: a bug in my lisp interpreter!
Message-ID: <3228@topaz.RUTGERS.EDU>
Date: Sun, 11-Aug-85 11:36:13 EDT
Article-I.D.: topaz.3228
Posted: Sun Aug 11 11:36:13 1985
Date-Received: Tue, 13-Aug-85 04:01:20 EDT
References: <16700002@uiucuxc>
Reply-To: hedrick@topaz.UUCP (Hedrick)
Organization: Rutgers Univ., New Brunswick, N.J.
Lines: 10

You report that a macro was replaced by its expansion.  This is
probably not a bug.  Several versions of Lisp do this intentionally.
It saves the time of expanding the macro each time the form is
evaluated.  WIth systems that are interpreted, and use a lot of
macros, the time saving can be dramatic.  In case you wonder how it is
changing the value of the variable, probably it is not.  That is, the
new expression is probably EQ to the old one.  It just has its CAR and
CDR changed to new values.  This technique is used so that in case the
form is embedded in the middle of something else, all pointers now
point to the new form.