anchor.diff:        (tag (*ns-number* "text") suffix))))
   
   (defmacro defstyle (name (&rest args) &body body)
  -  `(defun ,name ,(append args '(parent-style next-style data-style percentage-data-style))
  +  `(defun ,(if (listp name) (first name) name)
  +       ,(append args '(parent-style next-style data-style percentage-data-style))
        (with-tag ((*ns-style* "style"))
          (attr (*ns-style* "name") name)
  -       (attr (*ns-style* "family") ,(string-downcase (subseq (symbol-name name) 0 (position #\- (symbol-name name)))))
  +       (attr (*ns-style* "family") ,(if (listp name)
  +					(second name)
  +					(string-downcase (subseq (symbol-name name) 0 (position #\- (symbol-name name))))))
          (when parent-style
   	 (attr (*ns-style* "parent-style-name") parent-style))
          (when next-style
  
positive.code:     (error "span-rows not implemented properly yet")))
  
  (export 'cells)
  (defun cells (&rest content)
    (dolist (i content)
      (cell i)))
  
negative.code:     (write-background background)))
  
  (export 'cell-style)
  (defstyle (cell-style "table-cell") (name text-properties &key vertical-align text-align-source background
  					  border border-left border-top border-right border-bottom
  					  (wrap nil wrap-supplied))
    (with-tag ((*ns-style* "table-cell-properties"))
      (when vertical-align
        (check-type vertical-align (member :top :middle :bottom :automatic))
  