comparison src/ChangeLog @ 5393:e99b473303e3

Use GC_EXTERNAL_LIST_LOOP_* where appropriate, fns.c src/ChangeLog addition: 2011-04-04 Aidan Kehoe <kehoea@parhasard.net> * lisp.h (GC_EXTERNAL_LIST_LOOP_3, GC_EXTERNAL_LIST_LOOP_4): New. * fns.c (count_with_tail, list_position_cons_before, FassocX): * fns.c (FrassocX, position, FdeleteX, FremoveX): * fns.c (list_delete_duplicates_from_end): * fns.c (Fdelete_duplicates, Fremove_duplicates, Freduce): * fns.c (Fnsubstitute, Fsubstitute, sublis, nsublis, Fnsublis): * fns.c (venn, nvenn, Funion, Fset_exclusive_or, Fnset_exclusive_or): Use GC_EXTERNAL_LIST_LOOP_* in the sequence functions in fns.c where appropriate, there were some corner cases where my old approach was unsafe (mainly if the circularity checking's tortoise lost GCPRO protection. Add GC_EXTERNAL_LIST_LOOP_{3,4}, analogous to GC_EXTERNAL_LIST_LOOP_2.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 04 Apr 2011 00:20:09 +0100
parents af961911bcb2
children 484b437fc7b4
comparison
equal deleted inserted replaced
5392:25c10648ffba 5393:e99b473303e3
1 2011-04-04 Aidan Kehoe <kehoea@parhasard.net>
2
3 * lisp.h (GC_EXTERNAL_LIST_LOOP_3, GC_EXTERNAL_LIST_LOOP_4): New.
4 * fns.c (count_with_tail, list_position_cons_before, FassocX):
5 * fns.c (FrassocX, position, FdeleteX, FremoveX):
6 * fns.c (list_delete_duplicates_from_end):
7 * fns.c (Fdelete_duplicates, Fremove_duplicates, Freduce):
8 * fns.c (Fnsubstitute, Fsubstitute, sublis, nsublis, Fnsublis):
9 * fns.c (venn, nvenn, Funion, Fset_exclusive_or, Fnset_exclusive_or):
10 Use GC_EXTERNAL_LIST_LOOP_* in the sequence functions in fns.c
11 where appropriate, there were some corner cases where my old
12 approach was unsafe (mainly if the circularity checking's tortoise
13 lost GCPRO protection.
14 Add GC_EXTERNAL_LIST_LOOP_{3,4}, analogous to
15 GC_EXTERNAL_LIST_LOOP_2.
16
1 2011-03-24 Jerry James <james@xemacs.org> 17 2011-03-24 Jerry James <james@xemacs.org>
2 18
3 * alloc.c (listu): Assemble the list in the right order so we don't 19 * alloc.c (listu): Assemble the list in the right order so we don't
4 have to reverse it. 20 have to reverse it.
5 (listn): Ditto. 21 (listn): Ditto.