changeset 111078:647c0a15da32

shr.el (shr-tag-table): Simplify.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 21 Oct 2010 05:36:36 +0000
parents b4556938af92
children 15b14005a6f2
files lisp/gnus/ChangeLog lisp/gnus/shr.el
diffstat 2 files changed, 40 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Thu Oct 21 03:48:01 2010 +0000
+++ b/lisp/gnus/ChangeLog	Thu Oct 21 05:36:36 2010 +0000
@@ -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
--- a/lisp/gnus/shr.el	Thu Oct 21 03:48:01 2010 +0000
+++ b/lisp/gnus/shr.el	Thu Oct 21 05:36:36 2010 +0000
@@ -642,92 +642,43 @@
 	 (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)