<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">
<chapter>
<header>
<copyright>
<year>2007</year><year>2018</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
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.
</legalnotice>
<title>Syntax_Tools Release Notes</title>
<prepared>otp_appnotes</prepared>
<docno>nil</docno>
<date>nil</date>
<rev>nil</rev>
<file>notes.xml</file>
</header>
<p>This document describes the changes made to the Syntax_Tools
application.</p>
<section><title>Syntax_Tools 2.1.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Fix the <c>TypeName</c> type in erl_syntax_lib.</p>
<p>
Own Id: OTP-15207 Aux Id: PR-1888 </p>
</item>
<item>
<p> Correct unfolding of the stacktrace variable. </p>
<p>
Own Id: OTP-15291 Aux Id: ERL-719 </p>
</item>
<item>
<p> Correct <c>erl_syntax:revert/1</c> bug regarding the
types <c>map()</c> and <c>tuple()</c>. </p>
<p>
Own Id: OTP-15294</p>
</item>
</list>
</section>
<section><title>Improvements and New Features</title>
<list>
<item>
<p> Support bitstrings as literals in module
<c>erl_syntax</c>. </p>
<p>
Own Id: OTP-15165 Aux Id: PR-1842 </p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.5</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Update to use the new string api instead of the old.</p>
<p>
Own Id: OTP-15036</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.4.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> Fix a bug regarding reverting map types. </p>
<p>
Own Id: OTP-15098 Aux Id: ERIERL-177 </p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.4</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> Removed all old unused files in the documentation.
</p>
<p>
Own Id: OTP-14475 Aux Id: ERL-409, PR-1493 </p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.3</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
General Unicode improvements.</p>
<p>
Own Id: OTP-14462</p>
</item>
<item>
<p> A process trapping exits and calling <c>erl_tidy</c>
no longer hangs if an error occurs. </p>
<p>
Own Id: OTP-14471 Aux Id: ERL-413 </p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.2</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p> Miscellaneous updates due to atoms containing
arbitrary Unicode characters. </p>
<p>
Own Id: OTP-14285</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.1.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> Fix a bug regarding reverting map types. </p>
<p>
Own Id: OTP-15098 Aux Id: ERIERL-177 </p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
The address to the FSF in the license header has been
updated.</p>
<p>
Own Id: OTP-14084</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> Fix a bug where <c>erl_tidy</c> crashed on the tilde
character when printing to standard output. </p>
<p>
Own Id: OTP-13725 Aux Id: ERL-151, PR-1071 </p>
</item>
<item>
<p><c>merl_transform</c> could get into an infinite loop
when syntactically incorrect text was passed to a
<c>merl:qquote/2,3</c> call.</p>
<p>
Own Id: OTP-13755</p>
</item>
</list>
</section>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>Improve types and specs in OTP documentation generated
from Erlang source files. </p>
<p>
Own Id: OTP-13720 Aux Id: ERL-120 </p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 2.0</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>The abstract data type in <c>erl_syntax</c> is
augmented with types and function specifications.</p>
<p>The module <c>erl_prettypr</c> pretty prints types and
function specification, and the output can be parsed.</p>
<p>The types of record fields are no longer ignored. As a
consequence <c>erl_syntax_lib:analyze_record_field/1</c>
returns <c>{Default, Type}</c> instead of <c>Default</c>.
The functions <c>analyze_record_attribute</c>,
<c>analyze_attribute</c>, <c>analyze_form</c>, and
<c>analyze_forms</c> in the <c>erl_syntax_lib</c> module
are also affected by this incompatible change.</p>
<p>
*** POTENTIAL INCOMPATIBILITY ***</p>
<p>
Own Id: OTP-12863</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.7</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>Use the new <c>erl_anno</c> module.</p>
<p>
Own Id: OTP-12732</p>
</item>
<item>
<p>The <c>merl</c> module has been added to the
<c>syntax_tools</c> application. The Merl library is a
simpler way to work with erl_syntax parse trees.</p>
<p>
Own Id: OTP-12769</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.18</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Fix bad format of error in epp_dodger:parse_file/3</p>
<p>
Own Id: OTP-12406</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.17</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Teach Maps to erl_syntax</p>
<p>
Affected functions:</p> <list>
<item>erl_syntax:abstract/1</item>
<item>erl_syntax:concrete/1</item>
<item>erl_syntax:is_leaf/1</item>
<item>erl_syntax:is_literal/1</item> </list>
<p>
Own Id: OTP-12265</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.16</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> 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. </p>
<p>
Own Id: OTP-12008</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.15</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Fix reverting map in syntax_tools</p>
<p>
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.</p>
<p>
Own Id: OTP-11930</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.14</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Application upgrade (appup) files are corrected for the
following applications: </p>
<p>
<c>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</c></p>
<p>
A new test utility for testing appup files is added to
test_server. This is now used by most applications in
OTP.</p>
<p>
(Thanks to Tobias Schlager)</p>
<p>
Own Id: OTP-11744</p>
</item>
</list>
</section>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Add implementation of having erl_tidy print to screen
instead of writing to the file provided. (Thanks to Aaron
France)</p>
<p>
Own Id: OTP-11632</p>
</item>
<item>
<p>
Support Maps syntax in syntax_tools (Thanks to Anthony
Ramine).</p>
<p>
Own Id: OTP-11663</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.13</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
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)</p>
<p>
Own Id: OTP-11576</p>
</item>
</list>
</section>
<section><title>Improvements and New Features</title>
<list>
<item>
<p> The default encoding of Erlang files has been changed
from ISO-8859-1 to UTF-8. </p> <p> The encoding of XML
files has also been changed to UTF-8. </p>
<p>
Own Id: OTP-10907</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.12</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Fix transformation of implicit funs in igor (Thanks to
Anthony Ramine)</p>
<p>
Own Id: OTP-11506</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.11</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p> Miscellaneous updates due to Unicode support. </p>
<p>
Own Id: OTP-10820</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.10</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p> Support for Unicode has been implemented. </p>
<p>
Own Id: OTP-10302</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.9</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>
Syntax Tools 1.6.9</p>
<p>
Minor bugfixes, spec annotations and documentation
cleanup. Thanks to Richard Carlsson</p>
<p>
Own Id: OTP-10208</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.8</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>Minor suppressions and fixes of compilation
warnings</p>
<p>
Own Id: OTP-10016</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.7.2</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>Variables are now now allowed in '<c>fun M:F/A</c>' as
suggested by Richard O'Keefe in EEP-23.</p>
<p>The representation of '<c>fun M:F/A</c>' 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 <c>syntax_tools</c> application can also handle both
formats.</p>
<p>
*** POTENTIAL INCOMPATIBILITY ***</p>
<p>
Own Id: OTP-9643</p>
</item>
<item>
<p>
Eliminate use of deprecated regexp module</p>
<p>
Own Id: OTP-9810</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.7.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p> In a file containing declarations and comments
without any empty lines between them, the
<c>recomment_forms()</c> 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.) </p>
<p>
Own Id: OTP-9180</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.7</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>Miscellaneous updates</p>
<p>
Own Id: OTP-8976</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.6</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Minor changes and clean-ups.</p>
<p>
Own Id: OTP-8709</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.5</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>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. </p>
<p>- The arity calculation is updated.</p>
<p>- 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".</p>
<p>- Enhanced the menu positioning in the html
documentation when a new page is loaded.</p>
<p>- A number of corrections in the generation of man
pages (thanks to Sergei Golovan)</p>
<p>- The legal notice is taken from the xml book file so
OTP's build process can be used for non OTP
applications.</p>
<p>
Own Id: OTP-8343</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.4</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
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.</p>
<p>
Own Id: OTP-8201</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.3</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Miscellaneous updates.</p>
<p>
Own Id: OTP-8190</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6.2</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Miscellanous updates.</p>
<p>
Own Id: OTP-8038</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.6</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Miscellaneous updates.</p>
<p>
Own Id: OTP-7877</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.5.6</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Minor updates.</p>
<p>
Own Id: OTP-7642</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.5.5</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Minor changes.</p>
<p>
Own Id: OTP-7388</p>
</item>
</list>
</section>
</section>
<section><title>Syntax_Tools 1.5.4</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Minor updates, mostly cosmetic.</p>
<p>
Own Id: OTP-7243</p>
</item>
</list>
</section>
</section>
<section>
<title>Syntax_Tools 1.5.3</title>
<section>
<title>Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
<p>A missing directory (<c>examples</c>) has been added and
another broken link in the documentation has been fixed.</p>
<p>Own Id: OTP-6468</p>
</item>
</list>
</section>
</section>
<section>
<title>Syntax_Tools 1.5.2</title>
<section>
<title>Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
<p>Fixed some broken links in the documentation.</p>
<p>Own Id: OTP-6420</p>
</item>
</list>
</section>
</section>
<section>
<title>Syntax_Tools 1.5.1</title>
<p>Miscellaneous changes.</p>
</section>
</chapter>