[Geany-devel] Build system glitches

Lex Trotman elextr at xxxxx
Mon Oct 12 05:49:43 UTC 2009

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 at 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

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

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 at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

More information about the Devel mailing list