anchor.diff:    aParent.Files.SetCurrentIndex(i, False);
     if a and (aParent.Files.Current <> nil) then
       aParent.Files.Current.Activate;
  -  aParent.ProcessRecentFile(Name);
     aParent.UpdateState([ecsChanged, ecsState, ecsRefresh]);
   end;
   
  
positive.code: 
    i := Index;
    aParent := Engine;
    a := (aParent.Files.Current <> nil) and aParent.Files.Current.Activated;
    if aParent.Files.FCurrent = self then
      aParent.Files.FCurrent := nil;
  
negative.code:         AGroup.EnumExtensions(AExtensions);
          if (AGroup = vGroup) and (FirstExtension <> '') then
          begin
            n := AExtensions.IndexOf(FirstExtension);
            if n >= 0 then
              AExtensions.Move(n, 0);
          end;
  
  