anchor.diff:               (ARect.Right = BRect.Right);
   end;
   
  +// Destroy the objects stored in List
  +// and clear the list.
  +Procedure ClearListAndObjects( List: TList );
  +begin
  +  DestroyListObjects( List );
  +  List.Clear;
  +end;
  +
  +// Destroy the objects stored in the list
  +// and then destroy the list itself.
  +Procedure DestroyListAndObjects( Var List: TList );
  +begin
  +  if not Assigned( List ) then
  +    exit;
  +
  +  DestroyListObjects( List );
  +  List.Free;
  +  List := nil;
  +end;
  +
  +Procedure DestroyListObjects( List: TList );
  +var
  +  Index: longint;
  +begin
  +  for Index := 0 to List.Count - 1 do
  +  begin
  +    if List[ Index ] <> nil then
  +    begin
  +      TObject( List[ Index ] ).Free;
  +      List[ Index ] := nil;
  +    end;
  +  end;
  +end;
  +
  +Procedure AddList( Source, Dest: TList );
  +var
  +  i: longint;
  +begin
  +  // expand the destination list to what's required
  +  Dest.Capacity := Dest.Capacity + Source.Capacity;
  +  for i:= 0 to Source.Count - 1 do
  +    Dest.Add( Source[ i ] );
  +end;
  +
  +Procedure AssignList( Source, Dest: TList );
  +begin
  +  Dest.Clear;
  +  AddList( Source, Dest );
  +end;
  +
  +
  +
   end.
   
  
positive.code: 
  Operator = (ARect: TRect; BRect: TRect): boolean;
  
  
  implementation
  
  uses
    fpg_utils
    ;
  //  character // from utf8tools package (pulls in LCL requirement which we MUST change)
  //  ;
  
  
  Function ExtractNextValue( var S: string;
                             const Separator: string ): string;
  
negative.code:   Quote = '''';
    DoubleQuote = '"';
  
    // -- Logging --
  type
    LogAspect = (       LogStartup,
                        LogShutdown,
                        LogSettings,
                        LogI18n,
                        LogParse,
                        LogDisplay,
                        LogSearch,
                        LogNHM,
                        LogViewStub,
                        LogObjConstDest,
                        LogDebug
    );
    LogAspects = SET OF LogAspect;
  
  procedure LogEvent(const aLogAspect: LogAspect; const anEventDescription: String);
  
  // Removes and returns the first value in a separated
  // value list (removes quotes if found)
  