aboutsummaryrefslogtreecommitdiffstats
path: root/lib/syntax_tools
AgeCommit message (Collapse)Author
2013-12-12EEP 37: Funs with namesAnthony Ramine
This adds optional names to fun expressions. A named fun expression is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse. If a fun expression has a name, it must be present and be the same in every of its clauses. The function name shadows the environment of the expression shadowing the environment and it is shadowed by the environment of the clauses' arguments. An unused function name triggers a warning unless it is prefixed by _, just as every variable. Variable _ is allowed as a function name. It is not an error to put a named function in a record field default value. When transforming to Core Erlang, the named fun Fun is changed into the following expression: letrec 'Fun'/Arity = fun (Args) -> let <Fun> = 'Fun'/Arity in Case in 'Fun'/Arity where Args is the list of arguments of 'Fun'/Arity and Case the Core Erlang expression corresponding to the clauses of Fun. This transformation allows us to entirely skip any k_var to k_local transformation in the fun's clauses bodies.
2013-12-10Merge tag 'OTP_R16B03'Magnus Lidén
The R16B03 release Conflicts: lib/sasl/vsn.mk
2013-12-09Prepare releaseOTP_R16B03Erlang/OTP
2013-11-29Merge branch 'maint'Henrik Nord
2013-11-11Remove a useless function clause in erl_syntax_libAnthony Ramine
2013-11-11Fix transformation of implicit funs in igorAnthony Ramine
Function erl_syntax_lib:analyze_implicit_fun/1 should not be called on implicit external funs, as their parts can contain variables instead of atoms and integers.
2013-11-11Fix reverting of implicit funsAnthony Ramine
Implicit funs parts in plain AST are no longer in concrete form since Erlang/OTP R15.
2013-04-19Convert XML files to UTF-8Hans Bolinder
2013-02-25Prepare releaseOTP_R16BErlang/OTP
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-19Use ~ts for filenamesHans Bolinder
2013-02-15[stdlib] Correct handling of Unicode filenamesHans Bolinder
2013-02-11Make Unicode correctionsHans Bolinder
2013-01-29Prepare releaseOTP_R16A_RELEASE_CANDIDATEErlang/OTP
2013-01-25Extend char() to Unicode charactersHans Bolinder
The code related to the introduction of unicode_string() and unicode_char() has been removed. The types char() and string() have been extended to include Unicode characters. In fact char() was changed some time ago; this commit is about cleaning up the documentation and introduce better names for some functions.
2013-01-23Turn warnings to errors on selected applicationsBjörn Gustavsson
2013-01-22Merge branch 'lh/forget-mnemosyne/OTP-10729'Fredrik Gustafsson
* lh/forget-mnemosyne/OTP-10729: Remove what remains of the Mnemosyne code Remove support for the query keyword and query expressions
2013-01-18Merge branch 'nox/enable-silent-rules/OTP-10726'Björn-Egil Dahlberg
* nox/enable-silent-rules/OTP-10726: Implement ./otp_build configure --enable-silent-rules
2013-01-16Remove support for the query keyword and query expressionsLoïc Hoguin
2013-01-15Implement ./otp_build configure --enable-silent-rulesAnthony Ramine
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.
2013-01-09syntax_tools: Remove support for packagesBjörn Gustavsson
2013-01-02[syntax_tools] Introduce Unicode support for Erlang source filesHans Bolinder
Not complete. Unicode in wild attribute doesn't work. No support for Unicode regarding Igor stubs.
2012-09-03Prepare releaseOTP_R15B02Erlang/OTP
2012-08-31Update copyright yearsBjörn-Egil Dahlberg
2012-08-29Used previous resolutionFredrik Gustafsson
2012-08-08bumped revisionRichard Carlsson
2012-08-08make list_suffix/1 and list_prefix/1 handle erl_parse() cons sequencesRichard Carlsson
2012-08-08modernized and cleaned up edoc documentationRichard Carlsson
2012-08-08removed obsolete @spec annotations and fixed some -spec and -type annotationsRichard Carlsson
2012-08-08preserve line numbers when reverting representationRichard Carlsson
2012-08-08updated author e-mailRichard Carlsson
2012-08-08removed CVS keywords from source filesRichard Carlsson
2012-06-05Update to work with whitespace in exec pathLukas Larsson
OTP-10106 OTP-10107
2012-04-01Prepare releaseOTP_R15B01Erlang/OTP
2012-01-05syntax_tools: Remove warnings of missing typesBjörn-Egil Dahlberg
* Just remove the warnings, not fixing the actual problem.
2012-01-05syntax_tools: Suppress warning of unused variableBjörn-Egil Dahlberg
2012-01-05Revert "syntax_tool: Add missing type information"Björn-Egil Dahlberg
This reverts commit 38ee7a20cfdc22ead35b4711a086babcf6b3069b.
2012-01-03syntax_tool: Add missing type informationBjörn-Egil Dahlberg
2011-12-12Prepare releaseErlang/OTP
2011-11-22Revert "Update version numbers for pre-release of R15"Björn-Egil Dahlberg
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
2011-11-22Update version numbers for pre-release of R15OTP_R15ABjörn Gustavsson
2011-11-07EEP-23: Allow variables in fun M:F/ABjörn Gustavsson
Currently, the external fun syntax "fun M:F/A" only supports literals. That is, "fun lists:reverse/1" is allowed but not "fun M:F/A". In many real-life situations, some or all of M, F, A are not known until run-time, and one is forced to either use the undocumented erlang:make_fun/3 BIF or to use a "tuple fun" (which is deprecated). EEP-23 suggests that the parser (erl_parse) should immediately transform "fun M:F/A" to "erlang:make_fun(M, F, A)". We have not followed that approach in this implementation, because we want the abstract code to mirror the source code as closely as possible, and we also consider erlang:make_fun/3 to be an implementation detail that we might want to remove in the future. Instead, we will change the abstract format for "fun M:F/A" (in a way that is not backwards compatible), and while we are at it, we will move the translation from "fun M:F/A" to "erlang:make_fun(M, F, A)" from sys_pre_expand down to the v3_core pass. We will also update the debugger and xref to use the new format. We did consider making the abstract format backward compatible if no variables were used in the fun, but decided against it. Keeping it backward compatible would mean that there would be different abstract formats for the no-variable and variable case, and tools would have to handle both formats, probably forever. Reference: http://www.erlang.org/eeps/eep-0023.html
2011-10-27Remove unused */doc/src/make.dep filesBjörn Gustavsson
These dependency files was once used when building the documentation, but are no longer needed.
2011-10-27doc Makefiles: Eliminate DOCSUPPORT ifdefsBjörn Gustavsson
Some applications still have support for an ancient documentation build system. Eliminate the DOCSUPPORT define in otp.mk.in and the not taken arm of the ifdefs in the Makefiles.
2011-10-27erl_tidy: Eliminate two references to 'regexp' in the documentationBjörn Gustavsson
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-05-24Prepare releaseOTP_R14B03Erlang/OTP
2011-04-01Fix a bug in erl_recommentHans Bolinder
In a file containing declarations and comments without any empty lines between them, the recomment_forms() function would associate a multi-line comment with the declaration above it rather than the one following it. (Thanks to Richard Carlsson.) This bug has been reported several times. It was corrected by Kostis Sagonas, but the fix didn't make into the R14B02 release.
2011-03-30Merge branch 'hw/call-chmod-without-f' into devHenrik Nord
* hw/call-chmod-without-f: Call chmod without the "-f" flag Conflicts: erts/emulator/test/Makefile lib/asn1/test/Makefile lib/crypto/test/Makefile lib/debugger/test/Makefile lib/docbuilder/test/Makefile lib/edoc/test/Makefile lib/erl_interface/test/Makefile lib/inviso/test/Makefile lib/parsetools/test/Makefile lib/percept/test/Makefile lib/ssl/test/Makefile lib/syntax_tools/test/Makefile lib/test_server/test/Makefile lib/tools/test/Makefile OTP-9170
2011-02-17Rename Suite Callback to Common Test HookLukas Larsson