[Geany-devel] Build System and Latex

Enrico Tröger enrico.troeger at xxxxx
Wed May 13 22:15:34 UTC 2009

On Tue, 12 May 2009 17:04:06 +1000, Lex wrote:

>2009/5/12 Enrico Tröger <enrico.troeger at uvena.de>
>> On Mon, 11 May 2009 18:44:15 +1000, Lex wrote:
>> >>
>> >> Hi
>> >
>> >
>> >I have been looking at the implementation of the build-system and in
>> >particular interactions with other parts of Geany.  In general it
>> >looks ok, but the latex menus and commands system seems to have a
>> >few interactions with the build system and menu.
>> >
>> >Since the new build-system allows the menu labels to be changed,
>> >(not just the commands) if I allow two run commands can we bring
>> >the latex build system back into the normal system?
>> I'd say we don't even need two run commands. Either interested users
>> 'abuse' one of the build commands or they realise that most often one
>> run command is enough (based on my personal workflow with LaTeX, you
>> usually use only viewing DVIs or PDFs).
>> And e.g. when using evince, you don't even need a Run command at all
>> as it reloads the opened file once it has been regenerated.
>The command would actually have to be the extra filetype dependent
>command since its existence depends on the current file being latex.
>Of course it could be a non-filetype dependent command if the user
>didn't care if it was always available, but thats up to them, I think
>we should default it to the filetype command since as a C++ (mostly)
>programmer I wouldn't want a latex command in my makes ;-).

You mean the extra Run command for LaTex? I think we can just drop it
(for now). Users who need it, can then just add it if necessary.

>> >This has the advantages:
>> >1. removal of lots of nearly duplicate code building menus, dialogs
>> >and commands
>> >2. much simpler and cleaner build system (I'm not all that
>> >altruistic, this means that it is easy for me to see what I might
>> >break with my changes ;-)
>> Please, please do that. Remove all LaTeX-specific code now. For me,
>> this is one of the biggest advantages of your new code :).
>> The reason for the special LaTeX code was only to provide special
>> stuff for LaTeX. But with your new build system, this all should be
>> easier and cleaner. Please remove it.
>Will do.
>I have also noticed that the plugins interface exposes build_info
>which has the build type enum in it.  This enum will of course change
>due to the addition of extra commands, I can add new things to the end
>so that the ABI is preserved, but plugins may need to be changed to
>consider the extra commands.  And adding them at the end will mean the
>filetype and non-filetype command groups are no longer contiguous.
>This isn't a problem for me but may be elsewhere, do you know of
>anything that is dependent on the order of the enum or is adding to
>the end ok?.

I just grepped over my local geany-plugins checkout and it didn't find
any references. According to the commit message, the build_info code
was exported to the plugin API by a request by "blackdog" but no idea
why he needed it and whether he still needs it.
But if you don't even need to remove/change fields of the struct but
only append to it, there shouldn't be a problem I guess.
Just remember to increase the API version.


Get my GPG key from http://www.uvena.de/pub.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.geany.org/pipermail/devel/attachments/20090514/09a6910f/attachment.pgp>

More information about the Devel mailing list