On 28/07/11 23:52, Andreas Volz wrote: > Am Thu, 28 Jul 2011 20:17:03 +0900 schrieb Carsten Haitzler (The > Rasterman): > > I found it while playing with the clock theme > (trunk/THEMES/darkness/modules/clock.edc) > > See here my changes as minimal example: > > #if PROFILE == HIGH > x > buf[0] = 0; > if (v < 10) {snprintf(buf, 10, "0%i", v);} > else {snprintf(buf, 10, "%i", v);} > set_state(PART:"seconds", buf, 0.0); > #endif > > > This #if ends always in "true". You see it because edje fails (the "x") > not interesting if -DPROFILE=HIGH or anything else or nothing. > > #if PROFILE != HIGH > x > buf[0] = 0; > if (v < 10) {snprintf(buf, 10, "0%i", v);} > else {snprintf(buf, 10, "%i", v);} > set_state(PART:"seconds", buf, 0.0); > #endif > > This #if ends always in "false". Also not depending on -DPROFILE. > > These are at least my experiments.
Should that even work? I tried with "cpp" and it doesn't work unless I #define HIGH 24324234 (some number). and then doing -DPROFILE=HIGH works as expected. To me, that's the expected result, to be honest, I was surprised cpp didn't fail with #if PROFILE == HIGH without defining what they expand to, because they should just expand to: #if == which is bad. Anyhow, I think it's better to just do: -DPROFILE_HIGH and check if that's defined using #ifdef or #if defined(). Maybe I'm missing something, dunno, but from what I know, and from what I've just tested with both epp and cpp, you are just using macros wrong. -- Tom. ------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel