mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-27 06:19:36 +00:00
Start the clean up of the updateMacros() calls by moving the necessary
calls into the file writing routines and out of doExport(). They were in both places before: Called once in doExport, and then again in the e.g. writeLaTeXSource()---and then again, actually, in validate(). It is possible this will reveal some missing updateBuffer() calls somewhere. But it should somewhat speed up View>Source, since we now do not do an extra set of such calls in that routine. Rather, we rely upon the Buffer's having been made up to date first, by the updateBuffer() call after dispatch. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38596 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
96e86c8113
commit
d1f15298f7
@ -1086,6 +1086,11 @@ bool Buffer::save() const
|
||||
|
||||
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;
|
||||
|
||||
@ -1270,6 +1275,14 @@ bool Buffer::makeLaTeXFile(FileName const & fname,
|
||||
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,
|
||||
@ -1343,15 +1356,6 @@ void Buffer::writeLaTeXSource(otexstream & os,
|
||||
}
|
||||
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.
|
||||
updateBuffer();
|
||||
|
||||
// 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
|
||||
@ -1505,6 +1509,11 @@ void Buffer::makeDocBookFile(FileName const & fname,
|
||||
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();
|
||||
@ -1579,8 +1588,6 @@ void Buffer::writeDocBookSource(odocstream & os, string const & fname,
|
||||
|
||||
params().documentClass().counters().reset();
|
||||
|
||||
updateMacros();
|
||||
|
||||
sgml::openTag(os, top);
|
||||
os << '\n';
|
||||
docbookParagraphs(text(), *this, os, runparams);
|
||||
@ -1598,6 +1605,11 @@ void Buffer::makeLyXHTMLFile(FileName const & fname,
|
||||
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();
|
||||
@ -1612,10 +1624,7 @@ void Buffer::writeLyXHTMLSource(odocstream & os,
|
||||
{
|
||||
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"
|
||||
@ -1701,8 +1710,6 @@ void Buffer::validate(LaTeXFeatures & features) const
|
||||
{
|
||||
params().validate(features);
|
||||
|
||||
updateMacros();
|
||||
|
||||
for_each(paragraphs().begin(), paragraphs().end(),
|
||||
bind(&Paragraph::validate, _1, ref(features)));
|
||||
|
||||
@ -3522,10 +3529,6 @@ bool Buffer::doExport(string const & format, bool put_in_tempdir,
|
||||
filename = changeExtension(filename,
|
||||
formats.extension(backend_format));
|
||||
|
||||
// fix macros
|
||||
updateMacros();
|
||||
updateMacroInstances();
|
||||
|
||||
// Plain text backend
|
||||
if (backend_format == "text") {
|
||||
runparams.flavor = OutputParams::TEXT;
|
||||
|
@ -37,6 +37,11 @@ void writePlaintextFile(Buffer const & buf, FileName const & fname,
|
||||
ofdocstream ofs;
|
||||
if (!openFileWrite(ofs, fname))
|
||||
return;
|
||||
|
||||
// make sure we are ready to export
|
||||
buf.updateBuffer();
|
||||
buf.updateMacroInstances();
|
||||
|
||||
writePlaintextFile(buf, ofs, runparams);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user