]> git.lyx.org Git - lyx.git/blobdiff - src/vc-backend.C
another safety belt
[lyx.git] / src / vc-backend.C
index d72d6b34068bcb913815a28f3039a4314463ac46..e81ed01b2c38f30a61e55919b431013b6a80bd64 100644 (file)
@@ -9,7 +9,7 @@
 #include "buffer.h"
 #include "BufferView.h"
 #include "frontends/LyXView.h"
-#include "lyxfunc.h"
+#include "funcrequest.h"
 
 #include "support/FileInfo.h"
 #include "support/path.h"
@@ -31,7 +31,13 @@ using std::ifstream;
 using std::getline;
 using boost::regex;
 using boost::regex_match;
+
+#ifndef USE_INCLUDED_STRING
 using boost::smatch;
+#else
+using boost::cmatch;
+#endif
+
 
 int VCS::doVCCommand(string const & cmd, string const & path)
 {
@@ -159,7 +165,7 @@ void RCS::registrer(string const & msg)
        cmd += OnlyFilename(owner_->fileName());
        cmd += "\"";
        doVCCommand(cmd, owner_->filePath());
-       owner_->getUser()->owner()->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }
 
 
@@ -167,7 +173,7 @@ void RCS::checkIn(string const & msg)
 {
        doVCCommand("ci -q -u -m\"" + msg + "\" \""
                    + OnlyFilename(owner_->fileName()) + "\"", owner_->filePath());
-       owner_->getUser()->owner()->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }
 
 
@@ -176,7 +182,7 @@ void RCS::checkOut()
        owner_->markClean();
        doVCCommand("co -q -l \""
                    + OnlyFilename(owner_->fileName()) + "\"", owner_->filePath());
-       owner_->getUser()->owner()->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }
 
 
@@ -186,8 +192,7 @@ void RCS::revert()
                    + OnlyFilename(owner_->fileName()) + "\"", owner_->filePath());
        // We ignore changes and just reload!
        owner_->markClean();
-       owner_->getUser()->owner()
-               ->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }
 
 
@@ -253,13 +258,18 @@ void CVS::scanMaster()
                lyxerr[Debug::LYXVC] << "\t  line: " << line << endl;
                if (contains(line, tmpf)) {
                        // Ok extract the fields.
+#ifndef USE_INCLUDED_STRING
                        smatch sm;
-                       regex_match(line, sm, reg);
+#else
+                       cmatch sm;
+#endif
+                       regex_match(STRCONV(line), sm, reg);
 
                        //sm[0]; // whole matched string
                        //sm[1]; // filename
-                       version_ = sm[2];
-                       string file_date = sm[3];
+                       version_ = STRCONV(sm.str(2));
+                       string const file_date = STRCONV(sm.str(3));
+
                        //sm[4]; // options
                        //sm[5]; // tag or tagdate
                        FileInfo fi(file_);
@@ -289,7 +299,7 @@ void CVS::registrer(string const & msg)
 {
        doVCCommand("cvs -q add -m \"" + msg + "\" \""
                    + OnlyFilename(owner_->fileName()) + "\"", owner_->filePath());
-       owner_->getUser()->owner()->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }
 
 
@@ -298,7 +308,7 @@ void CVS::checkIn(string const & msg)
        doVCCommand("cvs -q commit -m \"" + msg + "\" \""
                    + OnlyFilename(owner_->fileName()) + "\"",
                    owner_->filePath());
-       owner_->getUser()->owner()->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }
 
 
@@ -318,8 +328,7 @@ void CVS::revert()
        doVCCommand("rm -f \"" + fil + "\"; cvs update \"" + fil + "\"",
                    owner_->filePath());
        owner_->markClean();
-       owner_->getUser()->owner()
-               ->getLyXFunc().dispatch(LFUN_MENURELOAD);
+       owner_->getUser()->owner()->dispatch(FuncRequest(LFUN_MENURELOAD));
 }