r3797: Auto commit for Debian build
[lml.git] / base.lisp
index feca6b151a1f79dc54e24e938d1de29546bf515f..d90ae6256352578bcd2cec0383702ca79757296d 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.4 2003/01/14 08:41:22 kevin Exp $
+;;;; $Id: base.lisp,v 1.5 2003/01/17 22:16:25 kevin Exp $
 ;;;;
 ;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
@@ -33,7 +33,7 @@
 (defun reset-indent ()
   (setq *indent* 0))
 
-(defun lml-print (str &rest args)
+(defun lml-format (str &rest args)
   (when (streamp *html-output*)
     (when *print-spaces* (indent-spaces *indent* *html-output*))
     (if args
     (when *print-spaces* (format *html-output* "~%"))
     (values)))
 
-(defmacro lml-line (str &rest args)
-  `(lml-print ,str ,@args))
+(defun lml-princ (s)
+  (princ s *html-output*))
+
+(defun lml-print (s)
+  (format *html-output* "~A~%" s))
+
+(defun lml-write-char (char)
+  (write-char char *html-output))
 
 (defun lml-print-date (date)
-  (lml-print (date-string date)))
+  (lml-princ (date-string date)))
 
 (defmacro lml-exec-body (&body forms)
   `(progn
        #'(lambda (form)
           (etypecase form
             (string
-             `(lml-print ,form))
+             `(lml-princ ,form))
             (number
-             `(lml-print "~D" ,form))
+             `(lml-format "~D" ,form))
             (symbol
              (when form
-             `(lml-print ,form)))
+             `(lml-princ ,form)))
             (cons
              form)))
        forms)))
 (defmacro with-attr-string (tag attr-string &body body)
   (let ((attr (gensym)))
   `(let ((,attr ,attr-string))
-     (lml-print "<~(~A~)~A>" ',tag
+     (lml-format "<~(~A~)~A>" ',tag
              (if (and (stringp ,attr) (plusp (length ,attr)))
                  (format nil "~A" ,attr)
                ""))
      (incf *indent*)
      (lml-exec-body ,@body)
      (decf *indent*)
-     (lml-print "</~(~A~)>" ',tag))))
+     (lml-format "</~(~A~)>" ',tag))))
 
 (defmacro with-no-endtag-attr-string (tag attr-string)
   (let ((attr (gensym)))
   `(let ((,attr ,attr-string))
-     (lml-print "<~(~A~)~A />" ',tag
+     (lml-format "<~(~A~)~A />" ',tag
              (if (and (stringp ,attr) (plusp (length ,attr)))
                  (format nil "~A" ,attr)
                "")))))
 
 (defmacro xhtml-prologue ()
   `(progn
-     (lml-print "~A~%" (xml-prologue-string))
-     (lml-print "~A~%" (xhtml-prologue-string))))
+     (lml-format "~A~%" (xml-prologue-string))
+     (lml-format "~A~%" (xhtml-prologue-string))))
 
 (defmacro link (dest &body body)
   `(with a :href ,dest ,@body))
                    #+cmu
                    (setf curr-string (coerce curr-string `(simple-array character (*))))
        
-                   (push `(lml-print ,curr-string) forms)
+                   (push `(lml-princ ,curr-string) forms)
                    (setq curr-string (new-string))
                    (setq got-comma nil)
                    (vector-push #\( curr-string)
                      (push
                       `(let ((,res ,eval-string))
                          (when ,res
-                           (lml-print ,res)))
+                           (lml-princ ,res)))
                       forms))
                    (setq curr-string (new-string)))
                ;; read comma, then non #\( char
        #+cmu
        (setf curr-string (coerce curr-string `(simple-array character (*))))
        
-       (push `(lml-print ,curr-string) forms)
+       (push `(lml-princ ,curr-string) forms)
        `(progn ,@(nreverse forms)))))