aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ruby/digest] Suppress implicit cast down warningsNobuyoshi Nakada2023-11-091-1/+2
| | | | https://github.com/ruby/digest/commit/2f3505bf3f
* [Bug #18286] Show checksum of builtin_binary.inc for confirmationNobuyoshi Nakada2023-11-091-0/+1
|
* [Bug #18286] Make builtin binary if sharable in universal binariesNobuyoshi Nakada2023-11-095-6/+31
|
* Finer granularity IBF dependendencyNobuyoshi Nakada2023-11-091-3/+17
| | | | | It depends on only `VALUE` definition. Check for endianness and word size instead of the platform name.
* Use `uint32_t` instead of `unsigned int` for the exact sizeNobuyoshi Nakada2023-11-091-7/+7
|
* Revert "Disable iseq-dumped builtin module for universal x86_64/arm64 binaries"Nobuyoshi Nakada2023-11-095-6/+3
| | | | This reverts commit 1d5598fe0d3470e7cab06a756d40a9221fcd501b.
* Do not allow test-all to load the bundled gemsYusuke Endoh2023-11-091-8/+1
| | | | | | This change prevents default gems from inadvertently depending on bundled gems. This issue was discovered by being able to `require "rbs"` from test/irb.
* Disable iseq-dumped builtin module for universal x86_64/arm64 binariesBen Hamilton2023-11-095-3/+6
| | | | | | | | | | | | | | | | | | | | | | During the build, Ruby has special logic to serialize its own builtin module to disk using the binary iseq format during the build (I assume for speed so it doesn't have to parse builtin every time it starts up). However, since iseq format is architecture-specific, when building on x86_64 for universal x86_64 + arm64, the serialized builtin module is written with the x86_64 architecture of the build machine, which fails this check whenever ruby imports the builtin module on arm64: https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/compile.c#L13243 Thankfully, there's logic to disable this feature for cross-compiled builds: https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/builtin.c#L6 This disables the iseq logic for universal builds as well. Fixes [Bug #18286]
* [rubygems/rubygems] Make the `test_build_extensions` more predictableVít Ondruch2023-11-091-24/+27
| | | | | | | | | | The `test_build_extensions` make assumptions about return value of `Gem.install_extension_in_lib`. Givent that RubyGems allow to override this method via `defaults.rb` / `operating_system.rb`, this test might not always pass. This change makes sure that the `Gem.install_extension_in_lib` is predictable. https://github.com/rubygems/rubygems/commit/e83d0a5da8
* [rubygems/rubygems] Use `extension_in_lib` helper instead of custom codeVít Ondruch2023-11-092-38/+33
| | | | | | | `extension_in_lib` helper improves readibility and it also uses `stub` on on background instead of custom code. https://github.com/rubygems/rubygems/commit/aacc8ac22c
* [rubygems/rubygems] Fix daily Bundler CIDavid Rodríguez2023-11-091-2/+2
| | | | | | | | | | Daily Bundler CI against ruby-head is failing because ruby-head now uses bigdecimal 3.1.5, so that gets locked by this spec. This change should make the test stable until bigdecimal 99.1.5 is bundled with Ruby :) https://github.com/rubygems/rubygems/commit/830326041f
* [rubygems/rubygems] Explicitly pass install-dir when installing system gems ↵David Rodríguez2023-11-091-8/+8
| | | | | | | | | | | | in Bundler specs We want to avoid any "user home" fallbacks, since that won't work with Bundler. So if there's a permissions issue during specs, it's best to raise immediately. https://github.com/rubygems/rubygems/commit/767a3e7533
* [rubygems/rubygems] No need to let this command failDavid Rodríguez2023-11-091-1/+1
| | | | | | This command is not expected to fail. If it fails, we can stop the test. https://github.com/rubygems/rubygems/commit/2511a5b093
* [rubygems/rubygems] Remove unused logicDavid Rodríguez2023-11-091-3/+1
| | | | https://github.com/rubygems/rubygems/commit/2eb2860e9e
* [PRISM] Always lookup idERROR_INFO consistently.Matt Valentine-House2023-11-081-9/+1
| | | | | | | | We know where it is in the iseq local table, because we forced it using `iseq_set_exception_local_table` when compiling the BEGIN_NODE, so we can always look it up from the same place. Co-Authored-By Peter Zhu <peter@peterzhu.ca>
* [ruby/prism] Provide Parameters#signature for mirroring Method#parametersKevin Newton2023-11-082-3/+140
| | | | https://github.com/ruby/prism/commit/90b3245528
* [PRISM] Add tests for OptionalKeywordParameterNodeJemma Issroff2023-11-082-0/+23
| | | | | | This commit adds tests for the compilation of the OptionalKeywordParameterNode, and fixes cases on the RequiredKeywordParameterNode
* [PRISM] Added tests for ForwardingParameterNode, KeywordRestParameterNodeJemma Issroff2023-11-082-2/+16
|
* [PRISM] Add tests for several parameters nodesJemma Issroff2023-11-082-13/+30
| | | | | This commit adds tests for BlockParameterNode, RequiredParameterNode, RequiredKeywordParameterNode and RestParameterNode
* Add foo.gemspec for failing testPeter Zhu2023-11-081-0/+13
| | | | | | | foo.gemspec was added in rubygems/rubygems@8d699ed096960ed9a6636bd27143952ff5f8addc but was not sync'd in commit b4bf8c9ee2d716adf5fc08e67c4b26d6a8f929c2. This causes the spec to fail.
* [ruby/tempfile] Make Tempfile#open return the underlying FileJeremy Evans2023-11-082-0/+9
| | | | | | Add test for this behavior. https://github.com/ruby/tempfile/commit/0ca31a6b8d
* YJIT: refactor format_number (#8869)Mau Magnaguagno2023-11-081-5/+4
| | | Replace enumerators with simpler and faster version that only inserts commas before '.' or end of integer string.
* YJIT: Disable code GC (#8865)Takashi Kokubun2023-11-085-12/+59
| | | | Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
* * remove trailing spaces. [ci skip]git2023-11-081-1/+1
|
* [ruby/tempfile] Fix Tempfile#{dup,clone}Jeremy Evans2023-11-082-18/+70
| | | | | | | | | | | | | | | | | | | | Instead of storing the delegate in @tmpfile, use __getobj__, since delegate library already handles dup/clone for that. Copy the unlinked, mode, and opts instance variables to the returned object when using dup/clone. Split the close/unlink finalizer into two finalizers. The close finalizer always closes when any Tempfile instance is GCed, since each Tempfile instance uses a separate file descriptor. The unlink finalizer unlinks only when the original and all duped/cloned Tempfiles are GCed, since all share the same path. For Tempfile#open, undefine the close finalizer after closing the current file, the redefine the close finalizer with the new file. Fixes [Bug #19441] https://github.com/ruby/tempfile/commit/dafabf9c7b
* [DOC] RDoc for module Process (#8847)Burdette Lamar2023-11-081-8/+61
|
* Improve error and memory handlingAdam Hess2023-11-082-5/+28
| | | | | | Apply Nobu's suggestions which improve style, memory handling and error correction. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* fix regex from regex memory corruptionAdam Hess2023-11-081-2/+26
| | | | before this change, creating a regex from a regex with a named capture, Regexp.new(/(?<name>)/), causes memory to be shared between the two named capture groups which can cause a segfault if the original is GCed.
* [rubygems/rubygems] Ensure we are using the same extension dirHan Young2023-11-082-1/+12
| | | | | | | | Since #6945 the extension dir changed to Gem::BasicSpecification's implementation, we didn't hook that in rubygems_ext.rb. So for universal rubies, we ended up using the universal platform name when installing, but arch replaced platform name when checking. This lead to native extensions can never be correctly installed on universal rubies. Hook Gem::BasicSpecifications so the behavior is consistent on installing and checking. https://github.com/rubygems/rubygems/commit/8d699ed096
* TypedData_Make_Struct0: cast RTYPEDDATA_GET_DATA return pointerJean Boussier2023-11-081-1/+1
| | | | | | | | | | | | | Fixes: ``` /usr/local/ruby/include/ruby-3.3.0+0/ruby/internal/core/rtypeddata.h:467:33: error: invalid conversion from ‘void*’ to ‘parser_t*’ [-fpermissive] 467 | (sval) = RTYPEDDATA_GET_DATA(result); \ | ~~~~~~~~~~~~~~~~~~~^~~~~~~~ | | | void* ```
* Refactor rb_shape_transition_shape_capa outJean Boussier2023-11-089-110/+59
| | | | | | | | | | | | | | | | Right now the `rb_shape_get_next` shape caller need to first check if there is capacity left, and if not call `rb_shape_transition_shape_capa` before it can call `rb_shape_get_next`. And on each of these it needs to checks if we got a TOO_COMPLEX back. All this logic is duplicated in the interpreter, YJIT and RJIT. Instead we can have `rb_shape_get_next` do the capacity transition when needed. The caller can compare the old and new shapes capacity to know if resizing is needed. It also can check for TOO_COMPLEX only once.
* Update default gems list at 8cd6c65af13ce1ce5ec1b9bd7b8a12 [ci skip]git2023-11-081-1/+1
|
* [ruby/stringio] Development of 3.1.0 started.Sutou Kouhei2023-11-081-1/+1
| | | | https://github.com/ruby/stringio/commit/a2f8ef1a6a
* [ruby/irb] Skip TypeCompletion test in ruby citomoya ishida2023-11-085-0/+9
| | | | | | (https://github.com/ruby/irb/pull/748) https://github.com/ruby/irb/commit/d394af0bbc
* Prevent a warning: assigned but unused variable - raised_exceptionYusuke Endoh2023-11-081-1/+1
|
* Export functions used for builtinsNobuyoshi Nakada2023-11-081-2/+2
|
* Bump ruby/setup-ruby from 1.159.0 to 1.160.0dependabot[bot]2023-11-074-4/+4
| | | | | | | | | | | | | | Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.159.0 to 1.160.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/54a18e26dbbb1eabc604f317ade9a5788dddef81...036ef458ddccddb148a2b9fb67e95a22fdbf728b) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* [ruby/irb] Type based completion using Prism and RBStomoya ishida2023-11-0818-32/+3446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://github.com/ruby/irb/pull/708) * Add completor using prism and rbs * Add TypeCompletion test * Switchable completors: RegexpCompletor and TypeCompletion::Completor * Add completion info to irb_info * Complete reserved words * Fix [*] (*) {**} and prism's change of KeywordParameterNode * Fix require, frozen_string_literal * Drop prism<=0.16.0 support * Add Completor.last_completion_error for debug report * Retrieve `self` and `Module.nesting` in more safe way * Support BasicObject * Handle lvar and ivar get exception correctly * Skip ivar reference test of non-self object in ruby < 3.2 * BaseScope to RootScope, move method objects constant under Methods * Remove unused Splat struct * Drop deeply nested array/hash type calculation from actual object. Now, calculation depth is 1 * Refactor loading rbs in test, change preload_in_thread not to cache Thread object * Use new option added in prism 0.17.1 to parse code with localvars * Add Prism version check and warn when :type completor cannot be enabled * build_type_completor should skip truffleruby (because endless method definition is not supported) https://github.com/ruby/irb/commit/1048c7ed7a
* [ruby/stringio] Add missing row separator encoding conversionSutou Kouhei2023-11-082-22/+49
| | | | | | | | | | | | | (https://github.com/ruby/stringio/pull/69) The conversion logic is borrowed from ruby/ruby's io.c: https://github.com/ruby/ruby/blob/40391faeab608665da87a05c686c074f91a5a206/io.c#L4059-L4079 Fix ruby/stringio#68 Reported by IWAMOTO Kouichi. Thanks!!! https://github.com/ruby/stringio/commit/4b170c1a68
* Update default gems list at ce8301084f661f8a22b36bc6f7207b [ci skip]git2023-11-081-1/+1
|
* [ruby/strscan] Bump versionSutou Kouhei2023-11-081-1/+1
| | | | https://github.com/ruby/strscan/commit/1b3393be05
* [ruby/fiddle] Remove garbageSutou Kouhei2023-11-081-1/+0
| | | | https://github.com/ruby/fiddle/commit/bbcb66e16e
* [ruby/fiddle] Include stdbool.h explicitly for old RubySutou Kouhei2023-11-081-0/+1
| | | | https://github.com/ruby/fiddle/commit/74a05fb358
* [ruby/fiddle] Use Ruby's true/false for C boolSutou Kouhei2023-11-0810-23/+125
| | | | | | | | GitHub: fix https://github.com/ruby/fiddle/pull/130 Reported by Benoit Daloze. Thanks!!! https://github.com/ruby/fiddle/commit/2640e0148e
* CI: Change the openssl_fips.cnf.tmpl and openssl_fips.cnf directories.Jun Aruga2023-11-081-19/+0
|
* [ruby/irb] Fix dancing-ruby Ctrl+C stoptomoya ishida2023-11-081-1/+5
| | | | | | (https://github.com/ruby/irb/pull/735) https://github.com/ruby/irb/commit/802b1cb6d8
* Escape the target string to be checkedNobuyoshi Nakada2023-11-081-3/+1
| | | | | | | | | Comparing file paths as strings may not work well for some reasons, symlink, relative `__FILE__`, etc. Some alternatives are possible: comparing with `File.realpath`, or with `File.identical?`, it should be most robust to escape the target string contained within this file itself.
* [rubygems/rubygems] Hack to get `Gem::Specification#extensions_dir` documentedDavid Rodríguez2023-11-082-10/+17
| | | | https://github.com/rubygems/rubygems/commit/625b8293f7
* [rubygems/rubygems] Simplify spec wording and implementationDavid Rodríguez2023-11-081-17/+2
| | | | https://github.com/rubygems/rubygems/commit/3e7f1379fb
* [rubygems/rubygems] Simplify selecting specs with `force_ruby_platform` setDavid Rodríguez2023-11-083-3/+16
| | | | | | https://github.com/rubygems/rubygems/commit/5f90a43635 Co-authored-by: Martin Emde <martin.emde@gmail.com>