Граф коммитов

88535 Коммитов

Автор SHA1 Сообщение Дата
David Rodríguez bf35b2c0fe [rubygems/rubygems] Cleaner extension of `Gem::Specification` to be able to set source
https://github.com/rubygems/rubygems/commit/3749273ec6
2024-11-08 12:06:29 +00:00
David Rodríguez 50e6363ea4 [rubygems/rubygems] Remove accessor that's been unused for years
https://github.com/rubygems/rubygems/commit/ffd2fbaf6c
2024-11-08 12:06:28 +00:00
David Rodríguez 88fa4fe589 [rubygems/rubygems] Make sure platforms in spec lockfile are properly sorted
https://github.com/rubygems/rubygems/commit/99b4ac4548
2024-11-08 12:06:28 +00:00
Yusuke Endoh fde6d189b2 Avoid calculating large powers
... for slow CI machines like macOS.
2024-11-08 20:53:21 +09:00
Yusuke Endoh c348a4fd7a Avoid interger multiplication overflow 2024-11-08 19:48:56 +09:00
Yusuke Endoh 45cd4a8296 Do not round `a**b` to infinity
... instead, just calculate the value unless it is too big.
Also, this change raises an ArgumentError if it is expected to exceed
16 GB in a 64-bit environment.

(It is possible to calculate it straightforward, but it would likely be
out-of-memory, so I didn't think it would make sense.)

[Feature #20811]
2024-11-08 19:48:56 +09:00
David Rodríguez f7b334e002 [rubygems/rubygems] Add `bundle lock --add-checksums` to add checksums to an existing lockfile
https://github.com/rubygems/rubygems/commit/0a9c1ce60d
2024-11-08 10:27:03 +00:00
David Rodríguez 1f62a98f73 [rubygems/rubygems] Remove no longer necessary hacks to define the `gem` command
We did this because RubyGems `require` would call `gem` on self, so
defining a `gem` method in the CLI would cause conflicts. However, this
is not the case since
439c446489,
so this should no longer be necessary.

https://github.com/rubygems/rubygems/commit/3e5c861046
2024-11-08 10:26:45 +00:00
Koichi Sasada 1615996067 specify NOINLINE for LTO 2024-11-08 18:02:46 +09:00
Koichi Sasada 78064d0770 skip `SystemStackError`
with -O0 build, prism parser consumes a lot of machine stack and
it doesn't work with minimum machine stack for threads, which
specified with `RUBY_THREAD_MACHINE_STACK_SIZE=1`.

So simply ignore `SystemStackError` for btest.
2024-11-08 18:02:46 +09:00
Koichi Sasada 97aaf6f760 introduce `rb_ec_check_ints()`
to avoid TLS issue with N:M threads.
2024-11-08 18:02:46 +09:00
Koichi Sasada 0d63b9b4a4 check closing flag
`Ractor.receive` and `Ractor.yield` should stop when the
incoming/outgoing port is closed.
2024-11-08 18:02:46 +09:00
Koichi Sasada 4886a54d74 fix rjit-bindgen info 2024-11-08 18:02:46 +09:00
Koichi Sasada 8d88d35fc1 correct dependencies 2024-11-08 18:02:46 +09:00
Koichi Sasada aa63699d10 support `require` in non-main Ractors
Many libraries should be loaded on the main ractor because of
setting constants with unshareable objects and so on.

This patch allows to call `requore` on non-main Ractors by
asking the main ractor to call `require` on it. The calling ractor
waits for the result of `require` from the main ractor.

If the `require` call failed with some reasons, an exception
objects will be deliverred from the main ractor to the calling ractor
if it is copy-able.

Same on `require_relative` and `require` by `autoload`.

Now `Ractor.new{pp obj}` works well (the first call of `pp` requires
`pp` library implicitly).

[Feature #20627]
2024-11-08 18:02:46 +09:00
Koichi Sasada 075a102c93 `Ractor.[]` and `Ractor.[]=`
`Ractor#[]/[]=` is only for accessors to the current ractor, so that
`Ractor.[]/[]=` is simpler.
[Feature #20715]
2024-11-08 18:02:46 +09:00
Koichi Sasada f0d0c030c0 `Ractor.main?`
to return the current ractor is the main ractor.
(== `Ractor.current == Ractor.main`)
2024-11-08 18:02:46 +09:00
Koichi Sasada c8297c3eed `interrupt_exec`
introduce
- rb_threadptr_interrupt_exec
- rb_ractor_interrupt_exec

to intercept the thread/ractor execution.
2024-11-08 18:02:46 +09:00
git 29578773c2 Update default gems list at 35d8427b8b [ci skip] 2024-11-08 06:08:47 +00:00
Hiroshi SHIBATA 35d8427b8b [ruby/uri] Bump up v1.0.1
https://github.com/ruby/uri/commit/3011eb6f6e
2024-11-08 06:07:54 +00:00
Hiroshi SHIBATA d7c65398e0 [ruby/uri] Added more fallback constants like URI::PARTTERN and URI::REGEXP
Fixed https://github.com/ruby/uri/issues/125

https://github.com/ruby/uri/commit/1f3d3df02a
2024-11-08 06:06:30 +00:00
git 85868388d5 Update default gems list at 7772fe05bc [ci skip] 2024-11-08 05:19:32 +00:00
Hiroshi SHIBATA 7772fe05bc [ruby/win32-registry] Bump up v0.1.0
https://github.com/ruby/win32-registry/commit/a87076ee42
2024-11-08 05:18:39 +00:00
git e462ef2e5c Update default gems list at 7c9cda9b52 [ci skip] 2024-11-08 05:01:14 +00:00
Hiroshi SHIBATA 7c9cda9b52 [ruby/time] Bump up v0.4.1
https://github.com/ruby/time/commit/539b151049
2024-11-08 05:00:24 +00:00
git 8fecc65a39 Update default gems list at a698b5ebb8 [ci skip] 2024-11-08 04:23:19 +00:00
Hiroshi SHIBATA a698b5ebb8 [ruby/optparse] Bump up v0.6.0
https://github.com/ruby/optparse/commit/080360ffd4
2024-11-08 04:22:33 +00:00
git 637b74b0bd Update default gems list at 475e8f8c46 [ci skip] 2024-11-08 04:06:33 +00:00
Hiroshi SHIBATA 475e8f8c46 [ruby/pstore] Bump up v0.1.4
https://github.com/ruby/pstore/commit/a63a70a830
2024-11-08 04:05:28 +00:00
Daisuke Fujimura (fd0) ae785d88bf `EXE_LDFLAGS` uses the same `MUNICODE_FLAG` 2024-11-08 12:57:06 +09:00
Daisuke Fujimura (fd0) 07f45065a7 `-municode` is available for MinGW-w64 targets only 2024-11-08 12:57:06 +09:00
git 3c3da1ec23 Update default gems list at 82dfdb8646 [ci skip] 2024-11-08 03:55:06 +00:00
Hiroshi SHIBATA 82dfdb8646 [ruby/singleton] Bump up v0.3.0
https://github.com/ruby/singleton/commit/256c91171b
2024-11-08 03:54:21 +00:00
git ed24c0c84f Update default gems list at 306ce9a9e0 [ci skip] 2024-11-08 03:39:18 +00:00
Mari Imaizumi 306ce9a9e0 [ruby/reline] Bump version to 0.5.11
(https://github.com/ruby/reline/pull/777)

https://github.com/ruby/reline/commit/4d90743409
2024-11-08 03:38:15 +00:00
YO4 b99c17a95b [ruby/reline] Windows fix (https://github.com/ruby/reline/pull/775)
* test_yamatanooroti: close tempfile before unlink

* test_yamatanooroti: omit because of windows does not support job control

* test_yamatanooroti: change startup message detection for windows

* windows.rb: can call win32api using nil as NULL for pointer argument

Exception occurred when interrupted with Ctrl+C on legacy conhost

* windows.rb: fix get_screen_size

return [window height, buffer width] insted of [buffer height, buffer width]

* windows.rb: import scroll_down() from ansi.rb

* windows.rb: add auto linewrap control if VT output not supported (legacy console)

* unfreeze WIN32API pointer arguments

They internally duplicate arguments so api functions write to another place.
This breaks the console mode detection with ruby-head.

* remove useless code from Win32API#call

argument repacking and return value tweaking is not needed for Reline::Windows requirements.

* Correctly handle top of console viewport

* Revert "remove useless code from Win32API#call"

This reverts commit https://github.com/ruby/reline/commit/060ba140ed43.

* Revert "windows.rb: can call win32api using nil as NULL for pointer argument"

This reverts commit https://github.com/ruby/reline/commit/93a23bc5d0c9.

https://github.com/ruby/reline/commit/47c1ffbabe
2024-11-08 03:28:57 +00:00
git 9a9a586d62 Update default gems list at 3406e8aad9 [ci skip] 2024-11-08 02:46:46 +00:00
Hiroshi SHIBATA 3406e8aad9 [ruby/benchmark] Bump up v0.4.0
https://github.com/ruby/benchmark/commit/a5d77ceae0
2024-11-08 02:45:51 +00:00
Kaíque Kandy Koga 9523f53465
[ruby/benchmark] Adjust ljust Benchmark#bm with labels was not using the highest length among the labels to adjust the correct ljust. Instead of printing the result during the report generation, now it is waiting to print the result once it is generated.
Benchmark.bm { |x|
  x.item("aaaa") { 1 }
  x.item("aaaaaaaa") { 0 }
}

After

              user     system      total        real
aaaa      0.000005   0.000002   0.000007 (  0.000003)
aaaaaaaa  0.000001   0.000001   0.000002 (  0.000002)

Before

       user     system      total        real
aaaa  0.000005   0.000001   0.000006 (  0.000003)
aaaaaaaa  0.000002   0.000001   0.000003 (  0.000003)

https://github.com/ruby/benchmark/commit/3e74533ead
2024-11-08 11:32:30 +09:00
Hiroshi SHIBATA b56b70a373 Temporary removed gmp because vcpkg package is broken. 2024-11-08 11:27:33 +09:00
git 100df03e4e Update default gems list at 74077a99bf [ci skip] 2024-11-08 01:35:55 +00:00
Hiroshi SHIBATA 74077a99bf [ruby/ostruct] Bump up v0.6.1
https://github.com/ruby/ostruct/commit/b38680089f
2024-11-08 01:35:02 +00:00
Hiroshi SHIBATA c05f849cf2 [ruby/ostruct] Update license files same as ruby/ruby
https://github.com/ruby/ostruct/commit/85a773bb41
2024-11-08 01:27:59 +00:00
Alan Wu fca07d73e3
Respect RUBY_CRASH_REPORT path when RUBY_ASSERT() fails
Previously, it always used stderr. Slight shuffle of the first line
of the crash due to reusing code from rb_bug():

```diff
-Assertion Failed: /ruby/object.c:649:rb_obj_itself:false
+/ruby/object.c:649: Assertion Failed: rb_obj_itself:false
```

Tested locally to confirm that it writes to the file given with
RUBY_CRASH_REPORT. Follow-up for [Feature #19790].
2024-11-07 09:35:19 -05:00
Kouhei Yanagita 3f7c72cd33 [ruby/irb] Correct ja/help-message for --context-mode and --prompt
(https://github.com/ruby/irb/pull/1029)

https://github.com/ruby/irb/commit/b21432daf7
2024-11-07 12:52:01 +00:00
Benoit Daloze 6385a28c33 Quarantine unreliable spec
* See discussion on https://github.com/ruby/spec/pull/1210
2024-11-07 13:47:43 +01:00
Nobuyoshi Nakada ee29aade1a
[Bug #20869] Discard read buffer and encoding converters at seeking 2024-11-07 21:03:37 +09:00
Nobuyoshi Nakada 1701ddea73
[Bug #20802] Copy encodings at reopen as well 2024-11-07 19:33:41 +09:00
David Rodríguez ffcfaf4ce4 [rubygems/rubygems] Undeprecate Gemfiles without a global source
After having a second look at this deprecation, the explanation that
we're giving does not make a lot of sense. When working only with local
gems, Bundler will indeed generate a different lockfile depending on
the latest installed version of each gem is at `bundle install` time.

That's the same situation that happens with remote sources: Bundler will
generate a different lockfile depending on the latest version of each
gem available remotely.

So, I don't think "a consistent lockfile not getting generated" is a
good motivation for deprecating this.

Also, this deprecation brings additional challenges, since for example,
it should arguably not get printed when using `bundle install --local`?

The original problem when this deprecation was introduced was an
incorrect message about a missing gem having been yanked.

So, I think a better solution is to, as long as we give proper error
messages when things go wrong, let users do what's best for them and
undo the deprecation.

https://github.com/rubygems/rubygems/commit/17499cb83f
2024-11-07 10:03:54 +00:00
Hiroshi SHIBATA df3395f2e3 [ruby/fcntl] Fixup gemspec files
https://github.com/ruby/fcntl/commit/9e14019f53
2024-11-07 18:45:05 +09:00