| Age | Commit message (Collapse) | Author |
|
We have received a report of `assert!( !cb.has_dropped_bytes())` in
set_page() failing. The only explanation for this seems to be memory
allocation failing in write_byte(). The if condition implies that
`current_write_pos < dst_pos < mem_size`, which rules out failing to
encode the relative jump. The has_capacity() assert above not tripping
implies that we were in a place in the page where write_byte() did
attempt to write the byte and potentially made a syscall in the process.
Remove the assert, since memory allocation could fail. Also, return
failure if the destination is outside of the code region to detect that
out-of-memory situation quicker.
|
|
Before:
```
Expected a newline or semicolon after the statement
Cannot parse the expression
Expected a newline or semicolon after the statement
Cannot parse the expression
1 describe "webmock tests" do
22 it "body" do
27 query = Cutlass::FunctionQuery.new(
> 28 port: port
> 29 body: body
30 ).call
34 end
35 end
```
After:
```
Expected a newline or semicolon after the statement
Cannot parse the expression
1 describe "webmock tests" do
22 it "body" do
27 query = Cutlass::FunctionQuery.new(
> 28 port: port
> 29 body: body
30 ).call
34 end
35 end
```
https://github.com/ruby/syntax_suggest/commit/becf097e5e
|
|
Removes or updates mentions of Ripper
https://github.com/ruby/syntax_suggest/commit/08aaa3f50a
|
|
https://github.com/ruby/syntax_suggest/commit/7f4176a914
|
|
Prism will be the parser in Ruby 3.3. We need to support 3.0+ so we will have to "dual boot" both parsers.
Todo:
- LexAll to support Prism lex output
- Add tests that exercise both Ripper and prism codepaths on CI
- Handle https://github.com/ruby/prism/issues/1972 in `ripper_errors.rb`
- Update docs to not mention Ripper explicitly
- Consider different/cleaner APIs for separating out Ripper and Prism
https://github.com/ruby/syntax_suggest/commit/a7d6991cc4
|
|
Enable Prism using either --prism
ruby --prism test.rb
or via env var
RUBY_PRISM=1 ruby test.rb
|
|
|
|
(https://github.com/ruby/irb/pull/801)
https://github.com/ruby/irb/commit/a1e431bd83
|
|
(https://github.com/ruby/irb/pull/802)
https://github.com/ruby/irb/commit/173980974b
|
|
(https://github.com/ruby/irb/pull/800)
For apps/libs that test against IRB, it's recommended to set `TERM=dumb`
so they get minimum disruption from Reline's interactive-focus features.
Therefore, we should follow the convention to disable pager when `TERM=dumb`.
https://github.com/ruby/irb/commit/8a3002a39e
|
|
https://github.com/ruby/prism/commit/694d3d7279
|
|
https://github.com/ruby/prism/pull/1949#discussion_r1412568793
https://github.com/ruby/prism/commit/a00f21d10a
|
|
https://github.com/ruby/prism/commit/e91f8dbb99
|
|
https://github.com/ruby/prism/pull/1949#discussion_r1410733341
https://github.com/ruby/prism/commit/27635da821
Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
|
|
https://github.com/ruby/prism/commit/d5453f168e
|
|
Fix https://github.com/ruby/prism/pull/1468
Fix https://github.com/ruby/prism/pull/1575
To decide command-style method calls are allowed, this introduce a new
parameter `accepts_command_call` to `parse_expression` and some
functions.
Although one think this can be solved by operator precedence, it is
hard or impossible, because the precedence of command-style calls is skewed
(e.g. `! bar 1 ` is accepted, but `foo = ! bar 1` is rejected.)
One of the most complex examples is that:
(1) even though `foo = bar = baz 1` and `foo, bar = baz 1` is accepted,
(2) `foo, bar = baz = fuzz 1` is rejected.
To implement this behavior, this introduces a new binding power
`PM_BINDING_POWER_MULTI_ASSIGNMENT` and uses it for distinguish which single
assignments or multi assignments at their RHS.
https://github.com/ruby/prism/commit/d4dd49ca81
|
|
|
|
The original order of events is:
1. Allocate env_body.
2. Fill env_body using elements in src_env, and it performs operations
that can trigger a GC.
3. Create the copied_env using vm_env_new.
However, if GC compaction runs during step 2, then copied_env would not
have yet been created and objects on env_body could move but it would
not be reference updated.
This commit changes the the order to be (1), (3), (2).
|
|
The original order of events is:
1. Allocate new_body.
2. Peform memcpy into new_body.
3. Create new_env using new_body.
However, if GC compaction runs during step 3, then new_env would not
have yet been created and objects on new_body could move but it would
not be reference updated.
This commit changes the order of the last two events.
|
|
Co-authored-by: Burdette Lamar <BurdetteLamar@Yahoo.com>
|
|
|
|
Previously only unknown word `intern` is allowed between a single-word
token before a C method. Now any single-word token, such as `inline`
which is used for `ArithmeticSequence` in enumerator.c, is allowed
instead.
https://github.com/ruby/rdoc/commit/3a214c1dd1
|
|
https://github.com/ruby/rdoc/commit/aaed688a97
|
|
|
|
https://github.com/ruby/rdoc/commit/7cf353a696
|
|
|
|
https://github.com/ruby/tempfile/commit/1450bb4f1c
|
|
https://github.com/ruby/tempfile/commit/e515889412
|
|
|
|
https://github.com/ruby/cgi/commit/929e6264b5
|
|
https://github.com/ruby/rdoc/commit/04f75d8516
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
The change in #1055 might be a breaking change.
So, just simply wrap `token_stream` with `Array`
https://github.com/ruby/rdoc/commit/d8c19d7fa1
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
|
|
|
|
https://github.com/flori/json/commit/a1af7a308c
|
|
gemspec
https://github.com/rubygems/rubygems/commit/e78c0a4a48
|
|
Checking writability is prone to errors. For example:
$ mkdir -p foo/bar
$ chmod -w foo
$ touch foo/bar/baz # succeeds even if foo is not writable
https://github.com/rubygems/rubygems/commit/6056138b6a
|
|
And word them consistently with other specs.
https://github.com/rubygems/rubygems/commit/eee7afefd3
|
|
This spec is ignoring the local `.gem` file, so most stuff is not
needed.
https://github.com/rubygems/rubygems/commit/d52526800f
|
|
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/69cdf9e9d4
|
|
Bundler::CompactIndexClient::Cache#versions
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/4e864a8f2e
|
|
Bundler::YAMLSerializer#load
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/5b324969cd
|
|
|
|
|
|
https://github.com/flori/json/commit/3ef57b5b39
|
|
https://github.com/flori/json/commit/39d6c854a4
|
|
https://github.com/flori/json/commit/11b31210ac
|
|
(https://github.com/flori/json/pull/557)
* RDoc for additions
* Update lib/json/add/time.rb
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
---------
https://github.com/flori/json/commit/3f2efd60f7
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
https://github.com/flori/json/commit/41c2712a3b
|
|
https://github.com/flori/json/commit/936f280f9f
|
|
Fix: https://github.com/flori/json/issues/553
We can never add keyword arguments to `dump` otherwise
existing code using unenclosed hash will break.
https://github.com/flori/json/commit/8e0076a3f2
|