From c63f9101f8e6e02a1f034e202d8caa50183992d2 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 5 May 2025 16:07:30 +0200 Subject: Reimplement weak vectors in Scheme using ephemerons * module/ice-9/weak-vector.scm: New implementation, same interface. * doc/ref/api-memory.texi (Weak vectors): Default weak vector value was documented as empty list when it was actually unspecified, but #f is most useful, so we change documentation and code to match. * libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (DOT_X_FILES): (DOT_DOC_FILES): (noinst_HEADERS): (modinclude_HEADERS): * libguile.h: * libguile/deprecated.c: * libguile/deprecated.h: * libguile/init.c: * libguile/weak-vector.c: * libguile/weak-vector.h: Remove C weak vector implementation, replaced with deprecation stubs that call out to Scheme. * libguile/weak-set.c: * libguile/weak-table.c: * libguile/weak-list.h: Remove unused internal header. * libguile/eq.c: * libguile/evalext.c: * libguile/goops.c: * libguile/hash.c: * libguile/scm.h: * module/system/base/types.scm: * module/system/base/types/internal.scm: * module/system/vm/assembler.scm: Remove wvect tc7. --- doc/ref/api-memory.texi | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'doc/ref/api-memory.texi') diff --git a/doc/ref/api-memory.texi b/doc/ref/api-memory.texi index 6d9d5dc39..ddfe3d9db 100644 --- a/doc/ref/api-memory.texi +++ b/doc/ref/api-memory.texi @@ -316,10 +316,9 @@ nor a weak value hash table. @deffn {Scheme Procedure} make-weak-vector size [fill] @deffnx {C Function} scm_make_weak_vector (size, fill) -Return a weak vector with @var{size} elements. If the optional -argument @var{fill} is given, all entries in the vector will be -set to @var{fill}. The default value for @var{fill} is the -empty list. +Return a weak vector with @var{size} elements. If the optional argument +@var{fill} is given, all entries in the vector will be set to +@var{fill}. The default value for @var{fill} is @code{#f}. @end deffn @deffn {Scheme Procedure} weak-vector elem @dots{} -- cgit v1.2.3