1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-13 01:00:21 +02:00
Commit graph

7681 commits

Author SHA1 Message Date
Rob Browning
5264ca4a01 * gc-card.c: rename usage of HAVE_ARRAYS to SCM_HAVE_ARRAYS.
Replace usage of HAVE_LONG_LONGS with "SCM_SIZEOF_LONG_LONG != 0".
2003-03-25 23:55:14 +00:00
Rob Browning
85286595b5 * fports.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:55:09 +00:00
Rob Browning
8307945424 * filesys.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:54:53 +00:00
Rob Browning
b652768e04 * feature.c: #include <config.h> if HAVE_CONFIG_H. Rename usage
of USE_NULL_THREADS to SCM_USE_NULL_THREADS.
2003-03-25 23:54:46 +00:00
Rob Browning
c0fc108975 * extensions.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:54:41 +00:00
Rob Browning
65fb6c49d4 * evalext.c: rename usage of HAVE_ARRAYS to SCM_HAVE_ARRAYS.
Replace usage of HAVE_LONG_LONGS with "SCM_SIZEOF_LONG_LONG != 0".
2003-03-25 23:54:35 +00:00
Rob Browning
3d05f2e0fb * eval.c: #include <config.h> if HAVE_CONFIG_H. #include
"libguile/__scm.h" rather than scmconfig.h.  Rename usage of
HAVE_ARRAYS to SCM_HAVE_ARRAYS.  Replace usage of HAVE_LONG_LONGS
with "SCM_SIZEOF_LONG_LONG != 0".
2003-03-25 23:54:28 +00:00
Rob Browning
4600886f39 * error.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:54:21 +00:00
Rob Browning
1f4d02c24b * eq.c: #include <config.h> if HAVE_CONFIG_H. Rename usage of
HAVE_ARRAYS to SCM_HAVE_ARRAYS.  Replace usage of HAVE_LONG_LONGS
with "SCM_SIZEOF_LONG_LONG != 0".
2003-03-25 23:54:15 +00:00
Rob Browning
5f0bcfd555 * deprecation.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:54:07 +00:00
Rob Browning
fd291a5c13 * coop.c: replace usage of struct timespect with scm_t_timespec.
#include <config.h> if HAVE_CONFIG_H.
2003-03-25 23:54:01 +00:00
Rob Browning
2445400666 * coop-threads.c: #include "libguile/_scm.h" early. Replace
usage of struct timespect with scm_t_timespec.  Replace usage of
STACK_GROWS_UP with SCM_STACK_GROWS_UP.
2003-03-25 23:53:56 +00:00
Rob Browning
2295d4daa2 * coop-pthreads.c: #include "libguile/_scm.h" early. Replace
usage of struct timespect with scm_t_timespec.  Replace usage of
STACK_GROWS_UP with SCM_STACK_GROWS_UP.
2003-03-25 23:53:49 +00:00
Rob Browning
ec81cb0b99 * coop-defs.h: move handling of time related headers to
scmconfig.h.  Add #include "libguile/__scm.h".  Rename usage of
HAVE_WINSOCK2_H to SCM_HAVE_WINSOCK2_H.  Replace usage of struct
timespect with scm_t_timespec.
2003-03-25 23:53:32 +00:00
Rob Browning
cca86e031b * convert.i.c: rename usage of HAVE_ARRAYS to SCM_HAVE_ARRAYS. 2003-03-25 23:53:26 +00:00
Rob Browning
7a1e395c09 * convert.h: rename usage of HAVE_ARRAYS to SCM_HAVE_ARRAYS. 2003-03-25 23:52:58 +00:00
Rob Browning
3c6be74a7d * convert.c: #include <config.h> if HAVE_CONFIG_H. Rename usage
of HAVE_ARRAYS to SCM_HAVE_ARRAYS.
2003-03-25 23:52:52 +00:00
Rob Browning
bbd43f0356 * continuations.c: move libguile/_scm.h include to the top so we
pick up any critical defines like _GNU_SOURCE early.
2003-03-25 23:52:46 +00:00
Rob Browning
615873d24e * backtrace.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:52:40 +00:00
Rob Browning
ef92a2a2d7 * async.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:52:33 +00:00
Rob Browning
9b90309501 * alloca.c: #include <config.h> if HAVE_CONFIG_H. 2003-03-25 23:52:25 +00:00
Rob Browning
b49ed9c97f * _scm.h: #include <config.h> if HAVE_CONFIG_H.
Rename usage of USE_PTHREAD_THREADS to SCM_USE_PTHREAD_THREADS.
2003-03-25 23:52:18 +00:00
Rob Browning
92e6989fda * __scm.h: move libguile/scmconfig.h include up to the top, so
we're sure to pick up any critical defines like _GNU_SOURCE early.
#include <limits.h> removed in favor of scmconfig.h inclusion when
appropriate.  STDC_HEADERS based inclusion of stdlib.h,
sys/types.h, stddef.h, and sys/stdtypes.h removed in favor of
scmconfig.h inclusion when appropriate.  Various Win32 related
definitions removed in favor of scmconfig.h inclusion when
appropriate.
(HAVE_UINTPTR_T): definition removed (see NEWS).
(SIZEOF_PTRDIFF_T): definition removed (see NEWS).
(HAVE_LONG_LONGS): definition removed (see NEWS).
(HAVE_LONG_LONG): definition removed (see NEWS).
(HAVE_PTRDIFF_T): definition removed (see NEWS).
2003-03-25 23:51:57 +00:00
Rob Browning
64c2db807d * Makefile.am: scmconfig.h is now generated by building and
running gen-scmconfig.h and capturing its output.  gen-scmconfig
uses config.h and the configure.in generated gen-scmconfig.h to
decide what to output.  See gen-scmconfig.c for details.
(noinst_PROGRAMS): add gen-scmconfig.
(gen_scmconfig_SOURCES): new variable.
(gen-scmconfig.$(OBJEXT)): new target - be careful to handle
cross-compiling right.
(scmconfig.h): build scmconfig.h from gen-scmconfig's output.
(BUILT_SOURCES): add scmconfig.h.
2003-03-25 23:51:37 +00:00
Rob Browning
ed2b47e773 * scmconfig.h.top: new file -- preamble for scmconfig.h. 2003-03-25 23:49:14 +00:00
Rob Browning
38bf25a71f * gen-scmconfig.h.in: new file -- see gen-scmconfig.c for details. 2003-03-25 23:49:03 +00:00
Rob Browning
caeef9cb7c * gen-scmconfig.c: new file -- see comments in file for details. 2003-03-25 23:48:53 +00:00
Rob Browning
c62fdb8ee0 *** empty log message *** 2003-03-25 02:14:06 +00:00
Marius Vollmer
25e0bf97cf *** empty log message *** 2003-03-19 22:00:31 +00:00
Marius Vollmer
598b6787bc Added defines for sparc-unknown-netbsdelf1.5 from Adrian Bunk.
Thanks!
2003-03-19 21:59:14 +00:00
Mikael Djurfeldt
74b6d6e456 * 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.
2003-03-19 08:57:47 +00:00
Dirk Herrmann
5c9e7dad75 * procs.c (scm_procedure_documentation): Removed redundant
SCM_NIMP test and replaced other calls to SCM_IMP by more explicit
	predicates.
2003-03-18 19:06:03 +00:00
Mikael Djurfeldt
c614a00b8c * 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.
2003-03-11 19:58:14 +00:00
Mikael Djurfeldt
109c2c9f29 * modules.c (scm_module_import_interface): New function.
* boot-9.scm (process-duplicates): Use module-import-interface.
(module-symbol-interface): Removed.
2003-03-11 15:58:02 +00:00
Mikael Djurfeldt
f8af5c6d35 * 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.
2003-03-11 14:50:08 +00:00
Mikael Djurfeldt
a48d60b1c0 * 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.
2003-03-06 12:51:57 +00:00
Mikael Djurfeldt
ea7f6344cf Added comments to scm_c_random_bignum 2003-03-03 13:19:46 +00:00
Rob Browning
84edc04952 *** empty log message *** 2003-02-27 07:04:25 +00:00
Rob Browning
93ff93f6f5 * Makefile.am (scmconfig.h): new target -- generate file from
../config.h.
(modinclude_HEADERS): remove version.h.
(nodist_modinclude_HEADERS): add version.h.
2003-02-27 07:04:16 +00:00
Mikael Djurfeldt
b4a1358cfb * 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.
2003-02-24 19:21:56 +00:00
Mikael Djurfeldt
53af825522 * struct.c (scm_struct_prehistory): Move scm_free_structs to
scm_before_mark_c_hook.
2003-02-24 11:26:46 +00:00
Mikael Djurfeldt
ea5c928530 * 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.)
2003-02-24 10:46:29 +00:00
Mikael Djurfeldt
9358af6a3e Fix of previous change 2003-02-19 17:57:01 +00:00
Mikael Djurfeldt
231a4ea849 * 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.
2003-02-19 16:16:46 +00:00
Mikael Djurfeldt
110beb83a5 Fix of last change. 2003-02-19 15:43:00 +00:00
Mikael Djurfeldt
c35738c1ae * 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.
2003-02-19 15:04:51 +00:00
Mikael Djurfeldt
0a4c135550 * 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.)
2003-02-13 10:42:59 +00:00
Mikael Djurfeldt
87ca11ff19 * 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.
2003-02-12 09:55:10 +00:00
Mikael Djurfeldt
f59a096e59 * 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.
2003-02-11 13:49:32 +00:00
Mikael Djurfeldt
4b612c5be7 * eval.c (scm_trampoline_0, scm_trampoline_1, scm_trampoline_2):
Fixed formals tests for closures.  (Thanks to Kevin Ryde.)
2003-02-10 12:39:11 +00:00