On Sun, Nov 15, 2009 at 08:26:58PM +0000, Neil Jerram wrote: > Josef Wolf <j...@raven.inka.de> writes: > > I am trying to work through the little schemer book. In order to make it > > easier to go through the examples, I've come up with the following macro: > > [ ... ] > > The body of a define-macro definition is supposed to return the code > that should be substituted in place of the original macro call. With > the newlines there, the body returns *unspecified*, because that is what > (newline) returns.
OK, I think I see the problem now... > Do you want those newlines to happen at macro-expansion time or eval > time? If the latter (which I would guess), the code that you want is > > (define-macro (disp exp) > (display exp) (newline) > `(begin > (display ,exp) > (newline) (newline))) Works great. Thanks!