Hi Enrico,
I had a chance to have a quick look at these. Results so far below.
2009/10/11 Enrico Tröger enrico.troeger@uvena.de:
Hey,
I noticed a few more smaller and bigger problems with the new Build system:
See attached image build_dialog_py_initial.png: this is the initial build settings dialog for an opened Python file. So far it looks fine except the "null" values for two Make commands.
Hmmmm, the nulls only appear if geany is run with an empty config, ie geany -v -c empty_config_dir something I never tested.
Ok, found and fixed in my local copy plus a potential if unlikely similar problem for compile and build if a filetype configuration file is missing. Commit as soon as I test better ;-)
Then I changed the Python Compile and Run commands to use python2.5 instead of just python. Worked fine.
But then, I opened the Build settings dialog for a XML file and for some reason, it shows me the Python Run command as Run command for the XML file. And it does this probably for each other filetype as well, tested also with Shellscript and I got again the Python Run command. This completely contradicts the original idea of the build system: being easy to use to compile&run single files. Not sure whether this is a bug or actually intended behaviour of your code, but it is not what Geany should do and it is not what Geany did before! Run commands were and should be filetype-dependent except you have opened a project and the project has a Run command defined.
In the new build system there are more execute commands than in the old system:
1. from system filetypes files 2. from user preferences filetypes files 3. from user preference 4. from project filetypes in the project file 5. from project preference
The cause of the issue you've identified is because modified execute commands are treated as a user preference rather than as a filetype. Its actually documented in the manual this way (see the table in 'build menu configuration') and it notes that you can't set the filetype dependent execute commands using the dialog.
Because the dialog doesn't have any way of selecting if the user is changing the preference/project setting or the filetype dependent setting a decision one way or the other had to be made. I don't remember why this particular decision was made, but I see two "solutions":
1. Since projects are most likely to have an execute command independent of the filetype and non-projects are more likely to be dependent on filetype we could have the execute commands set in the 'build commands' dialog set the filetype preferences execute not the preferences execute, but the execute commands in the project 'build commands' dialog set the project execute not the project filetypes execute, but this is potentially confusing (I'm confused just writing it)
2. Or I can try to get Enrico to agree to adding one itty bitty teeny weeny little checkbox to the build commands dialog to make the selection, I'll put it on the same line as the execute commands header and it won't make the dialog any bigger I *promise*. :-) It will default to acting as above, still confusing but it defaults to the most likely scenario and at least it will be visible.
Personally I like 2 since it gets rid of the problem of a bit of functionality that exists but can't be configured from the dialog.
Let me know what you think.
Furthermore, the Compile button is disabled in the toolbar. But this seems to be a separate issue :).
AFAICT build.c doesn't know about the compile toolbar menu button, or the execute menu button for that matter, it only knows about the build toolbar menu button and the compile, build and execute actions, so I don't know what is setting the sensitivity of the compile and execute menu buttons.
The reported issues happened with latest Geany from SVN, a clean config (geany -c /tmp/test) and without a project being opened.
Regards, Enrico
-- Get my GPG key from http://www.uvena.de/pub.asc
Geany-devel mailing list Geany-devel@uvena.de http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel