summaryrefslogtreecommitdiff
path: root/libguile/hashtab.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>2004-02-13 23:15:37 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>2004-02-13 23:15:37 +0000
commit711a9fd7ee82610f160c042141d6a34e041ea804 (patch)
treee9615a83e374bd8d68ce6002bd45d61fd880e9b8 /libguile/hashtab.h
parenta150979dabb2d49ccad9c95dd54b71e603d0ef38 (diff)
downloadguile-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.h6
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);