1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-23 13:00:34 +02:00
guile/module
Andy Wingo a141db8604 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.
2011-10-24 12:54:14 +02:00
..
ice-9 remove weak pairs, rewrite weak vectors 2011-10-24 12:54:14 +02:00
language Merge remote-tracking branch 'origin/stable-2.0' 2011-10-10 16:20:08 +02:00
oop Merge remote-tracking branch 'origin/stable-2.0' 2011-09-29 18:02:28 +02:00
rnrs fix r6rs `map' 2011-08-17 23:24:20 +02:00
scripts better guild help FOO 2011-08-19 12:32:01 +02:00
srfi fix srfi-67 compilation 2011-09-02 19:49:26 +02:00
sxml more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
system remove a stale comment 2011-10-24 12:48:36 +02:00
texinfo module-stexi-documentation #:docs-resolver keyword arg 2011-08-23 18:00:02 +02:00
web RFC 822 allows single digit days of the month 2011-09-10 11:12:04 -07:00
Makefile.am add tree-il verifier 2011-10-07 11:05:43 +02:00
rnrs.scm Enhance transcoder-related functionality of `(rnrs io ports)' 2011-03-13 23:14:43 +01:00
statprof.scm add gcprof 2011-05-05 11:43:12 +02:00
texinfo.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00