RefactorErl 0.9.13.12 Release Notes ------------------------------------------------------------------------ The 0.9.13.12 release is compatible with Erlang/OTP-R16B. improvements ------------------------------------------------------------------------ - Web2 To learn more about this newly introduced interface, please, visit http://pnyf.inf.elte.hu/trac/refactorerl/wiki/Web2 This interface is a web based user interface that provides less features but a better user experience than the old web based interface of RefactorErl. Its main features are the following. * Running and exploring semantic queries. * Query construct assistant (auto-complete) * Persistent queries * Management of (possibly multiple) running queries * Database operations * Ability to mark files with error forms * Dependency examinations - Wx To learn more about this newly introduced interface, please, visit http://pnyf.inf.elte.hu/trac/refactorerl/wiki/WxInterface This interface is a standard desktop application requiring no extra dependency. Its main features are the following. * Database management * Semantic queries and skeletons * Dependency graphs * Duplicated code analysis * Code investigations. - Clone IdentifiErl To learn more about this newly introduced feature, please, visit http://pnyf.inf.elte.hu/trac/refactorerl/wiki/CloneIdentifiErl Clone IdentifiErl is a prototype duplicated code detector software, which provides two separate ways to identify code clones. * The algorithm, called matrix, is an AST/metric based detector with which clones containing at least one expression can be found. * The algorithm, called sw_metrics, is a software metrics based detector with which similar function pairs can be identified. It is available via the ri module: ri:clone_identifierl/0, ri:clone_identifierl/1. - Semantic query (sq) - 'in' operator, which can be used in filters, is introduced. To illustrate its usage, consider the following 2 semantic queries, which are semantically equivalent with each other. * mods.funs[name = a or name = b or name = c] * mods.funs[name in |a,b,c|] - Position based @expr selector is expanded (now works with macros). - The evaluation of semantic queries is speeded up: selectors and properties are calculated in parallel. - Querying macro_value of such macros which are expanded not to expressions is supported. - To learn more about this feature, please visit http://pnyf.inf.elte.hu/trac/refactorerl/wiki/SemanticQuery Emacs: - User interaction handling is clarified in Emacs. - To learn more about the interface, please visit http://pnyf.inf.elte.hu/trac/refactorerl/wiki/EmacsInterface technical fixes ------------------------------------------------------------------------ - The evaluation of such semantic queries that containing a regexp filter(~) whose operand is a quoted atom (e.g.: ri:q("mods.funs[name ~ 'f']")) was fixed. - Exceptional nodes handling of the dependency analyser was fixed. - A bug that caused errors while a file containing include forms is being incrementally updated was eliminated.