From f0d1bacd786147c73862ab3f5ca2155b6f88888e Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 18 Nov 2011 11:09:48 +0100 Subject: deprecate direct scm_protects access * libguile/gc.h: * libguile/gc.c: Deprecate direct access to scm_protects. --- libguile/gc.c | 5 ++++- libguile/gc.h | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'libguile') 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); -- cgit v1.2.1