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/properties.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/properties.c')
-rw-r--r-- | libguile/properties.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libguile/properties.c b/libguile/properties.c index 60ff2ff65..1f3c668a2 100644 --- a/libguile/properties.c +++ b/libguile/properties.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 @@ -36,6 +36,8 @@ /* {Properties} */ +static SCM properties_whash; + SCM_DEFINE (scm_primitive_make_property, "primitive-make-property", 1, 0, 0, (SCM not_found_proc), "Create a @dfn{property token} that can be used with\n" @@ -67,7 +69,7 @@ SCM_DEFINE (scm_primitive_property_ref, "primitive-property-ref", 2, 0, 0, SCM_VALIDATE_CONS (SCM_ARG1, prop); - h = scm_hashq_get_handle (scm_properties_whash, obj); + h = scm_hashq_get_handle (properties_whash, obj); if (scm_is_true (h)) { SCM assoc = scm_assq (prop, SCM_CDR (h)); @@ -81,7 +83,7 @@ SCM_DEFINE (scm_primitive_property_ref, "primitive-property-ref", 2, 0, 0, { SCM val = scm_call_2 (SCM_CAR (prop), prop, obj); if (scm_is_false (h)) - h = scm_hashq_create_handle_x (scm_properties_whash, obj, SCM_EOL); + h = scm_hashq_create_handle_x (properties_whash, obj, SCM_EOL); SCM_SETCDR (h, scm_acons (prop, val, SCM_CDR (h))); return val; } @@ -96,7 +98,7 @@ SCM_DEFINE (scm_primitive_property_set_x, "primitive-property-set!", 3, 0, 0, { SCM h, assoc; SCM_VALIDATE_CONS (SCM_ARG1, prop); - h = scm_hashq_create_handle_x (scm_properties_whash, obj, SCM_EOL); + h = scm_hashq_create_handle_x (properties_whash, obj, SCM_EOL); assoc = scm_assq (prop, SCM_CDR (h)); if (SCM_NIMP (assoc)) SCM_SETCDR (assoc, val); @@ -117,7 +119,7 @@ SCM_DEFINE (scm_primitive_property_del_x, "primitive-property-del!", 2, 0, 0, { SCM h; SCM_VALIDATE_CONS (SCM_ARG1, prop); - h = scm_hashq_get_handle (scm_properties_whash, obj); + h = scm_hashq_get_handle (properties_whash, obj); if (scm_is_true (h)) SCM_SETCDR (h, scm_assq_remove_x (SCM_CDR (h), prop)); return SCM_UNSPECIFIED; @@ -128,7 +130,7 @@ SCM_DEFINE (scm_primitive_property_del_x, "primitive-property-del!", 2, 0, 0, void scm_init_properties () { - scm_properties_whash = scm_make_weak_key_hash_table (SCM_UNDEFINED); + properties_whash = scm_make_weak_key_hash_table (SCM_UNDEFINED); #include "libguile/properties.x" } |