Issue #13967 has been reported by MSP-Greg (Greg L).

----------------------------------------
Bug #13967: Recent Ripper changes, sexp broken?
https://bugs.ruby-lang.org/issues/13967

* Author: MSP-Greg (Greg L)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.5.0dev (2017-10-03 trunk 60107) [x64-mingw32]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
With some recent changes, (svn 60103 +), Ripper.sexp has changed.  With 60103 +, the second lex shown below no longer has the method name.  Old version shows `[:@op, "<<", [1, 4]]`, new version shows simply `:on_op`



Code:

```ruby
# frozen_string_literal: true

require 'ripper'
require 'pp'

puts "\n#{RUBY_DESCRIPTION}"

puts "\ndef hello(world) world; end"
pp Ripper.sexp('def hello(world) world; end')

puts "\ndef <<(world) world; end"
pp Ripper.sexp('def <<(world) world; end')
```

Output from svn  60107

```ruby
>ruby ripper.rb

ruby 2.5.0dev (2017-10-03 trunk 60107) [x64-mingw32]

def hello(world) world; end
[:program,
 [[:def,
   [:@ident, "hello", [1, 4]],
   [:paren,
    [:params, [[:@ident, "world", [1, 10]]], nil, nil, nil, nil, nil, nil]],
   [:bodystmt, [[:var_ref, [:@ident, "world", [1, 17]]]], nil, nil, nil]]]]

def <<(world) world; end
[:program,
 [[:def,
   :on_op,
   [:paren,
    [:params, [[:@ident, "world", [1, 7]]], nil, nil, nil, nil, nil, nil]],
   [:bodystmt, [[:var_ref, [:@ident, "world", [1, 14]]]], nil, nil, nil]]]]
```

Output from svn 60101:

```ruby
>ruby ripper.rb

ruby 2.5.0dev (2017-10-02 trunk 60101) [x64-mingw32]

def hello(world) world; end
[:program,
 [[:def,
   [:@ident, "hello", [1, 4]],
   [:paren,
    [:params, [[:@ident, "world", [1, 10]]], nil, nil, nil, nil, nil, nil]],
   [:bodystmt, [[:var_ref, [:@ident, "world", [1, 17]]]], nil, nil, nil]]]]

def <<(world) world; end
[:program,
 [[:def,
   [:@op, "<<", [1, 4]],
   [:paren,
    [:params, [[:@ident, "world", [1, 7]]], nil, nil, nil, nil, nil, nil]],
   [:bodystmt, [[:var_ref, [:@ident, "world", [1, 14]]]], nil, nil, nil]]]]
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>