* __scm.h (SCM_DEFER_INTS, SCM_ALLOW_INTS): New definitions.
[bpt/guile.git] / libguile / ChangeLog
index 51efb7c..907d128 100644 (file)
@@ -1,3 +1,501 @@
+2002-12-15  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * __scm.h (SCM_DEFER_INTS, SCM_ALLOW_INTS): New definitions.
+       Simply lock a thread C API recursive mutex.
+       (SCM_NONREC_CRITICAL_SECTION_START,
+       SCM_NONREC_CRITICAL_SECTION_END, SCM_REC_CRITICAL_SECTION_START,
+       SCM_REC_CRITICAL_SECTION_END): Removed.
+
+       * eval.c: Replaced SOURCE_SECTION_START / SOURCE_SECTION_END with
+       direct calls to scm_rec_mutex_lock / unlock around the three calls
+       to scm_m_expand_body.
+
+       * eval.c, eval.h (promise_free): New function.
+       (scm_force): Rewritten;  Now thread-safe; Removed
+       SCM_DEFER/ALLOW_INTS.
+
+       * pthread-threads.h: Added partially implemented plugin interface
+       for recursive mutexes.  These are, for now, only intended to be
+       used internally within the Guile implementation.
+
+       * pthread-threads.c: New file.
+
+       * threads.c: Conditionally #include "pthread-threads.c".
+
+       * eval.c, eval.h (scm_makprom, scm_force): Rewritten to be
+       thread-safe;
+
+       * snarf.h (SCM_MUTEX, SCM_GLOBAL_MUTEX, SCM_REC_MUTEX,
+       SCM_GLOBAL_REC_MUTEX): New macros.
+
+       * eval.c, threads.c, threads.h, snarf.h: Rewrote critical section
+       macros---use mutexes instead.
+
+       * tags.h (SCM_IM_FUTURE): New tag.
+
+       * eval.c (scm_m_future): New primitive macro.
+       (SCM_CEVAL): Support futures.
+       (unmemocopy): Support unmemoization of futures.
+
+       * print.c (scm_isymnames): Name of future isym.
+
+       * version.c: Unmade some changes to my private copy that got
+       committed by mistake.
+
+2002-12-11  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
+
+       * gc-malloc.c, gc.h, init.c: Reverted gc-malloc change of
+       2002-12-10.
+
+       * gc.c (scm_igc): Don't call scm_i_thread_invalidate_freelists.
+
+       * gc.c (scm_gc_sweep): Call it here instead, which is a more
+       logical place.
+
+       * threads.c (create_thread): Remember root object until the handle
+       of the new thread is on all_threads list.
+
+       * root.c (scm_make_root): Moved copying of fluids until after
+       creation of root handle so that the fluids are GC protected.  Also
+       removed the critical section.
+
+2002-12-10  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
+
+       * gc-malloc.c, gc.h (scm_gc_malloc_prehistory): New function.
+
+       * gc-malloc.c (malloc_mutex): New mutex.
+       (scm_gc_malloc_prehistory): Initialize it.
+       (scm_realloc): Serialize call to realloc
+       (scm_calloc): Same for calloc.
+       Thanks to Wolfgang Jaehrling!
+       (Now we have to make sure all calls to malloc/realloc are made
+       through scm_malloc.)
+
+       * init.c (scm_init_guile_1): Call scm_gc_malloc_prehistory.
+
+       * threads.c (really_launch): Release heap (to prevent deadlock).
+       (create_thread): Release heap before locking thread admin mutex.
+
+2002-12-10  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
+
+       * threads.c (scm_i_thread_invalidate_freelists): New
+       function.
+
+       * gc.c (scm_igc): Call scm_i_thread_invalidate_freelists.
+
+       * modules.c (scm_export): Inserted a return statement.
+
+2002-12-10  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * modules.c (scm_export): new function
+
+       * gc-card.c: add a note about malloc()/free() overhead.
+
+2002-12-10  Mikael Djurfeldt  <mdj@kvast.blakulla.net>
+
+       * Makefile.am (c-tokenize.$(OBJEXT)): Don't look for c-tokenize.c
+       in srcdir.
+
+2002-12-10  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       These changes remove scm_ints_disabled (which hasn't has any
+       effect in Guile for quite some time).
+       
+       * async.c, error.h (scm_ints_disabled): Removed.
+
+       * gc.c (scm_gc_for_newcell), init.c (scm_init_guile_1),
+       root.c (scm_internal_cwdr), gdbint.c (SCM_BEGIN_FOREIGN_BLOCK,
+       SCM_END_FOREIGN_BLOCK): Don't touch scm_ints_disabled.
+       (old_ints): Removed.
+
+       * __scm.h (SCM_DEFER_INTS, SCM_ALLOW_INTS): Define as a recursive
+       critical section.
+       (SCM_REDEFER_INTS, SCM_ALLOW_INTS): Define as SCM_DEFER_INTS and
+       SCM_ALLOW_INTS.
+
+2002-12-09  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * threads.c (scm_mutex_lock, scm_cond_wait, scm_cond_timedwait):
+       Removed accidental #if 0 around these functions.
+
+       These changes are the start of support for preemptive
+       multithreading.  Marius and I have agreed that I commit this code
+       into the repository although it isn't thoroughly tested and surely
+       introduces many bugs.  The bugs should only be exposed when using
+       threads, though.  Signalling and error handling for threads is
+       very likely broken.  Work on making the implementation cleaner and
+       more efficient is needed.
+       
+       * __scm.h (SCM_ALLOW_INTS_ONLY): Removed.
+       (SCM_NONREC_CRITICAL_SECTION_START,
+       SCM_NONREC_CRITICAL_SECTION_END, SCM_REC_CRITICAL_SECTION_START,
+       SCM_REC_CRITICAL_SECTION_END): New macros.
+       (SCM_CRITICAL_SECTION_START/END): Defined here.
+
+       * eval.c: Insert SOURCE_SECTION_START / SOURCE_SECTION_END around
+       the three calls to scm_m_expand_body.
+
+       * gc.h: #include "libguile/pthread-threads.h";
+       (SCM_FREELIST_CREATE, SCM_FREELIST_LOC): New macros.
+
+       * gc.c (scm_i_freelist, scm_i_freelist2): Defined to be of type
+       scm_t_key;
+
+       * gc.c, gc-freelist.c, inline.h: Use SCM_FREELIST_LOC for freelist
+       access.
+
+       * gc-freelist.c (scm_gc_init_freelist): Create freelist keys.
+
+       * gc-freelist.c, threads.c (really_launch): Use
+       SCM_FREELIST_CREATE.
+
+       * gc-malloc.c (scm_realloc, scm_gc_register_collectable_memory):
+
+       * gc.c (scm_i_expensive_validation_check, scm_gc,
+       scm_gc_for_newcell): Put threads to sleep before doing GC-related
+       heap administration so that those pieces of code are executed
+       single-threaded.  We might consider rewriting these code sections
+       in terms of a "call_gc_code_singly_threaded" construct instead of
+       calling the pair of scm_i_thread_put_to_sleep () and
+       scm_i_thread_wake_up ().  Also, we would want to have as many of
+       these sections eleminated.
+
+       * init.c (scm_init_guile_1): Call scm_threads_prehistory.
+
+       * inline.h: #include "libguile/threads.h"
+
+       * pthread-threads.h: Macros now conform more closely to the
+       pthreads interface.  Some of them now take a second argument.
+
+       * threads.c, threads.h: Many changes.
+
+2002-12-09  Mikael Djurfeldt  <djurfeldt@nada.kth.se>
+
+       * Makefile.am (version.h): Changed $^ --> $< in rule for
+       version.h.
+       
+2002-12-08  Rob Browning  <rlb@defaultvalue.org>
+
+       * version.h.in (SCM_MICRO_VERSION): use @--@ substitution now.
+       (SCM_MINOR_VERSION): use @--@ substitution now.
+       (SCM_MICRO_VERSION): use @--@ substitution now.
+       (scm_effective_version): new function prototype.
+
+       * version.c (scm_effective_version): new function, also add
+       effective-version.
+
+       * Makefile.am (schemelibdir): VERSION -> GUILE_EFFECTIVE_VERSION.
+       (libpath.h): use GUILE_EFFECTIVE_VERSION to compute
+       SCM_LIBRARY_DIR.
+       (version.h): generate this here rather than configure.in.  This
+       approach tracks source edits better (i.e. more immediately).
+       Might be worth considering for other .in files too.
+
+2002-12-02  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       Reorganized thread package selection.  A thread package now only
+       implements a small set of pthread like functions and Guile
+       implements the rest on top of that.  Guile's implementation is
+       what the "coop-pthreads" package has been previously.  Support for
+       "coop" threads has been removed until I get time to add it again.
+       
+       * Makefile.am (libguile_la_SOURCES): Removed iselect.c.
+       (noinst_HEADERS): Removed coop-threads.c, coop-threads.h, coop.c,
+       null-threads.c, coop-pthreads.c.
+       (modinclude_HEADERS): Removed coop-defs.h, coop-pthreads.h.  Added
+       pthread-threads.h.
+       
+       * validate.h (SCM_VALIDATE_THREAD): Moved to threads.h.
+
+       * threads.h: Do not include "libguile/coop-defs.h".  Include
+       "libguile/pthread-threads.h" for USE_COPT_THREADS.  Removed
+       (previously deprecated) C level thread API prototypes.  They are
+       now in the thread package specific headers, "null-threads.h" and
+       "pthread-threads.h".
+       (SCM_VALIDATE_THREAD, SCM_VALIDATE_MUTEX, SCM_VALIDATE_CONDVAR):
+       New.
+       (scm_threads_init): Removed.
+       (SCM_CRITICAL_SECTION_START, SCM_CRITICAL_SECTION_END,
+       SCM_THREAD_SWITCHING_CODE, scm_i_switch_counter,
+       SCM_I_THREAD_SWITCH_COUNT): Define here.
+       (scm_single_thread_p): Removed.
+       (scm_call_with_new_thread): Take two args directly instead of list
+       of two args.
+       (scm_i_thread_data, scm_i_set_thread_data, SCM_THREAD_LOCAL_DATA,
+       SCM_SET_THREAD_LOCAL_DATA): Define here.
+
+       * threads.c: Merged with "coop-pthreads.c".
+
+       * null-threads.h: Implement pthread-like API as a set of macros.
+
+       * pthread-threads.h: New, implement pthread-like API by deferring
+       to pthread itself.
+       
+       * init.c (scm_init_guile_1): Do not call scm_init_iselect, which
+       has been lost in the reorganization.
+
+2002-12-01  Mikael Djurfeldt  <mdj@linnaeus>
+
+       The following change makes it possible to move procedure
+       application dispatch outside inner loops.  The motivation was
+       clean implementation of efficient replacements of R5RS primitives
+       in SRFI-1.
+
+       The semantics is clear: scm_trampoline_N returns an optimized
+       version of scm_call_N (or NULL if the procedure isn't applicable
+       on N args).
+
+       Applying the optimization to map and for-each increases efficiency
+       noticeably.  For example, (map abs ls) is 8 times faster than
+       before.
+
+       * eval.h (scm_t_trampoline_1, scm_t_trampoline_2): New types.
+
+       * eval.c, eval.h (scm_trampoline_1, scm_trampoline_2): New functions.
+
+       * eval.c (call_subr2_2, call_lsubr_2, call_closure_2): New functions;
+       (map, for-each): Handle also application on two args as a special
+       case; Use trampolines.
+
+       Other changes:
+       
+       * sort.c (scm_cmp_function): Choose subr2less for scm_tc7_subr_2o;
+       (subr2oless): Removed.
+       (scm_restricted_vector_sort_x): Use scm_return_first to keep the
+       vector GC protected.
+
+       * eval.c (check_map_args): Use scm_out_of_range_pos instead of
+       scm_out_of_range.
+
+2002-11-24  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * evalext.[ch] (scm_m_undefine, undefine):  Deprecated.
+
+2002-11-17  Mikael Djurfeldt  <mdj@linnaeus>
+
+       * debug.c (scm_make_iloc): Added missing "return".
+
+2002-11-17  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * strports.c (scm_eval_string_in_module): Validate second arg to
+       be a module.  Thanks to Arno Peters!
+
+2002-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * .cvsignore: remove goops.c
+
+2002-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * modules.c (scm_env_top_level, scm_lookup_closure_module,
+       module_variable, scm_module_lookup_closure,
+       scm_module_transformer, scm_sym2var, scm_module_reverse_lookup,
+       scm_system_module_env_p):  Don't compare SCM values with C
+       operators == or !=.  Avoid SCM_IMP predicates.  Prefer !SCM_FALSEP
+       over SCM_NFALSEP.
+
+2002-11-16  Dirk Herrmann  <D.Herrmann@tu-bs.de>
+
+       * eval.h (SCM_MAKE_ILOC):  New macro.
+
+       * debug.c (scm_make_iloc):  Use SCM_MAKE_ILOC instead of computing
+       the iloc bitpattern here.
+
+2002-11-14  Mikael Djurfeldt  <mdj@linnaeus>
+
+       * coop-pthreads.c, coop-pthreads.h: scm_internal_select should be
+       part of the API, otherwise it's difficult to write Guile
+       extensions using non-blocking I/O => moved #include
+       "libguile/iselect.h" from coop-pthreads.c --> coop-pthreads.h.
+
+       * coop-pthreads.c (scm_unlock_mutex): Changed s_lock_mutex -->
+       s_unlock_mutex.
+
+2002-11-10  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * __scm.h (USE_THREADS, GUILE_ISELECT): Do not define here.  They
+       are defined in configure.in.
+
+       * threads.c: Removed SCM_API from function definitions.  SCM_API
+       is only for declarations.
+
+2002-11-07  Mikael Djurfeldt  <mdj@linnaeus>
+
+       * coop-pthreads.h: Added support for thread specific data to the
+       generic C API for the coop-pthreads case.
+
+       * threads.c, threads.h (scm_cond_init): Undo unintentional API
+       change.
+       (scm_cond_broadcast): Added missing function.
+
+2002-11-04  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
+
+       * coop.c (coop_next_runnable_thread): Removed, wich should have
+       happened when GUILE_ISELECT was hard-wired.
+
+2002-11-03  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * Makefile.am (libguile_la_SOURCES): Added threads.c
+       (DOT_DOC_FILES): Added threads.doc.
+       (DOT_X_FILES): Added threads.x.
+       (EXTRA_libguile_la_SOURCES): Removed threads.c.
+       (noinst_HEADERS): Added coop-pthreads.c.
+       (modinclude_HEADERS): Added coop-pthreads.h.
+
+       * __scm.h (USE_THREADS, GUILE_ISELECT): Define when
+       SCM_DEBUG_DEPRECATED.  Removed their use thru-out Guile.
+
+       * iselect.c: Include "_scm.h" before testing HAVE_UNISTD_H.
+       Thanks to Bill Schottstaedt!
+
+       * numbers.c (scm_integer_expt): Make 0^z == 0 for z != 0.
+
+       * _scm.h (HAVE_RESTARTABLE_SYSCALLS): Do define even when
+       SCM_COPT_THREADS is defined.
+       (SCM_SYSCALL): Use EINTR-expection version when SCM_COPT_THREADS
+       is defined.
+       
+       * coop-pthreads.c: Some harmless renamings of internal stuff.
+       (create_thread): New, generalized version of
+       scm_call_with_new_thread.
+       (scm_call_with_new_thread): Use it.
+       (scm_spawn_thread): New, use create_thread.
+       
+2002-11-02  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * coop-pthreads.c, coop-pthreads.h: Redone completely, you might
+       start testing it now.
+
+       * _scm.h: Include <errno.h< so that SCM_SYSCALL is correctly
+       defined when HAVE_RESTARTABLE_SYSCALLS is not defined.
+       (HAVE_RESTARTABLE_SYSCALLS): Do not define when USE_COPT_THREADS
+       is defined.
+
+2002-10-27  Marius Vollmer  <mvo@zagadka.ping.de>
+
+       * scmsigs.c (signal_cell_handlers, install_handler_data,
+       scm_delq_spine_x, really_install_handler, install_handler): New
+       scheme for triggering signal handlers, to simplify take_signal.
+       (take_signal): Simplified, to avoid race conditions.
+       (scm_sigaction_for_thread): Use new Scheme.  Validate that thread
+       hasn't exited yet.
+       
+       * async.c (scm_async_click): Reset pending_asyncs, handle
+       signal_asyncs.  Don't set cdr of a non-signal async to #f.
+       (scm_i_queue_async_cell): Do not check cdr of cell for #f, queue
+       always.  Set pending_asyncs.
+       (scm_system_async_mark_for_thread): Check that thread has not
+       exited.
+       (scm_unmask_signals, decrease_block): Call scm_async_click after
+       block_asyncs becomes zero.
+       
+       * __scm.h (SCM_ASYNC_CLICK): Check pending_asyncs instead of
+       active_asyncs.
+
+       * root.h (scm_root_state): Added pending_asyncs and signal_asyncs
+       fields.
+       * root.c (root_mark): Mark them.
+       (make_root): Initialize them.
+       
+       * iselect.c, iselect.h: Replaced GUILE_ISELECT with
+       USE_COOP_THREADS.
+       (scm_internal_select): Define one version for USE_COOP_THREADS and
+       one for USE_NULL_THREADS.
+       (scm_init_iselect): Likewise.
+       
+        * inline.h (scm_cell, scm_double_cell): Also allow
+       USE_COPT_THREADS to not protect the slot initializers.
+       
+       * init.c (scm_init_guile_1): Call scm_init_thread_procs.  This is
+       because threads need to be initialized before the stack, but
+       gsubrs such as scm_timed_condition_variable_wait can only be
+       created later.
+
+       * threads.h: Include "coop-pthreads.h" when requested.
+       (scm_threads_make_mutex, scm_threads_lock_mutex,
+       scm_threads_unlock_mutex, scm_threads_monitor): Removed, they were
+       not implemented anyway.
+       (scm_init_thread_procs, scm_try_mutex,
+       scm_timed_condition_variable_wait,
+       scm_broadcast_condition_variable, scm_c_thread_exited_p,
+       scm_thread_exited_p): New prototypes.
+       (struct timespec): Define if not already defined.
+       (scm_t_mutex, scm_mutex_init, scm_mutex_lock, scm_mutex_trylock,
+       scm_mutex_unlock, scm_mutex_destroy, scm_t_cond, scm_cond_init,
+       scm_cond_wait, scm_cond_timedwait, scm_cond_signal,
+       scm_cond_broadcast, scm_cond_destroy): Declarations moved here and
+       deprecated.
+
+       * threads.c: Include <errno.h>.  Include "coop-pthreads.c" when
+       requested.
+       (scm_thread_exited_p): New.
+       (scm_try_mutex, scm_broadcast_condition_variable): Newly
+       registered procedures.
+       (scm_wait_condition_variable, scm_timed_wait_condition_variable):
+       Use the latter as the procedure for "wait-condition-variable",
+       thus offering a optional timeout parameter to Scheme.
+       (scm_wait_condition_variable): Implement in terms of
+       scm_timed_wait_condition_variable.
+       (scm_mutex_init, scm_mutex_lock, scm_mutex_trylock,
+       scm_mutex_unlock, scm_mutex_destroy, scm_cond_init,
+       scm_cond_wait, scm_cond_timedwait, scm_cond_signal,
+       scm_cond_broadcast, scm_cond_destroy): Implement in terms of
+       scm_make_mutex, etc, and deprecate.
+       (scm_init_threads): Do not create smobs, leave this to
+       scm_threads_init.  Do not include "threads.x" file.
+       (scm_init_thread_procs): New, include "threads.x" here.
+
+       * null-threads.h (scm_null_mutex, scm_null_mutex_init,
+       scm_null_mutex_lock, scm_null_mutex_unlock,
+       scm_null_mutex_destroy, scm_null_condvar, scm_null_condvar_init,
+       scm_null_condvar_wait, scm_null_condvar_signal,
+       scm_null_condvar_destroy): Removed.
+       (scm_mutex_init, scm_mutex_lock, scm_mutex_unlock, scm_cond_init,
+       scm_cond_wait, scm_cond_signal, scm_cond_broadcast,
+       scm_cond_destory): Do not define, they are now deprecated and
+       handled by threads.{h,c}.
+       
+       * null-threads.c (scm_null_mutex, scm_null_cond): Define here.
+       (scm_threads_init): Create smobs here, using the appropriate
+       sizes.
+       (block): Removed, now unused.
+       (scm_c_thread_exited_p): New.
+       (scm_null_mutex_init, scm_null_mutex_lock, scm_null_mutex_unlock,
+       scm_null_mutex_destroy, scm_null_condvar_init,
+       scm_null_condvar_wait, scm_null_condvar_signal,
+       scm_null_condvar_destroy): Removed and updated users to do their
+       task directly.
+       (scm_try_mutex, timeval_subtract,
+       scm_timed_wait_condition_variable,
+       scm_broadcast_condition_variable): New.
+       (scm_wait_condition_variable): Removed.
+
+       * coop-defs.h (coop_m): Added 'level' field.
+       (scm_t_mutex, scm_mutex_init, scm_mutex_lock, scm_mutex_trylock,
+       scm_mutex_unlock, scm_mutex_destroy, scm_t_cond, scm_cond_init,
+       scm_cond_wait, scm_cond_timedwait, scm_cond_signal,
+       scm_cond_broadcast, scm_cond_destroy, struct timespec): Do not
+       define.
+       (coop_condition_variable_broadcast): New.
+
+       * coop-threads.c (scm_threads_init): Create smobs here, using the
+       appropriate sizes.
+       (scm_c_thread_exited_p, scm_try_mutex,
+       scm_timed_wait_condition_variable,
+       scm_broadcast_condition_variable): New.
+       (scm_wait_condition_variable): Removed.
+
+       * coop.c (coop_new_mutex_init): Initialize level.
+       (coop_mutex_trylock, coop_mutex_lock, coop_mutex_unlock): maintain
+       level.
+       (coop_condition_variable_signal): Renamed to
+       coop_condition_variable_broadcast and reimplemented in terms of
+       that.  Thus...
+       (coop_condition_variable_broadcast): New.
+
+       * goops.c (hell_mutex): Reimplemented using scm_make_mutex, etc.
+
+       * coop-pthreads.h, coop-pthreads.c: New, but unfinished.
+       
 2002-10-21  Marius Vollmer  <mvo@zagadka.ping.de>
 
        * null-threads.c: Include <time.h>.  Also, use <...> for inclusion
@@ -5,7 +503,7 @@
 
        * async.c, goops.h, modules.h, validate.h (SCM_MAKE_VALIDATE_MSG):
        New.  Use it instead of SCM_MAKE_VALIDATE in lots of places to
-       gove better error messages.  Thanks to Bill Schottstaedt!
+       give better error messages.  Thanks to Bill Schottstaedt!
 
 2002-10-19  Dirk Herrmann  <D.Herrmann@tu-bs.de>
 
 
 2002-10-11  Marius Vollmer  <marius.vollmer@uni-dortmund.de>
 
-       * async.c (s_scm_system_async_mark_for_thread): Only call
+       * async.c (scm_system_async_mark_for_thread): Only call
        scm_i_thread_root when USE_THREADS is defined.  Use scm_root
        otherwise.
 
        * Makefile.am (libguile_la_LIBADD): switch to use
        libguile-ltdl.la.
 
-       * numbers.c (s_scm_integer_expt): (expt 0 1) should be 1.
+       * numbers.c (scm_integer_expt): (expt 0 1) should be 1.
 
 2002-10-04  Marius Vollmer  <mvo@zagadka.ping.de>
 
        scm_add_to_port_table. This prevents cells with null-pointers from
        being exposed to GC.
 
-       * vports.c (s_scm_make_soft_port) strports.c (scm_mkstrport),
+       * vports.c (scm_make_soft_port) strports.c (scm_mkstrport),
        fports.c (scm_fdes_to_port): Use scm_new_port_table_entry().
 
-       * gc.c (s_scm_gc_stats): add cell-yield and malloc-yield statistic
+       * gc.c (scm_gc_stats): add cell-yield and malloc-yield statistic
        to gc-stats.
 
        * numbers.c (big2str): return "0" for 0 iso. ""
 
        * macros.c: include deprecation.h
 
-       * vectors.c (s_scm_vector_move_right_x): remove side effect in
+       * vectors.c (scm_vector_move_right_x): remove side effect in
        macro arg.
-       (s_scm_vector_move_left_x): idem.
+       (scm_vector_move_left_x): idem.
 
        * net_db.c, posix.c, socket.c: variable naming: change ans to
        result.
 
        * goops.h (scm_slot_exists_p): Rename from scm_slots_exists_p.
        * goops.c (scm_slot_exists_p): Rename from scm_slots_exists_p.
-       (s_scm_slot_exists_p): Rename from s_scm_slots_exists_p.
+       (scm_slot_exists_p): Rename from scm_slots_exists_p.
        Thanks to Andreas Rottmann.
 
 2002-04-20  Gary Houston  <ghouston@arglist.com>
        * socket.c: Include `stdint.h' if available for the `uint32_t'
        declaration.
 
-       * scmsigs.c (s_scm_sigaction): Initialize `chandler' (inhibits
+       * scmsigs.c (scm_sigaction): Initialize `chandler' (inhibits
        compiler warning).
 
        * backtrace.c: Include `lang.h' for GUILE_DEBUG conditional.