aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-04 15:43:33 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-07-04 15:58:47 +0900
commitf19e048d244c709e2990ddbb0f986e8b51357bd2 (patch)
tree8c733ee5c0d475a7c6d72230498a0d9fa35a8fa3 /parse.y
parent23c92b6f820f670994026423d4c7b5abcf51eafa (diff)
downloadruby-f19e048d244c709e2990ddbb0f986e8b51357bd2.tar.gz
Do not dispatch a nil token in ripper
As a comment token includes the newline, so delayed newline token just follows it should not be dispatched. [Bug #11485] Co-Authored-By: Jeremy Evans <code@jeremyevans.net>
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y1
1 files changed, 1 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index e6d1b9534c..df773edf6e 100644
--- a/parse.y
+++ b/parse.y
@@ -5340,6 +5340,7 @@ ripper_dispatch_delayed_token(struct parser_params *p, enum yytokentype t)
int saved_line = p->ruby_sourceline;
const char *saved_tokp = p->lex.ptok;
+ if (NIL_P(p->delayed)) return;
p->ruby_sourceline = p->delayed_line;
p->lex.ptok = p->lex.pbeg + p->delayed_col;
add_mark_object(p, yylval_rval = ripper_dispatch1(p, ripper_token2eventid(t), p->delayed));