Test for 'lisp' If the lisp feature is not enabled, this will fail! STARTTEST :set lisp /^(defun =G:/^(defun/,$w! test.out :q! ENDTEST (defun html-file (base) (format nil "~(~A~).html" base)) (defmacro page (name title &rest body) (let ((ti (gensym))) `(with-open-file (*standard-output* (html-file ,name) :direction :output :if-exists :supersede) (let ((,ti ,title)) (as title ,ti) (with center (as h2 (string-upcase ,ti))) (brs 3) ,@body)))) ;;; Utilities for generating links (defmacro with-link (dest &rest body) `(progn (format t "" (html-file ,dest)) ,@body (princ "")))