From 803df8492dd0ecfe7368c279d1f4df2d4fe18fe2 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Thu, 27 Nov 2014 00:03:09 +0100 Subject: [PATCH] * net/shr.el (shr-make-table-1): dom.el changes for table rendering. --- lisp/ChangeLog | 2 ++ lisp/net/shr.el | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4884d5ca9c1..d0d44dfd49a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2014-11-26 Lars Magne Ingebrigtsen + * net/shr.el (shr-make-table-1): dom.el changes for table rendering. + * dom.el (dom-by-tag): Use `equal' for comparisons so that tags can be strings. (dom-elements): Protect against non-text nodes. diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 22bceeb9ecc..f44ecc2bdd3 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -1582,7 +1582,7 @@ The preference is a float determined from `shr-prefer-media-type'." (shr-inhibit-decoration (not fill)) (rowspans (make-vector (length widths) 0)) width colspan) - (dolist (row (dom-children dom)) + (dolist (row (dom-non-text-children dom)) (when (eq (dom-tag row) 'tr) (let ((tds nil) (columns (dom-children row)) @@ -1731,7 +1731,7 @@ The preference is a float determined from `shr-prefer-media-type'." ;; Return a summary of the number and shape of the TDs in the table. (defun shr-column-specs (dom) (let ((columns (make-vector (shr-max-columns dom) 1))) - (dolist (row (dom-children dom)) + (dolist (row (dom-non-text-children dom)) (when (eq (dom-tag row) 'tr) (let ((i 0)) (dolist (column (dom-children row)) @@ -1757,7 +1757,8 @@ The preference is a float determined from `shr-prefer-media-type'." (defun shr-max-columns (dom) (let ((max 0)) (dolist (row (dom-children dom)) - (when (eq (dom-tag row) 'tr) + (when (and (not (stringp row)) + (eq (dom-tag row) 'tr)) (setq max (max max (+ (shr-count row 'td) (shr-count row 'th)))))) max)) -- 2.39.5