From 7b34c2f81aa300aa943479077c7c19c472b0c71c Mon Sep 17 00:00:00 2001 From: keiju Date: Thu, 27 Dec 2012 14:48:42 +0000 Subject: * lib/irb/ruby-lex.rb: make lex_state to EXPR_END when next token is an operator after SYMBEG [Bug #6378]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/irb/ruby-lex.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/irb') diff --git a/lib/irb/ruby-lex.rb b/lib/irb/ruby-lex.rb index 19b7b9198b..4a700b3324 100644 --- a/lib/irb/ruby-lex.rb +++ b/lib/irb/ruby-lex.rb @@ -54,6 +54,7 @@ class RubyLex @lex_state = EXPR_BEG @space_seen = false @here_header = false + @post_symbeg = false @continue = false @line = "" @@ -218,6 +219,8 @@ class RubyLex @here_header = false @continue = false + @post_symbeg = false + prompt @line = "" @@ -286,6 +289,8 @@ class RubyLex begin tk = @OP.match(self) @space_seen = tk.kind_of?(TkSPACE) + @lex_state = EXPR_END if @post_symbeg && tk.kind_of?(TkOp) + @post_symbeg = tk.kind_of?(TkSYMBEG) rescue SyntaxError raise if @exception_on_syntax_error tk = TkError.new(@seek, @line_no, @char_no) @@ -542,7 +547,7 @@ class RubyLex @lex_state = EXPR_BEG Token(TkCOLON) else - @lex_state = EXPR_FNAME; + @lex_state = EXPR_FNAME Token(TkSYMBEG) end end -- cgit v1.2.3