Age | Commit message (Collapse) | Author |
|
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(),
set(), and tid() have been deprecated. They will be removed in OTP 18.0.
Instead the types array:array(), dict:dict(), digraph:graph(),
gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid()
can be used. (Note: it has always been necessary to use ets:tid().)
It is allowed in OTP 17.0 to locally re-define the types array(), dict(),
and so on.
New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2,
queue:queue/1, and sets:set/1 have been added.
|
|
* hb/stdlib/epp_bug_fix/OTP-11728:
Fix a bug in epp concerning circular macro definitions
|
|
* siri/appup_tests_17/OTP-11534:
Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib
Update appups and appup tests for kernel, stdlib and sasl
|
|
epp could loop when encountering a circular macro definition in an
included file.
Thanks to Maruthavanan Subbarayan for reporting the bug, and to
Richard Carlsson for providing a bug fix.
|
|
* fenollp/shell-expand-0arity-completely:
Correct parenthesis expansion
Clean up edlin_expand_SUITE.erl to facilitate maintainance
|
|
Commit dfb4ec804a099b539c91e5643090d8183885e71c attempted to add
a closing parenthesis to the expansion of a funtion of zero arity
if there were no other functions with the same name.
Unfortunately it would add the closing parenthesis in many cases
when there was another function with another name (e.g. to
Mod:module_info/0 even though there is a Mod:module_info/1).
Correct logic for adding parenthesis and add a test case.
|
|
* nox/maps-improve-erl_expand_records:
Fix expansion of records in maps
|
|
* galaxie/supress-normal-terminates:
Suppress error report when child was terminated normally
OTP-11685
|
|
Description:
Let's assume we have a supervisor_bridge as a
non-permanent child of a supervisor. When the
bridge terminates normally it reports by
error_logger:error_report, but the supervisor does
nothing. So we have tons
(especially, when it's simple_one_for_one) of
error messages while everything is completely ok.
Let's assume we have a supervisor_bridge as a
permanent child of a supervisor. When the bridge
terminates, it invokes error_logger, but what for?
The supervisor will invoke error_logger about this
error right after that.
So what is the reason for the error_logger to log
for normally terminating children in this case?
|
|
* calebh/fix-regestry-type-annotation:
Fix alternative registry type annotations in supervisor
OTP-11707
|
|
The line
%-opaque mp() :: {re_pattern, _, _, _, _}.
has been removed.
The mp() tuple is called 'opaque' in re(3), but it is not an opaque
type. The out-commented -opaque declaration was confusing.
|
|
Appups now only support one major release back, and the tests are
updated accordingly.
Support is also added in tests for giving previous releases in a ct
config file, e.g.
{otp_releases,[{r15,"/path/to/r15/bin/erl"},
{r16,"/path/to/r16/bin/erl"},
{'17',"/path/to/17/bin/erl"}]}.
|
|
* nox/maps-erl_prettypr:
stdlib: Add tests for Maps in erl_prettypr
Support maps in erl_prettypr
|
|
* nox/maps-improve-erl_eval:
Handle map fields in their own function in erl_eval
|
|
* fenollp/shell-expand-0arity-completely:
Shell: expand 0-arity functions all the way to closing parenthesis
OTP-11684
|
|
* josevalim/suppress-all-auto-imports:
Allow all auto imports to be suppressed at once
OTP-11682
|
|
The type annotations for alternative registries using
the {via,Module,Name} syntax was not given for
sup_name() and sup_ref() in the supervisor module.
The type annotation was inconsistent with the
documentation and causes Dialyzer to complain about
valid supervisor:start_link and supervisor:start_child
calls.
|
|
* hsv/add_droplast_to_lists:
Added documentation of lists:droplast/1
Added tests for lists:droplast/1 to stdlib/lists_SUITE
stdlib/lists: Add function droplast/1 This functions drops the last element of a non-empty list.
|
|
Records were not properly expanded in keys in patterns and in arguments in
map updates.
|
|
|
|
Map fields (K := V, K => V) are not expressions and shouldn't be clauses of
erl_eval:expr/5.
|
|
The HiPE compiler crashes when trying to compile these files because
it does not currently support maps. So, add a -compile(no_native)
attribute to these files to allow the system to be made even when
configured with --enable-native-libs.
This is a temporary fix and will be removed when the HiPE compiler
gets proper support for maps.
|
|
This means replacing maps:foldl/3 and maps:foldr/3 with maps:fold/3.
|
|
This commit requires Map enabled bootstrap compiler.
|
|
Pretty printing behaviour mimic records.
This commit requires Map enabled bootstrap compiler.
|
|
|
|
Name conforms to EEP.
|
|
|
|
|
|
The map type is set to term.
|
|
In the current iteration of Maps we should deny *any* variables in
Map keys.
|
|
|
|
Update erlang lint and syntax expand for #{ K := V }
|
|
Did not handle Maps.
|
|
Example how to construct:
#{ K1 => V1, K2 => V2 }
How to update:
M#{ K1 => V1, K2 := V2 }
How to match:
#{ K1 := V1, K2 := V2 } = M
|
|
|
|
|
|
|
|
To add a type-testing guard BIF, the following steps are needed:
* The BIF itself is added to bif.tab (note that it should be declared
using "ubif", not "bif"), and its implementation to erl_bif_op.c.
* erl_internal must be modified in 3 places: The type test must be
recognized as guard BIF, as a type test, and it must be auto-imported.
* There must be an instruction that implements the same type test as
the BIF (it will be used in guards). beam_utils:bif_to_test/3 must
be updated to recognize the new guard BIF.
|
|
|
|
|
|
Example how to match or construct:
#{ K1 => V1, K2 => V2 }
How to update:
M#{ K => V }
|
|
|
|
This functions drops the last element of a non-empty list.
lists:last/1 and lists:droplast/1 are the dual of hd/1 and tl/1 but
for the end of a list.
|
|
Reported-by: Michele Miron
|
|
* dgud/test_unicode/OTP-10877:
sasl test: Quote executable paths (can contain spaces)
rt_tools: Handle unicode chars in printouts
kernel: code_SUITE fix unicode option
Fix (unicode) debug info in test cases
stdlib: Fix format if module resides in a unicode directory
Fix testing with unicode paths
test_server: Fix ts write unicode in config files
|
|
|
|
The standard_input may be set to binary mode via io:getopts/2
and in case such cases the "i/0" console helper got stuck as
it was unable to match new lines in binaries.
|
|
`erl` has tab completion for modules' exported functions but expands
only up to the opening paren. This commit closes that opening paren
in case the function is of arity zero and there is no other function with
the same name. It browses the lists of matches (a 2nd time) for Arity,
on complete match and then decides what to append.
|
|
* sv/faster-orddict-from_list/OTP-11552:
improve performance for orddict:from_list/1
|