[svn] r7751: nemerle/trunk/ncc/hierarchy/MacroClassGen.n

divan svnadmin at nemerle.org
Sat Jul 14 21:38:19 CEST 2007


Log:
Fix 629.

Author: divan
Date: Sat Jul 14 21:38:17 2007
New Revision: 7751

Modified:
   nemerle/trunk/ncc/hierarchy/MacroClassGen.n

Modified: nemerle/trunk/ncc/hierarchy/MacroClassGen.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/MacroClassGen.n	(original)
+++ nemerle/trunk/ncc/hierarchy/MacroClassGen.n	Sat Jul 14 21:38:17 2007
@@ -600,13 +600,25 @@
           }
         ]>);
 
+        def macro_exprs = 
+          if (phase == Nemerle.MacroPhase.None)
+            macro_exprs;
+          else
+            macro_exprs.Map (
+              fun (_) {
+                | PExpr.Sequence (seq) as x => 
+                  PExpr.Sequence (x.loc, seq + [ <[ () ]> ])
+                | x => <[ $x; () ]>
+              }
+            );
+            
         def macro_cases = List.Rev (consolide_cases (macro_patts, macro_exprs, []));
 
         def run_body = 
           if (phase == Nemerle.MacroPhase.None)
             <[ match (parms) { ..$macro_cases } ]>
           else
-            <[ match (parms) { ..$macro_cases }; null ]>;
+            <[ _ = match (parms) { ..$macro_cases }; null ]>;
 
         td.Define (<[ decl:
           public Run ($(Manager.MacrosRegistry.GetImplicitCTXName () : name) : Typer, parms : list[SyntaxElement]) : PExpr



More information about the svn mailing list