X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/1eddfd5052863e93b723b26a1d1266471882f234..5427db06e325c3c7c572e2e1ebe88a2fd211641c:/changes.txt diff --git a/changes.txt b/changes.txt index cc3d7aa..13419aa 100644 --- a/changes.txt +++ b/changes.txt @@ -5,6 +5,8 @@ - Semantic patch for other languages - Support metavariables, virtual rules and virtual identifiers in initialize and finalize rules +- Support for matching #ifdef, etc. +- function-typed metavariables ** Features: - New scripting languages @@ -12,6 +14,117 @@ ** Bugfix: - Add more information in documentation, man pages and wiki +* 1.0.0 +** Language: +- Addition of initializer list metavariables. Thanks to Michael Stefaniuc + for noticing the need for them. +- Allow multiple position variables per token +- ++ can now be associated with - code +- Allow /* */ comments as smpl comments, not only as + code +- Add support for && (label addresses) +- local idexpression metavariable no longer matches static local x +- Consider using to be a comment in C++ code. Patch submitted by Jani Monoses. + +** Features: +- Preserve spacing before // comments when not at the beginning of a line +- Adjusted parsing of endif to put it after jump code +- Improve warning message when using -use_cache +- More helpful initial value for exported variables in python +- Support - on expression nests +- Better handling of the case of a matched declaration that should only + be replaced by other top level things. +- Allow a semantic patch beginning and ending with braces to match the + complete body of a function if the braces are not removed and if nothing + is added before the first brace or after the last one. +- Add -cache_prefix option, to specify where to put cached files. +- Allow module_init(foo); to match module_init(foo) (or likewise for any + declarer), when no transformation is specified on the semicolon. +- Add Coccilib.exit() for ocaml code and cocci.exit() for python code, + to abort the treatment of the current file. + +** Bugfix: +- Corrected parsing of script strings delimited by a single quote. Thanks + to Eugeniy Meshcheryakov for reporting the problem. +- Improved indentation of added ifdefs. +- Allow added comments and #ifdefs to precede other added code. Thanks to + Jani Monoses for noticing the problem. +- Corrected failure to due missing ocamlfind. Thanks to Derek M. Jones for + reporting the problem. +- Allow fake nodes to be - in the allminus case, to drop tokens related to + a function definition or forward declaration but before the first code + mentioned in the semantic patch. +- Drop __init etc when deleting a whole function. +- Cause appropriate newlines to be preserved when multiple matches (trees) + contain adjacent modifications derived from the same SmPL code. +- check_meta takes into account fresh identifier seed information. +- Types for worth-trying optimization should not be followed by space +- Improved filtering of result of matching atomic patterns +- Drop positions before creating function prototype rules +- Adjust position of { introduced by adding multiple statements in a + single-statement position +- Drop newline after function call ( when all arguments on that line are + eliminated +- Accept removal of a single declaration, replaced by arbitrary, + non-declaration code +- smpl_spacing takes into account newlines, indentation +- Improved prevention of transformations on toplevel { ... } from causing + changes outside function boundaries; also outside ifs, whiles, etc. + Changes are still allowed on { ... } present for other reasons. +- Fix bug in include_match that caused everything to halt when all matches + were discarded + +* 0.2.5 +** Language: +- Make a very small attempt to parse C++ code, amounting to accepting + identifiers containing ::, tilde, and template invocations. Use the + option -c++. This is not likely to be very useful in practice. +- Added metavariable metavariable type. +- Add disjunctions on identifiers in some contexts +- Pretend that & indicates a pointer in -c++ mode +- Support for new and delete +- Allow arrays in smpl parameter declarations. Thanks to Jesper Louis + Andersen for pointing out the problem. +- Field list metavariables +- Add the ability to add __attributes__ (NB, no matching on attributes) +- Slightly improved the error message for transformation on multiple + variable declaration. Thanks to Jonathan Nieder for pointing out the + problem. + +** Features: +- support transformations on variables (only) in declarations that declare + multiple variables +- allow #endif XXX in C code +- relax_include_path now applied to non local includes too, in which case + it tries to find a unique file with a suffix of the provided name. + this is useful for directories that are intended to be symbolic links. +- support matching and removing #undef +- support for iteration in ocaml, requires use of -no_show_diff +- calls to likely and unlikely propagate test expression status to their + arguments +- reuse typedefs and macros from complete parsing when reparsing the + transformed code +- better explanation when presenting glimpse tokens +- optimization for an if branch that is just { ... } +- spatch -control_flow_to_file file.c generates a file file.dot +- include files with names ending in .cpp if -c++ option is given +- removed use of the no longer supported sexplib function Conv.hashtbl_of_sexp +- add information about which Fedora packages are needed + +** Bugfix: +- improved parsing of expressions to allow ... to the right of operators in + more places +- Fix check_config for Python 2.7 on Fedora 14 (Reported-by: Michael Stefaniuc) +- Check for ocamlfind in configure (Reported-by: Paul E. McKenney) +- Postpone use of ocamlfind at runtime to report fewer errors +- Add support for Python 2.4 binding with the provided pycaml library +- Allow '@' in script code. Thanks to Laurent Reveillere for noticing the + problem. +- Remove an optimization of x or true to true in asttoctl2 for the case + where x may make a modification, eg the case of -thing ?-thing +- Allow adding comments before a function. +- Introduction of newlines in function arguments needs to take into account + that the code added by SmPL can include newlines. Thanks to Thomas + Gleixner for finding the problem. * 0.2.4 ** Language: @@ -36,6 +149,8 @@ - allow an assignment to match a variable initialization, even if multiple variables are declared at the same time. - add the option -recursive_includes +- added the option -use_idutils. The requires the previous use of the + script idutils_index.sh ** Bugfix: - detect used after metavariables in simple statement metavariable match