Activity
From 06/17/2022 to 06/23/2022
06/23/2022
-
11:52 PM Revision 0b58059f (git): Free bitmap buffer if it's not used
- If the iseqs don't have any objects in them that need marking, then
immediately free the bitmap buffer -
11:52 PM Revision 8d63a047 (git): Flatten bitmap when there is only one element
- We can avoid allocating a bitmap when the number of elements in the iseq
is fewer than the size of an iseq_bits_t -
10:12 PM Revision eb1a84a9 (git): When YJIT is not built, hide options and use MJIT for --jit
- YJIT is now a build-time opt-in so on platforms that YJIT could support
it could still be unavailable due to user discretion. Use MJIT for --jit
and don't display YJIT related command line options in --help when YJIT
is not included in t... -
09:02 PM Feature #18875 (Closed): Speed up ISeq marking by introducing a bitmap and rearranging inline caches
- Applied in changeset commit:git|e23540e5666664e23f2adecdc2cc591f3ff6fe2f.
----------
Speed up ISeq by marking via bitmaps and IC rearranging
This commit adds a bitfield to the iseq body that stores offsets inside
the iseq buffer that c... - 09:01 PM Revision 1ccdb1a2 (git): Update vm_core.h
- Co-authored-by: Tomás Coêlho <36938811+tomascco@users.noreply.github.com>
-
09:01 PM Revision e23540e5 (git): Speed up ISeq by marking via bitmaps and IC rearranging
- This commit adds a bitfield to the iseq body that stores offsets inside
the iseq buffer that contain values we need to mark. We can use this
bitfield to mark objects instead of disassembling the instructions.
This commit also groups in... - 08:51 PM Revision 6fd9cb80 (git): * 2022-06-24 [ci skip]
-
08:50 PM Revision 962a3247 (git): Correct documentation for protected methods [ci skip]
-
03:30 PM Misc #18834 (Feedback): Significant change in loop speeds (regressing using while loop on ARM chips)
-
03:29 PM Bug #18876 (Feedback): OpenSSL fails to autoload in --with-static-linked-ext builds
- Since `bundle-env ruby -ropenssl` works, I suspect it has something to
do with `--env-shebang`. Maybe the `gem` command isn't running with
the Ruby you want. Try running `RUBYOPT=-v bundle-env gem` and
comparing that with `ruby -v` (w... -
08:58 AM Bug #18876 (Closed): OpenSSL fails to autoload in --with-static-linked-ext builds
- i try use ruby + gem in my macos app with .a framework, i need install ruby in a custom location.
so i make & make install openssl with this configure:
``` shell
/usr/bin/perl Configure --prefix="......./local/dependencies" no-shared ... -
01:52 PM Revision b180ffa6 (git): Fix warnings by old gcc
- * Use PRIxSIZE instead of "z"
* Fix sign-compare warning
* Suppress unused-but-set-variable warning -
01:52 PM Revision 41cdf9b1 (git): Show flags instead of `-s` option in `GNUMAKEFLAGS`
-
01:52 PM Revision 96154394 (git): Suppress notes for old gcc
-
01:52 PM Revision 2f7c0f65 (git): Pass LDFLAGS via environment variable
-
09:17 AM Revision 6f229da2 (git): [rubygems/rubygems] Fix standalone script generation for statically linked dev ruby
- https://github.com/rubygems/rubygems/commit/4d0d7b3c97
-
09:17 AM Revision 4f5eb48d (git): [rubygems/rubygems] Fix `bundle package --no-install` no longer skipping install
- This is a regression from https://github.com/rubygems/rubygems/commit/cf749f8ffabd. The
funny thing is that we have a spec for this feature, so it was unclear
how we regressed here. It turns out there was a bug in one of our
negative mat... - 07:45 AM Revision 0b11eac2 (git): * 2022-06-23 [ci skip]
-
07:45 AM Revision c25c1d4e (git): Non-void functions must return value
-
07:42 AM Revision 2361a1a5 (git): Get rid of a nasal demon
- On platforms not having `typeof`, `ccan_container_off_var()` macro
subtracts the pointer variable from the member address pointed by that
variable.
06/22/2022
-
10:55 PM Feature #18875 (Closed): Speed up ISeq marking by introducing a bitmap and rearranging inline caches
- A large percentage of major GC time is spent marking instruction sequence objects. This PR aims to speed up major GC by speeding up marking instruction sequence objects.
## Marking ISeq objects
Today we have to disassemble instruc... -
04:10 PM Feature #17326: Add Kernel#must! to the standard library
- I would rather have ruby use the type system to check monad type and provide syntactic sugar for monad method. Much rather have a Monad Result type or Option type that short circuits with None or Result on nil but provides fast syntacti...
-
12:31 PM Bug #18060 (Closed): Infinite loop when b_return TracePoint raises
- Applied in changeset commit:git|744d17ff6c33b09334508e8110007ea2a82252f5.
----------
Fix infinite loop when b_return TracePoint throws
Previously, we didn't pop the frame that runs the TracePoint hook for
b_return events for blocks run... -
12:30 PM Revision 744d17ff (git): Fix infinite loop when b_return TracePoint throws
- Previously, we didn't pop the frame that runs the TracePoint hook for
b_return events for blocks running as methods (bmethods). In case the
hook raises, that formed an infinite loop during stack unwinding in
hook_before_rewind().
[Bug #... -
09:32 AM Revision e6f92cad (git): Refactor compilations workflow
- Now some entries need multiple variables for customization, and only
one environment variable per entry is not enough.
To solve it, dccfff943c3e has introduced overriding variables by `env`
key for each entries.
This commit uses `env` ke... -
07:58 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- I got useful info from the helpful annocheck upstream maintainer to fix the annocheck gaps and pie tests.
Bug 29269 - annocheck: gaps test: question for the flag: -Wa,--generate-missing-build-notes=yes .
https://sourceware.org/bugzil... -
07:06 AM Bug #18829: GC_COMPACTION_SUPPORTED macro should be set and detected automatically.
- I think the backport is to apply the 3 commits on the master branch in the chronological order below to a stable branch.
https://github.com/ruby/ruby/commit/52d42e702375446746164a0251e1a10bce813b78
https://github.com/ruby/ruby/commit/7... -
04:49 AM Feature #18655: Copy `IO#wait_readable`, `IO#wait_writable`, `IO#wait_priority` and `IO#wait` into core.
- ioquatix (Samuel Williams) wrote in #note-6:
> I've made a PR to move `wait`, `wait_readable`, `wait_writable`, `wait_priority` to `io.c` with some minor compatibility and documentation improvements.
> ...
This mixes the fix for compat... -
12:52 AM Feature #18655: Copy `IO#wait_readable`, `IO#wait_writable`, `IO#wait_priority` and `IO#wait` into core.
- If @nobu and @akr are OK, I am OK.
Matz.
- 04:40 AM Revision 812354ac (git): [rubygems/rubygems] Bundler: fix man page for bundle-add
- Follows up https://github.com/rubygems/bundler/pull/5610
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/0c4df2b8ca -
01:33 AM Revision 0c1f6439 (git): Skip protected ancestry guard for FCALLs in YJIT
-
01:33 AM Revision 9312f4bf (git): Allow method caching of protected FCALLs
-
01:33 AM Revision a580dd77 (git): Don't check protected method ancestry on fcall
- If we are making an FCALL, we know we are calling a method on self. This
is the same check made for private method visibility, so it should also
guarantee we can call a protected method. -
01:16 AM Revision 87a560a0 (git): Add T_STRUCT to lldb inspect helper
-
12:33 AM Revision 7fd51c02 (git): vcs.rb: ignore configuration files get rid of aliases [ci skip]
-
12:32 AM Revision bc77cda8 (git): vcs.rb: just one log to check if `--date` option works [ci skip]
-
12:31 AM Revision 0dcd25b7 (git): vcs.rb: show diagnostic/progressing messages when debugging [ci skip]
06/21/2022
-
10:09 PM Misc #18836: DevMeeting-2022-07-21
- * [Bug #18780] Surprising `self` for C API `rb_eval_string()` (alanwu)
* Script for `rb_eval_string()` runs with locals from the inner most Ruby context, but `self` is always top level `self` (`main`). This unique execution environment... -
02:56 AM Misc #18836: DevMeeting-2022-07-21
- - [Feature #18810] Make `Kernel#p` interruptable.
- Pull Request: https://github.com/ruby/ruby/pull/5967
- [Feature #18630] Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- Pull Request: https://github.com/... -
06:21 PM Feature #18809: Add Numeric#ceildiv
- Dan0042 (Daniel DeLorme) wrote in #note-3:
> Why not simply use `a.fdiv(b).ceil` ?
> ...
```rb
a = 99999999999999999
b = 1
(a + b - 1) / b # => 99999999999999999
a.fdiv(b).ceil # => 100000000000000000
```
-
12:45 PM Feature #18809: Add Numeric#ceildiv
- Why not simply use `a.fdiv(b).ceil` ?
It expresses the intent of the code clearly, and I doubt there would be a measurable difference in performance except in the tightest of tight loops. -
05:23 PM Revision fdd11025 (git): [ruby/fileutils] Clarify difference between cp_r and install (https://github.com/ruby/fileutils/pull/95)
- https://github.com/ruby/fileutils/commit/94a599e69f
- 04:41 PM Revision 102a97e0 (git): * 2022-06-22 [ci skip]
-
04:40 PM Revision 1f067e77 (git): Clarify documentation of Kernel#require_relative
-
02:16 PM Revision 2e81fd76 (git): [ruby/fileutils] Correct method references for secure removal (https://github.com/ruby/fileutils/pull/93)
- https://github.com/ruby/fileutils/commit/42c9685826
-
01:42 PM Revision 1002998c (git): [ruby/fileutils] [DOC] Adding 'Related' (https://github.com/ruby/fileutils/pull/92)
- https://github.com/ruby/fileutils/commit/fc3cc28397
-
11:53 AM Bug #18820: on aarch64/Android/Termux/Ubuntu jammy server, ALL versions before Ruby 3.1.x don't compile!
- The failure of 2.5.9 is here: https://bugs.ruby-lang.org/attachments/9280#L1851
> ```c
> ...
That is an OpenSSL 3.0 issue. -
11:43 AM Revision 15769832 (git): Added readline wrapper entries under the doc directory
-
11:41 AM Revision a9db5be0 (git): Added error_highlight entries under the doc directory
-
11:38 AM Revision 441cfa96 (git): Added reline entry to standard_library doc
-
09:45 AM Feature #18838: Avoid swallowing regexp escapes in the lexer
- Thank you for clarification.
-
02:10 AM Feature #18838: Avoid swallowing regexp escapes in the lexer
- Agreed with Jeremy. There is the same "inconsistency" in a string literal, but this is clearly by design.
```
puts 'foo\'bar' #=> foo'bar
puts %q'foo\'bar' #=> foo'bar
puts %q{foo\'bar} #=> foo\'bar
``` -
07:55 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- ioquatix (Samuel Williams) wrote in #note-25:
> I started messing around with the implementation again.
> ...
I have my own Framework Laptop first generation with the 11th gen Intel CPU (11th Gen Intel i7-1165G7) with Fedora 36 and gcc 1... - 07:05 AM Revision 641a7329 (git): Update bundled gems list at 2022-06-21
-
06:30 AM Revision 7ef67bf9 (git): [CI] add gcc-12
-
05:50 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- Awesome, thanks Jeremy.
-
03:13 AM Revision a0b24f59 (git): [ruby/io-wait] Remove redundant forward declarations
- These were needed before prototype declarations were used.
https://github.com/ruby/io-wait/commit/35f016833a -
02:32 AM Revision f44547c9 (git): regparse.c: Suppress false-positive warnings of GCC 12.1
- http://rubyci.s3.amazonaws.com/arch/ruby-master/log/20220613T030003Z.log.html.gz
```
regparse.c:264:15: warning: array subscript 56 is outside array bounds of ‘Node[1]’ {aka ‘struct _Node[1]’} [-Warray-bounds]
```
and
```
/usr/include/... -
02:29 AM Feature #18655: Copy `IO#wait_readable`, `IO#wait_writable`, `IO#wait_priority` and `IO#wait` into core.
- I've made a PR to move `wait`, `wait_readable`, `wait_writable`, `wait_priority` to `io.c` with some minor compatibility and documentation improvements.
https://github.com/ruby/ruby/pull/6036 -
12:41 AM Revision a343952d (git): On FreeBSD omit the test to close a pipe while reading [ci skip]
06/20/2022
-
11:59 PM Feature #18832: Do not have class/module keywords consider ancestors of Object
- As I initially expected, this is not a bug. Having class/module keywords consider ancestors of Object is by design, with explicit code for just this purpose, and there is both a test and spec for the current behavior. Switching to featur...
-
10:57 PM Feature #18838 (Closed): Avoid swallowing regexp escapes in the lexer
- Applied in changeset commit:git|596f4b0d3ab8bc2559a52396d3a29ce62e6a3694.
----------
Document that Regexp#source does not retain lexer escapes
Related to [Feature #18838] -
10:11 PM Feature #18838: Avoid swallowing regexp escapes in the lexer
- In the `/\//` and `%r/\//` cases, the regexp source is transformed from `\/` to `/` in the lexer (`tokadd_string`) before it even hits the parser, let alone the regexp engine. From a regexp perspective, `/\//` and `%r/\//` are treated a...
-
10:56 PM Revision 596f4b0d (git): Document that Regexp#source does not retain lexer escapes
- Related to [Feature #18838]
- 09:57 PM Revision 850b5461 (git): * 2022-06-21 [ci skip]
- 09:38 PM Revision eed24b5e (git): .github/workflows/compilers.yml: annocheck: Fix gaps and notes test.
- This commit fixes on the annocheck gaps and notes tests on Ubuntu focal on CI.
Added the gcc `-Wa,--generate-missing-build-notes=yes` flag.
See the links below.
* -Wa,option: <https://gcc.gnu.org/onlinedocs/gcc-11.3.0/gcc/Assembler-Opti... - 09:18 PM Revision 31b2cd38 (git): Include JIT information in crash reports
- Since enabling YJIT or MJIT drastically changes what could go wrong at
runtime, it's good to be front and center about whether they are enabled
when dumping a crash report. Previously, `RUBY_DESCRIPTION` and the
description printed when ... -
09:05 PM Bug #18833 (Rejected): Documentation for IO#gets is inaccurate (bytes versus characters)
- The documentation is correct, the limit is in bytes and not characters:
```ruby
File.write("a", "\u1234a") # => 4 # bytes written
File.open('a', 'r:UTF-8').read.length # => 2 # characters in file
File.open('a', 'r:UTF-8').gets(1) #... -
02:04 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- Maybe I found a way to fix annocheck gaps and notes tests on Ubuntu focal on CI.
Here is the PR: <https://github.com/ruby/ruby/pull/6045>.
-
10:23 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- jaruga (Jun Aruga) wrote in #note-29:
> We opened the 2 PRs for that now :) @mame You can merge your PR. I will add my PR later with some comments.
> ...
The PR was merged to the master branch.
https://github.com/ruby/ruby/commit/f8b... -
09:26 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- We opened the 2 PRs for that now :) @mame You can merge your PR. I will add my PR later with some comments.
https://github.com/ruby/ruby/pull/6043
https://github.com/ruby/ruby/pull/6044
-
08:52 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- https://lwn.net/Articles/885220/
I was studying this and the related LKML discussion. I don't think this problem is solved any time soon. I don't think coroutine support using `ret` is compatible yet, unless some how we can acess `wrs... -
08:30 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- ioquatix (Samuel Williams) wrote in #note-24:
> While it was passing, it's now failing:
Thanks for the report. I will take a look and fix the CI. Maybe it comes from the annocheck version update from 10.73 to 10.76. My guess is that ... -
07:06 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- In my latest PR, I try to detect control-flow protections:
```
* with thread: pthread
* with coroutine: amd64
* with c-f protection: no
```
(not supported on my CPU).
Then, I've eye-balled an implementa... -
03:51 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- I started messing around with the implementation again.
But my computer is too old, it looks like I need 11th gen Intel CPU to test CET :(
Is anyone able to help test the PR if I update it? -
03:24 AM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- While it was passing, it's now failing:
## Previously Passing
https://github.com/ruby/ruby/runs/6956677552?check_suite_focus=true#step:20:54
```
================================================================================
... -
01:42 PM Revision 5ca23358 (git): [ruby/irb] [DOC] Fix formatting in docs
- https://github.com/ruby/irb/commit/3ddc89e38c
-
01:27 PM Revision 2d4a41df (git): [ruby/irb] Commands should respect `USE_COLORIZE` config (https://github.com/ruby/irb/pull/362)
- https://github.com/ruby/irb/commit/534688dfc4
-
11:03 AM Revision c46824d0 (git): test_instrumentation_api.rb: Allow one less exit
- I suspect that sometimes on CI the last thread is prempted before eaching the exit hook
causing the test to flake. I can't find a good way to force it to run. -
10:40 AM Bug #18808: Cannot compile ruby 3.1.2 on powerpc64le-linux without disabling the jit features
- One more thing, the Red Hat Software Collections (RHSCL) 3.8 provides the Ruby 3.0 software collection (Ruby 3.0.2 - rh-ruby30). Possibly you can use it on RHEL 7 ppc64le.
-
10:21 AM Bug #18808: Cannot compile ruby 3.1.2 on powerpc64le-linux without disabling the jit features
- @npn What is the gcc version are you using on the RHEL 7? Are you using a default system gcc maybe 4.8?
For example, in the latest Red Hat Software Collections 3.8 that you can install to RHEL 7, there is a SCL devtoolset-11 including... -
10:35 AM Feature #18788 (Closed): Support passing Regexp options as String to Regexp.new
- Applied in changeset commit:git|1e9939dae24db232d6f3693630fa37a382e1a6d7.
----------
[Feature #18788] Support options as `String` to `Regexp.new`
`Regexp.new` now supports passing the regexp flags not only as an
`Integer`, but also as ... -
10:35 AM Revision 4a6facc2 (git): [Feature #18788] [DOC] String options to `Regexp.new`
- Co-Authored-By: Janosch Müller <janosch.mueller@betterplace.org>
-
10:35 AM Revision 883d13dc (git): [Feature #18788] Spec for options as `String` to `Regexp.new`
- Co-Authored-By: Janosch Müller <janosch.mueller@betterplace.org>
-
10:35 AM Revision 1e9939da (git): [Feature #18788] Support options as `String` to `Regexp.new`
- `Regexp.new` now supports passing the regexp flags not only as an
`Integer`, but also as a `String. Unknown flags raise errors. -
10:35 AM Revision 39dc455b (git): Spec update for warnning suspicious flag to `Regexp.new`
-
10:35 AM Revision ab2a4326 (git): Warn suspicious flag to `Regexp.new`
- Now second argument should be `true`, `false`, `nil` or Integer.
This flag is confused with third argument some times. -
10:35 AM Revision a58611df (git): Allow to just warn as bool expected, without an exception
-
10:25 AM Revision 15db2e94 (git): Prevent a warning "possibly useless use of a literal in void context"
- 10:08 AM Revision f8b6d4f4 (git): .github/workflows/compilers.yml: Skip gaps test on annocheck 10.76.
- This commit is to skip a failure with annocheck 10.76 on the annocheck test
case on the CI. Previously The test worked with annocheck 10.73.
The issue was reported at <https://bugs.ruby-lang.org/issues/18061#note-24>.
> Hardened: ruby: ... -
09:49 AM Revision 88cdd1a7 (git): Revert "merge revision(s) 5c1b76a3a55afeb07116bbd3492303c6b6cd890d: [Backport #18373]"
- This reverts commit d56b2e8820efd40840443ce3a5d16cff32a090c7.
-
09:39 AM Revision 7f8a9157 (git): [DOC] Refine Regexp.new argument descriptions
-
08:47 AM Revision 914c26ea (git): [DOC] Regexp timeout is float or nil
-
08:39 AM Revision 078db98d (git): Prevent a warning "Expected ... to define AutoloadTest but it didn't"
- related: [Bugs #18813] and eca31d24d606a73def3674938112dc3c5b79c445
-
07:04 AM Revision 8d689294 (git): [rubygems/rubygems] Fix extension paths in generated standalone script
- The paths for extensions of gems would contain the hardcoded ruby
version on which the extension was built. This will replace it with
runtime ruby version like the parent version directory. It will make the
standalone script compatible b... -
03:41 AM Misc #18836: DevMeeting-2022-07-21
- * [Feature #18809] Add `Numeric#ceildiv`
* ceiling or rounding up division
* maybe also `Numeric#floordiv`?
* `Numeric#div(divisor, round: :up)`?
* Julia provides `cld` and `fld` for the ceiling and flooring division, respect... -
03:12 AM Feature #18839 (Closed): Drop support for gcc 3
- Applied in changeset commit:git|ec5c56412f0b67845b42acec06cbd1d341896f25.
----------
[Feature #18839] Drop support for gcc 3 [ci skip] -
03:09 AM Feature #18839: Drop support for gcc 3
- Go. Probably no one is really using gcc3.x.
Matz.
-
01:31 AM Feature #18839: Drop support for gcc 3
- +1
The gcc version of CentOS/RHEL 7 that is our oldest supported Linux distribution is `gcc-4.8.5-44.el7.x86_64.rpm`. -
01:26 AM Feature #18839: Drop support for gcc 3
- +1, it's hard to have a working gcc-3 environment nowadays.
-
03:11 AM Revision ec5c5641 (git): [Feature #18839] Drop support for gcc 3 [ci skip]
- 02:45 AM Revision 271bcc0c (git): Update bundled gems list at 150bd6e2427a8a6178aa5f8ebc39ce [ci skip]
-
02:44 AM Revision 150bd6e2 (git): Bundle RBS 2.5.1 (#6041)
- * Bundle RBS 2.5.1
-
12:26 AM Revision cd3a5cd0 (git): [DOC] Fixed omissions in Regexp.new arguments
06/19/2022
-
11:25 PM Feature #15330: autoload_relative
- We had a similar discussion here: https://bugs.ruby-lang.org/issues/18841
I don't personally like `autoload`. However, I can see that there is value in it for certain kinds of application code.
Since we have `require` and `require_... -
11:22 PM Feature #18841: Proposal: autoload_relative
- Great minds think alike! Thanks @marcandre.
@fxn I think the next step is to make a PR and then get Matz to review it. -
04:31 PM Feature #18841: Proposal: autoload_relative
- Oh, I should have searched before! Can't close this one myself.
-
02:19 PM Feature #18841: Proposal: autoload_relative
- Note that this is a duplicate of https://bugs.ruby-lang.org/issues/15330, which includes some real world usage stats.
Making it strict seems like a good idea too. -
08:04 AM Feature #18841: Proposal: autoload_relative
- Yes, great idea, and I can confirm I've run into issues with autoload loading the wrong files if you combine `autoload` with `require_relative`.
Also, since this does not exist yet, we can be more strict on how this works, as in `auto... -
08:02 AM Feature #18841 (Open): Proposal: autoload_relative
- In my experience, autoloads often reflect an existing hierarchical structure.
If a project does not use Zeitwerk, and the user declares autoloads for a class or module, chances are they are for child constants. As an example, see the ... -
05:39 PM Bug #18842 (Open): Ruby's Resolv library does not handle correctly the `NODATA` case
- Hello, I am opening this issue based on the following DNS bug sleuthing:
https://gitlab.com/gitlab-org/charts/gitlab/-/issues/3303
As described by Stan Hu, seems like the Ruby's Resolv library does not handle correctly the `NODATA`... - 05:34 PM Revision 6622a418 (git): * 2022-06-20 [ci skip]
- 05:34 PM Revision aeab4058 (git): [rubygems/rubygems] Improve performance of Bundler::SpecSet#for by using hash lookup of handled deps
- I was looking at (yet another) flamegraph in speedscope, and used the
'left hand heavy' and was shocked to realize that 0.5s of the 1.7s
is spent in DepProxy#name. This method _only_ delegates the name to an
underlying spec, so it's not ... -
02:33 PM Revision da362fee (git): Scale the time to wait native threads to run hook
-
02:32 PM Revision 4aebbf44 (git): Remove unnecessary `*` before the function name
-
02:06 AM Revision 5f8c7340 (git): [ruby/etc] [DOC] Markup constant path names
- https://github.com/ruby/etc/commit/6c9a0b4e5d
-
02:05 AM Revision 50472830 (git): Skip CIs if the head commit message contains '[DOC]'
- 01:47 AM Revision 95a25e04 (git): * 2022-06-19 [ci skip]
-
01:46 AM Revision ea387583 (git): [ruby/etc] [DOC] Markup string literals
- https://github.com/ruby/etc/commit/a8801e07d1
-
01:46 AM Revision cc67a117 (git): [ruby/etc] [DOC] Fix reference to different module
- https://github.com/ruby/etc/commit/ea51739974
-
01:46 AM Revision c594370c (git): [ruby/etc] [DOC] Update
- System-dependent feature macros are automatically detected by
extconf.rb, and are not used by users.
https://github.com/ruby/etc/commit/e7343b4e69
06/18/2022
-
07:27 PM Bug #18813: Let Module#autoload be strict about the autoloaded constant
- Hi @matz! I'd like to work on some documentation. Would it be OK for you to say something along the line that declaring autoloads for constants not defined in the receiver is discouraged?
-
12:49 PM Bug #18813 (Closed): Let Module#autoload be strict about the autoloaded constant
- Applied in changeset commit:git|eca31d24d606a73def3674938112dc3c5b79c445.
----------
[Bug #18813] Warn when autoload has to lookup in parent namespace
This is a verbose mode only warning. -
07:12 PM Misc #18840 (Open): Top-level #using and other methods docs
- I was looking into some docs problems, and the question I have is that we don't have any place where `main`'s methods documentation is rendered?
The `#using`, for example, is [defined](https://github.com/ruby/ruby/blob/ruby_3_1/eval.... -
05:28 PM Feature #18644: Coerce anything callable to a Proc
- I really like the first option but unfortunately it would make every object respond to `to_proc` even when they don't respond to `call`. Perhaps a third option would be for the `&` prefix operator to try to coerce using `to_proc` and the...
- 02:00 PM Revision 6ac4449f (git): merge revision(s) 7f81f335478a3ca873f34e3bc0af6927819d3e84: [Backport #18734]
- Return `false` where sticky-bit is not provided [Bug #18734]
---
file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) - 01:54 PM Revision 28b238f2 (git): merge revision(s): a0040af6715d85f416f1282588974e151a8164eb
- [Win32] Fix mode of character/pipe device stat [Bug #18732]
-
12:49 PM Revision eca31d24 (git): [Bug #18813] Warn when autoload has to lookup in parent namespace
- This is a verbose mode only warning.
-
12:41 PM Feature #18839: Drop support for gcc 3
- Out of curiosity I went to check a few dates:
- First GCC 3.x release: June 18, 2001
- Last GCC 3.x release: March 06, 2006
- That was the default compiler up to RHEL4, which is out of support since November 30, 2020.
So IM... -
08:35 AM Feature #18839 (Closed): Drop support for gcc 3
- Currently we require version 3 or newer when using gcc, but no CI for gcc 3.
Do we still need to support gcc 3?
https://github.com/ruby/ruby/pull/6037
Besides, I suspect we can drop old versions of gcc and clang more. -
07:38 AM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
- ruby_3_1 d56b2e8820efd40840443ce3a5d16cff32a090c7 merged revision(s) 5c1b76a3a55afeb07116bbd3492303c6b6cd890d.
-
07:38 AM Bug #18673: Anonymous block forwarding fails when combined with keyword arguments
- ruby_3_1 750d4dc3aff7c2fef25fe99f1b98327f68734c9a merged revision(s) 3bb70a6924ddd83f90b508b5bbc4d5629b8a41c6.
-
07:38 AM Bug #18672: Request to backport "Remove dependency on libcapstone"
- ruby_3_1 702f7c8417e2a47bd88ef72fd705c1739cd958de merged revision(s) 222203297966f312109e8eaa2520f2cf2f59c09d.
-
07:37 AM Revision d56b2e88 (git): merge revision(s) 5c1b76a3a55afeb07116bbd3492303c6b6cd890d: [Backport #18373]
- Install built gem extension binaries
---
tool/rbinstall.rb | 56 ++++++++++++++++---------------------------------------
1 file changed, 16 insertions(+), 40 deletions(-) -
07:10 AM Revision 750d4dc3 (git): merge revision(s) 3bb70a6924ddd83f90b508b5bbc4d5629b8a41c6: [Backport #18673]
- Fix using anonymous block in method accepting explicit keywords
Record block ID before vtable_pop, so the incorrect one doesn't
override it.
Fixes [Bug #18673]
---
parse.y | 1 ... -
07:05 AM Revision 702f7c84 (git): merge revision(s) 222203297966f312109e8eaa2520f2cf2f59c09d: [Backport #18672]
- Remove dependency on libcapstone
We have received reports of build failures due to this configuration
check modifying compile flags. Since only YJIT devs use this library
we can remove it to make Ruby easier to b... -
07:00 AM Bug #18600: Aliased method visibility issue on Ruby 3.1
- ruby_3_1 9d11ddcf6ace6676cea7cac836b4302240e3efb4 merged revision(s) 0c6e24d102e894a7211a596e6aa95828b1cf4406.
-
07:00 AM Bug #18627: segmentation fault when doing a lot of redundant Module#include
- ruby_3_1 607a20b000f83003958e92b68319e860094f44fc merged revision(s) 97426e15d721119738a548ecfa7232b1d027cd34.
-
06:58 AM Revision 607a20b0 (git): merge revision(s) 97426e15d721119738a548ecfa7232b1d027cd34: [Backport #18627]
- [Bug #18627] Fix crash when including module
During lazy sweeping, the iclass could be a dead object that has not yet
been swept. However, the chain of superclasses of the iclass could
already have been swept (an... -
06:14 AM Revision 9d11ddcf (git): merge revision(s) 0c6e24d102e894a7211a596e6aa95828b1cf4406: [Backport #18600]
- Fix visibility of alias of zsuper methods
This was broken by 71c746379d5872e250d90ae45c585760afaf9516.
Fixes [Bug #18600]
---
test/ruby/test_alias.rb | 10 ++++++++++
vm_method.c | ... -
04:40 AM Revision e7117115 (git): Show gcc version if too old, and move to GCC block [ci skip]
-
04:15 AM Revision e77d2c29 (git): Disable maybe-uninitialized warning for gcc 4
- It often shows false positive warnings (at least in 4.8). Newer
versions work well and we can check correct warnings. -
03:12 AM Feature #18831: Block argument to `yield`
- mame (Yusuke Endoh) wrote in #note-2:
> @matz was not positive to change it.
I forgot to add the reason why he was not positive. @matz said he no longer want to make `yield` so useful. He recommends an explicit `Proc#call` with a blo... -
02:56 AM Bug #18767 (Open): IO.foreach hangs up when passes limit=0
- Okay reopened. Sorry, I overlooked the fact that `IO#each_line(0)` raises an error.
IMHO, it is reasonable for `IO#readlines(0)` to raise an exception. If not, it just gets stuck until the memory is exhausted. I'm unsure about `IO#eac... -
01:20 AM Revision cab10a2c (git): Extract `protect_page_body` to fix mismatched braces
06/17/2022
-
10:13 PM Revision 4b7c4bb9 (git): tool/extlibs.rb: Use Exception#message for older rubies
- This script runs with BASERUBY, which can be as old as 2.2.x.
Exception#full_message is new in 2.5.0.
I saw a NoMethodError on the AppVeyor CI where BASERUBY is 2.4.6:
https://ci.appveyor.com/project/ruby/ruby/builds/43870654/job/kae4uo... -
10:12 PM Revision 41a024f2 (git): YJIT: Update note about symbol prefixes [ci skip]
-
09:28 PM Bug #18061: Execshield test: libruby.so.N.N.N: FAIL: property-note test because no .note.gnu.property section found
- @ioquatix (Samuel Williams) @nobu, possibly Samuel already fixed the property-note issue failed by `annocheck` correctly on the master branch. Sorry for my mistake.
I tested Ruby on the (relatively) latest master branch `78425d7e74887... -
07:17 PM Revision 566c5447 (git): YJIT: Use binwrite to write exit locations
-
04:52 PM Feature #18838 (Closed): Avoid swallowing regexp escapes in the lexer
- According to `Regexp#source` documentation:
```
Returns the original string of the pattern.
/ab+c/ix.source #=> "ab+c"
Note that escape sequences are retained as is.
/\x20\+/.source #=> "\\x20\\+"
```
It works well but back... -
04:40 PM Bug #18767: IO.foreach hangs up when passes limit=0
- @mame
I still believe that it's a compatibility issue and not a feature request or so. Could the ticket be reopened?
cc @jeremyevans0 - 03:10 PM Revision b184cdfd (git): * 2022-06-18 [ci skip]
-
03:10 PM Revision 05ffc037 (git): Disable Mach exception handlers when read barriers in place
- The GC compaction mechanism implements a kind of read barrier by marking
some (OS) pages as unreadable, and installing a SIGBUS/SIGSEGV handler
to detect when they're accessed and invalidate an attempt to move the
object.
Unfortunately,... -
02:27 PM Revision 7f05f737 (git): Reuse an interned string
- Repeating to intern the same string is just redundant, as interned
strings for the same content are always the same object until it gets
collected. -
02:06 PM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
- Adding `Exception#source_contents` or `code_location` (an object exposing everything needed) or even just `source_location` would be great.
TruffleRuby can implement it easily, and already has all the necessary information available.
... -
08:51 AM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
- >I'll add you as an admin to zombocom/dead_end so you can make the move, please don't forget to give me access after the move though 🙏🏻.
@schneems Thanks! I got it. I'll support to merge `dead_end` into `ruby/ruby` and transfer it to ... -
01:52 PM Bug #17130: Method#super_method is broken for aliased methods
- @Dan0042 Indeed, here is another example, with an actual `super` call to prove what it calls:
```ruby
class P
def foo; :P; end
end
class A < P
def foo; super; end
end
class B < A
alias foo2 foo
end
p B.new.foo2 # :P
... -
01:45 PM Feature #18831: Block argument to `yield`
- IMHO it would make sense to support it, since `Proc#call` already supports it.
-
09:32 AM Feature #18831: Block argument to `yield`
- We discussed this issue at the dev meeting, and @matz was not positive to change it.
Currently, Ruby does not accept `yield` with a block, but Ripper does. However, it is not trivial to fix Ripper. This issue is strongly related to #1... -
01:44 PM Revision 2790bddd (git): Remove unused function declaration
- iseq_alloc is not used in compile.c. It is also a static function
declared in iseq.c so it's not accessible in compile.c. -
01:36 PM Revision 9327b6f2 (git): [ruby/fileutils] [DOC] Revisions for module-level doc (https://github.com/ruby/fileutils/pull/90)
- * Revisions for module-level doc
https://github.com/ruby/fileutils/commit/dcbad90a1f -
01:29 PM Bug #18808: Cannot compile ruby 3.1.2 on powerpc64le-linux without disabling the jit features
- Sorry for the delay here are copies of the requested files. I had to change some path info in the config.log since it had identifying information.
So for example /afs/some_string/ -> /afs/xyz and /opt/xsite/some_other_string/ -> /opt/... -
01:15 PM Revision 721e012d (git): [ci skip][lldb] Fix array length representation with USING_RVARGC
- This commit makes `rp` report the correct array length in lldb.
When USING_RVARGC is set we use 7 bits of the flags to store the array
len rather than the usual 2, so they need to be part of the mask when
calculating the length in lldb.... -
01:11 PM Revision c34a5469 (git): Debug TestThreadInstrumentation
- It previously failed with:
```
1) Failure:
TestThreadInstrumentation#test_thread_instrumentation_fork_safe [/home/runner/work/ruby/ruby/src/test/-ext-/thread/test_instrumentation_api.rb:50]:
<5> expected but was
<4>.
```
Sugg... -
12:48 PM Bug #18837 (Rejected): Not possible to evaluate expression with numbered parameters in it
- I presume it's not really a bug, but design flaw, but this is really frustrating. Use case is - debugger.
Here is script with expected behavior:
```
def dumper(bnd)
puts bnd.local_variable_get 'i'
puts bnd.eval 'i * 10'
end
... -
10:48 AM Misc #18836: DevMeeting-2022-07-21
- * [Bug #18832] Suspicious superclass mismatch (#18832) (eregon)
* OK to fix it? (i.e., don't look into included/prepended modules in Object, no special rule if the closest nesting is Object/top-level)
* Any compatibility concerns? ... -
09:43 AM Misc #18836 (Closed): DevMeeting-2022-07-21
- # The next dev meeting
**Date: 2022/07/21 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-07-21.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu... -
10:45 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- Yes, I think that's a great example why we should fix this.
Anyone should still be able to define a `Comment` (defined as a constant of `Object`) class with just `class Comment` at the top-level, even if with `REXML::Comment` + `inclu... -
10:08 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- A good exercise is to try to document this (all lookups should be documented). Something like:
> In the `class/module` keywords, the constant is checked in the cref. If present, the object is retrieved. If it is a class/module respectiv... -
10:01 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- It is super important to highlight that the problem is not the behavior isolated, but that this is unexpected because it does not work like this for any other cref.
-
10:00 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- @Eregon Is this one better suited?
```ruby
require "active_record"
require "rexml"
include REXML
class Comment < ActiveRecord::Base # superclass mismatch for class Comment (TypeError)
end
```
That is the gist of what happ... -
09:49 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- @fxn Yes, but that is too long. What I think is useful for the dev meeting is a snippet of a few lines, which represents and reproduces the real issue (and Ruby code is often much clearer than a textual description of it).
e.g. I find al... -
08:58 AM Feature #18832: Do not have class/module keywords consider ancestors of Object
- @Eregon sure. The real-world problem that originated this ticket can be found [here](https://discuss.rubyonrails.org/t/rails-rake-gives-zeitwerk-error-when-mentioning-one-model-class-in-another/80821). It is the one I briefly described a...
-
09:43 AM Misc #18803 (Closed): DevMeeting-2022-06-16
-
09:35 AM Bug #9208 (Feedback): Win32 ANSI color no longer works since revision 43331
- @nobu thinks it should be improved in ConEmu side. We need to check if this issue is still active in ConEmu.
-
09:25 AM Feature #18749: Strangeness of endless inclusive ranges
- sawa (Tsuyoshi Sawada) wrote in #note-5:
> @mame san, thanks for letting me know about the discussion.
> ...
It was a typo in his tweet. @mrkn meant "I want it to be false formally". I confirmed him, and I updated my previous comment. -
09:17 AM Bug #17120 (Rejected): String#start_with? return wrong result for Regexp patterns containing /\K/
- `\K` changes the start position of the match string, but it does not change the match position itself. Actually, `"hello" =~ /h\Ke/` returns 0. (Note that `Regexp#=~` return the start position of the match.)
```
irb(main):001:0> "hel... -
08:05 AM Revision 78425d7e (git): [rubygems/rubygems] Unset ENV set by official Ruby docker images
- So that it does not interfere with our specs.
https://github.com/rubygems/rubygems/commit/1029714e21 -
08:05 AM Revision 1e8bf48f (git): [rubygems/rubygems] Bring TODO message up to date
- https://github.com/rubygems/rubygems/commit/e07dba0923
-
08:05 AM Revision 5450b409 (git): [rubygems/rubygems] Remove part of comment that fell out of date
- https://github.com/rubygems/rubygems/commit/272ac23aa8
-
08:05 AM Revision 8855b68f (git): [rubygems/rubygems] Don't modify RbConfig at all when building extensions
- Instead, pass sitearchdir and sitelibdir directly to `make`.
This also removes the need to create and use the siteconf file at all
when generating makefiles.
https://github.com/rubygems/rubygems/commit/dea41fa2dc -
08:05 AM Revision 1aaeff8e (git): [rubygems/rubygems] Remove unnecessary condition
- This variable can't be falsy.
https://github.com/rubygems/rubygems/commit/b838f9a6f0 -
08:05 AM Revision 5a385677 (git): [rubygems/rubygems] No need to change `RbConfig::CONFIG` at all
- Only `RbConfig::MAKEFILE_CONFIG` is actually used.
https://github.com/rubygems/rubygems/commit/b767cc0929 -
07:08 AM Revision b6c1e115 (git): GVL Instrumentation API: add STARTED and EXITED events
- [Feature #18339]
After experimenting with the initial version of the API I figured there is a need
for an exit event to cleanup instrumentation data. e.g. if you record data in a
{thread_id -> data} table, you need to free associated da... -
05:37 AM Revision 20d41682 (git): Skip failing test on FreeBSD [ci skip]
-
03:02 AM Revision 420f3ced (git): Using is_ascii_string to check encoding
-
02:59 AM Revision 51a3ebf4 (git): Using RBOOL in cmp_between func
- 02:58 AM Revision 1dfe007e (git): Update configure.ac
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
- 02:58 AM Revision f3b54d5f (git): Add branch protection to aarch64 targets
-
01:47 AM Revision 2c190863 (git): Suppress code unused unless GC_CAN_COMPILE_COMPACTION