Quick but possibly incorrect response since I havn't the time just now to try 
to dig deeply into code written nearly 10 years ago.  Will dig when I can, 
maybe next weekend.

I am not sure that the whole priority thing is extant in one piece of code and 
the sections of the menu select between filetype specific and filetype 
independent commands so they don't need priority selection (except for execute 
which is where GEANY_BCS_PROJ_FT is used).

>  "in reality there are only three sources, system, user and project settings"

Because as above, the menu distinguishes between them (except for execute).

> With #2307, I think GEANY_BCS_PROJ_FT can be removed 

So given above, conceptually yes might be able to, have to look at the detail 
of #2307 yet though.  And note its in the plugin API so a period of deprecation 
might be appropriate.  

Some of the messiness of the build stuff is trying to map the more general 
configuration system into the original menu system so it was retained.  Adding 
an extra section as per #2307 will hopefully make it simpler and allow some 
cleanup.

> Also in get_next_build_cmd: for the filetype build group, GEANY_BCS_PREF is 
> used for ft->priv->homefilecmds. Shouldn't that correspond to 
> GEANY_BCS_HOME_FT, as it does in get_build_group_pointer?

Depends what the caller provides, maybe we just left some existing code passing 
the same  GEANY_BCS_PREF as it did before.

> Another difference: for (filetype) execute, get_next_build_cmd uses 
> GEANY_BCS_FT for `ft->priv->homeexeccmds, but in get_build_group_pointer, 
> GEANY_BCS_HOME_FT is used, which seems the correct source.

Also (without having time to check in detail) be careful that project stuff 
both filetype and non-filetype commands load from the one file but for other 
sources the filetype and non-filetype loads from differing files, but both are 
distributed across the filetype files data structures.  So it may depend on if 
the particular function is accessing the file locations or the in memory data 
structures.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2274#issuecomment-536351031

Reply via email to