[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> (prog1 form*) ==  (values (multiple-value-prog1 form*))
  jjg> (prog2 form1 form*) ==  (let () form1 (prog1 form*))
  jjg> Hence, PROG2 returns the primary value of the _second_ form.

  Indeed, this is a known "bug" in CLtS. See

Eric Marsden

More information about the ecl-devel mailing list