diff options
author | Andy Wingo <wingo@pobox.com> | 2011-11-18 11:09:48 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-11-21 10:56:29 +0100 |
commit | f0d1bacd786147c73862ab3f5ca2155b6f88888e (patch) | |
tree | 68e269e09127b544efe97873d0a5025f57231171 | |
parent | 8071964943e23700cfe1095ba0f5e3c99f590dee (diff) | |
download | guile-f0d1bacd786147c73862ab3f5ca2155b6f88888e.tar.gz |
deprecate direct scm_protects access
* libguile/gc.h:
* libguile/gc.c: Deprecate direct access to scm_protects.
-rw-r--r-- | libguile/gc.c | 5 | ||||
-rw-r--r-- | libguile/gc.h | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/libguile/gc.c b/libguile/gc.c index c68f295b1..23cc8a383 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -82,11 +82,14 @@ int scm_expensive_debug_cell_accesses_p = 0; */ int scm_debug_cells_gc_interval = 0; +#if SCM_ENABLE_DEPRECATED == 1 /* Hash table that keeps a reference to objects the user wants to protect from garbage collection. It could arguably be private but applications have come to rely on it (e.g., Lilypond 2.13.9). */ SCM scm_protects; - +#else +static SCM scm_protects; +#endif #if (SCM_DEBUG_CELL_ACCESSES == 1) diff --git a/libguile/gc.h b/libguile/gc.h index 104fb0bb3..a19b9de87 100644 --- a/libguile/gc.h +++ b/libguile/gc.h @@ -3,7 +3,7 @@ #ifndef SCM_GC_H #define SCM_GC_H -/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -242,7 +242,9 @@ SCM_API void scm_gc_register_root (SCM *p); SCM_API void scm_gc_unregister_root (SCM *p); SCM_API void scm_gc_register_roots (SCM *b, unsigned long n); SCM_API void scm_gc_unregister_roots (SCM *b, unsigned long n); -SCM_API SCM scm_protects; +#if SCM_ENABLE_DEPRECATED == 1 +SCM_DEPRECATED SCM scm_protects; +#endif SCM_INTERNAL void scm_storage_prehistory (void); SCM_INTERNAL void scm_init_gc_protect_object (void); SCM_INTERNAL void scm_init_gc (void); |