anchor.diff:            if FSelectedItem > -1 then
               SetText(Items[FSelectedItem])
             else
  -            SetText('');
  +            SetText(FText);
             FSelectedItem:= -4;      // detects return has been pressed (must be 4 due to number of repaints)
             if FNewItem and (FAllowNew = anYes) then
               FItems.Add(FText);
  
positive.code:     FSelOffset := 0;
    end;
  
    if consumed then
      RePaint;
  
    if hasChanged then
  
negative.code:         else
          begin
            FSelectedItem := -1;
            for i := 0 to FItems.Count - 1 do
            begin
              if SameText(UTF8Copy(FItems.Strings[i], 1, UTF8Length(FText)), FText) then
  