Release coccinelle-0.2.3
authorCoccinelle <cocci@diku.dk>
Sun, 3 Oct 2010 12:04:21 +0000 (14:04 +0200)
committerRene Rydhof Hansen <rrh@cs.aau.dk>
Sun, 3 Oct 2010 12:04:21 +0000 (14:04 +0200)
commit0a774c48beafdc8e75d08120f33d9674048a6599
tree08abbacf028044f134b10b5be20564c7624e4113
parent18b1275a488603d2b4fcf2a36dd4ac14e0518268
Release coccinelle-0.2.3

** Language:
   - <= constraints relating an expression metavariable to one or more
     inherited expression metavariables that it should be a subexpression of
   - the -inplace and -outplace options have been renamed -in_place and
     -out_place.  -in_place no longer makes a backup.  A backup can be
     requested using the option -backup_suffix, eg -backup_suffix .bk
   - identifiers can be constrained to be different from an inherited
     identifier metavariable, or from a set containing both concrete
     identifiers and inherited identifier metavariables.
   - support for ocaml scripting
   - ast available in ocaml scripts

** Features:
   - drop inconsistent paths check when only one node was matched
   - allow #define id with no definition
   - attempt to add newlines in the generated code when function calls in the
     smpl cause passing column 80
   - allow - in front of statement level nests, if everything inside the nest
     is also -
   - 'configure' looks for some system libraries: menhirLib, sexplib, pycaml.
     Not available libraries are replaced by a copy provided with the sources.
   - added static for a function goes just before what is specified in the
     semantic patch, not before any comments etc.
   - Add a new option, -ignore_unknown_options, to ease the integration
     of Coccinelle as a checker in a toolchain.
   - error in python code causes immediate abort of spatch
   - use the same algorithm for collecting grep tokens as for collecting
     glimpse tokens
   - Add scripts/spatch.bash_completion for automatic completion of common
     options under the bash shell.
   - Print rule name when a script rule crashes
   - Allow the declaration of an expression list or parameter list
     metavariable to specify the number of expressions or parameters,
     respectively.

** Bugfix:
   - drop inconsistent paths check when only one node was matched
   - better take into account virtual rules when selecting glimpse tokens
   - print diff when only a comment is added
   - the type of the C code !x should be int regardless of the type of x
   - allow python code at the beginning of an included file
   - better adjustment of whitespace when deleting adjacent lines.  Thanks to
     Wolfram Sang for pointing out the problem.
   - allow metavariables to be inherited from included files
   - allow ? on goto
   - more graceful failure on finding a strange character in a macro parameter
     list
   - support Parameter metavariables
   - add space after the last comma in an added portion of an argument list
   - SmPL nameless struct should only match a nameless struct, not a nameless
     union.  Thanks to Peter Tummeltshammer for pointing out the problem.
   - adjustments to storage don't modify inline as well
   - matching and transformation allowed on inline
   - allow removed field between two ... in structure initialization
   - allow removing an entire structure initialization
   - manage labels within do while 0 macros
   - added space after : in printing a conditional expression.  Thanks to Josh
     Triplett for noticing the problem.
   - dropped trailing whitespace when code at the end of a line is deleted.
     Thanks to Josh Triplett for noticing the problem.
   - Fixed environment management when script rule uses cache.  Thanks to
     Bissyande for finding the problem.
   - when false matches if with no else
   - ensure { ... } with whencode checks to the end of the function.  Thanks to
     Rene Rydhof Hansen for finding the problem.
commitmsg
docs/manual/main_grammar.pdf
docs/manual/manual.pdf
docs/manual/options.pdf
globals/config.ml.in
test.ml