X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/c07b3fefa5efb7a4f9419260285c8229b1e92487..c99f96051839bbc87146e32e7462d61e1b4768d3:/libguile/ChangeLog diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 62a0ad945..f24f54e68 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,5 +1,1074 @@ +2001-05-31 Michael Livshin + + * guile-snarf-docs.in, guile-snarf-docs-texi.in, + filter-doc-snarfage.c: new files. + + * Makefile.am: add stuff to [build,] use and distribute + guile-snarf-docs, guile-snarf-docs-texi, guile_filter_doc_snarfage. + + * guile-snarf.in: grok the new snarf output. + + * snarf.h: make the output both texttools- and `read'-friendly. + + * guile-doc-snarf.in (bindir): reimplement in terms of guile-snarf + and guile-snarf-docs. (should also deprecate, I guess. maybe + not). + +2001-05-31 Marius Vollmer + + * print.c (scm_simple_format): Support "~~" and "~%". Signal + error for unsupported format controls and for superflous + arguments. Thanks to David Skarda! + + * print.h, print.c (scm_print_symbol_name): Factored out of + scm_iprin1. + (scm_iprin1): Call it. + + * keywords.c (keyword_print): Use scm_print_symbol_name so that + weird names are printed correctly. + + * print.c (scm_print_symbol_name): Symbols whose name starts with + `#' or `:' or ends with `:' are considered weird. + +2001-05-30 Martin Grabmueller + + * numbers.c (scm_difference, scm_divide): Clarified comments for - + and /. + +2001-05-29 Martin Grabmueller + + * debug.h: Removed prototype for scm_eval_string. + +2001-05-28 Martin Grabmueller + + * symbols.c (scm_gensym): Fix buffer overrun (try `(gensym + (make-string 2000 #\!))' in an older version). + + Change strncpy to memcpy to allow embedded NUL characters in + symbol prefix. + +2001-05-28 Michael Livshin + + * hooks.c (scm_create_hook): deprecated. + (make_hook): deleted. + (scm_make_hook): all the hook creation code is now here. + + * gc.c (scm_init_gc): don't call `scm_create_hook'. instead make + a hook, make it permanent, and do a `scm_c_define' on it. + + * strop.c (s_scm_string_capitalize_x): fix docstring quoting. + + * socket.c (s_scm_inet_pton): fix docstring quoting. + (s_scm_inet_ntop): ditto. + + * num2integral.i.c (INTEGRAL2NUM): cast to fix a warning. + + * hashtab.c (scm_internal_hash_fold): fix argument position in + SCM_ASSERT. + + * environments.c (s_scm_import_environment_set_imports_x): fix + argument position in SCM_ASSERT. + + * debug.c (s_scm_make_gloc): fix SCM packing/unpacking. + (s_scm_make_iloc): ditto. + +2001-05-26 Dirk Herrmann + + * __scm.h (SCM_DEBUG_TYPING_STRICTNESS): Make 1 the default. + + * eval.c (promise_print): Read the promise's value as an object. + + (SCM_CEVAL): Don't perform side-effecting operations in macro + parameters. + + * eval.h (SCM_EVALIM2): Fix the typing strictness of the + conditional expression. + + * gc.c (scm_master_freelist, scm_master_freelist2): Added missing + initializer. + + * gh_data.c (gh_set_substr): Removed redundant unsigned >= 0 + text, removed redundant computation of effective_length and fixed + the overflow check. + + * goops.c (test_slot_existence): Use SCM_EQ_P to compare SCM + values. + + (wrap_init): Don't use SCM_C[AD]R for non pairs. + + (hell): Make it a scm_bits_t pointer rather than a SCM pointer. + + * goops.c (scm_sys_modify_class), strports.c (st_resize_port), + struct.h (SCM_SET_STRUCT_PRINTER): Store unpacked values. + + * goops.h (SCM_ACCESSORS_OF, SCM_SLOT): Return a SCM value. + + * goops.h (GOOPSH, SCM_GOOPS_H), modules.h (MODULESH, + SCM_MODULES_H), objects.h (OBJECTSH, SCM_OBJECTS_H), struct.h + (STRUCTH, SCM_STRUCT_H), symbols.h (SYMBOLSH, SCM_SYMBOLS_H), + __scm.h (__SCMH, SCM___SCM_H): Change H to SCM__H. + + * modules.[ch] (scm_module_tag): Make it a scm_bits_t value. + + * objects.h (SCM_SET_CLASS_INSTANCE_SIZE): Fixed typing. + + * ramap.c (ramap_rp): Removed bogus `;´. + + * sort.c (scm_restricted_vector_sort_x): Fixed signedness + problem. + + * symbols.h (SCM_PROP_SLOTS, SCM_SET_PROP_SLOTS, SCM_SYMBOL_FUNC, + SCM_SET_SYMBOL_FUNC, SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS): + Read SCM objects rather than scm_bits_t values. + + * tags.h (SCM_VOIDP_TEST): Removed. + + (SCM_DEBUG_TYPING_STRICTNESS): Now takes values 0, 1, 2. The + value of 2 now corresponds to the former 1, the current 1 + corresponds to the former situation that SCM_VOIDP_TEST was + defined. + + (SCM): Now defined as typedef struct scm_unused_struct * SCM; + If this appears to be not ANSI compliant, we will change it to + typedef struct scm_unused_struct { } * SCM; + Thanks to Han-Wen Nienhuys for the suggestion. + + * unif.c (scm_array_set_x): Fix typing problem, and use + SCM_UVECTOR_BASE instead of SCM_VELTS or SCM_CELL_WORD_1 when + dealing with uniform vectors. + +2001-05-27 Michael Livshin + + * gc.c (scm_init_storage): init `scm_gc_registered_roots'. + (scm_igc): mark from them, too (precisely, not conservatively!). + + * root.h (scm_gc_registered_roots): new object in + scm_sys_protects. + + * hooks.c (scm_create_hook): call `scm_gc_protect_object' instead + `scm_protect_object'. shouldn't call it at all, though, it seems. + + * gc.c (scm_[un]protect_object): deprecated. + (scm_gc_[un]protect_object): new names for scm_[un]protect_object. + (scm_gc_[un]register_root[s]): new. + + * gc.h: add prototypes for scm_gc_[un]protect_object, + scm_gc_[un]register_root[s]. + +2001-05-26 Michael Livshin + + revert the controversial part of the 2001-05-24 changes. + +2001-05-25 Marius Vollmer + + * modules.c (scm_env_module): Exported to Scheme. + + * eval.c (scm_debug_opts): New option `show-file-name'. + + * debug.h (SCM_SHOW_FILE_NAME): New. + + * backtrace.c: Include "libguile/filesys.h". + (sym_base, display_backtrace_get_file_line, + display_backtrace_file, display_backtrace_file_and_line): New. + (display_frame): Call display_backtrace_file_and_line if that is + requested. + (display_backtrace_body): Call scm_display_backtrace_file if + requested. + + * debug.h (scm_lookup_cstr, scm_lookup_soft, scm_evstr): + Prototypes removed since there's no definition for these + functions. + +2001-05-24 Martin Grabmueller + + * unif.c (scm_make_ra, array_free), unif.h (SCM_ARRAY_DIMS): + Changed use of scm_array->scm_array_t and + scm_array_dim->scm_array_dim_t to enable build with + --disable-deprecated. + +2001-05-24 Michael Livshin + + The purpose of this set of changes is to regularize Guile's usage + of ANSI C integral types, with the following ideas in mind: + + - SCM does not nesessarily have to be long. + - long is not nesessarily enough to store pointers. + - long is not nesessarily the same size as int. + + The changes are incomplete and possibly buggy. Please test on + something exotic. + + * validate.h + (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. + + * 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. + + * goops.[hc]: various {int,long} -> scm_bits_t changes. + + * gh_data.c (gh_num2int): 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_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. + + * gc.[hc]: various small changes relating to many things stopping + being long and starting being scm_[u]bits_t instead. + scm_mallocated should no longer wrap around. + + * 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 from 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 beside 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-23 Marius Vollmer + + * snarf.h (SCM_CONST_LONG): Use SCM_VCELL_INIT instead of + SCM_VARIABLE_INIT since that it what it used to be. + + * deprecation.c (scm_include_deprecated_features): Make docstring + ANSIsh. Thanks to Matthias Köppe! + +2001-05-21 Marius Vollmer + + * symbols.c (scm_mem2symbol): Re-introduce indirect cell. It is + needed for weak-key hashtables. + + * procs.c (scm_make_subr_with_generic): Add missing last argument + in call to scm_c_define_gsubr_with_generic. Thanks to Ariel Rios. + + * eval.c: Use SCM_EQ_P instead of `==' or `!=' in certain + places. (scm_c_improper_memq): Return 1 instead of SCM_BOOL_T. + + * eval.h (SCM_EVALIM2): Use SCM_EQ_P instead of `=='. + +2001-05-20 Marius Vollmer + + * symbols.c (scm_mem2symbol): Call `scm_must_strndup' instead of + `duplicate_string'. Do not use an indirect cell, store symbol + directly in collision list of hash table. + (duplicate_string): Removed. + + * init.c (scm_init_guile_1): Call scm_init_extensions. + + * Makefile.am: Add "extensions.c" and related files in all the + right places. + + * extensions.h, extension.c: New files. + + * gc.h, gc.c (scm_must_strdup, scm_must_strndup): New. + + * modules.h (scm_system_module_env_p): Move out of deprecated + section. + + * rw.h (scm_init_rw): Added prototype. + + * gsubr.h, gsubr.c (scm_c_make_gsubr, scm_c_define_gsubr, + scm_c_make_gsubr_with_generic, scm_c_define_gsubr_with_generic): + New functions. They replace scm_make_gsubr and + scm_make_gsubr_with_generic. The `make' variants only create the + gsubr object, while the `define' variants also put it into the + current module. Changed all callers. + (scm_make_gsubr, scm_make_gsubr_with_generic): Deprecated. + + * procs.h, procs.c (scm_c_make_subr, scm_c_define_subr, + scm_c_make_subr_with_generic, scm_c_define_subr_with_generic): New + functions. They replace scm_make_subr, scm_make_subr_opt and + scm_make_subr_with_generic. The `make' variants only create the + subr object, while the `define' variants also put it into the + current module. Changed all callers. + (scm_make_subr, scm_make_subr_opt, scm_make_subr_with_generic): + Deprecated. + + * eval.c, gc.c, gh_funcs.c, goops.c, macros.c, pairs.c, ramap.c, + rdelim.c, rw.c, scmsigs.c, snarf.h, values.c: Changed according to + the comments above. + +2001-05-19 Neil Jerram + + * throw.c (scm_lazy_catch): Slight docstring clarification. + +2001-05-19 Marius Vollmer + + * throw.c: Lazy-catch handlers are no longer allowed to return. + Fixed comments throughout. + (scm_ithrow): Signal an error when a lazy-catch handler returns. + Moved actual jump to jmpbuf into if-branch where the jmpbuf is + recognized as such. + + * version.c (s_scm_micro_version): Fix typo in FUNC_NAME, it + refered to s_scm_minor_version previously. + + * modules.h, modules.c: Moved around a lot of code so that + deprecated features appear at the bottom. + (root_module_lookup_closure, scm_sym_app, scm_sym_modules, + module_prefix, make_modules_in_var, beautify_user_module_x_var, + scm_the_root_module, scm_make_module, scm_ensure_user_module, + scm_load_scheme_module): Deprecated. + (scm_system_module_env_p): Return SCM_BOOL_T directly for + environments corresponding to the root module. + (convert_module_name, scm_c_resolve_module, + scm_c_call_with_current_module, scm_c_define_module, + scm_c_use_module, scm_c_export): New. + (the_root_module): New static variant of scm_the_root_module. Use + it everywhere instead of scm_the_root_module. + + * fluids.h, fluids.c (scm_internal_with_fluids): Deprecated. + (scm_c_with_fluids): Renamed from scm_internal_with_fluids. + (scm_c_with_fluid): New. + (scm_with_fluids): Use scm_c_with_fluids instead of + scm_internal_with_fluids. + + * goops.h, goops.c (scm_init_goops_builtins): Renamed from + `scm_init_goops'. Do not explicitly create/switch modules. + Return SCM_UNSPECIFIED. + (scm_init_goops): Only register `%init-goops-builtins' procedure. + (scm_load_goops): Use scm_c_resolve_module instead of + scm_resolve_module. + + * init.c (scm_init_guile_1): Call `scm_init_goops' instead of + `scm_init_oop_goops_goopscore_module'. Call `scm_init_rdelim' and + `scm_init_rw' prior to loading the startup files. + + * rdelim.h, rdelim.c: (scm_init_rdelim_builtins): Renamed from + scm_init_rdelim. Do not explicitly create/switch modules. + Return SCM_UNSPECIFIED. + (scm_init_rdelim): Only register `%init-rdelim-builtins' + procedure. + + * rw.c (scm_init_rw_builtins): Renamed from scm_init_rw. Do not + explicitly create/switch modules. Return SCM_UNSPECIFIED. + (scm_init_rw): Only register `%init-rw-builtins' procedure. + + * script.c (scm_shell): Evaluate the compiled switches in the + current module, not in the root module. + +2001-05-18 Marius Vollmer + + * fluids.c (scm_c_with_fluids): Rename from + scm_internal_with_fluids. + (scm_internal_with_fluids): Deprecated. + (scm_c_with_fluid): New. + +2001-05-17 Dirk Herrmann + + * print.h (PRINTH, SCM_PRINT_H): Renamed PRINTH to SCM_PRINT_H. + + (SCM_PORT_WITH_PS_PORT, SCM_PORT_WITH_PS_PS): Only pairs may be + accessed with SCM_C[AD]R. + + (SCM_COERCE_OUTPORT): Removed redundant SCM_NIMP test. + +2001-05-16 Rob Browning + + * version.c (s_scm_major_version): doc fixes. + (s_scm_minor_version): doc fixes. + (s_scm_minor_version): new function. + + * version.h (scm_init_version): new function. + + * versiondat.h.in: add GUILE_MICRO_VERSION. + +2001-05-16 Dirk Herrmann + + * deprecation.c (scm_init_deprecation): Renamed + GUILE_WARN_DEPRECATED_DEFAULT to SCM_WARN_DEPRECATED_DEFAULT. + +2001-05-16 Marius Vollmer + + * Makefile.am (cpp_sig_symbols.c, cpp_err_symbols.c): Make + dependent on cpp_cnvt.awk + +2001-05-15 Martin Grabmueller + + * script.c (scm_compile_shell_switches): New command line option + `--use-srfi' for loading a list of SRFIs on startup. + (scm_shell_usage): Added `--use-srfi' to help message. + +2001-05-10 Marius Vollmer + + Merged from mvo-vcell-cleanup-1-branch. + + The concept of vcells has been removed from Guile. With it, + explicit obarrays and associated operations are gone. Use + hashtables instead of obarrays. + + Throughout: use scm_sym2var instead of scm_sym2vcell and treat + result as variable instead of vcell. Glocs no longer point to a + vcell but to a variable. Use scm_c_define instead of + scm_sysintern and treat the result as a variable (which it is), + not a vcell. + + * variable.c, variable.h (SCM_VARVCELL, SCM_UDVARIABLEP, + SCM_DEFVARIABLEP): Deprecated. + (SCM_VARIABLE_REF, SCM_VARIABLE_SET, SCM_VARIABLE_LOC): New. + (variable_print): Do not print name of variable. + (variable_equalp): Compare values, not vcells. + (anonymous_variable_sym): Removed. + (make_vcell_variable): Removed. + (make_variable): New, as replacement. + (scm_make_variable, scm_make_undefined_variable): Do not take name + hint parameter. + (scm_variable_ref): Check for SCM_UNDEFINED and throw "unbound" + error in that case. + (scm_builtin_variable): Deprecated. + + * symbols.c, symbols.h (scm_sym2vcell, scm_sym2ovcell_soft, + scm_sym2ovcell, scm_intern_obarray_soft, scm_intern_obarray, + scm_intern, scm_intern0, scm_sysintern0_no_module_lookup, + scm_sysintern, scm_sysintern0, scm_symbol_value0, + scm_string_to_obarray_symbol, scm_intern_symbol, + scm_unintern_symbol, scm_symbol_binding, scm_symbol_interned, + scm_symbol_bound_p, scm_symbol_set_x, scm_gentmp, gentmp_counter): + Deprecated and moved to "symbols-deprecated.c". + (copy_and_prune_obarray, scm_builtin_bindings): Removed. + (scm_init_symbols): Call scm_init_symbols_deprecated. + * symbols-deprecated.c: New file. + * Makefile.am: Added symbols-deprecated.c and related files in all + the right places. + + * snarf.h (SCM_VCELL, SCM_GLOBAL_VCELL, SCM_VCELL_INIT, + SCM_GLOBAL_VCELL_INIT): Deprecated. + (SCM_VARIABLE, SCM_GLOBAL_VARIABLE, SCM_VARIABLE_INIT, + SCM_GLOBAL_VARIABLE_INIT): New, as replacement. Changed all uses. + + * print.c (scm_iprin1): Use scm_module_reverse_lookup instead of + SCM_GLOC_SYM. + + * evalext.c, filesys.c, fports.c, gdbint.c, gh_data.c, gsubr.c, + hooks.c, load.c, numbers.c, objects.c, ports.c, posix.c, procs.c, + ramap.c, random.c, read.c, regex-posix.c, scmsigs.c, script.c, + socket.c, srcprop.c, stacks.c, stime.c, struct.c, tag.c, throw.c: + Changed according to the `throughout' comments. + + * modules.h, modules.c (scm_module_system_booted_p): Changed type + to `int'. + (scm_module_type): Removed. + (the_root_module): Renamed to the_root_module_var. Now points to + a variable instead of a vcell. Updated all uses. + (scm_the_root_module): Return SCM_BOOL_F when module systems + hasn't been booted yet. + (SCM_VALIDATE_STRUCT_TYPE): Removed. + (scm_post_boot_init_modules): Made static. + (scm_set_current_module): Call scm_post_boot_init_modules on first + call. + (make_modules_in, beautify_user_module_x, resolve_module, + try_module_autoload, module_make_local_var_x): Tacked on "_var" + suffix. Now point to variables instead of vcells. Updated all + uses. + (scm_module_lookup_closure): Deal with the module being SCM_BOOL_F + and return SCM_BOOL_F in that case. + (scm_module_transformer): Likewise. + (sym_module, scm_lookup_closure_module, scm_env_module): New. + (SCM_F_EVAL_CLOSURE_INTERFACE, SCM_EVAL_CLOSURE_INTERFACE_P): New. + (scm_eval_closure_lookup): Do not allow new definitions when + `interface' flag is set. + (scm_standard_interface_eval_closure): New. + (scm_pre_modules_obarray, scm_sym2var, scm_module_lookup, + scm_lookup, scm_module_define, scm_define, scm_c_module_lookup, + scm_c_lookup, scm_c_module_define, scm_c_define, + scm_module_reverse_lookup, scm_get_pre_modules_obarray, + scm_modules_prehistory): New. + (scm_post_boot_init_modules): Use scm_c_define and scm_c_lookup + instead of scm_intern0. + + * macros.c (scm_make_synt): Return SCM_UNSPECIFIED instead of the + symbol. + + * keywords.c (s_scm_make_keyword_from_dash_symbol): Use a regular + hashtable operations to maintain the keywords, not obarray ones. + + * init.c (scm_load_startup_files): Do not call + scm_post_boot_init_modules. This is done by + scm_set_current_module now. + (scm_init_guile_1): Call scm_modules_prehistory. Call + scm_init_variable early on. + + * goops.c (s_scm_sys_goops_loaded): Get + var_compute_applicable_methods from scm_sym2var, not from a direct + invocation of scm_goops_lookup_closure. + + * gh_funcs.c (gh_define): Return SCM_UNSPECIFIED instead of vcell. + + * gc.c: Added simple debugging hack to mark phase of GC: When + activated, do not tail-call scm_gc_mark. This gives nice + backtraces. + (scm_unhash_name): Removed. + + * feature.c (features): Renamed to features_var. Now points to a + variable instead of a vcell. Updated all uses. + + * eval.h (SCM_TOP_LEVEL_LOOKUP_CLOSURE): Use + `scm_current_module_lookup_closure' which will do the right thing + when the module system hasn't been booted yet. + (SCM_GLOC_SYM): Removed. + (SCM_GLOC_VAR, SCM_GLOC_SET_VAL): New. + (SCM_GLOC_VAL, SCM_GLOC_LOC): Reimplemented in terms of variables. + + * eval.c (scm_lookupcar, scm_lookupcar1): Deal with variables + instead of with vcells. Do not overwrite `var' with the result of + the lookup, use the new `real_var' instead. Remove `var2' in + exchange (which was only used with threads). + (sym_three_question_marks): New. + (scm_unmemocar): Use `scm_module_reverse_lookup' instead of + `SCM_GLOC_SYM'. + (scm_lisp_nil, scm_lisp_t): Directly define as symbols. + (scm_m_atfop): Expect the function definition to be a variable + instead of a vcell. + (scm_macroexp): Do not use `unmemocar', explicitely remember the + symbol instead. + (scm_unmemocopy): Removed thoughts about anti-macro interface. + (scm_eval_args): Use more explicit code in the gloc branch of the + atrocious struct ambiguity test. The optimizer will sort this + out. + (scm_deval_args): Likewise. + (SCM_CEVAL): Likewise. Also, do not use unmemocar, explicitely + remember the symbol instead. Added some comments where + scm_tc3_cons_gloc really exclusively refers to structs. + (scm_init_eval): Use scm_define to initialize "nil" and "t" to + scm_lisp_nil and scm_lisp_t, respectively. Use scm_define instead + of scm_sysintern in general. + + * dynwind.c (scm_swap_bindings): Use SCM_GLOC_SET_VAL instead of + explicit magic. + + * debug.c (s_scm_make_gloc): Only allow proper variables, no + pairs. Put the variable directly in the gloc. + (s_scm_gloc_p): Use `scm_tc3_cons_gloc' instead of the magic `1'. + (scm_init_debug): Use scm_c_define instead scm_sysintern. + + * cpp_cnvt.awk: Emit "scm_c_define" instead of "scm_sysintern". + + * backtrace.h, backtrace.c (scm_the_last_stack_fluid): Renamed to + scm_the_last_stack_fluid_var. It now points to a variable instead + of a vcell. Updated all uses. + (scm_has_shown_backtrace_hint_p_var): Now points to a variable + instead of a vcell. Updated all uses. + + * _scm.h: Include "variables.h" and "modules.h" since almost + everybody needs them now. + + * root.h (scm_symhash, scm_symhash_vars): Removed. + * gc.c (scm_init_storage): Do not initialize them. + +2001-05-15 Dirk Herrmann + + * eval.c (scm_init_eval): Initialize scm_undefineds and + scm_listofnull. + + * gc.c (scm_debug_newcell, scm_debug_newcell2): Fixed to behave + like the SCM_NEWCELL macro counterparts. + + (scm_init_storage, scm_init_gc): Moved initialization of + scm_tc16_allocated from scm_init_gc to scm_init_storage. + + (scm_init_storage): Moved initialization of scm_undefineds and + scm_listofnull to eval.c, initializion of scm_nullstr to + strings.c, initializion of scm_nullvect to vectors.c. + + * gc.h (SCM_NEWCELL, SCM_NEWCELL2): Prefer SCM_NULLP over + SCM_IMP, as in scm_debug_newcell and scm_debug_newcell2. + + * init.c (scm_init_guile_1): Reordered some initializations and + added dependcy information comments. + + * load.c (scm_init_load): Use scm_nullstr. + + * strings.c (scm_init_strings): Initialize scm_nullstr. + + * vectors.c (scm_init_vectors): Initialize scm_nullvect. + +2001-05-15 Marius Vollmer + + * values.c (print_values): Print as a unreadable object, not as + multiple lines. Thanks to Matthias Köppe! + +2001-05-14 Dirk Herrmann + + * deprecation.c: Fixed copyright date. + + * deprecation.h (DEPRECATION_H, SCM_DEPRECATION_H): Renamed + DEPRECATION_H to SCM_DEPRECATION_H. + +2001-05-10 Thien-Thi Nguyen + + * guile-doc-snarf.in: Update copyright. + Fix relative path bug. Thanks to Sergey Poznyakoff. + +2001-05-10 Marius Vollmer + + * ports.c (scm_port_revealed, scm_set_port_revealed_x): Only + accept open ports. Thanks to Quetzalcoatl Bradley! + +2001-05-09 Martin Grabmueller + + * procs.c: Increased `scm_subr_table_room' to 800 because Guile now + has 779 primitives on startup. + +2001-05-09 Marius Vollmer + + * eval.c (scm_i_eval): Copy expression before passing it to + SCM_XEVAL. The copy operation was removed unintendedly during my + change on 2001-03-25. + +2001-05-09 Michael Livshin + + from Matthias Köppe (thanks!): + + * ports.c (scm_c_read): pointer arithmetic on void pointers isn't + portable. + + * deprecation.c (s_scm_include_deprecated_features): ANSI'fied the + docstring. + +2001-04-21 Dirk Herrmann + + * gc.c (scm_init_gc): Added FIXME comment. + + * hooks.c: Since hooks don't have a name any more, it is not + necessary to include objprop.h. + + (hook_print, scm_add_hook_x): Replace SCM_NFALSEP by !SCM_FALSEP. + + (symbol_name, scm_make_hook_with_name): Removed. + + (scm_create_hook): Don't set the hook's name property. + + * hooks.h (HOOKSH, SCM_HOOKS_H): Renamed HOOKSH to SCM_HOOKS_H. + + (SCM_HOOK_NAME, scm_make_hook_with_name): Removed. + + * init.c (scm_init_guile_1): Hooks don't use objprops any more. + + * numbers.c (SCM_FLOBUFLEN, FLOBUFLEN, scm_number_to_string, + scm_print_real, scm_print_complex): Renamed SCM_FLOBUFLEN to + FLOBUFLEN and define it unconditionally. + +2001-05-07 Marius Vollmer + + * gh_data.c (gh_lookup): Call gh_module_lookup with + `scm_current_module ()', not `#f'. + (gh_module_lookup): Expect a module instead of an obarray as first + argument and do lookup in that module. + + * ramap.c (raeql_1): Do not call scm_uniform_vector_length on + arrays. The length of array is already determined differently and + scm_uniform_vector_length does not work on arrays. + +2001-05-06 Marius Vollmer + + * snarf.h (SCM_FUNC_CAST_ARBITRARY_ARGS): Use "SCM (*)()" for C++ + as well. "SCM (*)(...)" does not work on RedHat 7.1. + + * __scm.h (SCM_WTA_DISPATCH_0): Removed ARG and POS parameters, + they are not used. Changed `wrong type' error into `wrong num + args' error. Changed all callers. + + * numbers.c (scm_difference): Call SCM_WTA_DISPATCH_0 when zero + arguments are supplied. + +2001-05-05 Thien-Thi Nguyen + + * regex-posix.c (scm_regexp_exec): Expand docstring to briefly + describe `regexp/notbol' and `regexp/noteol' execution flags. + + * strop.c (scm_substring_move_x): Doc fix; nfc. + +2001-05-05 Marius Vollmer + + * objects.c, objects.h (scm_valid_object_procedure_p): New. + (scm_set_object_procedure_x): Use it to check argument. Fix + docstring. + + * evalext.c (scm_definedp): Fix docstring. + +2001-05-05 Gary Houston + + * socket.c: use HAVE_IPV6 instead of AF_INET6 to enable IPv6 + support. + +2001-05-04 Neil Jerram + + * eval.c (scm_promise_p), list.c (scm_append_x, scm_reverse_x), + symbols.c (scm_symbol_to_string), vports.c (scm_make_soft_port): + Change R4RS references to R5RS. + + * guile-snarf.awk.in: Fixes so that (i) blank lines in the + docstring source are correctly reproduced in the output (ii) + we don't anymore get occasional trailing quotes. Also reorganized + and commented the code a little. + + * scmsigs.c (scm_raise), throw.c (scm_throw): Docstring format + fixes. + +2001-05-04 Martin Grabmueller + + * strop.c (scm_string_split): New procedure. + + * strop.h (scm_string_split): Added prototype. + +2001-05-04 Gary Houston + + * socket.c: define uint32_t if netdb.h doesn't. thanks to + Dale P. Smith. + +2001-05-02 Marius Vollmer + + * rw.c: Include "modules.h" and "strports.h". + + * net_db.h (scm_gethost): Added prototype. + + * deprecation.h, deprecation.c: New. + * Makefile.am (libguile_la_SOURCES): Added "deprecation.c". + (DOT_X_FILES): Added "deprecation.x". + (modinclude_HEADERS): Added "deprecation.h". + + * init.c: Include "deprecation.h". + (scm_init_guile_1): Call scm_init_deprecation. + +2001-05-01 Marius Vollmer + + * gh.h (gh_init_guile, gh_make_string, gh_string_length, + gh_string_ref, gh_string_set_x, gh_substring, gh_string_append): + New. + +2001-04-29 Gary Houston + + * rw.c: new file, implementing C part of module (ice-9 rw). + (scm_read_string_x_partial): moved from ioext.c + (scm_init_rw): new proc. + * rw.h: new file. + init.c: include rw.h and call scm_init_rw. + Makefile.am: include rw.c and rw.h. + +2001-04-28 Rob Browning + + * numbers.c: enabled local definition of SCM_FLOBUFLEN until we + know what's supposed to happen to it. + + * list.h (scm_list_star): deprecation expired - removed. + + * numbers.h (scm_dblproc): deprecation expired - removed. + (SCM_UNEGFIXABLE): deprecation expired - removed. + (SCM_FLOBUFLEN): deprecation expired - removed. + (SCM_INEXP): deprecation expired - removed. + (SCM_CPLXP): deprecation expired - removed. + (SCM_REAL): deprecation expired - removed. + (SCM_IMAG): deprecation expired - removed. + (SCM_REALPART): deprecation expired - removed. + (scm_makdbl): deprecation expired - removed. + (SCM_SINGP): deprecation expired - removed. + (SCM_NUM2DBL): deprecation expired - removed. + (SCM_NO_BIGDIG): deprecation expired - removed. + + * tags.h (SCM_DOUBLE_CELLP): deprecation expired - removed. + (scm_tc_dblr): deprecation expired - removed. + (scm_tc_dblc): deprecation expired - removed. + (scm_tc16_flo): deprecation expired - removed. + (scm_tc_flo): deprecation expired - removed. + + * tag.h (scm_tag): deprecation expired - removed. + + * tag.c: (scm_tag): deprecation expired - removed. + + * ioext.c: (scm_fseek): deprecation expired - removed. + + * ioext.h (scm_fseek): deprecation expired - removed. + + * gh_data.c (gh_int2scmb): deprecation expired - removed. + + * gh.h (gh_int2scmb): deprecation expired - removed. + +2001-04-28 Neil Jerram + + * stacks.c (scm_make_stack): Fix typo in docstring. + +2001-04-27 Rob Browning + + * error.c (scm_sysmissing): deprecation expired - removed. + + * error.h (scm_sysmissing): deprecation expired - removed. + + * gc.c + (scm_init_gc): gc-thunk deprecation expired - removed. + (scm_gc_vcell): deprecation expired - removed. + (gc_async_thunk): scm_gc_vcell related code removed. + + * vectors.h (SCM_NVECTORP): deprecation expired - removed. + + * strings.h + (SCM_NSTRINGP): deprecation expired - removed. + (SCM_NRWSTRINGP): deprecation expired - removed. + + * continuations.h (SCM_SETJMPBUF): deprecation expired - removed. + + * chars.h + (SCM_ICHRP): deprecation expired - removed. + (SCM_ICHR): deprecation expired - removed. + (SCM_MAKICHR): deprecation expired - removed. + + * ports.h + (SCM_INPORTP): deprecation expired - removed. + (SCM_OUTPORTP): deprecation expired - removed. + +2001-04-25 Marius Vollmer + + * modules.c (scm_module_type): New. + (scm_post_boot_init_modules): Initialize from Scheme value. + (the_module, scm_current_module, scm_init_modules): the_module is + now a C only fluid. + (scm_current_module): Export to Scheme. + (scm_set_current_module): Do not call out to Scheme, do all the + work in C. Export procedure to Scheme. Only accept modules, `#f' + is no longer valid as the current module. Only set + scm_top_level_lookup_closure_var and scm_system_transformer when + they are not deprecated. + (scm_module_transformer, scm_current_module_transformer): New. + + * modules.h (scm_module_index_transformer, SCM_MODULE_TRANSFORMER, + scm_current_module_transformer, scm_module_transformer): New. + + * gh_data.c: Removed FIXME comment about gh_lookup returning + SCM_UNDEFINED. That's the right thing to do. + + * eval.h, eval.c (scm_system_transformer): Deprecated by moving it + into the conditionally compiled sections. + * eval.c (scm_primitive_eval_x, scm_primitive_eval): Use + scm_current_module_transformer instead of scm_system_transformer. + * init.c (start_stack): Move initialization of + scm_system_transformer to the deprecated section. + +2001-04-22 Neil Jerram + + * throw.c (scm_throw): Correct docstring. + +2001-04-22 Gary Houston + + * socket.c: attempted to improve the docstrings slightly. + + * net_db.c: remove bogus "close" declaration. + (inet_aton declaration, scm_inet_aton, scm_inet_ntoa, + scm_inet_netof, scm_lnaof, scm_inet_makeaddr, INADDR_ANY etc.): + moved to socket.c. + * net_db.h: declarations moved too. + + * socket.c (scm_htonl, scm_ntohl): use uint32_t instead of unsigned + long. + (ipv6_net_to_num, ipv6_num_to_net): new static procedures. + (VALIDATE_INET6): new macro. + (scm_inet_pton, scm_inet_ntop): new procedures, implementing + inet-pton and inet-ntop. + (scm_fill_sockaddr): use VALIDATE_INET6 and ipv6_num_to_net. + (scm_addr_vector): use ipv6_net_to_num. + +2001-04-21 Dirk Herrmann + + * eq.c (scm_equal_p), ramap.c (scm_init_ramap): Don't compute the + smob number explicitly. Use SCM_TC2SMOBNUM instead. + + * gc.c (MARK, scm_gc_sweep): Only check for illegal heap objects + when compiled in debug mode. + + (scm_gc_sweep): Only call smob's free function if it is defined. + + * print.c (scm_iprin1): No need to check for validity of smob + type or existence of print function. + + * smob.[ch] (scm_smobs): Made into a fixed size global array. + Resizing will not work well with preemptive threading. + + * smob.c (scm_smob_print): Don't use SCM_CDR to access smob data. + + (scm_make_smob_type): Extracted initialization of smob + descriptors to scm_smob_prehistory. Don't use scm_numsmob outside + of the critical section. + + (scm_smob_prehistory): Initialize all smob descriptors. By + default, don't assign a smob free function: Most smob types don't + need one. + + * smob.h (SMOBH, SCM_SMOB_H): Renamed SMOBH to SCM_SMOB_H. + +2001-04-21 Gary Houston + + * socket.c (FLIP_NET_HOST_128): new macro. + (scm_fill_sockaddr): use new macro. + (scm_addr_vector): completed IPv6 address support. added const + to the address parameter. + +2001-04-20 Gary Houston + + * socket.c (scm_fill_sockaddr): call htons for sin6_port. + Don't assign sin6_scope_id in structure unless HAVE_SIN6_SCOPE_ID + is defined. + (scm_addr_vector): use a switch instead of multiple if statements. + Add support for IPv6 (incomplete) . + MAX_ADDR_SIZE: increase to size of struct sockaddr_in6 if needed. + +2001-04-20 Dirk Herrmann + + * struct.c (scm_free_structs): Only pairs may be accessed with + SCM_C[AD]R. + 2001-04-19 Mikael Djurfeldt + * unif.h (SCM_ARRAY_CONTIGUOUS): Reintroduced as deprecated. + * __scm.h (SCM_WTA_DISPATCH_0, SCM_WTA_DISPATCH_1, SCM_WTA_DISPATCH_2, SCM_WTA_DISPATCH_n): Inserted required parentheses in order to get the correct associativity. @@ -20,7 +1089,7 @@ * debug.c (scm_procedure_source), eval.c (scm_badformalsp, SCM_CEVAL, SCM_APPLY), goops.c (get_slot_value, set_slot_value), - procprop.c (scm_i_procedure_arity), sort.c (closureless): Use + procprop.c (scm_i_procedure_arity), sort.c (closureless): Use SCM_CLOSURE_FORMALS. * eval.c (scm_badformalsp, SCM_CEVAL), procprop.c @@ -71,7 +1140,7 @@ 2001-04-17 Gary Houston * some initial support for IPv6: - + * socket.c (scm_fill_sockaddr): improve the argument validation. don't allocate memory until all args are checked. instead of unconditional memset of soka, try setting sin_len to 0 if @@ -133,9 +1202,9 @@ * debug-malloc.c (grow, scm_debug_malloc_prehistory): Use memset instead of bzero. - + * coop.c, iselect.c (FD_ZERO_N): Unconditionally use memset. - (MISSING_BZERO_DECL): Remove the declaration. + (MISSING_BZERO_DECL): Remove the declaration. Thanks to NIIBE Yutaka. @@ -184,7 +1253,7 @@ 2001-04-03 Martin Grabmueller The following changes make the documentation more consistent. - + * rdelim.c (scm_write_line), posix.c (scm_utime), ports.c (scm_seek), net_db.c (scm_inet_aton, scm_inet_ntoa), (scm_inet_netof, scm_lnaof, scm_inet_makeaddr), ioext.c @@ -227,7 +1296,7 @@ (scm_dynamic_unlink, scm_dynamic_call, scm_dynamic_args_call): Made parameter names match documentation by renaming parameters and/or fixing docstrings. - + * numbers.c (scm_ash): Corrected Texinfo markup. * strop.c (scm_string_index, scm_string_rindex), @@ -272,8 +1341,8 @@ (scm_stat, scm_directory_stream_p, scm_getcwd, scm_readlink): Docstring correction: `Returns' -> `Return' - * gc.c (scm_set_debug_cell_accesses_x): - (s_scm_gc_set_debug_check_freelist_x): + * gc.c (scm_set_debug_cell_accesses_x): + (s_scm_gc_set_debug_check_freelist_x): * fluids.c (scm_fluid_p): Added texinfo markup. * error.c (scm_strerror): Made docstring more precise. @@ -469,7 +1538,7 @@ * values.c (values_vtable, scm_values_vtable): Added "scm_" prefix so that it can be exported. (scm_call_with_values): Removed. - + * tags.h (SCM_IM_CALL_WITH_VALUES): New isym. * eval.c: Include "libguile/values.h" (scm_m_at_call_with_values, scm_sym_at_call_with_values): @@ -480,7 +1549,7 @@ * eval.c (scm_primitive_eval_x, scm_primitive_eval): Fix syntax errors with last change. - + 2001-03-25 Marius Vollmer * eval.c (scm_primitive_eval_x, scm_primitive_eval, scm_i_eval_x, @@ -618,7 +1687,7 @@ (scm_num2ulong_long): New. (ULONG_LONG_MAX): Define if not already defined. * numbers.h: (scm_num2ulong_long): New prototype. - + 2001-03-15 Martin Grabmueller * validate.h (SCM_VALIDATE_OPOUTSTRPORT): New macro. @@ -627,7 +1696,7 @@ (SCM_OPOUTSTRPORTP): New predicate macros. (scm_open_input_string, scm_open_output_string), (scm_get_output_string): New prototypes. - + * strports.c (scm_open_input_string, scm_open_output_string), (scm_get_output_string): New procedures (SRFI-6 compliant). Made scm_tc16_strport non-static. @@ -721,7 +1790,7 @@ posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c, socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added #include in these 20 out of 100 files. - + 2001-03-10 Gary Houston * socket.c: add a definition of SUN_LEN (from glibc) for when it's @@ -751,7 +1820,7 @@ regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c, stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c, symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c: - Remove #include + Remove #include * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include . * procs.c (scm_make_subr_opt): Init symcell to avoid warning. @@ -799,7 +1868,7 @@ function. * coop-threads.c: Fixed change of 2001-03-06. - + * validate.h: Code formatting. 2001-03-07 Keisuke Nishida @@ -845,7 +1914,7 @@ * socket.c (scm_fill_sockaddr): don't allow buffer overflows when taking an unexpectedly large filename for an AF_UNIX socket from bind/connect/sendto (thanks to Martin Grabmueller). - + * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the former and adjusted the latter. (scm_socket, scm_socketpair): cosmetic changes. @@ -1019,7 +2088,7 @@ module around the call to DEFVAR, scm_eval takes care of that. (scm_init_goops): Make scm_module_goops and scm_goops_lookup_closure permanent objects. - + * eval.c (scm_ceval, scm_deval): When evaluating expressions on top level, create a fresh top-level environment for each expression instead of mutating the exisint frame. This is @@ -1099,7 +2168,7 @@ scm_random_hollow_sphere_x, scm_random_normal_vector_x, scm_random_exp), dynwind.c (scm_dynamic_wind): Removed unnecessary "" from docstrings. - + * goops.c (scm_sys_initialize_object, scm_instance_p, scm_class_name, scm_class_precedence_list, scm_class_slots, scm_class_environment, scm_generic_function_name, @@ -1182,7 +2251,7 @@ Fix evaluator so that top-level expressions are correctly evaluated with respect to the module system. - + * modules.h. modules.c (scm_current_module_lookup_closure): New function. @@ -1197,7 +2266,7 @@ (scm_primitve_eval_x, scm_primitive_eval): New functions. (scm_eval_x, scm_eval): Reimplement in terms of scm_primitive_eval_x and scm_primitive_eval, respectively. - + 2001-02-09 Marius Vollmer * macros.c (scm_macro_name, scm_macro_transformer): Use @@ -1225,7 +2294,7 @@ and C names. (scm_select_module, scm_set_current_module): Likewise. Changed all uses. - + * ports.c (scm_port_for_each): Make a snapshot of the port table before iterating over it. The table might change while the user code is running. With the snapshot, the user can depend on the @@ -1557,7 +2626,7 @@ 2001-01-11 Michael Livshin from Matthias Köppe: - + * objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER casts its result, so doesn't yield an lvalue per ANSI C.