| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  | Consider the following functions:
    foo() -> bar(not_a_map).
    bar(M) when not is_map_key(a, M) -> ok;
    bar(_) -> error.
What will `foo/0` return? It depends. If the module is compiled
with the default compiler options, the return value will be
`ok`. If the module is compiled with the `inline` option,
the return value will be `error`.
The correct value is `error`, because the call to `is_map_key/2`
when the second argument is not a map should fail the entire
guard. That is the way other failing guards BIFs are handled.
For example:
    foo() -> bar(not_a_tuple).
    bar(T) when not element(1, T) -> ok;
    bar(_) -> error.
`foo/0` always returns `error` (whether the code is inlined
or not).
This bug can be fixed by changing the classification of `is_map_key/2`
in the `erl_internal` module. It is now classified as a type test,
which is incorrect because type tests should not fail. Reclassifying
it as a plain guard BIF corrects the bug.
This correction also fixes the internal consistency check
failure which was reported in:
https://bugs.erlang.org/browse/ERL-699 | 
|  | * lukas/clean_doc_xmldir/OTP-15190:
  docs: make clean all XMLDIR | 
|  |  | 
|  | * siri/logger/post-21/OTP-15132:
  [logger] Allow setting kernel parameter 'logger_level' to 'all'
  [kernel] Reduce risk of dead lock when terminating logger_sup
  [logger] Fix regexp replacement for unicode strings
  Update proc_lib:report_cb to obey logger formatter's size limiting params
  [logger] Allow report callback with two arguments returning a string
  Don't call report_cb from cth_log_redirect - formatter does that
  Add legacy test of sasl_report_file_h and size limiting
  [logger] Remove compiler warnings in test
  [logger] Fix problem with test cases waiting for handler restart
  [logger] Add ?LOG macro which takes Level as argument
  [logger] Improve spec for set_handler_config/3 and set_primary_config/2
  [logger] Generate .png file from .dia
  [logger] Update documentation | 
|  |  | 
|  | * maint-21:
  Updated OTP version
  Update release notes
  Update version numbers
  Eliminate a crash in the beam_jump pass
  stdlib: Fix a 'chars_limit' bug
  Fix a race condition when generating async operation ids
  Fix internal compiler error for map_get/2
  beam_type: Fix unsafe optimization
  public_key: Remove moduli 5121 and 7167 Thoose were added by 598629aeba9de98e8cdf5637043eb34e5d407751 but are not universaly supported. | 
|  |  | 
|  |  | 
|  | Fix typo in erl_parse type unary_op() | 
|  | Use erlang:system_info(ets_count) and improve docs | 
|  |  | 
|  |  | 
|  | With DEBUG=true in erl_anno, erl_parse, and erl_pp a few (harmless)
non-opaque accesses of annotations were found. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | * raimo/stdlib/gen_statem-dev/OTP-14015:
  Show state changes in sys:trace | 
|  |  | 
|  |  | 
|  | * peterdmv/stdlib/fix_uri_string_normalize/ERL-636/OTP-15112:
  stdlib: Fix release_tests target in Makefile
  stdlib: Fix normalization function in uri_string
Change-Id: I656a583befd8950d4326d15e60145c617acd41c3 | 
|  | 'make release_tests' copies the property_test directory.
Change-Id: Ife75711aec1ef6e85ef091b1ba28a221be3d1110 | 
|  | * jl/sharpen-maps-tests/OTP-14012:
  stdlib: Fix error reason for maps:with/without
  Check for the overlap between maps and iterators | 
|  | - Fix parsing of hostnames that start with a number.
- Update uri_string:parse/1 to be only responsible for parsing
  input URIs into URI components. Implicit percent-encoding
  normalization has been removed.
- Implement percent-encoding normalization.
- Update uri_string:normalize/{1,2} to include percent-encoding
  normalization.
- Update test suites according to the new semantics.
- Add new property test: normalize
Change-Id: I6f37dcae2b3fcb4b29d286dbb0dfc563e8f211ae | 
|  | * hasse/stdlib/pP_with_no_line_breaks/OTP-15103/ERL-607:
  kernel: Use ~0p
  debugger: Use ~0p
  common_test: Use ~0p
  stdlib: Make pP insert no line breaks with field width zero | 
|  | Module and Id are now always included as fields in Config, so these
are no longer returned as separate elements. | 
|  | And add field 'module' in handler config. | 
|  |  | 
|  | 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. | 
|  | 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. | 
|  |  | 
|  | * dgud/stdlib/string-case-bin-bug:
  Fix *case bugs for binaries | 
|  | Missing space in gen_event doc | 
|  | * 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 | 
|  |  | 
|  |  | 
|  | * 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 | 
|  | Bad optimizing code introduced in 5c51e87bee9d | 
|  | * lukas/stdlib/fix-io_o_request_raise/OTP-15101:
  stdlib: Fix io:put_chars/2 error | 
|  | Missing space | 
|  | Before this fix an error in io:put_chars/2 would signal
a fault in io:put_chars/3 because of the way that raise is
used and there is no such function. | 
|  |  | 
|  | This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08. | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | * ingela/gen-fsm-deprecation:
  gen_fsm: should be deprecated eventually | 
|  | * lukas/kernel/logger-config/OTP-13295:
  Add Action=differs to logger_filters:domain/2
  Format logger timestamps according to RFC3339
  Add update_logger_config/1 and update_handler_config/2 to logger
  Hide handlers field in logger config map from the API
  Improve santiy check of formatter config
  Fix error_logger:tty/1 to turn on/off tty logging
  Add filter to sasl_h which stops log events with remote gl
  Remove logger env vars for format_depth, max_size and utc
  Fix some link errors in logger documentation
  kernel: Make all handler callbacks not block logger
  logger: Rework configuration of logger |