aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
2014-09-22Merge branch 'nox/fix-exporting-rules/OTP-12186'Marcus Arendt
* nox/fix-exporting-rules/OTP-12186: Rewrite merge of clause variable tables (in case, try, etc)
2014-09-19Optimise io requests for long message queuesMagnus Henoch
Ensure that the monitor reference is present in all receive clauses, so that the compiler optimisation kicks in and the run time won't depend on the length of the message queue of the calling process. Remove the 'EXIT' clause, as its presence breaks the optimisation, and that case is handled by the 'DOWN' clause anyway. The test io_SUITE:io_with_huge_message_queue is an adaptation of gen_server_SUITE:call_with_huge_message_queue.
2014-09-15Remove untested option 'generic_debug' from gen_serverAnthony Ramine
This undocumented option makes an init:get_argument/1 call every time a gen_server is started. Reported-By: James Fish
2014-09-11Fix broken deprecation warnings in ssh applicationSebastian Strollo
2014-09-11stdlib: Fix maps type pretty printingBjörn-Egil Dahlberg
Properly align union typed assoc values.
2014-09-11Do not rely on macros with implicit varsJosé Valim
This commit also provides the benefit that the Label argument in gen:call/3 is no longer used, as we can access the sender in the From argument. Therefore, we should be able to change the Label to something more relevant in the future.
2014-09-09Merge branch 'egil/erlang-get_keys/OTP-12151'Björn-Egil Dahlberg
* egil/erlang-get_keys/OTP-12151: Update preloaded erlang.beam erts: Document erlang:get_keys/0 stdlib: Auto-import erlang:get_keys/0 erts: Add spec for erlang:get_keys/0 kernel: Test BIF erlang:get_keys/0 erts: Add BIF erlang:get_keys/0
2014-09-01Merge branch 'maint'Marcus Arendt
2014-09-01Merge branch 'nox/erl_scan-fix-column-tracking' into maintMarcus Arendt
* nox/erl_scan-fix-column-tracking: Properly track column numbers in erl_scan
2014-08-28Merge branch 'maint'Dan Gudmundsson
2014-08-28Merge branch 'dgud/stdlib/format_status_terminate/OTP-11967' into maintDan Gudmundsson
* dgud/stdlib/format_status_terminate/OTP-11967: stdlib: Call format_status even if terminate callback crashes
2014-08-26stdlib: Use environment bindings for Maps keys in erl_eval matchingBjörn-Egil Dahlberg
2014-08-26Merge branch 'maint'Marcus Arendt
2014-08-26Merge branch 'kittee/maps_only' into maintMarcus Arendt
* kittee/maps_only: maps:only/2 -> maps:with/2 add maps:only/2
2014-08-22stdlib: Auto-import erlang:get_keys/0Björn-Egil Dahlberg
2014-08-22stdlib: erl_lint Map key variablesBjörn-Egil Dahlberg
2014-08-21Merge branch 'maint'Björn-Egil Dahlberg
2014-08-21Merge branch 'egil/proc_lib-optimizations/OTP-12060' into maintBjörn-Egil Dahlberg
* egil/proc_lib-optimizations/OTP-12060: stdlib: Update dependencies to erts-6.2 erts: Update preloaded erlang.beam stdlib: Use erlang:fun_info_mfa/1 in proc_lib:init_p/3 erts: Test erlang:fun_info_mfa/1 erts: Introduce erlang:fun_info_mfa/1
2014-08-20Support maps in ms_transformAnthony Ramine
2014-08-18stdlib: Update dependencies to erts-6.2Björn-Egil Dahlberg
2014-08-04Allow Name/Arity syntax in maps inside attributesAndrey Tsirulev
Currently Name/Arity syntax is supported in list and tuple terms. This change makes it possible to use this syntax in map terms for consistency and convenience. Example: -custom(#{test1 => init/2, test2 => [val/1, val/2]}).
2014-08-02Rewrite merge of clause variable tables (in case, try, etc)Anthony Ramine
erl_lint:icrt_export/4 has been rewritten to make the code really follow the scoping rules of Erlang, and not just in most situations by accident. * The function should not depend on calling unused_vars/3 because that function does not return variables which begins with an underscore, something that only matters when emitting warnings. This could cause a compiler crash if such a variable was reused afterwards. * The variable tables from each clause are first merged together, lists:merge/1 is safe to use because they are orddicts and thus already sorted. This list is then traversed parallelly to the old variable table, again taking advantage of their sorted order. * The function does not emit warnings itself, there is no need to pass around the lint state. In the same vein, vtunsafe/3 has been rewritten to do more things by itself, given that all of its calls were similar. Finally, compiled-out code has been removed. * This reverts the code in 9ce148b1059e4da746a11f1d80a653340216c468, which fixed the compiler crash and made erl_lint remember unsafe variables, but forget about unused variables in the process. * Other places of the code which relied on the old clunky behaviour were also updated: unused and unsafe old variables are forgotten when merging fun clauses and boolean shortcircuiting operators do not rely on icrt_export/3 anymore.
2014-07-15Merge branch 'maint'Bruce Yinhe
2014-07-15Merge branch 'nox/maps-shell-expansion' into maintBruce Yinhe
OTP-12063 * nox/maps-shell-expansion: Expand shell functions in map expressions
2014-07-14Fix filelib:wildcard/2 when 'Cwd' ends with a dotChristopher Faulet
In such case, filelib:wildcard/2 returned truncated results: 1> file:set_cwd("/usr/lib/erlang/lib"). ok 2> filelib:wildcard("stdlib-*/ebin/*.app", filename:absname(".")). ["dlib-2.1/ebin/stdlib.app"]
2014-07-11stdlib: Use erlang:fun_info_mfa/1 in proc_lib:init_p/3Björn-Egil Dahlberg
2014-07-11Merge branch 'maint'Bruce Yinhe
2014-07-11Merge branch 'lharc/patch-1' into maintBruce Yinhe
OPT-12055 * lharc/patch-1: documentation: maps:values() returns list of keys
2014-07-11Merge branch 'maint'Erland Schönbeck
2014-07-11Merge branch 'maint-17' into maintErland Schönbeck
2014-07-10Merge branch 'maint'Siri Hansen
2014-07-10Merge branch 'siri/sys-FormFunc-spec/OTP-11800' into maintSiri Hansen
* siri/sys-FormFunc-spec/OTP-11800: Fix spec of format function in sys
2014-07-10Merge branch 'nox/filelib-wildcard-broken-link' into maint-17Erlang/OTP
* nox/filelib-wildcard-broken-link: Update stdlib appup file Update runtime dependencies Update preloaded Add tests of filelib and symlinks Fix handling of broken symlinks in filelib Conflicts: erts/preloaded/ebin/erl_prim_loader.beam
2014-07-10Update stdlib appup fileSiri Hansen
Allow upgrade from OTP 17.1 to newer.
2014-07-10maps:only/2 -> maps:with/2Igor Savchuk
2014-07-09Update runtime dependenciesSiri Hansen
2014-07-09Fix handling of broken symlinks in filelibAnthony Ramine
This fixes a bug introduced in f11aabdc9fec593c31e6c4f3fa25c1707e9c35df where filelib:eval_read_file_info/2 was made to use file:read_link_info/1 to never follow symlinks. This fixed wildcard/1 but broke every other function using eval_read_file_info/2. Reported-by: Louis-Philippe Gauthier Reported-by: Danil Zagoskin
2014-07-07add maps:only/2Igor Savchuk
2014-07-07Merge branch 'maint'Bruce Yinhe
2014-07-07Merge branch 'mururu/fix-typo' into maintBruce Yinhe
* mururu/fix-typo: Fix typo in erl_eval:exprs comments
2014-07-07Merge branch 'maint'Bruce Yinhe
2014-07-07Merge branch 'nox/io_lib_format-width-too-small' into maintBruce Yinhe
* nox/io_lib_format-width-too-small: Properly handle fields too short in io_lib_format OTP-12041
2014-07-04stdlib: Call format_status even if terminate callback crashesDan Gudmundsson
The format_status callback (if exists) should always be invoked when logging errors.
2014-07-04Fix typo in erl_eval:exprs commentsYuki Ito
2014-07-03Fix spec of format function in sysSiri Hansen
The argument FormFunc is sys:handle_debug/4war erronously specified as dbg_fun(), which is a debug function. This has now been corrected by adding a new type, format_fun().
2014-07-01documentation: maps:values() returns list of keyslharc
probably a copy&paste error from maps:keys()
2014-07-01Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct documentation of dets:insert/2
2014-07-01Expand shell functions in map expressionsAnthony Ramine
Reported-by: Danil Zagoskin
2014-06-30stdlib: Correct documentation of dets:insert/2Hans Bolinder
Thanks to Alexei Sholik for reporting the bug.
2014-06-17Merge branch 'maint'Hans Bolinder
* maint: [dialyzer] Correct a doc bug introduced in 0b041238 [dialyzer] Use the option 'dialyzer' to control the compiler [dialyzer] Fix handling of literal records