30 TOOLS Release Notes
These release notes concern the following tools:
coast
cover
dbg
- Emacs support for Erlang (GNU Emacs only)
eprof
exref
instrument
make
tags
30.1 Tools 1.4.1
30.1.1 Improvements and New Features
30.1.1.1 Coast
30.1.1.2 Cover
30.1.1.3 Dbg
30.1.1.4 Emacs Support for Erlang
30.1.1.5 Eprof
30.1.1.6 Exref
30.1.1.7 Instrument
30.1.1.8 Make
30.1.1.9 Tags
30.1.2 Fixed Bugs and Malfunctions
30.1.2.1 Coast
- Recursive function calls containing other function calls as arguments are now recognised as being recursive.
Own Id: OTP-1981
- There can no longer be a race condition if two (or more) processes, running the same code, tries to update the ETS tables used.
Own Id: OTP-2625
30.1.2.2 Cover
The
cover
module itself hasn't been changed. However, some malfunctions have been removed in the new coverage tool,coast
, please see above for more details.30.1.2.3 Dbg
30.1.2.4 Emacs Support for Erlang
30.1.2.5 Eprof
30.1.2.6 Exref
30.1.2.7 Instrument
30.1.2.8 Make
30.1.2.9 Tags
30.1.3 Incompatibilities With Tools v1.4
30.1.3.1 Coast
- The
run
function call will, if the call to the Coast-compiled module fails, return an exit signal instead of the tuple {'EXIT', Reason}.
- The internal representation of data has been changed, meaning that all previously Coast-compiled modules have to be recompiled.
30.1.3.2 Cover
30.1.3.3 Dbg
30.1.3.4 Emacs Support for Erlang
30.1.3.5 Eprof
30.1.3.6 Exref
30.1.3.7 Instrument
30.1.3.8 Make
30.1.3.9 Tags
30.1.4 Known Bugs and Problems
30.1.4.1 Coast
30.1.4.2 Cover
- Two or more processes, running the same code, may in rare situations give rise to race conditions when updating the ETS table used.
Own Id: OTP-2625
cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by usingcoast
instead!)
Own Id: OTP-1247
cover
doesn't store the accumulated data persistently.
Own Id: OTP-1318
30.1.4.3 Dbg
30.1.4.4 Emacs Support for Erlang
30.1.4.5 Eprof
30.1.4.6 Exref
30.1.4.7 Instrument
30.1.4.8 Make
30.1.4.9 Tags
-
30.2 Tools 1.4
Please note there is a new document module creating Emacs TAGS files,
tags
.30.2.1 Improvements and New Features
30.2.1.1 Coast
30.2.1.2 Cover
30.2.1.3 Dbg
30.2.1.4 Emacs Support for Erlang
- Check auto generated Release Notes.
30.2.1.5 Tags
30.2.1.6 Eprof
30.2.1.7 Exref
30.2.1.8 Make
30.2.2 Fixed Bugs and Malfunctions
30.2.2.1 Coast
30.2.2.2 Cover
The
cover
module itself hasn't been changed. However, some malfunctions have been removed in the new coverage tool,coast
, please see above for more details, and also the sectionKnown Bugs
below.30.2.2.3 Dbg
30.2.2.4 Emacs Support for Erlang
30.2.2.5 Eprof
30.2.2.6 Exref
exref:delete_module/1
now works properly.
Own Id: OTP-1115
exref
no longer have problems with guards (such asrecord
andatom
) in list comprehension (LC) expressions.
Own Id: OTP-1291
exref
no longer mixes up modules
Own Id: OTP-1220
exref
no longer changes the working directory.
exref
now handles internal functions correctly under certain conditions.
- When using the
auto
option, exref no longer enters an infinite loop.
30.2.2.7 Make
30.2.3 Incompatibilities With Tools v1.2.1
There should be no noticeable incompatibilities between Tools v1.2.2 and the previous versions. However, for the sake of completeness, some minor issues that may change the behaviour for users taking advantage of undocumented and unsupported behaviour are listed below.
30.2.3.1 Coast
30.2.3.2 Cover
30.2.3.3 Dbg
30.2.3.4 Emacs Support for Erlang
30.2.3.5 Eprof
30.2.3.6 Exref
exref:module
no longer accepts modules specified as strings, so the implementation now agrees with the documentation.
30.2.3.7 Make
30.2.4 Known Bugs and Problems
30.2.4.1 Coast
- A recursive function call containing another function call as argument is currently not recognised as being recursive, unless the function call used as argument is made to a module not having been coast-compiled.
Own Id: OTP-1981
30.2.4.2 Cover
cover
counts the number of executed statements, instead of the number of function calls. (This problem is solved by usingcoast
instead!)
Own Id: OTP-1247
cover
doesn't store the accumulated data persistently.
Own Id: OTP-1318
30.2.4.3 Dbg
30.2.4.4 Emacs Support for Erlang
- Occurences of
$
confuses indentation mechanism.
Own Id: OTP-1203, OTP-1674, OTP-1675
30.2.4.5 Eprof
30.2.4.6 Exref
30.2.4.7 Make
-
30.3 Tools v1.2.1
30.3.1 Improvements and new features
30.3.2 Incompatibilities with Tools 1.2
30.3.3 Fixed bugs and malfunctions
- make
- The function
make:all
now works withoout aEmakefile
. Own Id: OTP-1340
- exref
exref
now know about the language constructquery
. Own Id: OTP-1368
30.3.4 Known bugs and problems
- exref
- The function
exref:delete_module/1
does not work properly, so subesquent calls toexref:analyse
will give incorrect results. Own Id: OTP-1115
30.4 Tools version 1.2
30.4.1 Improvements and new features
30.4.2 Incompatibilities with Tools 1.1
30.4.3 Fixed bugs and malfunctions
- cover
- Deadlock situation with COVER compile solved.
Own Id: OTP-1072, Aux Id: HA34612.
- Cover does now work with include files.
OwnId: OTP-1074, Aux Id: HA34302
- Changed cover to used
filename:find_src/1
instead of the obsoletefile_util
module.
30.4.4 Known bugs and problems
- exref
- Not cleaning up when module removed.
30.5 Tools version 1.1
30.5.1 Improvements and new features
- exref
- -
- cover
- -
30.5.2 Incompatibilities with Tools in OTP P1H
30.5.3 Fixed bugs and malfunctions
- exref
- -
- cover
- Cover did not use
Options
infile/2
in a correct way (OTP-1074).
- Cover tried to load the "tools" application dynamically which could cause deadlock in the startup if cover-compiled modules are involved at this stage. The attempt to load the application is now removed (must be specified in the start script).
30.5.4 Known bugs and problems