]> git.lyx.org Git - lyx.git/blobdiff - src/Compare.cpp
tex2lyx/Preamble.cpp: whitespace fix
[lyx.git] / src / Compare.cpp
index 5831f2211114ef6c78e7a313f9e4d3dd1c2958cb..c2a01a64df8a189b0e85ed73a7877a6cf1823500 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "Compare.h"
 
+#include "Author.h"
 #include "BufferParams.h"
 #include "Changes.h"
 #include "Font.h"
@@ -269,7 +270,7 @@ private:
        SnakeResult retrieveMiddleSnake(int k, int D, Direction direction,
                DocPair & middle_snake);
        
-       /// Find the the furthest reaching D-path (number of horizontal
+       /// Find the furthest reaching D-path (number of horizontal
        /// and vertical steps; differences between the old and new
        /// document) in the k-diagonal (vertical minus horizontal steps).
        void furthestDpathKdiagonal(int D, int k,
@@ -375,10 +376,17 @@ void Compare::run()
        if (!dest_buffer || !new_buffer || !old_buffer)
                return;
 
-       // Copy the buffer params to the new buffer
+       // Copy the buffer params to the destination buffer
        dest_buffer->params() = options_.settings_from_new
                ? new_buffer->params() : old_buffer->params();
        
+       // Copy extra authors to the destination buffer
+       AuthorList const & extra_authors = options_.settings_from_new ?
+               old_buffer->params().authors() : new_buffer->params().authors();
+       AuthorList::Authors::const_iterator it = extra_authors.begin();
+       for (; it != extra_authors.end(); ++it)
+               dest_buffer->params().authors().record(*it);
+       
        doStatusMessage();
 
        // do the real work
@@ -602,7 +610,7 @@ Compare::Impl::SnakeResult Compare::Impl::retrieveMiddleSnake(
        if (os[k].empty() && os_r[kk].empty()) {
                // No, there is no snake at all, in which case
                // the length of the shortest edit script is M+N.
-               LASSERT(2 * D - odd_offset_ == M_ + N_, /**/);
+               LATTEST(2 * D - odd_offset_ == M_ + N_);
                return NoSnake;
        } 
        
@@ -822,7 +830,7 @@ void Compare::Impl::processSnake(DocRangePair const & rp)
                        pit_type const pit = it.o.pit() - rp.o.from.pit();
                        pos_type const pos = pit ? it.o.pos() : it.o.pos() - rp.o.from.pos();
                        inset = pars[pit].getInset(pos);
-                       LASSERT(inset, /**/);
+                       LASSERT(inset, continue);
                        diffInset(inset, it);
                }
        }