
Victor Kryukov wrote:
Jeff,
That was fast! I'm holding my breath...
Victor.
Victor, I'm not sure anything I'm doing really exercises your changes, but I now have it running on three servers without any sign of trouble (or difference in output, for that matter). I sat down this evening to try to understand it better, and for awhile I thought I might be able to use it to solve a macro expansion problem that's been bothering me. I don't think it can be applied, but I'm not sure. Here's a simplified version of a macro I use : (defmacro section (title &rest body) `(with-html-output (*standard-output* nil :indent t) (:table (:a :name ,title) (:tr (:td (:h2 (str ,title)) ,@body))))) Here is a trivial example showing how I use it: (section "A Title" (:p "A cl-who formatted form") (:p "The body could be any collection of cl-who code")) What I'd like to be able to do is feed it unexpanded cl-who code like this: (let ((code1 '("A Title" (:p "A cl-who formatted form") (:p "The body could be any collection of cl-who code"))) (code2 '("Another title" (:h2 "Different code here")))) (section* code1) (section* code2)) And I've tried to make the first macro work by wrapping it in a second one like this: (defmacro section* (lst) (let ((ttl (gensym)) (bdy (gensym))) `(let ((,ttl (car ,lst)) (,bdy (cdr ,lst))) (section ,ttl ,bdy)))) Of course, the last form isn't right and evaluates without the body statements. I had expected to use ,@bdy in the last form, but that give an error. Do you have any idea how to do something like this? --Jeff
_______________________________________________ cl-who-devel site list cl-who-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cl-who-devel