IdeConfig: Fixes for checking the result of macro substitution

This commit is contained in:
n7800 2024-09-25 03:42:01 +05:00 committed by Juha Manninen
parent c9abc17db6
commit 30a7007a39
2 changed files with 6 additions and 1 deletions

View File

@ -365,7 +365,7 @@ begin
{$ENDIF}
s:='';
//IDEMessageDialog('Unknown Macro','Macro not defined: "'+s+'".',mtError,[mbAbort],0);
Handled:=true;
Handled:=false;
exit;
end;
end;

View File

@ -295,7 +295,10 @@ begin
//debugln(['TTransferMacroList.SubstituteStr FUNC ',MacroName]);
MacroEnd:=SearchBracketClose(MacroEnd)+1;
if MacroEnd>sLen+1 then
begin
result := false;
break; // missing closing bracket
end;
OldMacroLen:=MacroEnd-MacroStart;
MacroStr:=copy(s,MacroStart,OldMacroLen);
// Macro found
@ -322,6 +325,8 @@ begin
ExecuteMacro(MacroName,MacroParam,Data,Handled,Abort,Depth+1);
if Abort then
exit(false);
if not Handled then
result := false; // set error, but continue parsing
MacroStr:=MacroParam;
// substitute result