1
1
mirror of https://github.com/kanaka/mal.git synced 2024-10-05 18:08:55 +03:00

objpascal: prevent defmacro from mutating functions

This commit is contained in:
Nicolas Boulenguez 2021-08-16 10:07:20 +02:00 committed by Joel Martin
parent 28ba74b73e
commit b74ca280ff
3 changed files with 3 additions and 0 deletions

View File

@ -212,6 +212,7 @@ begin
'defmacro!':
begin
Fn := EVAL(Arr[2], ENV) as TMalFunc;
Fn := TMalFunc.Clone(Fn);
Fn.isMacro := true;
Exit(Env.Add((Arr[1] as TMalSymbol), Fn));
end;

View File

@ -213,6 +213,7 @@ begin
'defmacro!':
begin
Fn := EVAL(Arr[2], ENV) as TMalFunc;
Fn := TMalFunc.Clone(Fn);
Fn.isMacro := true;
Exit(Env.Add((Arr[1] as TMalSymbol), Fn));
end;

View File

@ -213,6 +213,7 @@ begin
'defmacro!':
begin
Fn := EVAL(Arr[2], ENV) as TMalFunc;
Fn := TMalFunc.Clone(Fn);
Fn.isMacro := true;
Exit(Env.Add((Arr[1] as TMalSymbol), Fn));
end;