anchor.diff:  end;
   
   
  -function Py_RunPlugin_Command(const AModule, AMethod: string;
  -  const AParams: array of string): string;
  -var
  -  SObj: string;
  -  SCmd1, SCmd2: string;
  +function Py_RunPlugin_Command(const AModule, AMethod: string; const AParams: array of string): string;
  +var
  +  SObj, SCmd: string;
   begin
     SObj:= '_cudacmd_' + AModule;
   
  -  SCmd1:=
  -    Format('import %s               ', [AModule]) + SLineBreak +
  -    Format('if "%s" not in locals():', [SObj]) + SLineBreak +
  -    Format('    %s = %s.Command()   ', [SObj, AModule]) + SLineBreak;
  -  if UiOps.PyInitLog then
  -    SCmd1:= SCmd1+
  -    Format('    print("Init: %s")',    [AModule]);
  -
  -  SCmd2:=
  -    Format('%s.%s(%s)', [SObj, AMethod, Py_ArgListToString(AParams)]);
  -
  -  try
  +  if not IsPyLoadedLocal(SObj) then
  +  begin
  +    if UiOps.PyInitLog then
  +      MsgLogConsole('Init: '+AModule);
       with GetPythonEngine do
       begin
  -      ExecString(SCmd1);
  -      Result:= EvalStringAsStr(SCmd2);
  -    end;
  +      ExecString(Format('import %s;%s=%s.Command()', [AModule, SObj, AModule]));
  +    end;
  +    PyLoadedModules.Add(AModule);
  +    PyLoadedLocals.Add(SObj);
  +  end;
  +
  +  try
  +    SCmd:= Format('%s.%s(%s)', [SObj, AMethod, Py_ArgListToString(AParams)]);
  +    with GetPythonEngine do
  +      Result:= EvalStringAsStr(SCmd);
     except
     end;
   end;
  
positive.code:   cPyNone = 'None';
  
  implementation
  
  procedure Py_SetSysPath(const Dirs: array of string; DoAdd: boolean);
  var
  
negative.code:   AEd: TATSynEdit; const AParams: array of string;
    ALazy: boolean): string;
  var
    SObj, SCmd, SParams: string;
    H: PtrInt;
    i: integer;
  begin
  