aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2014-04-29[stdlib] Simplify some linter warnings about specsHans Bolinder
Use F/A rather than M:F/A for local functions.
2014-04-29Modify representation of the map typeHans Bolinder
Types are represented by quadruples {type, LINE, Name, Args}, but maps were represented by five-tuples {type, LINE, map_field_assoc, Dom, Range}. Note: this is *not* about the quadruples used for representing expressions, {map_field_assoc,L,K,V}.
2014-04-29Disallow '_' as type variableHans Bolinder
"... when _ :: ..." used to compile, but Dialyzer crashed.
2014-04-29Fix a -callback attribute bugHans Bolinder
sys_pre_expand used to crash. There is no known reason to allow -callback attributes with explicit module.
2014-04-29Allow more type namesHans Bolinder
product/_, union/_, range/2 as well as tuple/N (N > 0), map/N (N > 0), atom/1, integer/1, binary/2, record/_, and 'fun'/_ can now be used as type names.
2014-04-28Introduce the attribute -optional_callbacks in the context of behavioursHans Bolinder
2014-04-16stdlib: Fix error message when exporting (redefined) map() typeHans Bolinder
When redefining and exporting the type map() erl_lint erroneously emitted an error. This bug has been fixed.
2014-04-07Update release notesErlang/OTP
2014-04-04Merge branch 'egil/maps-fix-map-key-patterns'Björn-Egil Dahlberg
* egil/maps-fix-map-key-patterns: stdlib: Fix erl_id_trans example stdlib: Deny map keys defined as #{ .. := .. } in patterns compiler: Fix compiling map keys in patterns from core compiler,stdlib: Fix Map literals as keys for Maps in patterns
2014-04-03Merge branch 'vinoski/hash-update-arity'Sverker Eriksson
* vinoski/hash-update-arity: Some more faulty deprecation warnings for crypto
2014-04-03Some more faulty deprecation warnings for cryptoSverker Eriksson
2014-04-03Merge branch 'vinoski/hash-update-arity'Sverker Eriksson
* vinoski/hash-update-arity: fix arity of crypto:hash_update/2 in deprecation warnings
2014-04-03stdlib: Fix erl_id_trans exampleBjörn-Egil Dahlberg
2014-04-03stdlib: Deny map keys defined as #{ .. := .. } in patternsBjörn-Egil Dahlberg
2014-04-03compiler,stdlib: Fix Map literals as keys for Maps in patternsBjörn-Egil Dahlberg
2014-04-02Deprecate module pgSiri Hansen
To be removed in Erlang/OTP 18
2014-03-31fix arity of crypto:hash_update/2 in deprecation warningsSteve Vinoski
When compiling code using deprecated crypto functions that should be replaced with crypto:hash_update/2, the deprecation warnings were saying "use crypto:hash_update/3", with the wrong arity of 3, instead of "use crypto:hash_update/2". The problem was reported in this email message to erlang-bugs: http://erlang.org/pipermail/erlang-bugs/2014-March/004281.html
2014-03-28Take out no_native compiler attributeKostis Sagonas
2014-03-28Merge branch 'egil/maps-fix-src-listing'Björn-Egil Dahlberg
* egil/maps-fix-src-listing: stdlib: Fix map type listing
2014-03-28stdlib: loosen testcasesDan Gudmundsson
Stabilize tests for all kind of machines Old sparc (and newer smaller) machines timeouts in 'random_ref_comp' decrease load and increase timeouts. Supervisor: Turn up accepted time, since if non-linear it should be much worse, now the test failes on slow multicore machines Remove memory tests, they fail sometimes and those tests are not needed to be tested. Hard to predict GC's and other processes behaviours.
2014-03-27stdlib: Fix map type listingBjörn-Egil Dahlberg
2014-03-27Merge branch 'pf/document-escript-feature-only-present-in-examples/OTP-11827'Lukas Larsson
* pf/document-escript-feature-only-present-in-examples/OTP-11827: Document an escript:create/2 hidden feature
2014-03-27Document an escript:create/2 hidden featurePierre Fenoll
escript:create/2 accepts a 3-elements tuple containing files and zip:create/3 options to build a zip file. Also had to update zip typespecs to allow referral from escript docs.
2014-03-27Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson
* lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal
2014-03-26ose: Prepare slave for running on OSELukas Larsson
This change relies on the assumption that all arguments before the last -- to the parent beam should be left as they are.
2014-03-26Merge branch 'bjorn/stdlib/otp_internal'Björn Gustavsson
* bjorn/stdlib/otp_internal: otp_internal: No longer warn for funtions removed in R13B otp_internal: Postpone removals from R17 to OTP 18
2014-03-25Merge branch 'vladdu/unicode_parameters_doc'Siri Hansen
* vladdu/unicode_parameters_doc: Specify that +fn* flags affect even command-line parameters and environment variables OTP-11818
2014-03-25Merge branch 'vinoski/sys-get-rep-state2'Siri Hansen
* vinoski/sys-get-rep-state2: remove tuple funs from special process documentation fix sys:get_state/1,2 and sys:replace_state/2,3 when sys suspended OTP-11817
2014-03-25stdlib: Generalize erl_parse:abstract/2Hans Bolinder
The 'encoding' option of erl_parse:abstract/2 has been extended to include 'none' and a callback function (a predicate). The rationale is that a more general means of determining what integer lists are to be represented as strings may help readability when generating Erlang code given input in some other encoding than Latin-1 or UTF-8.
2014-03-25otp_internal: No longer warn for funtions removed in R13BBjörn Gustavsson
The grace period is over.
2014-03-24Specify that +fn* flags affect even command-line parameters and environment ↵Vlad Dumitrescu
variables
2014-03-24otp_internal: Postpone removals from R17 to OTP 18Björn Gustavsson
Since they have not been removed yet in OTP 17, postpone removal one release to OTP 18.
2014-03-24stdlib: warn if the type map() is redefinedHans Bolinder
2014-03-24stdlib: Add more types to epp and erl_lintHans Bolinder
2014-03-21fix sys:get_state/1,2 and sys:replace_state/2,3 when sys suspendedSteve Vinoski
Add two new system callbacks Module:system_get_state/1 and Module:system_replace_state/2 to allow sys:get_state/1,2 and sys:replace_state/2,3 to operate correctly even if a process is sys suspended. Modify gen_server, gen_fsm, and gen_event to support the new callbacks. If a callback module does not export these functions, then by default the Misc value (the same as that passed as the final argument to sys:handle_system_msg/6, and returned as part of the return value of sys:get_status/1,2) is treated as the callback module's state. The previous behaviour of intercepting the system message and passing a tuple of size 2 as the last argument to sys:handle_system_msg/6 is no longer supported. Add tests to verify the correctness of sys:get_state/1,2 and sys:replace_state/2,3 when processes are sys suspended. Add two tests for modules that implement special processes, one that exports system_get_state/1 and system_replace_state/2 and one that doesn't. Much of the credit for this patch goes to James Fish, who reported the initial problem and implemented much of the fix.
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-03-20Correct the contract of io:getopts()Hans Bolinder
2014-03-20Fix some Dialyzer warningsHans Bolinder
Dialyzer recognizes a certain pattern that makes it possible to get rid of 'The created fun has no local return' warnings.
2014-03-20Merge branch 'bjorn/cuddle-with-tests'Björn Gustavsson
* bjorn/cuddle-with-tests: cover_SUITE:reconnect/1: Let the other side initiate the disconnect Attempt to provide more information if a test case fails prim_file_SUITE: Remove the short 5 seconds timetrap timeout shell_SUITE: Give bs_match_bin_SUITE/1 more time
2014-03-19Merge branch 'hb/clarify_encoding'Hans Bolinder
* hb/clarify_encoding: Clarify the reference manual regarding source file encoding
2014-03-19Merge branch 'bjorn/compiler/utf8-warning/OTP-11791'Björn Gustavsson
* bjorn/compiler/utf8-warning/OTP-11791: Don't fail compilation for modules that contain invalid UTF-8 epp: Make it possible to specify a default encoding
2014-03-18epp: Make it possible to specify a default encodingBjörn Gustavsson
In the next commit, we will need a way to tell epp which the default encoding should be for files that have no encoding comment. We could add new open() and parse_file() functions with one extra argument for the encoding, but there are already too many variants. To avoid having to add an additional argument to epp:open() and epp:parse_file() each time new options are needed, introduce epp:open/1 and epp:parse_file/2 that takes a property list with options. Also support the new 'default_encoding' option for specifying the default encoding for source files. Thanks to Richard Carlsson for the idea and the implementation of the new functionality in epp.erl.
2014-03-18Merge branch 'egil/maps-literals'Björn-Egil Dahlberg
* egil/maps-literals: compiler: Transform M#{} to is_map(M) dialyzer: Do not native compile modules with Maps code hipe: Properly identify map() type form terms stdlib: Test Map key linting stdlib: Accept records as Map keys stdlib: Accept Maps as Map keys stdlib: Move map type to proper definition stdlib: Properly lint map key expressions compiler: Change #c_map{var} to #c_map{arg} compiler: Constant fold Maps that are safe compiler: Validate Map src compiler: Support literal maps in cerl_clauses:match/2 compiler: Guard BIF is_map/1 is pure erts: Handle literals in is_map/1 compiler: Change Maps Core Format compiler: Create literal Maps in creation if possible
2014-03-18Merge branch 'nox/maps-eval-empty-update'Björn-Egil Dahlberg
* nox/maps-eval-empty-update: Fix evaluation of empty map patterns in erl_lint Fix evaluation of empty map updates in the debugger Fix evaluation of empty map updates in erl_eval
2014-03-17stdlib: Test Map key lintingBjörn-Egil Dahlberg
This will change in future release.
2014-03-17stdlib: Accept records as Map keysBjörn-Egil Dahlberg
2014-03-17stdlib: Accept Maps as Map keysBjörn-Egil Dahlberg
2014-03-17stdlib: Move map type to proper definitionBjörn-Egil Dahlberg
2014-03-17stdlib: Properly lint map key expressionsBjörn-Egil Dahlberg
Only values are valid key expressions.
2014-03-17Clarify the reference manual regarding source file encodingHans Bolinder