On 1 September 2013 00:05, Nick Treleaven <nick.treleaven@btinternet.com> wrote:
On 29/08/2013 06:47, Lex Trotman wrote:
On the topic of exceptions, remember many STL operations and "new" can
throw.  Of course only throwing on uncorrectable errors like out of memory
is fine, it just exits the application.  Thats what will happen to a throw
from Scintilla in current Geany, its not something that will be introduced.
  But as resource management moves to RAII, exceptions can be caught and
produce a more user friendly exit such as dumping buffers first.

OK. We might not want to use -fno-exceptions then, but maybe still avoid throwing ourselves.

I've never used -fno-exceptions, but reading the docs it doesn't sound like it actually stops code throwing, just it doesn't create the data tables for stack unwinding.  I presume therefore throws go direct to terminate(), do not pass try, do not catch $200 (apologies to Monopoly :)

 


On using gtkmm, personally I think it is *way* better than the C interface
to GTK, but I don't know if it can be mixed with C GTK easily, and changing
*everything at once* would be a big job.

I don't know either, but gtkmm is much better than GObject boilerplate. Although I don't think we need custom objects that often.

Funnily enough, since subclassing widgets is trivial with gtkmm, they start to be used more often in my experience :)
 


Not sure why the RTTI affects the ABI, things visible in the ABI must be
POD to maintain C compatibility, there are much stricter limitations to
maintaining POD, like no non-trivial constructors etc.

OK, so a struct declaration in extern C would be compatible with the C ABI.

Yes, a pure struct, no constructors, destructors, no virtual member functions etc is required by the standard to be the same layout as C.  The extern "C" just stops the names being mangled so it will link with C.
 


We need to organise the resources first, doing things "to attract more
contributors" have so far failed, I wouldn't bet a change like this on
attracting more support (at least in the time the change is happening).

I think moving to C99 may at least avoid /deterring/ further contributions because of minor issues like C++-style comments and variable declaration after code (or at least in a for statement). I don't know if it makes a big difference, but the fewer unnecessary hurdles we make them jump through the better.

Yes, if those things are allowed.

 


Nick has offered that C++ "might" attract him to contribute more, I "might"
have time at the end of my current contract, unless I get another quickly,
I guess Colomban is out, Matthew? anybody else?

I'm happy to manage/co-ordinate the transition to C++ (at a slowish pace), should we decide we want that.


Cheers
Lex
 

_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel