bpt/guile.git
21 years ago* scmconfig.h.top: new file -- preamble for scmconfig.h.
Rob Browning [Tue, 25 Mar 2003 23:49:14 +0000 (23:49 +0000)]
* scmconfig.h.top: new file -- preamble for scmconfig.h.

21 years ago* gen-scmconfig.h.in: new file -- see gen-scmconfig.c for details.
Rob Browning [Tue, 25 Mar 2003 23:49:03 +0000 (23:49 +0000)]
* gen-scmconfig.h.in: new file -- see gen-scmconfig.c for details.

21 years ago* gen-scmconfig.c: new file -- see comments in file for details.
Rob Browning [Tue, 25 Mar 2003 23:48:53 +0000 (23:48 +0000)]
* gen-scmconfig.c: new file -- see comments in file for details.

21 years ago* autogen.sh: call autoreconf with --force. This may fix the
Rob Browning [Tue, 25 Mar 2003 23:46:20 +0000 (23:46 +0000)]
* autogen.sh: call autoreconf with --force.  This may fix the
"order" problem below without having to have two calls.

21 years ago* README: merge information from INSTALL and remove at least some
Rob Browning [Tue, 25 Mar 2003 23:46:04 +0000 (23:46 +0000)]
* README: merge information from INSTALL and remove at least some
of the stale bits.

21 years ago* LICENSE: new file -- we should change this to the LGPL soon and
Rob Browning [Tue, 25 Mar 2003 23:45:54 +0000 (23:45 +0000)]
* LICENSE: new file -- we should change this to the LGPL soon and
add COPYING.LIB to the distribution.

21 years ago* INSTALL: use the automake installed INSTALL file. The Guile
Rob Browning [Tue, 25 Mar 2003 23:45:49 +0000 (23:45 +0000)]
* INSTALL: use the automake installed INSTALL file.  The Guile
specific instructions are now in README.

21 years ago*** empty log message ***
Rob Browning [Tue, 25 Mar 2003 02:21:10 +0000 (02:21 +0000)]
*** empty log message ***

21 years ago* lib.scm (pass-if): allow really simple tests where the test code
Rob Browning [Tue, 25 Mar 2003 02:21:03 +0000 (02:21 +0000)]
* lib.scm (pass-if): allow really simple tests where the test code
is also the name like (pass-if (even? 2)).
(expect-fail): allow really simple tests where the test code is
also the test name like (expect-fail (even? 2)).

21 years ago* tests/numbers.test: added tests (some simple) for various funcs.
Rob Browning [Tue, 25 Mar 2003 02:20:55 +0000 (02:20 +0000)]
* tests/numbers.test: added tests (some simple) for various funcs.
("odd?"): added tests.
("even?"): added tests.
("nan?"): added tests.
("abs"): added tests.
("lcm"): added tests.
("number->string"): added tests.
("number?"): added tests.
("complex?"): added tests.
("real?"): added tests.
("rational?"): added tests.
("integer?"): added tests.
("inexact?"): added tests.
("="): added tests.
("zero?"): added tests.
("positive?"): added tests.
("negative?"): added tests.

21 years ago*** empty log message ***
Rob Browning [Tue, 25 Mar 2003 02:14:06 +0000 (02:14 +0000)]
*** empty log message ***

21 years ago*** empty log message ***
Rob Browning [Tue, 25 Mar 2003 01:46:22 +0000 (01:46 +0000)]
*** empty log message ***

21 years ago*** empty log message ***
Marius Vollmer [Mon, 24 Mar 2003 16:48:55 +0000 (16:48 +0000)]
*** empty log message ***

21 years agoInclude <config.h> instead of <libguile/scmconfig.h>.
Marius Vollmer [Mon, 24 Mar 2003 16:48:39 +0000 (16:48 +0000)]
Include <config.h> instead of <libguile/scmconfig.h>.

21 years ago* srfi-1.scm: Re-export all srfi-1 bindings implemented by the
Mikael Djurfeldt [Mon, 24 Mar 2003 09:13:35 +0000 (09:13 +0000)]
* srfi-1.scm: Re-export all srfi-1 bindings implemented by the
core.  (Thanks to Kevin Ryde.)

21 years ago*** empty log message ***
Marius Vollmer [Sat, 22 Mar 2003 00:36:03 +0000 (00:36 +0000)]
*** empty log message ***

21 years ago(call/cc): Added.
Marius Vollmer [Sat, 22 Mar 2003 00:34:34 +0000 (00:34 +0000)]
(call/cc): Added.

21 years ago*** empty log message ***
Marius Vollmer [Fri, 21 Mar 2003 15:59:09 +0000 (15:59 +0000)]
*** empty log message ***

21 years agoInvoke autoreconf twice since the required files do not seem to be
Marius Vollmer [Fri, 21 Mar 2003 15:59:01 +0000 (15:59 +0000)]
Invoke autoreconf twice since the required files do not seem to be
generated in the right order.  XXX - investigate further.

21 years agoFix
Mikael Djurfeldt [Thu, 20 Mar 2003 14:12:54 +0000 (14:12 +0000)]
Fix

21 years ago* list.scm: New file.
Mikael Djurfeldt [Thu, 20 Mar 2003 13:22:45 +0000 (13:22 +0000)]
* list.scm: New file.

21 years ago*** empty log message ***
Rob Browning [Wed, 19 Mar 2003 23:55:05 +0000 (23:55 +0000)]
*** empty log message ***

21 years ago*** empty log message ***
Rob Browning [Wed, 19 Mar 2003 23:46:35 +0000 (23:46 +0000)]
*** empty log message ***

21 years ago* readline.c: add HAVE_CONFIG_H test guarding #include config.h.
Rob Browning [Wed, 19 Mar 2003 23:46:29 +0000 (23:46 +0000)]
* readline.c: add HAVE_CONFIG_H test guarding #include config.h.

21 years ago* autogen.sh: add a --force when autoreconfing. We may need to
Rob Browning [Wed, 19 Mar 2003 23:46:24 +0000 (23:46 +0000)]
* autogen.sh: add a --force when autoreconfing.  We may need to
change this if it doesn't work out...

21 years ago* Makefile.am (ice-9/readline.scm): new target -- so readline will
Rob Browning [Wed, 19 Mar 2003 23:46:19 +0000 (23:46 +0000)]
* Makefile.am (ice-9/readline.scm): new target -- so readline will
work from the source tree when guile-readline is added to
GUILE_LOAD_PATH.
(all-local): add ice-9/readline.scm.
(clean-local): remove ice-9/readline at clean time.

21 years ago*** empty log message ***
Marius Vollmer [Wed, 19 Mar 2003 22:00:31 +0000 (22:00 +0000)]
*** empty log message ***

21 years agoAdded defines for sparc-unknown-netbsdelf1.5 from Adrian Bunk.
Marius Vollmer [Wed, 19 Mar 2003 21:59:14 +0000 (21:59 +0000)]
Added defines for sparc-unknown-netbsdelf1.5 from Adrian Bunk.
Thanks!

21 years ago*** empty log message ***
Marius Vollmer [Wed, 19 Mar 2003 18:29:26 +0000 (18:29 +0000)]
*** empty log message ***

21 years ago(format:out-substr): Update the column counter correctly. This fixes
Marius Vollmer [Wed, 19 Mar 2003 18:29:04 +0000 (18:29 +0000)]
(format:out-substr): Update the column counter correctly. This fixes
the behavior of ~T (tabbing) after ~F, for instance.  Thanks to
Matthias Koeppe!

21 years ago("format basic output"): Added test for "~F" from Matthias Koeppe.
Marius Vollmer [Wed, 19 Mar 2003 18:28:52 +0000 (18:28 +0000)]
("format basic output"): Added test for "~F" from Matthias Koeppe.

21 years ago*** empty log message ***
Marius Vollmer [Wed, 19 Mar 2003 18:17:06 +0000 (18:17 +0000)]
*** empty log message ***

21 years ago(guileversion): Use $GUILE_EFFECTIVE_VERSION instead of
Marius Vollmer [Wed, 19 Mar 2003 18:16:56 +0000 (18:16 +0000)]
(guileversion): Use $GUILE_EFFECTIVE_VERSION instead of
$GUILE_VERSION.  Thanks to Kevin Ryde!

21 years ago* goops.scm (process-class-pre-define-accessor): Temporary kludge
Mikael Djurfeldt [Wed, 19 Mar 2003 14:50:20 +0000 (14:50 +0000)]
* goops.scm (process-class-pre-define-accessor): Temporary kludge
to fix a problem introduced by my previous change.

21 years ago* goops.c (make_class_from_template): New fourth arg:
Mikael Djurfeldt [Wed, 19 Mar 2003 08:57:47 +0000 (08:57 +0000)]
* goops.c (make_class_from_template): New fourth arg:
applicablep.
(scm_class_extended_generic_with_setter, scm_class_self): Fixed
cpls.

* smob.c (scm_set_smob_apply): Call scm_i_inherit_applicable.

* goops.c, objects.c, objects.h (scm_make_extended_class): New
second arg: applicablep.
(scm_i_inherit_applicable): New function.

* goops.c, goops.h (scm_class_applicable,
scm_class_extended_accessor): New classes.

21 years ago * procs.c (scm_procedure_documentation): Removed redundant
Dirk Herrmann [Tue, 18 Mar 2003 19:06:03 +0000 (19:06 +0000)]
* procs.c (scm_procedure_documentation): Removed redundant
SCM_NIMP test and replaced other calls to SCM_IMP by more explicit
predicates.

21 years ago* goops.scm (process-class-pre-define-generic,
Mikael Djurfeldt [Mon, 17 Mar 2003 13:53:58 +0000 (13:53 +0000)]
* goops.scm (process-class-pre-define-generic,
process-class-pre-define-accessor, process-define-generic,
process-define-accessor): New functions.
(define-class-pre-definition): Use
process-class-pre-define-generic and
process-class-pre-define-accessor; Make sure not to create a new
local variable if the variable has been imported.
(define-generic): Use process-define-generic.
(define-accessor): Use process-define-accessor.

21 years ago* session.scm (apropos): Don't look in duplicates interface.
Mikael Djurfeldt [Thu, 13 Mar 2003 10:16:30 +0000 (10:16 +0000)]
* session.scm (apropos): Don't look in duplicates interface.

21 years ago* boot-9.scm (duplicate-handlers): Make sure the merge-generics
Mikael Djurfeldt [Wed, 12 Mar 2003 19:27:15 +0000 (19:27 +0000)]
* boot-9.scm (duplicate-handlers): Make sure the merge-generics
and merge-accessors handlers are available also before (oop goops)
has been loaded.  This is so that people can put them as default
handlers without worrying about availability.

21 years ago* goops.scm (merge-generics): Make sure not to merge a gf with
Mikael Djurfeldt [Wed, 12 Mar 2003 18:41:44 +0000 (18:41 +0000)]
* goops.scm (merge-generics): Make sure not to merge a gf with
itself.  That would be the cause of a real binding collision.

21 years ago* slib.scm (logical:ipow-by-squaring): Removed.
Mikael Djurfeldt [Wed, 12 Mar 2003 17:35:09 +0000 (17:35 +0000)]
* slib.scm (logical:ipow-by-squaring): Removed.

21 years ago* boot-9.scm (default-duplicate-binding-handler): Set default to
Mikael Djurfeldt [Wed, 12 Mar 2003 17:16:36 +0000 (17:16 +0000)]
* boot-9.scm (default-duplicate-binding-handler): Set default to
'(replace warn last)

21 years ago* boot-9.scm (ipow-by-squaring): Removed.
Mikael Djurfeldt [Wed, 12 Mar 2003 16:52:07 +0000 (16:52 +0000)]
* boot-9.scm (ipow-by-squaring): Removed.
(default-duplicate-binding-handler): Set default to
'(replace warn last)

21 years agoAdjusted warning message
Mikael Djurfeldt [Wed, 12 Mar 2003 14:40:19 +0000 (14:40 +0000)]
Adjusted warning message

21 years ago* boot-9.scm (module-duplicates-info, set-module-duplicates-info!): Removed.
Mikael Djurfeldt [Wed, 12 Mar 2003 14:30:03 +0000 (14:30 +0000)]
* boot-9.scm (module-duplicates-info, set-module-duplicates-info!): Removed.
(module-duplicates-handlers, module-duplicates-interface): New.
(module-type): Added duplicates-handlers and duplicates-interface.

21 years ago* srfi-13.scm: Mark replacements.
Mikael Djurfeldt [Wed, 12 Mar 2003 14:11:42 +0000 (14:11 +0000)]
* srfi-13.scm: Mark replacements.

* srfi-17.scm: Mark replacements.

* boot-9.scm (module-make-local-var!): Use module-add!.
(module-primitive-add!): New function.
(resolve-interface): Use
(call-with-deferred-observers, module-call-observers): New
functions.
(module-defer-observers, module-defer-observers-mute,
module-defer-observers-table): New variables.
(process-define-module, process-use-modules, export, re-export):
Use call-with-deferred-observers.

* syncase.scm (eval): Mark as replacement.

* boot-9.scm (defmacro-public): Use export-syntax instead of export.

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.