Revising the document is in the works. Cheers,
-- Jim On Feb 23, 2015, at 2:50 PM, Anthony Vanelverdinghe <[email protected]> wrote: > Hi > > I see the bug has been resolved as not an issue. However, in my opinion this > behavior is sufficiently unintuitive that it should at least be documented: > - as far as I know, appending commands after the starting "<<EOD" is not > possible in a bash script (already the fact that in Nashorn the "<<EOD" is > actually embedded in the statement, as in "print(<<EOD);", is pretty unique, > I believe) > - moreover, users that are unaware of this behavior, may start writing text > on the same line & will get errors at runtime. For example: > > print(<<EOD); This is line 1. > And this is line 2. > EOD > > results in: > > test.js:3:-33 Expected ; but found is > print(<<EOD); This is line 1. > ^ > > and: > > print(<<EOD); This > And this is line 2. > EOD > > results in: > > And this is line 2. > test.js:3 ReferenceError: "This" is not defined > > (also note that the error refers to line 3 in both cases, even though line 3 > just contains the closing delimiter) > > So in conclusion, I would like to ask for this bug to be reopened, with the > goal to specify this behavior in the appropriate section of the Nashorn user > guide [1]. Thanks in advance for your consideration. > > Kind regards, Anthony > > [1] > http://docs.oracle.com/javase/8/docs/technotes/guides/scripting/nashorn/shell.html#sthref26 > > > On 23/02/2015 4:46, A. Sundararajan wrote: >> Hi, >> >> It appears to be a bug to me. Thanks for reporting. I filed >> https://bugs.openjdk.java.net/browse/JDK-8073612 >> >> Thanks, >> -Sundar >> >> On Sunday 22 February 2015 04:42 PM, Anthony Vanelverdinghe wrote: >>> Hi >>> >>> When using a here document, statements that are on the same line as the >>> initial <<EOD are interpreted as JavaScript & executed after the "heredoc >>> statement". Is this a bug or a feature? >>> >>> For example: >>> >>> var a = 2; >>> print(<<EOD); a = 3; print("here") >>> a++; >>> ${a} >>> EOD >>> print(a); >>> >>> prints >>> >>> a++; >>> 2 >>> here >>> 3 >>> >>> Kind regards, Anthony >> >> >
