Fix unexpected behavior with break

```
def yie
  yield
end

def bre
  yie {
    1+1
    break
  }
end

p bre #=> display 2, but should be nil
```
This commit is contained in:
ksss
2016-09-26 12:17:46 +09:00
parent 7a382e8bdf
commit b1fa180ea3
+3
View File
@@ -2852,6 +2852,9 @@ loop_break(codegen_scope *s, node *tree)
loop->pc3 = tmp;
}
else {
if (!tree) {
genop(s, MKOP_A(OP_LOADNIL, cursp()));
}
genop(s, MKOP_AB(OP_RETURN, cursp(), OP_R_BREAK));
}
}