commit 5a78a112b6ac14a9cdb0fd5dc0c06aa89578eff5
Author: Richard Heck <[email protected]>
Date: Mon Feb 9 17:24:13 2015 -0500
Fix bug #9383. Writing directly to the output stream bypassed the
machinery that clears the tag stack.
diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp
index 8a183fa..9cb4786 100644
--- a/src/insets/InsetQuotes.cpp
+++ b/src/insets/InsetQuotes.cpp
@@ -307,26 +307,30 @@ int InsetQuotes::plaintext(odocstringstream & os,
}
-int InsetQuotes::docbook(odocstream & os, OutputParams const &) const
-{
+docstring InsetQuotes::getQuoteEntity() const {
if (times_ == DoubleQuotes) {
if (side_ == LeftQuote)
- os << "“";
- else
- os << "”";
- } else {
- if (side_ == LeftQuote)
- os << "‘";
+ return from_ascii("“");
else
- os << "’";
+ return from_ascii("”");
}
+ if (side_ == LeftQuote)
+ return from_ascii("‘");
+ else
+ return from_ascii("’");
+}
+
+
+int InsetQuotes::docbook(odocstream & os, OutputParams const &) const
+{
+ os << getQuoteEntity();
return 0;
}
docstring InsetQuotes::xhtml(XHTMLStream & xs, OutputParams const & op) const
{
- docbook(xs.os(), op);
+ xs << XHTMLStream::ESCAPE_NONE << getQuoteEntity();
return docstring();
}
diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h
index 932cd91..98a0cbb 100644
--- a/src/insets/InsetQuotes.h
+++ b/src/insets/InsetQuotes.h
@@ -109,6 +109,8 @@ private:
void parseString(std::string const &);
///
docstring displayString() const;
+ ///
+ docstring getQuoteEntity() const;
///
QuoteLanguage language_;