Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
Reported-by: José Valim
|
|
|
|
A note has been added that clarifies that the encoding of
the I/O-server has to be set explicitly, irrespective of
any encoding comment.
|
|
erl_lint has since R13B emitted warnings whenever any of the types
arity(), bitstring(), iodata(), or boolean() were re-defined. Now
errors are emitted instead.
|
|
Since Erlang/OTP R16B the linter has not emitted warnings when
built-in types were re-defined. This bug has been fixed.
Thanks to Roberto Aloi for reporting the bug.
|
|
* egil/maps/doc-module-api:
erl_docgen: Generate map() instead of #{} for maps type
stdlib: Document Maps module
stdlib: Fix maps:from_list/1 spec.
|
|
|
|
|
|
* nox/maps-improve-erl_lint:
Improve linting of map expressions
|
|
* hb/stdlib/fix_dets/OTP-11709:
stdlib: Fix a Dets bug where files were deleted
stdlib: Fix a Dets bug with leaking file descriptors
|
|
* hb/stdlib/spec_fixes/OTP-11399:
stdlib: Improve the doc of the supervisor's via reference
|
|
Instead of deleting the small file when opening it with
dets:open_file/2 an error message is returned, mimicking the behaviour
when the file is bigger.
open_file/1 has been modified to return the same error message when
the file is small as when the file is bigger.
Thanks to Hakan Mattson for reporting this bug.
|
|
Thanks to Hakan Mattson for reporting this bug.
|
|
* nox/compiler/lint-shortcircuit-ops:
Properly lint shortcircuiting operators
|
|
* hb/dialyzer/deprecate_types/OTP-10342:
Introduce compiler option 'nowarn_deprecated_type'
Improve message about deprecated built-in types
|
|
Most of the updates have already been made in
'Fix alternative registry type annotations in supervisor',
a5412706f4185fddbac29216a49affd1e9f11da0.
Thanks to MaximMinin.
|
|
The deprecation of the built-in types dict/0 and so on had as
side-effect that it was impossible to switch to dict:dict/2 and so on
without getting warnings either in the the previous release (R16B) or
the current one (17.0).
By including the attribute
-compile(nowarn_deprecated_type).
in an Erlang source file warnings about deprecated types can be
avoided in 17.0.
The option can also be given as a compiler flag:
erlc +nowarn_deprecated_type file.erl
|
|
|
|
Map fields are put in their own function instead of being clauses of expr/3.
Also, invalid map construction expressions now emit one error per ':=' field,
at the location of said field instead of one for the whole expression,
furthermore, such warnings do not stop linting of their key and value
expressions anymore. Ill-formed maps constructions are now also properly
detected in guard expressions.
|
|
Thanks to Sam Bobroff for reporting the bug.
|
|
Shortcircuiting operators are not real functions and can't be used as
such with erlang:'andalso'(...) and erlang:'orelse'(...).
Reported-by: Ulf Norell
|
|
Compiled with --enable-native-libs, 2 minutes may not be enough
time on a slow computer to finish bs_match_bin_SUITE/1.
|
|
* lukas/ose/master/OTP-11334: (71 commits)
erts: Fix unix efile assert
ose: Use -O2 when building
ose: Expand OSE docs
ose: Add dummy ttsl driver
ose: Cleanup cleanup of mutex selection defines
ose: Polish mmap configure checks
ose: Add ose specific x-compile flags
ose: Updating fd_driver and spawn_driver for OSE
ose: Updating event and signal API for OSE
ose: Cleanup of mutex selection defines
win32: Compile erl_log.exe
ose: Remove uneccesary define
ose: Fix ssl configure test for osx
erts: Fix sys_msg_dispatcher assert
ose: Fix broken doc links
ose: Thread priorities configurable from lmconf
ose: Yielding the cpu is done "the OSE" way
ose: Start using ppdata for tse key
ose: Do not use spinlocks on OSE
ose: Fix support for crypto
...
Conflicts:
lib/crypto/c_src/crypto.c
|
|
* Vagabond/adt-faster-io_lib_pretty/OTP-11752:
Use lists:keyfind in io_lib_pretty as it is faster
|
|
* josevalim/jv-eval-guards/OTP-11747:
Fix erl_eval bug when erlang:'=='/2 is used in guards
|
|
|
|
This port has support for both non-smp and smp.
It contains a new way to do io checking in which erts_poll_wait
receives the payload of the polled entity. This has implications
for all linked-in drivers.
|
|
* siri/master-cuddle-with-tests:
Use default timetrap (30 min) for kernel, stdlib and sasl app tests
Unload 'deadlock' application in application_SUITE:shutdown_deadlock
|
|
* bjorn/asn1/deprecations/OTP-11731:
Remove or de-emphasize references to the deprecated asn1rt module
Deprecate asn1 functions
|
|
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.
|
|
These tests start new nodes, and they frequently timed out on some
slow test hosts.
|
|
Those asn1 functions are no longer needed because they all have
better alternatives.
|
|
* 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
|