bpt/guile.git
21 years ago*** empty log message ***
Mikael Djurfeldt [Wed, 12 Mar 2003 10:04:35 +0000 (10:04 +0000)]
*** empty log message ***

21 years ago* slib.scm (*features*): Set the core variable instead of defining
Mikael Djurfeldt [Wed, 12 Mar 2003 10:03:25 +0000 (10:03 +0000)]
* slib.scm (*features*): Set the core variable instead of defining
a local version.
(provide, provided?): Mark as replacements.

* boot-9.scm (beautify-user-module!): Don't install the duplicates
handler here.
(default-duplicate-binding-handler): Renamed from
default-module-duplicates-handler; Removed converter.
(process-duplicates): Lookup default duplicates handler dynamically.
(default-duplicate-binding-procedures): New parameter.

21 years ago* slib.scm (identity): Removed. (Provided by core.)
Mikael Djurfeldt [Wed, 12 Mar 2003 09:28:20 +0000 (09:28 +0000)]
* slib.scm (identity): Removed.  (Provided by core.)

21 years agoAdjustments of error messages
Mikael Djurfeldt [Tue, 11 Mar 2003 20:11:20 +0000 (20:11 +0000)]
Adjustments of error messages

21 years ago* srfi-1.scm (filter, filter!): Removed. (Now implemented in the core.)
Mikael Djurfeldt [Tue, 11 Mar 2003 19:58:14 +0000 (19:58 +0000)]
* srfi-1.scm (filter, filter!): Removed.  (Now implemented in the core.)

* goops/util.scm (filter): Removed.  (Now supplied by core.)

* list.c, list.h (scm_filter, scm_filter_x): New functions.

* debugger/command-loop.scm: Prefix all commands imported from
(ice-9 debugger command-loop) with debugger:.

* boot-9.scm (resolve-interface): Process #:hide; Name custom interfaces
appropriately.
(module-use!, module-use-interfaces!): Remove existing interfaces
on the use-list based on module name rather than interface
identity so that custom interfaces truly replaces their previous
version.

21 years agoIndentation
Mikael Djurfeldt [Tue, 11 Mar 2003 19:55:00 +0000 (19:55 +0000)]
Indentation

21 years ago* modules.c (scm_module_import_interface): New function.
Mikael Djurfeldt [Tue, 11 Mar 2003 15:58:02 +0000 (15:58 +0000)]
* modules.c (scm_module_import_interface): New function.

* boot-9.scm (process-duplicates): Use module-import-interface.
(module-symbol-interface): Removed.

21 years ago* goops.scm (define-extended-generics): New syntax.
Mikael Djurfeldt [Tue, 11 Mar 2003 14:50:08 +0000 (14:50 +0000)]
* goops.scm (define-extended-generics): New syntax.
(<class> <operator-class> <entity-class> <entity>): Marked as
replacements.
(upgrade-accessor): Renamed from upgrade-generic-with-setter.
(ensure-accessor, upgrade-accessor): Rewritten to accomodate the
new <accessor> class.
(merge-accessors): Provide for merging of accessors imported from
different modules under the same name.

* goops.c, goops.h (scm_class_accessor_method): Renamed from
scm_class_accessor.
(scm_class_accessor): New class.

21 years ago*** empty log message ***
Mikael Djurfeldt [Tue, 11 Mar 2003 12:23:15 +0000 (12:23 +0000)]
*** empty log message ***

21 years ago* srfi-1.scm (iota map for-each map-in-order list-index member
Mikael Djurfeldt [Mon, 10 Mar 2003 23:18:05 +0000 (23:18 +0000)]
* srfi-1.scm (iota map for-each map-in-order list-index member
delete delete! assoc): Marked as replacements.

* goops.scm (define-extended-generics): New syntax.
(<class> <operator-class> <entity-class> <entity>): Marked as
replacements.

* boot-9.scm (module-override!, make-mutable-parameter,
lookup-duplicates-handlers, default-module-duplicates-handler):
New functions.
(process-duplicates): Don't call duplicates handlers for duplicate
bindings of the same variable.
(process-define-module): Process #:replace.
(compile-interface-spec, resolve-interface): Process #:prefix.

* format.scm (format): Marked as replacement.

* threads.scm (future, future-ref): Marked as replacements.

21 years ago*** empty log message ***
Rob Browning [Sat, 8 Mar 2003 04:29:43 +0000 (04:29 +0000)]
*** empty log message ***

21 years ago* preface.texi: change MANUAL_EDITION to MANUAL-EDITION so we
Rob Browning [Sat, 8 Mar 2003 04:29:08 +0000 (04:29 +0000)]
* preface.texi: change MANUAL_EDITION to MANUAL-EDITION so we
don't choke TeX (thanks to Dale P. Smith).

21 years ago* guile.texi: change MANUAL_EDITION to MANUAL-EDITION so we don't
Rob Browning [Sat, 8 Mar 2003 04:28:55 +0000 (04:28 +0000)]
* guile.texi: change MANUAL_EDITION to MANUAL-EDITION so we don't
choke TeX (thanks to Dale P. Smith).

21 years ago* boot-9.scm (process-define-module): Handle #:duplicates.
Mikael Djurfeldt [Fri, 7 Mar 2003 13:12:47 +0000 (13:12 +0000)]
* boot-9.scm (process-define-module): Handle #:duplicates.
(module-use-interfaces! process-duplicates): New functions.
(duplicate-handlers): Dictionary of duplicate handlers.
(module-symbol-local-binding, module-symbol-binding): Bugfix.

* goops.scm (equal?): Define default method.
(merge-generics): Provide for merging of generic functions
imported into a module under the same name.

21 years ago* srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
Mikael Djurfeldt [Thu, 6 Mar 2003 12:51:57 +0000 (12:51 +0000)]
* srfi-1.c (scm_init_srfi_1): Extend root module map and for-each
with the versions in this module using
scm_c_extend_primitive_generic.

* goops.scm (equal?): Define default method.

* goops.c (scm_primitive_generic_generic): Enable primitive
generic if not enabled.
(scm_sys_goops_loaded): Setup unextended primitive generics.

* goops.c, goops.h (scm_c_extend_primitive_generic): New function.

* snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New
snarf macros.

* numbers.c (scm_abs): Use SCM_PRIMITIVE_GENERIC.  (This is only a
testing example.  All uses of SCM_GPROC should be converted.)

* procprop.c (scm_stand_in_scm_proc): Use scm_assq instead of
scm_assoc.

* eq.c (scm_equal_p): Turned into a primitive generic.

21 years ago* session.scm (apropos): Use hash-for-each instead of
Mikael Djurfeldt [Tue, 4 Mar 2003 11:56:10 +0000 (11:56 +0000)]
* session.scm (apropos): Use hash-for-each instead of
array-for-each.

21 years agoAdded comments to scm_c_random_bignum
Mikael Djurfeldt [Mon, 3 Mar 2003 13:19:46 +0000 (13:19 +0000)]
Added comments to scm_c_random_bignum

21 years ago*** empty log message ***
Rob Browning [Thu, 27 Feb 2003 07:20:33 +0000 (07:20 +0000)]
*** empty log message ***

21 years ago* configure.in (AC_CONFIG_SRCDIR): use GUILE-VERSION.
Rob Browning [Thu, 27 Feb 2003 07:16:39 +0000 (07:16 +0000)]
* configure.in (AC_CONFIG_SRCDIR): use GUILE-VERSION.
(AM_CONFIG_HEADER): change to config.h

21 years ago* guile-aclocal.sh: deleted in favor of ACLOCAL_AMFLAGS in
Rob Browning [Thu, 27 Feb 2003 07:10:51 +0000 (07:10 +0000)]
* guile-aclocal.sh: deleted in favor of ACLOCAL_AMFLAGS in
Makefile.am.

21 years ago* Makefile.am (EXTRA_DIST): remove $(ACLOCAL).
Rob Browning [Thu, 27 Feb 2003 07:09:41 +0000 (07:09 +0000)]
* Makefile.am (EXTRA_DIST): remove $(ACLOCAL).
(ACLOCAL_AMFLAGS): replaces ACLOCAL.

21 years ago* autogen.sh: switch to autoreconf -- see how it goes. remove
Rob Browning [Thu, 27 Feb 2003 07:08:28 +0000 (07:08 +0000)]
* autogen.sh: switch to autoreconf -- see how it goes.  remove
call to guile-aclocal.sh -- we now do the same thing with an
automake setting.

21 years ago* autogen.sh: use autoreconf.
Rob Browning [Thu, 27 Feb 2003 07:04:57 +0000 (07:04 +0000)]
* autogen.sh: use autoreconf.

21 years ago*** empty log message ***
Rob Browning [Thu, 27 Feb 2003 07:04:25 +0000 (07:04 +0000)]
*** empty log message ***

21 years ago* Makefile.am (scmconfig.h): new target -- generate file from
Rob Browning [Thu, 27 Feb 2003 07:04:16 +0000 (07:04 +0000)]
* Makefile.am (scmconfig.h): new target -- generate file from
../config.h.
(modinclude_HEADERS): remove version.h.
(nodist_modinclude_HEADERS): add version.h.

21 years ago* struct.c (scm_struct_prehistory): Init scm_i_structs_to_free to
Mikael Djurfeldt [Mon, 24 Feb 2003 19:21:56 +0000 (19:21 +0000)]
* struct.c (scm_struct_prehistory): Init scm_i_structs_to_free to
SCM_EOL.
(scm_struct_prehistory): Move scm_free_structs to
scm_before_mark_c_hook.

* gc-card.c (sweep_card): Check that we haven't swept structs on
this card before.  That can happen if scm_i_sweep_all_segments has
been called from some other place than scm_igc.

21 years ago* struct.c (scm_struct_prehistory): Move scm_free_structs to
Mikael Djurfeldt [Mon, 24 Feb 2003 11:26:46 +0000 (11:26 +0000)]
* struct.c (scm_struct_prehistory): Move scm_free_structs to
scm_before_mark_c_hook.

21 years ago* struct.c (scm_struct_gc_init): Removed.
Mikael Djurfeldt [Mon, 24 Feb 2003 10:46:29 +0000 (10:46 +0000)]
* struct.c (scm_struct_gc_init): Removed.
(scm_struct_prehistory): Init scm_i_structs_to_free to SCM_EOL.
(This fixes a serious GC bug, introduced during the latest
reorganization of the GC, preventing freeing of structs and GOOPS
objects.)

21 years agoFix of previous change
Mikael Djurfeldt [Wed, 19 Feb 2003 17:57:01 +0000 (17:57 +0000)]
Fix of previous change

21 years ago* environments.c (DEFAULT_OBARRAY_SIZE): Changed from 137 to 31
Mikael Djurfeldt [Wed, 19 Feb 2003 16:16:46 +0000 (16:16 +0000)]
* environments.c (DEFAULT_OBARRAY_SIZE): Changed from 137 to 31
(since hash tables now adapt their size).

* modules.c (scm_modules_prehistory): Changed from 2001 to 1533
(current number of prehistory bindings; hashtable code will select
a prime which is greater than this value).

* symbols.c (scm_symbols_prehistory): Changed from 1009 to 2139
(current number of initial symbols).

* properties.c (scm_init_properties): Don't specify size of
scm_properties_whash.

* objprop.c (scm_init_objprop): Don't specify size of
scm_object_whash.

* keywords.c (scm_init_keywords): Don't specify a hash table size.

21 years agoFix of last change.
Mikael Djurfeldt [Wed, 19 Feb 2003 15:43:00 +0000 (15:43 +0000)]
Fix of last change.

21 years ago* tests/elisp.test: Use module (ice-9 weak-vector).
Mikael Djurfeldt [Wed, 19 Feb 2003 15:31:30 +0000 (15:31 +0000)]
* tests/elisp.test: Use module (ice-9 weak-vector).

* tests/weaks.test: Use module (ice-9 weak-vector).

21 years agoAdded missing export
Mikael Djurfeldt [Wed, 19 Feb 2003 15:31:05 +0000 (15:31 +0000)]
Added missing export

21 years ago* hooks.c (scm_c_hook_add): Fixed bug in append mode.
Mikael Djurfeldt [Wed, 19 Feb 2003 15:04:51 +0000 (15:04 +0000)]
* hooks.c (scm_c_hook_add): Fixed bug in append mode.

* environments.c (obarray_enter, obarray_retrieve, obarray_remove,
leaf_environment_fold, obarray_remove_all): Use hashtable
accessors.

* gc.c (scm_init_storage): Moved hook initialization to
scm_storage_prehistory.
(scm_storage_prehistory): New function.
(scm_igc): Added commentary about placement of
scm_after_sweep_c_hook.

* gc-mark.c (scm_mark_all): Use hashtable accessors.
(scm_gc_mark_dependencies): Use SCM_WVECT_WEAK_KEY_P and
SCM_WVECT_WEAK_VALUE_P.

* hashtab.c, hashtab.h (scm_hash_for_each, scm_hash_map): New
functions.
(scm_vector_to_hash_table, scm_c_make_resizing_hash_table):
Removed.
(scm_make_weak_key_hash_table, scm_make_weak_value_hash_table,
scm_make_doubly_weak_hash_table): Moved here from weaks.c.

* init.c (scm_init_guile_1): Removed call to scm_init_weaks; Added
calls to scm_storage_prehistory and scm_hashtab_prehistory.

* modules.c (module-reverse-lookup): Use hashtable accessors.

* symbols.c, symbols.h (scm_i_hash_symbol): New function.

* weaks.c, weaks.h (scm_make_weak_key_alist_vector,
scm_make_weak_value_alist_vector,
scm_make_doubly_weak_alist_vector): New functions.

* weaks.c (scm_init_weaks_builtins): New function.

* weaks.h (SCM_WVECTF_WEAK_KEY, SCM_WVECTF_WEAK_VALUE,
SCM_WVECTF_NOSCAN, SCM_WVECT_WEAK_KEY_P, SCM_WVECT_WEAK_VALUE_P,
SCM_WVECT_NOSCAN_P): New macros.

* weaks.c (scm_scan_weak_vectors):  Use SCM_WVECT_WEAK_KEY_P
and SCM_WVECT_WEAK_VALUE_P.

* weaks.c, weaks.h (scm_i_allocate_weak_vector): Renamed from
allocate_weak_vector and exported.

* Makefile.am (ice9_sources): Added weak-vector.scm.

* weak-vector.scm: New file.

* boot-9.scm (module-clear!): Use hash-clear!.
(module-for-each): Use hash-for-each.
(module-map): Use hash-map.

21 years ago* hashtab.c: Undid thread safety. (We decided that it's better to
Mikael Djurfeldt [Thu, 13 Feb 2003 10:42:59 +0000 (10:42 +0000)]
* hashtab.c: Undid thread safety.  (We decided that it's better to
let the user explicitly protect the tables (or not) according what
is suitable for the application.)

21 years ago* hashtab.c (scm_hash_fn_remove_x, scm_internal_hash_fold): Made
Mikael Djurfeldt [Wed, 12 Feb 2003 09:55:10 +0000 (09:55 +0000)]
* hashtab.c (scm_hash_fn_remove_x, scm_internal_hash_fold): Made
thread safe and handle resizing tables.
(scm_ihashx, scm_sloppy_assx, scm_delx_x): Removed
SCM_DEFER/ALLOW_INTS.

21 years ago* hashtab.c (scm_vector_to_hash_table,
Mikael Djurfeldt [Tue, 11 Feb 2003 13:49:32 +0000 (13:49 +0000)]
* hashtab.c (scm_vector_to_hash_table,
scm_c_make_resizing_hash_table, scm_make_hash_table): New
functions.
(scm_hash_fn_get_handle, scm_hash_fn_create_handle_x): Made thread
safe and handle resizing tables.

* weaks.c (scm_make_weak_key_hash_table,
scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
Size argument made optional.  Return resizable table if not
specified.

* boot-9.scm (make-hash-table): Turned primitive.

21 years ago* eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
Mikael Djurfeldt [Mon, 10 Feb 2003 12:39:11 +0000 (12:39 +0000)]
* eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
Fixed formals tests for closures.  (Thanks to Kevin Ryde.)

21 years ago* debug.c (scm_procedure_source): Handle all objects for which
Mikael Djurfeldt [Wed, 5 Feb 2003 19:04:40 +0000 (19:04 +0000)]
* debug.c (scm_procedure_source): Handle all objects for which
procedure? is #t.  (Thanks to Bill Schottstaedt.)

21 years ago* srfi-1.c (srfi1_for_each): Corrected argument checking for the
Mikael Djurfeldt [Mon, 3 Feb 2003 14:48:25 +0000 (14:48 +0000)]
* srfi-1.c (srfi1_for_each): Corrected argument checking for the
case of two argument lists.  (Thanks to Kevin Ryde.)

21 years ago*** empty log message ***
Mikael Djurfeldt [Mon, 27 Jan 2003 09:21:38 +0000 (09:21 +0000)]
*** empty log message ***

21 years ago* syncase.scm (guile-macro): Strip syntactic information from
Mikael Djurfeldt [Mon, 27 Jan 2003 08:46:18 +0000 (08:46 +0000)]
* syncase.scm (guile-macro): Strip syntactic information from
expression before trying to treat it as a Guile macro call.
(Thanks to Kevin Ryde.)

21 years ago* threads.scm (parallel, letpar): Rewritten.
Mikael Djurfeldt [Fri, 24 Jan 2003 10:32:13 +0000 (10:32 +0000)]
* threads.scm (parallel, letpar): Rewritten.

21 years ago* futures.c (mark_futures): Don't need to mark data of recycled
Mikael Djurfeldt [Thu, 23 Jan 2003 20:31:38 +0000 (20:31 +0000)]
* futures.c (mark_futures): Don't need to mark data of recycled
futures.
(scan_futures, cleanup_undead): Be smarter about marking
futures---avoid unnecessary passes through future lists.

21 years ago* futures.h, futures.c: New files; Introduced recycling of
Mikael Djurfeldt [Thu, 23 Jan 2003 16:13:13 +0000 (16:13 +0000)]
* futures.h, futures.c: New files; Introduced recycling of
futures.  For fine-grained threading this lifts performance to
another level.  We can now use parallelization in inner loops of
Guile programs without impossible overhead.

21 years ago* threads.h, threads.c: Moved futures to their own file.
Mikael Djurfeldt [Thu, 23 Jan 2003 16:04:37 +0000 (16:04 +0000)]
* threads.h, threads.c: Moved futures to their own file.

* Makefile.am (libguile_la_SOURCES): Added futures.c.
(DOT_X_FILES): Added futures.x.
(DOT_DOC_FILES): Added futures.doc.
(modinclude_HEADERS): Added futures.h.

* threads.c, threads.h (scm_i_create_thread): Renamed from
create_thread and made global.

* eval.c: #include "libguile/futures.h".

* init.c: #include "futures.h"
(scm_init_guile_1): Call scm_init_futures.

* stime.c (SCM_TIME_UNITS_PER_SECOND): Renamed from CLKTCK.

* stime.h (SCM_TIME_UNITS_PER_SECOND): Definition moved here.

* eval.c, eval.h (scm_trampoline_0, scm_i_call_closure_0): New
functions.

* eval.c (scm_trampoline_1): Fixed arguments test for closures.

21 years ago* threads.scm (par-mapper, n-par-map, n-par-for-each): Use
Mikael Djurfeldt [Thu, 23 Jan 2003 16:04:06 +0000 (16:04 +0000)]
* threads.scm (par-mapper, n-par-map, n-par-for-each): Use
futures.

21 years ago* libguile.h: #include "futures.h"
Mikael Djurfeldt [Thu, 23 Jan 2003 16:03:46 +0000 (16:03 +0000)]
* libguile.h: #include "futures.h"

21 years ago* threads.c (create_thread): Don't unwind dynwind chain of parent
Mikael Djurfeldt [Wed, 22 Jan 2003 10:29:28 +0000 (10:29 +0000)]
* threads.c (create_thread): Don't unwind dynwind chain of parent
thread before creation.  Just start the new thread with an empty
dynwind chain.

21 years ago* occam-channel.scm (alt): New syntax.
Mikael Djurfeldt [Mon, 20 Jan 2003 11:24:51 +0000 (11:24 +0000)]
* occam-channel.scm (alt): New syntax.

21 years ago* evalext.c, evalext.h (scm_self_evaluating_p): New function.
Mikael Djurfeldt [Mon, 20 Jan 2003 10:12:39 +0000 (10:12 +0000)]
* evalext.c, evalext.h (scm_self_evaluating_p): New function.

* psyntax.ss (self-evaluating?): Removed.  Guile now provides this
operator as a primitive procedure.
(build-data): Quote vectors (psyntax.ss requires this).

21 years ago* psyntax.ss (self-evaluating?): Allow procedures implanted in
Mikael Djurfeldt [Sun, 19 Jan 2003 17:47:01 +0000 (17:47 +0000)]
* psyntax.ss (self-evaluating?): Allow procedures implanted in
source.  (Guile uses this internally.)

21 years ago* goops.scm (method): Construct a new copy of the constant '('())
Mikael Djurfeldt [Sat, 18 Jan 2003 19:07:38 +0000 (19:07 +0000)]
* goops.scm (method): Construct a new copy of the constant '('())
for every macro invocation.

21 years ago* psyntax.ss (build-data): Don't quote self-evaluating expressions
Mikael Djurfeldt [Thu, 16 Jan 2003 11:48:14 +0000 (11:48 +0000)]
* psyntax.ss (build-data): Don't quote self-evaluating expressions
in output.  (We normally *would* like also these expressions to be
quoted, but until Guile's native macros and syncase cooperates
better, it is less destructive not to quote.)
(self-evaluating?): Removed null? (In Guile, the empty list is not
self-evaluating).
(sc-chi): Export chi as sc-chi.
(external-macro): New syntax type.

* psyntax.pp: Regenerated.

* compile-psyntax.scm: Set expansion-eval-closure.

* syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module.
(syncase): Set expansion-eval-closure.
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).
Enable expansion of Guile macros during a syntax-case
transformation.

21 years ago* boot-9.scm (use-syntax): Return *unspecified*.
Mikael Djurfeldt [Wed, 15 Jan 2003 20:35:25 +0000 (20:35 +0000)]
* boot-9.scm (use-syntax): Return *unspecified*.

* syncase.scm: (syncase): Set expansion-eval-closure.

21 years ago* syncase.scm: Set expansion-eval-closure to
Mikael Djurfeldt [Wed, 15 Jan 2003 17:29:09 +0000 (17:29 +0000)]
* syncase.scm: Set expansion-eval-closure to
the-syncase-eval-closure during booting so that variables are
created in the correct module;
(define-syntax define-syntax-public eval-when fluid-let-syntax
identifier-syntax let-syntax letrec-syntax syntax syntax-case
syntax-rules with-syntax include): Removed definitions (these are
created from within psyntax.pp).

21 years ago* occam-channel.scm (make-timer): New function.
Mikael Djurfeldt [Fri, 10 Jan 2003 22:18:14 +0000 (22:18 +0000)]
* occam-channel.scm (make-timer): New function.

21 years ago* threads.c (scm_timed_wait_condition_variable): Support timed
Mikael Djurfeldt [Fri, 10 Jan 2003 22:16:56 +0000 (22:16 +0000)]
* threads.c (scm_timed_wait_condition_variable): Support timed
waiting also for simple condition variables.

21 years ago* occam-channel.scm (make-channel): Renamed from channel.
Mikael Djurfeldt [Fri, 10 Jan 2003 18:52:16 +0000 (18:52 +0000)]
* occam-channel.scm (make-channel): Renamed from channel.

21 years ago* Makefile.am (ice9_sources): Added occam-channel.scm.
Mikael Djurfeldt [Fri, 10 Jan 2003 18:46:31 +0000 (18:46 +0000)]
* Makefile.am (ice9_sources): Added occam-channel.scm.

* occam-channel.scm: New file.  Implements occam-like channels.

21 years ago* goops.c (TEST_CHANGE_CLASS): Use scm_change_object_class instead
Mikael Djurfeldt [Fri, 10 Jan 2003 12:58:40 +0000 (12:58 +0000)]
* goops.c (TEST_CHANGE_CLASS): Use scm_change_object_class instead
of calling the procedure change-object-class.

21 years ago* goops.texi (Class Redefinition): Clarifications; Removed
Mikael Djurfeldt [Fri, 10 Jan 2003 12:40:21 +0000 (12:40 +0000)]
* goops.texi (Class Redefinition): Clarifications; Removed
mentioning of change-object-class.

21 years ago* ramap.c (scm_ramapc): Typo in error message.
Mikael Djurfeldt [Thu, 9 Jan 2003 15:21:33 +0000 (15:21 +0000)]
* ramap.c (scm_ramapc): Typo in error message.

21 years agoFix input/output port typo.
Neil Jerram [Wed, 8 Jan 2003 21:36:20 +0000 (21:36 +0000)]
Fix input/output port typo.

21 years ago* goops.c (scm_sys_prep_layout_x): Bugfix: Only create layout for
Mikael Djurfeldt [Wed, 8 Jan 2003 15:05:55 +0000 (15:05 +0000)]
* goops.c (scm_sys_prep_layout_x): Bugfix: Only create layout for
slots with instance allocation.

21 years ago* goops.scm (upgrade-generic-with-setter,
Mikael Djurfeldt [Wed, 8 Jan 2003 13:24:41 +0000 (13:24 +0000)]
* goops.scm (upgrade-generic-with-setter,
compute-new-list-of-methods): Use methods slot directly instead of
generic-function-methods.
(upgrade-generic-with-setter): Handle <extended-generic>:s.
(define-extended-generic): New syntax.
(make-extended-generic): New function.

* goops.c, goops.h (scm_class_extended_generic_with_setter): New
class.
(scm_compute_applicable_methods): Use scm_generic_function_methods.

* goops.c (scm_generic_function_methods): Support extended
generic functions.

21 years ago*** empty log message ***
Marius Vollmer [Mon, 6 Jan 2003 20:10:12 +0000 (20:10 +0000)]
*** empty log message ***

21 years ago(elisp_sources): Added char-table.scm.
Marius Vollmer [Mon, 6 Jan 2003 20:10:03 +0000 (20:10 +0000)]
(elisp_sources): Added char-table.scm.

21 years ago* scheme-scheduling.texi (Low level thread primitives): Fixed typo
Mikael Djurfeldt [Thu, 2 Jan 2003 16:18:37 +0000 (16:18 +0000)]
* scheme-scheduling.texi (Low level thread primitives): Fixed typo
in broadcast-condition-variable.

21 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 29 Dec 2002 14:09:08 +0000 (14:09 +0000)]
*** empty log message ***

21 years ago*** empty log message ***
Mikael Djurfeldt [Sun, 29 Dec 2002 09:56:25 +0000 (09:56 +0000)]
*** empty log message ***

21 years ago* eval.c (unmemocopy): Bugfix: scm_sym_delay --> scm_sym_future.
Mikael Djurfeldt [Sun, 29 Dec 2002 09:54:26 +0000 (09:54 +0000)]
* eval.c (unmemocopy): Bugfix: scm_sym_delay --> scm_sym_future.

21 years agoRemove commented-out declarations (related to Elisp).
Neil Jerram [Sun, 29 Dec 2002 01:17:39 +0000 (01:17 +0000)]
Remove commented-out declarations (related to Elisp).

21 years agoAdd a hook that is run whenever a new module is defined.
Neil Jerram [Sat, 28 Dec 2002 20:14:21 +0000 (20:14 +0000)]
Add a hook that is run whenever a new module is defined.

21 years agoRemove superfluous code (previously commented out).
Neil Jerram [Sat, 28 Dec 2002 20:10:49 +0000 (20:10 +0000)]
Remove superfluous code (previously commented out).

21 years agoCode (work in progress, currently disabled) for reading Elisp-syntax vectors.
Neil Jerram [Sat, 28 Dec 2002 19:57:14 +0000 (19:57 +0000)]
Code (work in progress, currently disabled) for reading Elisp-syntax vectors.

21 years agoNew stub definitions for char-table primitives.
Neil Jerram [Sat, 28 Dec 2002 19:22:11 +0000 (19:22 +0000)]
New stub definitions for char-table primitives.

21 years ago*** empty log message ***
Marius Vollmer [Thu, 26 Dec 2002 15:00:50 +0000 (15:00 +0000)]
*** empty log message ***

21 years ago(c-tokenize.o): Refer to source via $< so that vpath
Marius Vollmer [Thu, 26 Dec 2002 15:00:23 +0000 (15:00 +0000)]
(c-tokenize.o): Refer to source via $< so that vpath
builds work.
(EXTRA_DIST): Added version.h.in.

21 years ago* gc.c, gc.h (scm_i_sweep_mutex): New mutex.
Mikael Djurfeldt [Sat, 21 Dec 2002 18:59:47 +0000 (18:59 +0000)]
* gc.c, gc.h (scm_i_sweep_mutex): New mutex.

* gc.c (scm_gc_for_newcell), gc-malloc.c (scm_realloc,
scm_gc_register_collectable_memory): Substitute locking of
scm_i_sweep_mutex for calls to scm_i_thread_put_to_sleep.
(scm_igc): Lock sweep mutex here instead of in callers; Calls to
scm_i_thread_put_to_sleep/scm_i_thread_wake_up used to demarkate
the single-thread section (which now only contains the mark
phase).
(scm_gc): Don't lock sweeo mutex here since scm_igc locks it;
Removed SCM_DEFER/ALLOW_INTS.  Simply call scm_igc directly.

* threads.c (gc_section_mutex): Removed.

21 years ago* threads.c (create_thread): Clear parent field in root state in
Mikael Djurfeldt [Thu, 19 Dec 2002 08:08:39 +0000 (08:08 +0000)]
* threads.c (create_thread): Clear parent field in root state in
order not to unnecessarily remember dead threads.

21 years agoAdded back two macros used when debugging. (Got lost by mistake during
Mikael Djurfeldt [Thu, 19 Dec 2002 08:00:23 +0000 (08:00 +0000)]
Added back two macros used when debugging. (Got lost by mistake during
a recent change.)

21 years ago* eval.c (call_subr2o_1, call_lsubr2_2): New functions.
Mikael Djurfeldt [Thu, 19 Dec 2002 07:49:15 +0000 (07:49 +0000)]
* eval.c (call_subr2o_1, call_lsubr2_2): New functions.
(scm_trampoline_1, scm_trampoline_2): Use them.

21 years agoFix
Mikael Djurfeldt [Wed, 18 Dec 2002 14:15:11 +0000 (14:15 +0000)]
Fix

21 years ago* Makefile.am (modinclude_HEADERS): Added threads-plugin.h.
Mikael Djurfeldt [Wed, 18 Dec 2002 13:42:58 +0000 (13:42 +0000)]
* Makefile.am (modinclude_HEADERS): Added threads-plugin.h.
(EXTRA_DIST): Added threads-plugin.c.

* threads-plugin.h, threads-plugin.c: New files.

* threads.h: #include "libguile/threads-plugin.h".

* threads.c: #include "libguile/threads-plugin.c".

* pthread-threads.c: Temporarily remove debugging functions.

* threads.c, threads.h (scm_yield): Added back.

21 years ago* threads.scm: Removed bogus definition of future-ref.
Mikael Djurfeldt [Wed, 18 Dec 2002 11:00:56 +0000 (11:00 +0000)]
* threads.scm: Removed bogus definition of future-ref.

21 years ago* threads.c (really_launch): Detach before unlocking
Mikael Djurfeldt [Wed, 18 Dec 2002 10:53:23 +0000 (10:53 +0000)]
* threads.c (really_launch): Detach before unlocking
thread_admin_mutex in order not to risk being joined.
(scm_i_thread_put_to_sleep, scm_i_thread_wake_up): Keep
thread_admin_mutex locked during GC.

* pthread-threads.c, pthread-threads.h: Improvements to debugging
functions.

21 years agoFix...
Mikael Djurfeldt [Mon, 16 Dec 2002 21:02:37 +0000 (21:02 +0000)]
Fix...

21 years ago* pthread-threads.c, pthread-threads.h (SCM_DEBUG_THREADS): Added
Mikael Djurfeldt [Mon, 16 Dec 2002 20:29:18 +0000 (20:29 +0000)]
* pthread-threads.c, pthread-threads.h (SCM_DEBUG_THREADS): Added
support for debugging mutex operations.

21 years ago* threads.c (scm_thread): Removed filed joining_threads.
Mikael Djurfeldt [Mon, 16 Dec 2002 15:24:13 +0000 (15:24 +0000)]
* threads.c (scm_thread): Removed filed joining_threads.
(thread_print): Print thread number as well as address of thread
structure.
(scm_join_thread): Bugfix.
(scm_lock_mutex, scm_try_mutex, scm_unlock_mutex,
scm_timed_wait_condition_variable, scm_signal_condition_variable,
scm_broadcast_condition_variable): Use the low-level API.
(scm_all_threads): Return copy of thread list (to prevent
unintended destruction).
(scm_threads_prehistory): Initialize heap_mutex of fake thread.

21 years ago* threads.c (scm_thread): Removed filed joining_threads.
Mikael Djurfeldt [Mon, 16 Dec 2002 10:33:49 +0000 (10:33 +0000)]
* threads.c (scm_thread): Removed filed joining_threads.
(thread_print): Print thread number as well as address of thread
structure.

21 years ago* pthread-threads.c, pthread-threads.h, threads.c: Fixes to
Mikael Djurfeldt [Mon, 16 Dec 2002 09:50:21 +0000 (09:50 +0000)]
* pthread-threads.c, pthread-threads.h, threads.c: Fixes to
pthread "native" recursive mutex support.

21 years ago* pthread-threads.c, pthread-threads.h, threads.c: Fixes to
Mikael Djurfeldt [Mon, 16 Dec 2002 09:28:38 +0000 (09:28 +0000)]
* pthread-threads.c, pthread-threads.h, threads.c: Fixes to
pthread "native" recursive mutex support.

21 years ago* configure.in: Test if pthread.h declares
Mikael Djurfeldt [Mon, 16 Dec 2002 09:25:48 +0000 (09:25 +0000)]
* configure.in: Test if pthread.h declares
pthread_mutexattr_settype ().

21 years ago* threads.scm (par-map, par-for-each): Reimplemented using
Mikael Djurfeldt [Sun, 15 Dec 2002 14:36:19 +0000 (14:36 +0000)]
* threads.scm (par-map, par-for-each): Reimplemented using
joing-thread.
(parallel): Reimplemented using futures.
(n-par-map, n-for-each): New procedures.

21 years ago* __scm.h (SCM_DEFER_INTS, SCM_ALLOW_INTS): New definitions.
Mikael Djurfeldt [Sun, 15 Dec 2002 14:24:34 +0000 (14:24 +0000)]
* __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.

21 years ago* version.c: Unmade some changes to my private copy that got
Mikael Djurfeldt [Sun, 15 Dec 2002 11:27:01 +0000 (11:27 +0000)]
* version.c: Unmade some changes to my private copy that got
committed by mistake.

21 years ago*** empty log message ***
Marius Vollmer [Thu, 12 Dec 2002 20:45:38 +0000 (20:45 +0000)]
*** empty log message ***

21 years ago(improper-list-copy): New.
Marius Vollmer [Thu, 12 Dec 2002 20:43:11 +0000 (20:43 +0000)]
(improper-list-copy): New.
(parse-arglist): Use it instead of list-copy.

21 years ago* gc-malloc.c, gc.h, init.c: Reverted gc-malloc change of
Mikael Djurfeldt [Wed, 11 Dec 2002 08:35:22 +0000 (08:35 +0000)]
* gc-malloc.c, gc.h, init.c: Reverted gc-malloc change of
2002-12-10.