#include "output.h"
#include "outputparams.h"
#include "paragraph.h"
+#include "ParagraphList_fwd.h"
#include "ParagraphParameters.h"
#include "support/gzstream.h"
#include "support/lstrings.h"
-#ifdef HAVE_LOCALE
-#endif
-
using lyx::support::ascii_lowercase;
using lyx::support::compare_ascii_no_case;
using lyx::support::compare_no_case;
}
-void writeFileAscii(Buffer const & buf,
- ostream & os,
- OutputParams const & runparams)
+void writeFileAscii(Buffer const & buf, ostream & os,
+ OutputParams const & runparams)
{
- Buffer & tmp = const_cast<Buffer &>(buf);
- ParagraphList par = const_cast<ParagraphList&>(tmp.paragraphs());
- ParagraphList::iterator beg = par.begin();
- ParagraphList::iterator end = par.end();
- ParagraphList::iterator it = beg;
+ ParagraphList const par = buf.paragraphs();
+ ParagraphList::const_iterator beg = par.begin();
+ ParagraphList::const_iterator end = par.end();
+ ParagraphList::const_iterator it = beg;
for (; it != end; ++it) {
asciiParagraph(buf, *it, os, runparams, it == beg);
}
{
int ltype = 0;
Paragraph::depth_type ltype_depth = 0;
- bool ref_printed = false;
+ static bool ref_printed = false;
Paragraph::depth_type depth = par.params().depth();
// First write the layout
char c = par.getUChar(buf.params(), i);
switch (c) {
case Paragraph::META_INSET: {
- InsetOld const * inset = par.getInset(i);
+ InsetBase const * inset = par.getInset(i);
if (runparams.linelen > 0) {
os << word;
currlinelen += word.length();
word.erase();
}
- if (inset->plaintext(buf, os, runparams)) {
+ OutputParams rp = runparams;
+ rp.depth = par.params().depth();
+ if (inset->plaintext(buf, os, rp)) {
// to be sure it breaks paragraph
currlinelen += runparams.linelen;
}
os << p.second;
currlinelen = p.first;
}
-
os << word << ' ';
currlinelen += word.length() + 1;
word.erase();
break;
-
case '\0':
lyxerr[Debug::INFO] <<
"writeAsciiFile: NULL char in structure." << endl;
default:
word += c;
if (runparams.linelen > 0 &&
- currlinelen + word.length() > runparams.linelen)
+ currlinelen + word.length() > runparams.linelen)
{
os << "\n";
pair<int, string> p = addDepth(depth, ltype_depth);