aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-06-08[logger] Add if-exist functionality for metadata keys in formatter templateSiri Hansen
* Nested metadata keys are now expressed as list of atoms (was earlier tuples). * If-exist is expressed as: {Key,IfExist,Else} Key :: atom() | [atom()] IfExist :: template() Else :: template()
2018-06-08[logger] Add configurable log levels 'all' and 'none'Siri Hansen
New default for handlers is 'all'.
2018-06-08[logger] Change registered name of built-in handlers and use TID for mode tablePeter Andersson
2018-06-08[logger] Update interface for setting/unsetting module levelSiri Hansen
* Level can now be set/unset for multiple modules in one call. * Added functions get_module_level/0 and get_module_level/1.
2018-06-08Allow 'unlimited' as value to Kernel parameter error_logger_format_depthSiri Hansen
2018-06-08[logger] Change base OTP domain from [beam,erlang,otp] to [otp]Siri Hansen
2018-06-08[logger] Change handler config to accept all levels by defaultSiri Hansen
2018-06-08[logger] Change names of sync functions in built-in handlersSiri Hansen
logger_std_h:filesync/1 -----> logger_std_h:sync/1 logger_disk_log_h:disk_log_sync/1 -----> logger_disk_log_h:sync/1
2018-06-08kernel: Use ~0pHans Bolinder
2018-06-08debugger: Use ~0pHans Bolinder
2018-06-08common_test: Use ~0pHans Bolinder
2018-06-08Merge branch 'ingela/ssl/verify-hostname-customize/OTP-15102'Ingela Anderton Andin
* ingela/ssl/verify-hostname-customize/OTP-15102: ssl: Add option customize_hostname_check
2018-06-08ssl: Add option customize_hostname_checkIngela Anderton Andin
2018-06-08Merge branch 'hasse/common_test/remove_edoc_comments'Hans Bolinder
* hasse/common_test/remove_edoc_comments: common_test: Remove EDoc comments in internal modules common_test: Remove EDoc documentation in internal modules common_test: Remove EDoc documentation in public modules
2018-06-08Merge branch 'hasse/eliminate_lib_module/OTP-15072/ERL-634'Hans Bolinder
* hasse/eliminate_lib_module/OTP-15072/ERL-634: stdlib: Move eval_str/1 from mod_esi to erl_eval
2018-06-07ssh: Fix client_sends_info_timing property test caseHans Nilsson
2018-06-07public_key: Extend test case pkix_verify_hostname_subjAltNameHans Nilsson
2018-06-07ssh: Add ssh/test/property_test dir to test releasesHans Nilsson
2018-06-07Merge pull request #1832 from josevalim/jv-revert-beam-jumpBjörn Gustavsson
Revert "Run the sharing optimisation in beam_jump until fixpoint"
2018-06-07Merge pull request #1831 from bjorng/bjorn/compiler/fix-name-captureBjörn Gustavsson
Fix name capture problem in sys_core_fold OTP-15115
2018-06-07stdlib: Move eval_str/1 from mod_esi to erl_evalHans Bolinder
See also https://bugs.erlang.org/browse/ERL-634. The utility program `erl_call' in erl_interface used to call lib:eval_str/1, which is no longer present in Erlang/OTP 21.0. The lib module was eliminated in OTP-15072, see also https://github.com/erlang/otp/pull/1786.
2018-06-07common_test: Remove EDoc comments in internal modulesHans Bolinder
2018-06-07common_test: Remove EDoc documentation in internal modulesHans Bolinder
2018-06-07common_test: Remove EDoc documentation in public modulesHans Bolinder
2018-06-07stdlib: Make pP insert no line breaks with field width zeroHans Bolinder
See also https://bugs.erlang.org/browse/ERL-607. A zero field width used to insert line breaks "everywhere", but with this patch no line breaks are inserted.
2018-06-05ssh: Document default algorithm order + update SSH_app linksHans Nilsson
2018-06-05Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release inets: Gracefully handle bad headers
2018-06-05Merge branch 'maint-20' into maintJohn Högberg
* maint-20: Updated OTP version Prepare release inets: Gracefully handle bad headers [erl_docgen] Update version [erl_docgen] Add missing file db_funcs.xsl to file list erts: Fix bug in system_profile erts: Fix bug in enif_binary_to_term for immediates
2018-06-05ssh: Remove dubious pubkey setupHans Nilsson
Conflicts: lib/ssh/test/ssh_algorithms_SUITE.erl
2018-06-05stdlib: Fix error reason for maps:with/withoutLukas Larsson
2018-06-05Prepare releaseErlang/OTP
2018-06-05Merge branch 'ingela/inets/header-handling/OTP-15092' into maint-20Erlang/OTP
* ingela/inets/header-handling/OTP-15092: inets: Gracefully handle bad headers
2018-06-05Merge branch 'dgud/stdlib/string-case-bin-bug'Dan Gudmundsson
* dgud/stdlib/string-case-bin-bug: Fix *case bugs for binaries
2018-06-05Merge pull request #1830 from arcz/patch-1Hans Bolinder
Missing space in gen_event doc
2018-06-04Revert "Run the sharing optimisation in beam_jump until fixpoint"José Valim
We have found cases where compilation drastically slows down due to this commit. We are working on a minimal cases and plan to bring this patch back once we can work our the performance issues. This reverts commit f7c9383f4c3d4b6819b5ba4d54c7093df806fe4a.
2018-06-04kernel: Add LOGGER_SERVER_TAG to logger_serverLukas Larsson
This makes recursive calls to not dead-lock logger_server.
2018-06-04Merge PR-1823 from jesperes/ERL-629-erl_call-free-before-use OTP-15105Sverker Eriksson
ERL-629 Do not free() module buffer until it has been used
2018-06-04Merge branch 'sverker/ets-count/OTP-14987'Sverker Eriksson
* sverker/ets-count/OTP-14987: erts,stdlib: Improve docs about obsolete ets_limit erts: Reduce test log noise from ets_SUITE erts: Increase scalability of ets name lookup erts: Rename one of delete_trap to select_delete_trap erts: Refactor usage of am_atom_put to ERTS_MAKE_AM erts: Add system_info(ets_count) erts: Fix narrow race between ets:new and ets:delete
2018-06-04erts,stdlib: Improve docs about obsolete ets_limitSverker Eriksson
2018-06-04erts: Reduce test log noise from ets_SUITESverker Eriksson
2018-06-04Merge branch 'hasse/dialyzer/improve_contract_warnings/OTP-14982'Hans Bolinder
* hasse/dialyzer/improve_contract_warnings/OTP-14982: erts: Improve contracts of zlib kernel: Improve contracts erts: Improve a contract stdlib: Improve a contract compiler: Improve a contract dialyzer: Refine the test for overspecified functions
2018-06-04Merge branch 'hans/public_key/match_fun_https/OTP-14962'Hans Nilsson
* hans/public_key/match_fun_https/OTP-14962: public_key: Testcase for cert with wildcard in SAN public_key: Doc public_key: Matchfun for HTTPS
2018-06-04Merge branch 'hans/crypto/EVP_DH_key/OTP-14864'Hans Nilsson
* hans/crypto/EVP_DH_key/OTP-14864: crypto: Valgrind suggestions
2018-06-04crypto: Valgrind suggestionsHans Nilsson
2018-06-04public_key: Testcase for cert with wildcard in SANHans Nilsson
2018-06-04public_key: DocHans Nilsson
2018-06-04public_key: Matchfun for HTTPSHans Nilsson
2018-06-04Merge branch 'hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177'Hans Bolinder
* hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177: syntax_tools: Fix a bug regarding reverting map types.
2018-06-04Fix *case bugs for binariesDan Gudmundsson
Bad optimizing code introduced in 5c51e87bee9d
2018-06-04sys_core_fold: Fix name capture problemBjörn Gustavsson
sys_core_fold could do unsafe transformations on the code from the old inliner (invoked using the compiler option `{inline,[{F/A}]}` to request inlining of specific functions). To explain the bug, let's first look at an example that sys_core_fold handles correctly. Consider this code: 'foo'/2 = fun (Arg1,Arg2) -> let <B> = Arg2 in let <A,B> = <B,Arg1> in {A,B} In this example, the lets can be completely eliminated, since the arguments for the lets are variables (as opposed to expressions). Since the variable B is rebound in the inner let, `sys_core_fold` must take special care when doing the substitutions. Here is the correct result: 'foo'/2 = fun (Arg1, Arg2) -> {Arg2,Arg1} Consider a slight modifictation of the example: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg2] in let <A,B> = <B,[Arg1]> in {A,B} Here some of the arguments for the lets are expressions, so the lets must be kept. sys_core_fold does not handle this example correctly: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg2] in let <B> = [Arg1] in {B,B} In the inner let, the variable A has been eliminated and replaced with the variable B in the body (the first B in the tuple). Since the B in the outer let is never used, the outer let will be eliminated, giving: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg1] in {B,B} To handle this example correctly, sys_core_fold must rename the variable B in the inner let like this to avoid capturing B: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg2] in let <NewName> = [Arg1] in {B,NewName} (Note: The `v3_kernel` pass alreday handles those examples correctly in case `sys_core_fold` has been disabled.)