diff options
author | Andy Wingo <wingo@pobox.com> | 2009-12-05 12:38:32 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-05 12:38:43 +0100 |
commit | e7efe8e793fa51ea898aea4477939c598b3e9fac (patch) | |
tree | 3fb9dfab7a0d398351b5067d91a0235d1910ddbc /libguile/objprop.c | |
parent | 838aa0007073dbb9e8c91810299c47054ded52bd (diff) | |
download | guile-e7efe8e793fa51ea898aea4477939c598b3e9fac.tar.gz |
decruftify scm_sys_protects
* libguile/root.h
* libguile/root.c (scm_sys_protects): It used to be that for some reason
we'd define a special array of "protected" values. This was a little
silly, always, but with the BDW GC it's completely unnecessary. Also
many of these variables were unused, and none of them were good API.
So remove this array, and either eliminate, make static, or make
internal the various values.
* libguile/snarf.h: No need to generate calls to scm_permanent_object.
* guile-readline/readline.c (scm_init_readline): No need to call
scm_permanent_object.
* libguile/array-map.c (ramap, rafe): Remove the dubious nullvect
optimizations.
* libguile/async.c (scm_init_async): No need to init scm_asyncs, it is
no more.
* libguile/eval.c (scm_init_eval): No need to init scm_listofnull, it is
no more.
* libguile/gc.c: Make scm_protects a static var.
(scm_storage_prehistory): Change the sanity check to use the address
of protects.
(scm_init_gc_protect_object): No need to clear the scm_sys_protects,
as it is no more.
* libguile/keywords.c: Make the keyword obarray a static var.
* libguile/numbers.c: Make flo0 a static var.
* libguile/objprop.c: Make object_whash a static var.
* libguile/properties.c: Make properties_whash a static var.
* libguile/srcprop.h:
* libguile/srcprop.c: Make scm_source_whash a global with internal
linkage.
* libguile/strings.h:
* libguile/strings.c: Make scm_nullstr a global with internal linkage.
* libguile/vectors.c (scm_init_vectors): No need to init scm_nullvect,
it's unused.
Diffstat (limited to 'libguile/objprop.c')
-rw-r--r-- | libguile/objprop.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libguile/objprop.c b/libguile/objprop.c index 6dd1da631..39fcfb5ca 100644 --- a/libguile/objprop.c +++ b/libguile/objprop.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996, 2000, 2001, 2003, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996, 2000, 2001, 2003, 2006, 2008, 2009 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 @@ -35,12 +35,14 @@ /* {Object Properties} */ +static SCM object_whash; + SCM_DEFINE (scm_object_properties, "object-properties", 1, 0, 0, (SCM obj), "Return @var{obj}'s property list.") #define FUNC_NAME s_scm_object_properties { - return scm_hashq_ref (scm_object_whash, obj, SCM_EOL); + return scm_hashq_ref (object_whash, obj, SCM_EOL); } #undef FUNC_NAME @@ -50,7 +52,7 @@ SCM_DEFINE (scm_set_object_properties_x, "set-object-properties!", 2, 0, 0, "Set @var{obj}'s property list to @var{alist}.") #define FUNC_NAME s_scm_set_object_properties_x { - SCM handle = scm_hashq_create_handle_x (scm_object_whash, obj, alist); + SCM handle = scm_hashq_create_handle_x (object_whash, obj, alist); SCM_SETCDR (handle, alist); return alist; } @@ -75,7 +77,7 @@ SCM_DEFINE (scm_set_object_property_x, "set-object-property!", 3, 0, 0, { SCM h; SCM assoc; - h = scm_hashq_create_handle_x (scm_object_whash, obj, SCM_EOL); + h = scm_hashq_create_handle_x (object_whash, obj, SCM_EOL); SCM_CRITICAL_SECTION_START; assoc = scm_assq (key, SCM_CDR (h)); if (SCM_NIMP (assoc)) @@ -94,7 +96,7 @@ SCM_DEFINE (scm_set_object_property_x, "set-object-property!", 3, 0, 0, void scm_init_objprop () { - scm_object_whash = scm_make_weak_key_hash_table (SCM_UNDEFINED); + object_whash = scm_make_weak_key_hash_table (SCM_UNDEFINED); #include "libguile/objprop.x" } |