]> git.lyx.org Git - features.git/blobdiff - src/Buffer.cpp
Revert "Revert "Fix commented out code""
[features.git] / src / Buffer.cpp
index d87578dfc3eba7f24e7964c7ebe49db17deffe29..c3d1276b8468d92f03f9d1dfe4c09d6035811f3d 100644 (file)
@@ -961,6 +961,7 @@ int Buffer::readHeader(Lexer & lex)
        params().biblatex_citestyle.erase();
        params().multibib.erase();
        params().lineno_opts.clear();
+       params().spellignore().clear();
 
        for (int i = 0; i < 4; ++i) {
                params().user_defined_bullet(i) = ITEMIZE_DEFAULTS[i];
@@ -4693,7 +4694,7 @@ Buffer::ReadStatus Buffer::loadEmergency()
                "%1$s exists.\n\nRecover emergency save?"), file);
 
        int const load_emerg = Alert::prompt(_("Load emergency save?"), text,
-               0, 2, _("&Recover"), _("&Load Original"), _("&Cancel"));
+               0, 3, _("&Recover"), _("&Load Original"), _("&Only show difference"), _("&Cancel"));
 
        switch (load_emerg)
        {
@@ -4768,6 +4769,22 @@ Buffer::ReadStatus Buffer::loadEmergency()
                return ReadOriginal;
        }
 
+       case 2: {
+               string const f1 = d->filename.absFileName();
+               string const f2 = emergencyFile.absFileName();
+               if (loadThisLyXFile(d->filename) != ReadSuccess)
+                       return ReadCancel;
+               string const par = "compare run-blocking " + quoteName(f1) + " " + quoteName(f2);
+               LYXERR(Debug::FILES, par << "\n");
+               lyx::dispatch(FuncRequest(LFUN_DIALOG_SHOW, par));
+
+               //release the emergency buffer loaded by compare
+               Buffer * emerBuffer = theBufferList().getBuffer(emergencyFile);
+               if (emerBuffer)
+                       theBufferList().release(emerBuffer);
+
+               return ReadCancel; //Release the buffer of Original immediatelly
+       }
        default:
                break;
        }
@@ -4897,6 +4914,13 @@ void Buffer::bufferRefs(TeXErrors const & terr, ErrorList & errorList) const
 }
 
 
+void Buffer::updateBuffer() const
+{
+       updateBuffer(UpdateMaster, InternalUpdate);
+       d->need_update = false;
+}
+
+
 void Buffer::updateBuffer(UpdateScope scope, UpdateType utype) const
 {
        LBUFERR(!text().paragraphs().empty());