diff options
author | Björn Gustavsson <[email protected]> | 2011-11-07 14:01:06 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-11-07 14:01:06 +0100 |
commit | d0f1b81f1f0a8955c09d8a626d2d747950c52459 (patch) | |
tree | 6a4c727e7d122cb73ecffd6db8d39d4daf7874df /lib/stdlib/src/erl_eval.erl | |
parent | 2d4f4dca7a511dd61cc99f01bdf2a3dadaef9e5e (diff) | |
parent | ff432e262e65243cbc983fcb002527f8fae8c78b (diff) | |
download | otp-d0f1b81f1f0a8955c09d8a626d2d747950c52459.tar.gz otp-d0f1b81f1f0a8955c09d8a626d2d747950c52459.tar.bz2 otp-d0f1b81f1f0a8955c09d8a626d2d747950c52459.zip |
Merge branch 'bjorn/external-funs/OTP-9643'
* bjorn/external-funs/OTP-9643:
EEP-23: Allow variables in fun M:F/A
Reference manual: Improve the documentation for external funs
Test calling a parameterized module within a fun
beam_loader: Support external funs in the literal pool
Diffstat (limited to 'lib/stdlib/src/erl_eval.erl')
-rw-r--r-- | lib/stdlib/src/erl_eval.erl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/stdlib/src/erl_eval.erl b/lib/stdlib/src/erl_eval.erl index 4f4fa16040..88a0094d57 100644 --- a/lib/stdlib/src/erl_eval.erl +++ b/lib/stdlib/src/erl_eval.erl @@ -256,7 +256,8 @@ expr({'receive',_,Cs}, Bs, Lf, Ef, RBs) -> expr({'receive',_, Cs, E, TB}, Bs0, Lf, Ef, RBs) -> {value,T,Bs} = expr(E, Bs0, Lf, Ef, none), receive_clauses(T, Cs, {TB,Bs}, Bs0, Lf, Ef, [], RBs); -expr({'fun',_Line,{function,Mod,Name,Arity}}, Bs, _Lf, _Ef, RBs) -> +expr({'fun',_Line,{function,Mod0,Name0,Arity0}}, Bs0, Lf, Ef, RBs) -> + {[Mod,Name,Arity],Bs} = expr_list([Mod0,Name0,Arity0], Bs0, Lf, Ef), F = erlang:make_fun(Mod, Name, Arity), ret_expr(F, Bs, RBs); expr({'fun',_Line,{function,Name,Arity}}, _Bs0, _Lf, _Ef, _RBs) -> % R8 |