anchor.diff:        end;
       end;
   
  +    if Location.NoteID <> 0 then
  +       Note := notefile.GetNoteByID( Location.NoteID )
  +    else
  +       Note := notefile.GetNoteByName( Location.NoteName );
  +
  +    if  assigned(Note) then begin
  +        Location.NoteID:= Note.ID;
  +        Location.NoteName:= Note.Name;
  +    end;
  +
  +
       p := pos( KNTLINK_SEPARATOR, LocationStr );
       case p of
         0 : begin
  
positive.code:       end;
      end;
      delete( LocationStr, 1, p );
  
      if ( LocationStr <> '' ) then
      begin
  
negative.code: uses
      Windows, Classes, Forms, SysUtils, Dialogs, StdCtrls, Clipbrd, ShellApi,
      gf_misc, gf_miscvcl, RxRichEd, kn_TreeNoteMng, kn_History, kn_FindReplaceMng,
      kn_Global, kn_Main, kn_Info, kn_Const, kn_URL, kn_RTFUtils, kn_NoteFileMng, kn_NodeList;
  
  var
     INVALID_CHARS_FN : array[0..8] of string = (
  