mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
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/branches/ruby_2_5@67871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
||
|---|---|---|
| .. | ||
| lib | ||
| 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