1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-08 22:50:27 +02:00
Commit graph

14736 commits

Author SHA1 Message Date
Mikael Djurfeldt
0af045dfe5 *** empty log message *** 1999-06-23 16:00:30 +00:00
Mikael Djurfeldt
af1f9aa293 * dynl-dl.c (sysdep_dynl_link): Added parenthesis around the
trinary conditional in order for the flag computation to be
correct.
1999-06-23 16:00:15 +00:00
Mikael Djurfeldt
e02c763c29 *** empty log message *** 1999-06-23 12:01:04 +00:00
Mikael Djurfeldt
8b5af48ab1 *** empty log message *** 1999-06-23 11:19:45 +00:00
Mikael Djurfeldt
ff2961ec2c * tag.c (scm_tag): Base tag on vtable pointer. 1999-06-23 11:19:25 +00:00
Mikael Djurfeldt
ad1965993e * struct.c, struct.h:
(scm_struct_i_free): New hidden struct slot.  Holds destructor for
instances to this vtable.
(scm_struct_free_0): New destructor: Doesn't deallocate data.
(scm_struct_free_light): New destructor: Deallocates a light
struct (i.e. a struct without hidden slots).
(scm_struct_free_standard): New destructor: Deallocates standard
structs.
(scm_struct_free_entity): New destructor: Deallocates entity
structs.
(SCM_SET_VTABLE_DESTRUCTOR): New macro.
Changes to hidden slots:
(scm_struct_i_size): scm_struct_i_flags now shares space with
scm_struct_i_size which holds the size of light structs.
(scm_struct_i_n_words): This slot has changed meaning.  Previously
it included hidden slots.  Now it indicates visible slots.
(scm_alloc_struct): Clear flags.
(SCM_STRUCTF_MASK): 4 new flag positions added => 12 bits.
(struct_num, scm_struct_i_tag): Removed.
(scm_struct_vtable_tag): Base tag on the pointer to mallocated
memory.
(scm_struct_ihashq): Base hash value on pointer to struct handle.
1999-06-23 11:17:36 +00:00
Mikael Djurfeldt
37b83f68b0 * snarf.h (SCM_KEYWORD, SCM_GLOBAL_KEYWORD): New macros. 1999-06-23 11:16:52 +00:00
Mikael Djurfeldt
2eafbe52c6 * objects.h (SCM_SET_CLASS_DESTRUCTOR,
SCM_SET_CLASS_INSTANCE_SIZE): New macros.
1999-06-23 11:16:44 +00:00
Mikael Djurfeldt
135e76f876 * objects.c (scm_init_objects): Initialize destructor slot of the
primordial entity class.
1999-06-23 11:16:28 +00:00
Mikael Djurfeldt
d6af5a438b * libguile.h: #include "objects.h" 1999-06-23 11:16:18 +00:00
Mikael Djurfeldt
430a6cc34e * keywords.c, keywords.h (scm_c_make_keyword): New function.
(We should remove the use of the prefix '-'.)
1999-06-23 11:16:09 +00:00
Mikael Djurfeldt
f0cb1733dd * gc.c (scm_gc_sweep): Call struct free slot. 1999-06-23 11:15:58 +00:00
Marius Vollmer
3f737ec81d *** empty log message *** 1999-06-21 15:18:48 +00:00
Marius Vollmer
8e3ab00333 Resolved harmless conflict. 1999-06-21 15:16:54 +00:00
Marius Vollmer
56a19408b8 * dynl.c (DYNL_GLOBAL): New.
(sysdep_dynl_link): Added `flags' argument.
(kw_global, sym_global): New.
(scm_dynamic_link): Handle keyword arguments.  Pass suitable flags
to sysdep_dynl_link.
* dynl-dl.c (sysdep_dynl_link): Handle new `flags' argument by
conditrionally adding RTLD_GLOBAL to DLOPEN_MODES.
* dynl-shl.c (sysdep_dynl_link): Add and ignore new flags
argument.
* dynl-dld.c (sysdep_dynl_link): Add and ignore new flags
argument.
* dynl.h (scm_dynamic_link): Added rest argument.
* dynl.c (sysdep_dynl_unlink, sysdep_dynl_func): Use const
qualifier for char* argument, to match prototypes.  Thanks to Mark
Elbrecht.
1999-06-21 15:14:01 +00:00
Jim Blandy
56ef2fe230 *** empty log message *** 1999-06-21 14:50:36 +00:00
Jim Blandy
a80a90e951 * dynl.c (no_dynl_error, sysdep_dynl_link, sysdep_dynl_unlink,
sysdep_dynl_func): Use ANSI declarations, and const char *
pointers.  (Thanks to Mark Elbrecht.)
1999-06-21 14:50:19 +00:00
Jim Blandy
560f4b23a4 *** empty log message *** 1999-06-19 20:21:25 +00:00
Jim Blandy
ff4670212a Patch from Greg Harvey:
* eq.c, eval.c, list.c, ramap.c, vectors.c: Always write parens
around the condition of an `if', `while', etc., even if the
condition is a macro invocation that expands to something
surrounded by parens.  It's more readable.
1999-06-19 20:21:07 +00:00
Jim Blandy
727e010e9f *** empty log message *** 1999-06-19 17:27:01 +00:00
Jim Blandy
07cff7d7e7 *** empty log message *** 1999-06-19 17:26:09 +00:00
Jim Blandy
d9c393f5fa * eval.c (scm_map, scm_for_each): Verify that all arguments are
proper lists, and of the appropriate lengths.
(check_map_args): New function.
1999-06-19 17:25:25 +00:00
Jim Blandy
9bb7a7ef7c *** empty log message *** 1999-06-19 16:28:17 +00:00
Jim Blandy
26dd899df2 * tests/interp.test: New file. 1999-06-19 16:28:11 +00:00
Jim Blandy
98947fdca4 *** empty log message *** 1999-06-19 16:11:55 +00:00
Jim Blandy
01a119acae * guardians.c (guardian_t): `next' - new field to be used for
chaining the live guardians in a single-linked list during the GC
mark phase.
(GUARDIAN_NEXT): convenience macro to access the `next' field.
(guardians, guardians_size, n_guardians): deleted.
(first_live_guardian, current_link_field): new globals used to
point to the head of the live guardian list and current `next'
field, respectively.
(g_mark): append the guardian to the live guardian list.
(scm_guardian_gc_init): zero the live guardian list.
(scm_guardian_zombify): iterate through the live guardian list.
1999-06-19 16:11:38 +00:00
Jim Blandy
2206b7fc99 Remove spurious menu. 1999-06-19 11:02:18 +00:00
Jim Blandy
d21ffe2694 *** empty log message *** 1999-06-18 10:16:40 +00:00
Jim Blandy
67e6fa38cd * ls.scm (ls, lls): Handle no arguments as meaning to look in
`(current-module)'. (Patch from Thien-Thi Nguyen.)
1999-06-18 10:16:10 +00:00
Jim Blandy
0a27f7d30f (A Common Mistake In Allocating Smobs): New section. 1999-06-17 22:52:01 +00:00
Jim Blandy
8afdfa8eb2 *** empty log message *** 1999-06-16 13:20:43 +00:00
Jim Blandy
1cc7e8faa4 *** empty log message *** 1999-06-16 10:18:34 +00:00
Jim Blandy
a5c314c80e * gc.c (scm_mallocated): Just make this signed.
(scm_igc): Check for underflow by seeing if this is negative.
Much cleaner.
* gc.h (scm_mallocated): Fix declaration.
(Thanks to Greg Harvey.)
1999-06-16 10:18:27 +00:00
Jim Blandy
d2ab9696bb *** empty log message *** 1999-06-16 09:57:52 +00:00
Jim Blandy
0bb126ba5b Doc fix. 1999-06-16 09:05:55 +00:00
Jim Blandy
7c9310c86d *** empty log message *** 1999-06-16 09:00:35 +00:00
Jim Blandy
acdb12daa8 * ports.h: #include <sys/types.h>, to get a definition for `off_t'. 1999-06-16 08:53:46 +00:00
Jim Blandy
8044bbc8dc *** empty log message *** 1999-06-16 08:44:24 +00:00
Jim Blandy
efcbc5eb54 *** empty log message *** 1999-06-15 14:10:06 +00:00
Jim Blandy
9061286382 * tests/time.test: New test file. 1999-06-15 14:09:53 +00:00
Jim Blandy
797da112b8 *** empty log message *** 1999-06-15 14:01:25 +00:00
Jim Blandy
c7abe4f351 * stime.c (bdtime2c): Initialize lt->gmtoff and lt->tm_zone from
sbd_time.  (Thanks to Eric Hanchrow.)
1999-06-15 14:01:13 +00:00
Jim Blandy
ab4bef8567 Fix from Ken Raeburn <raeburn@raeburn.org>:
* weaks.c (scm_make_weak_vector): Add another extra slot before
vector contents, to be used only during garbage collection.
* weaks.h (SCM_WVECT_GC_CHAIN): New macro to access it.
* gc.c (scm_weak_vectors): Now a SCM instead of a SCM*, and now
static.
(scm_weak_size, scm_n_weak): Deleted.
(scm_igc): Use SCM_WVECT_GC_CHAIN to build up a chain of weak
vectors without allocating new storage during GC, using
scm_weak_vectors as the head of the chain.
(scm_mark_weak_vector_spines): Walk SCM_WVECT_GC_CHAIN chain
instead of stepping through an array.
(scm_gc_sweep): Update offset used to find start of weak vector to
free it.
(scm_init_storage): Set scm_weak_vectors to EOL.
Fix from Ken Raeburn <raeburn@raeburn.org>:
* gc.c (already_in_gc): New variable.
(scm_igc): Set and clear already_in_gc; abort if it's set at
entry.
1999-06-15 14:00:24 +00:00
Jim Blandy
250da36910 Fix from Ken Raeburn <raeburn@raeburn.org>:
* weaks.c (scm_make_weak_vector): Add another extra slot before
vector contents, to be used only during garbage collection.
* weaks.h (SCM_WVECT_GC_CHAIN): New macro to access it.
* gc.c (scm_weak_vectors): Now a SCM instead of a SCM*, and now
static.
(scm_weak_size, scm_n_weak): Deleted.
(scm_igc): Use SCM_WVECT_GC_CHAIN to build up a chain of weak
vectors without allocating new storage during GC, using
scm_weak_vectors as the head of the chain.
(scm_mark_weak_vector_spines): Walk SCM_WVECT_GC_CHAIN chain
instead of stepping through an array.
(scm_gc_sweep): Update offset used to find start of weak vector to
free it.
(scm_init_storage): Set scm_weak_vectors to EOL.
1999-06-15 14:00:11 +00:00
Jim Blandy
70c4c075e3 *** empty log message *** 1999-06-15 08:40:04 +00:00
Jim Blandy
474d9afb8b * lib.scm: Import (test-suite paths).
(data-file): New exported function.
1999-06-15 08:39:39 +00:00
Jim Blandy
73cb0a9704 * tests/ports.test: Group the string port tests under a new
test name prefix.
* tests/ports.test ("line counter"): Check the final column, too.
1999-06-15 08:39:11 +00:00
Jim Blandy
cbe50a7301 * tests/r4rs.test: New set of tests, taken from Guile's test
script, taken from SCM.
1999-06-15 08:38:44 +00:00
Jim Blandy
1011dac034 * string-fun.scm (split-before-predicate, split-after-predicate,
split-discarding-predicate): Make these public.  (Thanks to
Thien-Thi Nguyen.)
1999-06-14 16:55:08 +00:00
Jim Blandy
ab7113597e *** empty log message *** 1999-06-14 16:54:29 +00:00