aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib
AgeCommit message (Collapse)Author
2016-11-28Merge branch 'richcarl/code-change-utils/PR-1257/OTP-14059'Björn Gustavsson
* richcarl/code-change-utils/PR-1257/OTP-14059: Update preloaded modules Add shell mm() and lm() functions Add code:module_status/1 and modified_modules/0 Fix spec for erlang:get_module_info() Handle prefetched paths Restructure code:which() and where_is_file() Remove remnants of module package support
2016-11-25Add shell mm() and lm() functionsRichard Carlsson
2016-11-23Make use of the Header feature in yeccRichard Carlsson
2016-11-23Update obsolete author e-mailsRichard Carlsson
2016-11-23Correct copyright on stdlib filesRichard Carlsson
2016-11-23Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct types of the abstract format
2016-11-22stdlib: Correct types of the abstract formatHans Bolinder
The types in erl_parse.yrl are more in harmony with the description in The Abstract Format (in ERTS User's Guide).
2016-11-18Merge branch 'mm/stdlib/ord-docs/PR-1242'Björn Gustavsson
* mm/stdlib/ord-docs/PR-1242: Document the ordering used in ordsets and orddicts
2016-11-18Document the ordering used in ordsets and orddictsMichal Muskala
Right now the exact order of elements is not specified, yet many programs rely on the ordering being the obvious one - erlang term order. It is only beneficial to make this an explicit part of the documentation.
2016-11-18Merge branch 'maint'Björn Gustavsson
* maint: Run dialyzer as part of the travis script Correct tar_SUITE:unicode/1
2016-11-18Merge branch 'dgud/stdlib/rand-fixup-spec'Dan Gudmundsson
* dgud/stdlib/rand-fixup-spec: Fixup of specs in rand
2016-11-17Correct tar_SUITE:unicode/1Björn Gustavsson
Make sure that we always test the "+fnu" option on all systems. It seems that it was not tested in our daily builds, since they are run non-interactively. Make sure that we sort the list of names in do_unicode/1. Otherwise the test would only work in "+fnl" mode because the list would only contain one element.
2016-11-17Merge branch 'elbrujohalcon/expand-sup-doc/PR-1233/OTP-14037'Siri Hansen
* elbrujohalcon/expand-sup-doc/PR-1233/OTP-14037: Expand on the behavior of supervisors
2016-11-17Fixup of specs in randDan Gudmundsson
Fixed bad specs introduced in commit ff568b5e818. Also suppress improper_lists warnings.
2016-11-17Merge branch 'jj1bdx/stdlib/rand-jump/PR-1235/OTP-14038'Dan Gudmundsson
* jj1bdx/stdlib/rand-jump/PR-1235/OTP-14038: Add jump functions to rand module
2016-11-15Expand on the behavior of supervisorsBrujo Benavides
Add additional details on the behavior of supervisors when reaching maximum restart intensity, as stated by @rvirding at [Medium](https://goo.gl/XhwpSL)
2016-11-14Merge branch 'tokitori/stdlib/optimize-sets/PR-1212/OTP-14035'Björn Gustavsson
* tokitori/stdlib/optimize-sets/PR-1212/OTP-14035: Speed up sets:add_element/2 and sets:del_element/2
2016-11-14Add jump functions to rand moduleKenji Rikitake
Jump functions returns the state after performing jump calculation to a rand module internal state, which is equivalent to perform a large number of calls of calculating new states for XorShift*/+ algorithms. This commit add jump functions for exsplus and exs1024 algorithms, and a wrapper function jump/1. The wrapper function will cause error with reason "not_implemented" if the jump function for the algorithm is not implemented. This commit adds following new functionalities: - Add new functions rand:jump/0 and rand:jump/1 - Add the member jump to type alg_handler(), a fun for performing the jump function - Add jump functions for exsplus, equivalent to 2^64 calls - Add jump functions for exs1024, equivalent to 2^512 calls - Revise seed_put/1, seed/1, seed/2 See <https://github.com/erlang/otp/pull/1235#discussion_r86950557> - Add dummy jump function for exs64 calling erlang:error(not_implemented) - Add jump function test cases as follows: * Add Common Test group reference_jump * Add tests for jump/0 to reference_jump_procdict/1 * Rename tests for jump/1 to reference_jump_state/1 * Rename gen_jump/1 to gen_jump_1/1 * Add Common Tests reference_jump_procdict and reference_jump_state to the group reference_jump - Add jump function documentation This commit also changes the Copyright year for Kenji Rikitake's code from 2015 to 2015-2016.
2016-11-11Merge branch 'siri/appups-20.0'Siri Hansen
* siri/appups-20.0: Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib Update appups in kernel, stdlib and sasl for OTP-20
2016-11-08Speed up sets:add_element/2 and sets:del_element/2Mikhail Yashkov
Optimize sets:add_element/2 when adding an element that is already present, and sets:del_element/2 when the element to be deleted is not present. This optimization can make certain operations, such as sets:union/2 with many overlapping elements, up to two orders of magnitude faster.
2016-11-08Merge branch 'maint'Raimo Niskanen
2016-11-08Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maintRaimo Niskanen
* raimo/gen_statem-improvements/OTP-13929: Log terminate to sys debug Optimize event timeout Rework timeout handling Clarify the chapter 'Postponing Events' (ERL-284) Fix doc and type for state enter calls
2016-11-08Merge branch 'maint'Björn-Egil Dahlberg
2016-11-08fix typo on doc of mapsJxck
typo
2016-11-07Merge branch 'maint'Björn-Egil Dahlberg
2016-11-04stdlib: Increase timeouts in ets_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in rand_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-04stdlib: Increase timeouts in base64_SUITEBjörn-Egil Dahlberg
* valgrind needs lots of time
2016-11-03Merge branch 'gandrade/fmod/PR-1216/OTP-14000'Björn Gustavsson
* gandrade/fmod/PR-1216/OTP-14000: Add test cases for math:fmod/2 BIF Support math:fmod/2 BIF on compiler Add math:fmod/2 BIF
2016-11-02Add math:fmod/2 BIFGuilherme Andrade
Returns the (floating point) remainder of first argument divided by second argument.
2016-10-31Propagate exceptions fully when using proc_libLoïc Hoguin
This makes proc_lib behaves like a normal process as far as the propagation of exceptions is concerned. Before this commit, the following difference could be observed: 6> spawn_link(fun() -> ssl:send(a,b) end). <0.43.0> 7> flush(). Shell got {'EXIT',<0.43.0>, {function_clause, [{ssl,send,[a,b],[{file,"..."},{line,275}]}]}} ok 8> proc_lib:spawn_link(fun() -> ssl:send(a,b) end). <0.46.0> 9> flush(). Shell got {'EXIT',<0.46.0>,function_clause} After this commit, we get the following instead: 3> flush(). Shell got {'EXIT',<0.61.0>, {function_clause, [{ssl,send,[a,b],[{file,"..."},{line,275}]}, {proc_lib,init_p,3,[{file,"..."},{line,232}]}]}} The stacktrace will show minor differences of course but the form is now the same as without proc_lib. The rationale behind this commit is that: * We now have a single form regardless of how the process was started * We can use the stacktrace to programmatically alter behavior (for example an HTTP server identifying problems in input decoding to send back a generic 400, or a 500 otherwise) * We can access the stacktrace to print it somewhere (for example an HTTP server could send it back to the client when a debug mode is enabled)
2016-10-26Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct shell_default(3)
2016-10-26stdlib: Correct shell_default(3)Hans Bolinder
2016-10-26Log terminate to sys debugRaimo Niskanen
2016-10-26Optimize event timeoutRaimo Niskanen
Do not start an event timer unless there are no enqueued events.
2016-10-26Rework timeout handlingRaimo Niskanen
Handling of timers and timeouts has been cleaned up and generalized. Semantic change regarding state timeout zero: Previously if one state caused a state timeout zero and managed to stay in the same state to insert additional timeout zero(s) in the next state callback invocation, then there would be only one timeout zero event. The mindset was that the machine was faster then the timeout zero. This has changed with the mindset that all state callback invocations should be independent, so now the machine will get one state timeout zero event per started state timeout zero. Note that just using zero timeouts is fairly esoteric...
2016-10-24Fix doc and type for state enter callsRaimo Niskanen
2016-10-19Merge branch 'maint'Hans Bolinder
* maint: dbg:fun2ms: allow empty list as head
2016-10-19Merge branch 'gomoripeti/stdlib/ms_fix/PR-1203/OTP-13974' into maintHans Bolinder
* gomoripeti/stdlib/ms_fix/PR-1203/OTP-13974: dbg:fun2ms: allow empty list as head
2016-10-19Merge branch 'maint'Raimo Niskanen
2016-10-19Merge branch 'raimo/gen_statem-improvements/OTP-13929' into maintRaimo Niskanen
* raimo/gen_statem-improvements/OTP-13929: Fix race condition in cancel_timer/1 Use parameterized types Implement state timeouts Improve docs and types Change state entry events into state enter calls Improve docs Improve docs Implement state entry events Implement call/3 dirty_timeout
2016-10-14Fix race condition in cancel_timer/1Raimo Niskanen
2016-10-13dbg:fun2ms: allow empty list as headPéter Gömöri
Running 'dbg:fun2ms(fun([]) -> return_trace() end' resulted in an error "dbg:fun2ms requires fun with single variable or list parameter" But the empty list is actually a list and it is a valid value as a match-spec head (matching on arity-0 functions). Although its practical use is questionable this commit eliminates a small limitation of ms_transform which is not present in the match-spec grammar.
2016-10-13Use parameterized typesRaimo Niskanen
2016-10-12Implement state timeoutsRaimo Niskanen
2016-10-04Improve docs and typesRaimo Niskanen
2016-09-30Change state entry events into state enter callsRaimo Niskanen
2016-09-29Merge branch 'rickard/time-unit/OTP-13831'Rickard Green
* rickard/time-unit/OTP-13831: Replace usage of deprecated time units
2016-09-29Merge branch 'maint'Hans Bolinder
* maint: parsetools: Correct handling of Unicode in Leex Don't report error for shutdown exit tuple
2016-09-28Merge branch ↵Siri Hansen
'legoscia/dynamic-child-shutdown-tuple/ERL-163/PR-1158/OTP-13907' into maint * legoscia/dynamic-child-shutdown-tuple/ERL-163/PR-1158/OTP-13907: Don't report error for shutdown exit tuple