@@ -358,7 +358,7 @@ eval_forms(Tree, Binding, OrigE, Opts) ->
358
358
_ -> [Erl ]
359
359
end ,
360
360
361
- ExternalHandler = eval_external_handler () ,
361
+ ExternalHandler = { value , fun ? MODULE : eval_external_handler / 3 } ,
362
362
363
363
{value , Value , NewBinding } =
364
364
try
@@ -387,8 +387,6 @@ eval_forms(Tree, Binding, OrigE, Opts) ->
387
387
388
388
% % TODO: Remove conditional once we require Erlang/OTP 25+.
389
389
-if (? OTP_RELEASE >= 25 ).
390
- eval_external_handler () -> {value , fun ? MODULE :eval_external_handler /3 }.
391
-
392
390
eval_external_handler (Ann , FunOrModFun , Args ) ->
393
391
try
394
392
case FunOrModFun of
@@ -452,7 +450,11 @@ drop_common([], [{?MODULE, _, _, _} | T2], _ToDrop) -> T2;
452
450
drop_common ([], [_ | T2 ], true ) -> T2 ;
453
451
drop_common ([], T2 , _ ) -> T2 .
454
452
- else .
455
- eval_external_handler () -> none .
453
+ eval_external_handler (_Ann , FunOrModFun , Args ) ->
454
+ case FunOrModFun of
455
+ {Mod , Fun } -> apply (Mod , Fun , Args );
456
+ Fun -> apply (Fun , Args )
457
+ end .
456
458
- endif .
457
459
458
460
% % Converts a quoted expression to Erlang abstract format
0 commit comments