Age | Commit message (Collapse) | Author |
|
Use F/A rather than M:F/A for local functions.
|
|
Types are represented by quadruples {type, LINE, Name, Args},
but maps were represented by five-tuples
{type, LINE, map_field_assoc, Dom, Range}.
Note: this is *not* about the quadruples used for representing
expressions, {map_field_assoc,L,K,V}.
|
|
"... when _ :: ..." used to compile, but Dialyzer crashed.
|
|
sys_pre_expand used to crash. There is no known reason to
allow -callback attributes with explicit module.
|
|
product/_, union/_, range/2 as well as tuple/N (N > 0), map/N (N > 0),
atom/1, integer/1, binary/2, record/_, and 'fun'/_ can now be used as
type names.
|
|
|
|
When redefining and exporting the type map() erl_lint erroneously
emitted an error. This bug has been fixed.
|
|
|
|
* egil/maps-fix-map-key-patterns:
stdlib: Fix erl_id_trans example
stdlib: Deny map keys defined as #{ .. := .. } in patterns
compiler: Fix compiling map keys in patterns from core
compiler,stdlib: Fix Map literals as keys for Maps in patterns
|
|
* vinoski/hash-update-arity:
Some more faulty deprecation warnings for crypto
|
|
|
|
* vinoski/hash-update-arity:
fix arity of crypto:hash_update/2 in deprecation warnings
|
|
|
|
|
|
|
|
To be removed in Erlang/OTP 18
|
|
When compiling code using deprecated crypto functions that should be
replaced with crypto:hash_update/2, the deprecation warnings were saying
"use crypto:hash_update/3", with the wrong arity of 3, instead of "use
crypto:hash_update/2".
The problem was reported in this email message to erlang-bugs:
http://erlang.org/pipermail/erlang-bugs/2014-March/004281.html
|
|
|
|
* egil/maps-fix-src-listing:
stdlib: Fix map type listing
|
|
Stabilize tests for all kind of machines
Old sparc (and newer smaller) machines timeouts in 'random_ref_comp'
decrease load and increase timeouts.
Supervisor:
Turn up accepted time, since if non-linear it should be much worse,
now the test failes on slow multicore machines
Remove memory tests, they fail sometimes and those tests are not
needed to be tested. Hard to predict GC's and other processes behaviours.
|
|
|
|
* pf/document-escript-feature-only-present-in-examples/OTP-11827:
Document an escript:create/2 hidden feature
|
|
escript:create/2 accepts a 3-elements tuple containing files and
zip:create/3 options to build a zip file.
Also had to update zip typespecs to allow referral from escript docs.
|
|
* lukas/ose/master-17.0/OTP-11334:
ose: Fix erts assert failed printouts
ose: fix for packet_bytes in fd/spawn driver.
ose: Prepare slave for running on OSE
ose: Fix bug when hunting for signal proxy
ose: Implement tcp inet driver for OSE
ose: Add ifdefs for HAVE_UDP
ose: Yielding has to be done differently for background processes.
ose: Print faults in aio sys driver calls
ose: Prinout errno when to_erl read fails
ose: erlang display goes to ramlog printf
ose: Initiate stdin/stdout/stderr
ose: Break lmconf into one per load module
ose: Reset busy port when pdq empty
ose: Restore the owner of the signal
|
|
This change relies on the assumption that all arguments before the last --
to the parent beam should be left as they are.
|
|
* bjorn/stdlib/otp_internal:
otp_internal: No longer warn for funtions removed in R13B
otp_internal: Postpone removals from R17 to OTP 18
|
|
* vladdu/unicode_parameters_doc:
Specify that +fn* flags affect even command-line parameters and environment variables
OTP-11818
|
|
* vinoski/sys-get-rep-state2:
remove tuple funs from special process documentation
fix sys:get_state/1,2 and sys:replace_state/2,3 when sys suspended
OTP-11817
|
|
The 'encoding' option of erl_parse:abstract/2 has been extended to
include 'none' and a callback function (a predicate).
The rationale is that a more general means of determining what integer
lists are to be represented as strings may help readability when
generating Erlang code given input in some other encoding than Latin-1
or UTF-8.
|
|
The grace period is over.
|
|
variables
|
|
Since they have not been removed yet in OTP 17, postpone removal
one release to OTP 18.
|
|
|
|
|
|
Add two new system callbacks Module:system_get_state/1 and
Module:system_replace_state/2 to allow sys:get_state/1,2 and
sys:replace_state/2,3 to operate correctly even if a process is sys
suspended. Modify gen_server, gen_fsm, and gen_event to support the new
callbacks.
If a callback module does not export these functions, then by default the
Misc value (the same as that passed as the final argument to
sys:handle_system_msg/6, and returned as part of the return value of
sys:get_status/1,2) is treated as the callback module's state.
The previous behaviour of intercepting the system message and passing a
tuple of size 2 as the last argument to sys:handle_system_msg/6 is no
longer supported.
Add tests to verify the correctness of sys:get_state/1,2 and
sys:replace_state/2,3 when processes are sys suspended. Add two tests for
modules that implement special processes, one that exports
system_get_state/1 and system_replace_state/2 and one that doesn't.
Much of the credit for this patch goes to James Fish, who reported the
initial problem and implemented much of the fix.
|
|
Most dependencies introduced are exactly the dependencies to other
applications found by xref. That is, there might be real dependencies
missing. There might also be pure debug dependencies listed that
probably should be removed. Each application has to be manually
inspected in order to ensure that all real dependencies are listed.
All dependencies introduced are to application versions used in
OTP 17.0. This since the previously used version scheme wasn't
designed for this, and in order to minimize the work of introducing
the dependencies.
|
|
|
|
Dialyzer recognizes a certain pattern that makes it possible to get
rid of 'The created fun has no local return' warnings.
|
|
* bjorn/cuddle-with-tests:
cover_SUITE:reconnect/1: Let the other side initiate the disconnect
Attempt to provide more information if a test case fails
prim_file_SUITE: Remove the short 5 seconds timetrap timeout
shell_SUITE: Give bs_match_bin_SUITE/1 more time
|
|
* hb/clarify_encoding:
Clarify the reference manual regarding source file encoding
|
|
* bjorn/compiler/utf8-warning/OTP-11791:
Don't fail compilation for modules that contain invalid UTF-8
epp: Make it possible to specify a default encoding
|
|
In the next commit, we will need a way to tell epp which the
default encoding should be for files that have no encoding comment.
We could add new open() and parse_file() functions with one
extra argument for the encoding, but there are already too many
variants.
To avoid having to add an additional argument to epp:open() and
epp:parse_file() each time new options are needed, introduce
epp:open/1 and epp:parse_file/2 that takes a property list with
options. Also support the new 'default_encoding' option for specifying
the default encoding for source files.
Thanks to Richard Carlsson for the idea and the implementation
of the new functionality in epp.erl.
|
|
* egil/maps-literals:
compiler: Transform M#{} to is_map(M)
dialyzer: Do not native compile modules with Maps code
hipe: Properly identify map() type form terms
stdlib: Test Map key linting
stdlib: Accept records as Map keys
stdlib: Accept Maps as Map keys
stdlib: Move map type to proper definition
stdlib: Properly lint map key expressions
compiler: Change #c_map{var} to #c_map{arg}
compiler: Constant fold Maps that are safe
compiler: Validate Map src
compiler: Support literal maps in cerl_clauses:match/2
compiler: Guard BIF is_map/1 is pure
erts: Handle literals in is_map/1
compiler: Change Maps Core Format
compiler: Create literal Maps in creation if possible
|
|
* nox/maps-eval-empty-update:
Fix evaluation of empty map patterns in erl_lint
Fix evaluation of empty map updates in the debugger
Fix evaluation of empty map updates in erl_eval
|
|
This will change in future release.
|
|
|
|
|
|
|
|
Only values are valid key expressions.
|
|
|