summaryrefslogtreecommitdiff
path: root/libguile.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-10-24 10:52:55 +0200
committerAndy Wingo <wingo@pobox.com>2011-10-24 12:54:14 +0200
commita141db8604ecca8a4f4c210cd680b41e337c689a (patch)
tree6d7fec7621586e8c569ec2451e2a4c93f674e5a5 /libguile.h
parentc4e83f74c2f518d8c25959c6e7bb2b36e7058d01 (diff)
remove weak pairs, rewrite weak vectors
* libguile/weak-vector.c: * libguile/weak-vector.h: Renamed from weaks.[ch]. Remove weak pairs. They were not safe to access with `car' and `cdr'. Remove weak alist vectors, as we have weak tables and sets. Reimplement weak vectors, moving the implementation here. * libguile/vectors.c: * libguile/vectors.h: Remove the extra header word. Use scm_c_weak_vector_ref / scm_c_weak_vector_set_x to access weak vectors. * libguile/snarf.h: Remove the extra header word in vectors. * libguile/threads.c (do_thread_exit, fat_mutex_lock, fat_mutex_unlock): Instead of weak pairs, store thread-owned mutexes in a list of one-element weak vectors. * libguile/guardians.c (finalize_guarded): Similarly, store object guardians in a list of one-element weak vectors. * libguile/modules.c (scm_module_reverse_lookup): We no longer need to handle the case of weak references. * libguile/print.c (iprin1): Use the standard vector accessor to print vectors. * libguile.h: * libguile/Makefile.am: * libguile/gc-malloc.c: * libguile/gc.c: * libguile/goops.c: * libguile/init.c: * libguile/objprop.c: * libguile/struct.c: Update includes. * module/ice-9/weak-vector.scm: Load weak vector definitions using an extension instead of %init-weaks-builtins. * test-suite/tests/weaks.test: Use the make-...-hash-table names instead of the old alist vector names.
Diffstat (limited to 'libguile.h')
-rw-r--r--libguile.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile.h b/libguile.h
index 2c6840250..7ac98a507 100644
--- a/libguile.h
+++ b/libguile.h
@@ -117,7 +117,7 @@ extern "C" {
#include "libguile/vports.h"
#include "libguile/weak-set.h"
#include "libguile/weak-table.h"
-#include "libguile/weaks.h"
+#include "libguile/weak-vector.h"
#include "libguile/backtrace.h"
#include "libguile/debug.h"
#include "libguile/stacks.h"