shr.el (shr-tag-table): Simplify.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 21 Oct 2010 05:35:39 +0000 (05:35 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 21 Oct 2010 05:35:39 +0000 (05:35 +0000)
lisp/ChangeLog
lisp/shr.el

index 1987652..a20f66a 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * shr.el (shr-tag-table): Simplify.
+
 2010-10-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus-html.el (gnus-html-prefetch-images): Only prefetch http images
index 9645f04..a25fc2c 100644 (file)
@@ -642,92 +642,43 @@ Return a string with image data."
         (nbody (if body (shr-max-columns body)))
         (nfooter (if footer (shr-max-columns footer))))
     (shr-tag-table-1
-     (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)))))
+     (nconc
+      (if caption `((tr (td ,@caption))))
+      (if header
+         (if footer
+             ;; hader + body + footer
+             (if (= nheader nbody)
+                 (if (= nbody nfooter)
+                     `((tr (td (table (tbody ,@header ,@body ,@footer)))))
+                   (nconc `((tr (td (table (tbody ,@header ,@body)))))
+                          (if (= nfooter 1)
+                              footer
+                            `((tr (td (table (tbody ,@footer))))))))
+               (nconc `((tr (td (table (tbody ,@header)))))
+                      (if (= nbody nfooter)
+                          `((tr (td (table (tbody ,@body ,@footer)))))
+                        (nconc `((tr (td (table (tbody ,@body)))))
+                               (if (= nfooter 1)
+                                   footer
+                                 `((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)))))
+             (nconc `((tr (td (table (tbody ,@body)))))
                     (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))))
-                      (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))))))
+                        footer
+                      `((tr (td (table (tbody ,@footer))))))))
+         (if caption
+             `((tr (td (table (tbody ,@body)))))
+           body)))))))
 
 (defun shr-find-elements (cont type)
   (let (result)