Age | Commit message (Collapse) | Author |
|
It is now explicitly stated that if the application type is `load`, the
application will not actually be restarted by the `restart_application`
instruction in relup, even if it is currently running. It will only be stopped
and re-loaded.
|
|
* anders/diameter/21.0/OTP-15045:
vsn -> 2.1.5
Update appup for 21.0
Fix release note typo
Fix documentation typos
|
|
* hans/ssh/cuddle_tests:
ssh: Test case fix The daemon kill is now so fast that the clients does not react fast enough in ssh_sup_SUITE:killed_acceptor_restarts/1
|
|
* hans/ssh/dbg/OTP-14896:
ssh: Correct a call that re-appeared by misstake
|
|
IngelaAndin/ingela/ssl/client-has-no-cert/ERL-599/OTP-15050
ssl: Proper handling of clients that choose to send an empty answer to a certificate request
|
|
* hasse/stdlib/rfc3339_datetime/OTP-14764:
stdlib: Add RFC 3339 functions to module calendar
|
|
answer to a certificate request
Solves ERL-599
|
|
|
|
Allow installing multiple instances of sys debug function
This commit solves a bug which allowed installing {Fun,State} as sys debug function even if Fun was already installed. This happened in the case when the current State of the debug fun was undefined.
Also, the new format {Id,Fun,State} of debug functions can be installed, allowing multiple instances of the same fun.
|
|
[stdlib/sys.erl] Fix sys module's debug statistics not including the out message count when using gen_server:call/2.
OTP-15047
|
|
Functions for converting between RFC 3339 strings and system time
are added.
Options are lists, but we are considering using maps instead. If we
change, it will happen after Erlang/OTP 21.0-rc1 is released.
|
|
* hasse/stdlib/calendar_systemtime/OTP-13413:
stdlib: Add system time functions to module calendar
|
|
This quadruple is from a failing test when trying to EVP-ify the dh functions.
|
|
|
|
|
|
|
|
For a documentation typo.
|
|
|
|
Rewrite a call of a literal external fun to a direct call
OTP-15044
|
|
* bjorn/compiler/misc:
beam_validator: Clear X registers in wait_timeout
sys_core_fold: Eliminate crash for map update in guard
|
|
The daemon kill is now so fast that the clients does not react fast enough in ssh_sup_SUITE:killed_acceptor_restarts/1
|
|
* hans/ssh/cuddle_tests:
ssh: Better logging in test case
|
|
|
|
|
|
|
|
* hasse/stdlib/chars_limit_io/OTP-14983:
stdlib: Modify the printing of map associations with wWpP
stdlib: Introduce characters limit of formated strings
stdlib: Modify ~w/~W when number of characters is limited
stdlib: io_lib{_pretty}: Avoid tuple_to_list when possible
stdlib: Introduce characters limit of formatted strings
|
|
Use the same depth for all (printed) elements of a map.
Since the order of keys can vary when printing a map--maps:iterator/1
and maps:next/1 are used--it is more consistent to print all
associations with the same depth.
If the associations printed are limited by the depth, the selection
of associations is arbitrary, as before.
|
|
Inspiration from module lager_format.
Also some improvements of Unicode handling.
io_lib:format/3 and io_lib:fwrite/3 are new functions. The
representation of the options is a list, but we are considering using
a map instead. If we change, it will happen after Erlang/OTP 21.0-rc1
is released.
|
|
|
|
|
|
|
|
|
|
Rewrite calls such as:
(fun erlang:abs/1)(-42)
to:
erlang:abs(-42)
While we are at it, also add rewriting of apply/2 with a fixed
number of arguments to a direct call of the fun. For example:
apply(F, [A,B])
would be rewritten to:
F(A, B)
https://bugs.erlang.org/browse/ERL-614
|
|
A bug fix: limited maps end with "...", not "...=>...".
A modification: wW separate pairs with " => ", not "=>".
When the output is limited on number of characters, the term is
balanced by wW the same way as is done with pP (see commit bc38638).
|
|
|
|
The name of the io_lib_pretty:print/2 option 'max_chars' is changed to
'line_max_chars' (used by module shell only).
The new option for limiting the number of returned characters of
io_lib_pretty:print() is called 'chars_limit'.
|
|
* hasse/stdlib/map_guards_shell/OTP-15035/ERL-613:
erts: Correct abstract format doc regarding map creation
stdlib: Correct the linter's check of map guard expressions
|
|
Do not use lists:concat where lists:append is intended
|
|
Help us find more compiler bugs.
|
|
sys_core_fold would crash when attempting to optimize this code:
t() when (#{})#{}->
c.
|
|
* 'map-get-bif' of git://github.com/michalmuskala/otp:
Introduce map_get guard-safe function
OTP-15037
|
|
IngelaAndin/ingela/ssl/hello-pause/ERL-169/OTP-14372
Add new API functions to enable smoother user customizations based on TLS hello extensions
|
|
Improve memory instrumentation
OTP-15024
OTP-14961
|
|
The check is used by evaluating modules such as erl_eval.
An example: "if map_size(#{}) =:= 0 -> ok end.".
|
|
* raimo/stdlib/gen_statem-dev/OTP-14015:
Fix after feedback
Improve pointer to User's Guide
Fix after feedback on 'When to use'
Add a 'When to use' section
Fix timeout parsing and doc feedback
Improve doc, change images to .svg
erl_docgen: Implement width in image tag
Update User's Guide and pointers to it
Improve error reasons from state enter call
|
|
* maint:
Updated OTP version
Prepare release
ssh: Fix server crashes for exit-normal signals
|
|
* maint-18:
Updated OTP version
Prepare release
ssh: Fix server crashes for exit-normal signals
Conflicts:
OTP_VERSION
lib/ssh/doc/src/notes.xml
lib/ssh/src/ssh_connection_handler.erl
lib/ssh/vsn.mk
otp_versions.table
|
|
Rationale
Today all compound data types except for maps can be deconstructed in guards.
For tuples we have `element/2` and for lists `hd/1` and `tl/1`. Maps are
completely opaque to guards. This means matching on maps can't be
abstracted into macros, which is often done with repetitive guards. It
also means that maps have to be always selected whole from ETS tables,
even when only one field would be enough, which creates a potential
efficiency issue.
This PR introduces an `erlang:map_get/2` guard-safe function that allows
extracting a map field in guard. An alternative to this function would be
to introduce the syntax for extracting a value from a map that was planned
in the original EEP: `Map#{Key}`.
Even outside of guards, since this function is a guard-BIF it is more
efficient than using `maps:get/2` (since it does not need to set up the
stack), and more convenient from pattern matching on the map (compare:
`#{key := Value} = Map, Value` to `map_get(key, Map)`).
Performance considerations
A common concern against adding this function is the notion that "guards
have to be fast" and ideally execute in constant time. While there are
some counterexamples (`length/1`), what is more important is the fact
that adding those functions does not change in any way the time
complexity of pattern matching - it's already possible to match on map
fields today directly in patterns - adding this ability to guards will
niether slow down or speed up the execution, it will only make certain
programs more convenient to write.
This first version is very naive and does not perform any optimizations.
|
|
* lukas/erl_docgen/add_github_contrib_link/OTP-14979:
erl_docgen: Fix title link with '?'
|
|
* peterdmv/httpd_reload_config/ERL-578/OTP-15025:
inets: Fix httpd:reload_config/2
Change-Id: Ib02587ac75f7f9f4ce665c6ead54b5ab11560411
|