Sorry to be sending this again, but I think there were some issues with my subscription to nashorn-dev. I have unsubscribed and so hopefully this should show up.
I have the following code: *var f = (function() {* * return function foo() {* * try {* * throw new Error();* * } catch(e) {* * print(e.stack);* * }* * }* *})();* When I call the function, I get the following stacktrace as expected (mostly; I was expecting *foo* instead of *f$foo*). *Error* * at f$foo (<shell>:1)* * at <program> (<shell>:1)* However, if I dynamically construct the function as follows: *var f = new Function([], "return function foo() { try { throw new Error(); } catch(e) { print(e.stack); } }")()* I get: *Error* * at <anonymous> (<function>:2)* * at <program> (<shell>:1)* Is there a reason for this discrepancy? Isn't the second version effectively the same as the first? Also, why is it *f$foo* instead of *foo* in the first case? I am running jdk8u92. Thanks! -- Ruin untold; And thine own sadness, Sing in the grass, When eve has forgot, that no more hear common things that gleam and pass; But seek alone to lip, sad Rose of love and ruin untold; And thine own mother Can know it as I know More than another What makes your own sadness, Set in her eyes. map{@n=split//;$j.=$n[0]x$n[1]}split/:/,"01:11:02". ":11:01:11:02:13:01:11:01:11:01:13:02:12:01:13:01". ":11:04:11:06:12:04:11:01:12:01:13:02:12:01:14:01". ":13:01:11:03:12:01:11:04:12:02:11:01:11:01:13:02". ":11:03:11:06:11:01:11:05:12:02:11:01:11:01:13:02". ":11:02:12:01:12:04:11:06:12:01:11:04:12:04:11:01". ":12:03:12:01:12:01:11:01:12:01:12:02:11:01:11:01". ":13:02:11:01:02:11:01:12:02";map{print chr unpack" i",pack"B32",$_}$j=~m/.{8}/g