<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On 1 September 2013 00:05, Nick Treleaven <span dir="ltr"><<a href="mailto:nick.treleaven@btinternet.com" target="_blank">nick.treleaven@btinternet.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 29/08/2013 06:47, Lex Trotman wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On the topic of exceptions, remember many STL operations and "new" can<br>
throw.  Of course only throwing on uncorrectable errors like out of memory<br>
is fine, it just exits the application.  Thats what will happen to a throw<br>
from Scintilla in current Geany, its not something that will be introduced.<br>
  But as resource management moves to RAII, exceptions can be caught and<br>
produce a more user friendly exit such as dumping buffers first.<br>
</blockquote>
<br></div>
OK. We might not want to use -fno-exceptions then, but maybe still avoid throwing ourselves.</blockquote><div><br></div><div>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 :)</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On using gtkmm, personally I think it is *way* better than the C interface<br>
to GTK, but I don't know if it can be mixed with C GTK easily, and changing<br>
*everything at once* would be a big job.<br>
</blockquote>
<br></div>
I don't know either, but gtkmm is much better than GObject boilerplate. Although I don't think we need custom objects that often.</blockquote><div><br></div><div>Funnily enough, since subclassing widgets is trivial with gtkmm, they start to be used more often in my experience :)</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Not sure why the RTTI affects the ABI, things visible in the ABI must be<br>
POD to maintain C compatibility, there are much stricter limitations to<br>
maintaining POD, like no non-trivial constructors etc.<br>
</blockquote>
<br></div>
OK, so a struct declaration in extern C would be compatible with the C ABI.</blockquote><div><br></div><div>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.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We need to organise the resources first, doing things "to attract more<br>
contributors" have so far failed, I wouldn't bet a change like this on<br>
attracting more support (at least in the time the change is happening).<br>
</blockquote>
<br></div>
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.</blockquote>
<div><br></div><div>Yes, if those things are allowed.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Nick has offered that C++ "might" attract him to contribute more, I "might"<br>
have time at the end of my current contract, unless I get another quickly,<br>
I guess Colomban is out, Matthew? anybody else?<br>
</blockquote>
<br></div>
I'm happy to manage/co-ordinate the transition to C++ (at a slowish pace), should we decide we want that.</blockquote><div><br></div><div><br></div><div>Cheers</div><div>Lex</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.geany.org" target="_blank">Devel@lists.geany.org</a><br>
<a href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel" target="_blank">https://lists.geany.org/cgi-<u></u>bin/mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br></div></div>