]> git.lyx.org Git - lyx.git/blobdiff - src/changes.C
Scons: update_po target, part one: language_l10n.pot
[lyx.git] / src / changes.C
index 989d69bcb10bebc8acb6f09517e599fac8abd394..46bfe48e54545694cc6dba1fc425fcc984921fc6 100644 (file)
@@ -53,8 +53,16 @@ bool Change::isSimilarTo(Change const & change)
 
 bool operator==(Change const & l, Change const & r)
 {
-       return l.type == r.type &&
-              l.author == r.author &&
+       if (l.type != r.type) {
+               return false;
+       }
+
+       // two changes of type UNCHANGED are always equal
+       if (l.type == Change::UNCHANGED) {
+               return true;
+       }
+       
+       return l.author == r.author &&
               l.changetime == r.changetime;
 }
 
@@ -91,7 +99,7 @@ void Changes::set(Change const & change, pos_type const pos)
 
 void Changes::set(Change const & change, pos_type const start, pos_type const end)
 {
-       if (lyxerr.debugging(Debug::CHANGES)) {
+       if (change.type != Change::UNCHANGED && lyxerr.debugging(Debug::CHANGES)) {
                lyxerr[Debug::CHANGES] << "setting change (type: " << change.type
                        << ", author: " << change.author << ", time: " << change.changetime
                        << ") in range (" << start << ", " << end << ")" << endl;
@@ -194,7 +202,7 @@ void Changes::erase(pos_type const pos)
 
 void Changes::insert(Change const & change, lyx::pos_type pos)
 {
-       if (lyxerr.debugging(Debug::CHANGES)) {
+       if (change.type != Change::UNCHANGED && lyxerr.debugging(Debug::CHANGES)) {
                lyxerr[Debug::CHANGES] << "Inserting change of type " << change.type
                        << " at position " << pos << endl;
        }
@@ -256,22 +264,18 @@ bool Changes::isChanged(pos_type const start, pos_type const end) const
 
 void Changes::merge()
 {
-       if (lyxerr.debugging(Debug::CHANGES)) {
-               lyxerr[Debug::CHANGES] << "merging changes..." << endl;
-       }
-
        ChangeTable::iterator it = table_.begin();
 
        while (it != table_.end()) {
                if (lyxerr.debugging(Debug::CHANGES)) {
-                       lyxerr[Debug::CHANGES] << "  found change of type " << it->change.type
+                       lyxerr[Debug::CHANGES] << "found change of type " << it->change.type
                                << " and range (" << it->range.start << ", " << it->range.end
                                << ")" << endl;
                }
 
                if (it->range.start == it->range.end) {
                        if (lyxerr.debugging(Debug::CHANGES)) {
-                               lyxerr[Debug::CHANGES] << "  removing empty range for pos "
+                               lyxerr[Debug::CHANGES] << "removing empty range for pos "
                                        << it->range.start << endl;
                        }
 
@@ -286,7 +290,7 @@ void Changes::merge()
 
                if (it->change.isSimilarTo((it + 1)->change) && it->range.end == (it + 1)->range.start) {
                        if (lyxerr.debugging(Debug::CHANGES)) {
-                               lyxerr[Debug::CHANGES] << "  merging ranges (" << it->range.start << ", "
+                               lyxerr[Debug::CHANGES] << "merging ranges (" << it->range.start << ", "
                                        << it->range.end << ") and (" << (it + 1)->range.start << ", "
                                        << (it + 1)->range.end << ")" << endl;
                        }