summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-05YJIT: Simplify code page switching logic, remove an assertAlan Wu
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.
2023-12-05[ruby/syntax_suggest] Remove duplicate error messagesSchneems
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
2023-12-05[ruby/syntax_suggest] Update docs, clean up PRSchneems
Removes or updates mentions of Ripper https://github.com/ruby/syntax_suggest/commit/08aaa3f50a
2023-12-05[ruby/syntax_suggest] Support lexing with PrismSchneems
https://github.com/ruby/syntax_suggest/commit/7f4176a914
2023-12-05[ruby/syntax_suggest] Initial support for the prism parserSchneems
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
2023-12-05allow enabling Prism via flag or env varHParker
Enable Prism using either --prism ruby --prism test.rb or via env var RUBY_PRISM=1 ruby test.rb
2023-12-05Update default gems list at b29ed638833f2abc7ce99b5bbf5cd0 [ci skip]git
2023-12-05[ruby/irb] Bump version to v1.10.1Stan Lo
(https://github.com/ruby/irb/pull/801) https://github.com/ruby/irb/commit/a1e431bd83
2023-12-05[ruby/irb] Disable pager when TERM is not set tooStan Lo
(https://github.com/ruby/irb/pull/802) https://github.com/ruby/irb/commit/173980974b
2023-12-05[ruby/irb] Pager should be disabled when TERM=dumbStan Lo
(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
2023-12-05[ruby/prism] Remove unnecessary matchHaldun Bayhantopcu
https://github.com/ruby/prism/commit/694d3d7279
2023-12-05[ruby/prism] Fix a typoTSUYUSATO Kitsune
https://github.com/ruby/prism/pull/1949#discussion_r1412568793 https://github.com/ruby/prism/commit/a00f21d10a
2023-12-05[ruby/prism] Add test casesTSUYUSATO Kitsune
https://github.com/ruby/prism/commit/e91f8dbb99
2023-12-05[ruby/prism] Fix argument orderTSUYUSATO Kitsune
https://github.com/ruby/prism/pull/1949#discussion_r1410733341 https://github.com/ruby/prism/commit/27635da821 Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
2023-12-05[ruby/prism] Fix some corner casesTSUYUSATO Kitsune
https://github.com/ruby/prism/commit/d5453f168e
2023-12-05[ruby/prism] Fix to parse command-style method calls more correctlyTSUYUSATO Kitsune
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
2023-12-05[PRISM] Implement Retry node.Matt Valentine-House
2023-12-05Make env_copy compaction safePeter Zhu
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).
2023-12-05Make env_clone compaction safePeter Zhu
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.
2023-12-05[DOC] Fix wording in descriptions of Time-like objectsNobuyoshi Nakada
Co-authored-by: Burdette Lamar <BurdetteLamar@Yahoo.com>
2023-12-05[DOC] Mention Time-like objectsNobuyoshi Nakada
2023-12-05[ruby/rdoc] Allow any single-word token upto 2 before C method implementationNobuyoshi Nakada
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
2023-12-05[ruby/rdoc] Reduce matched substring allocationsNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/aaed688a97
2023-12-05Update default gems list at d691b1a14167129cc415abda3792aa [ci skip]git
2023-12-05[ruby/rdoc] Bump up 6.6.1Hiroshi SHIBATA
https://github.com/ruby/rdoc/commit/7cf353a696
2023-12-05Update default gems list at f19de1289b4c20b12efe431d124f69 [ci skip]git
2023-12-05[ruby/tempfile] Bump up 0.2.1Hiroshi SHIBATA
https://github.com/ruby/tempfile/commit/1450bb4f1c
2023-12-05[ruby/tempfile] Alias #to_s to #inspectAkshay Birajdar
https://github.com/ruby/tempfile/commit/e515889412
2023-12-05Update default gems list at e7cc79183879b6449d42050407b3e9 [ci skip]git
2023-12-05[ruby/cgi] Bump up 0.4.1Hiroshi SHIBATA
https://github.com/ruby/cgi/commit/929e6264b5
2023-12-05[ruby/rdoc] Early return when `token_stream` is `nil`Toshimaru
https://github.com/ruby/rdoc/commit/04f75d8516 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-12-05[ruby/rdoc] fix: fix `NoMethodError` when `token_stream` is niltoshimaru
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>
2023-12-05Update default gems list at eecae51502215ae4dab9d99a107963 [ci skip]git
2023-12-05[flori/json] Bump up 2.7.1Hiroshi SHIBATA
https://github.com/flori/json/commit/a1af7a308c
2023-12-05[rubygems/rubygems] Fix crash when duplicating a dev dependency in Gemfile & ↵David Rodríguez
gemspec https://github.com/rubygems/rubygems/commit/e78c0a4a48
2023-12-05[rubygems/rubygems] Instead of checking writability, try to writeDavid Rodríguez
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
2023-12-05[rubygems/rubygems] Set specs as pending at the beginningDavid Rodríguez
And word them consistently with other specs. https://github.com/rubygems/rubygems/commit/eee7afefd3
2023-12-05[rubygems/rubygems] Simplify `--no-user-install` specDavid Rodríguez
This spec is ignoring the local `.gem` file, so most stuff is not needed. https://github.com/rubygems/rubygems/commit/d52526800f
2023-12-05[rubygems/rubygems] Prefer String#split with block in Gem::YAMLSerializer#loadMau Magnaguagno
String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/69cdf9e9d4
2023-12-05[rubygems/rubygems] Prefer String#split with block in ↵Mau Magnaguagno
Bundler::CompactIndexClient::Cache#versions String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/4e864a8f2e
2023-12-05[rubygems/rubygems] Prefer String#split with block in ↵Mau Magnaguagno
Bundler::YAMLSerializer#load String#split supports a block since Ruby 2.6, avoiding intermediate array. https://github.com/rubygems/rubygems/commit/5b324969cd
2023-12-05VERSION file of JSON is removed from upstreamHiroshi SHIBATA
2023-12-05Removed obsoleted version definitionHiroshi SHIBATA
2023-12-05[flori/json] Detect json version from version.rbHiroshi SHIBATA
https://github.com/flori/json/commit/3ef57b5b39
2023-12-05[flori/json] cosmeticsHiroshi SHIBATA
https://github.com/flori/json/commit/39d6c854a4
2023-12-05[flori/json] The modern Ruby uses utf-8 encodings by defaultHiroshi SHIBATA
https://github.com/flori/json/commit/11b31210ac
2023-12-05[flori/json] [DOC] RDoc for additionsBurdette Lamar
(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>
2023-12-05[flori/json] Fix JSON.dump overload combinationtompng
https://github.com/flori/json/commit/41c2712a3b
2023-12-05[flori/json] Overload kwargs in JSON.dumpTakashi Kokubun
https://github.com/flori/json/commit/936f280f9f
2023-12-05[flori/json] JSON.dump: handle unenclosed hashes regressionJean Boussier
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