diff options
| author | Paul Eggert | 2017-02-05 13:25:37 -0800 |
|---|---|---|
| committer | Paul Eggert | 2017-02-05 13:30:28 -0800 |
| commit | b7fa6b1f1cee9d1b71553fa665843774d2e5cf3d (patch) | |
| tree | 3a6df68a8377005aec8872de00df48b2cbf9f714 /src/data.c | |
| parent | 5e222f673717718cd0ee209487cc06637bd142fc (diff) | |
| download | emacs-b7fa6b1f1cee9d1b71553fa665843774d2e5cf3d.tar.gz emacs-b7fa6b1f1cee9d1b71553fa665843774d2e5cf3d.zip | |
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) | |||
| 170 | xsignal3 (Qargs_out_of_range, a1, a2, a3); | 170 | xsignal3 (Qargs_out_of_range, a1, a2, a3); |
| 171 | } | 171 | } |
| 172 | 172 | ||
| 173 | void | ||
| 174 | circular_list (Lisp_Object list) | ||
| 175 | { | ||
| 176 | xsignal1 (Qcircular_list, list); | ||
| 177 | } | ||
| 178 | |||
| 173 | 179 | ||
| 174 | /* Data type predicates. */ | 180 | /* Data type predicates. */ |
| 175 | 181 | ||