shr.el (shr-tag-table): Fix last change.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 20 Oct 2010 12:22:13 +0000 (12:22 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 20 Oct 2010 12:22:13 +0000 (12:22 +0000)
lisp/shr.el

index 9183e98..e632b68 100644 (file)
@@ -632,44 +632,92 @@ Return a string with image data."
         (nfooter (if footer (shr-max-columns footer))))
     (shr-tag-table-1
      (nconc
-      (if caption `((tr (td ,@caption))))
-      (if header
-         (if footer
-             ;; header + body + footer
-             (if (= nheader nbody)
+      (if caption
+         (if header
+             (if footer
+                 ;; caption + hader + body + footer
+                 (if (= nheader nbody)
+                     (if (= nbody nfooter)
+                         `((tr (td ,@caption))
+                           (tr (td (table (tbody ,@header ,@body ,@footer)))))
+                       (if (= nfooter 1)
+                           `((tr (td ,@caption))
+                             (tr (td (table (tbody ,@header ,@body))))
+                             ,@footer)
+                         `((tr (td ,@caption))
+                           (tr (td (table (tbody ,@header ,@body))))
+                           (tr (td (table (tbody ,@footer)))))))
+                   (if (= nbody nfooter)
+                       `((tr (td ,@caption))
+                         (tr (td (table (tbody ,@header))))
+                         (tr (td (table (tbody ,@body ,@footer)))))
+                     (if (= nfooter 1)
+                         `((tr (td ,@caption))
+                           (tr (td (table (tbody ,@header))))
+                           (tr (td (table (tbody ,@body))))
+                           ,@footer)
+                       `((tr (td ,@caption))
+                         (tr (td (table (tbody ,@header))))
+                         (tr (td (table (tbody ,@body))))
+                         (tr (td (table (tbody ,@footer))))))))
+               ;; caption + header + body
+               (if (= nheader nbody)
+                   `((tr (td ,@caption))
+                     (tr (td (table (tbody ,@header ,@body)))))
+                 (if (= nheader 1)
+                     `((tr (td ,@caption))
+                       ,@header (tr (td (table (tbody ,@body)))))
+                   `((tr (td ,@caption))
+                     (tr (td (table (tbody ,@header))))
+                     (tr (td (table (tbody ,@body))))))))
+           (if footer
+               ;; caption + body + footer
+               (if (= nbody nfooter)
+                   `((tr (td (table (tbody ,@body ,@footer)))))
+                 (if (= nfooter 1)
+                     `((tr (td (table (tbody ,@body)))) ,@footer)
+                   `((tr (td (table (tbody ,@body))))
+                     (tr (td (table (tbody ,@footer)))))))
+             ;; caption + body
+             `((tr (td ,@caption))
+               (tr (td (table (tbody ,@body)))))))
+       (if header
+           (if footer
+               ;; header + body + footer
+               (if (= nheader nbody)
+                   (if (= nbody nfooter)
+                       `((tr (td (table (tbody ,@header ,@body ,@footer)))))
+                     (if (= nfooter 1)
+                         `((tr (td (table (tbody ,@header ,@body))))
+                           ,@footer)
+                       `((tr (td (table (tbody ,@header ,@body))))
+                         (tr (td (table (tbody ,@footer)))))))
                  (if (= nbody nfooter)
-                     `((tr (td (table (tbody ,@header ,@body ,@footer)))))
+                     `((tr (td (table (tbody ,@header))))
+                       (tr (td (table (tbody ,@body ,@footer)))))
                    (if (= nfooter 1)
-                       `((tr (td (table (tbody ,@header ,@body))))
+                       `((tr (td (table (tbody ,@header))))
+                         (tr (td (table (tbody ,@body))))
                          ,@footer)
-                     `((tr (td (table (tbody ,@header ,@body))))
-                       (tr (td (table (tbody ,@footer)))))))
-               (if (= nbody nfooter)
-                   `((tr (td (table (tbody ,@header))))
-                     (tr (td (table (tbody ,@body ,@footer)))))
-                 (if (= nfooter 1)
                      `((tr (td (table (tbody ,@header))))
                        (tr (td (table (tbody ,@body))))
-                       ,@footer)
-                   `((tr (td (table (tbody ,@header))))
-                     (tr (td (table (tbody ,@body))))
-                     (tr (td (table (tbody ,@footer))))))))
-           ;; header + body
-           (if (= nheader nbody)
-               `((tr (td (table (tbody ,@header ,@body)))))
-             (if (= nheader 1)
-                 `(,@header (tr (td (table (tbody ,@body)))))
-               `((tr (td (table (tbody ,@header))))
-                 (tr (td (table (tbody ,@body))))))))
-       (if footer
-           ;; body + footer
-           (if (= nbody nfooter)
-               `((tr (td (table (tbody ,@body ,@footer)))))
-             (if (= nfooter 1)
-                 `((tr (td (table (tbody ,@body)))) ,@footer)
-               `((tr (td (table (tbody ,@body))))
-                 (tr (td (table (tbody ,@footer)))))))
-         body))))))
+                       (tr (td (table (tbody ,@footer))))))))
+             ;; header + body
+             (if (= nheader nbody)
+                 `((tr (td (table (tbody ,@header ,@body)))))
+               (if (= nheader 1)
+                   `(,@header (tr (td (table (tbody ,@body)))))
+                 `((tr (td (table (tbody ,@header))))
+                   (tr (td (table (tbody ,@body))))))))
+         (if footer
+             ;; body + footer
+             (if (= nbody nfooter)
+                 `((tr (td (table (tbody ,@body ,@footer)))))
+               (if (= nfooter 1)
+                   `((tr (td (table (tbody ,@body)))) ,@footer)
+                 `((tr (td (table (tbody ,@body))))
+                   (tr (td (table (tbody ,@footer)))))))
+           body)))))))
 
 (defun shr-find-elements (cont type)
   (let (result)