summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-11-14 20:28:36 +0900
committerKOBAYASHI Shuji <[email protected]>2019-11-14 20:28:36 +0900
commit455930fbc4c6eed64dda3ed5441256a9626fe8f4 (patch)
tree4f60f7cc6325585072ef45ad967127dd4e06fee9
parentdb43738397c2236adbdd9750db971106d5335ab6 (diff)
downloadmruby-455930fbc4c6eed64dda3ed5441256a9626fe8f4.tar.gz
mruby-455930fbc4c6eed64dda3ed5441256a9626fe8f4.zip
Fix here document with EOF
#### Before this patch: ``` $ bin/mruby -e 'p <<EOS 1 EOS' -e:4:0: can't find heredoc delimiter "EOS" anywhere before EOF -e:4:0: syntax error, unexpected $end, expecting tHEREDOC_END or tHD_STRING_PART or tHD_STRING_MID ``` #### After this patch (same as Ruby): ``` $ bin/mruby -e 'p <<EOS 1 EOS' "1\n" ```
-rw-r--r--mrbgems/mruby-compiler/core/parse.y7
1 files changed, 1 insertions, 6 deletions
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index 72a2509f1..5a405b8cb 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -4381,12 +4381,7 @@ parse_string(parser_state *p)
}
}
if ((len-1 == hinf->term_len) && (strncmp(s, hinf->term, len-1) == 0)) {
- if (c < 0) {
- p->parsing_heredoc = NULL;
- }
- else {
- return tHEREDOC_END;
- }
+ return tHEREDOC_END;
}
}
if (c < 0) {