coccinelle scripts for dynwind
[bpt/emacs.git] / admin / coccinelle / double_unbind.cocci
diff --git a/admin/coccinelle/double_unbind.cocci b/admin/coccinelle/double_unbind.cocci
new file mode 100644 (file)
index 0000000..35ae783
--- /dev/null
@@ -0,0 +1,25 @@
+@double_unbind@
+identifier X1;
+position p;
+@@
+unbind_to (X1, ...)
+... when != X1 = SPECPDL_INDEX ()
+unbind_to@p (X1, ...)
+
+@script:python@
+p << double_unbind.p;
+@@
+coccilib.report.print_report (p[0], "double unbind")
+
+@count_condition@
+identifier X1;
+position p;
+@@
+X1 = SPECPDL_INDEX ()
+...
+if (<+... X1@p ...+>) { ... }
+
+@script:python@
+p << count_condition.p;
+@@
+coccilib.report.print_report (p[0], "specpdl count in condition")