summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-02-05 13:25:37 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2017-02-05 13:30:28 -0800
commitb7fa6b1f1cee9d1b71553fa665843774d2e5cf3d (patch)
tree3a6df68a8377005aec8872de00df48b2cbf9f714 /src/data.c
parent5e222f673717718cd0ee209487cc06637bd142fc (diff)
downloademacs-b7fa6b1f1cee9d1b71553fa665843774d2e5cf3d.tar.gz
Simplify use of FOR_EACH_TAIL
* src/data.c (circular_list): New function. * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop decl, to eliminate the need for the args TAIL, TORTOISE and N, and to speed things up a bit on typical hosts with optimization. All uses changed (Bug#25605).
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c
index 8e07bf01b44..12dc2df0bac 100644
--- a/src/data.c
+++ b/src/data.c
@@ -170,6 +170,12 @@ args_out_of_range_3 (Lisp_Object a1, Lisp_Object a2, Lisp_Object a3)
xsignal3 (Qargs_out_of_range, a1, a2, a3);
}
+void
+circular_list (Lisp_Object list)
+{
+ xsignal1 (Qcircular_list, list);
+}
+
/* Data type predicates. */