summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-11-18 11:09:48 +0100
committerAndy Wingo <wingo@pobox.com>2011-11-21 10:56:29 +0100
commitf0d1bacd786147c73862ab3f5ca2155b6f88888e (patch)
tree68e269e09127b544efe97873d0a5025f57231171 /libguile
parent8071964943e23700cfe1095ba0f5e3c99f590dee (diff)
downloadguile-f0d1bacd786147c73862ab3f5ca2155b6f88888e.tar.gz
deprecate direct scm_protects access
* libguile/gc.h: * libguile/gc.c: Deprecate direct access to scm_protects.
Diffstat (limited to 'libguile')
-rw-r--r--libguile/gc.c5
-rw-r--r--libguile/gc.h6
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);