anchor.diff:      s:= UTF8Encode(ed.Text);
       DoExecuteConsoleLine(s);
   
  -    ed.DoAddLineToHistory(Utf8Decode(s), cPyConsoleMaxComboItems);
       ed.Text:= '';
       ed.DoCaretSingle(0, 0);
   
  
positive.code:   cPyConsoleMaxLines = 1000;
    cPyConsoleMaxComboItems: integer = 20;
    cPyConsolePrompt = '>>> ';
  
  implementation
  
  
negative.code: end;
  
  procedure TfmConsole.DoExecuteConsoleLine(Str: string);
  var
    bNoLog: boolean;
  begin
    bNoLog:= SEndsWith(Str, cPyCharNoLog);
    if bNoLog then
      Delete(Str, Length(Str), 1);
  
    DoLogConsoleLine(cPyConsolePrompt+Str); //log always?
    if not bNoLog then
    begin
      ed.DoAddLineToHistory(Utf8Decode(Str), cPyConsoleMaxComboItems);
    end;
  
    if Assigned(FOnConsole) then
      if not FOnConsole(Str) then exit;
  
    if SBeginsWith(Str, cPyCharPrint) then
      Str:= 'print('+Copy(Str, 2, MaxInt) + ')';
  
    try
  