aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-12-12Support EEP37 named funs in emacs erlang-modeSteve Vinoski
Change emacs erlang-mode to recognize EEP37 named funs so they're indented properly. Specifically, modify erlang-partial-parse to allow for an optional Erlang variable name to appear between the "fun" keyword and the opening parenthesis of its argument list.
2013-12-12Document named fun expressionsAnthony Ramine
2013-12-12Test named funsAnthony Ramine
2013-12-12Support named funs in the debugger interpreterAnthony Ramine
The current code for the evaluation of ordinary funs is dependent on the order on variables in the fun environment as returned by erlang:fun_info(Fun, env). As it happened, adding the code for named funs changed the order in the environment for ordinary funs. To avoid the problem in the future, make sure that we only have one free variable in the funs that we will need to inspect using erlang:fun_info(Fun, env).
2013-12-12Update primary bootstrap for named funs in the shellAnthony Ramine
2013-12-12Support named funs in the shellAnthony Ramine
The current code for the evaluation of ordinary funs is dependent on the order on variables in the fun environment as returned by erlang:fun_info(Fun, env). To avoid the problem in the future, make sure that we only have one free variable in the funs that we will need to inspect using erlang:fun_info(Fun, env).
2013-12-12Update primary bootstrap for named funsAnthony Ramine
2013-12-12EEP 37: Funs with namesAnthony Ramine
This adds optional names to fun expressions. A named fun expression is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse. If a fun expression has a name, it must be present and be the same in every of its clauses. The function name shadows the environment of the expression shadowing the environment and it is shadowed by the environment of the clauses' arguments. An unused function name triggers a warning unless it is prefixed by _, just as every variable. Variable _ is allowed as a function name. It is not an error to put a named function in a record field default value. When transforming to Core Erlang, the named fun Fun is changed into the following expression: letrec 'Fun'/Arity = fun (Args) -> let <Fun> = 'Fun'/Arity in Case in 'Fun'/Arity where Args is the list of arguments of 'Fun'/Arity and Case the Core Erlang expression corresponding to the clauses of Fun. This transformation allows us to entirely skip any k_var to k_local transformation in the fun's clauses bodies.
2013-12-12Support non top level letrecs in dialyzerJosé Valim
Dialyzer so far only supported letrecs at the top-level and comprehension-like letrecs (i.e. that were directly applied) in their body. This commit address this issue by storing in the callgraph bound letrec labels pointing to their functions. This information is then used by the dataflow to properly lookup recursive definitions.
2013-12-10Merge tag 'OTP_R16B03'Magnus Lidén
The R16B03 release Conflicts: lib/sasl/vsn.mk
2013-12-09Prepare releaseOTP_R16B03Erlang/OTP
2013-12-09Update preloaded modulesMagnus Lidén
2013-12-09Merge branch 'siri/test-bugfix-upgrade-emulator' into maintMagnus Lidén
* siri/test-bugfix-upgrade-emulator: [sasl] Test bugfix in branch 'schlagert/fix_emulator_upgrades'
2013-12-09[sasl] Test bugfix in branch 'schlagert/fix_emulator_upgrades'Siri Hansen
OTP-11529
2013-12-09Update system readme for R16B03Magnus Lidén
2013-12-09Update preloaded modulesMagnus Lidén
2013-12-07Merge branch 'rickard/garbage_collect/OTP-11388'Rickard Green
* rickard/garbage_collect/OTP-11388: Parallel check_process_code when code_server purge a module Functionality for disabling garbage collection Use asynchronous check_process_code in code_parallel_SUITE Execution of system tasks in context of another process Conflicts: bootstrap/lib/kernel/ebin/hipe_unified_loader.beam erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2013-12-06Update preloaded modulesMagnus Lidén
2013-12-06Merge branch 'maint'Magnus Lidén
2013-12-06Update primary bootstrap app- and appup filesMagnus Lidén
2013-12-06Update primary bootstrapMagnus Lidén
2013-12-05Merge branch 'maint'Raimo Niskanen
2013-12-05Merge branch 'schlagert/fix_emulator_upgrades' into maintRaimo Niskanen
* schlagert/fix_emulator_upgrades: Fix boot file generation for intermediate releases.
2013-12-05Merge branch 'maint'Hans Nilsson
2013-12-05Merge branch 'hans/inets/ftpc_test_fail' into maintHans Nilsson
* hans/inets/ftpc_test_fail: inets: Restore ftp test files for the inets_{,sup_}SUITE to not fail
2013-12-05inets: Restore ftp test files for the inets_{,sup_}SUITE to not failHans Nilsson
2013-12-05Merge remote-tracking branch 'upstream/maint'Ingela Anderton Andin
2013-12-05Merge branch 'ia/inets/cuddle-with-tests' into maintIngela Anderton Andin
* ia/inets/cuddle-with-tests: inets: Add crypto start check to ssl test cases
2013-12-05Update primary bootstrapSverker Eriksson
2013-12-04Merge branch 'maint'Peter Andersson
2013-12-04Merge branch 'peppe/common_test/r16b03_docs_updated' into maintPeter Andersson
* peppe/common_test/r16b03_docs_updated: Update event handling documentation OTP-11524
2013-12-04Update event handling documentationPeter Andersson
2013-12-04Merge branch 'sverk/crypto-strrchr-bug'Sverker Eriksson
* sverk/crypto-strrchr-bug: crypto: Fix bug in change_basename
2013-12-04Merge branch 'maint'Peter Andersson
2013-12-04Merge branch 'peppe/common_test/r16b03_docs' into maintPeter Andersson
* peppe/common_test/r16b03_docs: Update documentation OTP-10631 OTP-11305 OTP-11523 OTP-11524
2013-12-04Merge branch 'maint'Anders Svensson
2013-12-04Merge branch 'anders/diameter/doc/OTP-11519' into maintAnders Svensson
* anders/diameter/doc/OTP-11519: Assorted doc fixes/tweaks
2013-12-03Update documentationPeter Andersson
2013-12-03crypto: Fix bug in change_basenameSverker Eriksson
strrchr used on non null-terminated string.
2013-12-03Merge branch 'sverk/yb/aes_ige_crypt'Sverker Eriksson
* sverk/yb/aes_ige_crypt: crypto: Update supports/0 for des3_cbf and aes_ige256 crypto: Throw notsup for AES IGE if openssl older than 0.9.8c crypto: Add IGE mode for AES OTP-11522
2013-12-03Assorted doc fixes/tweaksAnders Svensson
2013-12-03Merge branch 'maint'Hans Nilsson
2013-12-03Merge branch 'hans/ssh/cli_delays' into maintHans Nilsson
* hans/ssh/cli_delays: ssh: Fix long cli delays. (Part of OTP-11339, OTP-10953)
2013-12-03Merge branch 'hans/ftp/dialyzer_warning' into maintHans Nilsson
* hans/ftp/dialyzer_warning: ftp: fix sockname dialyzer warning including ftp:sockname/1 bug
2013-12-03ftp: fix sockname dialyzer warning including ftp:sockname/1 bugHans Nilsson
2013-12-03ssh: Fix long cli delays. (Part of OTP-11339, OTP-10953)Hans Nilsson
A step in fixing the tickets.
2013-12-03Merge branch 'maint'Sverker Eriksson
2013-12-03Merge branch 'sverk/crypto-no_answer_from_tc_supervisor' into maintSverker Eriksson
* sverk/crypto-no_answer_from_tc_supervisor: crypto: Add more lazy_eval to avoid no_answer_from_tc_supervisor
2013-12-03Fix boot file generation for intermediate releases.Tobias Schlager
A previous refactoring messed up the paths used in the start.boot file used in intermediate releases generated for emulator upgrades.
2013-12-03Merge branch 'maint'Björn-Egil Dahlberg