Subject: bug#22170: 24.5; shr/eww: bug with multiple <tbody>

From: Christian Neukirchen <[email-masked]>
Date: Mon, 14 Dec 2015 20:15:13 +0100

I noticed shr/eww only renders the first <tbody> of a <table>, but
this is actually allowed and other browsers render all <tbody>
contents.

Test case (valid HTML5):

<!DOCTYPE html>
<title>multiple tbody</title>
<table>
  <tbody>
    <tr><td>a</td><td>b</td><td>c</td></tr>
  </tbody>
  <tbody>
    <tr><td>a</td><td>b</td><td>c</td></tr>
  </tbody>
  <tbody>
    <tr><td>a</td><td>b</td><td>c</td></tr>
  </tbody>
</table>

(Reporting this because I got an invoice by e-mail and only saw the
first row... oops.)

In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, X toolkit)
 of 2015-04-11 on build.voidlinux.eu
Windowing system distributor `The X.Org Foundation', version 11.0.11800000
System Description:	Void Linux

Configured using:
 `configure --with-x-toolkit=athena --without-toolkit-scroll-bars
 --prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info
 --mandir=/usr/share/man --localstatedir=/var
 --with-file-notification=inotify --without-dbus --with-jpeg
 --with-tiff --with-gif --with-png --with-xpm --with-rsvg
 --without-imagemagick --with-xml2 --with-gnutls --with-sound
 --host=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
 'CFLAGS=-mtune=generic -O2 -pipe -fstack-protector-strong
 -D_FORTIFY_SOURCE=2 -g' 'CPPFLAGS= ' 'LDFLAGS= -Wl,--as-needed
 -Wl,-z,relro ''

Important settings:
  value of $LC_COLLATE: C
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Article

Minor modes in effect:
  show-paren-mode: t
  recentf-mode: t
  display-time-mode: t
  auto-image-file-mode: t
  diff-auto-refine-mode: t
  global-git-commit-mode: t
  shell-dirtrack-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  epa-global-mail-mode: t
  chris2-keys-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  buffer-read-only: t
  line-number-mode: t

Recent messages:
Saving file /home/chris/.newsrc...
Wrote /home/chris/.newsrc
Saving /home/chris/.newsrc.eld...
Saving file /home/chris/.newsrc.eld...
Wrote /home/chris/.newsrc.eld
Saving /home/chris/.newsrc.eld...done
nnimap read 0k from localhost
Mark set
Couldn't fetch article <[email-masked]>
Making completion list...

Load-path shadows:
/usr/share/maxima/5.37.3/emacs/imath hides ~/.emacs.d/imath

Features:
(shadow emacsbug sh-script executable rect haskell-doc eldoc
inf-haskell haskell-decl-scan haskell haskell-load haskell-commands
highlight-uses-mode haskell-modules haskell-sandbox haskell-repl
haskell-debug haskell-indent tramp-cache nnml cc-langs reftex-parse
texmathp latexenc linum mailalias bbdb-message sendmail pp misearch
multi-isearch reftex-dcr reftex reftex-vars font-latex tex-mode
jka-compr flow-fill sort gnus-cite mm-archive mail-extr gnus-async
gnus-bcklg qp gnus-ml disp-table gnus-topic nndraft nnmh utf-7 gnutls
network-stream starttls nnimap tls utf7 parse-time bbdb-gnus bbdb-mua
bbdb-com netrc gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg nntp gnus-cache gnus-salt nnir paren recentf tree-widget time
image-file cus-start cus-load vc-git shr browse-url dired-single
ls-lisp dired-x misc nb trivium nukumi2 pastie darcsum gnus-fun
gnus-art mm-uu mml2015 mm-view mml-smime smime dig gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range gnus-win gnus gnus-ems nnheader wid-edit proof-site
proof-autoloads pg-vars mule-util elscreen magit-blame magit-stash
magit-bisect magit-remote magit-commit magit-sequence magit magit-log
magit-apply dired magit-wip magit-diff smerge-mode diff-mode
magit-core magit-process magit-popup magit-mode help-mode magit-git
magit-section magit-utils git-commit log-edit message rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log
with-editor tramp-sh tramp tramp-compat tramp-loaddefs trampver shell
pcomplete format-spec server dash caml tuareg_indent tuareg speedbar
sb-image ezimage dframe caml-help caml-types caml-emacs js2-mode
js2-old-indent js cc-mode cc-fonts cc-guess cc-menus cc-cmds imenu
go-mode url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf mailcap find-file ffap thingatpt
haskell-interactive-mode haskell-presentation-mode haskell-font-lock
haskell-show haskell-collapse haskell-process haskell-session url-util
url-parse auth-source gnus-util mm-util mail-prsvr password-cache
url-vars json haskell-navigate-imports haskell-compile haskell-cabal
haskell-utils haskell-mode haskell-string haskell-sort-imports
haskell-align-imports haskell-compat haskell-complete-module noutline
outline flymake etags compile dabbrev haskell-customize ruby-mode smie
math imaxima cl-macs cl gv imaxima-autoconf-variables maxima
maxima-font-lock comint ansi-color xcscope ring rng-nxml rng-valid
rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util
rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph
nxml-enc xmltok preview prv-emacs latex edmacro kmacro tex-style
tex-buf tex crm advice help-fns bbdb bbdb-site timezone epa-mail
mail-utils epa-file epa derived epg cc-styles cc-align cc-engine
cc-vars cc-defs easy-mmode tex-site warnings finder-inf
go-mode-autoloads eieio byte-opt bytecomp byte-compile cl-extra
cl-loaddefs cl-lib cconv eieio-core slime-autoloads info easymenu
package epg-config time-date tooltip electric uniquify ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
inotify dynamic-setting system-font-setting font-render-setting
x-toolkit x multi-tty emacs)

Memory information:
((conses 16 651304 113598)
 (symbols 48 60213 7)
 (miscs 40 2140 3635)
 (strings 32 148481 15819)
 (string-bytes 1 4357811)
 (vectors 16 60930)
 (vector-slots 8 1819031 174937)
 (floats 8 470 1551)
 (intervals 56 4133 1914)
 (buffers 960 254)
 (heap 1024 92776 5601))

-- 
Christian Neukirchen  <[email-masked]>  http://chneukirchen.org