Hi all,
I've tried to compile Geany with the --disable-deprecated configure
option, but I used… GTK+ 2.12 and GLib 2.16. Of course, it hasn't worked
(mostly because of the new tooltip API and GObject generalization), but
it's not really the reason of my mail.
In src/utils.c, g_strcasecmp() is used, but it is deprecated since 2.2.
I dunno if the reason why it was deprecated have any incidence on what
it is used here (I think not), but it breaks build without deprecated
symbols even with 2.6.
An easy fix is to copy the function (with another name or so) in the
Geany's source code.
Another think I've noticed is that the tagmanager use GMemChunks for
allocating memory, but the new GSlice API seems to be really faster (and
simpler). What do you think about using it when compiling with GLib >=
2.10? It is easy to set up, just two macros to update.
(patch attached - geany_r3060_tagmanager_gslice.patch)
Last thing: about marshal closures. I dunno if g_cclosure_marshal*() are
present in GLib 2.6, but gtk_marshal*() are deprecated now, and I think
glib-genmarshal is not a really recent tool. Then, it can be nice to
move gtk_marshal*() to corresponding g_cclosure_marshal*() and/or to
define which are needed in geany-marshal.[ch] files or so.
(another patch attached - geany_r3060_no_gtk_marshal.patch).
Patch for this is not really good because I'm not really knowing about
automake & friends, and a make rule should be created to automatically
create geany-marshal.[ch] from geany-marshal.list using glib-genmarshal
at compile-time.
I attach a last patch, the global modifications I made do compile with
--disable-deprecated with GTK+ 2.12 and GLib 2.16, if this is useful for
anyone. Anything works but Scintilla, I've not understood the exact goal
of calls using deprecated functions, and it haven't found an easy way to
make it use newer functions.
Cheers,
Colomban W.
PS: all three patches applies to r3083 too :)