Guard against non-string data
authorKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 8 Jul 2011 20:04:22 +0000 (14:04 -0600)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Fri, 8 Jul 2011 20:04:22 +0000 (14:04 -0600)
views.lisp

index db6bba64d316a2ad8f7bbe00499c06e230deccf9..dde22fcc913fa4a371139a95b041d7b9c7a683ee 100644 (file)
 
 (defun ppfc-html-labels (label name type formatter cdata print-func)
   (vector-push-extend '(write-string "<span class=\"label\">" s) print-func)
 
 (defun ppfc-html-labels (label name type formatter cdata print-func)
   (vector-push-extend '(write-string "<span class=\"label\">" s) print-func)
-  (vector-push-extend `(write-string ,label s) print-func)
+  (vector-push-extend `(when (stringp ,label) (write-string ,label s)) print-func)
   (vector-push-extend '(write-string "</span> " s) print-func)
   (ppfc-html label name type formatter cdata print-func))
 
 (defun ppfc-xhtml-labels (label tag name type formatter cdata print-func)
   (vector-push-extend '(write-string "<span class=\"label\">" s) print-func)
   (vector-push-extend '(write-string "</span> " s) print-func)
   (ppfc-html label name type formatter cdata print-func))
 
 (defun ppfc-xhtml-labels (label tag name type formatter cdata print-func)
   (vector-push-extend '(write-string "<span class=\"label\">" s) print-func)
-  (vector-push-extend `(write-string ,label s) print-func)
+  (vector-push-extend `(when (stringp ,label) (write-string ,label s)) print-func)
   (vector-push-extend '(write-string "</span> " s) print-func)
   (ppfc-html tag name type formatter cdata print-func))
 
 (defun ppfc-xml-labels (label tag name type formatter cdata print-func)
   (vector-push-extend '(write-string "<label>" s) print-func)
   (vector-push-extend '(write-string "</span> " s) print-func)
   (ppfc-html tag name type formatter cdata print-func))
 
 (defun ppfc-xml-labels (label tag name type formatter cdata print-func)
   (vector-push-extend '(write-string "<label>" s) print-func)
-  (vector-push-extend `(write-string ,label s) print-func)
+  (vector-push-extend `(when (stringp ,label) (write-string ,label s)) print-func)
   (vector-push-extend '(write-string "</label> " s) print-func)
   (ppfc-xml tag name type formatter cdata print-func))
 
 (defun ppfc-html-link (name type formatter cdata nlink print-func)
   (declare (fixnum nlink))
   (vector-push-extend '(write-char #\< s) print-func)
   (vector-push-extend '(write-string "</label> " s) print-func)
   (ppfc-xml tag name type formatter cdata print-func))
 
 (defun ppfc-html-link (name type formatter cdata nlink print-func)
   (declare (fixnum nlink))
   (vector-push-extend '(write-char #\< s) print-func)
-  (vector-push-extend `(write-string (nth ,(+ nlink nlink) links) s) print-func)
+  (vector-push-extend `(when (stringp (nth ,(+ nlink nlink) links))
+                         (write-string (nth ,(+ nlink nlink) links) s)) print-func)
   (vector-push-extend '(write-char #\> s) print-func)
   (vector-push-extend `(write-ho-value x ',name ',type ',formatter ,cdata s) print-func)
   (vector-push-extend '(write-string "</" s) print-func)
   (vector-push-extend '(write-char #\> s) print-func)
   (vector-push-extend `(write-ho-value x ',name ',type ',formatter ,cdata s) print-func)
   (vector-push-extend '(write-string "</" s) print-func)
-  (vector-push-extend `(write-string (nth ,(+ nlink nlink 1) links) s) print-func)
+  (vector-push-extend `(when (stringp (nth ,(+ nlink nlink 1) links))
+                         (write-string (nth ,(+ nlink nlink 1) links) s)) print-func)
   (vector-push-extend '(write-char #\> s) print-func))
 
 (defun ppfc-html-link-labels (label name type formatter cdata nlink print-func)
   (vector-push-extend '(write-string "<span class=\"label\">" s) print-func)
   (vector-push-extend '(write-char #\> s) print-func))
 
 (defun ppfc-html-link-labels (label name type formatter cdata nlink print-func)
   (vector-push-extend '(write-string "<span class=\"label\">" s) print-func)
-  (vector-push-extend `(write-string ,label s) print-func)
+  (vector-push-extend `(when (stringp ,label) (write-string ,label s)) print-func)
   (vector-push-extend '(write-string "</span> " s) print-func)
   (ppfc-html-link name type formatter cdata nlink print-func))
 
   (vector-push-extend '(write-string "</span> " s) print-func)
   (ppfc-html-link name type formatter cdata nlink print-func))