+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
+2001-11-29 Havoc Pennington <hp@redhat.com>
+
+ * glib/gtree.c (g_tree_foreach):
+ * glib/ghash.c (g_hash_table_foreach):
+
+ Add notes about how you shouldn't modify these data structures as
+ you iterate over them.
+
Thu Nov 29 11:16:03 2001 Owen Taylor <otaylor@redhat.com>
* HACKING: Update (#65721, Dave Neary)
This structure is opaque and its fields cannot be accessed directly.
</para>
+@match_type:
+@pattern_length:
+@pattern:
+@pattern_reversed:
<!-- ##### FUNCTION g_pattern_spec_new ##### -->
<para>
</para>
-@charset:
@Returns:
+<!-- # Unused Parameters # -->
+@charset:
<!-- ##### FUNCTION g_unichar_validate ##### -->
* @func: the function to call for each key/value pair.
* @user_data: user data to pass to the function.
*
- * Calls the given function for each of the key/value pairs in the #GHashTable.
- * The function is passed the key and value of each pair, and the given
- * @user_data parameter.
+ * Calls the given function for each of the key/value pairs in the
+ * #GHashTable. The function is passed the key and value of each
+ * pair, and the given @user_data parameter. The hash table may not
+ * be modified while iterating over it (you can't add/remove
+ * items). To remove all items matching a predicate, use
+ * g_hash_table_remove().
**/
void
g_hash_table_foreach (GHashTable *hash_table,
*
* Calls the given function for each of the key/value pairs in the #GTree.
* The function is passed the key and value of each pair, and the given
- * @data parameter.
+ * @data parameter. The tree may not be modified while iterating over
+ * it (you can't add/remove items). To remove all items matching
+ * a predicate, you need to add each item to a list as in your
+ * #GTraverseFunc as you walk over the tree, then walk the list
+ * and remove each item.
**/
void
g_tree_foreach (GTree *tree,