| Age | Commit message (Collapse) | Author |
|
[Bug #20649] Allow `nil` as 2nd argument of `assign_error`
Fallback to the last token element in that case, for the backward
compatibilities.
|
|
[Bug #20521] ripper: Clean up strterm
|
|
[Bug #20517] Make a multibyte character one token at meta escape
|
|
|
|
|
|
|
|
|
|
Generic names like Node and NodeList should be namespaced properly.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8293
|
|
[Bug #19836]
The parser does not free the chain of `struct vtable`, which causes
memory leaks.
The following script reproduces this issue:
```
10.times do
100_000.times do
Ripper.parse("-> {")
end
puts `ps -o rss= -p #{$$}`
end
```
Notes:
Merged: https://github.com/ruby/ruby/pull/8192
|
|
[Bug #19835]
The parser does not free the `tbl` of the `struct vtable` when there are
leftover `lvtbl` in the parser. This causes a memory leak.
The following script reproduces this issue:
```
10.times do
100_000.times do
Ripper.parse("class Foo")
end
puts `ps -o rss= -p #{$$}`
end
```
Notes:
Merged: https://github.com/ruby/ruby/pull/8192
|
|
assert_separately adds --disable=gems so we don't need to add
--disable-gems when calling assert_separately.
Notes:
Merged: https://github.com/ruby/ruby/pull/8162
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8144
|
|
In `rb_ruby_ripper_parser_allocate`, `r->p` is NULL between creating
`self` and `parser_params` assignment. As GC can happen there, the
typed-data functions for it need to consider the case.
Notes:
Merged: https://github.com/ruby/ruby/pull/8085
|
|
The test times out on some platforms, so increase the timeout.
Notes:
Merged: https://github.com/ruby/ruby/pull/7992
|
|
The following script leaks memory in Ripper:
```ruby
require "ripper"
20.times do
100_000.times do
Ripper.parse("")
end
puts `ps -o rss= -p #{$$}`
end
```
Notes:
Merged: https://github.com/ruby/ruby/pull/7985
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7963
|
|
So that newlines across a here-doc terminator will be separated
tokens.
Cf. https://github.com/ruby/irb/pull/558
Notes:
Merged: https://github.com/ruby/ruby/pull/7675
Merged-By: nobu <nobu@ruby-lang.org>
|
|
After 6c0925ba7017efde6091e2ec4f1a6be268166696, it was impossible
to distinguish between the presence or absence of `*`.
# Before the commit
Ripper.sexp('0 in []')[1][0][2][1] #=> [:aryptn, nil, nil, nil, nil]
Ripper.sexp('0 in [*]')[1][0][2][1] #=> [:aryptn, nil, nil, [:var_field, nil], nil]
# After the commit
Ripper.sexp('0 in []')[1][0][2][1] #=> [:aryptn, nil, nil, nil, nil]
Ripper.sexp('0 in [*]')[1][0][2][1] #=> [:aryptn, nil, nil, nil, nil]
This commit reverts it.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7602
|
|
|
|
It should also check for duplicate names.
|
|
Although this is of course invalid as Ruby code, allow to just parse
and tokenize.
Notes:
Merged: https://github.com/ruby/ruby/pull/7229
|
|
When rewinding looking ahead after newline token, also reset the last
line string, the pointers to it, and the location, not only the line
number.
Notes:
Merged: https://github.com/ruby/ruby/pull/7054
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7054
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6292
|
|
`Ripper::Lexer#parse` re-parses the source code with syntax errors
when `raise_errors: false`.
Co-Authored-By: tompng <tomoyapenguin@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/6233
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6016
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5264
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4742
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4516
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4516
|
|
This commit is based on the patch by @nobu.
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4083
|
|
refs: 733ed1e184
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3977
|
|
sorting alias target by event arity, and setup suitable `Elem` for error.
Notes:
Merged: https://github.com/ruby/ruby/pull/3936
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3909
|
|
|
|
|
|
yet another implements [Feature #17276]
|
|
Implements [Feature #17276]
Notes:
Merged: https://github.com/ruby/ruby/pull/3774
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
|
|
[Feature #17260] One-line pattern matching using tASSOC
R-assignment is rejected instead.
Notes:
Merged-By: nobu <nobu@ruby-lang.org>
|
|
This is a weird use case of Ripper.lex which I'm not sure is supposed to
be maintained, so I'm adding this test so that we can easily notice such
changes.
If we change the behavior, this will break the behavior of hamlit.gem v1
and code like https://github.com/haml/haml/pull/1043.
|
|
Also unwrap NODE_RIPPER to check the method name.
Notes:
Merged: https://github.com/ruby/ruby/pull/3649
|