From: nov@... Date: 2020-11-27T10:39:36+00:00 Subject: [ruby-core:101123] [Ruby master Bug#17345] ripper: nothing raised when assigning to keyword variables Issue #17345 has been updated by no6v (Nobuhiro IMAI). Thanks for the quick fix, however `*_error` parser events except `parse_error` seem not to set an error message properly. ``` $ ruby -rripper -ve 'Ripper.lex("nil=1", raise_errors: true)' ruby 3.0.0dev (2020-11-26T11:14:34Z master f5ca3ff4db) [x86_64-linux] /home/nov/.rvm/rubies/ruby-head/lib/ruby/3.0.0/ripper/lexer.rb:134:in `parse': # ;# ;# (SyntaxError) ``` ---------------------------------------- Bug #17345: ripper: nothing raised when assigning to keyword variables https://bugs.ruby-lang.org/issues/17345#change-88802 * Author: no6v (Nobuhiro IMAI) * Status: Closed * Priority: Normal * ruby -v: ruby 3.0.0dev (2020-11-25T04:36:39Z master 00f046ef57) [x86_64-linux] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- ```ruby require "ripper" Ripper.tokenize("retry=1", raise_errors: true) # => SyntaxError (syntax error, unexpected '=', expecting end-of-input) Ripper.tokenize("nil=1", raise_errors: true) # => ["nil", "=", "1"] lexer = Ripper::Lexer.new("nil=1") lexer.tokenize # => ["nil", "=", "1"] lexer.error? # => true lexer.errors # => [] ``` Lexer recognizes there was an error, but nothing is set to `errors`. -- https://bugs.ruby-lang.org/ Unsubscribe: