fix epp case for:
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 10 Jun 2011 05:50:45 +0000 (05:50 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 10 Jun 2011 05:50:45 +0000 (05:50 +0000)
#define AA(x) x
#define BB(a,b) \
   AA(a+b)
BB(1,1)

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@60173 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/epp/cpplib.c

index 35759ac..b6bea8c 100644 (file)
@@ -4800,17 +4800,23 @@ cpp_get_token(cpp_reader * pfile)
             if (CPP_BUFFER(pfile)->has_escapes)
               {
                  c = GETC();
-                 if (c == '-')
+                  // fix macro expansions starting with - losing the -
+                 if (c == '-')
                    {
-#if 1 // fix macro expansions starting with - losing the -
                        CPP_PUTS(pfile, "-", 1);
                       return CPP_OTHER;
-#else                       
-                      if (pfile->output_escapes)
-                         CPP_PUTS(pfile, "@-", 2);
-                      parse_name(pfile, GETC());
-                      return CPP_NAME;
-#endif                       
+                   }
+                  // fix macro expansions starting with - losing the +
+                 else if (c == '+')
+                   {
+                       CPP_PUTS(pfile, "+", 1);
+                      return CPP_OTHER;
+                   }
+                  // fix macro expansions starting with - losing the .
+                 else if (c == '.')
+                   {
+                       CPP_PUTS(pfile, ".", 1);
+                      return CPP_OTHER;
                    }
                  else if (is_space[c])
                    {