anchor.diff:        Slot.LocalDictSize := pSlotData^.nLocalDict;
         Slot.Size := pSlotData^.ntext;
   
  -      _Slots^[ _NumSlotsUsed ] := Slot;
  +      _Slots^[ _NumSlotsUsed ] := Slot;   // insert Slot record into handy slot array
         inc( _NumSlotsUsed );
  -
  -    end;
  -    inc( p, sizeof( int16 ) );
  -  end;
  -
  +    end;
  +    // move p pointer to next item in SlotArray - until we reach _NumSlots-1 item
  +    inc(p, sizeof(word));
  +  end;
  +  // Calculate the remainder of the tocentry length - that is the bytes used for TOC topic (title) text
     titleLen := _pTOCEntry^.length - ( longword(p) - longword(_pTOCEntry) );
   
     // Read title
  
positive.code: 
        if LocalDictIndex < Slot.LocalDictSize then
        begin
  ProfileEvent('Normal word lookup');
          // Normal word lookup
          GlobalDictIndex := Slot.pLocalDictionary^[ LocalDictIndex ];
  
          // normal lookup
          if GlobalDictIndex < _GlobalDictionary.Count then
            Word := _GlobalDictionary[ GlobalDictIndex ]
  
negative.code:   else
      Title:= '(No title)';
  
    _ContentsLevel:= (lFlags and TOCEntryLevelMask);
    _ShowInContents:= (lFlags and TOCEntryHidden) = 0;
    if _ContentsLevel = 0 then
      _ShowInContents := false; // just a little fallback case
  end;
  
  destructor TTopic.Destroy;
  