-*- org -*-
+* upcoming/planned/todo
+** Language:
+- Semantic patch for other languages
+- Support metavariables, virtual rules and virtual identifiers
+ in initialize and finalize rules
+
+** Features:
+- New scripting languages
+
+** Bugfix:
+- Add more information in documentation, man pages and wiki
+
+
+* 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.
+
+** 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 -
+
+** 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
+
+* 0.2.2
+** Language:
+- Added ToTestExpression to iso language, see standard.iso for an
+ explanation
+- Added depends on to initialize and finalize script code
+
+** Features:
+- Update Emacs mode (cocci.el) to support 'virtual' rules and fix other
+ keywords sush as 'depends on', 'using', 'disable'
+- better treatment of != 0 in isos, communtativity for ==/!= for all
+ constants
+- allow adding // comments and blank lines (even after cocci + code)
+- Add support for multiple -I options
+
+** Bugfix:
+- correct interaction between virtual rules and included .cocci files
+- improvement in treatment of ! in isos, to avoid duplicating + code
+- improvement in treatment of metavars as isos, to avoid duplicating + code
+ between toplevel and variable instantiation
+- test expression of smpl conditional, etc no longer assumed to have type
+ int
+- correct + line numbers in the patch produced when using *
+- iso constant metavariable matches an identifier whose name is all capital
+ letters, eg NULL
+- allow / at the end of the name of a directory (-dir) or patch prefix
+ (-patch)
+- dropped space in + code after the binding of a type metavariable that is
+ a pointer type
+- better handling of . or .. in -dir name
+- allow keywords and metavariable names in identifier constraints (not sure
+ keywords is very useful, though)
+- no lubtype on arguments of && and || in SmPL
+- allow unknown as type for array indices in SmPL
+- support matching of static annotation on functions that are both static
+ and inline
+- support ENOTDIR error in Common.lfile_exists, to allow for the case where
+ an include file is in a subdirectory that exists but is an ordinary file,
+ not a directory.
+- better management of unbound position variables that appear in
+ constraints
+- cause python parser to skip over // comments, hoping that // is not
+ meaningful inside python
+- require + on every line of a multiline comment
+- correct calculation of line numbers when there is script code
+- always annotate arguments of && || and ! as test expressions in C code.
+
+* 0.2.1
+** Language:
+- Add virtual identifiers
+- Add coccilib.report and coccilib.trac Python modules
+- coccilib.org and coccilib.report are imported by default but not loaded
+ in the current scope.
+
+** Features:
+- Parse_error_msg now more helpful. New option -verbose_parsing for even
+ more information.
+- Improve Python import handling. They are imported once during script
+ initialization.
+
+** Bugfix:
+- correct treatment of depends on with || for virtual rules
+
* 0.2.0
** Language:
- added -keep_comments option for the unparsing of the transformed code
- Option "-version" now also gives information about built-in
Python binding support.
+- slightly faster environment manipulation in pathological cases
+- hack added to accept well-formed #define after function header
** Bugfix:
-- proper consideration of #define macro arguments in checking for the use
+- Proper consideration of #define macro arguments in checking for the use
of metavariables and in computing the line numbers of complex terms
-- better parsing of included .cocci files
-- put included .cocci files in the right order
-- bind position variables only once for #include
-- fix bug in include_match that caused everything to halt when all matches
+- Better parsing of included .cocci files
+- Put included .cocci files in the right order
+- Bind position variables only once for #include
+- Fix bug in include_match that caused everything to halt when all matches
were discarded
+- Merge unlikely/likely iso rules under a iso rule named unlikely
+- Some fixes to coccicheck rules, thanks to Andrew Lunn
+- Support groups in regular expression, thanks to Michael Stefaniuc
* 0.1.11
- isomorphisms don't apply under signed/unsigned, to prevent the creation
of things like unsigned signed int. Need a better solution for this.
-
* 0.1.3
** Features: