diff --git a/ChangeLog b/ChangeLog index 432996cab1..093ebec3e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Dec 18 10:24:44 2015 SHIBATA Hiroshi + + * lib/irb/ruby-lex.rb: fixed parse error for striped heredocument syntax. + [fix GH-1127] Patch by @koic + Fri Dec 18 09:44:47 2015 SHIBATA Hiroshi * ext/pty/pty.c: fix double words typo. diff --git a/lib/irb/ruby-lex.rb b/lib/irb/ruby-lex.rb index b1138cd77d..879c45c565 100644 --- a/lib/irb/ruby-lex.rb +++ b/lib/irb/ruby-lex.rb @@ -406,7 +406,7 @@ class RubyLex if @lex_state != EXPR_END && @lex_state != EXPR_CLASS && (@lex_state != EXPR_ARG || @space_seen) c = peek(0) - if /\S/ =~ c && (/["'`]/ =~ c || /\w/ =~ c || c == "-") + if /\S/ =~ c && (/["'`]/ =~ c || /\w/ =~ c || c == "-" || c == "~") tk = identify_here_document end end @@ -855,7 +855,7 @@ class RubyLex def identify_here_document ch = getc - if ch == "-" + if ch == "-" || ch == "~" ch = getc indent = true end