anchor.diff:      tmpLowestEntryListIndex := -1;
       // Find alphabetically lowest (remaining) topic
       // first, look in contents lists
  -    LogEvent(LogDebug, '  Merge contents' );
       for i := 0 to ContentsLists.Count - 1 do
       begin
         Contents := TList(ContentsLists.Items[i]);
  
positive.code:           tmpLowestEntryListIndex := i;
            tmpLowestEntryListType := ltIndex;
  
            LogEvent(LogDebug, '  Merge indices ' + tmpIndex.Objects[ IndexNextIndex[i] ].ClassName);
            tmpLowestEntryTopic := TIndexEntry( tmpIndex.Objects[ IndexNextIndex[i] ] ).getTopic;
          end;
        end;
  
negative.code:     end;
  
      // look in indices
      for i := 0 to tmpIndexLists.Count - 1 do
      begin
        tmpIndex := TStringList(tmpIndexLists.Items[i]);
        if IndexNextIndex[i] < tmpIndex.Count then
        begin
          // list is not yet finished, get next entry
          ListEntry := tmpIndex.Strings[ IndexNextIndex[i] ];
          if LowestEntry <> '' then
            tmpTextCompareResult := CompareText( ListEntry, LowestEntry )
          else
  