[Geany-devel] Gathering Release 1.22 incompatibilities

Lex Trotman elextr at xxxxx
Tue Mar 20 23:11:05 UTC 2012


On 21 March 2012 00:09, Nick Treleaven <nick.treleaven at btinternet.com> wrote:
> On 20/03/2012 04:46, Lex Trotman wrote:
>>
>> +    Filetypes
>> +    * Move all named styles into color schemes and keep only mappings in
>> the
>> +      filetypes files. Filetypes should no longer contain styling
>> information,
>> +      except `filetypes.common` which contains the default color scheme.
>> Breaks
>> +      compatibility with old filetypes files.
>
>
> I think the filetypes.* files compatibility was not broken. Rather that
> overriding filetypes style defaults will break color schemes.

After yesterday's long discussion with Matthew thats how I understand
it too (I think).  Maybe it should say "Old user filetypes styles must
be removed for new themes to work" or some such.

>
>> +    Plugin API
>> +    * Rename signal `project_dialog_create` to `project_dialog_open` and
>> +      add new signal `project_dialog_close`. Increments plugin ABI so all
>> +      plugins need re-compilation even if they don't use the signal.
>
>
> If compiling doesn't catch any new errors, I don't think the ABI should have
> been broken. Maybe it's worth reverting the ABI break?

*Technically* is not an ABI change.

Problem is there is no way of indicating that plugins need to be
updated for a perticular version of Geany, the plugins listening on
the old signal will at best just not work, at worst crash when the
signal never comes but subsequent ones do.

The current API test assumes that all APIs newer than that requested
by a plugin will work.  In situations like this Geany needs to reject
plugins that ask for an API older than the breaking change because
they might not work.  In lieu of such a capability an ABI break is the
only way we have of indicating that plugins need updating, for binary
users they just update GP and they are fine (assuming the plugins
using the signal are fixed before release).  For users who compile GP
we should add a note about updating as well as compiling, eg add to
the end of this comment "Plugins using the old signal will not work
and need updating from GP prior to re-compilation"

>
>> +    User Interface
>> +    * Keybinding Ctrl-t has been re-purposed from "transpose line" to
>> +      "go to tag".  Transpose line should be less used now the "move
>> line"
>> +      commands are available.
>
>
> I've now committed a workaround - see the latest 2 commits. Existing users
> should see no change on upgrading Geany, even if they never edited any
> keybindings. New users get the new keybinding defaults.

Looks good, suggest we add to the end of this comment "Geany will not
change the binding if running with an existing configuration, only
when a new configuration is created"

>
> Also, shouldn't the important/breaking things be in the same group at the
> top? Otherwise when we add the other changes they won't stand out.

I thought reading Colombans post that this was the list being gathered
at the top, maybe it needs a heading?

Cheers
Lex

>
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel



More information about the Devel mailing list