Use XCAR and XCDR instead of Fcar and Fcdr where possible.
[bpt/emacs.git] / admin / coccinelle / list_loop.cocci
diff --git a/admin/coccinelle/list_loop.cocci b/admin/coccinelle/list_loop.cocci
new file mode 100644 (file)
index 0000000..89f0bff
--- /dev/null
@@ -0,0 +1,19 @@
+// Omit redundant type check, consistently use CONSP.
+@@
+identifier A;
+expression X;
+statement S;
+@@
+(
+for (A = X; 
+- !NILP (A); 
++ CONSP (A);
+- A = Fcdr (A))
++ A = XCDR (A))
+S
+|
+for (A = X; CONSP (A);
+- A = Fcdr (A))
++ A = XCDR (A))
+S
+)