summaryrefslogtreecommitdiff
path: root/srfi/srfi-14.c
AgeCommit message (Collapse)AuthorFilesLines
2010-09-12remove empty srfi-4, srfi-13, and srfi-14 shlibsAndy Wingo1-35/+0
* srfi/srfi-13.c: * srfi/srfi-13.h: * srfi/srfi-14.c: * srfi/srfi-14.h: * srfi/srfi-4.c: * srfi/srfi-4.h: * srfi/Makefile.am: * configure.ac: Remove empty shlibs and headers for srfis 4, 13, and 14. The "version" was never programmatically exported, so there's no possible way people could have used these.
2009-06-17Change Guile license to LGPLv3+Neil Jerram1-6/+7
(Not quite finished, the following will be done tomorrow. module/srfi/*.scm module/rnrs/*.scm module/scripts/*.scm testsuite/*.scm guile-readline/* )
2008-09-13Include <config.h> in all C files; use `#ifdef HAVE_CONFIG_H' rather than `#if'.Ludovic Courtès1-2/+6
2006-04-16merge from 1.8 branchKevin Ryde1-1/+1
2005-05-23The FSF has a new address.Marius Vollmer1-1/+1
2004-08-24* srfi-13.scm, srfi-14.scm: Simply re-export the relevantMarius Vollmer1-1396/+4
bindings. * srfi-13.h, srfi-13.c, srfi-14.h, srfi-14.c: Removed all real content except for the init functions.
2004-08-19Adapted to new internal string and symbol API.Marius Vollmer1-11/+14
2004-07-10Changed all uses of SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,Marius Vollmer1-23/+15
SCM_VALIDATE_BIGINT, SCM_VALIDATE_INUM_MIN, SCM_VALIDATE_INUM_MIN_COPY, SCM_VALIDATE_INUM_MIN_DEF_COPY,SCM_VALIDATE_INUM_DEF, SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_INUM_RANGE, SCM_VALIDATE_INUM_RANGE_COPY to scm_to_size_t or similar.
2004-07-08* numbers.h (SCM_MAKINUM, SCM_I_MAKINUM): Renamed SCM_MAKINUM toMarius Vollmer1-5/+5
SCM_I_MAKINUM and changed all uses.
2004-07-06Replaced all uses of deprecated SCM_FALSEP, SCM_NFALSEP, SCM_BOOL,Marius Vollmer1-12/+12
SCM_NEGATE_BOOL, and SCM_BOOLP with scm_is_false, scm_is_true, scm_from_bool, and scm_is_bool, respectively.
2003-04-05Changed license terms to the plain LGPL thru-out.Marius Vollmer1-37/+11
2002-03-14Retire inclusion guard macro SCM_MAGIC_SNARFER.Thien-Thi Nguyen1-9/+7
2002-02-11Use scm_gc_malloc/scm_malloc and scm_gc_free/free instead ofMarius Vollmer1-1/+1
scm_must_malloc and scm_must_free, as appropriate.
2001-11-11* Documentation work.Neil Jerram1-4/+4
2001-09-21* srfi-14.c (SCM_CHARSET_SET): need 1L, not just 1 in "<<".Rob Browning1-19/+20
(scm_char_set_hash): val needs to be long, not just unsigned. (scm_char_set): need 1L, not just 1 in "<<". (scm_list_to_char_set): need 1L, not just 1 in "<<". (scm_list_to_char_set_x): need 1L, not just 1 in "<<". (scm_list_to_char_set_x): FUNC_NAME was wrong - added a _x. (scm_string_to_char_set): string length var needed to be scm_sizet, not int. (scm_string_to_char_set): need 1L, not just 1 in "<<". (scm_string_to_char_set_x): string length var needed to be scm_sizet, not int. (scm_string_to_char_set_x): need 1L, not just 1 in "<<". (scm_char_set_filter): need 1L, not just 1 in "<<". (scm_char_set_filter_x): need 1L, not just 1 in "<<". (scm_ucs_range_to_char_set): need 1L, not just 1 in "<<". (scm_ucs_range_to_char_set_x): need 1L, not just 1 in "<<". (scm_char_set_adjoin): need 1L, not just 1 in "<<". (scm_char_set_delete): need 1L, not just 1 in "<<". (scm_char_set_adjoin_x): need 1L, not just 1 in "<<". (scm_char_set_delete_x): need 1L, not just 1 in "<<".
2001-07-31 * srfi-14.c (scm_char_set_diff_plus_intersection): wasn't correctlyGary Houston1-15/+44
accounting for the (char-set-union cs2...) in the spec. i.e., (char-set-diff+intersection a) -> copy-of-a, empty-set and the following are equivalent: (char-set-diff+intersection a (char-set #\a) (char-set #\b)) (char-set-diff+intersection a (char-set #\a #\b)) (scm_char_set_xor_x): disabled the side-effecting code, since it gives inconsistent results to scm_char_set_xor for the case (char-set-xor! a a a). (scm_char_set_diff_plus_intersection_x): added cs2 argument, since two arguments are compulsory in final spec. also similar changes as for scm_char_set_diff_plus_intersection. * srfi-14.h (scm_char_set_diff_plus_intersection_x): added cs2.
2001-07-22 Reverse the n-ary logxor change. The behaviour is weird in a setGary Houston1-11/+3
context, but consistent with logxor and scsh. Maybe it should get the benefit of the doubt.
2001-07-22 (scm_char_set_xor): bug fix: characters should only be included ifGary Houston1-3/+11
they occur in exactly one argument, but were included if they occured an odd number of times >= 3, e.g, in (char-set-xor a a a) where a is (char-set #\a). fix it with a "mask" array.
2001-07-22 * srfi-14.c (scm_char_set_intersection, scm_char_set_xor): removeGary Houston1-28/+48
the compulsory cs1 arguments: all args are optional in final spec. * srfi-14.h: declarations updated.
2001-07-17 * srfi-14.c: Okay. Now I got it. Really. This time it's fixed.Martin Grabmüller1-19/+30
Guaranteed. (Maybe) * srfi-19.scm: Define `current-time' before exporting it.
2001-07-17 * srfi-14.c: Fix for bug caused by brain-malfunctioning on myMartin Grabmüller1-23/+22
side. Bit sets were handled wrong because I couldn't tell bit counts from byte counts. Also, the bit array should be 256 / 8 bytes long. Thank you, Gary! Removed unnecessary protoype for scm_char_set_copy.
2001-07-16 * srfi-14.scm: export string->char-set!, not string-char-set!.Gary Houston1-5/+5
* srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next, scm_end_of_char_set_p): reject negative cursor values. (scm_list_to_char_set, scm_list_to_char_set_x): when reporting type error in list component, omit the position (was always 1).
2001-07-16 (scm_char_set_map): Bug-fix: char-set-map was modifying theMartin Grabmüller1-1/+1
argument instead of the return value.
2001-07-16 * srfi-14.c: Allocate correct memory size for charsets (32 bytes),Martin Grabmüller1-5/+7
use this value for initializing and comparing charsets. (scm_char_set_hash): Use ``better'' hash algorithm which produces more values.
2001-07-15 (scm_char_set_hash): bug fix: was overrunning the buffer andGary Houston1-10/+11
calculating based on garbage. (scm_char_set_eq, scm_char_set_leq): fix argument number in error reporting: wasn't incremented due to macro coding. (scm_char_set): report argument number in error reporting: was hard coded to 1. remove a couple of local variables.
2001-07-15 * srfi-14.c (scm_char_set_hash): recognise 0 instead of #f in theGary Houston1-4/+10
opt arg to give default bound, as in final spec. don't allow negative bounds.
2001-07-11 (s_scm_char_set_leq): similarly, (char-set<=) should return #t.Gary Houston1-24/+26
take a single "rest" argument.
2001-07-11 * srfi-14.c (s_scm_char_set_eq): bug fix: (char-set=) shouldGary Houston1-21/+16
return #t instead of giving wrong-number-of-arguments . take a single "rest" argument. use memcmp instead of a loop to compare the values. srfi-14.h: update the declaration.
2001-06-28 * srfi-4.c: Minor cleanups.Martin Grabmüller1-25/+42
* srfi-14.c (scm_char_set_fold, scm_char_set_unfold) (scm_char_set_unfold_x, scm_char_set_for_each) (scm_char_set_map, scm_char_set_filter) (scm_char_set_filter_x, scm_char_set_count) (scm_char_set_every, scm_char_set_any): Replace calls to scm_apply() with the corresponding scm_call_N() functions. * srfi-14.c (scm_char_set_ref, scm_char_set_cursor_next) (scm_char_set_unfold, scm_char_set_unfold_x) (scm_char_set_map, scm_char_set_diff_plus_intersection) (scm_char_set_diff_plus_intersection_x): Replace deprecated macros SCM_LISTN with calls to scm_list_N(). * srfi-13.c (scm_string_tabulate, scm_string_map) (scm_string_map_x, scm_string_unfold) (scm_string_unfold_right): Replace deprecated macros SCM_LISTN with calls to scm_list_N(). * srfi-13.c (scm_string_any, scm_string_every), (scm_string_tabulate, scm_string_trim), (scm_string_trim_right, scm_string_trim_both), (scm_string_compare, scm_string_compare_ci), (scm_string_indexS, scm_string_index_right), (scm_string_skip, scm_string_skip_right, scm_string_count), (scm_string_map, scm_string_map_x, scm_string_fold), (scm_string_fold_right, scm_string_unfold), (scm_string_unfold_right, scm_string_for_each), (scm_string_filter, scm_string_delete): Replace calls to scm_apply() with the corresponding scm_call_N() functions.
2001-06-07* Introduce SCM_UNUSED and mark unused function parameters.Dirk Herrmann1-2/+2
* Introduce SCM_DEBUG_PAIR_ACCESSES. * Extend the possibilities of SCM_DEBUG_CELL_ACCESSES.
2001-05-24* validate.hMichael Livshin1-1/+1
(SCM_NUM2{SIZE,PTRDIFF,SHORT,USHORT,BITS,UBITS,INT,UINT}[_DEF]): new macros. * unif.h: type renaming: scm_array -> scm_array_t scm_array_dim -> scm_array_dim_t the old names are deprecated, all in-Guile uses changed. * tags.h (scm_ubits_t): new typedef, representing unsigned scm_bits_t. * stacks.h: type renaming: scm_info_frame -> scm_info_frame_t scm_stack -> scm_stack_t the old names are deprecated, all in-Guile uses changed. * srcprop.h: type renaming: scm_srcprops -> scm_srcprops_t scm_srcprops_chunk -> scm_srcprops_chunk_t the old names are deprecated, all in-Guile uses changed. * gsubr.c, procs.c, print.c, ports.c, read.c, rdelim.c, ramap.c, rw.c, smob.c, sort.c, srcprop.c, stacks.c, strings.c, strop.c, strorder.c, strports.c, struct.c, symbols.c, unif.c, values.c, vectors.c, vports.c, weaks.c: various int/size_t -> size_t/scm_bits_t changes. * random.h: type renaming: scm_rstate -> scm_rstate_t scm_rng -> scm_rng_t scm_i_rstate -> scm_i_rstate_t the old names are deprecated, all in-Guile uses changed. * procs.h: type renaming: scm_subr_entry -> scm_subr_entry_t the old name is deprecated, all in-Guile uses changed. * options.h (scm_option_t.val): unsigned long -> scm_bits_t. type renaming: scm_option -> scm_option_t the old name is deprecated, all in-Guile uses changed. * objects.c: various long -> scm_bits_t changes. (scm_i_make_class_object): flags: unsigned long -> scm_ubits_t * numbers.h (SCM_FIXNUM_BIT): deprecated, renamed to SCM_I_FIXNUM_BIT. * num2integral.i.c: new file, multiply included by numbers.c, used to "templatize" the various integral <-> num conversion routines. * numbers.c (scm_mkbig, scm_big2num, scm_adjbig, scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl): deprecated. (scm_i_mkbig, scm_i_big2inum, scm_i_adjbig, scm_i_normbig, scm_i_copybig, scm_i_short2big, scm_i_ushort2big, scm_i_int2big, scm_i_uint2big, scm_i_long2big, scm_i_ulong2big, scm_i_bits2big, scm_i_ubits2big, scm_i_size2big, scm_i_ptrdiff2big, scm_i_long_long2big, scm_i_ulong_long2big, scm_i_dbl2big, scm_i_big2dbl, scm_short2num, scm_ushort2num, scm_int2num, scm_uint2num, scm_bits2num, scm_ubits2num, scm_size2num, scm_ptrdiff2num, scm_num2short, scm_num2ushort, scm_num2int, scm_num2uint, scm_num2bits, scm_num2ubits, scm_num2ptrdiff, scm_num2size): new functions. * modules.c (scm_module_reverse_lookup): i, n: int -> scm_bits_t.x * load.c: change int -> size_t in various places (where the variable is used to store a string length). (search-path): call scm_done_free, not scm_done_malloc. * list.c (scm_ilength): return a scm_bits_t, not long. some other {int,long} -> scm_bits_t changes. * hashtab.c: various [u]int -> scm_bits_t changes. scm_ihashx_closure -> scm_ihashx_closure_t (and made a typedef). (scm_ihashx): n: uint -> scm_bits_t use scm_bits2num instead of scm_ulong2num. * gsubr.c: various int -> scm_bits_t changes. * gh_data.c (gh_scm2double): no loss of precision any more. * gh.h (gh_str2scm): len: int -> size_t (gh_{get,set}_substr): start: int -> scm_bits_t, len: int -> size_t (gh_<num>2scm): n: int -> scm_bits_t (gh_*vector_length): return scm_[u]size_t, not unsigned long. (gh_length): return scm_bits_t, not unsigned long. * fports.h: type renaming: scm_fport -> scm_fport_t the old name is deprecated, all in-Guile uses changed. * fports.c (fport_fill_input): count: int -> scm_bits_t (fport_flush): init_size, remaining, count: int -> scm_bits_t * debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr): removed those prototypes, as the functions they prototype don't exist. * fports.c (default_buffer_size): int -> size_t (scm_fport_buffer_add): read_size, write_size: int -> scm_bits_t default_size: int -> size_t (scm_setvbuf): csize: int -> scm_bits_t * fluids.c (n_fluids): int -> scm_bits_t (grow_fluids): old_length, i: int -> scm_bits_t (next_fluid_num, scm_fluid_ref, scm_fluid_set_x): n: int -> scm_bits_t (scm_c_with_fluids): flen, vlen: int -> scm_bits_t * filesys.c (s_scm_open_fdes): changed calls to SCM_NUM2LONG to the new and shiny SCM_NUM2INT. * extensions.c: extension -> extension_t (and made a typedef). * eval.h (SCM_IFRAME): cast to scm_bits_t, not int. just so there are no nasty surprises if/when the various deeply magic tag bits move somewhere else. * eval.c: changed the locals used to store results of SCM_IFRAME, scm_ilength and such to be of type scm_bits_t (and not int/long). (iqq): depth, edepth: int -> scm_bits_t (scm_eval_stack): int -> scm_bits_t (SCM_CEVAL): various vars are not scm_bits_t instead of int. (check_map_args, scm_map, scm_for_each): len: long -> scm_bits_t i: int -> scm_bits_t * environments.c: changed the many calls to scm_ulong2num to scm_ubits2num. (import_environment_fold): proc_as_ul: ulong -> scm_ubits_t * dynwind.c (scm_dowinds): delta: long -> scm_bits_t * debug.h: type renaming: scm_debug_info -> scm_debug_info_t scm_debug_frame -> scm_debug_frame_t the old names are deprecated, all in-Guile uses changed. (scm_debug_eframe_size): int -> scm_bits_t * debug.c (scm_init_debug): use scm_c_define instead of the deprecated scm_define. * continuations.h: type renaming: scm_contregs -> scm_contregs_t the old name is deprecated, all in-Guile uses changed. (scm_contregs_t.num_stack_items): size_t -> scm_bits_t (scm_contregs_t.num_stack_items): ulong -> scm_ubits_t * continuations.c (scm_make_continuation): change the type of stack_size form long to scm_bits_t. * ports.h: type renaming: scm_port_rw_active -> scm_port_rw_active_t (and made a typedef) scm_port -> scm_port_t scm_ptob_descriptor -> scm_ptob_descriptor_t the old names are deprecated, all in-Guile uses changed. (scm_port_t.entry): int -> scm_bits_t. (scm_port_t.line_number): int -> long. (scm_port_t.putback_buf_size): int -> size_t. * __scm.h (long_long, ulong_long): deprecated (they pollute the global namespace and have little value besides that). (SCM_BITS_LENGTH): new, is the bit size of scm_bits_t (i.e. of an SCM handle). (ifdef spaghetti): include sys/types.h and sys/stdtypes.h, if they exist (for size_t & ptrdiff_t) (scm_sizet): deprecated. * Makefile.am (noinst_HEADERS): add num2integral.i.c
2001-05-20(scm_c_init_srfi_14): Added "int" to declaration ofMarius Vollmer1-1/+1
`initialized'.
2001-05-19Avoid using module operations from C.Marius Vollmer1-5/+16
* srfi-13.c (scm_init_srfi_13_14): Removed. * srfi-14.h, srfi-14.c (scm_c_init_srfi_14): New. Contains initializations needed by C clients of srfi-14. (scm_init_srfi_13, scm_init_srfi_14): Call it. * srfi-13.scm: Call "scm_init_srf_13" instead of "scm_init_srfi_13_14". * srfi-14.scm: Call "scm_init_srf_14" instead of "scm_init_srfi_13_14".
2001-05-02 * srfi-14.c, srfi-13.c: Added @bullet to various @itemize lists.Martin Grabmüller1-2/+2
* srfi-10.scm: Typo fix.
2001-04-27 * srfi-13.c (scm_init_srfi_13), srfi-14.c (scm_init_srfi_14):Gary Houston1-1/+1
add "srfi/" to lines including .x files so they can be found when build_dir != src_dir.
2001-04-25 * srfi-13.c (scm_string_replace): Take sizeof (char) into accountMartin Grabmüller1-1/+1
when using memmove(). * srfi-14.h: Added prototypes for all exported procedures.. * srfi-13.c: Include srfi-13.h * srfi-13.h: New file containing the prototypes. * Makefile.am: Removed guile-srfi.texi and info_TEXINFOS variable. (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-14.h, so it gets distributed. (libguile_srfi_srfi_13_14_la_SOURCES): Added srfi-13.h.
2001-04-23Integrated the guile-srfi package into the Guile distribution.Martin Grabmüller1-0/+1361