Activity
From 09/23/2022 to 09/29/2022
09/29/2022
-
03:12 PM Bug #19032: Assertion Failed: vm_insnhelper.c:1176:vm_getivar:rb_ractor_shareable_p(obj) ? rb_ractor_shareable_p(val) : true
- I just realized this is likely to be shape related (https://github.com/ruby/ruby/commit/d594a5a8bd0756f65c078fcf5ce0098250cba141). I notified Jemma.
-
03:09 PM Bug #19032 (Closed): Assertion Failed: vm_insnhelper.c:1176:vm_getivar:rb_ractor_shareable_p(obj) ? rb_ractor_shareable_p(val) : true
- I got 10 occurrences of an assertion failure on our nightly CI. Yesterday's build (`b8e804e410`) was fine, so I suspect the problem was introduced yesterday?
If that assumption is correct the bug would have been introduced in one of t... -
02:45 PM Bug #19031 (Feedback): Ruby 3.1.0 has issue "[BUG] Segmentation fault at 0x0000000000000000"
- Does this issue occur with Ruby 3.1.2?
-
09:42 AM Bug #19031 (Feedback): Ruby 3.1.0 has issue "[BUG] Segmentation fault at 0x0000000000000000"
- I've run on ECS with Rails 7 and ruby 3.1.0. Today I've got the error bellow. Can you guys help me?
```
2022-09-29 15:38:3708:38:37 sidekiq.1 | 3 rational.so
2022-09-29 15:38:3708:38:37 sidekiq.1 | 4 complex.so
2022-09-29 15:38:3708... -
01:52 PM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
- @nagachika Could you also backport the commits of https://github.com/ruby/ruby/pull/6467 ?
The semantics and final code in proc.c is much closer to what it was in 3.1 before the backport just above, so it seems best to backport it for c... -
01:48 PM Revision aa490f94 (git): Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17f
- * So it's easy to review https://github.com/ruby/ruby/pull/6242 +
https://github.com/ruby/ruby/pull/6467 and there are less changes
overall. -
01:48 PM Revision c6319026 (git): Extend tests for a zsuper method of which the method it resolved to has been removed
-
01:48 PM Revision 6b7d32a5 (git): Resolve zsuper method during lookup but preserve owner separately
- * See https://bugs.ruby-lang.org/issues/18729#note-34
* See [Bug #18729] -
01:48 PM Revision aa53d69a (git): Add specs for {Method,UnboundMethod}#owner of a zsuper method
-
01:48 PM Revision 94cea3e4 (git): Fix {Method,UnboundMethod}#super_method for zsuper methods
- * We need to resolve the zsuper method first, and then look the super
method of that. -
01:22 PM Bug #19029 (Closed): Moving a transient heap allocated array between size pools can trigger GC while in GC
- Applied in changeset commit:git|892f350a7db4d2cc99c5061d2e74498dfc4809ca.
----------
[Bug #19029] Don't start GC during compaction
RARRAY_PTR when called with a transient array detransients the array
before returning its pointer which ... -
01:22 PM Revision 892f350a (git): [Bug #19029] Don't start GC during compaction
- RARRAY_PTR when called with a transient array detransients the array
before returning its pointer which allocates in the heap.
Because RARRAY_PTR was being used during compaction (when re-embedding
arrays that have moved between size po... -
12:50 PM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> GCC 12 on GitHub Actions doesn’t show that warning.
> ...
mame (Yusuke Endoh) wrote in #note-5:
> I am not able to repro with `gcc-12 (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0` and x86_64-linux.
A... -
01:42 AM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
- I am not able to repro with `gcc-12 (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0` and x86_64-linux.
- 12:05 PM Revision 4ced7bfb (git): Update bundled gems list at 866cfb248e269f64951c8521707322 [ci skip]
-
12:03 PM Revision 866cfb24 (git): Update bundled_gems
- 08:56 AM Revision 28840d74 (git): [rubygems/rubygems] Refine error message to check the push URL instead of just the host
- https://github.com/rubygems/rubygems/commit/46990f3292
- 08:56 AM Revision 0522e31d (git): [rubygems/rubygems] Refactor tests to use Net::HTTPResponse instances for fetcher.data[:path]
- https://github.com/rubygems/rubygems/commit/4d91cacb1f
Co-authored-by: Jacques Chester <jacques.chester@shopify.com> - 08:56 AM Revision 17b783ad (git): [rubygems/rubygems] Surface entire redirect uri in permanent redirections
- https://github.com/rubygems/rubygems/commit/da7837630b
- 08:56 AM Revision 1cbf0fd8 (git): [rubygems/rubygems] Add error message when api response is a permanent redirect
- https://github.com/rubygems/rubygems/commit/ccca30c77a
Co-authored-by: Nick Schwaderer <nick.schwaderer@shopify.com> -
07:30 AM Misc #19030 (Closed): [ANN] Migrate lists.ruby-lang.org to Google Groups
- Our mailing-list server that is `lists.ruby-lang.org` is too old. And it's difficult to replace new server on AWS because building mail-service on AWS has a lot of limitations. I and @shugo decided to migrate lists.ruby-lang.org to Googl...
-
06:47 AM Revision 9948b8bf (git): Skip unpack_sockaddr_in with http at Solaris platform
- http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20220929T050003Z.fail.html.gz
-
05:56 AM Revision cb16dcb1 (git): [ruby/date] The shrunk words to be copied is limited
- Th buffer size is small enough and no need to allocate dynamically.
https://github.com/ruby/date/commit/f62bf0a01d -
05:09 AM Revision 94206671 (git): bootstraptest/runner: run in parallel if in parallel build
-
05:06 AM Revision 5a8aaeda (git): [ruby/date] Narrow ALLOCV region for shrunk words
- https://github.com/ruby/date/commit/f51b038074
- 01:28 AM Revision 2f7a530f (git): Update bundled gems list at 8c4e52fbe8a07da76c4038e4c5dc51 [ci skip]
-
01:27 AM Revision 8c4e52fb (git): Update bundled_gems
09/28/2022
-
11:52 PM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
- GCC 12 on GitHub Actions doesn’t show that warning.
https://github.com/ruby/ruby/actions/runs/3146751201/jobs/5115549022#step:13:130
I’m not sure what differs. -
06:48 PM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
- This seems to be [this bug in gcc](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104069). I don't see it getting fixed soon. +1 for `-Wuse-after-free=1`.
-
05:12 PM Bug #19028 (Closed): GCC12 Introduces new warn flags `-Wuse-after-free`
- [GCC 12 introduced a new warning flag `-Wuse-after-free`](https://github.com/gcc-mirror/gcc/commit/671a283636de75f7ed638ee6b01ed2d44361b8b6) which attempts to warn about uses of pointers to dynamically allocated objects that have been re...
-
08:47 PM Feature #19008 (Closed): Introduce coverage support for `eval`.
- (1) and (2) are implemented, (3) is a separate issue.
-
10:51 AM Feature #19008: Introduce coverage support for `eval`.
- Here is the PR to introduce a `eval: true/false` flag to `Coverage.setup`: https://github.com/ruby/ruby/pull/6462
-
07:53 AM Feature #19008: Introduce coverage support for `eval`.
- @ioquatix said he could implement `Coverage.start(eval: true)` soon, so I would like to wait for him instead of reverting the commit in question.
ioquatix (Samuel Williams) wrote in #note-18:
> However, I think the normal `Coverage.s... -
07:40 AM Feature #19008: Introduce coverage support for `eval`.
- @znz told me that this change broke our continuous coverage measurement.
https://github.com/ruby/actions/actions/runs/3104935882/jobs/5029973324#step:11:10
```
Error: Artifact path is not valid: /ruby/tmp/test_rubygems_20220922-21... -
08:46 PM Bug #19026 (Closed): Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- I agree, for the existing Ruby implementations, it's a little clumsy but easily worked around using `respond_to?`. Going forward, this is a simple and good interface.
Merged PR. -
07:43 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- > > Isn't there a general mechanism for feature support? Like `RbConfig.support?(:eval_coverage)` or something?
> ...
I didn't mean RbConfig per se, just any kind of general mechanism. It seems there isn't.
Eregon (Benoit Daloze) ... -
07:21 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- mame (Yusuke Endoh) wrote in #note-6:
> @ioquatix isn't `RUBY_VERSION > "3.1"` enough for your case?
Please no. For instance other Ruby implementations might already support eval Coverage trivially or can't support it easily, it shou... -
06:06 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- Dan0042 (Daniel DeLorme) wrote in #note-4:
> Isn't there a general mechanism for feature support? Like `RbConfig.support?(:eval_coverage)` or something?
I don't think it makes sense because this doesn't change depending on the ruby c... -
03:03 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- mame (Yusuke Endoh) wrote in #note-1:
> Note: This API does determine if the mode is *available*, not *enabled*. So `Coverage.supported?(:eval)` will always returns `true` in Ruby 3.2 regardless of whether `Coverage.start(eval: true)` i... -
02:55 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- Isn't there a general mechanism for feature support? Like `RbConfig.support?(:eval_coverage)` or something?
-
02:18 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- I think it is reasonable to have this feature to determine if `Coverage.start(eval: true)` is available. (Note that `Coverage.start(eval: true)` just ignores the keyword in Ruby 3.1 or before.)
@ioquatix I would like you to merge the ... -
11:09 AM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- Commit is currently part of https://github.com/ruby/ruby/pull/6462
-
11:01 AM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- Note: This API does determine if the mode is *available*, not *enabled*. So `Coverage.supported?(:eval)` will always returns `true` in Ruby 3.2 regardless of whether `Coverage.start(eval: true)` is called.
In my first impression, it i... -
10:52 AM Bug #19026 (Closed): Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
- Introduce the following interface:
```
Coverage.supported?(eval) -> true/false
```
We can also check `lines` `branches` and `methods`? - 08:44 PM Revision e7ddb6b1 (git): Update NEWS.md with updated coverage interfaces.
- 08:44 PM Revision bd2fbd35 (git): Add `Coverage.supported?` to detect what modes are supported.
- 08:44 PM Revision 9dd902b8 (git): Add `eval: true/false` flag to `Coverage.setup`.
-
07:08 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
- @matz I implemented the first choice in https://github.com/ruby/ruby/pull/6467.
That seems closest to what you requested, and the result of your script is then:
```
[:foo, :bar]
C1
[:foo, :bar]
C2 # C1 on 3.1
[:bar2]
C2 # C1 on 3... -
05:26 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
- Looking at UnboundMethod methods, for a zsuper method (ME = method entry):
* ==, eql?, hash: needs both resolved ME and zsuper ME (owner) (until #18798)
* to_s, inspect, clone: needs both resolved ME and zsuper ME (owner)
* arity, par... -
04:26 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
- @matz
`(a)` should be `p C2.private_instance_methods(false)` (.instance_methods doesn't show private methods).
Then on all versions `foo` is included.
And of course that means it should be possible to retrieve that method with `Kernel#me... -
06:47 PM Bug #19029 (Closed): Moving a transient heap allocated array between size pools can trigger GC while in GC
- [Github PR 6466](https://github.com/ruby/ruby/pull/6466)
RARRAY_PTR when called with a transient array detransients the array before returning its pointer which allocates in the heap.
Because RARRAY_PTR was being used during compac... -
06:41 PM Revision ac56e5c1 (git): [rubygems/rubygems] Put bundler gemspec stub at the right place
- So that it's found when needed, rather than dynamically modifying
loaded stubs and thus messing with RubyGems internals.
https://github.com/rubygems/rubygems/commit/cd3e7cb9e5 -
06:41 PM Revision 668e78f0 (git): [rubygems/rubygems] Only activate bundler when needed
- Loading Bundler beforehand was actually replacing ENV with a backup of
the pre-Bundler environment through `Bundler::EnvironmentPreserver`. I
think that was making a bug in `ENV.replace` not bite our tests, because
Bundler includes prope... -
06:41 PM Revision 20eff520 (git): [rubygems/rubygems] Test a pure RubyGems method
- `Gem::Specification#load_paths` is actually a Bundler thing.
https://github.com/rubygems/rubygems/commit/d20b4d1950 -
06:41 PM Revision 00a040dd (git): [rubygems/rubygems] Little refactor to keep things consistent
- https://github.com/rubygems/rubygems/commit/3934deb4e4
-
06:41 PM Revision 874a2bf1 (git): [rubygems/rubygems] Remove unnecessary `ensure`
- https://github.com/rubygems/rubygems/commit/6c0c02c533
-
06:41 PM Revision c7232a2a (git): [rubygems/rubygems] Require bundler consistently
- The `$LOAD_PATH` should be properly setup so that the local version is
used.
https://github.com/rubygems/rubygems/commit/03c0ab4082 -
06:41 PM Revision b9c426ea (git): [rubygems/rubygems] Remove unnecessary constant
- https://github.com/rubygems/rubygems/commit/4bd77488ad
-
06:41 PM Revision 1e559753 (git): [rubygems/rubygems] Cleaup unnecessary code
- https://github.com/rubygems/rubygems/commit/2e05dadbc5
-
06:41 PM Revision 5222a89a (git): [rubygems/rubygems] Unskip stuff that now works on JRuby
- https://github.com/rubygems/rubygems/commit/d86a5ae2eb
-
04:37 PM Revision 31cf1bb5 (git): Update to ruby/spec@1d9d5c6
-
04:37 PM Revision 5a1ab740 (git): Update to ruby/mspec@b60306d
-
04:24 PM Revision 3e7c42a2 (git): Shapes wrappers shouldn't mark the shape
- We don't allocate shapes out of the GC anymore, so we shouldn't mark
those pointers. -
03:58 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'm not sure how good the people here represent the whole community. My bet is most people don't even notice these feature requests unless the... -
03:47 PM Feature #18980: `it` as a default block parameter
- I don't have much to contribute here, but I'll give my personal experience with this subject.
I like the convenience of numbered params, but I've rarely used them (outside of throwaway scripts) because they look off.
I find them eve... - 03:27 PM Revision 414f1066 (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. -
03:26 PM Revision d594a5a8 (git): This commit implements the Object Shapes technique in CRuby.
- Object Shapes is used for accessing instance variables and representing the
"frozenness" of objects. Object instances have a "shape" and the shape
represents some attributes of the object (currently which instance variables are
set and ... -
02:51 PM Revision a05b2614 (git): Always use the longer version of `TRY_WITH_GC`
-
02:36 PM Feature #19027: .= syntax
- I don't think that works. `var += expr` is a shortcut for `var = var.+(expr)`. But `var .= method` translates to `var = var.method`; the right-hand side is not an expression, so it's a very different kind of construct.
But I'm a fan o... -
02:32 PM Feature #19027: .= syntax
- jeromedalbert (Jerome Dalbert) wrote:
> I wish I could do this in Ruby:
> ...
I find that both unreadable and undecipherable, personally. This is one case where something like a pipeline operator might be better (https://bugs.ruby-l... -
02:30 PM Feature #19027 (Rejected): .= syntax
- If I remember correctly, this has been proposed several times. I found one ticket #6841, so I'll close this as a duplicate.
-
01:30 PM Feature #19027: .= syntax
- I like it, though one while reading that code could have a problem with attempting to find a `where` variable.
Perhaps a more clearer way to write this would be the following:
```
records.=where.not(id: excluded_ids) if some_condi... -
01:03 PM Feature #19027 (Rejected): .= syntax
- I wish I could do this in Ruby:
```
records .= where.not(id: excluded_ids) if some_condition
```
instead of:
```
records = records.where.not(id: excluded_ids) if some_condition
```
We already have `+=`, `-=`, `||=`, etc, ... -
02:18 PM Revision 09bce061 (git): bootstraptest/runner: manage sub processes with the job server
-
02:18 PM Revision fc54dbe8 (git): bootstraptest/runner: fold dots by window size
-
02:01 PM Revision 3c3bd03a (git): [rubygems/rubygems] Force "master" to be used regardless of `init.defaultBranch` config
- Otherwise, if you have `init.defaultBranch main` configured, like I do,
a bunch of tests fail with things like:
```
========================================================================================================================... -
01:05 PM Revision 28a572f8 (git): Fix bug when slicing a string with broken encoding
- Commit aa2a428 introduced a bug where non-embedded string slices copied
the encoding of the original string. If the original string had a broken
encoding but the slice has valid encoding, then the slice would be
incorrectly marked as bro... -
01:05 PM Revision 6f8d17e4 (git): Make string slices views rather than copies
- Just like commit 1c16645 for arrays, this commit changes string slices
to be a view rather than a copy even if it can be allocated through VWA. -
12:27 PM Revision 247d5984 (git): Install all file trees for lldb [ci skip]
- It is no longer single lldb_cruby.py only.
-
12:07 PM Revision d12fce7a (git): [ruby/date] Check time zone offset elements
- Too big parts of fractional hour time zone offset can cause assertion
failures.
https://github.com/ruby/date/commit/06bcfb2729 -
08:26 AM Bug #18908 (Closed): Allow username and password to be extracted from the http_proxy variable on Windows
- Applied in changeset commit:git|cd77e71bbac9616a906f6823a8eba4922821e9ad.
----------
[ruby/net-http] Remove ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE
This list is out of date. At least OpenBSD since 2013 does not
allow one user to read t... -
08:26 AM Revision cd77e71b (git): [ruby/net-http] Remove ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE
- This list is out of date. At least OpenBSD since 2013 does not
allow one user to read the environment variables of a process
run by another user.
While we could try to keep the list updated, I think it's a bad
idea to not use the user/... -
08:06 AM Revision b58710e0 (git): dbm and gdbm have been extracted gems.
-
03:44 AM Misc #18888: Migrate ruby-lang.org mail services to Google Domains and Google Workspace
- I prepared mail aliases for enabled users of https://github.com/ruby/ruby-commit-hook/blob/master/config/email.yml. But some of users use different email addresses of the current ruby-lang.org settings. I choose the current settings inst...
-
12:29 AM Revision b8e804e4 (git): [ruby/bigdecimal] Document precision=0 and ndigits=0 for converting from Float
- https://github.com/ruby/bigdecimal/commit/4f0894c6c0
09/27/2022
-
11:27 PM Revision a58cbddd (git): YJIT: add assertion wrt label names (#6459)
- Add assertion wrt label names
-
11:27 PM Revision 8fcbb797 (git): YJIT: reverse configure.ac changes that disable `--yjit-stats` on Graviton1 (#6457)
- Reverse configure.ac changes that disable YJIT stats on Graviton1
-
08:58 PM Revision 28433e9a (git): Change IncrCounter lowering on AArch64 (#6455)
- * Change IncrCounter lowering on AArch64
Previously we were using LDADDAL which is not available on
Graviton 1 chips. Instead, we're going to use an exclusive
load/store group through the LDAXR/STLXR instructions.
* Update yjit/src/bac... -
08:55 PM Revision 8f7f12ad (git): [rubygems/rubygems] fix: Gem::Platform.match handles String argument properly
- Previously 9eead86 introduced non-commutativity of platforms, and
later commit 1b9f7f50 changed the behavior of `Gem::Platform.match` to
ensure the callee of `#=~` was the gem platform.
However, when the platform argument is a String, t... -
06:58 PM Revision 5d4048e0 (git): [DOC] More on IO streams (#6454)
- Adds remarks about .new and .open.
Uses ..open where convenient (not convenient where output would be in a block).
Fixed examples for #ungetc. -
06:53 PM Bug #19025 (Closed): Ripper cannot parse syntax ok code that has numbered parameters
- Ruby says `p { a = 0; [_1, _1 **2] }` is syntax ok, Ripper says syntax error
~~~ruby
code = 'p { a = 0; [_1, _1 **2] }'
eval(code) #=> nil (Syntax OK)
Ripper.sexp(code) #=> nil (Syntax Error)
~~~
Other similar codes. maybe not ... -
06:32 PM Feature #16122: Data: simple immutable value object
- @matz Thank you!
@nobu Done. -
06:30 PM Feature #19015: Language extension by a heredoc
- This seems nice.
Would it also remove leading indentation like `<<~HEREDOC`? -
06:25 PM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
- The current shutdown order in TruffleRuby is:
1. execute main script (and save exception if any)
2. run at_exit hooks
3. print main script's exception with `.full_message`
4. kill and wait all threads (which still runs some Ruby code... -
08:10 AM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
- There are two different sub-issues in this issue.
### 1. syntax_suggest does not work for `ruby foo.rb`.
This is because a SyntaxError exception is not thrown even if there is a syntax error in foo.rb of `ruby foo.rb`. Instead, the... -
06:47 AM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
- @mame try to fix this `ThreadError` at https://github.com/ruby/ruby/pull/6452
-
03:49 AM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
- I investigated this.
https://github.com/ruby/syntax_suggest/blob/main/lib/syntax_suggest/api.rb#L67
```
Timeout.timeout(timeout) do
record_dir ||= ENV["DEBUG"] ? "tmp" : nil
search = CodeSearch.new(source, record... -
06:10 PM Feature #12084: `Class#instance`
- I'm +1 for adding `Class#attached_object`.
`nil` vs `raise` seem both fine to me, although I slightly prefer `raise` for clarity for the `nil` case. - 05:32 PM Revision bcd30fb9 (git): Re-enable TZ test missed due to merge conflict.
- This was disabled by b7577b4d9e, while properly fixed upstream by:
https://github.com/ruby/spec/pull/939 -
05:00 PM Bug #19020 (Closed): Unexpected timeout thread appears in ThreadGroup
- Fixed in https://github.com/ruby/timeout/pull/22
-
04:59 PM Revision 9d56d997 (git): [ruby/timeout] Explicit add the timeout thread to default ThreadGroup
- Otherwise the timeout thread would be added to the ThreadGroup of the thread that makes the first call to Timeout.timeout .
Fixes bug 19020: https://bugs.ruby-lang.org/issues/19020
Add a test case to make sure the common thread doesn't... - 03:11 PM Revision 1a06bc94 (git): [ruby/psych] Bump snakeyaml from 1.31 to 1.33
- https://github.com/ruby/psych/commit/8a761cdfb7
-
02:36 PM Feature #19024: Proposal: Import Modules
- shioyama (Chris Salzberg) wrote in #note-4:
> > Intuitively, this proposal changes the way Ruby works in a way that I believe has too many ramifications and edge cases. Also, it delegates control to the caller, rather than to the subjec... -
12:19 PM Feature #19024: Proposal: Import Modules
- > I only have spare time for this, but will try to summarize some of those concerns later if the conversation does not address them or doesn't lean into packages.
Thank you, that would help a lot!
I guess my resistance to packages ... -
08:50 AM Feature #19024: Proposal: Import Modules
- Fair, I see ramifications in transitivity for code unrelated to the packages (3rd party gems), constant resolution gimmicks, and a few other things. I only have spare time for this, but will try to summarize some of those concerns later ...
-
08:33 AM Feature #19024: Proposal: Import Modules
- > Intuitively, this proposal changes the way Ruby works in a way that I believe has too many ramifications and edge cases. Also, it delegates control to the caller, rather than to the subject (the code being loaded).
I'm actualy trying ... -
08:06 AM Feature #19024: Proposal: Import Modules
- I'm also very much in favor of introducing a first class "package" construct, since there are way too many edge cases for loading existing code in an isolated way like this. I might work for some, maybe even most packages, but ultimately...
-
07:02 AM Feature #19024: Proposal: Import Modules
- Intuitively, this proposal changes the way Ruby works in a way that I believe has too many ramifications and edge cases. Also, it delegates control to the caller, rather than to the subject (the code being loaded).
Since the problem t... -
12:51 AM Feature #19024 (Closed): Proposal: Import Modules
- There is no general way in Ruby to load code outside of the globally-shared namespace. This makes it hard to isolate components of an application from each other and from the application itself, leading to complicated relationships that ...
-
01:50 PM Revision c35e924f (git): [DOC] More on IO streams (#6445)
- Text is reorganized so that most of the previous text is now in these newly-created sections:
Basic IO
Line IO
New text is added to form new sections:
Character IO
Byte IO
Codepoint IO
This gives the page a functional... -
01:22 PM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
- > It would be better to find the original source of ANSI escape code instead of the Wikipedia article.
The 8-color part of ANSI escape code (not the entire standard) were defined in the [ECMA-48 standard](https://www.ecma-internationa... -
03:44 AM Revision 95d5b33e (git): syntax_suggest moved under the ruby organization from zombocom
-
12:54 AM Feature #10320: require into module
- At the last Developer Meeting, it was suggested I create a new issue for the topic we've been discussing since [my comment above](https://bugs.ruby-lang.org/issues/10320#note-13) since there are new developments, so I've done that:
ht... -
12:36 AM Feature #18639: Update Unicode data to Unicode Version 15.0.0
- The SpacingMark issue ([Bug #19007]) seems still existing in Unicode 15.0.0 data.
-
12:28 AM Feature #18639: Update Unicode data to Unicode Version 15.0.0
- https://github.com/ruby/ruby/pull/6451
And [actual table differences](https://github.com/ruby/ruby/pull/6451/commits/33c2c234978d47c9e3ccef6a0035aafa218a12a0#diff-02cabe81f45a38076a16effcce80983650a94692f3c7e3a4f9f962164a840431).
09/26/2022
-
11:10 PM Revision 06abfa5b (git): Revert this until we can figure out WB issues or remove shapes from GC
- Revert "* expand tabs. [ci skip]"
This reverts commit 830b5b5c351c5c6efa5ad461ae4ec5085e5f0275.
Revert "This commit implements the Object Shapes technique in CRuby."
This reverts commit 9ddfd2ca004d1952be79cf1b84c52c79a55978f4. -
10:22 PM Feature #12084: `Class#instance`
- I put together an implementation for this and created a PR: https://github.com/ruby/ruby/pull/6450
-
10:04 PM Misc #18977: DevMeeting-2022-09-22
- * [Feature #19022] Use __builtin_ppc_get_timebase on POWER with clang (pkubaj)
* A simple change that allows run performance improvement
* [Feature #19023] Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc... -
10:02 PM Feature #19023 (Open): Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc on powerpc-freebsd
- Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc on powerpc-freebsd
https://github.com/ruby/ruby/pull/5852 -
10:02 PM Feature #19022 (Open): Use __builtin_ppc_get_timebase on POWER with clang
- Use __builtin_ppc_get_timebase on POWER with clang.
https://github.com/ruby/ruby/pull/5856 -
07:00 PM Revision b39690df (git): Rename method name in keyword test from y to yo
- Kernel#y is defined by psych/yaml, which causes occasional
nondeterministic problems with this test when doing parallel testing. -
06:55 PM Feature #18776 (Closed): Object Shapes
- Applied in changeset commit:git|9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
----------
This commit implements the Object Shapes technique in CRuby.
Object Shapes is used for accessing instance variables and representing the
"frozenness" ... -
06:54 PM Revision aa2a428c (git): Refactor str_substr and str_subseq
- This commit extracts common code between str_substr and rb_str_subseq
into a function called str_subseq.
This commit also applies optimizations in commit 2e88bca to
rb_str_subseq. -
05:51 PM Bug #18978: Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
- Thanks for checking usages in gems @mame.
It looks like the last release of `rubysl-parsedate` is almost 10 years ago and the [repo](https://github.com/rubysl/rubysl-parsedate) no longer exists. I still think it's better to remove the... -
02:02 AM Bug #18978: Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
- BTW, if you remove the eighth argument, you may also want to remove the following code to handle the argument.
https://github.com/ruby/ruby/blob/d89f8a046753e2f166ee252510aadf1579dbcd63/time.c#L2947-L2955 -
02:01 AM Bug #18978: Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
- This behavior is to work with a ex-standard library called parsedate which was shipped with Ruby 1.8 series.
```
require 'parsedate'
ParseDate.parsedate "Tuesday, July 5th, 2007, 18:35:20 UTC"
# => [2007, 7, 5, 18, 35, 20, "UTC",... - 04:21 PM Revision 830b5b5c (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. -
04:21 PM Revision 9ddfd2ca (git): This commit implements the Object Shapes technique in CRuby.
- Object Shapes is used for accessing instance variables and representing the
"frozenness" of objects. Object instances have a "shape" and the shape
represents some attributes of the object (currently which instance variables are
set and ... -
02:53 PM Bug #14900 (Closed): Extra allocation in String#byteslice
- I think if we stick solely to the ticket description, I think https://github.com/ruby/ruby/pull/6443 (`2e88bca`) fixes the issue (the extra useless allocation).
Also note that this extra allocation was a shared string, so it wasn't copy... -
12:50 PM Bug #14900: Extra allocation in String#byteslice
- By the way, ideally, I think you can implement this:
```ruby
buffer = String.new # allocation
while true
# Efficiently read into the buffer:
if buffer.empty?
io.read(1024, buffer)
else
buffer << io.read(1024)
end
#... -
12:45 PM Bug #14900: Extra allocation in String#byteslice
- Okay, so @byroot and I discussed this issue at length.
The simplest way to get the behaviour you want is to call `freeze` on the source string.
```ruby
require "objspace"
string = "a" * 100_000
GC.start
GC.disable
generation = GC.cou... -
11:26 AM Bug #14900: Extra allocation in String#byteslice
- I updated my PR and started investigating the changes between the current implementation and the proposed implementation, and after discussing it with @byroot we found a bug: https://github.com/ruby/ruby/pull/6443
This actually is far... -
12:15 PM Feature #16122: Data: simple immutable value object
- @zverok Could you add the (simple) NEWS entry too?
-
09:58 AM Feature #16122: Data: simple immutable value object
- @zverok The summary looks OK. I accepted.
@ioquatix Your proposal should be handled separately. Could you submit a new one?
Matz.
-
12:39 AM Feature #16122: Data: simple immutable value object
- I'd like to know how complicated it would be to support an interface like this:
``` ruby
Header = Data.define(:type, :length)
# ...
buffer = IO::Buffer...
header = Header.new
buffer.unpack_into(header, :U16, :U32)
# internally, call r... -
11:41 AM Revision 2e88bca2 (git): string.c: don't create a frozen copy for str_new_shared
- str_new_shared already has all the necessary logic to do this
and is also smart enough to skip this step if the source string
is already a shared string itself.
This saves a useless String allocation on each call. -
09:02 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
- >Could this patch be backported to 2.7 as well? Thanks!
@stanhu Maybe, yes. I submitted the backport patches for Ruby 2.7 at https://github.com/ruby/ruby/pull/6442. -
08:16 AM Bug #18912 (Closed): Build failure with Xcode 14 and macOS 13 (Ventura) Beta
- I created changesets for Ventura and Xcode14 with https://bugs.ruby-lang.org/issues/19005
* https://github.com/ruby/ruby/pull/6440
* https://github.com/ruby/ruby/pull/6441
* https://github.com/ruby/ruby/pull/6442 -
02:40 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
- @katei Thanks for your investigation. I confirmed to pass the failing tests with https://github.com/ruby/ruby/pull/6426 on macOS Ventura beta 8.
-
07:44 AM Revision 5b039647 (git): Fix coderange calculation in String#b
- Leave the new coderange unknown if the original encoding is not
ASCII-compatible. Non-ASCII-compatible encoding strings with valid or
broken coderange can end up as ascii-only.
Fixes 9a8f6e392fbd ("Cheaply derive code range for String#b... - 07:10 AM Revision 1c14e406 (git): Fix `io/buffer.h` header guard.
-
06:45 AM Misc #16671 (Assigned): BASERUBY version policy
- 06:37 AM Revision 411d0eec (git): Update `IO::Buffer` read/write to use rb_thread_io_blocking_region. (#6438)
-
05:44 AM Revision a8ad22d9 (git): Suppress a warning on clang
- The following warning appears without this fix:
```
parse.y:78:1: warning: unknown warning group '-Wpsabi', ignored
[-Wunknown-warning-option]
RBIMPL_WARNING_IGNORED(-Wpsabi)
^
./include/ruby/internal/warning_push.h:103:39: note: ... - 05:06 AM Revision 025b8701 (git): Add several new methods for getting and setting buffer contents. (#6434)
-
04:45 AM Feature #19015: Language extension by a heredoc
- This proposal sounds interesting, but the naming looks like behind-the-scenes metaprogramming; it may be better to use a more flexible approach that doesn't fix the function name.
-
04:03 AM Revision ecffc6a2 (git): Generate the revision.h before Makefile
- Except for GNU make which updates makefiles automatically, repeating
configure in the same directory causes `make` to stop whenever pulled
a new commit. This is unexpected in CIs. -
04:00 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
- jhawthorn (John Hawthorn) wrote in #note-4:
> Thanks! It was indeed broken by that commit. I've merged a fix and added tests so it should be working now.
Great!
I have confirmed that it is fixed.
Thanks. -
03:48 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
- Thanks! It was indeed broken by that commit. I've merged a fix and added tests so it should be working now.
-
03:45 AM Bug #19021 (Closed): Crash [BUG] Stack consistency error on ruby 3.2.0-dev
- Applied in changeset commit:git|b361bdc20036688f17f1e39a260a70254e7db9cd.
----------
[Bug #19021] Fix safe call w/ conditional assign
As of fbaac837cfba23a9d34dc7ee144d7940248222a2, when we were performing
a safe call (`o&.x=`) with a ... -
03:44 AM Revision b361bdc2 (git): [Bug #19021] Fix safe call w/ conditional assign
- As of fbaac837cfba23a9d34dc7ee144d7940248222a2, when we were performing
a safe call (`o&.x=`) with a conditional assign (`||= 1`) and discarding
the result the stack would end up in a bad state due to a missing pop.
This commit fixes th... -
03:03 AM Revision e3cc1a6c (git): Initialize Objective-C classes before fork() for macOS 13
- Since macOS 13, CFString family API used in
`rb_str_append_normalized_ospath` may internally use Objective-C classes
(`NSTaggedPointerString` and `NSPlaceholderMutableString`) for small strings.
On the other hand, Objective-C classes sh... -
03:00 AM Feature #9260 (Closed): make FileUtils.rm_rf raise on errors
- We continue to discuss this to https://bugs.ruby-lang.org/issues/18784.
-
12:38 AM Revision d89f8a04 (git): [ruby/rdoc] Fix ruby script in "test_parse_method_bracket" (https://github.com/ruby/rdoc/pull/927)
- Because it's syntax error.
https://github.com/ruby/rdoc/commit/993f2532ff -
12:21 AM Revision 1481e682 (git): Avoid type limits (#6435)
09/25/2022
-
01:40 PM Revision dc7d929e (git): Extract `RUBY_RELEASE_DATE` from also revision.h
- This make variable is very useful for daily build.
-
12:54 PM Feature #10320: require into module
- I think there are some misunderstandings, which are at least partly my fault for not being clearer about my intentions here.
There are two things I presented earlier in this thread:
- changes to Ruby ([here](https://github.com/shioya... -
12:25 PM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
- ruby_3_1 e46532feafadef252682794c941180df72483c19 merged revision(s) cf7d07570f50ef9c16007019afcff11ba6500d70.
-
12:21 PM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
- I tested on ruby_3_1 branch.
I'm afraid I failed to rebuild extensions before run make test-all on my environments.
-
09:38 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
- I don't understand, it works fine on my machine. I made two backport PRs, maybe it doesn't work on some system and CI will catch it?
- 3.1: https://github.com/ruby/ruby/pull/6431
- 3.0: https://github.com/ruby/ruby/pull/6432
-
09:27 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
- @nagachika on 3.0, 3.1 or both?
-
06:14 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
- I have got the same error with only backporting cf7d07570f50ef9c16007019afcff11ba6500d70.
-
12:24 PM Revision e46532fe (git): merge revision(s) cf7d07570f50ef9c16007019afcff11ba6500d70: [Backport #18938]
- Dump non-ASCII char as unsigned
Non-ASCII code may be negative on platforms plain char is signed.
---
ext/objspace/objspace_dump.c | 2 +-
test/objspace/test_objspace.rb | 15 +++++++++++++++
... -
11:43 AM Feature #16122: Data: simple immutable value object
- @matz I've updated the ticket text with the description of the implemented API and links.
Thank you! - 11:41 AM Revision 85cc0ce5 (git): Use `int first_lineno` for binary format.
- 11:41 AM Revision 22af2e90 (git): Rework vm_core to use `int first_lineno` struct member.
- 11:41 AM Revision 75cf29f6 (git): Rework `first_lineno` to be `int`.
- 10:34 AM Revision a95b741a (git): [ruby/bigdecimal] Remove trailing whitespace.
- https://github.com/ruby/bigdecimal/commit/223d193f01
-
09:18 AM Bug #19020: Unexpected timeout thread appears in ThreadGroup
- A fix is here: https://github.com/ruby/timeout/pull/22
-
07:51 AM Revision 8e2c4251 (git): [ruby/bigdecimal] Improve documentation of BigDecimal#sign
- Fixes https://github.com/ruby/bigdecimal/issues/78 by describing behaviour for positive and negative zero in the docs.
https://github.com/ruby/bigdecimal/commit/5415b120ab - 07:35 AM Revision 81b919ce (git): Add news for eval coverage.
- 07:35 AM Revision 09ea4f3a (git): Extract common code for coverage setup.
-
07:01 AM Bug #18941: Endless loop with a memory leak in FileUtils::mkpath
- ruby_3_1 a07e7ad6b0b9abc44d097ca600b0ff801d0d0a06 merged revision(s) 70f69f85395f5735429cd45136d7de2742f08b72.
-
07:01 AM Bug #19014: Backport commits to add the --with-gmp-dir option in the configure script
- ruby_3_1 d1b36c827036765ab68c88ab4315a26a220d5f06 merged revision(s) e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1.
-
07:01 AM Revision d1b36c82 (git): merge revision(s) e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1: [Backport #19014]
- configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier
* Manage OPT_DIR at once
---
configure.ac | 97 +++++++++++++++++++++++++++---------------------------------
1 file changed... -
06:18 AM Revision a07e7ad6 (git): merge revision(s) 70f69f85395f5735429cd45136d7de2742f08b72: [Backport #18941]
- [ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create
a file on a offline drive
https://github.com/ruby/fileutils/commit/9cc6a082d7
---
lib/fileutils.rb | 2 +-
t... -
05:05 AM Bug #18732: [Win32] `File.chardev?` and `File::Stat.chardev?` are not working
- ruby_3_1 e3607e687014da4f6347c462e7d11fb67000b733 merged revision(s) a0040af6715d85f416f1282588974e151a8164eb.
-
05:05 AM Bug #18734: [Win32] `File.sticky?` returns `nil` while `File::Stat.sticky?` returns `false`
- ruby_3_1 89eab8e0bf34ed36f32c1f8c230790f8b23a356f merged revision(s) 7f81f335478a3ca873f34e3bc0af6927819d3e84.
-
04:46 AM Revision 89eab8e0 (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(-) -
04:45 AM Revision e3607e68 (git): merge revision(s) a0040af6715d85f416f1282588974e151a8164eb: [Backport #18732]
- [Win32] Fix mode of character/pipe device stat [Bug #18732]
---
test/ruby/test_file_exhaustive.rb | 33 ++++++++++++++++++++++++++++-----
win32/win32.c | 22 ++++++++++++++++------
2 ... -
04:44 AM Bug #18922: Time at 24:00:00 UTC is not normalized
- ruby_3_1 13ee4b2c35bad0f893d5ed5a6fdca62da406f958 merged revision(s) 68903df6f6fc548f3bf68fb09ee8b2495dcd28f0.
-
04:43 AM Bug #18902: Thread#value crash if the thread was killed because of a fork
- ruby_3_1 720de2008ca06edb22e5ad7d1432fee4f2575e00 merged revision(s) 65ae2bb2e045aa8b668d3c30515f5a6cb3eb68ad.
-
04:43 AM Bug #18928: Crash in WeakMap when inspecting T_FREE objects
- ruby_3_1 c356c31f77b2d7c7c7f40f5b19dbb0961ea5f803 merged revision(s) 86d061294d3cc1656e18d0e1fd4b4f290da16944.
-
04:00 AM Revision c356c31f (git): merge revision(s) 86d061294d3cc1656e18d0e1fd4b4f290da16944: [Backport #18928]
- [Bug #18928] Fix crash in WeakMap
In wmap_live_p, if is_pointer_to_heap returns false, then the page is
either in the tomb or has already been freed, so the object is dead. In
this case, wmap_live_p should return... -
03:38 AM Revision 13ee4b2c (git): merge revision(s) 68903df6f6fc548f3bf68fb09ee8b2495dcd28f0: [Backport #18922]
- [Bug #18922] Normalize time at 24:00:00 UTC
---
test/ruby/test_time.rb | 2 ++
time.c | 14 ++++++++++++++
2 files changed, 16 insertions(+) -
03:33 AM Revision 720de200 (git): merge revision(s) 65ae2bb2e045aa8b668d3c30515f5a6cb3eb68ad: [Backport #18902]
- Thread#value: handle threads killed by a fork
[Bug #18902]
When a thread is killed because we forked, the `value` if left
to `Qundef`. Returning it woudl crash the VM.
---
test/ruby/test_thread....
09/24/2022
-
10:14 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
- @joshc thanks for your work investigating this issue and please let me know once you are ready for another code review.
-
10:11 PM Revision 205c252e (git): Reuse rb_method_call_kw function
-
10:05 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
- Perhaps this commit is the cause.
https://github.com/ruby/ruby/commit/fbaac837cfba23a9d34dc7ee144d7940248222a2
-
09:26 AM Bug #19021 (Closed): Crash [BUG] Stack consistency error on ruby 3.2.0-dev
- Report a `[BUG] Stack consistency error` on ruby 3.2.0-dev.
## Code
```ruby
# sample.rb
p RUBY_DESCRIPTION
# => "ruby 3.2.0dev (2022-09-24T00:41:15Z master 82ac4a2399) [x86_64-linux]"
def hoge
result = nil
result&.foo |... -
09:17 AM Bug #19020 (Closed): Unexpected timeout thread appears in ThreadGroup
- The new timeout implementation creates a thread at the very first use.
This has the side effect, that this management thread appears in a surrounding `ThreadGroup`.
See this example:
```ruby
require "timeout"
threadgroup = Threa... -
06:13 AM Revision 08476c45 (git): Remove unneeded semicolons
-
06:07 AM Revision b0e3ee45 (git): Suppress -Wtype-limits warnings on mjit_c.rb
-
12:41 AM Bug #18960 (Closed): Module#using raises RuntimeError when called at toplevel from wrapped script
- Applied in changeset commit:git|82ac4a2399516a3ffda750b815c244aad6d38277.
----------
Support using at toplevel in wrapped script
Allow refinements to be used at the toplevel within a script that is
loaded under a module.
Fixes [Bug #1... -
12:41 AM Revision 82ac4a23 (git): Support using at toplevel in wrapped script
- Allow refinements to be used at the toplevel within a script that is
loaded under a module.
Fixes [Bug #18960]
09/23/2022
-
10:58 PM Feature #19008: Introduce coverage support for `eval`.
- @jeremyevans0 now I understand your motivation.
To summarise:
- Coverage is always going to be imprecise.
- More precise coverage can be useful, like branch coverage, etc, because we can see whether specific lexical logic is teste... -
03:24 PM Feature #19008: Introduce coverage support for `eval`.
- ioquatix (Samuel Williams) wrote in #note-13:
> Thanks Jeremy.
> ...
Consider this code:
```ruby
class A
%w'foo bar'.each do |meth|
class_eval <<-RUBY, __FILE__, __LINE__+1
def #{meth}(v)
if v
do_... -
07:34 AM Feature #19008: Introduce coverage support for `eval`.
- mame (Yusuke Endoh) wrote in #note-10:
> @ioquatix I found yet another issue. It does not work with oneshot coverage.
I am sorry, ignore this. It works as expected. I think my testing was wrong. (Maybe I used ruby 3.1 instead of master) -
02:53 AM Feature #19008: Introduce coverage support for `eval`.
- ```ruby
Coverage.start(eval_key: ->(file, line){"eval-#{file}:#{line}"})
```
What problem are you trying to solve? -
02:07 AM Feature #19008: Introduce coverage support for `eval`.
- @mame thanks for your test cases, we should add them to the tests, I'll figure out why it's not working.
-
02:05 AM Feature #19008: Introduce coverage support for `eval`.
- Thanks Jeremy.
> Your use case (ERB coverage) is apparently limited to files that aren't required. However, eval methods are used with __FILE__ on a regular basis for metaprogramming.
My use case is general coverage, including file... -
10:57 PM Revision a74f4cde (git): Remove reference to __classid__
- This used to be used for module names but its uses were removed in
b00f280d4b9569e7153365d7e1c522b3d6b3c6cf. -
08:17 PM Revision 912ea825 (git): YJIT: Support Rust 1.58.1 for --yjit-stats on Arm (#6410)
- * YJIT: Test Rust 1.58.1 as well on Cirrus
* YJIT: Avoid using a Rust 1.60.0 feature
* YJIT: Use autoconf to detect support
* YJIT: We actually need to run it
for checking it properly
* YJIT: Try cfg!(target_feature = "lse")
* Reve... -
06:53 PM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
From my further debugging, I found that CoreFoundation internally creates NSTaggedPointerString for small strings since macOS 13.
This C code can check a string is represented by tagged pointer in CoreFoundation.
```c
// $ clang...-
05:16 PM Feature #12084: `Class#instance`
- Dan0042 (Daniel DeLorme) wrote in #note-12:
> I think it would be nicer if `#attached_object` returns nil instead of raising an error. Since nil can't be a valid return value anyway. So you don't need to check for `#singleton_class?` if... -
01:19 PM Feature #12084: `Class#instance`
- I think it would be nicer if `#attached_object` returns nil instead of raising an error. Since nil can't be a valid return value anyway. So you don't need to check for `#singleton_class?` if you want to avoid the cost of Exceptions.
Fin... -
03:40 PM Feature #18951: Object#with to set and restore attributes around a block
- `#with` is not a good name. For a method defined on Object, the semantics should be the same on all classes in ruby. For example `#dup` does the same thing (create a duplicate) on all objects, even if the implemention is class-specific.
... -
03:30 PM Feature #19018 (Closed): uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
-
05:25 AM Feature #19018: uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
- Ok, I'm wrong. This seems to work. We can close this issue. Turns out the problem is in gRPC, not Ruby: https://github.com/grpc/grpc/issues/22681
-
05:08 AM Feature #19018: uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
- I submitted https://github.com/ruby/ruby/pull/6424. That method could use some cleanup.
-
04:46 AM Feature #19018 (Closed): uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
- Currently `URI::Generic.use_proxy?` does not treat the `no_proxy` strings as a comma-delimited value: https://github.com/ruby/ruby/blob/0ed71b37fa9af134fdd5a7fd1cebd171eba83541/lib/uri/generic.rb#L1545-L1564
That means that it's not p... -
03:04 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
- Forgot to add the link to the draft PR: https://github.com/ruby/ruby/pull/6423.
> I think we should solve this in IO, not in Net::HTTP. Checking the class/type is a strong indication to me that the problem is not being solved at the r... -
07:01 AM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
- I think we should solve this in IO, not in Net::HTTP. Checking the class/type is a strong indication to me that the problem is not being solved at the right level.
-
03:02 PM Revision 7588f218 (git): Allow changing conversion macro in MJIT bindgen
- This is necessary for object shapes.
-
02:41 PM Revision 3ddab3a8 (git): [DOC] Housekeeping in iostreams doc (#6420)
- Write some method names in linkable form; make some capitalization consistent.
-
12:57 PM Feature #18885: End of boot advisory API for RubyVM
- +1 for Process.warmup
-
12:55 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
- Here's a use case for a `rm_f` that only ignores ENOENT errors. Before processing, you want to delete a cache file (that may or may not exist) so the processing regenerates it. But if the file exists, it **must** be deleted, otherwise th...
-
10:28 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
- shioyama (Chris Salzberg) wrote in #note-14:
> @shugo I've updated [my PR](https://github.com/ruby/ruby/pull/6226) and added a spec calling a method which calls `using`, which fails with the previous code but passes with the updated cod... -
05:58 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
- @shugo I've updated [my PR](https://github.com/ruby/ruby/pull/6226) and added a spec calling a method which calls `using`, which fails with the previous code but passes with the updated code. Can you have a look?
-
02:51 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
- shioyama (Chris Salzberg) wrote in #note-12:
> Oh never mind, I see. My PR results in the error with `require` but the `unreachable` BUG with `load`.
> ...
Yes, RuntimeError should be raised in both cases.
-
01:36 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
- Oh never mind, I see. My PR results in the error with `require` but the `unreachable` BUG with `load`.
Ok I'll try to find another way to fix it. -
01:30 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
- @shugo
Actually, it seems the same problem _is_ there with `require`:
```ruby
# foo.rb
def foo
using Module.new
end
foo
```
```ruby
require "foo"
# main.using is permitted only at toplevel (RuntimeError)
```
So I don't really und... -
01:25 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
- Hmm, ok this is where I originally encountered this problem:
https://github.com/rails/rails/blob/b9493a47e65287f3b135904dbdd511bbf5a5798c/activesupport/lib/active_support/core_ext/enumerable.rb#L285-L290
```ruby
# Using Refinements her... -
08:39 AM Feature #19019: Nicely formatted exception messages in HTML
- > I believe that what kind of HTML fragment is needed is not up to error_highlight or the authors of exception classes, but up to each framework.
That's a fair approach. But I'd prefer a simple interface for formatting HTML exceptions... -
08:15 AM Feature #19019: Nicely formatted exception messages in HTML
- Now error_highlight provides an API `ErrorHighlight.spot(...)` to take the column information programmatically, and Rails master uses it to show error_highlight in their code snippet. See https://github.com/rails/rails/pull/45818.
I b... -
07:52 AM Feature #19019 (Open): Nicely formatted exception messages in HTML
- We have made a lot of improvements to exception formatting. See https://bugs.ruby-lang.org/issues/18296 for details.
I'd like us to consider adding support for HTML formatting of messages, e.g.
```
exception.full_message(highlight... -
08:01 AM Feature #18438 (Closed): Add `Exception#additional_message` to show additional error information
- I have already merged the PR. Closing.
-
07:42 AM Feature #18296 (Closed): Custom exception formatting should override `Exception#full_message`.
- I'm satisfied that this has been fully addressed and the design is much better. Thanks everyone.
-
07:40 AM Revision a78c733c (git): Revert "Revert "error.c: Let Exception#inspect inspect its message""
- This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce.
[Bug #18170] -
07:40 AM Bug #18170: Exception#inspect should not include newlines
- After the commit, some tests of debug gem started failing, so I tentatively reverted it at https://github.com/ruby/ruby/commit/b9f030954a8a1572032f3548b39c5b8ac35792ce . And I forgot this issue. Sorry.
I think the issue has been alrea... -
07:11 AM Bug #18170: Exception#inspect should not include newlines
- I tested this on current Ruby head, and I can't seem to get the proposed new behaviour:
```ruby
> p StandardError.new("foo\nbar")
#<StandardError: foo
bar>
```
Am I doing something wrong? -
07:38 AM Feature #18194 (Closed): No easy way to format exception messages per thread/fiber scheduler context.
- I think we've achieved enough of the interface to make this a non-issue, i.e. with `Exception#message` being preserved, `Exception#detailed_message` which prints the message + any augmentations, and `Exception#full_message` which include...
-
06:35 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- @matz @naruse do you agree with the current PR?
```ruby
class TimeoutError < StandardError
end
class IO::TimeoutError < TimeoutError
end
```
Or do you think it makes more sense:
```ruby
module TimeoutError
end
class IO::TimeoutError... -
12:44 AM Feature #16122: Data: simple immutable value object
- Could you summarize the up-to-date proposed specification of Data class, please?
For the record, I accept `define` instead of `def`.
Matz.