r4931: Auto commit for Debian build
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 14 May 2003 07:05:24 +0000 (07:05 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 14 May 2003 07:05:24 +0000 (07:05 +0000)
views.lisp

index 2db0a035490fb159d4102cf9759b8ded50a83eb5..ee6008e818e190e8bef5821b5d9d811e66afea3a 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: views.lisp,v 1.40 2003/05/14 07:00:47 kevin Exp $
+;;;; $Id: views.lisp,v 1.41 2003/05/14 07:05:24 kevin Exp $
 ;;;;
 ;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
 ;;;; *************************************************************************
     )
   )
 
+(defmacro write-simple (v s)
+  `(if (stringp ,v)
+    (write-string ,v ,s)
+    (write-string (write-to-string ,v) ,s)))
 
 (defun write-ho-value (obj name type formatter cdata strm)
   (declare (ignorable type))
         (data (if cdata
                   (kmrcl:xml-cdata fmt-data)
                   fmt-data)))
-    (typecase data
-      (string
-       (write-string data strm))
-      (t
-       (write-string (write-to-string data) strm)))))
+    (write-simple data strm)))
+
 
 (defun ppfc-html (title name type formatter cdata print-func)
   (vector-push-extend '(write-string "<span class=\"" s) print-func)
   
 ;;; Object Data 
 
+
 (defun make-link-start (view fieldfunc fieldvalue refvars)
   (with-output-to-string (s)
     (write-string (link-href-start view) s)
     (write-char #\" s)
     (write-string (make-url (link-page-name view)) s)
     (write-string "?func=" s)
-    (write-string fieldfunc s)
+    (write-simple fieldfunc s)
     (write-string (link-ampersand view) s)
     (write-string "key=" s)
-    (write-string fieldvalue s)
+    (write-simple fieldvalue s)
     (dolist (var refvars)
       (write-string (link-ampersand view) s)
-      (write-string (car var) s)
+      (write-simple (car var) s)
       (write-char #\= s)
-      (write-string (cdr var) s))
+      (write-simple (cdr var) s))
     (write-char #\" s)))
   
 (defun make-link-end (obj view fieldname)