Age | Commit message (Collapse) | Author |
|
Conflicts:
lib/stdlib/src/erl_pp.erl
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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}.
|
|
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.
|
|
|
|
* egil/maps-doc:
doc: Add Maps example for sequential programming
doc: Mention map expressions and map guards
doc: Add maps to reference manual
edoc: Add map/0 as a new predefined type
doc: Descripe Maps type syntax
doc: Clearify language of user-defined attributes
doc: Document Maps datatype in reference manual
erts: Document map guard functions
erts: Fix is_map/1 spec
|
|
|
|
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.
|
|
* hb/dialyzer/deprecate_types/OTP-10342:
Deprecate pre-defined built-in types
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
* hb/edoc/bug_fix/OTP-10866:
[edoc] Fix a bug involving a type declaration and a comment
|
|
|
|
|
|
8115c0840527 broke building for projects that used sub directories
(but not packages).
|
|
* nox/enable-silent-rules/OTP-10726:
Implement ./otp_build configure --enable-silent-rules
|
|
With silent rules, the output of make is less verbose and compilation
warnings are easier to spot. Silent rules are disabled by default and
can be disabled or enabled at will by make V=0 and make V=1.
|
|
|
|
|
|
|
|
Since EDoc 0.7.7 (R14B02) separate values of union types can be
annotated. However, the parser has hitherto chosen not to add the
necessary parentheses due to backwards compatibility.
From this release on code traversing the output of edoc_parser needs
to take care of parentheses around separate values of union types.
Examples of such code are layout modules and doclet modules.
The following example shows annotated values of a union type:
-type t() :: (Name1 :: atom()) | (Name2 :: integer()).
|
|
Defining a behaviour_info/1 function is no longer the only way to
define a behaviour; you can use -callback attributes as well. This
change makes edoc aware of the latter, such that the module
documentation page for a behaviour module will list the name and arity
of the required callback functions.
Ideally, edoc should use the type information present in the callback
attributes, but with this change, the documentation is at least no
worse than when using an explicit behaviour_info function.
|
|
|
|
OTP-10106
OTP-10107
|
|
|
|
Macros in comments following Erlang types were not expanded.
An example:
-type t() :: integer().
%% This type is used in {@link foo/0}.
The link to foo/0 was not created.
|
|
|
|
|
|
|
|
* rz/add_proplist_type:
Add a proplist() type
OTP-9499
|
|
|
|
|
|
|
|
|
|
|
|
Also fixed a Dialyzer warning (edoc_wiki.erl).
|
|
Recently I was adding specs to an API and found that there is
no canonical proplist() type defined.
|
|
Bugs concerning the option report_missing_types that was added in
EDoc-0.7.7 have been corrected: the option was misspelled in the
source, and local definitions as well as the function tags @private
and @hidden were not handled correctly. (Thanks to Manolis Papadakis.)
|
|
* tv/edoc-loop-fix:
Fix infinite loop for malformed edoc input
OTP-9165
|
|
It is now possible to use Erlang specifications and types in EDoc
documentation. Erlang specifications and types will be used unless
there is also a function specification (@spec) or a type alias (@type)
with the same name. In the current implementation the placement of
-spec matters: it should be placed where the @spec would otherwise
have been placed.
Not all Erlang types are included in the documentation, but only those
exported by some export_type declaration or used by some documented
Erlang specification (-spec).
There is currently no support for overloaded Erlang specifications.
The syntax definitions of EDoc have been augmented to cope with most
of the Erlang types. (But we recommend that Erlang types should be
used instead.)
edoc:read_source() takes one new option, report_missing_types.
edoc_layout:module() takes one new option, pretty_printer.
|
|
* hb/edoc/wiki_encoding/OTP-9109:
Add encoding when parsing Wiki text
|
|
The <c>edoc_lib</c> module is meant to be private, but since it is
referred to from other man pages it has been included in the OTP
documentation. This change makes all functions private except those
referred to from other pages.
|