Skip to content

Commit fda3fdb

Browse files
committed
some sync with P4D
1 parent d2d0f6d commit fda3fdb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

python4lazarus/PythonEngine.pas

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4672,7 +4672,7 @@ procedure TPythonEngine.ExecFile(const FileName: string; locals,
46724672
begin
46734673
SL := TStringList.Create;
46744674
try
4675-
SL.LoadFromFile(FileName);
4675+
SL.LoadFromFile(FileName, TEncoding.UTF8);
46764676
ExecStrings(SL, locals, globals, FileName);
46774677
finally
46784678
SL.Free;
@@ -5891,15 +5891,19 @@ procedure TPythonEngine.ListToSet( List : PPyObject; data : Pointer; size : Inte
58915891
end;
58925892

58935893
procedure TPythonEngine.CheckError(ACatchStopEx : Boolean = False);
5894+
58945895
procedure ProcessSystemExit;
58955896
var
58965897
errtype, errvalue, errtraceback: PPyObject;
58975898
SErrValue: string;
58985899
begin
5900+
// PyErr_Fetch clears the error. The returned python objects are new references
58995901
PyErr_Fetch(errtype, errvalue, errtraceback);
59005902
Traceback.Refresh(errtraceback);
59015903
SErrValue := PyObjectAsString(errvalue);
5902-
PyErr_Clear;
5904+
Py_XDECREF(errtype);
5905+
Py_XDECREF(errvalue);
5906+
Py_XDECREF(errtraceback);
59035907
raise EPySystemExit.CreateResFmt(@SPyExcSystemError, [SErrValue]);
59045908
end;
59055909

0 commit comments

Comments
 (0)