Project

General

Profile

Activity

From 08/30/2022 to 09/05/2022

09/05/2022

03:39 PM Revision 63ed61e3 (git): Deal with MJIT_FORCE_ENABLE miniruby
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/4225469 k0kubun (Takashi Kokubun)
03:27 PM Revision ca172540 (git): * 2022-09-06 [ci skip]
git[bot]
03:26 PM Revision 27eb7158 (git): Workaround unused variable warning by builtin
```
<internal:mjit_compiler>:43: warning: assigned but unused variable - iseq_addr
<internal:mjit_compiler>:48: warning: assigned but unused variable - ci_addr
<internal:mjit_compiler>:53: warning: assigned but unused variable - ci_addr
...
k0kubun (Takashi Kokubun)
12:21 PM Revision 6bc6c8d0 (git): [rubygems/rubygems] Remove no longer needed `fiddle` hacks
RubyInstaller has released patch versions backporting their changes to
not load `fiddle` on boot, so all these are no longer necessary.
https://github.com/rubygems/rubygems/commit/05a307deb2
deivid (David Rodríguez)
10:36 AM Revision a8a7c9d0 (git): [DOC] [Bug #17120] Fix match-reset `\K`
nobu (Nobuyoshi Nakada)
10:06 AM Revision 4331d4bb (git): Update default gems list at 113581d288496f8f3e60851b76b751 [ci skip]
git[bot]
10:05 AM Revision 113581d2 (git): [ruby/set] Set version to 1.0.3.dev for fixing rubygems/bundler tests
https://github.com/ruby/set/commit/40dda15d7f hsbt (Hiroshi SHIBATA)
09:02 AM Revision 915cbdb2 (git): Stop testing MJIT on s390x
It didn't work either.
http://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20220905T080003Z.fail.html.gz
k0kubun (Takashi Kokubun)
08:30 AM Revision fb769aaa (git): Update MJIT doc about bindgen and platforms [ci skip]
k0kubun (Takashi Kokubun)
08:25 AM Revision cb26917d (git): Drop Solaris support for MJIT
I tried to debug:
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20220905T070005Z.fail.html.gz
but I don't have sudo privilege to install dependencies such as xz on
that machine. Thus I can't extract a prebuilt libclang bin...
k0kubun (Takashi Kokubun)
08:06 AM Revision 06eb9af8 (git): Add mjit-bindgen workflow (#6327)
k0kubun (Takashi Kokubun)
07:27 AM Revision c2986f7d (git): Fix warnings from private_constant
`private_constant *constants` seems to be warned for some reason k0kubun (Takashi Kokubun)
06:25 AM Revision d77c037a (git): Automatically detect 64bit platforms
k0kubun (Takashi Kokubun)
06:23 AM Revision 967fe334 (git): s390x seems like a 64bit architecture
k0kubun (Takashi Kokubun)
05:37 AM Revision 3eca1e43 (git): Merge https://github.com/rubygems/rubygems/commit/16c3535413afebcdbab7582c6017c27b5da8a8dc
hsbt (Hiroshi SHIBATA)
04:53 AM Revision 3767c6a9 (git): Ruby MJIT (#6028)
k0kubun (Takashi Kokubun)
04:45 AM Revision 277498e2 (git): Attempt to fix test-bundler
f7cf641469161c3770b58f79e08e312512212aa8 broke spec/bundler/install/gems/resolving_spec.rb:356.
This line seems to impact that test, so I slightly modified the
implementation for that spec's case.
k0kubun (Takashi Kokubun)
04:08 AM Revision 4d469472 (git): Debugging snapshot [ci skip]
nobu (Nobuyoshi Nakada)
02:43 AM Revision 45fe7f75 (git): [rubygems/rubygems] Feature: `bundle add` supports `--path` option
https://github.com/rubygems/rubygems/commit/32bee01fbe mdalessio (Mike Dalessio)
02:43 AM Revision f7cf6414 (git): [rubygems/rubygems] Fix resolution hanging on musl platforms
After recent musl support was added, Bundler started hanging in musl
platforms. I identified the issue where valid candidates were being
filtered out because their platform was specified as a string, and thus
`Gem::Platform.match_spec?` ...
deivid (David Rodríguez)
02:25 AM Revision 14203334 (git): Fix fake.rb expansion from preprocessed version.h
nobu (Nobuyoshi Nakada)
02:16 AM Revision 85a48316 (git): Use cross compiling settings as fake.rb for snapshots
nobu (Nobuyoshi Nakada)
02:16 AM Revision 68a092a4 (git): Set fake.rb variables by command line arguments
Then fallbacks to preprocessed version.h. nobu (Nobuyoshi Nakada)
01:22 AM Revision f6d569b7 (git): Call appropriate hooks on MJIT's fork
This takes care of signal_self_pipe and other things. k0kubun (Takashi Kokubun)

09/04/2022

11:13 PM Bug #18880: IO#sysread on Windows does not validate arguments
I'm interested in submitting a patch for this, but which behavior is considered correct? javanthropus (Jeremy Bopp)
11:06 PM Bug #18995 (Open): IO#set_encoding sometimes set an IO's internal encoding to the default external encoding
This script demonstrates the behavior:
```ruby
def show(io)
printf(
"external encoding: %-25p internal encoding: %-25p\n",
io.external_encoding,
io.internal_encoding
)
end
Encoding.default_external = 'iso-88...
javanthropus (Jeremy Bopp)
03:16 PM Revision 51291ade (git): Remove extra semicolons at the top level [ci skip]
nobu (Nobuyoshi Nakada)
03:00 PM Revision e83183b4 (git): * 2022-09-05 [ci skip]
git[bot]
02:59 PM Revision 76664905 (git): Ignore fake.rb for snapshot
nobu (Nobuyoshi Nakada)
02:50 PM Bug #18743: Enumerator#next / peek re-use each others stacktraces
Good day, @matz. Is the fix above acceptable? marcper (Marcelo Pereira)
09:16 AM Bug #18994 (Closed): Range#last(n) returns empty for single-element Integer Range
Applied in changeset commit:git|bbe5ec78463f8d6ef2e1a3571f17357a3d9ec8e4.
----------
rb_int_range_last: properly handle non-exclusive range
[Bug #18994]
byroot (Jean Boussier)
07:49 AM Bug #18994: Range#last(n) returns empty for single-element Integer Range
Thanks, I have a patch for it: https://github.com/ruby/ruby/pull/6324 byroot (Jean Boussier)
09:16 AM Revision bbe5ec78 (git): rb_int_range_last: properly handle non-exclusive range
[Bug #18994] byroot (Jean Boussier)
07:55 AM Revision c498b16a (git): revision up for https://github.com/ruby/ruby/pull/6296
nagachika (Tomoyuki Chikanaga)
07:54 AM Bug #18981: Backport bundle loader option to stable versions
Merged https://github.com/ruby/ruby/pull/6296. nagachika (Tomoyuki Chikanaga)
07:53 AM Revision 1821b759 (git): Backport https://github.com/ruby/ruby/pull/6193
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com> hsbt (Hiroshi SHIBATA)
07:26 AM Bug #18775: Backport ef525b012a709077ea2797e8642fae0b61234063
ruby_3_1 882d4203f184ac93ac5c2c02c1e9f4b26cfad1db merged revision(s) ef525b012a709077ea2797e8642fae0b61234063,dc9a13abeef5a2b936fbb55edc112b8b382a05e7. nagachika (Tomoyuki Chikanaga)
07:25 AM Bug #18631: Range check breaks multiplex backreferences in regular expressions
ruby_3_1 6b8bf6ba5d1893b3c933c2de3ada1eb59a94b644 merged revision(s) 6d3f447aecfb56f7d3edbdf9cc68e748e150d7d8. nagachika (Tomoyuki Chikanaga)
07:25 AM Bug #18670: MatchData#[start, length] pads nil values when negative start is given
ruby_3_1 1cfc139f6d0cb80d6024b0c416976194929417cf merged revision(s) d8189ed23f02dd197453279aeee9be1785337d4f. nagachika (Tomoyuki Chikanaga)
07:24 AM Revision 882d4203 (git): merge revision(s) ef525b012a709077ea2797e8642fae0b61234063,dc9a13abeef5a2b936fbb55edc112b8b382a05e7: [Backport #18775]
Explicit handling of frozen strings in `IO::Buffer#for`. (#5892)
---
io_buffer.c | 122 +++++++++++++++++++++++++++++++++++---------
test/ruby/test_io_buffer.rb | 36 +++++++------
2 fil...
nagachika (Tomoyuki Chikanaga)
07:01 AM Revision 6b8bf6ba (git): merge revision(s) 6d3f447aecfb56f7d3edbdf9cc68e748e150d7d8: [Backport #18631]
Fix multiplex backreferencs near end of string in regexp match
Idea from Jirka Marsik.
Fixes [Bug #18631]
---
regexec.c | 6 ++++--
test/ruby/test_regexp.rb | 6 ++++++
2 ...
nagachika (Tomoyuki Chikanaga)
07:00 AM Revision 1cfc139f (git): merge revision(s) d8189ed23f02dd197453279aeee9be1785337d4f: [Backport #18670]
Return only captured range in `MatchData` [Bug #18670]
---
re.c | 2 +-
test/ruby/test_regexp.rb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
03:01 AM Revision cfa40e22 (git): Prefer stdbool for MJIT options
same motivation as d6f21b308bcff03e82f8b3dbf11a852ce111b3b3 k0kubun (Takashi Kokubun)

09/03/2022

06:01 PM Revision 13a59747 (git): * 2022-09-04 [ci skip]
git[bot]
05:17 PM Misc #18977: DevMeeting-2022-09-22
* [Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object. (eregon)
* I think we should re-add (undo revert) {Method,UnboundMethod}#{public?,private?,protected?} on master, see https://bugs.ruby-la...
Eregon (Benoit Daloze)
05:07 PM Revision 45004bba (git): fake.rb needs id.h
nobu (Nobuyoshi Nakada)
03:20 PM Bug #18994 (Closed): Range#last(n) returns empty for single-element Integer Range
`Range#last(n)` with a single-element of Integer returns an empty Array. It should return a one-element Array.
Interestingly, when the element is a String, `last(n)` returns a one-element Array, expectedly.
I have checked the behav...
masasakano (Masa Sakano)
02:58 PM Feature #18949: Deprecate and remove replicate and dummy encodings
PR for deprecating `Encoding#replicate` and the dummy `Encoding::UTF_16/32` encodings: https://github.com/ruby/ruby/pull/6322 Eregon (Benoit Daloze)
10:41 AM Feature #18949: Deprecate and remove replicate and dummy encodings
Here is the dev meeting log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-08-18.md#feature-18949-deprecate-and-remove-replicate-and-dummy-encodings-eregon
> Conclusion: Just remove the dynamic UTF-16/32 endian d...
Eregon (Benoit Daloze)
02:47 PM Revision 0111dc5b (git): [DOC] Escape backqoute method not to be converted to smart quotes
nobu (Nobuyoshi Nakada)
02:26 PM Revision baf05010 (git): [DOC] Remove extra page-dir prefix to fix broken link
nobu (Nobuyoshi Nakada)
01:57 PM Misc #17591 (Closed): Test frameworks and REPLs do not show deprecation warnings by default
This is done, except for RSpec, which is tracked in https://github.com/rspec/rspec-core/issues/2867. Eregon (Benoit Daloze)
01:36 PM Revision fe865c52 (git): [DOC] Enhanced RDoc for Time (#6320)
Treats:
#yday
#dst?
#zone
#to_a
#strftime
burdettelamar (Burdette Lamar)
12:57 PM Revision 2767cb28 (git): Now fake.rb is needed to prepare sources
nobu (Nobuyoshi Nakada)
12:37 PM Revision a01271c1 (git): BOOTSTRAPRUBY needs fake.rb when cross-compiling
nobu (Nobuyoshi Nakada)
12:02 PM Revision 7b11247b (git): Fix potential target type confliction [ci skip]
nobu (Nobuyoshi Nakada)
10:25 AM Revision 7c67d0fd (git): Make sources by BASERUBY if available instead of miniruby
nobu (Nobuyoshi Nakada)
10:20 AM Revision 8f13d75a (git): Generate the prelude sources by common-srcs
nobu (Nobuyoshi Nakada)
10:20 AM Revision 6f5305e0 (git): Exclude LIBPATHENV wrapper from PREP
nobu (Nobuyoshi Nakada)
10:20 AM Revision 21a5da3c (git): Check if MSys shell can run a command with a drive letter
nobu (Nobuyoshi Nakada)
10:20 AM Revision d8f81ffd (git): builtin.c includes mini_builtin.c when cross-compiling
nobu (Nobuyoshi Nakada)
10:19 AM Revision 652a6248 (git): miniruby may not be built when cross-compiling
nobu (Nobuyoshi Nakada)
09:42 AM Revision c4f2f2ef (git): Reuse macros defined in Makefile.in
nobu (Nobuyoshi Nakada)
08:41 AM Feature #16122: Data: simple immutable value object
RubyBugs (A Nonymous) wrote in #note-58:
> We hope that a Ruby-native solution might address some of the same needs we have in the gem:
Can you please file a separate ticket to discuss `Data` extensions that don't exist in Struct? Ther...
k0kubun (Takashi Kokubun)
06:57 AM Bug #18992: Update versions of the default gems for Ruby 3.1
The pull request was merged. nagachika (Tomoyuki Chikanaga)
06:56 AM Revision 4d26cfb2 (git): revision up for https://github.com/ruby/ruby/pull/6125
nagachika (Tomoyuki Chikanaga)
06:54 AM Revision 4a9a38c3 (git): Bump typeprof version to 0.21.3
hsbt (Hiroshi SHIBATA)
06:54 AM Revision 5ae91c7f (git): Bump rbs version to 2.6.0+
hsbt (Hiroshi SHIBATA)
06:54 AM Revision eed5970b (git): Merge csv-3.2.5
hsbt (Hiroshi SHIBATA)
06:54 AM Revision cd0c2a67 (git): Merge csv-3.2.4
hsbt (Hiroshi SHIBATA)
06:54 AM Revision c69fffe6 (git): Merge csv-3.2.3
hsbt (Hiroshi SHIBATA)
06:54 AM Revision a9bf13a4 (git): Merge RubyGems-3.3.21 and Bundler-2.3.21
hsbt (Hiroshi SHIBATA)
06:54 AM Revision 522b75f1 (git): Merge RubyGems-3.3.20 and Bundler-2.3.20
hsbt (Hiroshi SHIBATA)
06:54 AM Revision 44c926f3 (git): Merge RubyGems-3.3.19 and Bundler-2.3.19
hsbt (Hiroshi SHIBATA)
06:54 AM Revision 09187833 (git): Merge RubyGems-3.3.18 and Bundler-2.3.18
hsbt (Hiroshi SHIBATA)
06:54 AM Revision 7ef68dd7 (git): Merge RubyGems-3.3.17 and Bundler-2.3.17
hsbt (Hiroshi SHIBATA)
06:54 AM Revision a01f5ad1 (git): Merge RubyGems-3.3.16 and Bundler-2.3.16
hsbt (Hiroshi SHIBATA)
06:54 AM Revision b9f6a09b (git): Merge RubyGems-3.3.15 and Bundler-2.3.15
hsbt (Hiroshi SHIBATA)
06:54 AM Revision d7862a5d (git): Merge RubyGems-3.3.14 and Bundler-2.3.14
hsbt (Hiroshi SHIBATA)
06:18 AM Bug #18739: Wrong mid-rule index
ruby_3_1 ffd3d83ea8ccf111061a0f03036e5a093bb03674 merged revision(s) 08b6aacc1a14440e0f1644a05238559c6c585e38. nagachika (Tomoyuki Chikanaga)
06:18 AM Revision ffd3d83e (git): merge revision(s) 08b6aacc1a14440e0f1644a05238559c6c585e38: [Backport #18739]
Fix the wrong index of the previous component [Bug #18739]
---
parse.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
06:06 AM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
ruby_3_1 5473c1064d5e82d706b554f2fe5a5b41900f6b14 merged revision(s) 8212aab81a77a2a91fb7c1681b4968171193b48f,209631a45f9682dedf718f4b4a140efe7d21a6fc. nagachika (Tomoyuki Chikanaga)
06:05 AM Revision 5473c106 (git): merge revision(s) 8212aab81a77a2a91fb7c1681b4968171193b48f,209631a45f9682dedf718f4b4a140efe7d21a6fc: [Backport #18435]
Make Object#method and Module#instance_method not skip ZSUPER methods
Based on https://github.com/jeremyevans/ruby/commit/c95e7e5329140f640b6497905485761f3336d967
Among other things, this fixes calling visibility method...
nagachika (Tomoyuki Chikanaga)
06:01 AM Revision bc5b9be1 (git): Move duplicate dependencies
nobu (Nobuyoshi Nakada)

09/02/2022

07:11 PM Revision c8c90e45 (git): Enhanced RDoc for Tim[DOC] (#6319)
burdettelamar (Burdette Lamar)
06:28 PM Revision 6bb2a43c (git): * 2022-09-03 [ci skip]
git[bot]
06:27 PM Revision 1b8a644b (git): [ruby/reline] Fix a typo [ci skip]
https://github.com/ruby/reline/commit/33bf80e757 nobu (Nobuyoshi Nakada)
06:18 PM Bug #18993 (Closed): Inconsistent Range#size for Float and Rational
The returned values of Range#size between Rational and Float and also with regard to `exclude_end` of true and false are inconsistent.
The example below highlights the difference. The first and second should return the same value. The...
masasakano (Masa Sakano)
03:01 PM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
@Dan0042 It is not a "clone".
nobu (Nobuyoshi Nakada)
02:55 PM Bug #18970 (Third Party's Issue): CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
nobu (Nobuyoshi Nakada)
01:11 PM Revision 5044832f (git): `w_bigfixnum` is used only for large FIXNUM
nobu (Nobuyoshi Nakada)
10:18 AM Bug #18991: False LocalJumpError when branch coverage is enabled
Good catch, thank you for your report. I could recreate the issue without coverage.
```
RubyVM::InstructionSequence.compile_option = false
eval("1&.tap { break }") #=> break from proc-closure (LocalJumpError)
```
Here is my anal...
mame (Yusuke Endoh)
03:22 AM Bug #18991 (Closed): False LocalJumpError when branch coverage is enabled
Enabling branch coverage leads to a false LocalJumpError where it should not be raised.
```ruby
# test.rb
require "coverage"
Coverage.start(branches: true)
# Coverage.start(lines: true)
load "./test2.rb"
```
```ruby
# test...
qnighy (Masaki Hara)
07:09 AM Revision 0d2422cf (git): [ruby/reline] Workaround for padding width with Aracritty on macOS
https://github.com/ruby/reline/commit/fb4136c8a7 hsbt (Hiroshi SHIBATA)
07:09 AM Revision 7ff50ee3 (git): [ruby/reline] Added some of abstruct methods for cursor
https://github.com/ruby/reline/commit/f5fa30d595 hsbt (Hiroshi SHIBATA)
06:57 AM Revision f069bc79 (git): * append newline at EOF. [ci skip]
git[bot]
06:30 AM Revision 740d530b (git): Added doc about `test-syntax-suggest`
hsbt (Hiroshi SHIBATA)
06:25 AM Revision e7a8e3e9 (git): Added entries about test-bundler-parallel and BUNDLER_SPECS
hsbt (Hiroshi SHIBATA)
05:49 AM Revision 92d24762 (git): Adjust styles [ci skip]
nobu (Nobuyoshi Nakada)
05:33 AM Revision b5cf3564 (git): Consider Complex from Complex cases
The assertions that "an argument of a Complex constructor must not be
a Complex" may not hold for some Numeric objects.
nobu (Nobuyoshi Nakada)
05:33 AM Revision 9212d963 (git): [Bug #18937] Coerce non-real non-Numeric into Complex at comparisons
nobu (Nobuyoshi Nakada)
05:33 AM Revision a9b59e24 (git): Turn `f_zero_p` to `bool`
nobu (Nobuyoshi Nakada)
04:29 AM Bug #18992 (Closed): Update versions of the default gems for Ruby 3.1
This is a ticket for backport management.
https://github.com/ruby/ruby/pull/6125
Note: rbs-2.6.0+ is temporary for test fails with `Gem.use_gemdeps`. We should replace it with 2.6.1 or 2.7.0 after releasing a stable version.
hsbt (Hiroshi SHIBATA)
03:05 AM Revision e896b338 (git): Test --enable-yjit on aarch64 as well (#6313)
k0kubun (Takashi Kokubun)
03:05 AM Revision fb5fa84f (git): Remove workarounds for slow compilation on Cirrus (#6310)
Remove workarounds for slow compilation k0kubun (Takashi Kokubun)
02:14 AM Revision 9b48edd9 (git): Allow comparing against 64-bit immediates on x86 (#6314)
kddnewton (Kevin Newton)
12:36 AM Revision fc2d9fed (git): Use getblockparamproxy with branch
A common pattern when the block is an explicit parameter is to branch
based on the block parameter instead of using `block_given?`, for
example `block.call if block`.
This commit checks in the peephole optimizer for that case and uses t...
jhawthorn (John Hawthorn)

09/01/2022

11:02 PM Bug #18985: SEGV with YJIT on aarch64-linux
Thanks, I also confirm working it.
```
chkbuild@rubyci-ubuntu2004-arm:~$ ruby --jit -v -e "puts :foo"
ruby 3.2.0dev (2022-09-01T22:21:12Z master 3401e58f23) +YJIT [aarch64-linux]
foo
```
hsbt (Hiroshi SHIBATA)
08:40 PM Bug #18985: SEGV with YJIT on aarch64-linux
merged the fix. it should be working now. k0kubun (Takashi Kokubun)
08:38 PM Bug #18985 (Closed): SEGV with YJIT on aarch64-linux
Applied in changeset commit:git|064944c9029fae0552f120ea586f4f83ce206ec6.
----------
Stop using a callee-saved register for scratch0 on aarch64 (#6312)
[Bug #18985]
* Callee-save x22 for aarch64
* Just use a caller-saved register
* ...
k0kubun (Takashi Kokubun)
10:21 PM Revision 3401e58f (git): * expand tabs. [ci skip]
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
git[bot]
10:20 PM Revision 1cc97412 (git): Remove rb_iseq_each
jhawthorn (John Hawthorn)
10:20 PM Revision 679ef345 (git): New constant caching insn: opt_getconstant_path
Previously YARV bytecode implemented constant caching by having a pair
of instructions, opt_getinlinecache and opt_setinlinecache, wrapping a
series of getconstant calls (with putobject providing supporting
arguments).
This commit repla...
jhawthorn (John Hawthorn)
09:59 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
> That behavior should be inherited from Cygwin.
Thanks, never saw a specific reference to that.
I'm ok to close, not sure about RubyInstaller2, probably better to have an issue there if there are issues with Bash bin files...
MSP-Greg (Greg L)
09:12 PM Revision 7064d259 (git): Update NEWS.md for YJIT
k0kubun (Takashi Kokubun)
08:38 PM Revision 064944c9 (git): Stop using a callee-saved register for scratch0 on aarch64 (#6312)
[Bug #18985]
* Callee-save x22 for aarch64
* Just use a caller-saved register
* Update yjit/src/backend/arm64/mod.rs
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmai...
k0kubun (Takashi Kokubun)
06:56 PM Revision 41911847 (git): * 2022-09-02 [ci skip]
git[bot]
06:55 PM Revision 4144abee (git): Let --yjit-dump-disasm=all dump ocb code as well (#6309)
* Let --yjit-dump-disasm=all dump ocb code as well
* Use an enum instead
* Add a None Option to DumpDisasm (#444)
* Add a None Option to DumpDisasm
* Update yjit/src/asm/mod.rs
Co-authored-by: Maxime Chevalier-Boisvert <maximecheval...
k0kubun (Takashi Kokubun)
04:09 PM Feature #16122: Data: simple immutable value object
**4. Conversion from and to Hash**
For example: a keyword arg constructor accepting `(**hsh)`, and a `#to_h` method
RubyBugs (A Nonymous)
04:04 PM Feature #16122: Data: simple immutable value object
**3. Keyword arg constructors**
Because a non-mutating copy-with-changes such as `#with` will need to take keyword arguments to indicate which values to change, it’s useful to provide a constructor form which also accepts keyword argu...
RubyBugs (A Nonymous)
04:00 PM Feature #16122: Data: simple immutable value object
**2. Highly optimized hash and eql?**
Because we use value objects in loops, profiling led us to the commits in our fork of tcrayford/values, which optimize these methods, so that using Value objects in Sets and as Hash keys will be a...
RubyBugs (A Nonymous)
03:58 PM Feature #16122: Data: simple immutable value object
@eregon This is great news!
At Panorama Education, we use maintain a fork of the tcrayford/values gem here for this purpose here: https://github.com/ms-ati/Values/tree/panoramaed-2.0.x
We hope that a Ruby-native solution might addr...
RubyBugs (A Nonymous)
03:06 PM Bug #18990 (Closed): Pattern matching unexpectedly raises "duplicated key name" error
I've found that sometimes, when matching nested patterns, I get an unexpected "duplicate key name" error but there's no duplicate key in any individual pattern. The "duplicated" key is actually in another pattern that's in scope, which I... zeke (Zeke Gabrielse)
01:57 PM Feature #18980: `it` as a default block parameter
@zverok Again, thank you very much, this is super informative. Dan0042 (Daniel DeLorme)
01:13 PM Feature #18980: `it` as a default block parameter
@Dan0042
```
$ egrep _1 {app,lib} -r --include \*.rb | wc -l
378
$ egrep '\{ *_1' {app,lib} -r --include \*.rb | wc -l
151
$ egrep '\{ *_1\.' {app,lib} -r --include \*.rb | wc -l
92
```
And even of those 92, not all are suitable for `{...
zverok (Victor Shepelev)
12:23 PM Feature #18980: `it` as a default block parameter
zverok (Victor Shepelev) wrote in #note-31:
> I am afraid I don't see a pattern that you hope to see (e.g., quoting #16120, that it would mostly be `{ _1.something(args) }`.
Thank you. It's surprising to me, but very enlightening. N...
Dan0042 (Daniel DeLorme)
12:16 AM Feature #18980: `it` as a default block parameter
> Now I'm almost giving it up because there are more people who dislike it than I expected.
Is it really a problem though? This proposal is basically about a new alias for an existing feature. I don't think it logically need to please...
byroot (Jean Boussier)
11:57 AM Revision 462a8be5 (git): VCS#revision_header: Make arguments optional
nobu (Nobuyoshi Nakada)
10:47 AM Revision f67ab7f3 (git): [ruby/did_you_mean] Fixed correction duplicates in VariableNameChecker
https://github.com/ruby/did_you_mean/commit/c3fc412f6f makketagg (Imir Kiyamov)
10:37 AM Feature #18951: Object#with to set and restore attributes around a block
Or maybe making the restore more explicit
``` ruby
obj.assign_attrs(foo: "bar") do
# do something
end.restore
```
``` ruby
obj.assign_attrs(foo: "bar") do |restorable|
# do something
ensure
restorable.restore
end
```
``` ruby
ob...
p8 (Petrik de Heus)
10:03 AM Bug #18981 (Closed): Backport bundle loader option to stable versions
hsbt (Hiroshi SHIBATA)
09:45 AM Revision 55b16009 (git): Update revision.h in packages using `VCS#revision_header`
nobu (Nobuyoshi Nakada)
09:37 AM Bug #18989 (Closed): Backport f229b36087f1b387d77af8f3fa50f9bffd2fd44e to ruby_3_1
This is a ticket for backport management.
f229b36087f1b387d77af8f3fa50f9bffd2fd44e should be backported into ruby_3_1.
nagachika (Tomoyuki Chikanaga)
09:01 AM Revision ee09f75a (git): Extract `VCS#revision_header`
nobu (Nobuyoshi Nakada)
09:01 AM Revision 762fca9b (git): Prefer `File` class methods to write a string
nobu (Nobuyoshi Nakada)
08:02 AM Revision f3becd73 (git): Ignore test libraries like assert_ractor from did_you_mean
hsbt (Hiroshi SHIBATA)
07:36 AM Revision 59e8569c (git): [ruby/reline] Support dumb terminal
The "dumb" terminal is considered only on MSys tty now. However, the
`TERM` feature has been used on many Unix-like systems for decades,
not MSys specific.
https://github.com/ruby/reline/commit/53fd51ab62
nobu (Nobuyoshi Nakada)
07:15 AM Revision f229b360 (git): Fix test fail with assert_ractor outside of ruby/ruby repo
Revert 806583c093ecc2d67830f0a8f0d94decf0ed71e5 hsbt (Hiroshi SHIBATA)
06:01 AM Revision aa5c1a04 (git): [rubygems/rubygems] Support non gnu libc arm-linux-eabi platforms
https://github.com/rubygems/rubygems/commit/fcf62799f2 ntkme (Natsuki Natsume)
06:01 AM Revision aded6971 (git): [rubygems/rubygems] Support non gnu libc arm-linux-eabi platforms
https://github.com/rubygems/rubygems/commit/394d7a6fc9 ntkme (Natsuki Natsume)
05:01 AM Revision 941e9be0 (git): [ruby/reline] Remove loose operation in Dialog#render_each_dialog
https://github.com/ruby/reline/commit/a6d1c917ce Maumagnaguagno (Mau Magnaguagno)
12:18 AM Revision ce70cb64 (git): It was a relative path [ci skip]
k0kubun (Takashi Kokubun)
12:16 AM Revision a0d2320f (git): Add a document about YJIT's Rust version
k0kubun (Takashi Kokubun)

08/31/2022

10:38 PM Feature #18980: `it` as a default block parameter
Now I'm almost giving `it` up because there are more people who dislike `it` than I expected. I thought compatibility was the only blocker of `it`, but it doesn't seem like the case.
However, even if `it` is not gonna make it, the probl...
k0kubun (Takashi Kokubun)
10:04 PM Feature #18980: `it` as a default block parameter
@Dan0042
> Out of curiosity, how many of those ~200 are used as the first token in the block (like { _1.foo }) vs. how many used in another way?
I am afraid I don't see a pattern that you hope to see (e.g., quoting #16120, that it...
zverok (Victor Shepelev)
08:53 PM Feature #18980: `it` as a default block parameter
Dan0042 (Daniel DeLorme) wrote in #note-29:
> I'm also one of those who didn't manage to get used to this syntax. I'll use it sometimes in IRB, or in code samples in this tracker, but never in any code I commit... it just feels unclean ...
austin (Austin Ziegler)
07:36 PM Feature #18980: `it` as a default block parameter
I'm also one of those who didn't manage to get used to this syntax. I'll use it sometimes in IRB, or in code samples in this tracker, but never in any code I commit... it just feels unclean for some reason.
So far I count k0kubun and...
Dan0042 (Daniel DeLorme)
10:09 PM Revision 811ca75f (git): Remove -j option
Close https://github.com/ruby/ruby/pull/6307
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
nobu (Nobuyoshi Nakada)
09:36 PM Revision d41be1ac (git): [DOC] Enhanced RDoc for Time (#6308)
More on timezones. burdettelamar (Burdette Lamar)
09:12 PM Feature #18951: Object#with to set and restore attributes around a block
Dan0042 (Daniel DeLorme) wrote in #note-10:
> Also really like the idea, also ambivalent about such a short and generic name.
> ...
- `#override_with`
- `#mut`
- `#mutate`
- `#borrow_with`
- `#with_restore`
- `#restore_do`
- `#ta...
austin (Austin Ziegler)
08:05 PM Feature #18951: Object#with to set and restore attributes around a block
Also really like the idea, also ambivalent about such a short and generic name.
I think it would be good if the name emphasized a bit more that the original values will be restored after the block. Something in the vein of `temporaril...
Dan0042 (Daniel DeLorme)
07:44 PM Revision 036bb559 (git): * 2022-09-01 [ci skip]
git[bot]
07:44 PM Revision be55b77c (git): Better b.cond usage on AArch64 (#6305)
* Better b.cond usage on AArch64
When we're lowering a conditional jump, we previously had a bit of
a complicated setup where we could emit a conditional jump to skip
over a jump that was the next instruction, and then write out the
des...
kddnewton (Kevin Newton)
05:38 PM Bug #17767: `Cloned ENV` inconsistently returns `ENV` or `self`
I realize I'm late, but instead of "pointing the user to use ENV.to_h" it would be more helpful to just have dup/clone be aliases of to_h. It's the obvious behavior that everyone using ENV.clone was expecting in the first place. Dan0042 (Daniel DeLorme)
04:05 PM Bug #18988 (Closed): Ripper cannot parse some code that has regexp named capture
Ripper does not seems to recognize regexp named capture defining new local variables, fails to parse some code.
~~~ruby
requie 'ripper'
# expect syntax ok, got syntax error
Ripper.sexp("/(?<a>)/ =~ ''; x = a **a, a if false")
# ...
tompng (tomoya ishida)
09:00 AM Revision 32a05915 (git): Move macros from version.h to version.c
Moved the contents of `ruby_description` and `ruby_copyright` which
are never used in the other places.
nobu (Nobuyoshi Nakada)
08:56 AM Revision 2b967cd4 (git): Let fake.rb allow newlines in expanded strings
nobu (Nobuyoshi Nakada)
08:28 AM Bug #18973 (Closed): Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
Applied in changeset commit:git|576bdec03f0d58847690a0607c788ada433ce60f.
----------
[Bug #18973] Promote US-ASCII to ASCII-8BIT when adding 8-bit char
nobu (Nobuyoshi Nakada)
08:27 AM Revision 576bdec0 (git): [Bug #18973] Promote US-ASCII to ASCII-8BIT when adding 8-bit char
nobu (Nobuyoshi Nakada)
08:27 AM Revision 9dc60653 (git): Extract `update_coderange` macro
Which restarts scanning the code range in unscanned part. nobu (Nobuyoshi Nakada)
07:28 AM Feature #18571: Removed the bundled sources from release package after Ruby 3.2
The current distributed package still contained libyaml and libffi sources.
We will remove them and introduce the instructions to download them when building ruby like `./configure --enable-download-source`.
hsbt (Hiroshi SHIBATA)
07:08 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
MSP-Greg (Greg L) wrote in #note-15:
> Interesting thing that I found is that MSYS2's `which` command considers a file to executable if it is an exe file or if it starts with a shebang (`#!`).
That behavior should be inherited from C...
nobu (Nobuyoshi Nakada)
06:31 AM Revision 22542a6f (git): SCRIPTBINDIR is ok if it just exists [ci skip]
nobu (Nobuyoshi Nakada)
06:31 AM Revision dc66f724 (git): Scripts under libexec may not be considered to be placed in bin
nobu (Nobuyoshi Nakada)
06:31 AM Revision 08c3d08a (git): `ruby_init_setproctitle` declaration has moved to internal/missing.h
nobu (Nobuyoshi Nakada)
04:58 AM Bug #18666 (Assigned): No rule to make target 'yaml/yaml.h', needed by 'api.o'
hsbt (Hiroshi SHIBATA)
04:58 AM Bug #18614 (Assigned): Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
hsbt (Hiroshi SHIBATA)
04:49 AM Misc #18836 (Closed): DevMeeting-2022-07-21
hsbt (Hiroshi SHIBATA)
04:47 AM Bug #18058 (Assigned): 3.1.0-dev with MJIT enabled Zlib::BufError during `gem install`
hsbt (Hiroshi SHIBATA)
04:40 AM Misc #18976 (Assigned): [ANN] blade.nagaokaut.ac.jp is down
hsbt (Hiroshi SHIBATA)
03:37 AM Revision 739380c9 (git): [ruby/net-protocol] Improve BufferedIO performance
`BufferedIO` is a bit inefficient for reading large responses because
it use the classic `buffer.slice!` technique which cause a lot of
unnecessary string copying.
This is particularly visible on line based protocol when reading
line by...
byroot (Jean Boussier)
01:03 AM Misc #18987 (Closed): [ANN] Sunsetting svn.ruby-lang.org
svn.ruby-lang.org provides subversion write endpoint for stable maintainers and read endpoint for anonymous users. But Ruby 2.6 the last version, used subversion is EOL today.
I will shut down the subversion service of svn.ruby-lang.o...
hsbt (Hiroshi SHIBATA)
12:07 AM Revision 221a5236 (git): Put a documentation about MJIT [ci skip]
k0kubun (Takashi Kokubun)

08/30/2022

09:41 PM Bug #18985 (Assigned): SEGV with YJIT on aarch64-linux
It's AWS `c6g` instance with Ubuntu 20.04.5.
```
Linux rubyci-ubuntu2004-arm 5.13.0-1022-aws #24~20.04.1-Ubuntu SMP Thu Apr 7 22:14:11 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
```
And I build ruby with `ruby-build`. It's simply...
hsbt (Hiroshi SHIBATA)
03:56 PM Bug #18985: SEGV with YJIT on aarch64-linux
Hello @hsbt.
Can you provide more details as to which version of Linux and which CPU you are running? Are you running this on a Raspberry Pi, or is this on an AWS Graviton instance?
It might also be useful for us if you can try an ...
maximecb (Maxime Chevalier-Boisvert)
11:30 AM Bug #18985 (Closed): SEGV with YJIT on aarch64-linux
When we use `-e` option with YJIT, It's always crush on aarch64-linux.
```
$ ruby --jit -e "puts :foo"
/home/chkbuild/.rbenv/versions/3.2.0-dev/lib/ruby/3.2.0+2/aarch64-linux/rbconfig.rb:305: [BUG] Segmentation fault at 0x00000e80f9...
hsbt (Hiroshi SHIBATA)
09:22 PM Revision f4cdfff0 (git): * 2022-08-31 [ci skip]
git[bot]
09:21 PM Revision 4a4daf00 (git): Update .cirrus.yml
Maxime Chevalier-Boisvert
09:21 PM Revision 5dbc725f (git): Skip linking rb_yjit_icache_invalidate on cargo test
Co-authored-by: Kevin Newton <kddnewton@gmail.com> k0kubun (Takashi Kokubun)
09:21 PM Revision 918a6585 (git): Run cargo test on Cirrus
k0kubun (Takashi Kokubun)
09:21 PM Revision 497b5ee1 (git): Normalize the YJIT Cirrus workflow a little
k0kubun (Takashi Kokubun)
07:51 PM Feature #18986 (Open): Raises Exception for Range#last(n) with Float::INFINITY
When a (Numeric) argument is given to `Range#last(n)` for a Range with `Float::INFINITY`, it runs into an infinite loop (see a small code snippet below).
There is no use case for the feature as far as I can think of, and it is hard to d...
masasakano (Masa Sakano)
02:16 PM Feature #18980: `it` as a default block parameter
> One thing that this "design space analysis" keeps ignoring, ...
It doesn't (though I by no means consider it exhaustive or definitive, it is just "what I am thinking about when considering options"):
> ...
It doesn't mention `@` ...
zverok (Victor Shepelev)
01:38 PM Feature #18980: `it` as a default block parameter
zverok (Victor Shepelev) wrote in #note-26:
> My "design space analysis" was sourced by the same idea. I can say that I would NOT choose `it` (or any other name looking "regularly"), unless it would be a keyword (like `self`), having ...
ufuk (Ufuk Kayserilioglu)
11:27 AM Feature #18980: `it` as a default block parameter
> if you were able to design Ruby from the ground up, would you still use a syntax that you think is a name compromise and looks weird for newcomers?
My "design space analysis" was sourced by the same idea. I can say that I would NOT ...
zverok (Victor Shepelev)
08:25 AM Feature #18980: `it` as a default block parameter
> Say, I considered `yield_self` so wrong naming choice I spent the good part of that year fighting for its renaming, but at the same time I started to use it (and it DID make code better, as my colleagues agreed, you just needed to get ... k0kubun (Takashi Kokubun)
07:07 AM Feature #18980: `it` as a default block parameter
> It's interesting that "Numbered parameters (_1, _2, ...) look like unused local variables" doesn't seem to resonate with you.
It did initially, but let's say I got over it. There were several factors in play:
1. I am very concern...
zverok (Victor Shepelev)
10:45 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
I just removed the line pointed out by @Eregon, so I guess all the workarounds added around the `FileUtils.rm_rf` in RubyGems teardown method can now be removed too! deivid (David Rodríguez)
08:14 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
@mame I agree with your analysis, but I have to say from experience that realworld bugs hidden by this behavior are pretty hard to fix too. The warning in verbose mode sounds great, but perhaps we could also mention this in documentation... deivid (David Rodríguez)
07:37 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Here is a patch. Revert fa65d676ece93a1380b9e6564efa4b4566c7a44b and apply:
```diff
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 4ba7d18..178db6e 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -1422,6 +1422,7 @...
mame (Yusuke Endoh)
09:46 AM Revision b98653f7 (git): [rubygems/rubygems] Let `Dir.tmpdir` use the standard path
We're not fully in control of this folder, even when running our own
tests, because MJIT creates some temp folders there when invoking GC.
This bite tests running in ruby-core when making the behavior of
`FileUtils.rm_rf` more strict, b...
deivid (David Rodríguez)
08:36 AM Feature #18982: Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
I don't think people want to exit from a `while item = queue.pop` loop because the queue would block. `for (;;) { if (errno != EAGAIN) break; ... }` is a C idiom (people often break from a loop on error, _except_ EAGAIN). shyouhei (Shyouhei Urabe)
12:42 AM Feature #18982: Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
shyouhei (Shyouhei Urabe) wrote in #note-4:
> +1 for avoiding exceptions but `nil` can be problematic? Because a closed queue would also return `nil` for `pop`. You cannot distinguish if a queue is closed or would just block.
We co...
jeremyevans0 (Jeremy Evans)
12:15 AM Feature #18982: Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
> but nil can be problematic?
This was discussed in #18774:
- `#pop` on closed queue already returns `nil` with no exception. `Queue.new.tap(&:close).pop # => nil`
- `nil` make sense because you can use it in a loop such as `...
byroot (Jean Boussier)
12:08 AM Feature #18982: Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
+1 for avoiding exceptions but `nil` can be problematic? Because a closed queue would also return `nil` for `pop`. You cannot distinguish if a queue is closed or would just block. shyouhei (Shyouhei Urabe)
02:23 AM Revision d6acaa4d (git): Undefine `ruby_debug_log` macro before the function definition
Fix up 27173e3735ff. nobu (Nobuyoshi Nakada)
01:13 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
@nobu
Sorry the above are what I thought would work best with the ruby-loco builds. All three builds (mingw, mswin, & ucrt) are now done that way. Interesting thing that I found is that MSYS2's `which` command considers a file to ex...
MSP-Greg (Greg L)
01:05 AM Revision ddca3482 (git): Check only symbol flag bits (#6301)
* Check only symbol flag bits
* Check all 4 bits
k0kubun (Takashi Kokubun)
 

Also available in: Atom