bool Buffer::writeFile(FileName const & fname) const
{
+ // FIXME Do we need to do these here? I don't think writing
+ // the LyX file depends upon it. (RGH)
+ // updateBuffer();
+ // updateMacroInstances();
+
if (d->read_only && fname == d->filename)
return false;
errorList.clear();
bool failed_export = false;
otexstream os(ofs, d->texrow);
+
+ // make sure we are ready to export
+ // this needs to be done before we validate
+ // FIXME Do we need to do this all the time? I.e., in children
+ // of a master we are exporting?
+ updateBuffer();
+ updateMacroInstances();
+
try {
os.texrow().reset();
writeLaTeXSource(os, original_path,
}
LYXERR(Debug::INFO, "lyx document header finished");
- // Don't move this behind the parent_buffer=0 code below,
- // because then the macros will not get the right "redefinition"
- // flag as they don't see the parent macros which are output before.
- updateMacros();
-
- // fold macros if possible, still with parent buffer as the
- // macros will be put in the prefix anyway.
- updateMacroInstances();
-
// There are a few differences between nice LaTeX and usual files:
// usual is \batchmode and has a
// special input@path to allow the including of figures
if (!openFileWrite(ofs, fname))
return;
+ // make sure we are ready to export
+ // this needs to be done before we validate
+ updateBuffer();
+ updateMacroInstances();
+
writeDocBookSource(ofs, fname.absFileName(), runparams, body_only);
ofs.close();
params().documentClass().counters().reset();
- updateMacros();
-
sgml::openTag(os, top);
os << '\n';
docbookParagraphs(text(), *this, os, runparams);
if (!openFileWrite(ofs, fname))
return;
+ // make sure we are ready to export
+ // this has to be done before we validate
+ updateBuffer(UpdateMaster, OutputUpdate);
+ updateMacroInstances();
+
writeLyXHTMLSource(ofs, runparams, body_only);
ofs.close();
{
LaTeXFeatures features(*this, params(), runparams);
validate(features);
- updateBuffer(UpdateMaster, OutputUpdate);
d->bibinfo_.makeCitationLabels(*this);
- updateMacros();
- updateMacroInstances();
if (!only_body) {
os << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
{
params().validate(features);
- updateMacros();
-
for_each(paragraphs().begin(), paragraphs().end(),
bind(&Paragraph::validate, _1, ref(features)));
filename = changeExtension(filename,
formats.extension(backend_format));
- // fix macros
- updateMacroInstances();
-
// Plain text backend
if (backend_format == "text") {
runparams.flavor = OutputParams::TEXT;