r5164: *** empty log message ***
[lml.git] / base.lisp
index 2939200cdbd79f5c16f6878744217e53397dfb6d..56a0f938ea315ebbdbf7a1266141d84b8e65938c 100644 (file)
--- a/base.lisp
+++ b/base.lisp
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Aug 2002
 ;;;;
-;;;; $Id: base.lisp,v 1.14 2003/04/19 03:50:12 kevin Exp $
+;;;; $Id: base.lisp,v 1.22 2003/06/17 04:56:02 kevin Exp $
 ;;;;
 ;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -16,8 +16,7 @@
 ;;;; (http://www.gnu.org/licenses/gpl.html)
 ;;;; *************************************************************************
 
-(declaim (optimize (debug 3) (speed 3) (safety 3) (compilation-speed 0)))
-(in-package :lml)
+(in-package #:lml)
 
 (defun html4-prologue-string ()
   "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">")
@@ -26,7 +25,7 @@
   "<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?>")
 
 (defun xhtml-prologue-string ()
-  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">")
+  "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">")
 
 (defvar *print-spaces* nil)
 (defvar *indent* 0)
@@ -38,9 +37,8 @@
     (when *print-spaces* (indent-spaces *indent* *html-output*))
     (if args
        (apply #'format *html-output* str args)
-      (princ str *html-output*))
-    (when *print-spaces* (format *html-output* "~%"))
-    (values)))
+      (write-string str *html-output*))
+    (when *print-spaces* (write-char #\newline *html-output*))))
 
 (defun lml-princ (s)
   (princ s *html-output*))
 (defun lml-write-char (char)
   (write-char char *html-output*))
 
+(defun lml-write-string (str)
+  (write-string str *html-output*))
+
 (defun lml-print-date (date)
-  (lml-princ (date-string date)))
+  (lml-write-string (date-string date)))
 
 (defmacro lml-exec-body (&body forms)
   `(progn
@@ -73,9 +74,9 @@
 (defmacro with-attr-string (tag attr-string &body body)
   (let ((attr (gensym)))
   `(let ((,attr ,attr-string))
-     (lml-format "<~(~A~) ~A>" ',tag
+     (lml-format "<~(~A~)~A>" ',tag
              (if (and (stringp ,attr) (plusp (length ,attr)))
-                 (format nil "~A" ,attr)
+                 (format nil " ~A" ,attr)
                ""))
      (incf *indent*)
      (lml-exec-body ,@body)
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (defparameter *macro-list*
-    '(a div span h1 h2 h3 h4 h5 h6 i b p li ul ol table tbody td th tr body head
-         html title pre tt u dl dt dd kbd code form textarea))
-  (export '(alink alink br hr img input meta link meta-key))
+    '(a div span h1 h2 h3 h4 h5 h6 i b p li ul ol table tbody td th tr body
+      head html title pre tt u dl dt dd kbd code form textarea blockquote
+      var strong small samp big cite address dfn em q area del ins
+      object param caption col colgroup script noscript))
+  (export '(alink alink-c br hr img input meta link meta-key))
   (export *macro-list*))
 
 (loop for i in *macro-list*