All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cocci] version 1.0.3 released
@ 2015-10-26 21:12 Julia Lawall
  2015-10-27  9:38 ` Sébastien Hinderer
                   ` (2 more replies)
  0 siblings, 3 replies; 41+ messages in thread
From: Julia Lawall @ 2015-10-26 21:12 UTC (permalink / raw)
  To: cocci

Highlights:

* Support for people who don't like tabs
* .cocciconfig configuration file
* Statement list metavariables
* Default values for script metavariables
* Conjunctions

------------------------------
Details:

* OCaml 3.11 is no longer supported

* A new option --indent is added, giving the default number of spaces to 
indent when Coccinelle is no able to infer anything from the context.  
This is for use with software that does not use tabs for indenting.

* It is now possible to make a .cocciconfig configuration file.  This is 
quite minimalistic.  There should be a line containing [spatch] followed 
by any number of lines that contain, eg

options = --some --options

The options accumulate.  They should have the same form as they do on the 
command line.  .cocciconfig files can be placed in the user's home 
directory, the directory from which spatch is called, and the directory 
provided with the --dir option.  The .cocciconfig file in the user's home 
directory is processed first, the .cocciconfig file in the directory from 
which spatch is called is processed next, and the .cocciconfig file in the 
directory provided with the --dir option is processed last.  In each case, 
the read options extend/override the previously read ones.  In all cases, 
the user can extend/override the options found in the .cocciconfig files 
on the command line.

* --timeout 0 means no timeout.  This can be useful for overriding a timeout 
in a .cocciconfig file.

* The option --print-options-only makes it possible to see the accumulated 
list of options, including the options obtained from the .cocciconfig 
file.

* It is now possible to use a statement list metavariable to match the 
complete series of statements from the beginning to the end of a block.  
This can be helpful in moving a function definition from one place to 
another.

* It is now possible to provide default value for script metavariables, as 
illustrated by the following example:

f << r.f = "no function";

For a position variable, the only default value is the empty list, ie:

p << r.p = [];

Previously a script would only be executed if values for all of the 
metavariables were provided.  Now it is only the metavariables that do not 
have default values that are needed.

This is illustrated in demos/defaultscript.cocci

* There is now support for conjunctions ( & ... & ).  As for a 
disjunction, the () and & should be in column 0.  A conjunction requires 
two patterns to match against a given piece of code in a consistent way.  
It may help reduce the need for using position variables to rematch things 
in multiple rules.  An example is in demos/conjunction.cocci.

* The dependency on ocamlp4 is removed, except when support for python is 
included.

julia

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2016-07-29 11:03 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-26 21:12 [Cocci] version 1.0.3 released Julia Lawall
2015-10-27  9:38 ` Sébastien Hinderer
2015-10-27 10:14 ` Richard W.M. Jones
2015-10-27 10:25   ` Sébastien Hinderer
2015-10-27 11:57     ` Richard W.M. Jones
2015-10-27 12:13       ` Sébastien Hinderer
2015-10-27 12:37       ` Sébastien Hinderer
2015-10-27 21:26         ` Richard W.M. Jones
2015-10-28  7:08           ` Julia Lawall
2015-10-28  7:33             ` Julia Lawall
2015-10-28 10:13               ` Sébastien Hinderer
2015-10-28 10:51             ` Richard W.M. Jones
2015-10-28 22:06         ` [Cocci] version 1.0.4 released Julia Lawall
2016-07-19 10:05           ` Richard W.M. Jones
2016-07-19 10:07             ` Julia Lawall
2016-07-19 10:13               ` Richard W.M. Jones
2016-07-28  8:32           ` [Cocci] Determination of statement list lengths with SmPL SF Markus Elfring
2016-07-28  8:36             ` Julia Lawall
2016-07-28  8:42               ` SF Markus Elfring
2016-07-28 12:34               ` SF Markus Elfring
2016-07-28 12:38                 ` Julia Lawall
2016-07-28 12:51                   ` SF Markus Elfring
2016-07-28 12:59                     ` Julia Lawall
2016-07-28 13:21                       ` SF Markus Elfring
2016-07-28 14:30                         ` Julia Lawall
2016-07-28 16:21                           ` SF Markus Elfring
2016-07-28 16:26                             ` Julia Lawall
2016-07-28 16:52                               ` SF Markus Elfring
2016-07-28 18:18                       ` SF Markus Elfring
2016-07-29 11:03                   ` [Cocci] Exclusion of else branches from if statements " SF Markus Elfring
2015-10-29 10:21 ` [Cocci] Release 1.0.3: Clarification around SmPL conjunctions SF Markus Elfring
2015-10-30 13:08   ` Julia Lawall
2015-10-30 14:10     ` SF Markus Elfring
2015-10-30 14:35       ` Julia Lawall
2015-10-30 14:51         ` SF Markus Elfring
2015-10-30 15:09           ` Julia Lawall
2015-10-30 15:27             ` SF Markus Elfring
2015-10-30 15:43               ` Julia Lawall
2015-10-30 15:46                 ` SF Markus Elfring
2015-10-30 16:06                   ` Julia Lawall
2015-10-30 16:52                     ` SF Markus Elfring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.