Hi!
Every once in a while there arises a question in this group or elsewhere of adding support for macroexpansion inside WITH-HTML-OUTPUT. I was also one of those, who asked this question in 2008. Later I've experimented with different approaches and summarized them in a blog post: http://lisp-univ-etc.blogspot.com/2009/03/cl-who-macros.html (although it could be more elaborate on some issues). I continue to use the third of the described approaches in several projects, and also decided to post the code for public consumption (as it is quite robust in my opinion). So now it is available from my Github account: http://github.com/vseloved/cl-who. The fork has version 0.11.X not to mess up with the mainline versioning. I have also updated the doc to reflect the introduced changes.
I hope this will be useful. Best regards, Vsevolod