Age | Commit message (Collapse) | Author |
|
* commit '3d6a68727182c05fbbef9ad9e694f2e79b6731de':
Update link text to algorithms homepage
|
|
* hasse/dialyzer/map_fixes/OTP-14572:
dialyzer: Adjust a test case
dialyzer: Modify handling of singleton map key types
Dialyzer: Rewrite one map type invariant
Dialyzer: Rewrite some of the docs of map types
|
|
* sverker/on_load-on_load-bug/OTP-14612:
erts: Fix 'on_load' tracing bug for modules with -on_load
code_SUITE:on_load_trace_on_load
|
|
Document that the compiler may optimize away atoms
OTP-14614
|
|
* ingela/inets/doc-fix:
inets: Fix xmllint error
|
|
* hasse/dialyzer/check_forms/OTP-14606:
dialyzer: Improve check of unknown types
|
|
The implementation of OTP-14218 (commit 6d3b38a) has a weakness: only
a very limited part of the type form is checked. This is now fixed:
types not used by specs are checked equally well as types used by
specs.
The new function erl_types:t_from_form_check_remote() checks usage of
remote types. It does not expand used local types, and has (almost) no
limits on depth and size.
|
|
* hasse/tools/xref_on_load/OTP-14344:
tools: Add handling of the -on_load() attribute to Xref
tools: Correction of xref(3)
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
inets: httpd correct server_name environment value
inets: httpd - Add chunk handling of client data
inets: Restore old behavior when parsing "+"
inets: prepare for release
|
|
|
|
|
|
|
|
|
|
The following code could fail in the call to list_existing_atom/1:
String = atom_to_list(some_atom),
Atom = list_to_existing_atom(String)
because the compiler will rewrite the code to:
String = "some_atom",
Atom = list_to_existing_atom(String)
If some_atom is not used in another place, it will not exist.
The compiler could be updated to preserve the atom in this simple case,
but it would be hard to make sure that the compiler never loses atoms
that exist in the source text. It also difficult to imagine a
real world use case where this would be a problem. If an atom is
mentioned only in a way that the compiler can optimize away, is there
really any need to create the atom at all in list_to_existing_atom/1?
Therefore, it is better to place the responsibility that the atom exists
on the user of list_to_existing_atom/1. Update the documentation to
mention that the compiler may optimize away atoms.
https://bugs.erlang.org/browse/ERL-453
|
|
Consider ANSI escape codes on cp_pos_to_col
|
|
sverker/on_load-on_load-bug/OTP-14612
|
|
Symptom: VM crash when erlang:trace_pattern(on_load, ..) is set and
module with -on_load is loaded.
Problem: Tracing and -on_load clash in their use of Export.beam[1]
Solution: Do not do call set_default_trace_pattern in finish_loading_1
for modules with -on_load. finish_after_on_load_2 will do that anyway.
|
|
* anders/diameter/grouped_decode/OTP-14607:
Fix diameter_packet.avps decode of Grouped AVP errors in Failed-AVP
|
|
* anders/diameter/DOIC/OTP-14588:
Fix avp_dictionaries decode with {decode_format, none}
|
|
|
|
When cursor is before or after a multi-codepoint grapheme cluster.
|
|
calling write_buf
After deleting the chars the function `del_chars` was considering the code points to move the cursor back and not the graphemes
|
|
* upstream/pr/1474:
Update the version to 2.8.0
Remove the obsolete erlang-buffer-substring function
Add a :package-version property to the new defcustom erlang-shell-prompt-read-only
Bump the version number
Make the erlang-shell prompt read-only by default
Remove a mention of Emacs 21
Drop some redundant backwards compatibility code
Enable lexical binding for erlang-mode
Remove some ancient compatibility aliases
|
|
|
|
|
|
|
|
* peterdmv/prepare_inets_release:
inets: prepare for release
|
|
* peterdmv/inets/http_uri_backwards_compat/OTP-14573:
inets: Restore old behavior when parsing "+"
|
|
maint-20
* sverker/20/binary_to_atom-utf8-crash/ERL-474/OTP-14590:
erts: Fix crash in binary_to_atom/term for invalid utf8
|
|
* ingela/inets/httpd-chunk-post/OTP-14450:
inets: httpd correct server_name environment value
inets: httpd - Add chunk handling of client data
|
|
* ingela/inets/maint/httpd-chunk-post/OTP-14450:
inets: httpd correct server_name environment value
inets: httpd - Add chunk handling of client data
|
|
Add host_name to hold the resolved name incorrectly provided as server
name before.
|
|
If the client uses PUT or POST to send a HTTP body the server
currently will gather the whole body in memory before passing it on to
the mod-callback. For legacy reasons it also converts the binary body
to a list, this is really bad for memory usage!
Add new option max_client_body_chunk to enable chunked handling of
content-length requests. Also make it possible for chunked-encoded data
to be propagated in portions to the mod-callback.
Conflicts:
lib/inets/test/httpd_SUITE.erl
|
|
* ingela/ssl/pem-dist/ERL-483:
ssl: Do not break abstraction
|
|
* sverker/ets-fix-assert-fix:
erts: Fix faulty ASSERT of table fixation counter
|
|
* sverker/valgrind-fixes/OTP-14609:
erts: Suppress false memory leak for dlerror
[ct] Cleanup and rename purify related functions as valgrind
Revert "remove unused purify functions"
erts: Fix memory leak when sending to terminating port
erts: Fix harmless use of uninitialised value
|
|
Add host_name to hold the resolved name incorrectly provided as server
name before.
|
|
If the client uses PUT or POST to send a HTTP body the server
currently will gather the whole body in memory before passing it on to
the mod-callback. For legacy reasons it also converts the binary body
to a list, this is really bad for memory usage!
Add new option max_client_body_chunk to enable chunked handling of
content-length requests. Also make it possible for chunked-encoded data
to be propagated in portions to the mod-callback.
Conflicts:
lib/inets/test/httpd_SUITE.erl
|
|
* hasse/dialyzer/fix_merge_plts/ERIERL-53/OTP-14558:
dialyzer: Do not fix ETS tables when merging PLTs
|
|
This commit removes the call to ets:safe_fixtable/2 introduced in
commit 9458495. ETS memory can now be reclaimed while merging PLTs.
|
|
Huge maps are truncated differently by the pretty printer. The reason
is that erl_types:is_singleton_type/1 no longer recognizes complex
singleton types, which results in a less precise representation of map
types.
|
|
The test case loop.erl shows that there is a problem with certain
singleton key types. Here the internal representation toggles between
#{a | b => ...} and #{a => ..., b => ...}
The choice is to turn #{a | b => ...} into #{a => ..., b => ...} early
(t_from_form()). The aim is to keep as much info as possible (in
pairs). However, including complex singleton keys (tuples, maps) in
this scheme is potentially too costly, and a bit complicated. So one
more choice is made: let atoms and number (and nothing else) be
singleton types, and let complex keys go into the default key.
|
|
|
|
Use "association" instead of "pair" as in Data Types and
The Abstract Format.
|
|
into maint
|
|
|
|
|
|
|
|
* lukas/ct/ts_abort_on_compilation_fail:
erts: Fix leaking of fds in iovec_SUITE
ts: Don't test apps that are not available
asn1: Fix test suite deprecated functions
ct: ts:run now abort the test run on compilation failure
|
|
|