Skip to content
Snippets Groups Projects
Commit bdc94446 authored by Mick Jordan's avatar Mick Jordan
Browse files

Merge

parents f7478ec4 cf668df0
Branches
No related tags found
No related merge requests found
......@@ -238,7 +238,7 @@ public final class FunctionDefinitionNode extends RRootNode implements RSyntaxNo
} catch (ReturnException ex) {
returnProfile.enter();
int depth = ex.getDepth();
if (depth != -1 && RArguments.getDepth(vf) != depth) {
if ((depth != -1 && RArguments.getDepth(vf) != depth) || (substituteFrame && this.description == RPromise.CLOSURE_WRAPPER_NAME)) {
throw ex;
} else {
return ex.getResult();
......
......@@ -74,7 +74,7 @@ public class TestS4 extends TestBase {
@Test
public void testAllocation() {
assertEval("{ new(\"numeric\") }");
assertEval(Ignored.Unknown, "{ setClass(\"foo\", representation(j=\"numeric\")); new(\"foo\", j=42) }");
assertEval("{ setClass(\"foo\", representation(j=\"numeric\")); new(\"foo\", j=42) }");
}
@Test
......
......@@ -27,8 +27,8 @@ public class TestBuiltin_eval extends TestBase {
assertEval("{ f <- function(x) { eval(x) }; f(1) }");
assertEval("{ eval(x <- 1); ls() }");
assertEval("{ ne <- new.env(); eval(x <- 1, ne); ls() }");
assertEval(Ignored.Unknown, "{ ne <- new.env(); evalq(x <- 1, ne); ls(ne) }");
assertEval(Ignored.Unknown, "{ ne <- new.env(); evalq(envir=ne, expr=x <- 1); ls(ne) }");
assertEval("{ ne <- new.env(); evalq(x <- 1, ne); ls(ne) }");
assertEval("{ ne <- new.env(); evalq(envir=ne, expr=x <- 1); ls(ne) }");
assertEval("{ e1 <- new.env(); assign(\"x\", 100, e1); e2 <- new.env(parent = e1); evalq(x, e2) }");
assertEval("{ f <- function(z) {z}; e<-as.call(c(expression(f), 7)); eval(e) }");
......
......@@ -220,8 +220,8 @@ public class TestBuiltin_identical extends TestBase {
assertEval("{ identical(quote(if(x) 42), quote(if(x) 42)) }");
assertEval("{ identical(function() 42, function() 42) }");
assertEval(Ignored.Unknown, "{ setClass(\"foo\", representation(j=\"numeric\")); x<-new(\"foo\", j=42); y<-new(\"foo\", j=42); identical(x,y) }");
assertEval(Ignored.Unknown, "{ setClass(\"foo\", representation(j=\"numeric\")); x<-new(\"foo\", j=42); y<-new(\"foo\", j=7); identical(x,y) }");
assertEval("{ setClass(\"foo\", representation(j=\"numeric\")); x<-new(\"foo\", j=42); y<-new(\"foo\", j=42); identical(x,y) }");
assertEval("{ setClass(\"foo\", representation(j=\"numeric\")); x<-new(\"foo\", j=42); y<-new(\"foo\", j=7); identical(x,y) }");
assertEval("{ x<-list(7); y<-list(7); identical(x,y) }");
assertEval("{ x<-list(7); y<-list(42); identical(x,y) }");
......
......@@ -208,6 +208,6 @@ public class TestBuiltin_unclass extends TestBase {
@Test
public void testOther() {
assertEval(Ignored.Unknown, "{ setClass(\"foo\", representation(j=\"numeric\")); x<-new(\"foo\", j=42); unclass(x) }");
assertEval("{ setClass(\"foo\", representation(j=\"numeric\")); x<-new(\"foo\", j=42); unclass(x) }");
}
}
......@@ -236,7 +236,7 @@ public class TestMiscBuiltins extends TestBase {
@Test
public void testLocal() {
assertEval("{ kk <- local({k <- function(x) {x*2}}); kk(8)}");
assertEval(Ignored.Unknown, "{ ne <- new.env(); local(a <- 1, ne); ls(ne) }");
assertEval("{ ne <- new.env(); local(a <- 1, ne); ls(ne) }");
}
@Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment