From 96d744e88123192f97a404900e6914d5ac36d750 Mon Sep 17 00:00:00 2001 From: Katsumi Yamaoka Date: Thu, 21 Oct 2010 05:35:39 +0000 Subject: [PATCH] shr.el (shr-tag-table): Simplify. --- lisp/ChangeLog | 4 ++ lisp/shr.el | 121 +++++++++++++++---------------------------------- 2 files changed, 40 insertions(+), 85 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1987652a1..a20f66a25 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2010-10-21 Katsumi Yamaoka + + * shr.el (shr-tag-table): Simplify. + 2010-10-21 Lars Magne Ingebrigtsen * gnus-html.el (gnus-html-prefetch-images): Only prefetch http images diff --git a/lisp/shr.el b/lisp/shr.el index 9645f04e0..a25fc2c26 100644 --- a/lisp/shr.el +++ b/lisp/shr.el @@ -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) -- 2.34.1