Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-24 | Merge branch 'raimo/stdlib/gen-bench-fsm-vs-statem' | Raimo Niskanen | |
* raimo/stdlib/gen-bench-fsm-vs-statem: Dodge divide by zero Introduce gen_statem vs gen_fsm benchmark Remove test suite warning | |||
2018-01-23 | Merge branch 'maint' | Hans Bolinder | |
* maint: kernel: Correct contracts and a bug in group_history stdlib: Correct contracts dialyzer: Optimize handling of a lot of warnings Conflicts: lib/kernel/src/erl_boot_server.erl | |||
2018-01-22 | stdlib: Correct contracts | Hans Bolinder | |
2018-01-19 | Dodge divide by zero | Raimo Niskanen | |
2018-01-17 | Merge branch 'maint' | Hans Bolinder | |
* maint: stdlib: Garbage the shell's evaluator process more often | |||
2018-01-16 | Introduce gen_statem vs gen_fsm benchmark | Raimo Niskanen | |
Conflicts: lib/stdlib/test/stdlib_bench_SUITE.erl | |||
2018-01-16 | stdlib: Garbage the shell's evaluator process more often | Hans Bolinder | |
A minor fix. If the Erlang shell saves no results (history(0) or results(0)), the evaluator process now garbage collects itself. This means that any huge binaries created by the evaluation are reclaimed faster than before. | |||
2018-01-16 | Remove test suite warning | Raimo Niskanen | |
2018-01-16 | Merge branch 'hasse/stdlib/limit_gen_bench' | Hans Bolinder | |
* hasse/stdlib/limit_gen_bench: stdlib: Spend less time in gen_server benchmarks | |||
2018-01-16 | Merge branch 'maint' | Hans Bolinder | |
* maint: stdlib: Handle Unicode when formatting stacktraces | |||
2018-01-16 | Merge branch 'hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553' into maint | Hans Bolinder | |
* hasse/stdlib/unicode_stacktrace/OTP-14847/ERL-553: stdlib: Handle Unicode when formatting stacktraces | |||
2018-01-15 | Merge branch 'maint' | Hans Bolinder | |
* maint: stdlib: Correct a filelib test case stdlib: Let filelib:find_source() search subdirs | |||
2018-01-15 | Merge branch 'hasse/stdlib/find_src/OTP-14832/ERL-527' into maint | Hans Bolinder | |
* hasse/stdlib/find_src/OTP-14832/ERL-527: stdlib: Correct a filelib test case stdlib: Let filelib:find_source() search subdirs | |||
2018-01-15 | stdlib: Spend less time in gen_server benchmarks | Hans Bolinder | |
Limit the time used for the benchmarks introduced in b8f16f0. | |||
2018-01-15 | stdlib: Handle Unicode when formatting stacktraces | Hans Bolinder | |
See also ERL-553 and ERL-544 (commit c3ddb0f). | |||
2018-01-10 | Merge branch 'hasse/stdlib/erl_eval_stacktrace/OTP-14826/PR-1540' | Hans Bolinder | |
* hasse/stdlib/erl_eval_stacktrace/OTP-14826/PR-1540: syntax_tools: Correct handling of stacktrace variable stdlib: Add check of stacktrace variable to erl_eval stdlib: Improve erl_eval's stacktraces | |||
2018-01-10 | Merge branch 'maint' | Hans Bolinder | |
* maint: dialyzer: Add a test of erl_tar:table/1,2 Fix false Dialyzer warnings for erl_tar:table/1 | |||
2018-01-09 | stdlib: Add check of stacktrace variable to erl_eval | Hans Bolinder | |
Some of the functions of the erl_eval module do not call the Erlang code linter, so they need to explicitly check that the newly introduced stacktrace variable is not bound. | |||
2018-01-09 | stdlib: Improve erl_eval's stacktraces | Hans Bolinder | |
The call "erlang:get_stacktrace()" is not handled explicitly. If there are issues, they can probably be ignored since erlang:get_stacktrace/1 will be deprecated and removed. | |||
2018-01-09 | Fix false Dialyzer warnings for erl_tar:table/1 | Guilherme Andrade | |
'tar_entry()' values are only returned if we specify the 'verbose' option when calling table/2, which table/1 doesn't do. Now, it appears that Dialyzer as of OTP 20 is clever enough to realize that the return type of table/1 must intersect with the return type of table/2, and so it ignores the fact that table/1 says it returns strings, and therefore its callers are expected to be dealing with 'tar_entry()' tuples, and never with strings. This is obviously a mismatch between what the code does and what the spec says is does, leading to false Dialyzer warnings on code that uses table/1 (and, presumably, also table/2 when called without the 'verbose' option.) | |||
2018-01-05 | stdlib: Correct a filelib test case | Hans Bolinder | |
2018-01-05 | stdlib: Let filelib:find_source() search subdirs | Hans Bolinder | |
The Design Principles states that an application can have Erlang source files one level below the "src" directory, and now filelib:find_source() by default searches one level below "src". The same applies to "esrc". That directory is only mentioned in filename(3). | |||
2017-12-21 | Merge branch 'hasse/stdlib/gen_server_bench' | Hans Bolinder | |
* hasse/stdlib/gen_server_bench: stdlib: Optimize gen a little stdlib: Introduce gen_server benchmark | |||
2017-12-20 | stdlib: Optimize gen a little | Hans Bolinder | |
2017-12-20 | stdlib: Introduce gen_server benchmark | Hans Bolinder | |
2017-12-19 | Merge branch 'raimo/stdlib/rand-uniformity' | Raimo Niskanen | |
* raimo/stdlib/rand-uniformity: Tweak statistics limits Improve check on normal distribution tail Test normal distribution | |||
2017-12-14 | Merge branch 'maint' | Ingela Anderton Andin | |
2017-12-14 | Merge pull request #1653 from tonyrog/makedep_side_effect | Björn Gustavsson | |
Add -MMD option to erlc OTP-14830 | |||
2017-12-14 | Merge pull request #1650 from jabarszcz/doc_digraph_error | Hans Bolinder | |
digraph: Document a bad_edge error | |||
2017-12-13 | Merge branch 'maint' | Henrik Nord | |
2017-12-08 | Update release notes | Erlang/OTP | |
2017-12-08 | Update version numbers | Erlang/OTP | |
2017-12-08 | Merge pull request #1634 from bjorng/bjorn/get_stacktrace-syntax/OTP-14692 | Björn Gustavsson | |
Add syntax in try/catch to retrieve the stacktrace directly | |||
2017-12-07 | Merge branch 'hasse/stdlib/base64/OTP-14624' | Hans Bolinder | |
* hasse/stdlib/base64/OTP-14624: stdlib: Add base64 benchmarks stdlib: Do not check base64 input more than needed stdlib: Minor optimization of base64 stdlib: Use binary_to_list in base64 when it is faster stdlib: Optimize base64 functions | |||
2017-12-06 | digraph: Document a bad_edge error | Jean-Alexandre Barszcz | |
2017-12-06 | Add -MMD option to erlc | Tony Rogvall | |
The compile option makedep_side_effect, erlc -MMD, instructs the compiler to emit dependencies and continue to compile as normal. | |||
2017-12-04 | Merge pull request #1646 from tsloughter/hibernate_after_spec | Hans Bolinder | |
add hibernate_after to the gen options type spec | |||
2017-12-01 | Merge branch 'john/erts/efile-nif' | John Högberg | |
OTP-14256 OTP-14797 | |||
2017-11-30 | Merge branch 'maint' | Rickard Green | |
* maint: Clarification in doc of unicode:characters_to_list/2 | |||
2017-11-30 | Clarification in doc of unicode:characters_to_list/2 | Rickard Green | |
2017-11-30 | stdlib: Add base64 benchmarks | Hans Bolinder | |
2017-11-30 | Remove port subtest in qlc_SUITE:sort | John Högberg | |
This subtest revolves around the possibility that the underlying port can be killed, which is nonsense now that the file suite no longer uses ports for anything. | |||
2017-11-30 | Account for new behavior in tests that touch prim_file | John Högberg | |
This also hides the module behind ?PRIM_FILE to make testing new implementations less painful. | |||
2017-11-30 | Add syntax in try/catch to retrieve the stacktrace directly | Björn Gustavsson | |
This commit adds a new syntax for retrieving the stacktrace without calling erlang:get_stacktrace/0. That allow us to deprecate erlang:get_stacktrace/0 and ultimately remove it. The problem with erlang:get_stacktrace/0 is that it can keep huge terms in a process for an indefinite time after an exception. The stacktrace can be huge after a 'function_clause' exception or a failed call to a BIF or operator, because the arguments for the call will be included in the stacktrace. For example: 1> catch abs(lists:seq(1, 1000)). {'EXIT',{badarg,[{erlang,abs, [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20|...]], []}, {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,674}]}, {erl_eval,expr,5,[{file,"erl_eval.erl"},{line,431}]}, {shell,exprs,7,[{file,"shell.erl"},{line,687}]}, {shell,eval_exprs,7,[{file,"shell.erl"},{line,642}]}, {shell,eval_loop,3,[{file,"shell.erl"},{line,627}]}]}} 2> erlang:get_stacktrace(). [{erlang,abs, [[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 23,24|...]], []}, {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,674}]}, {erl_eval,expr,5,[{file,"erl_eval.erl"},{line,431}]}, {shell,exprs,7,[{file,"shell.erl"},{line,687}]}, {shell,eval_exprs,7,[{file,"shell.erl"},{line,642}]}, {shell,eval_loop,3,[{file,"shell.erl"},{line,627}]}] 3> We can extend the syntax for clauses in try/catch to optionally bind the stacktrace to a variable. Here is an example using the current syntax: try Expr catch C:E -> Stk = erlang:get_stacktrace(), . . . In the new syntax, it would look like: try Expr catch C:E:Stk -> . . . Only a variable (not a pattern) is allowed in the stacktrace position, to discourage matching of the stacktrace. (Matching would also be expensive, because the raw format of the stacktrace would have to be converted to the cooked form before matching.) Note that: try Expr catch E -> . . . is a shorthand for: try Expr catch throw:E -> . . . If the stacktrace is to be retrieved for a throw, the 'throw:' prefix must be explicitly included: try Expr catch throw:E:Stk -> . . . | |||
2017-11-30 | erl_parse: Use a new pat_expr rule for pattern expressions | Björn Gustavsson | |
In the grammar file for the Erlang language, patterns are parsed as expressions. erl_lint will then weed out expressions that are not legal patterns. The rule sharing causes problems if we were to introduce new syntax, for example a pattern followed by a ':'. There would be a shift/reduce conflict, and a pattern followed by a ':' would be parsed as a remote call. Introduce a new pat_expr rule to express exactly the subset of expressions that is allowed in pattern. Note: For the moment, we must allow full expressions in case clauses to keep 'merl' working. | |||
2017-11-30 | Merge branch 'maint' | Dan Gudmundsson | |
* maint: Avoid falling measurements testcases on slow machines stdlib: string optimize special case for ASCII stdlib: Minor unicode_util opts | |||
2017-11-29 | Minor grammar tweak in ETS documentation | Isaac Whitfield | |
2017-11-29 | Avoid falling measurements testcases on slow machines | Dan Gudmundsson | |
2017-11-29 | stdlib: string optimize special case for ASCII | Dan Gudmundsson | |
Avoid unicode_util module call for ASCII strings | |||
2017-11-29 | stdlib: Minor unicode_util opts | Dan Gudmundsson | |
Exit early for Latin-1 |