diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-02-05 13:25:37 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-02-05 13:30:28 -0800 |
commit | b7fa6b1f1cee9d1b71553fa665843774d2e5cf3d (patch) | |
tree | 3a6df68a8377005aec8872de00df48b2cbf9f714 /src/data.c | |
parent | 5e222f673717718cd0ee209487cc06637bd142fc (diff) | |
download | emacs-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.c | 6 |
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. */ |