1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 05:20:16 +02:00
Commit graph

741 commits

Author SHA1 Message Date
Dirk Herrmann
30ea841d0c * Separate the handling of OPEN flags between ports and directories. 2001-01-24 00:02:43 +00:00
Gary Houston
9d7748147e * rdelim.scm: new file implementing module (ice-9 rdelim).
* ice-9.scm (scm-line-incrementors read-line! read-delimited!
	read-delimited read-line): moved to rdelim.scm.
	scm-line-incrementors is not exported.
	* boot-9.scm: import (ice-9 rdelim) for backwards compatibility,
	for now.
	* lineio.scm: use module (ice-9 rdelim).
	* Makefile.am (ice9_sources): add rdelim.scm.
2001-01-21 22:11:29 +00:00
Gary Houston
264e9cbc93 *** empty log message *** 2001-01-06 22:04:04 +00:00
Neil Jerram
b7d69200c0 * Fix typos in entry about guardian semantic changes. 2001-01-05 09:29:12 +00:00
Michael Livshin
c0a5d88835 * guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P,
 	SET_DESTROYED): new defines/macros.
	(GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted.
	(add_to_live_list): takes a `guardian_t *' now, not SCM.
	(guardian_print): print more info.
	(guardian_apply): check if the guardian is destroyed, and throw an
 	error if so.  take one more optional argument `throw_p'.
	(scm_guard): depending on the value of `throw_p', return a boolean
 	result.
	(scm_get_one_zombie): remove redundant property test.
	(guardian_t): represent the various (currently 3, I hope nothing
 	more gets added) boolean fields as bit flags.
	(scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates.
	(scm_destroy_guardian_x): new procedure.

	* guardians.h: added prototypes for `scm_guardian_greedy_p' and
	`scm_guardian_destroyed_p'.  changed prototype for `scm_guard'.
2001-01-04 13:00:31 +00:00
Dirk Herrmann
5d2b97cd07 * Fixed the changelog entry regarding re-introduction of struct member
properties (I continuously talked of member 'documentation' instead)
* Replace calls to scm_remember with calls to scm_remember_upto_here_1.
2000-12-28 16:49:09 +00:00
Dirk Herrmann
23a62df4fe * Re-introduces the unused member "documentation" of struct scm_subr_entry. 2000-12-28 15:09:56 +00:00
Michael Livshin
56495472c2 * gc.c: (scm_gc_mark_dependencies): new function. like
`scm_gc_mark', but doesn't mark the argument itself.  defined
using an arrangement similar to that in eval.c: `scm_gc_mark' and
`scm_gc_mark_dependencies' are derived from the same "template"
by ugly preprocessor magic.

* gc.h: added prototype for `scm_gc_mark_dependencies'.

* init.c (scm_init_guile_1): call the renamed
`scm_init_guardians'.

* guardians.h: changed prototypes for `scm_make_guardian' and
`scm_init_guardians'.

* guardians.c (guardian_t): added new fields `greedy_p' and
`listed_p'.
(GUARDIAN_P): predicate that says whether its argument is a
guardian.
(GUARDIAN_GREEDY_P, GUARDIAN_LISTED_P): new predicates.
(greedy_guardians, sharing_guardians): new variables.  hold the
greedy and sharing live guardian lists, respectively.
(first_live_guardian, current_link_field): removed.
(greedily_guarded_prop): new variable.  holds the "is greedily
guarded" object property.
(self_centered_zombies): new variable.  stores guarded objects
that are parts of cycles.
(add_to_live_list): new function, introduced to decouple marking a
guardian and adding it to the live list.
(guardian_mark): call `add_to_live_list'.
(guardian_print): print whether the guardian is greedy or not.
also change "live" and "zombie" to "reachable" and "unreachable"
respectively, to be less confusing.
(scm_guard): if the guardian is greedy, test whether the object is
already greedily marked.  throw an error if so.
(scm_get_one_zombie): if the guardian is greedy, remove the
"greedily guarded" property from the object.
(scm_make_guardian): add a new optional boolean argument which
says whether the guardian is greedy or sharing.
(guardian_gc_init): init the new live lists.
(mark_dependencies): new function.
(mark_and_zombify): new function.
(guardian_zombify): reworked to support the new guardian
semantics.  move some logic to `mark_dependencies' and
`mark_and_zombify'.
(whine_about_self_centered_zombies): new function.  installed in
the `after-gc-hook' to complain about guarded objects which are
parts of cycles.
(scm_init_guardians): init the new stuff.  renamed from
`scm_init_guardian'.
2000-12-23 23:00:23 +00:00
Dirk Herrmann
54a33a61d9 * Removed unused member "properties" from struct scm_subr_entry. 2000-12-23 11:38:06 +00:00
Dirk Herrmann
c9c01b1125 * Removed unused member "documentation" from struct scm_subr_entry.
* Eliminate use of scm_intern0/scm_sysintern0 in procs.c.
2000-12-22 16:46:17 +00:00
Dirk Herrmann
9e07b6667f * Avoid using eval-in-module in example code. Thanks to Neil Jerram. 2000-12-15 22:01:30 +00:00
Dirk Herrmann
a261c0e933 * Re-introduced most-positive-fixnum and most-negative-fixnum. 2000-12-14 00:08:56 +00:00
Dirk Herrmann
0f979f3fb6 * Renamed scm_symbols to symbols and made it static in symbols.c. 2000-12-13 11:38:30 +00:00
Dirk Herrmann
b52e071bc5 * The creation of symbols and bindings are two separate issues now. 2000-12-12 18:36:35 +00:00
Keisuke Nishida
2f6fb7c57b Added entries of smob_mfpe and smob_apply 2000-12-08 18:10:57 +00:00
Dirk Herrmann
23ade5e759 * New functions: scm_str2symbol, scm_mem2symbol 2000-12-08 16:32:36 +00:00
Dirk Herrmann
93d40df216 * Guile does not assume a hash table size of scm_symhash_dim any more. 2000-12-08 13:41:56 +00:00
Dirk Herrmann
fd3363659b * eval.c: remove commented code, remove #ifdef CCLO conditionals
* remove uses of older GC marking and cell accessing macros
2000-12-06 15:16:59 +00:00
Dirk Herrmann
79a3dafe67 * Added scm_c_memq as a fast C level alternative for scm_memq. 2000-12-01 17:57:42 +00:00
Gary Houston
818febc097 *** empty log message *** 2000-11-29 21:27:13 +00:00
Dirk Herrmann
e51fe79c72 * Removed SCM_SYMBOL_UCHARS. 2000-11-28 16:37:40 +00:00
Dirk Herrmann
5b9eb8ae16 * Deprecated SCM_LENGTH_MAX. 2000-11-23 15:26:24 +00:00
Dirk Herrmann
6a0476fd11 * SCM_SETCHARS deprecated. 2000-11-23 13:54:49 +00:00
Dirk Herrmann
9377887701 * Deprecated SCM_SETLENGTH. 2000-11-23 08:59:22 +00:00
Dirk Herrmann
d7cf432578 * Added SCM_SET_CONTINUATION_LENGTH to replace SCM_SETLENGTH. 2000-11-22 15:36:58 +00:00
Dirk Herrmann
bc0eaf7b78 * Added SCM_SET_VECTOR_LENGTH as one replacement for SCM_SETLENGTH. 2000-11-22 14:45:41 +00:00
Dirk Herrmann
34f0f2b8af * Deprecated macros SCM_ROCHARS and SCM_ROUCHARS. 2000-11-22 11:20:03 +00:00
Dirk Herrmann
f0942910af * Deprecated SCM_RWSTRINGP and SCM_VALIDATE_RWSTRING.
* Prepared SCM_STRING_U?CHARS to replace SCM_ROU?CHARS.
2000-11-21 17:32:38 +00:00
Gary Houston
34b56ec407 *** empty log message *** 2000-11-09 22:41:58 +00:00
Gary Houston
eb5c0a2a6c 2000-11-04 Gary Houston <ghouston@arglist.com>
* ports.c (scm_port_p): new function, implements "port?" which
	is mentioned in R5RS.
	* ports.h: declare scm_port_p.
2000-11-04 23:24:14 +00:00
Dirk Herrmann
b24b5e13bf * Get rid of calls to SCM_ROSTRINGP.
* Fix some string/symbol output problems with regards to substrings.
* Fix error output to prefer procedure name parameters over stack data.
* Use SCM_(SET_)?FILENAME where appropriate.
* Prefer calling scm_remember over scm_protect/unprotect_object calls.
2000-11-02 10:36:31 +00:00
Dirk Herrmann
a6d9e5abe5 * Change a couple of functions to accept either symbols or strings only.
* Get rid of remainig uses of SCM_LENGTH etc.
2000-10-30 11:42:26 +00:00
Mikael Djurfeldt
14f1d9fec8 *** empty log message *** 2000-10-25 14:51:33 +00:00
Dirk Herrmann
1b9be268c8 * Deprecated scm_vector_set_length_x.
* Zero length vectors do not allocate dummy memory any more.
2000-10-25 12:58:51 +00:00
Dirk Herrmann
d1ca2c6423 * Some more work to get rid of SCM_LENGTH
* Eliminated some cell type bit fiddling
* Various minor changes
2000-10-25 11:01:03 +00:00
Dirk Herrmann
daa6ba187b * Deprecated scm_sloppy_mem(q|v|ber) 2000-10-13 07:55:25 +00:00
Dirk Herrmann
1660782ecf * Removed unused type tag scm_tc7_lvector. 2000-09-22 18:33:24 +00:00
Dirk Herrmann
c1aef03710 * Added SCM_STRING_CHARS and SCM_SYMBOL_CHARS in order to, in the long run,
get rid of SCM_CHARS, which is shared between a large number of types, and
  thus makes it difficult to change the implementation of a single type.
2000-09-22 16:44:42 +00:00
Dirk Herrmann
28b06554ca * Unified ssymbols and msymbols to a single symbol type 'scm_tc7_symbol'.
* Added scm_string_hash and deprecated scm_strhash.
2000-09-12 12:30:36 +00:00
Mikael Djurfeldt
302f229e58 *** empty log message *** 2000-09-12 05:44:34 +00:00
Marius Vollmer
17f367e095 *** empty log message *** 2000-09-03 20:47:21 +00:00
Mikael Djurfeldt
69b5f65aaa *** empty log message *** 2000-08-26 20:57:57 +00:00
Marius Vollmer
76ef92f358 *** empty log message *** 2000-08-16 19:30:28 +00:00
Mikael Djurfeldt
41d7d2af42 *** empty log message *** 2000-08-11 09:30:07 +00:00
Mikael Djurfeldt
e478dffa01 *** empty log message *** 2000-08-02 06:11:08 +00:00
Dirk Herrmann
f762051048 * Fixed struct initialization. 2000-07-26 08:35:35 +00:00
Dirk Herrmann
cc4feeca51 * Deprecated function scm_call_catching_errors.
* Updated root-smob initialization.
2000-07-18 07:02:57 +00:00
Michael Livshin
9d47a1e6f2 * gc.c (scm_done_free): new.
expanded comments about scm_done_malloc.

* gc.h: added prototype for scm_done_free
2000-07-15 13:44:04 +00:00
Dirk Herrmann
32d0d4b1e3 * Added note about new global variable scm_gc_running_p. 2000-07-14 07:36:35 +00:00
Dirk Herrmann
b63a956dc5 * Re-introduced some symbols as deprecated. 2000-06-30 17:37:26 +00:00