summaryrefslogtreecommitdiff
path: root/srfi/srfi-1.c
AgeCommit message (Collapse)AuthorFilesLines
2008-09-13Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than `#if'.Ludovic Courtès1-1/+1
2008-04-28Fix type-checking of SRFI-1 `partition'.Ludovic Courtès1-2/+9
2008-04-27Include <config.h> in SRFI-1.Ludovic Courtès1-1/+5
2006-06-17merge 1.8 branchKevin Ryde1-1/+60
2006-02-04(scm_srfi1_delete, scm_srfi1_delete_duplicates): Use aKevin Ryde1-56/+87
count to protect against nasty code in the equality procedure changing the lists we're working on. The results don't have to be sensible in that case, just not hang or access non-cells.
2005-11-23(lset-difference!): Rewrite in C.Kevin Ryde1-0/+61
2005-08-11Use scm_is_null instead of SCM_NULLP. Thanks to Peter Gavin!Marius Vollmer1-2/+2
2005-07-31(check_map_args): Move check_map_error label and elt variable outsideMarius Vollmer1-11/+14
of loop scope so that we do not jump past the initialization of elt.
2005-06-12Do not use INUM macros, they are deprecated.Marius Vollmer1-9/+8
2005-05-23The FSF has a new address.Marius Vollmer1-1/+1
2005-05-06(car+cdr, fold, last, list-index,Kevin Ryde1-0/+289
list-tabulate, not-pair, xcons): Rewrite in C.
2005-05-03(fifth, sixth, seventh, eighth, ninth, tenth): Rewrite in C.Kevin Ryde1-0/+61
2005-05-03(break, break!): Rewrite in C.Kevin Ryde1-0/+70
2005-05-03(drop-right!, drop-while,Kevin Ryde1-0/+381
lset-adjoin, reduce, reduce-right, span, take!, take-while, take-while!): Rewrite in C.
2005-04-23(scm_srfi1_count, scm_srfi1_filter_map): Don't modify theKevin Ryde1-24/+28
rest argument, that belongs to the caller when reached from apply. Use a temp vector like scm_srfi1_for_each.
2005-04-03(scm_srfi1_concatenate, scm_srfi1_concatenate_x): Add codeKevin Ryde1-5/+32
to check argument is a list, scm_append and scm_append_x don't do that on their "rest" list (in a normal build).
2005-04-02(alist-copy): Rewrite in C.Kevin Ryde1-0/+34
2005-04-01(scm_srfi1_filter_map): Have 2-arg case share finalizationKevin Ryde1-5/+2
code of 1-arg case.
2005-04-01(scm_srfi1_count): Use scm_list_copy to make arg list,Kevin Ryde1-17/+15
instead of an inline loop. Share final list check between all cases to save some code.
2005-03-17(filter-map): Rewrite in C.Kevin Ryde1-0/+112
2005-03-15(split-at, split-at!): Rewrite in C.Kevin Ryde1-0/+51
2005-03-15(drop-right, partition!, remove!, take-right): Rewrite in C.Kevin Ryde1-0/+130
remove! derived from core filter!.
2005-03-13(find, find-tail): Rewrite in C.Kevin Ryde1-0/+43
2005-03-02Use scm_is_pair instead of SCM_CONSP; use scm_is_null instead ofMarius Vollmer1-28/+28
SCM_NULLP.
2005-01-28(remove): Rewrite in C, a trivial adaption from scm_filter in the core.Kevin Ryde1-0/+31
2005-01-23(scm_srfi1_member): Update docstring from manual.Kevin Ryde1-8/+15
2005-01-23(scm_srfi1_member): Correction to pred call arg order, srfiKevin Ryde1-1/+1
spec is (PRED X elem).
2005-01-10(check_args): Bugfix to change from 2005-01-02: ARGV is the vector toMarius Vollmer1-1/+1
check, not ARGS.
2005-01-02Use new vector elements API or simple vector API, asMarius Vollmer1-15/+13
appropriate.
2004-09-032004-09-03 Stefan Jahn <stefan@lkcc.org>Stefan Jahn1-14/+14
* configure.in (isinf): Let configure find the isinf() function on MinGW32 systems. 2004-09-03 Stefan Jahn <stefan@lkcc.org> * threads.c (scm_threads_mark_stacks): Fixed local variable definitions. * strings.c (scm_i_substring_copy, s_scm_string_append): Fixed local variable definitions. * stime.c (_POSIX_C_SOURCE): Do not define this item on MinGW32 because it conflicts with its pthread headers. (s_scm_mktime): Consider the HAVE_STRUCT_TM_TM_ZONE define. (s_scm_strftime): Using scm_from_locale_string() instead of scm_makfrom0str(). * posix.c (s_scm_putenv): Fixed typo in the !HAVE_UNSETENV part. * numbers.c (scm_init_numbers): Removed check_sanity() call inside GUILE_DEBUG. The function has been removed somewhen... * filesys.c (_POSIX_C_SOURCE): Do not define this item on MinGW32 because it conflicts with its pthread headers. 2004-09-03 Stefan Jahn <stefan@lkcc.org> * srfi-1.c, srfi-1.h: Renamed any 'lst1' into 'list1' because lst1 is a #define on Win32 systems.
2004-07-27* tags.h, deprecated.h (SCM_EQ_P): Deprecated by moving it intoMarius Vollmer1-5/+5
deprecated.h. Replaced all uses with scm_is_eq.
2004-07-08* numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM toMarius Vollmer1-2/+2
SCM_I_MAKINUM and changed all uses.
2004-07-06Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,Marius Vollmer1-11/+11
SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and scm_is_bool, respectively.
2003-12-02(count): Rewrite in C, avoiding non-tail recursion.Kevin Ryde1-0/+103
2003-08-22(list-copy): New function, derivedKevin Ryde1-0/+33
from core list-copy but allowing improper lists, per SRFI-1 spec.
2003-07-28(length+): Rewrite using scm_ilength.Kevin Ryde1-0/+12
2003-07-28(concatenate, concatenate!): Use scm_append and scm_append_x.Kevin Ryde1-0/+8
2003-07-132003-07-14 Matthias Koeppe <mkoeppe@mail.math.uni-magdeburg.de>Kevin Ryde1-0/+40
* srfi-1.c, srfi-1.h (scm_srfi1_partition), srfi-1.scm (partition): Re-implement in C to avoid stack overflows for long input lists.
2003-07-08(scm_srfi1_delete, scm_srfi1_delete_x,Kevin Ryde1-7/+308
scm_srfi1_delete_duplicates, scm_srfi1_delete_duplicates_x): New functions. scm_srfi1_delete_x is derived from scm_delete_x.
2003-04-21 * srfi/srfi-1.c (srfi1_ilength), libguile/list.c (scm_ilength,Dirk Herrmann1-2/+2
scm_last_pair), libguile/unif.c (l2ra): Prefer !SCM_CONSP over SCM_NCONSP. * libguile/unif.c (l2ra): Eliminate redundant check. Now, guile itself does not include any calls to SCM_NCONSP any more.
2003-04-05Changed license terms to the plain LGPL thru-out.Marius Vollmer1-38/+12
2003-03-06* srfi-1.c (scm_init_srfi_1): Extend root module map and for-eachMikael Djurfeldt1-0/+7
with the versions in this module using scm_c_extend_primitive_generic. * goops.scm (equal?): Define default method. * goops.c (scm_primitive_generic_generic): Enable primitive generic if not enabled. (scm_sys_goops_loaded): Setup unextended primitive generics. * goops.c, goops.h (scm_c_extend_primitive_generic): New function. * snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New snarf macros. * numbers.c (scm_abs): Use SCM_PRIMITIVE_GENERIC. (This is only a testing example. All uses of SCM_GPROC should be converted.) * procprop.c (scm_stand_in_scm_proc): Use scm_assq instead of scm_assoc. * eq.c (scm_equal_p): Turned into a primitive generic.
2003-02-03* srfi-1.c (srfi1_for_each): Corrected argument checking for theMikael Djurfeldt1-4/+4
case of two argument lists. (Thanks to Kevin Ryde.)
2002-12-01* srfi-1.scm: Load srfi-1 extension.Mikael Djurfeldt1-2/+34
(map, map-in-order, for-each, member, assoc): Replaced by primitives in srfi-1.c. (map1): Defined as `map'.
2002-12-01* srfi-1.scm: Load srfi-1 extension.Mikael Djurfeldt1-0/+324
(map, map-in-order, for-each, member): Replaced by primitives in srfi-1.c. * Makefile.am: Added rules for srfi-1.c. * srfi-1.c, srfi-1.h: New files.