On 01/03/16 09:05, Tom Hacohen wrote: > Hey, > > The Eo syntax is going to be changing once more, and this time, I really > think/hope it'll be the last time. We plan on stabilizing Eo and all of > the functions on top of it in the next few months, so that doesn't leave > us much more time to change it again. :) > > These changes will remove the need for the eo_do family of functions. > Functions will now look like normal C functions (which they are). There > are many benefits to that, and we have many cool new ideas. > > For more info: https://phab.enlightenment.org/w/eo/ > > I'm sending this email as an head's up, as I'll be starting to work on > migrating to the new Eo syntax (and implementing it) today. Felipe and I > have actually already started (needed to for the PoC), but I plan on > pushing my changes to master soon. > > If you have any issues/suggestions/comments with the proposal, please > let me know, either in pm, irc or just here. >
Changes are in! I still haven't migrated eo_add to the new syntax (it uses a non portable gcc extension in the meanwhile), but otherwise everything is in. Took me *much* less time than I thought it would, so yay. :P I decided to push it now instead of letting it rest in my branch for a while because literally every hour that passed introduced more merge conflicts for me, so the benefits from stabilising it more in my branch were diminished by the new conflicts and issues that could arise. If you have an application that uses the Eo api, you can use my script https://devs.enlightenment.org/~tasn/migrate_eo.py to migrate your code. When using the script you should keep two things in mind: 1. You are only allowed to run it *once* per source code, because the changes to eo_add() would otherwise accumulate and your code will be wrong. If you need to correct something you've done wrong, reset the code to the previous state and run the script again on the original code. 2. The migration script is not perfect. In particular it can't deal with some corner cases like: eo_do(obj, a_set(1), /* b_set(2), g_set(4), */ c_set(2)); Or abominations like: eo_do(obj, if (a_get()) do_something()); So please be aware of that and *manually* review your changes after the script has run. If your code does have these cases, I recommend you either get rid of them, or manually migrate that code before running the script (remove the relevant eo_do). Follow the wiki page mentioned in the previous email for more information about Eo and what else needs changing. Please let me know about any regressions (there shouldn't be any) or any issues you may face. -- Tom. ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel