- HTMLtree.c: when in a pre element no formatting space should
  be added.
- test/HTML/pre.html result/HTML/pre.html*: added a regression test
Daniel
diff --git a/ChangeLog b/ChangeLog
index 14443d9..8dae459 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Jun  7 18:06:34 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+	* HTMLtree.c: when in a pre element no formatting space should
+	  be added.
+	* test/HTML/pre.html result/HTML/pre.html*: added a regression test
+
 Thu Jun  7 17:29:38 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
 
 	* configure.in: added tests for signal() and signal.h
diff --git a/HTMLtree.c b/HTMLtree.c
index fac37fe..b59b427 100644
--- a/HTMLtree.c
+++ b/HTMLtree.c
@@ -1017,12 +1017,14 @@
     if (cur->children != NULL) {
         if ((cur->children->type != HTML_TEXT_NODE) &&
 	    (cur->children->type != HTML_ENTITY_REF_NODE) &&
-	    (cur->children != cur->last))
+	    (cur->children != cur->last) &&
+	    (!xmlStrEqual(cur->name, BAD_CAST "pre")))
 	    xmlOutputBufferWriteString(buf, "\n");
 	htmlNodeListDumpOutput(buf, doc, cur->children, encoding);
         if ((cur->last->type != HTML_TEXT_NODE) &&
 	    (cur->last->type != HTML_ENTITY_REF_NODE) &&
-	    (cur->children != cur->last))
+	    (cur->children != cur->last) &&
+	    (!xmlStrEqual(cur->name, BAD_CAST "pre")))
 	    xmlOutputBufferWriteString(buf, "\n");
     }
     xmlOutputBufferWriteString(buf, "</");
@@ -1030,7 +1032,9 @@
     xmlOutputBufferWriteString(buf, ">");
     if (cur->next != NULL) {
         if ((cur->next->type != HTML_TEXT_NODE) &&
-	    (cur->next->type != HTML_ENTITY_REF_NODE))
+	    (cur->next->type != HTML_ENTITY_REF_NODE) &&
+	    (cur->parent != NULL) &&
+	    (!xmlStrEqual(cur->parent->name, BAD_CAST "pre")))
 	    xmlOutputBufferWriteString(buf, "\n");
     }
 }
diff --git a/result/HTML/pre.html b/result/HTML/pre.html
new file mode 100644
index 0000000..77a366c
--- /dev/null
+++ b/result/HTML/pre.html
@@ -0,0 +1,2 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html><body><pre><a href="toto"></a><img src="titi"></pre></body></html>
diff --git a/result/HTML/pre.html.err b/result/HTML/pre.html.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/HTML/pre.html.err
diff --git a/result/HTML/pre.html.sax b/result/HTML/pre.html.sax
new file mode 100644
index 0000000..4f567ae
--- /dev/null
+++ b/result/HTML/pre.html.sax
@@ -0,0 +1,23 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.startElement(body)
+SAX.ignorableWhitespace(
+, 1)
+SAX.startElement(pre)
+SAX.startElement(a, href='toto')
+SAX.endElement(a)
+SAX.startElement(img, src='titi')
+SAX.endElement(img)
+SAX.endElement(pre)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endElement(body)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endElement(html)
+SAX.ignorableWhitespace(
+, 1)
+SAX.endDocument()
diff --git a/test/HTML/pre.html b/test/HTML/pre.html
new file mode 100644
index 0000000..8e1a66d
--- /dev/null
+++ b/test/HTML/pre.html
@@ -0,0 +1,5 @@
+<html>
+<body>
+<pre><a href="toto"></a><img src="titi"></pre>
+</body>
+</html>