See attached patch. A quick review:
* SSM()'s third argument is supposed to be unsigned, so casting to uptr_t seems more correct.
* Various cases of foo() --> foo(void). (Come on guys... the only excuse is if you're older than dirt and still haven't broken your old K&R habits :)
* Make clear that editor_goto_line()'s third argument is an integer, not a double
* Add the gsize cast to the negative second argument of encodings_convert_to_utf8[_from_charset]() where missing, so that the compiler doesn't warn us that it is converting the value to unsigned
* HAVE_GIO should either be #defined to 1, or not #defined at all, per Autoconf convention. My build had broken because I had "#define HAVE_GIO 0" in config.h, and "#ifdef HAVE_GIO" in utils.c. ("#ifdef" only looks at whether the symbol is defined or not---the value doesn't matter.)
--Daniel