| Age | Commit message (Collapse) | Author | 
|---|
|  | * maint:
  syntax_tools: Fix pretty-printing of type funs | 
|  | See also ERL-815. | 
|  | * maint:
  erts: Add comment about [] and nil() to The Abstract Format
  syntax_tools: Correct erl_syntax:revert/1 | 
|  | * hasse/syntax_tools/fix_revert/OTP-15294:
  erts: Add comment about [] and nil() to The Abstract Format
  syntax_tools: Correct erl_syntax:revert/1 | 
|  | * maint:
  syntax_tools: Correct unfolding of the stacktrace variable | 
|  | revert/1 did not handle the types tuple() and map() correctly. | 
|  | The bug was introduced in 9ab233.
See also https://bugs.erlang.org/browse/ERL-719. | 
|  |  | 
|  | I did not find any legitimate use of "can not", however skipped
changing e.g RFCs archived in the source tree. | 
|  |  | 
|  | Add support of non-whole-byte binaries to `abtract/1`, `concrete/1` and
`is_literal/1`. (They are literals in the beam file) | 
|  |  | 
|  |  | 
|  | A quick fix to make the test suite work with the updated erl_eval.
[I think that if "A:B:_" is allowed, it should have a representation
 in the abstract format, but that's another story. The pretty printer
 should not modify the source code, just print it nicely, IMHO. (But
 removing parentheses is OK)] | 
|  |  | 
|  | * maint:
  erts, stdlib: Fix xmllint warning
  Update runtime deps to depend on new stdlib functionality | 
|  | ~tw and new string functions are new since OTP-20 (stdlib-3.4) | 
|  | * siri/string-new-api: (28 commits)
  hipe (test): Do not use deprecated functions in string(3)
  dialyzer (test): Do not use deprecated functions in string(3)
  eunit (test): Do not use deprecated functions in string(3)
  system (test): Do not use deprecated functions in string(3)
  system (test): Do not use deprecated functions in string(3)
  mnesia (test): Do not use deprecated functions in string(3)
  Deprecate old string functions
  observer: Do not use deprecated functions in string(3)
  common_test: Do not use deprecated functions in string(3)
  eldap: Do not use deprecated functions in string(3)
  et: Do not use deprecated functions in string(3)
  os_mon: Do not use deprecated functions in string(3)
  debugger: Do not use deprecated functions in string(3)
  runtime_tools: Do not use deprecated functions in string(3)
  asn1: Do not use deprecated functions in string(3)
  compiler: Do not use deprecated functions in string(3)
  sasl: Do not use deprecated functions in string(3)
  reltool: Do not use deprecated functions in string(3)
  kernel: Do not use deprecated functions in string(3)
  hipe: Do not use deprecated functions in string(3)
  ...
Conflicts:
	lib/eunit/src/eunit_lib.erl
	lib/observer/src/crashdump_viewer.erl
	lib/reltool/src/reltool_target.erl | 
|  | * lukas/erts/non-smp-removal-cleanup/OTP-14518:
  Make estone work with older releases
  erts: Allow read in ttsl driver to return EAGAIN
  syntax_tools: Fix makefile dep
  erts: non-smp removal cleanup in erlexec | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | See also ERL-413, https://bugs.erlang.org/browse/ERL-413. | 
|  |  | 
|  |  | 
|  | This makes it clear that Apache 2.0 applies, without dropping the old LGPL
licensing, and makes all the Syntax Tools file headers look the same as
upstream. | 
|  |  | 
|  | This can happen when a syntactically incorrect text is passed to a
merl:qquote/2,/3 call.
The parse transform optimizes calls to some functions in merl by
converting strings into templates at compile time. If this evaluation
fails (in eval_call/4 - for example because of a sytanx error in the
parsed text) the original function call should be kept unchanged.
However in case of qquote/3 the call is converted into a combination of
quote/2 and subst/2, but upon failure the original qquote/3 call is
substituted into the wrong place. E.g.:
this expression
  merl:qquote(Pos, Text, Env)
is first converted to
  merl:subst(merl:quote(Pos, Text), Env)
then if evaluating the quote call fails into
  merl:subst(merl:qquote(Pos, Text, Env), Env)
and the expansion is run again on the internal qquote/3 argument
resulting in an infinite loop.
This is now fixed so in case of failure the original qquote/3 call is kept. | 
|  |  | 
|  | See also http://bugs.erlang.org/browse/ERL-151. | 
|  | * hasse/dialyzer/improve_from_form/OTP-13547:
  Update primary bootstrap
  stdlib: Correct types and specs
  dialyzer: Minor adjustments
  dialyzer: Suppress unmatched_return for send/2
  dialyzer: Improve the translation of forms to types
  dialyzer: Use a cache when translating forms to types
  dialyzer: Prepare erl_types:t_from_form() for a cache
  dialyzer: Optimize erl_types:t_form_form()
  dialyzer: Correct types
  syntax_tools: Correct types
  erts: Correct character repr in doc of the abstract format
  stdlib: Correct types and specs | 
|  | It is possible that '...' is added later (OTP 20.0), but for now we
are not sure of all details. | 
|  |  | 
|  |  | 
|  | The pretty-printing of `...' in map types is complex. The
representation of `...' can be changed before OTP 19. | 
|  |  | 
|  |  | 
|  | 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 |