anchor.diff:  function GetApplicationDataFolder(const aApplicationSubDir: string): String;
   var
     tmpDir : string;
  -  {$ifdef windows}
  +  {$IFDEF WINDOWS}
     AppDataPath: Array[0..MaxPathLen] of Char; //http://wiki.lazarus.freepascal.org/Windows_Programming_Tips
  -  {$endif}
  -begin
  -  {$ifdef windows}
  +  {$ENDIF}
  +begin
  +  {$IFDEF WINDOWS}
     AppDataPath:='';
     SHGetSpecialFolderPath(0,AppDataPath,CSIDL_APPDATA,false);
     tmpDir:= AppDataPath;
     Result := IncludeTrailingPathDelimiter(tmpDir) + aApplicationSubDir;
  -  {$else}
  -    {$ifdef linux}
  +  {$ELSE}
  +    {$IFDEF LINUX}
       // GetAppConfigDir(false);
       raise Exception.Create('GetApplicationLocalDataFolder missing implementation for this platform');
  -    {$else}
  +    {$ELSE}
       raise Exception.Create('GetApplicationLocalDataFolder missing implementation for this platform');
  -    {$endif}
  -  {$endif}
  +    {$ENDIF}
  +  {$ENDIF}
     if not DirectoryExists(Result) then
       ForceDirectories(Result);
   end;
  
positive.code:   {$MODE DELPHI}
  {$ENDIF}
  
  uses
    Classes, SysUtils, Variants, {$ifdef windows}Windows, {$ifdef fpc}{$ifndef console}InterfaceBase,{$endif}{$endif} {$ifndef console}Forms,{$endif}{$endif}
    mIntList, mDoubleList;
  
  const
  
negative.code: function GetApplicationLocalDataFolder (const aApplicationSubDir : string) : String;
  function GetApplicationDataFolder (const aApplicationSubDir : string) : String;
  function GetOSUser : string;
  {$IFDEF GUI}
  procedure FlashInWindowsTaskbar(const aFlashEvenIfActive : boolean);
  {$ENDIF}
  // http://forum.codecall.net/topic/69184-solved-file-association-and-the-registry/
  function RegisterDefaultApplication(const aFullPathExe : string; const aFileExtension : string; var aError : string): boolean;
  
  