aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
AgeCommit message (Collapse)Author
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
2014-06-17[dialyzer] Use the option 'dialyzer' to control the compilerHans Bolinder
2014-06-17[dialyzer] Fix handling of literal recordsHans Bolinder
This ticket is about records in Erlang code, and when to check the fields against the (optional) types given when defining records. Dialyzer operates on the Erlang Core format, where there are no trace of records. The fix implemented is a Real Hack: Given the new option 'dialyzer' erl_expand_records marks the line number of records in a way that is undone by v3_core, which in turn inserts annotations that can be recognized by Dialyzer.
2014-06-17Merge branch 'maint'Björn Gustavsson
* maint: Fix handling of latin1 characters in false ifdef branches add_abstract_code: Remove 'from_asm' option Remove documentation and stub for non-exist file:file_info/1
2014-06-16Properly track column numbers in erl_scanAnthony Ramine
This is a partial revert of 05c4d31b2c5c5f6ade7d91b55c598fe7fa58e509 in which a new macro `?STR()` was introduced. This macro shouldn't be used in scan_number/6 and scan_based_int/6 because the length of the string is needed when computing column numbers through tok3/8.
2014-06-16Fix handling of latin1 characters in false ifdef branchesBjörn Gustavsson
The fallback to latin-1 encoding would not work if the invalid UTF-8 characters occurred in a skipped branch in an -ifdef/-ifndef.
2014-06-15Fix locations of shadowing warnings in ms_transformAnthony Ramine
A shadowed variable in an ms_transform match expression emits a warning located at the match expression instead of the variable.
2014-06-11Merge branch 'siri/sync-stop-gen/OTP-11173'Siri Hansen
* siri/sync-stop-gen/OTP-11173: Add synchronous stop function to wx_object Fix minor bugs in gen_server and gen_fsm documentation Update gen_event:stop to be synchronous Add synchronous stop functions to gen_server and gen_fsm Add synchronous stop function to proc_lib Add system message 'terminate' Remove old code from stdlib/test/sys_sp2.erl
2014-05-30Implement ets:take/2Anthony Ramine
This new ETS BIF returns and deletes objects from tables.
2014-05-26Merge branch 'maint'Björn-Egil Dahlberg
2014-05-26Merge branch 'saa/add_default_value_for_maps_get/OTP-11951' into maintBjörn-Egil Dahlberg
* saa/add_default_value_for_maps_get/OTP-11951: stdlib: Fix indentation of maps doc Add docs and test for maps:get/3 Add default value for maps:get
2014-05-26Update gen_event:stop to be synchronousSiri Hansen
This function now uses proc_lib:stop, which guarantees that the process is terminated before the function return.
2014-05-26Add synchronous stop functions to gen_server and gen_fsmSiri Hansen
The functions utilize proc_lib:stop, which in turn utilizes sys:terminate.
2014-05-26Add synchronous stop function to proc_libSiri Hansen
The new function utilizes sys:terminate.