Add weak-vector-length, weak-vector-ref, weak-vector-set!
authorAndy Wingo <wingo@pobox.com>
Fri, 7 Feb 2014 11:25:05 +0000 (12:25 +0100)
committerAndy Wingo <wingo@pobox.com>
Fri, 7 Feb 2014 11:25:05 +0000 (12:25 +0100)
commit1e3fd6a0c81bb3e9900a93a9d1923cc788de0f99
tree470e5eb1a69d7d4ec7a72f6d0c2a029026de9782
parent40a723a92236fe4e58feb89057b4182b1fc76810
Add weak-vector-length, weak-vector-ref, weak-vector-set!

* libguile/weaks.c (scm_is_weak_vector, scm_c_weak_vector_length):
  (scm_c_weak_vector_ref, scm_c_weak_vector_set_x): New interfaces for
  dealing with weak vectors from C.
  (scm_weak_vector_length, scm_weak_vector_ref, scm_weak_vector_set_x):
  New Scheme interfaces to weak vectors; to be used instead of
  vector-length, vector-ref, etc.

* module/ice-9/weak-vector.scm: Export the new interfaces.

* doc/ref/api-memory.texi (Weak vectors): Document them.
doc/ref/api-memory.texi
libguile/weaks.c
libguile/weaks.h
module/ice-9/weak-vector.scm