diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2004-02-13 23:15:37 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 2004-02-13 23:15:37 +0000 |
commit | 711a9fd7ee82610f160c042141d6a34e041ea804 (patch) | |
tree | e9615a83e374bd8d68ce6002bd45d61fd880e9b8 /libguile/hashtab.h | |
parent | a150979dabb2d49ccad9c95dd54b71e603d0ef38 (diff) | |
download | guile-711a9fd7ee82610f160c042141d6a34e041ea804.tar.gz |
* unif.c (scm_make_uve): Removed local variable and simplified
code in order to avoid compiler used uninitialized warnings.
* hashtab.c, hashtab.h (scm_hash_map_to_list): Renamed from
scm_hash_map.
(scm_hash_fold): Use scm_call_3 directly in the call to
scm_internal_hash_fold instead of going via fold_proc (which is
now removed).
(scm_hash_for_each): Use a trampoline +
scm_internal_hash_for_each_handle.
(scm_internal_hash_for_each_handle, scm_hash_for_each_handle): New
functions.
Diffstat (limited to 'libguile/hashtab.h')
-rw-r--r-- | libguile/hashtab.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libguile/hashtab.h b/libguile/hashtab.h index 96d3e8715..3afc6b29f 100644 --- a/libguile/hashtab.h +++ b/libguile/hashtab.h @@ -3,7 +3,7 @@ #ifndef SCM_HASHTAB_H #define SCM_HASHTAB_H -/* Copyright (C) 1995,1996,1999,2000,2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1999,2000,2001, 2003, 2004 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 @@ -104,6 +104,7 @@ SCM_API SCM scm_hash_fn_ref (SCM table, SCM obj, SCM dflt, unsigned long (*hash_ SCM_API SCM scm_hash_fn_set_x (SCM table, SCM obj, SCM val, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure); SCM_API SCM scm_hash_fn_remove_x (SCM table, SCM obj, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), SCM (*delete_fn) (), void * closure); SCM_API SCM scm_internal_hash_fold (SCM (*fn) (), void *closure, SCM init, SCM table); +SCM_API void scm_internal_hash_for_each_handle (SCM (*fn) (), void *closure, SCM table); SCM_API SCM scm_hash_clear_x (SCM table); SCM_API SCM scm_hashq_get_handle (SCM table, SCM obj); @@ -128,7 +129,8 @@ SCM_API SCM scm_hashx_set_x (SCM hash, SCM assoc, SCM table, SCM obj, SCM val); SCM_API SCM scm_hashx_remove_x (SCM hash, SCM assoc, SCM del, SCM table, SCM obj); SCM_API SCM scm_hash_fold (SCM proc, SCM init, SCM hash); SCM_API SCM scm_hash_for_each (SCM proc, SCM hash); -SCM_API SCM scm_hash_map (SCM proc, SCM hash); +SCM_API SCM scm_hash_for_each_handle (SCM proc, SCM hash); +SCM_API SCM scm_hash_map_to_list (SCM proc, SCM hash); SCM_API void scm_hashtab_prehistory (void); SCM_API void scm_init_hashtab (void); |