anchor.diff:  
   function EditorSaveFileAs(Ed: TATSynEdit; const AFileName: string): boolean;
     //
  -  procedure DoSave;
  +  procedure SaveSimple(const fn: string);
     begin
       {
       //atomic file saving is NOT a good thing, people write they loose file properties,
  
positive.code:           begin
              OldEncoding:= Ed.EncodingName;
              Ed.EncodingName:= cEncNameUtf8_NoBom;
              DoSave;
              MsgBox(Format(msgCannotSaveFileWithEnc, [OldEncoding]), MB_OK or MB_ICONWARNING);
            end;
          on E: EFileNotFoundException do
  
negative.code:     Ed.BeginUpdate;
      try
        try
          SaveSimple(AFileName);
          //prevent empty result file, issue #3435
          if (Ed.Strings.Count>0) and (FileUtil.FileSize(AFileName)=0) then
            raise EFileNotFoundException.Create('Saved to an empty file');
  