[LyX/master] DocBook: fine tuning of new lines.
Thibaut Cuvelier
tcuvelier at lyx.org
Sat Sep 19 18:18:55 UTC 2020
commit 25f72d392c60e93f5adb2412d5885a758fa2511a
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Tue Aug 18 05:37:46 2020 +0200
DocBook: fine tuning of new lines.
---
src/Buffer.cpp | 11 +++++------
src/output_docbook.cpp | 3 ++-
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/Buffer.cpp b/src/Buffer.cpp
index 82fd089..2ef5768 100644
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -2140,8 +2140,6 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
bool const output_body =
output == FullSource || output == OnlyBody;
- XMLStream xs(os);
-
if (output_preamble) {
// XML preamble, no doctype needed.
// Not using XMLStream for this, as the root tag would be in the tag stack and make troubles with the error
@@ -2164,16 +2162,17 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os,
}
if (output_body) {
- params().documentClass().counters().reset();
-
// Start to output the document.
+ XMLStream xs(os);
docbookParagraphs(text(), *this, xs, runparams);
}
if (output_preamble) {
- // Close the root element.
- os << "\n</" << from_ascii(tclass.docbookroot()) << ">";
+ // Close the root element. No need for a line break, as free text is never allowed
+ // in a root element, it must always be wrapped in some container.
+ os << "</" << from_ascii(tclass.docbookroot()) << ">";
}
+
return ExportSuccess;
}
diff --git a/src/output_docbook.cpp b/src/output_docbook.cpp
index b7b5941..ad683c7 100644
--- a/src/output_docbook.cpp
+++ b/src/output_docbook.cpp
@@ -239,7 +239,8 @@ void openBlockTag(XMLStream & xs, const std::string & tag, const std::string & a
void closeBlockTag(XMLStream & xs, const std::string & tag)
{
- xs << xml::CR();
+ if (!xs.isLastTagCR())
+ xs << xml::CR();
xs << xml::EndTag(tag);
xs << xml::CR();
}
More information about the lyx-cvs
mailing list