Age | Commit message (Collapse) | Author |
|
|
|
In particular, types and specs can be pretty-printed.
There are issues with macros (left behind by epp_dodger).
Typed record fields are handled. Fields are represented by triples
instead of two-tuples, which is an incompatible change.
Some attributes (-export_type, -spec, -type, &c) have been given
meaning in recent time, but the set of wild attributes (see Barklund's
spec) is not changed.
|
|
|
|
|
|
|
|
|
|
In most cases, we don't have to seed the random number generator,
as the rand:uniform/1 takes care about that itself.
|
|
Record field types have been modified due to commit 8ce35b2:
"Take out automatic insertion of 'undefined' from typed record fields".
|
|
|
|
|
|
The compiler application is now a dependency.
|
|
When building with --enable-native-libs and allowing 'make' to use
multiple threads, the compiler would crash because the erl_syntax
module was missing. Here is the recipe for making it crash on
my computer:
git clean -dxfq
MAKEFLAGS='-j10' ./otp_build setup -a --enable-native-libs
What would happen is that when merl_transform was used to compile
itself, it would call 'merl' which in turn would call erl_syntax and
erl_syntax_lib. Since those modules were not listed as dependencies,
there was no guarantee that they had actually been compiled. In fact,
erl_syntax is a large module so a compilation it with +native would
usually not finish before it was needed for compiling merl_transform.
To ensure that the erl_syntax and erl_syntax_lib modules are
available when needed, they must be explicitly listed as dependencies.
|
|
* richcarl/syntax_tools/add-merl:
Make merl compatible with OTP 18.0
Add tests for merl in syntax_tools
Include Merl in Syntax Tools
|
|
Applications that use the new erl_anno module are depending on STDLIB 2.5.
Note that CosNotification, Megaco, SNMP, Xmerl, and Parsetools use the
erl_anno module via the Yecc parsers only (the header file in
lib/parsetools/include/yeccpre.hrl calls the erl_anno module).
HiPE does not call the erl_anno module, but uses an exported type.
We have chosen to make HiPE dependent on the erl_anno module.
|
|
|
|
|
|
|
|
* richcarl/syntax_tools-remove-mnemosyne:
Remove Mnemosyne rules support from EDoc
Remove support for Mnemosyne rules
Remove support for mnemosyne-style record field access
OTP-12511
|
|
|
|
|
|
|
|
(The support in erl_parse got removed when 'packages' were removed, since
the dot notation was overlaid on the existing mnemosyne access syntax.)
|
|
|
|
Affected functions:
* erl_syntax:abstract/1
* erl_syntax:concrete/1
* erl_syntax:is_leaf/1
* erl_syntax:is_literal/1
|
|
|
|
|
|
As a temporary measure to ease the transition to default UTF-8
encoding, automatically fall back to the Latin-1 encoding (without any
warnings; the Erlang Compiler will emit a proper warning).
The intention is to remove this workaround in OTP 18 or 19.
|
|
|
|
There was a copy-paste bug in erl_syntax when running
e.g. erl_syntax:revert_forms, affecting maps. Instead of getting
Key/Value you got Key/Key in the resulting abstract form.
|
|
Note: `arity_qualifier` nodes are recognized. This is to follow The
Erlang Parser when it comes to wild attributes: both {F, A} and F/A
are recognized, which makes it possible to turn wild attributes into
recognized attributes without at the same time making it impossible to
compile files using the new syntax with the old version of the Erlang
Compiler.
|
|
|
|
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.
|
|
Thanks Kostis.
|
|
|
|
* hb/dialyzer/deprecate_types/OTP-10342:
Deprecate pre-defined built-in types
|
|
* schlagert/fix_basic_appups:
Dynamically configure typer_SUITE according to environment
Disable hipe_SUITE when environment doesn't support it
Make hipe non-upgradable by setting appup file empty
Fix missing module on hipe app file template
Add test suites performing app and appup file checks
Introduce appup test utility
Fix library application appup files
Fix non-library appup files according to issue #240
OTP-11744
|
|
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.
|
|
* nox/maps-erl_syntax-fix-docs:
Mention map trees in erl_syntax:type/1 documentation
|
|
As discussed in issue #240 *all* OTP library applications use the '.*'
wildcard as up and down version. This makes library applications
always up- and downgradeable. Using the wildcard version obsoletes
all maintenance tasks regarding library applications' appup files.
Additionally, it prevents upgrade problems caused by automatically
included application dependencies when using reltool to create
releases. Missing copyright headers are now consistently present.
|
|
|
|
* nox/eep37/OTP-11537:
Support named funs in erl_prettypr
|
|
|
|
|
|
map_expr/1
map_expr/2
map_expr_argument/1
map_expr_fields/1
map_field_assoc/2
map_field_assoc_name/1
map_field_assoc_value/1
map_field_exact/2
map_field_exact_name/1
map_field_exact_value/1
|
|
A named fun's name is a variable name, its type in syntax_tools is named_fun_expr.
|
|
|
|
* feat/erl_tidy_print_to_stdout:
Added documenation for the new option describing what it does.
Add initial implementation of having erl_tidy print to screen instead of writing to the file provided. The reason for this is that you may want to have an intermediary step between saving the tidied file and using the output.
OTP-11632
|
|
|
|
|
|
print to screen instead of writing to the file
provided. The reason for this is that you may want
to have an intermediary step between saving the
tidied file and using the output.
Use-case personally is wanting to integrate
erl_tidy into emacs and tidy buffers, overwriting
the current file is generally not how this works
in emacs with source code tidiers.
|