X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/8f85c0c6c3eb8de857babc08ca6e832e8a497c44..4f2716b6f65407e497fc7814773e635a42ee2484:/libguile/ChangeLog diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 002cd3521..bc17890a4 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,488 @@ +2002-02-25 Gary Houston + + * convert.c: include for convert_i.c. + +2002-02-24 Rob Browning + + * .cvsignore: add stamp-h1. + +2002-02-21 Neil Jerram + + * unif.c (scm_array_to_list): Correct name, which had been + accidentally changed to scm_t_arrayo_list! + +2002-02-20 Mikael Djurfeldt + + * gc.c (scm_gc_sweep): Print an error message when aborting due to + underflowing scm_mallocated. + +2002-02-14 Marius Vollmer + + * gc.h, gc.c (scm_must_malloc, scm_must_realloc, scm_must_strdup, + scm_must_strndup, scm_done_malloc, scm_done_free, scm_must_free): + Reimplemented using the new scm_gc_malloc, etc., functions and + deprecated. + +2002-02-11 Thien-Thi Nguyen + + * Makefile.am (bin_PROGRAMS): Move `guile_filter_doc_snarfage' + to `noinst_PROGRAMS'. + (bin_SCRIPTS): Move all values to `noinst_SCRIPTS'; delete. + (noinst_PROGRAMS, noinst_SCRIPTS): New. + +2002-02-11 Marius Vollmer + + * gc.h, gc.c (scm_gc_sweep): Issue deprecation warning when + non-zero is returned from a port or smob free function. + (scm_malloc, scm_realloc, scm_strndup, scm_strdup, + scm_gc_register_collectable_memory, + scm_gc_unregister_collectable_memory, scm_gc_malloc, + scm_gc_realloc, scm_gc_free, scm_gc_strndup, scm_gc_strdup): New. + + * backtrace.c, continuations.c, convert.i.c, coop-threads.c, + debug-malloc.c, dynl.c, environments.c, environments.h, + extensions.c, filesys.c, fports.c, gc.c, gc.h, gh_data.c, goops.c, + guardians.c, hooks.c, init.c, keywords.c, load.c, numbers.c, + ports.c, posix.c, procs.c, rdelim.c, regex-posix.c, root.c, + smob.c, stime.c, strings.c, struct.c, struct.h, symbols.c, unif.c, + vectors.c, weaks.c: Use scm_gc_malloc/scm_malloc and + scm_gc_free/free instead of scm_must_malloc and scm_must_free, as + appropriate. Return zero from smob and port free functions. + + * debug-malloc.c (scm_malloc_reregister): Handle "old == NULL". + + * deprecation.h, deprecation.c: Reimplemented to allow deprecation + messages while the GC is running. + (scm_c_issue_deprecation_warning_fmt): New. + + * fports.c (scm_setvbuf): Reset read buffer to saved values when + it is pointing to the putback buffer. + +2002-02-08 Thien-Thi Nguyen + + * gsubr.c (create_gsubr): On "too many args" error, + also display arg count and name. Thanks to Bill Schottstaedt. + +2002-02-05 Thien-Thi Nguyen + + * Makefile.am: Include $(top_srcdir)/pre-inst-guile.am. + + (bin_SCRIPTS): Remove guile-snarf-docs-texi. + (alldotdocfiles, snarf2checkedtexi, dotdoc2texi): New vars. + (guile.texi, guile-procedures.texi): Use $(dotdoc2texi). + + * guile-snarf-docs-texi.in: Bye bye. + +2002-02-04 Marius Vollmer + + * symbols.c (scm_make_symbol): Fix typo in docstring. + + * symbols.h (scm_mem2uninterned_symbol, scm_symbol_interned_p, + scm_make_symbol): New prototypes. + +2002-02-03 Marius Vollmer + + * symbols.h (SCM_SET_SYMBOL_HASH): Removed. + (SCM_SYMBOL_INTERNED_P): New. + * symbols.c (scm_symbol_hash): Use scm_ulong2num instead of + SCM_MAKINUM since hash values can well be bignums. + (scm_mem2symbol): Only use hash values below SCM_T_BITS_MAX/2. + This signals a interned symbol. + (scm_mem2uninterned_symbol, scm_symbol_interned_p, + scm_make_symbol): New. + + * print.c (scm_iprin1): Print uninterned symbols unreadably. + +2002-02-02 Thien-Thi Nguyen + + * __scm.h (HAVE_UINTPTR_T): Only define if UINTPTR_T attributes + are defined: UINTPTR_MAX, INTPTR_MAX, INTPTR_MIN. + Thanks to Dave Love. + +2002-01-31 Marius Vollmer + + * symbols.c (scm_gensym): Use " g" as default prefix, not "g". + This might help to make unintended clashes less likely. + (scm_string_to_symbol): Protect the string until the symbols is + created. + +2002-01-31 Stefan Jahn + + * convert.c, convert.h, convert.i.c: New files containing C + array to Scheme conversion helpers meant to be replacement + functions for the deprecated gh interface. + + * Makefile.am: Setup rules for new `convert.*' files. + +2002-01-28 Stefan Jahn + + * symbols.c (scm_c_symbol2str): New function, replacement for + `gh_scm2newsymbol()'. + + * strings.c (scm_c_substring2str): New function. Proper + replacement for `gh_get_substr()'. + + * socket.c: Include `stdint.h' if available for the `uint32_t' + declaration. + + * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits + compiler warning). + + * backtrace.c: Include `lang.h' for GUILE_DEBUG conditional. + +2002-01-22 Neil Jerram + + Other changes unrelated to Elisp... + + * eval.c (scm_m_if): Use s_if rather than repeating string literal + "if". + (comments): Fix a few typos. + (scm_for_each): Add parentheses around oddly unparenthesized + if/while conditions. + + * read.c (scm_read_opts): Add full stop at end of doc for + `keywords' option. + + * script.c (scm_compile_shell_switches): Use scm_str2symbol + instead of gh_symbol2scm. + + * srcprop.h (SRCPROPBRK): Return C type rather than SCM. + (SRCBRKP): Use SRCPROPBRK rather than duplicating its logic. + + * srcprop.c (scm_srcprops_to_plist, scm_source_property): Change + SRCPROPBRK (x) to SCM_BOOL (SRCPROPBRK (x)). + + First batch of changes for Elisp support... + + * alist.c, async.c, boolean.c, dynl.c, eval.c, filesys.c, + fluids.c, list.c, load.c, options.c, posix.c, print.c, sort.c, + throw.c, vectors.c, weaks.c: Add #include for lang.h. + + * eval.c, eval.h, init.c, lang.c, lang.h: Use SCM_ENABLE_ELISP to + conditionalize compilation and initialization of Elisp support + function. + + * alist.c (scm_assq, scm_assv, scm_assoc), async.c + (scm_asyncs_pending, scm_run_asyncs, noop), backtrace.c + (scm_set_print_params_x), dynl.c (scm_make_argv_from_stringlist), + filesys.c (fill_select_type, retrieve_select_type), fluids.c + (scm_swap_fluids, scm_swap_fluids_reverse), list.c (scm_null_p, + scm_ilength, scm_append_x, scm_last_pair, scm_reverse, + scm_reverse_x, scm_list_ref, scm_list_set_x, scm_list_cdr_set_x, + scm_c_memq, scm_memv, scm_member), load.c (scm_search_path), + options.c (change_option_setting, scm_options), posix.c + (environ_list_to_c), print.c (scm_iprlist), throw.c + (scm_exit_status), vectors.c (scm_vector), weaks.c + (scm_weak_vector): Use SCM_NULL_OR_NIL_P instead of SCM_NULLP. + + * boolean.c (scm_not): Use `SCM_FALSEP || SCM_NILP' instead of + just SCM_FALSEP. + + * boolean.c (scm_boolean_p): Use `SCM_BOOLP || SCM_NILP' instead + of just SCM_BOOLP. + + * eval.c (scm_lisp_nil, scm_lisp_t, s_nil_ify, scm_m_nil_ify, + s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify, + scm_m_0_ify, s_1_ify, scm_m_1_ify): Removed. + (scm_m_atfop): Support function aliasing. Support both function + args, which need transformation, and macro args, which do not. + Add explanatory comments. + (SCM_CEVAL): In switch cases for SCM_IM_AND, SCM_IM_COND, + SCM_IM_DO, SCM_IM_IF and SCM_IM_OR, add `|| SCM_NILP' to existing + checks for SCM_FALSEP. In switch case for SCM_IM_NIL_COND, use + SCM_NULLP || SCM_NILP instead of checks against (removed) + scm_lisp_nil. Removed switch cases for SCM_IM_NIL_IFY, + SCM_IM_T_IFY, SCM_IM_0_COND, SCM_IM_0_IFY, SCM_IM_1_IFY. + + * lang.c (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, + scm_m_while, scm_nil_eq): Commented out; I don't think we need + these, but I don't want to remove them yet, just in case. + (scm_init_lang): Define `%nil' variable on Scheme level to hold + Elisp nil value. + + * lang.h (SCM_NILP): Test against Elisp nil value instead of + against (removed) scm_lisp_nil. + (SCM_NILNULLP, SCM_NIL2EOL, SCM_EOL2NIL): Commented out. + (SCM_NULL_OR_NIL_P): New. + + * list.c (scm_append): Use SCM_VALIDATE_NULL_OR_NIL instead of + SCM_VALIDATE_NULL. + + * print.c (scm_isymnames): Fix comment. Remove #@nil-ify, + #@t-ify, #@0-cond, #@0-ify, #@1-ify. Add #nil (for SCM_ELISP_NIL + value). + + * sort.c (scm_sorted_p, scm_merge, scm_merge_list_x, scm_merge_x, + scm_sort_x, scm_sort, scm_stable_sort_x, scm_stable_sort): Use + SCM_NULL_OR_NIL_P instead of SCM_NULLP. In constructions like `if + (SCM_NULLP (x)) return SCM_EOL;', return x rather than SCM_EOL. + + * tags.h (SCM_IM_NIL_IFY, SCM_IM_T_IFY, SCM_IM_0_COND, + SCM_IM_0_IFY, SCM_IM_1_IFY): Removed. + (SCM_IM_BIND, SCM_IM_DELAY, SCM_IM_CALL_WITH_VALUES, SCM_UNBOUND): + Numbering shifted down accordingly. + (SCM_ELISP_NIL): New IFLAG. + + * validate.h (SCM_VALIDATE_NULL_OR_NIL): New. + +2002-01-10 Dirk Herrmann + + * eval.c: Removed outdated references to "everr". Improved some + comments. + + (scm_deval_args, deval_args): Renamed scm_deval_args to + deval_args, since it is not part of the interface. + + (SCM_CEVAL): Added (maybe somewhat verbose) comment. Avoid to + use references to debug.vect[0] before it exists. Add parentheses + to switch statement. + + * goops.h: Added local emacs variables. + +2002-01-10 Dirk Herrmann + + * eval.[ch] (scm_deval_args): Made static. + + * srcprop.c (scm_source_property): Remove redundant SCM_IMP + test. + + * strings.c (scm_c_string2str): Clarified comment. Replaced + THINKME by FIXME for uniformness. Removed question about whether + arguments need to be protected from garbage collection: Arguments + must be protected as any other variable. + +2002-01-10 Dirk Herrmann + + * procs.h (SCM_CLOSURE_BODY): New Macro. + + * debug.c (scm_procedure_name, scm_procedure_source), eval.c + (SCM_CEVAL, SCM_APPLY), goops.c (scm_sys_initialize_object, + get_slot_value, set_slot_value), procs.c + (scm_procedure_documentation), sort.c (closureless), stacks.c + (get_applybody): Replace SCM_CDR (SCM_CODE (...)) by + SCM_CLOSURE_BODY. + + * sort.c (closureless): Prefer !SCM_FOOP over SCM_NFOOP. + +2001-12-26 Marius Vollmer + + * Makefile.am (guile-procedures.txt): When we don't have makeinfo, + use "cp" instead. + +2001-12-16 Marius Vollmer + + * stacks.c, stacks.h (scm_t_stackype): Renamed to scm_stack_type + everywhere. + + * continuations.c (scm_make_continuation): Do not retain the + throw_value when the continuation is invoked. + +2001-12-08 Stefan Jahn + + * strings.c (scm_c_string2str): New function. Converts a + given Scheme string into a C string. Also put in two + THINKME's regarding the malloc policy for the missing converter + routines. + +2001-12-01 Neil Jerram + + * gh_data.c (gh_module_lookup): Use scm_str2symbol rather than + gh_symbol2scm. + +2001-11-28 Dirk Herrmann + + * gc.h (SCM_GC_CELL_WORD, SCM_GC_CELL_OBJECT, + SCM_GC_SET_CELL_WORD, SCM_GC_SET_CELL_OBJECT): New macros. + + (SCM_GC_CELL_TYPE, SCM_CELL_WORD, SCM_CELL_OBJECT, + SCM_SET_CELL_WORD, SCM_SET_CELL_OBJECT, SCM_FREE_CELL_CDR, + SCM_GC_SET_CELL_OBJECT): Express in terms of SCM_GC_CELL_* + macros. + + (SCM_FREE_CELL_P): Express in terms of SCM_GC_CELL_TYPE. + + * inline.h (scm_alloc_cell, scm_alloc_double_cell): Use + SCM_GC_CELL_* macros when accessing free cells. + +2001-11-25 Marius Vollmer + + * vectors.h (SCM_MAKE_VECTOR_TAG): New. + * unif.h (SCM_MAKE_BITVECTOR_TAG, SCM_MAKE_UVECTOR_TAG): New. + * symbols.h (SCM_MAKE_SYMBOL_TAG): New. + * strings.h (SCM_MAKE_STRING_TAG): New. + * procs.h (SCM_MAKE_CCLO_TAG): New. + * numbers.h (SCM_MAKE_BIGNUM_TAG): New. + + * goops.h: Replaced SCM_DEBUG_DEPRECATED with + !SCM_ENABLE_DEPRECATED. + + * async.c, async.h (scm_system_async_mark_from_signal_handler): + New. + + * scmsigs.c (scm_take_signal): Removed all code that assumes that + signal handlers are allowed to divert the flow of control. Call + scm_system_async_mark_from_signal_handler instead of + scm_system_async_mark. + + + Deprecated SCM_NEWCELL and SCM_NEWCELL2. Added scm_alloc_cell and + scm_alloc_double_cell in their place. + + * gc.h (SCM_GC_SET_ALLOCATED, scm_debug_newcell, + scm_debug_newcell2, scm_tc16_allocated): Removed from header. + (scm_deprecated_newcell, scm_deprecated_newcell2): New. + (SCM_NEWCELL, SCM_NEWCELL2): Implement in terms of + scm_deprecated_newcell and scm_deprecated_newcell2. + + gc.c (scm_tc16_allocated): Only define when including deprecated + features. + (scm_debug_newcell, scm_debug_newcell2): Removed. + (scm_init_storage): Do not initialize scm_tc16_allocated. + (scm_init_gc): Do it here. + (allocated_mark): New, from old code. + (scm_deprecated_newcell, scm_deprecated_newcell2): New. + + * inline.c, inline.h: New files. + * Makefile.am: Added them in all the right places. + + * _scm.h: Include "libguile/inline.h". + + * alist.c, coop-threads.c, debug.c, environments.c, eval.c, + fports.c, gh_data.c, goops.c, guardians.c, lang.c, list.c, + num2float.i.c, numbers.c, pairs.c, ports.c, print.c, procs.c, + smob.c, smob.h, strings.c, strports.c, struct.c, symbols.c, + unif.c, variable.c, vectors.c, vports.c, weaks.c: Replaced + SCM_NEWCELL and SCM_NEWCELL2 with scm_alloc_cell and + scm_alloc_double_cell, respectively. + +2001-11-23 Marius Vollmer + + * modules.c (scm_c_use_module): Adapt to changes to + `process-use-modules'. + +2001-11-22 Dirk Herrmann + + * numbers.c (scm_divide): Fix more division by zero errors. + +2001-11-21 Gary Houston + + * Makefile.am (OMIT_DEPENDENCIES): removed, since it seems to be + obsolete. autogen.sh says: + invalid unused variable name: `OMIT_DEPENDENCIES' + +2001-11-22 Dirk Herrmann + + * numbers.c (scm_divide): Fix (/ 0). Thanks to Keith Wright for + reporting the bug. + +2001-11-21 Marius Vollmer + + * Makefile.am (install-exec-hook): Prepend $(DESTDIR) to filename. + Thanks to Eric Gillespie, Jr! + +2001-11-21 Stefan Jahn + + * win32-socket.c (getservent, setservent, endservent, + getprotoent, setprotoent, endprotoent): New functions. + Appropriate replacements for M$-Windows. + + * numbers.c (SIZE_MAX, PTRDIFF_MAX, PTRDIFF_MIN): Reintroduced + these definitions for GUILE_DEBUG. + + * net_db.c: Include "win32-socket.h" if compiling with a native + M$-Windows compiler. Include some pieces of code (protoent and + servent interface) protected by HAVE_* macros when using a + native M$-Windows compiler. + +2001-11-20 Marius Vollmer + + * modules.c (scm_c_export): Do nothing when the first argument is + already the terminating NULL. Thanks to Han-Wen Nienhuys! + +2001-11-20 Thien-Thi Nguyen + + * Makefile.am (libpath.h): In SCM_BUILD_INFO, + also include `buildstamp'. + +2001-11-18 Rob Browning + + * version.c + (s_scm_major_version): use SCM_MAJOR_VERSION. + (s_scm_minor_version): use SCM_MINOR_VERSION. + (s_scm_micro_version): use SCM_MICRO_VERSION. + (s_scm_version): use SCM_MAJOR_VERSION, SCM_MINOR_VERSION, and + SCM_MICRO_VERSION. + + * version.h.in + (SCM_MAJOR_VERSION): renamed from SCM_GUILE_MAJOR_VERSION. + (SCM_MINOR_VERSION): renamed from SCM_GUILE_MINOR_VERSION. + (SCM_MICRO_VERSION): renamed from SCM_GUILE_MICRO_VERSION. + +2001-11-18 Neil Jerram + + * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x): + Rewrite docstrings without reference to substring-move-left/right, + since the latter no longer exist. + +2001-11-17 Dirk Herrmann + + * eval.c: Removed bogus comment about acros. + + (scm_unmemocar): Use !SCM_CONSP instead of SCM_IMP. + Minimize scope of local variable. Eliminate dependency on + macro DEBUG_EXTENSIONS. + + (s_splicing): New error message string. + + (scm_m_body): Issue 'bad body' message rather than 'missing + expression' message. + + (scm_m_quote): Eliminate unnecessary copying. + + (scm_m_lambda, scm_m_letstar, scm_m_letrec, scm_m_let): Leave the + checking of the body to scm_m_body. + + (scm_m_do): Move comment to function header. Rename arg1 to + binding. Made the code a bit easier to read. + + (evalcar): Removed. + + (iqq): Added a comment. Changed the depth parameter to + unsigned. Use size_t for vector lengths. Make sure vector object + is gc protected as long as its contents are read. Add some syntax + checks. Get rid of unnecessary SCM_IMP test. Clean up the + control structure a bit. + + (scm_m_delay): Added comment about the implementation of + scm_m_delay. + + (scm_m_define): Add comment about guile's currying define + syntax. Renamed 'proc' to 'name'. Eliminate dependency on macro + DEBUG_EXTENSIONS. Simplified code a bit. Eliminate SICP code. + + (scm_m_letrec1): Removed. Part of the functionality is taken + over by the new function 'transform_bindings'. + + (transform_bindings): New function. Takes over some of the + functionality of removed function 'scm_m_letrec1', namely to split + a list of bindings into a reversed list of variables and a list of + initializers. + + (scm_m_letrec): Call 'transform_bindings'. + + (scm_m_let): Minimized scope of local variables. Renamed 'proc' + to 'temp' and 'arg1' to 'binding'. Eliminated redundant SCM_NIMP + test. Use 'transform_bindings'. Fixed scoping error with named + let (Thanks to Aubrey Jaffer for reporting the bug and to Neil + Jerram for suggesting the fix). Cleaned up the control structure + a bit. + + (scm_m_expand_body): Use 'transform_bindings'. Eliminated + unnecessary consing. Eliminated unnecessary + SCM_DEFER/ALLOW_INTS. + + (SCM_CEVAL): Un-obfuscated some loops. + 2001-11-16 Neil Jerram * gc.h (scm_unhash_name): Old declaration removed. @@ -29,11 +514,11 @@ index entries for each Guile primitive to the copy of the doc snarf output that is used for reference manual synchronization. Online help is unchanged. - + * snarf.h (SCM_SNARF_DOCS): Output primitive's C function name. (SCM_DEFINE, SCM_DEFINE1, SCM_REGISTER_PROC): Supply to C function name to SCM_SNARF_DOCS. - + * guile-snarf-docs-texi.in: Pass the shell script's arguments into snarf-check-and-output-texi. @@ -91,7 +576,7 @@ only -MIN_VALUE can still be negative of all negative numbers (in twos-complement). - * tags.h (SIZEOF_SCM_T_BITS): Define it appropriately. + * tags.h (SIZEOF_SCM_T_BITS): Define it appropriately. * __scm.h: Define HAVE_UINTPTR_T, HAVE_PTRDIFF_T and HAVE_LONG_LONG depending on whether their size is non-zero.