I'm writing some unit tests for PS functions and want to be able to report the test expressions that fail. &whole is perfect for this. But it doesn't quite behave as expected.

In Lisp:

  (defmacro lisp-blah (x y &whole w) w)
  (macroexpand-1 '(lisp-blah 10 20)) => (LISP-BLAH 10 20)

In Parenscript:

  (defpsmacro ps-blah (x y &whole w) w)
  (ps::ps-macroexpand '(ps-blah 10 20)) => (10 20)

Also, if you do this:

  (defmacro/ps blah (x y &whole w) w)

then the following expression hangs:

  (ps::ps-macroexpand '(blah10 20))

Daniel