summary refs log tree commit diff stats
path: root/compiler/evals.nim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/evals.nim')
-rwxr-xr-xcompiler/evals.nim9
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/evals.nim b/compiler/evals.nim
index 92726ae31..a4d4cdd9e 100755
--- a/compiler/evals.nim
+++ b/compiler/evals.nim
@@ -162,16 +162,17 @@ proc evalWhile(c: PEvalContext, n: PNode): PNode =
       stackTrace(c, n, errTooManyIterations)
       break 
 
-proc evalBlock(c: PEvalContext, n: PNode): PNode = 
+proc evalBlock(c: PEvalContext, n: PNode): PNode =
   result = evalAux(c, n.sons[1], {})
-  if result.kind == nkBreakStmt: 
+  if result.kind == nkBreakStmt:
     if result.sons[0] != nil: 
       assert(result.sons[0].kind == nkSym)
       if n.sons[0].kind != nkEmpty: 
         assert(n.sons[0].kind == nkSym)
         if result.sons[0].sym.id == n.sons[0].sym.id: result = emptyNode
-    else: 
-      result = emptyNode      # consume ``break`` token
+    # blocks can only be left with an explicit label now!
+    #else: 
+    #  result = emptyNode      # consume ``break`` token
   
 proc evalFinally(c: PEvalContext, n, exc: PNode): PNode = 
   var finallyNode = lastSon(n)