Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!arclight.uoregon.edu!nntp.primenet.com!howland.erols.net!usc!news.isi.edu!gremlin!shomase!jbarnett
From: jbarnett@shomase.NoSubdomain.NoDomain (Jeff Barnett)
Subject: Re: Possible bug in GNU Common Lisp
Message-ID: <DzA2Jy.Bvp@gremlin.nrtc.northrop.com>
Sender: news@gremlin.nrtc.northrop.com (Usenet News Manager)
Reply-To: jbarnett@charming.nrtc.northrop.com
Organization: Northrop Automation Sciences Laboratory
References:  <53lsbm$ovd@hobbes.cc.uga.edu>
Date: Mon, 14 Oct 1996 18:11:57 GMT
Lines: 19

In article <53lsbm$ovd@hobbes.cc.uga.edu>, efoster@ai.uga.edu (Ernie Foster [MSAI]) writes:
|> It is my understanding that EVAL should accept only one argument in any
|> implementation of Common Lisp.  Further, the Lisp interpreter should
|> complain bitterly about any attempt to use more than one argument with EVAL.  
|> 
|> However, I (inadvertently) used EVAL with multiple arguments while programming
|> in GNU Common Lisp.  Each of the arguments was evaluated (once) and then the
|> first argument was evaluated again (as one would expect) with EVAL returning
|> this value (also as one would expect).
|> 
|> This would seem to be an implementation error unless I am missing something.
|> 
|> Could anyone cast some light on this situation?

Eval general takes two arguments; the second one is an optional
environment so that macros and special forms that need to call
eval can make sure the evaluation is done in the proper context.

Jeff Barnett
