1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/ripper
k0kubun 67bb95936d Fix FrozenError on Ripper.slice
Currently `Ripper.slice` raises a FrozenError

```ruby
require 'ripper'
p Ripper.slice('foo', 'ident')
```

```
/path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:193:in `concat': can't modify frozen String (FrozenError)
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:193:in `block in compile'
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:190:in `scan'
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:190:in `compile'
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:169:in `initialize'
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:151:in `new'
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:151:in `token_match'
	from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:144:in `slice'
	from /tmp/tmp.kb4cnhvum2/test.rb:2:in `<main>'
```

This patch will fix the problem.

[Fix GH-1837]

From: Masataka Pocke Kuwabara <kuwabara@pocke.me>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-13 12:56:04 +00:00
..
lib Fix FrozenError on Ripper.slice 2018-03-13 12:56:04 +00:00
tools
depend
eventids2.c
extconf.rb
README

Ripper README
=============

  Ripper is a Ruby script parser.  You can get information
  by event-based style from the parser.

  !! WARNING !!

  Ripper is still early-alpha version.
  I never assure any kind of backward compatibility.

Requirements
------------

  * ruby 1.9 (support CVS HEAD only)
  * bison 1.28 or later (Other yaccs do not work)

Usage
-----

  See test/ripper/* and sample/ripper/*.

License
-------

  Ruby License.

                                                Minero Aoki
                                        aamine@loveruby.net
                                      http://i.loveruby.net