[Ecls-list] patch for additional clhs compliance
Eric Marsden
eric.marsden at free.fr
Tue Apr 1 17:12:53 UTC 2008
>>>>> "jjg" == Juan Jose Garcia-Ripoll <jjgarcia at users.sourceforge.net> writes:
gg> prog2 evaluates first-form, then second-form, and then forms, yielding
gg> as its only value the primary value yielded by first-form.
jjg> This must be a typo. If you look at the notes at the bottom of the
jjg> specification (http://www.lisp.org/HyperSpec/Body/mac_prog1cm_prog2.html)
jjg> you will notice this:
jjg>
jjg> (prog1 form*) == (values (multiple-value-prog1 form*))
jjg> (prog2 form1 form*) == (let () form1 (prog1 form*))
jjg>
jjg> Hence, PROG2 returns the primary value of the _second_ form.
Indeed, this is a known "bug" in CLtS. See
http://www.cliki.net/Issue%20PROG2-RETURN-VALUE
--
Eric Marsden
More information about the ecl-devel
mailing list