diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-11-14 20:28:36 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-11-14 20:28:36 +0900 |
| commit | 455930fbc4c6eed64dda3ed5441256a9626fe8f4 (patch) | |
| tree | 4f60f7cc6325585072ef45ad967127dd4e06fee9 | |
| parent | db43738397c2236adbdd9750db971106d5335ab6 (diff) | |
| download | mruby-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.y | 7 |
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) { |
