It is very common for HTML tables to include a header () and/or footer () without using . Modern browsers simply supply an implicit .. around all the unparented rows in a table. `shr' does not handle this common case correctly. Below is an example with but not . It prints the header, but then subsumes it again inside the derived body, printing the header again in a single cell. The relevant function which should handle this is `shr--fix-tbody'. The included patch to this function simply avoids including `thead` and `tfoot` children in the implicit body. (let ((shr-table-vertical-line ?|) (shr-table-horizontal-line ?-)) (shr-insert-document (with-temp-buffer (insert "
AB
12
34
") (libxml-parse-html-region)))) --------- | --- -- | ||A |B | | | --- -- | ||AB | | | --- -- | ||1 |2 | | | --- -- | ||3 |4 | | | --- -- | ---------