From: Lars Ingebrigtsen Date: Mon, 30 Sep 2019 05:27:46 +0000 (+0200) Subject: Fix rendering of degenerate tables some more in shr.el X-Git-Tag: emacs-27.0.90~1358 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=542b78eddeba3f020349c2d02ba2d21e8613d99d;p=emacs.git Fix rendering of degenerate tables some more in shr.el * lisp/net/shr.el (shr--fix-tbody): New function (bug#31665). (shr--fix-table): Use it to fix the foo
case. --- diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 64263903bdf..dc3cc38c798 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -1993,8 +1993,16 @@ BASE is the URL of the HTML being rendered." `(tbody nil ,@(cl-reduce 'append (mapcar 'dom-non-text-children tbodies))))))) +(defun shr--fix-tbody (tbody) + (nconc (list 'tbody (dom-attributes tbody)) + (cl-loop for child in (dom-children tbody) + collect (if (or (stringp child) + (not (eq (dom-tag child) 'tr))) + (list 'tr nil (list 'td nil child)) + child)))) + (defun shr--fix-table (dom caption header footer) - (let* ((body (dom-non-text-children (shr-table-body dom))) + (let* ((body (dom-non-text-children (shr--fix-tbody (shr-table-body dom)))) (nheader (if header (shr-max-columns header))) (nbody (if body (shr-max-columns body) 0)) (nfooter (if footer (shr-max-columns footer))))