@ntrel commented on this pull request.


In src/build.c:

> @@ -2577,15 +2565,20 @@ void build_save_menu(GKeyFile *config, gpointer ptr, GeanyBuildSource src)
 				g_key_file_remove_key(config, build_grp_name, "error_regex", NULL);
 			if (pj->priv->build_filetypes_list != NULL)
 			{
-				data.config = config;
-				data.ft_names = g_ptr_array_new();
-				g_ptr_array_foreach(pj->priv->build_filetypes_list, foreach_project_filetype, (gpointer)(&data));
-				if (data.ft_names->pdata != NULL)
+				GPtrArray *ft_names = g_ptr_array_new();
+				guint i;
+				
+				foreach_ptr_array(ft, i, pj->priv->build_filetypes_list)

it needs to be discoverable and documented, or people will only find it by accident reading existing code

Yes, that's why the documents macro has always mentioned it:

documents_array itself doesn't seem to be documented.

For example what does it do if the set of documents is changed by the user?

It's undefined and not documented. I think it's to be expected that iterator invalidation is not handled by the macro.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.