20072016 Ericsson AB. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Syntax_Tools Release Notes otp_appnotes nil nil nil notes.xml

This document describes the changes made to the Syntax_Tools application.

Syntax_Tools 2.0
Improvements and New Features

The abstract data type in erl_syntax is augmented with types and function specifications.

The module erl_prettypr pretty prints types and function specification, and the output can be parsed.

The types of record fields are no longer ignored. As a consequence erl_syntax_lib:analyze_record_field/1 returns {Default, Type} instead of Default. The functions analyze_record_attribute, analyze_attribute, analyze_form, and analyze_forms in the erl_syntax_lib module are also affected by this incompatible change.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-12863

Syntax_Tools 1.7
Improvements and New Features

Use the new erl_anno module.

Own Id: OTP-12732

The merl module has been added to the syntax_tools application. The Merl library is a simpler way to work with erl_syntax parse trees.

Own Id: OTP-12769

Syntax_Tools 1.6.18
Fixed Bugs and Malfunctions

Fix bad format of error in epp_dodger:parse_file/3

Own Id: OTP-12406

Syntax_Tools 1.6.17
Fixed Bugs and Malfunctions

Teach Maps to erl_syntax

Affected functions:

erl_syntax:abstract/1 erl_syntax:concrete/1 erl_syntax:is_leaf/1 erl_syntax:is_literal/1

Own Id: OTP-12265

Syntax_Tools 1.6.16
Fixed Bugs and Malfunctions

The default encoding for Erlang source files is now UTF-8. As a temporary measure to ease the transition from the old default of Latin-1, if EDoc encounters byte sequences that are not valid UTF-8 sequences, EDoc will re-try in Latin-1 mode. This workaround will be removed in a future release.

Own Id: OTP-12008

Syntax_Tools 1.6.15
Fixed Bugs and Malfunctions

Fix reverting map in syntax_tools

There was a 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.

Own Id: OTP-11930

Syntax_Tools 1.6.14
Fixed Bugs and Malfunctions

Application upgrade (appup) files are corrected for the following applications:

asn1, common_test, compiler, crypto, debugger, dialyzer, edoc, eldap, erl_docgen, et, eunit, gs, hipe, inets, observer, odbc, os_mon, otp_mibs, parsetools, percept, public_key, reltool, runtime_tools, ssh, syntax_tools, test_server, tools, typer, webtool, wx, xmerl

A new test utility for testing appup files is added to test_server. This is now used by most applications in OTP.

(Thanks to Tobias Schlager)

Own Id: OTP-11744

Improvements and New Features

Add implementation of having erl_tidy print to screen instead of writing to the file provided. (Thanks to Aaron France)

Own Id: OTP-11632

Support Maps syntax in syntax_tools (Thanks to Anthony Ramine).

Own Id: OTP-11663

Syntax_Tools 1.6.13
Fixed Bugs and Malfunctions

In syntax_tools-1.6.12 (OTP R16B03) a bug was introduced which broke reverting of local implicit funs. Implicit funs were mistakenly thought to be using abstract terms for their name and arity. This has now been corrected. (Thanks to Anthony Ramine)

Own Id: OTP-11576

Improvements and New Features

The default encoding of Erlang files has been changed from ISO-8859-1 to UTF-8.

The encoding of XML files has also been changed to UTF-8.

Own Id: OTP-10907

Syntax_Tools 1.6.12
Fixed Bugs and Malfunctions

Fix transformation of implicit funs in igor (Thanks to Anthony Ramine)

Own Id: OTP-11506

Syntax_Tools 1.6.11
Improvements and New Features

Miscellaneous updates due to Unicode support.

Own Id: OTP-10820

Syntax_Tools 1.6.10
Improvements and New Features

Support for Unicode has been implemented.

Own Id: OTP-10302

Syntax_Tools 1.6.9
Fixed Bugs and Malfunctions

Syntax Tools 1.6.9

Minor bugfixes, spec annotations and documentation cleanup. Thanks to Richard Carlsson

Own Id: OTP-10208

Syntax_Tools 1.6.8
Fixed Bugs and Malfunctions

Minor suppressions and fixes of compilation warnings

Own Id: OTP-10016

Syntax_Tools 1.6.7.2
Improvements and New Features

Variables are now now allowed in 'fun M:F/A' as suggested by Richard O'Keefe in EEP-23.

The representation of 'fun M:F/A' in the abstract format has been changed in an incompatible way. Tools that directly read or manipulate the abstract format (such as parse transforms) may need to be updated. The compiler can handle both the new and the old format (i.e. extracting the abstract format from a pre-R15 BEAM file and compiling it using compile:forms/1,2 will work). The syntax_tools application can also handle both formats.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-9643

Eliminate use of deprecated regexp module

Own Id: OTP-9810

Syntax_Tools 1.6.7.1
Fixed Bugs and Malfunctions

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 and Kostis Sagonas.)

Own Id: OTP-9180

Syntax_Tools 1.6.7
Improvements and New Features

Miscellaneous updates

Own Id: OTP-8976

Syntax_Tools 1.6.6
Improvements and New Features

Minor changes and clean-ups.

Own Id: OTP-8709

Syntax_Tools 1.6.5
Improvements and New Features

The documentation is now possible to build in an open source environment after a number of bugs are fixed and some features are added in the documentation build process.

- The arity calculation is updated.

- The module prefix used in the function names for bif's are removed in the generated links so the links will look like "http://www.erlang.org/doc/man/erlang.html#append_element-2" instead of "http://www.erlang.org/doc/man/erlang.html#erlang:append_element-2".

- Enhanced the menu positioning in the html documentation when a new page is loaded.

- A number of corrections in the generation of man pages (thanks to Sergei Golovan)

- The legal notice is taken from the xml book file so OTP's build process can be used for non OTP applications.

Own Id: OTP-8343

Syntax_Tools 1.6.4
Improvements and New Features

The documentation is now built with open source tools (xsltproc and fop) that exists on most platforms. One visible change is that the frames are removed.

Own Id: OTP-8201

Syntax_Tools 1.6.3
Improvements and New Features

Miscellaneous updates.

Own Id: OTP-8190

Syntax_Tools 1.6.2
Improvements and New Features

Miscellanous updates.

Own Id: OTP-8038

Syntax_Tools 1.6
Improvements and New Features

Miscellaneous updates.

Own Id: OTP-7877

Syntax_Tools 1.5.6
Improvements and New Features

Minor updates.

Own Id: OTP-7642

Syntax_Tools 1.5.5
Improvements and New Features

Minor changes.

Own Id: OTP-7388

Syntax_Tools 1.5.4
Improvements and New Features

Minor updates, mostly cosmetic.

Own Id: OTP-7243

Syntax_Tools 1.5.3
Fixed Bugs and Malfunctions

A missing directory (examples) has been added and another broken link in the documentation has been fixed.

Own Id: OTP-6468

Syntax_Tools 1.5.2
Fixed Bugs and Malfunctions

Fixed some broken links in the documentation.

Own Id: OTP-6420

Syntax_Tools 1.5.1

Miscellaneous changes.