*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index 0c0c804..264bfed 100644 (file)
@@ -1,3 +1,281 @@
+2002-10-05  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * root.c (root_mark): Mark active_asyncs slot.
+
+       * async.c (scm_async_click): Set the cdr of a executed handler
+       cell to SCM_BOOL_F, not SCM_EOL.
+       (scm_i_queue_async_cell): Queue the cell at the end of the list,
+       and only if the handler procedure is not already present.
+       (scm_system_async_mark_for_thread): Initialize cdr of handler cell
+       with SCM_BOOL_F.
+       * scmsigs.c (scm_sigaction_for_thread): Likewise.
+       
+2002-10-04  Rob Browning  <rlb@defaultvalue.org>
+
+       * guile.c (main): switch to scm_lt_dlset_preloaded_symbols;
+
+       * dynl.c (sysdep_dynl_link): switch to scm_lt_dlhandle,
+       scm_lt_dlopenext, and scm_lt_dlerror.
+       (sysdep_dynl_unlink): switch to scm_lt_dlhandle, scm_lt_dlclose,
+       and scm_lt_dlerror.
+       (sysdep_dynl_func): switch to scm_lt_dlhandle, scm_lt_dlsym,
+       and scm_lt_dlerror.
+       (sysdep_dynl_init): switch to scm_lt_dlinit();
+
+       * Makefile.am (libguile_la_LIBADD): switch to use
+       libguile-ltdl.la.
+
+       * numbers.c (s_scm_integer_expt): (expt 0 1) should be 1.
+
+2002-10-04  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * scmsigs.h (scm_sigaction_for_thread): New prototype.
+       * scmsigs.c (got_signal): Removed.
+       (signal_handler_cells, signal_handler_threads): New.
+       (take_signal): Queue the cell of the signal for the specified
+       thread.  Reset the signal handler on systems that don't have
+       sigaction.
+       (sys_deliver_signals): Removed.
+       (close_1): New.
+       (scm_sigaction_for_thread): Renamed from scm_sigaction and
+       extended to also set the thread of a signal and allocate a cell
+       for it.  Keep the Scheme name "sigaction".  Check that signum is
+       within range.  Also, use SCM_VECTOR_REF instead of SCM_VELTS.
+       (scm_sigaction): Implement in terms of scm_sigaction_for_thread.
+       (scm_init_scmsigs): Allocate signal_handler_cells and
+       signal_handler_threads vectors.
+
+       * async.c: Removed GUILE_OLD_ASYNC_CLICK code.  Reorganized so
+       that system asnycs and user asyncs are separated.  Reimplemented
+       system asyncs to work per-thread.
+
+       * gc.c (scm_init_gc): Do not use scm_system_async.
+
+       * async.h (scm_asyncs_pending, scm_set_tick_rate,
+       scm_set_switch_rate, scm_system_async_mark_from_signal_handler):
+       Removed prototypes.
+       (scm_i_queue_async_cell): New.
+       
+       * __scm.h (scm_asyncs_pending_p): Removed.
+       (SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
+       scm_asyncs_pending_p.
+
+       * async.h (scm_system_async_mark_for_thread): New prototype.
+
+       * __scm.h: Removed GUILE_OLD_ASYNC_CLICK code.
+
+       * root.h (scm_root_state): Added new "active_asyncs" slot.
+       * root.c (scm_make_root): Initialize it to SCM_EOL.
+
+       * coop-defs.h (coop_t): Added new "handle" slot.
+       * coop-threads.c (all_threads, scm_current_thread,
+       scm_all_threads, scm_i_thread_root): New.
+       (scm_threads_init): Add main thread to all_threads.
+       (scheme_launch_thread): Remove thread from all_threads when it
+       terminates.
+       (scm_call_with_new_thread): Initialize handle slot of coop_t
+       structure and add new thread to all_threads.
+       (scm_spawn_thread): Likewise.
+
+       * threads.h (scm_current_thread, scm_all_threads): New prototypes.
+       * threads.c (scm_current_thread, scm_all_threads): Register as
+       primitives.
+
+       * dynl.c: Use scm_lt_ prefix for libltdl functions.
+
+2002-09-29  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * script.c (scm_compile_shell_switches): Fix bad spelling of
+       `explicitly' in comment.
+
+2002-09-28  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * posix.c (scm_geteuid, scm_getegid, scm_seteuid, scm_setegid):
+       Refer to provided? in doc string rather than deprecated feature?.
+
+2002-09-24  Gary Houston  <ghouston@arglist.com>
+
+       * inline.h (scm_double_cell): prevent reordering of statements
+       with any following code (for GCC 3 strict-aliasing).
+       * numbers.c (scm_make_real), num2float.i.c (FLOAT2NUM): removed
+       the earlier version of the reordering prevention.
+
+2002-09-19  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * inline.h (scm_double_cell): move SET_GCMARK set out of if body. 
+
+2002-09-09  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-malloc.c (scm_gc_register_collectable_memory): more overflow
+       protection.
+
+2002-09-08  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * inline.h: include stdio.h
+
+       * smob.c (free_print): abort if scm_debug_cell_accesses_p is set
+
+2002-09-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-segment.c (scm_i_make_initial_segment): check user settings
+       for sanity.
+
+       * gc-malloc.c (scm_gc_init_malloc): check user settings for
+       sanity.
+
+       * gc-freelist.c (scm_init_freelist): check user settings for sanity. 
+
+       * struct.h: change scm_structs_to_free to scm_i_structs_to_free
+
+       * gc-malloc.c (scm_gc_register_collectable_memory): use floats;
+       these won't ever wrap around with high memory usage. Thanks to
+       Sven Hartrumpf for finding this.
+
+       * gc-freelist.c: include <stdio.h>
+
+       * gc-malloc.c: add DEBUGINFO for mtrigger GCs.
+
+2002-09-01  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * vectors.h (SCM_VECTOR_REF): New.
+
+       * snarf.h (SCM_DEFINE_PUBLIC): New.
+
+2002-08-30  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * socket.c (scm_addr_vector): Added size of address to arguments.
+       Use it to avoid accessing a non-existent path in a sockaddr_un.
+       Changed all callers.
+
+2002-08-29  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc.h: remove DOUBLECELL card flags.
+
+       * gc-malloc.c (scm_calloc): try to use calloc() before calling
+       scm_realloc().
+
+       * gc-segment.c (scm_i_initialize_heap_segment_data): remove card
+       init loop; handle this from scm_init_card_freelist()
+
+       * gc-card.c (scm_init_card_freelist): init bit vector here.
+
+       * numbers.c (scm_make_real): prevent reordering of statements
+       num2float.i.c (FLOAT2NUM): idem
+
+2002-08-27  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * eval.h: prepend libguile/ to include path
+
+2002-08-26  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * script.c (scm_compile_shell_switches): Added "2002" to Copyright
+       years.  Thanks to Martin Grabmüller!
+
+2002-08-25  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-segment.c (scm_i_get_new_heap_segment): use float in stead of
+       unsigned numbers for computing minimum heap increment. This
+       prevents weird results when a a negative minimum increment is
+       computed.
+
+2002-08-24  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * gc_os_dep.c: When we have __libc_stack_end, use that directly
+       instead of the old tricks.
+
+       * guile-snarf.in: Do not expect the input file to be the first
+       argument after the optional "-o" option, just pass everything to
+       the pre-processor without extracting the input file name.
+
+2002-08-23  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-segment.c (scm_i_get_new_heap_segment): Oops. We want segment
+       length *at* least SCM_MIN_HEAP_SEG_SIZE, not at most.  
+
+2002-08-22  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc.h, gc.c: make scm_cells_allocated unsigned again. Thanks to
+       Bill Schottstaedt for the bug report
+
+2002-08-20  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * print.c (scm_iprin1): Print primitives generics always as
+       "primitive-generic" even when they have no primitive methods yet.
+
+2002-08-17  Gary Houston  <ghouston@arglist.com>
+
+       * coop.c (coop_create): removed bogus 2nd argument in scm_malloc
+       call.
+
+2002-08-17  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * ports.c (scm_add_to_port_table): small bugfix.
+
+       * mallocs.c (scm_malloc_obj): use scm_gc_malloc in stead of
+       malloc.
+
+       * gc-segment.c (scm_i_get_new_heap_segment): remove cluster cruft:
+       only use SCM_MIN_HEAP_SEG_SIZE.
+
+       * ports.c (scm_add_to_port_table): add backwards compatibility
+       function
+
+       * ports.h: use scm_i_ prefix for port table and port table size.
+       
+2002-08-15  Mikael Djurfeldt  <mdj@linnaeus>
+
+       * vports.c (scm_make_soft_port): Initialize pt variable.
+
+2002-08-13  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * strports.h (scm_c_eval_string_in_module,
+       scm_eval_string_in_module): New prototypes.
+       * strports.c (scm_eval_string_in_module): New, but use
+       "eval-string" as the Scheme name and make second parameter
+       optional.
+       (scm_eval_string): Implement using scm_eval_string_in_module.
+       (scm_c_eval_string_in_module): New.
+       Thanks to Ralf Mattes for the suggestion!
+       
+2002-08-09  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-card.c ("sweep_card"): remove SCM_MISC_ERROR messages: print
+       message and abort.
+       
+       * gc-mark.c ("scm_gc_mark_dependencies"): idem.
+
+       * ports.c ("scm_new_port_table_entry"): return a boxed SCM in
+       stead of scm_t_port*. The function now takes a tag argument.
+
+2002-08-08  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc.h: add scm_debug_cells_gc_interval to public interface
+
+       * gc-card.c ("sweep_card"): set scm_gc_running while sweeping.
+
+       * gc.c (scm_i_expensive_validation_check): separate expensive
+       validation checks from cheap ones.
+
+2002-08-06  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * read.c (scm_input_error): new function: give meaningful error
+       messages, and throw read-error
+
+       * gc-malloc.c (scm_calloc): add scm_calloc.
+
+2002-08-05  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * tags.h: remove GC bits documentation from the tags table. 
+
+       * read.c (INPUT_ERROR): Prepare for file:line:column error
+       messages for errors in scm_lreadr() and friends.
+
+2002-08-04  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * gc-malloc.c (scm_malloc): use scm_realloc() (simplifies
+       implementation). 
+       (scm_gc_calloc): new function
+
 2002-08-04  Han-Wen  <hanwen@cs.uu.nl>
 
        * ports.c (scm_new_port_table_entry): init port entry to 0