On 29/06/15 15:53, Cedric BAIL wrote: > On Mon, Jun 29, 2015 at 4:18 PM, Tom Hacohen <t...@osg.samsung.com> wrote: >> On 29/06/15 14:32, Cedric BAIL wrote: >>> I think that eo_do_ret and eo_do_super_ret are quite hugly to use and >>> unecessary. I think they should be gone. Their behavior can still be >>> nice to have especially inside efl tree. The reason they exist is that >>> we want to support other compiler than GCC and Clang for application >>> that use EFL. EFL itself can not be compiled by anything else than GCC >>> and Clang. >>> Maybe we should provide #if piece of code that will enable the old >>> non portable behavior of eo_do and eo_do_super for people who are sure >>> that there code should not be running on something else than GCC and >>> Clang. So if someone want the current behavior of eo_do_ret and >>> eo_do_super_ret, but in a nice way, he will just do a #define EFL_GNU >>> (or whatever we decide) before including Eo.h. >>> >>> As we are heading to stabilize Eo API in EFL 1.15, I really would >>> prefer to get rid of this _ret variant. >> >> I don't see why this "ret" variant is a problem. We could keep it there, > > It is a very confusing one. You have to pass the variable you want it > to return stuff in. Once you are at the point of needing a variable, > well, ... why do you still need to use eo_do_ret ? Basically useless.
It's not useless, it's good for things like: if (eo_do_ret(...)) but mostly for things like: if (something) else if (eo_do_ret(...)) or if (something && eo_do_ret(...)) > >> there's no problem with that. It's useful for people want to write >> portable code. For the different eo_do behaviour, we could have a define >> that changes eo_do to the non portable version if we think it's really >> needed. I don't really like the idea, but I don't object. Just offering >> a better way of doing it. :) > > I fail to see the difference with my proposal, but if you are fine > with it, then go. > I'm not fine and not not fine. I wanna see what people say. At the moment, Daniel objects, you are in favour and I'm neutral. -- Tom. ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel