r5192: *** empty log message ***
[lml2.git] / htmlgen.lisp
index 62c45dda378ed206a6b14a038ba2e075cf7f78b0..46abc6d1ba5fc6451f34ac613ab9e925f6a0d576 100644 (file)
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: lml2 -*-
 ;;
-;; $Id: htmlgen.lisp,v 1.6 2003/06/24 17:48:41 kevin Exp $
+;; $Id: htmlgen.lisp,v 1.8 2003/06/24 17:57:17 kevin Exp $
 ;;
 ;; copyright (c) 1986-2000 Franz Inc, Berkeley, CA 
 ;; copyright (c) 2003 Kevin Rosenberg
 
 (defmacro html-out-stream-check (stream)
   ;; ensure that a real stream is passed to this function
-  `(let ((.str. ,stream))
-     (if* (not (streamp .str.))
-       then (error "html-stream must be passed a stream object, not ~s"
-                   .str.))
-     .str.))
+  (let ((s (gensym)))
+  `(let ((,s ,stream))
+     (unless (streamp ,s)
+       (error "html-stream must be passed a stream object, not ~s" ,s))
+    ,s)))
 
 
 (defmacro html-stream (stream &rest forms)
 (defun html-body-key-form (string-code has-inv args body)
   ;; do what's needed to handle given keywords in the args
   ;; then do the body
-  (if* (and args (atom args))
-     then ; single arg 
-         (return-from html-body-key-form
-           (case args
-             (:set (if* has-inv
-                        then `(write-string  ,(format nil "<~a>" string-code)
-                               *html-stream*)
-                        else `(write-string  ,(format nil "<~a />" string-code)
-                               *html-stream*)))
-             (:unset (if* has-inv
-                          then `(write-string  ,(format nil "</~a>" string-code)
-                                 *html-stream*)))
-             (t (error "illegal arg ~s to ~s" args string-code)))))
+  (when (and args (atom args))
+    ;; single arg 
+    (return-from html-body-key-form
+      (case args
+       (:set (if* has-inv
+                  then `(write-string  ,(format nil "<~a>" string-code)
+                         *html-stream*)
+                  else `(write-string  ,(format nil "<~a />" string-code)
+                         *html-stream*)))
+       (:unset (if* has-inv
+                    then `(write-string  ,(format nil "</~a>" string-code)
+                           *html-stream*)))
+       (t (error "illegal arg ~s to ~s" args string-code)))))
   
-  (if* (not (evenp (length args)))
-       then (warn "arg list ~s isn't even" args))
+  (unless (evenp (length args))
+    (warn "arg list ~s isn't even" args))
   
   
   (if* args
 (def-special-html :insert-file
     (named-function html-nbsp-function
       (lambda (ent args argsp body)
-       (declare (ignore ent argsp))
+       (declare (ignore ent args argsp))
        (unless body
          (error "must have a body with :insert-file"))
        `(lml-load-path (car ',body))))
   
   (named-function html-nbsp-print-function
     (lambda (ent cmd args form subst unknown stream)
-      (declare (ignore ent unknown subst stream form))
+      (declare (ignore ent unknown subst stream args))
       (if* (eq cmd :full)
           then (lml-load-path (cadr form))
           else (error ":insert-file must be given an argument")))))