lyxerr[Debug::CHANGES] << "track changes for par "
<< id_ << " type " << type << endl;
changes_.reset(new Changes(type));
lyxerr[Debug::CHANGES] << "track changes for par "
<< id_ << " type " << type << endl;
changes_.reset(new Changes(type));
- // if we're not tracking, we don't want to reset...
- if (!tracking())
+ // if the paragraph was not tracked and we don't know the buffer's
+ // change tracking state, we do nothing
+ if ((ct == Paragraph::trackingUnknown) && !tracking())
changes_->record(Change(Change::DELETED), pos);
// only allow the actual removal if it was /new/ text
if (changetype != Change::INSERTED) {
changes_->record(Change(Change::DELETED), pos);
// only allow the actual removal if it was /new/ text
if (changetype != Change::INSERTED) {
// output change tracking marks only if desired,
// if dvipost is installed,
// and with dvi/ps (other formats don't work)
// output change tracking marks only if desired,
// if dvipost is installed,
// and with dvi/ps (other formats don't work)
bool const output = bparams.output_changes
&& runparams.flavor == OutputParams::LATEX
&& features.isAvailable("dvipost");
bool const output = bparams.output_changes
&& runparams.flavor == OutputParams::LATEX
&& features.isAvailable("dvipost");
column += Changes::latexMarkChange(os, running_change,
Change::UNCHANGED, output);
running_change = Change::UNCHANGED;
column += Changes::latexMarkChange(os, running_change,
Change::UNCHANGED, output);
running_change = Change::UNCHANGED;
if ((bparams.inputenc == "latin1" ||
bparams.inputenc == "latin9") ||
(bparams.inputenc == "auto" &&
if ((bparams.inputenc == "latin1" ||
bparams.inputenc == "latin9") ||
(bparams.inputenc == "auto" &&