mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-30 16:12:58 -05:00
abe5ffbbfe
* gnu/packages/patches/libxml2-parent-pointers.patch, gnu/packages/patches/libxml2-terminating-newline.patch, gnu/packages/patches/libxml2-xpath-recursion-limit.patch: New files. * gnu/packages/patches/python-libxml2-python39-compat.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/xml.scm (libxml2): Update to 2.9.12. (python-lxml)[source](modules, snippet): New fields.
33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
Fix a regression in 2.9.12 where serializing empty HTML documents would
|
|
not add a terminating newline.
|
|
|
|
https://gitlab.gnome.org/GNOME/libxml2/-/issues/266
|
|
|
|
Taken from upstream:
|
|
|
|
https://gitlab.gnome.org/GNOME/libxml2/-/commit/92d9ab4c28842a09ca2b76d3ff2f933e01b6cd6f
|
|
|
|
diff --git a/HTMLtree.c b/HTMLtree.c
|
|
--- a/HTMLtree.c
|
|
+++ b/HTMLtree.c
|
|
@@ -763,11 +763,15 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
|
|
if (((xmlDocPtr) cur)->intSubset != NULL) {
|
|
htmlDtdDumpOutput(buf, (xmlDocPtr) cur, NULL);
|
|
}
|
|
- /* Always validate cur->parent when descending. */
|
|
- if ((cur->parent == parent) && (cur->children != NULL)) {
|
|
- parent = cur;
|
|
- cur = cur->children;
|
|
- continue;
|
|
+ if (cur->children != NULL) {
|
|
+ /* Always validate cur->parent when descending. */
|
|
+ if (cur->parent == parent) {
|
|
+ parent = cur;
|
|
+ cur = cur->children;
|
|
+ continue;
|
|
+ }
|
|
+ } else {
|
|
+ xmlOutputBufferWriteString(buf, "\n");
|
|
}
|
|
break;
|
|
|