Activity
From 05/23/2021 to 05/29/2021
05/29/2021
-
09:08 PM Revision fd65ef2a (git): Attempt to fix floating point test failure
- The previous behavior depending on exact float values, it seemed
to work OK on amd64 and i386, but other CI platforms are
experiencing non-deterministic test failures with it. Relax test
slightly to hopefully pass on such platforms. -
08:17 PM Bug #17878: bootstraptest/test_ractor.rb:224 a random failing test with "The outgoing-port is already closed (Ractor::ClosedError)"
- The same failure observed in WSL2 (Ubuntu) CI:
http://rubyci.s3.amazonaws.com/wsl2/ruby-master/log/20210529T190003Z.log.html.gz -
03:56 PM Bug #16612 (Closed): Enumerator::ArithmeticSequence#last with float range produces incorrect value
- Applied in changeset commit:git|f516379853f36d143d820c55d5eeaa9fc410ef52.
----------
Fix Enumerator::ArithmeticSequence handling of float ranges
Depending on the float range, there could be an off-by-one error,
where the last result th... - 03:56 PM Revision 9bb76201 (git): * 2021-05-30 [ci skip]
-
03:56 PM Revision f5163798 (git): Fix Enumerator::ArithmeticSequence handling of float ranges
- Depending on the float range, there could be an off-by-one error,
where the last result that should be in the range was missed. Fix
this by checking if the computed value for the expected value
outside the range is still inside the range... -
03:26 PM Bug #17925 (Open): Pattern matching syntax using semicolon one-line
- ## Summary
There are the following differences between `case ... when` and` case ... in`. Is this an expected behavior?
```console
% ruby -v
ruby 3.1.0dev (2021-05-28T16:34:27Z master e56ba6231f) [x86_64-darwin19]
% ruby -ce ... -
08:51 AM Bug #17864: [BUG] try to mark T_NONE object (in Ractors)
- I didn't know those existed, thanks a lot.
I could test with: ruby 3.1.0dev (2021-04-28 master 8e2ac2140d) [i386-mingw32]
I ran my 200 times command twice and both had a success rate of 100%. I guess ruby 3.1.0dev solves the issue :)... -
05:57 AM Bug #17822: Inconsistent visibility behavior with refinements
- ruby_3_0 a21ec8d1ecc6e978ea6b18a27046c424e2849752 merged revision(s) 636d4f7eb9f3fcb088e1a44af4181c4aa36789b4.
-
05:57 AM Bug #17806: Bad interaction between method cache, prepend, and refinements
- ruby_3_0 d47df50678b00bd622e6be474031204ed2e52b31 merged revision(s) 39a2ba5cc559900c30c3143da32446c2f20a7484.
-
05:56 AM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- ruby_3_0 7b6a2ad04a3272a31323493133498dfc60d77d76 merged revision(s) 4b36a597f48c857aa5eb9ed80fec0d02f6284646.
-
05:36 AM Revision a21ec8d1 (git): merge revision(s) 636d4f7eb9f3fcb088e1a44af4181c4aa36789b4: [Backport #17822]
- Avoid setting the visibility of refinement method entries
Since refinement search is always performed, these entries should always
be public. The method entry that the refinement search returns decides
the visibi... -
05:35 AM Revision d47df506 (git): merge revision(s) 39a2ba5cc559900c30c3143da32446c2f20a7484: [Backport #17806]
- Method cache: fix refinement entry handling
To invalidate some callable method entries, we replace the entry in the
class. Most types of method entries are on the method table of the
origin class, but refinement ... -
05:34 AM Revision 7b6a2ad0 (git): merge revision(s) 4b36a597f48c857aa5eb9ed80fec0d02f6284646: [Backport #17519]
- Fix setting method visibility for a refinement without an origin
class
If a class has been refined but does not have an origin class,
there is a single method entry marked with VM_METHOD_TYPE_REFINED,
bu... -
05:21 AM Bug #17542: Username and password are not decoded if retrieved from env
- withdrawn backport request for now.
I think this is a spec change in practice even if the prior behavior violates any standards.
If you have any objections, please let me know. -
05:05 AM Bug #17889: Enumerator::Lazy#with_index should return size
- ruby_3_0 20bf397f7cebd8156d76941dd54659cf9b8c8fe7 merged revision(s) fd8991f797c145615820b4c76e6b7ac5a71339ea.
-
05:05 AM Bug #17761: Install location of header files in extension libraries
- ruby_3_0 9d63a8dd0beefa49796eb86ab688c2eb0cd89a20 merged revision(s) 5cdf99f64e344b8e4638824d55f5caf33be682ca.
-
05:04 AM Revision 20bf397f (git): merge revision(s) fd8991f797c145615820b4c76e6b7ac5a71339ea: [Backport #17889]
- Fix lazy enumerator with index size
Fixes [Bug #17889]
---
enumerator.c | 7 ++++++-
test/ruby/test_lazy_enumerator.rb | 4 ++++
2 files changed, 10 insertions(+), 1 deletion(-) -
04:46 AM Bug #17585: DWARF5 support?
- Honestly, I cannot judge did this change keep backward compatibility.
I mean, is the current master works fine with -gdwarf-4 option or old GCC? -
04:39 AM Revision 9d63a8dd (git): merge revision(s) 5cdf99f64e344b8e4638824d55f5caf33be682ca: [Backport #17761]
- mkmf: fixed install directories of header files in extension
libraries [Bug #17761]
When installing an extension library which provides a header, that
header should be installed under site_ruby (or vendor_ruby w...
05/28/2021
-
09:23 PM Bug #17923: try to mark T_NONE object with miniruby x86 Win32 buildt with MSVC
- It compiles & run completely with those changes.
Thanks a lot. -
07:18 PM Bug #17923: try to mark T_NONE object with miniruby x86 Win32 buildt with MSVC
- user:byroot #note-1 looks like another bug. Please create a separate ticket if need be.
-
07:11 PM Bug #17923: try to mark T_NONE object with miniruby x86 Win32 buildt with MSVC
- This issue reminded me of #17606, which seems to actually affect also i386-mswin32 according to:
https://docs.microsoft.com/en-us/cpp/build/reference/zp-struct-member-alignment
If so, the following patch is worth applying:
```di... -
01:10 PM Bug #17923: try to mark T_NONE object with miniruby x86 Win32 buildt with MSVC
- I've just hit the same bug on linux:
```
<OBJ_INFO:gc_mark_ptr@gc.c:6605> 0x00007f1d22e9fc00 [2 M ] T_NONE
doesnt-matter.rb:224: [BUG] try to mark T_NONE object
ruby 3.1.0dev (2021-05-27T21:17:54Z master 2ad7a550f3) [x86_64-linu... -
07:48 AM Bug #17923 (Closed): try to mark T_NONE object with miniruby x86 Win32 buildt with MSVC
- Hello, I was asked to open a new bug ticket for this specific issue in this thread: https://bugs.ruby-lang.org/issues/17864#note-6
When I try to build ruby using "Visual Studio 2019 Developer Command Prompt v16.9.4".
```<OBJ_INFO:g... -
07:57 PM Bug #17864: [BUG] try to mark T_NONE object (in Ractors)
- Now #note-5 has a separate ticket: #17923
Back to the main issue, there are pre-built binaries of Ruby master (head) in the wild. You may want to use them if you fail to build yourself, although they might not be the latest.
https:... -
06:25 PM Feature #17873: Update of default gems in Ruby 3.1
- byroot (Jean Boussier) wrote in #note-16:
> Just for the record:
> ...
Thanks.
I'll repeat: could we consider to still bundle these gems in next major version but with some warning? If you "update" the gem then the conversion warnin... -
12:05 PM Feature #17873: Update of default gems in Ruby 3.1
- The `net-protocol` one seems similar to: https://github.com/ruby/net-imap/issues/16.
-
12:03 PM Feature #17873: Update of default gems in Ruby 3.1
- > I'll have a look at this.
Thank you!
I used digest as an example, but there is also `net/protocol`: https://buildkite.com/rails/rails/builds/77709#8f4e417a-153d-403c-9ad0-6579b3c04adf/999-1010 -
10:24 AM Feature #17873: Update of default gems in Ruby 3.1
- This sometimes happens when `rubygems` loads a default gem too early before `bundler` has been setup. Then when user code loads the actual gem it uses the `$LOAD_PATH` setup by bundler instead of the default one, causing the double load....
-
09:56 AM Feature #17873: Update of default gems in Ruby 3.1
- Actually, there's a bit of a problem. If you add a default gem to the gemspec it cause double loading issues, e.g. with `mail`, `net-smtp` pulls `digest`:
```
/opt/rubies/2.7.2/lib/ruby/2.7.0/digest.rb:6: warning: previous definition... -
07:39 AM Feature #17873: Update of default gems in Ruby 3.1
- Just for the record:
- The matrix removal broke the `capybara` gem: https://github.com/teamcapybara/capybara/pull/2468
- The net-smtp remove broke the `mail` gem: https://github.com/mikel/mail/pull/1439
Both are Rails dependen... - 04:34 PM Revision e56ba623 (git): * 2021-05-29 [ci skip]
-
04:34 PM Revision 5ada23ac (git): compile.c: Emit send for === calls in when statements
- The checkmatch instruction with VM_CHECKMATCH_TYPE_CASE calls
=== without a call cache. Emit a send instruction to make the call
instead. It includes a call cache.
The call cache improves throughput of using when statements to check the... -
04:34 PM Revision 788d30a8 (git): Make range literal peephole optimization target "newrange"
- It looks for "checkmatch", when it could be applied to anything that has
"newrange".
Making the optimization target more ranges might only be fair play when
all ranges are frozen. So I'm putting a reference to the ticket that
froze all ... -
02:46 PM Feature #17924 (Open): Range#infinite?
- A boolean method on Range returning true if the range is infinite and false if it is not.
-
09:55 AM Misc #16778: Should we stop vendoring default gems code?
- > Are you talking about the code duplication of rubygems and bundler? This ticket is about default gems, isn't it?
Yes, I'm making a general case against maintaining the same code at two different places, but as I worded this issue, i... -
04:17 AM Misc #16778: Should we stop vendoring default gems code?
- @deivid @k0kubun Are you talking about the code duplication of rubygems and bundler? This ticket is about default gems, isn't it?
Because @hsbt is promoting default gems to bundled gems step by step (for example, #17873), I think this... -
05:01 AM Revision 12214b78 (git): Resolve to missing `Gem::TestCase` issue with random order tests
-
04:02 AM Revision 6e6be107 (git): Ignore test-bundled-gems on GitHub Actions because matrix tests has unknown issues
-
03:33 AM Revision e487ba7d (git): [rubygems/rubygems] Use pend instead of skip
-
02:53 AM Revision a634ef53 (git): [rubygems/rubygems] Fix "instance variable not initialized" warning
- This variable had a typo (it's `@gemhome`), but the test is still
passing, so I assume it's not needed.
https://github.com/rubygems/rubygems/commit/3b88642bdb -
02:53 AM Revision 1f505000 (git): [rubygems/rubygems] Test installing a non deprecated file
- https://github.com/rubygems/rubygems/commit/a678959eda
-
02:53 AM Revision 9382bda7 (git): [rubygems/rubygems] Remove no longer needed `RUBYGEMS_TEST_PATH` env variable
- https://github.com/rubygems/rubygems/commit/0efb894c3b
-
02:53 AM Revision 4fb3dd2c (git): [rubygems/rubygems] Remove no longer relevant commentsº
- https://github.com/rubygems/rubygems/commit/8dfe1e30b5
-
02:53 AM Revision f7732ae2 (git): [rubygems/rubygems] Require the new files in `test/` relatively
- https://github.com/rubygems/rubygems/commit/c77868a555
-
02:52 AM Revision 59c68209 (git): [rubygems/rubygems] Copy files specific to testing rubygems to `test`
- https://github.com/rubygems/rubygems/commit/aa390a3500
-
02:52 AM Revision f7d661e7 (git): [rubygems/rubygems] Try fix ruby-core CI
- * Port
https://github.com/ruby/ruby/commit/8e91b969df08b7a2eb27a5d6d38733eea42dc7ad
from ruby-core, and make it compatible with psych 3 & 4. -
02:38 AM Revision ded7dd9c (git): Use require_relative to use Minitest library for testing.
- There is no reason to care for minitest gem.
05/27/2021
-
10:56 PM Misc #16778: Should we stop vendoring default gems code?
- I think a middle ground would be that on one hand some ruby-core contributors get direct write access to upstream repos to commit their test patches directly, but on the other hand this gets acknowledged as an issue and future improvemen...
-
10:30 PM Misc #16778: Should we stop vendoring default gems code?
- I don't have any issues with that since as of now, commits from ruby-core contributors to keep ruby-core CI green don't go through any review process and are just ported unconditionally. But I would prefer if you created a PRs upstream w...
-
08:41 PM Misc #16778: Should we stop vendoring default gems code?
- ruby/ruby's CI maintainers often modify a test code of rubygems and bundler from ruby/ruby because we don't have write access to these repositories. Do you think their owners can share write access to these repositories to ruby/ruby main...
-
04:03 PM Misc #16778: Should we stop vendoring default gems code?
- It's been 6 months, I guess it could be worth asking whether anything has changed here.
I'm happy to be proved wrong but ruby-core run of bundler & rubygems tests has never detected any realworld problem with either rubygems or bundle... -
10:07 PM Feature #8460: PATCH: optparse: add `keep_unknown` option
- Nobody had requested any tests. It would have been much easier if 7 years ago you had written the two lines of code required to test this.
Anyway, I've rebased my changes on top of the latest master, and added some tests. -
09:17 PM Bug #17889 (Closed): Enumerator::Lazy#with_index should return size
- Applied in changeset commit:git|fd8991f797c145615820b4c76e6b7ac5a71339ea.
----------
Fix lazy enumerator with index size
Fixes [Bug #17889] -
08:31 PM Bug #17889: Enumerator::Lazy#with_index should return size
- This turned out to be fairly simple to fix: https://github.com/ruby/ruby/pull/4534
-
07:43 PM Bug #17889: Enumerator::Lazy#with_index should return size
- I didn't bisect, but this is probably related to commit:85e43e1dfecef69b935c48c235cc20f21bd4f0d4, as it affects 2.7 and 3.0 but not 2.6. I'll see if there is a way to fix this.
- 09:17 PM Revision 2ad7a550 (git): * 2021-05-28 [ci skip]
-
09:17 PM Revision fd8991f7 (git): Fix lazy enumerator with index size
- Fixes [Bug #17889]
-
08:15 PM Bug #17922 (Third Party's Issue): pod install 'Firebase/Auth' results in [BUG] Bus Error
- From the crash dump, this appears to be an issue in ethon (a third-party gem), not Ruby. Possibly related to https://github.com/typhoeus/ethon/issues/180, but maybe Apple Silicon specific?
-
08:14 PM Bug #17922: pod install 'Firebase/Auth' results in [BUG] Bus Error
- The situation looks similar to that of #17862. You might want to open an issue on https://github.com/typhoeus/ethon/issues/ if one does not yet exist.
-
07:57 PM Bug #17922 (Third Party's Issue): pod install 'Firebase/Auth' results in [BUG] Bus Error
- **Steps:**
Attempted to install Cocoapods for Google Firebase after installing Cocoapods on new Mac mini
Please see details below in the following sections (bolded): Environment, Pod File, Mac Terminal Output, Crash Report
... -
03:47 PM Feature #15567: Allow ensure to match specific situations
- What's wrong with this, which works fine?
```ruby
def transaction
begin
puts "Begin Transaction"
result = yield
success = true
result
ensure
if success
puts "Commit Transaction"
else
pu... -
01:38 PM Feature #15567: Allow ensure to match specific situations
- ioquatix (Samuel Williams) wrote in #note-14:
> Here is working example:
> ...
You can simplify this slightly using a local variable:
```ruby
def transaction
failed = false
begin
puts "Begin Transaction"
... -
11:13 AM Feature #15567: Allow ensure to match specific situations
- Here is working example:
~~~ ruby
def transaction
failed = false
begin
puts "Begin Transaction"
yield
rescue Exception
puts "Abort Transaction"
failed = true
raise
ensure
puts "Commit Transaction" unless ... -
11:10 AM Feature #15567: Allow ensure to match specific situations
- I revisited this situation again.
This behaviour is very confusing:
~~~ ruby
def transaction
begin
puts "Begin Transaction"
yield
rescue
puts "Abort Transaction"
else
puts "Commit Transaction"
end
end
catch... -
11:03 AM Feature #17853: Add Thread#thread_id
- Thanks a lot for building this, @naruse!
If I can ask for a tiny addition, it would be really cool to get the `native_thread_id`, if available, in `Thread#inspect` :) -
10:30 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
- I just would update the current status.
Travis was revived with only free non-x86 cases. (#17818)
Here is a list of the possible servers that I plan to install Cirrus CI persistent workers.
* arm64 Ubuntu focal server, if we can... -
08:15 AM Revision 029169bc (git): Fixed target directory when copying from upstream
-
08:14 AM Revision c1c60a44 (git): Removed dbm from sync_default_gems
-
05:43 AM Feature #17873: Update of default gems in Ruby 3.1
- I applied this proposal at https://github.com/ruby/ruby/pull/4530
But I keep to open this until releasing preview or rc version of Ruby 3.1. -
05:42 AM Revision d2664b90 (git): Update rbs-1.2.1
-
05:42 AM Revision 835a4956 (git): Guard ruby/spec with spec/mspec/tool/wrap_with_guard.rb
-
05:42 AM Revision 350bc291 (git): Guard for the ftp protocol feature of OpenURI
-
05:42 AM Revision b8dcad8d (git): Defer to require prime for OpenSSL::TestBN
-
05:42 AM Revision 9f192d42 (git): Use https://github.com/ruby/rbs/pull/679 for rbs tests on test-bundled-gems
-
05:42 AM Revision be2e2b48 (git): Promote net-smtp to the bundled gems
-
05:42 AM Revision aa9726f7 (git): Promote net-pop to the bundled gems
-
05:42 AM Revision d5bc6b23 (git): Promote net-imap to the bundled gems
-
05:42 AM Revision e49c998d (git): Promote net-ftp to the bundled gems
-
05:42 AM Revision 454a3679 (git): Promote matrix to the bundled gems
-
05:42 AM Revision c9178c11 (git): Promote prime to the bundled gems
05/26/2021
-
09:26 PM Bug #17879 (Third Party's Issue): [BUG] id == 0 but not shareable in `rb_ractor_confirm_belonging`
-
12:03 PM Bug #17879: [BUG] id == 0 but not shareable in `rb_ractor_confirm_belonging`
- So after digging more I noticed the String was coming from the `memcached` client, and created by this dirty hack: https://github.com/arthurnn/memcached/blob/e5390741c008c4c7cbb91634009bfd57e99ec851/ext/rlibmemcached/rlibmemcached.i#L159...
- 09:22 PM Revision eae7fd0e (git): * 2021-05-27 [ci skip]
-
09:21 PM Revision 8fdb15fd (git): Fill out switch statement in push_mark_stack
- When objects are popped from the mark stack, we check that the object is
the right type (otherwise an rb_bug happens). The problem is that when
we pop a bad object from the stack, we have no idea what pushed the bad
object on the stack.... -
05:21 PM Bug #17889 (Closed): Enumerator::Lazy#with_index should return size
- The following example shows `#size` returns `nil` when the `size` was provided to `new` as `3`.
**Example**
``` ruby
p Enumerator::Lazy.new([1, 2, 3], 3){|y, v| y << v}.with_index.size
```
**Expected Result**
``` ruby
3
```
*... -
05:03 PM Bug #17887: Missed constant lookup after prepend
- I also think that the same `.ancestors` should yield the same constant lookup result.
It would be harder for users to predict constant lookup otherwise.
By the way, the repro script has behaved the same since [Ruby 2.2.6](https://wa... -
01:06 PM Misc #17888: "What's Here" section for class and module documentation
- It's always great when someone volunteers to work on documentation!
But doesn't the documentation already have a table-of-contents for each class? I see it down the left-hand-side here.
https://docs.ruby-lang.org/en/master/Array.ht... -
01:00 PM Feature #12913: A way to configure the default maximum width of pp
- https://github.com/nobu/ruby/runs/2672425246?check_suite_focus=true#step:15:239
A test in rbs passes keyword arguments to `pp`.
Also @ko1 says he uses keywords arguments with `pp` very often. -
09:39 AM Bug #17871: TestGCCompact#test_ast_compacts test failing again
- @tenderlovemaking thanks for fixing it! I removed the skipped gc tests on Travis ppc64le at the commit:af43198738bf45d55d91d7f48b197f94dc526967 .
-
12:37 AM Bug #17871 (Closed): TestGCCompact#test_ast_compacts test failing again
- Applied in changeset commit:git|fc832ffbfaf581ff63ef40dc3f4ec5c8ff39aae6.
----------
Disable compaction on platforms that can't support it
Manual compaction also requires a read barrier, so we need to disable
even manual compaction on ... - 09:33 AM Revision af431987 (git): .travis.yml: Remove skipped tests on ppc64le.
- It was fixed at fc832ffbfaf581ff63ef40dc3f4ec5c8ff39aae6 .
-
09:02 AM Revision 055ec525 (git): Rescue NotImplementedError for a test of Thread#native_thread_id
- http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20210526T070003Z.fail.html.gz
```
1) Error:
TestThread#test_thread_native_thread_id:
NotImplementedError: native_thread_id() function is unimplemented on this machine
/ex... -
08:16 AM Bug #17880: [BUG] We are killing the stack canary set by `opt_setinlinecache`
- Ok, so I was able to reproduce with this small script:
```ruby
require "set"
iseq = RubyVM::InstructionSequence.compile <<~RUBY
class Id
attr_reader :db_id
def initialize(db_id)
@db_id = db_id
end
def ==(other)... -
07:12 AM Bug #17880: [BUG] We are killing the stack canary set by `opt_setinlinecache`
- > I assumed you already knew it because of the title
Totally understandable.
Thanks for the explanation, however I'm afraid my understanding of the problem is still too limited to figure out a repro script. -
06:33 AM Revision 251fafec (git): Suppress debug message
-
06:18 AM Revision 9ddc7674 (git): Add NEWS about 46655156dcc37509dcb69fcd0717c110eb1c624a
- * Add Thread#native_thread_id [Feature #17853]
-
06:15 AM Feature #17853 (Closed): Add Thread#thread_id
- Applied in changeset commit:git|46655156dcc37509dcb69fcd0717c110eb1c624a.
----------
Add Thread#native_thread_id [Feature #17853] -
06:14 AM Revision 46655156 (git): Add Thread#native_thread_id [Feature #17853]
-
02:39 AM Revision 88e3848f (git): RSS library is the bundled gems now
-
01:04 AM Revision e54bef92 (git): Ignore lib/irb/ext/tracer.rb with TestRequireLib because tracer library was removed from ruby repo
- 12:37 AM Revision 59928a75 (git): * 2021-05-26 [ci skip]
-
12:37 AM Revision fc832ffb (git): Disable compaction on platforms that can't support it
- Manual compaction also requires a read barrier, so we need to disable
even manual compaction on platforms that don't support mprotect.
[Bug #17871]
05/25/2021
-
11:10 PM Bug #17871: TestGCCompact#test_ast_compacts test failing again
- xtkoba (Tee KOBAYASHI) wrote in #note-6:
> user:mame wrote in #note-4:
> ...
Ya, that's correct. Even manual compaction requires the mprotect read barrier. Basically we need to disable compaction on platforms that don't support it. ... -
07:13 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Just to clarify my previous comment.
Unconditionally enabling bundler everytime `ruby` is used (i.e., from `rubygems.rb`) is not even on the table. I only made some progress on making the `RUBYGEMS_GEMDEPS` environment variable option... -
04:45 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- To reiterate what Jeremy said, I have several projects where I have a
Gemfile, but never run the scripts with bundle exec. The Gemfile is
just to make sure that other developers have the necessary gems
installed.
-
04:20 PM Feature #17883 (Rejected): Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
-
04:20 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- jeremyevans0 (Jeremy Evans) wrote in #note-16:
> I'm against this in the strongest possible terms. There are more ruby scripts not using bundler than there are ruby applications using bundler. We should not force the usage of bundler ... -
04:20 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- nobu (Nobuyoshi Nakada) wrote in #note-15:
> Not true for `-I` at least.
> ...
Mmh, so it's more complex due to unshift'ing into `$:`, but still:
```
$ RUBYOPT=-Ia ruby -Ib -e 'puts $:'
/home/eregon/b
/home/eregon/a
/home/eregon/.rubies/... -
02:49 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- mame (Yusuke Endoh) wrote in #note-10:
> BTW, I noticed that my patch could be even much simpler. If you like `BUNDLER_SETUP`:
> ...
While I still prefer a more generic approach, I'm OK with this idea as it allows the user to opt-in to... -
02:13 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Eregon (Benoit Daloze) wrote in #note-13:
> In other words, `RUBYOPT` should behave like `RUBYOPT=$RUBYOPT ruby $CLI_ARGS` -> `ruby $RUBYOPT $CLI_ARGS`.
> ...
Not true for `-I` at least.
Paths by `-I` in `RUBYOPT` (and `RUBYLIB`) are ... -
01:30 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- I think the workaround to solve it for `bundle exec ruby -r` can be valuable (https://github.com/rubygems/rubygems/pull/4616).
It seems a much smaller issue that a script doing https://bugs.ruby-lang.org/issues/17883#note-5 does not w... -
01:21 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- mame (Yusuke Endoh) wrote in #note-3:
> In principle, explicit command-line arguments are "stronger" than RUBYOPT. For `RUBYOPT=-W2 ruby -W0`, `-W0` wins; `-W2` is just ignored. For `RUBYOPT=-ra ruby -rb`, `-rb` wins; `b` is loaded earl... -
01:16 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- mame (Yusuke Endoh) wrote in #note-10:
> (This is off-topic: Nowadays, many people are using Bundler, so it might be a good time to enable Bundler by default? We can start it with `require "bundler/setup" unless ENV["NO_BUNDLER"]` :-)... -
11:04 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- > Command-line arguments are what a user passed explicitly, so it is natural to me to prioritize them over RUBYOPT.
Yes, that's where we disagree. In my opinion, prioritizing `-r` scripts means letting them run last, so that they can c... -
10:48 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Sorry for repeating myself again, but I don't think the current behavior of RUBYOPT is wrong.
Command-line arguments are what a user passed explicitly, so it is natural to me to prioritize them over RUBYOPT.
The issue is that RUBYOPT i... -
10:31 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- I closed the bundler PR in favour of the approach being discussed here. Even if this was fixed in ruby, it would still make sense to add this logic to rubygems require so that this works on all supported rubies.
-
09:54 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- In my opinion, all approaches not involving fixing `-r` priority feel hacky.
The `BUNDLE_BIN_PATH` environment variable is something I had considered to remove in the future since it's only used for monkeypatching rubygems helpers to se... -
09:14 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- deivid (David Rodríguez) wrote in #note-6:
> Would it be enough to check whether `-rbundler/setup` is included in `RUBYOPT`?
I think it is a possible design choice, though it is very hacky.
But in the first place, I think Bundler ... -
07:13 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Indeed @mame, good catch. It sounds like this can't really be fixed in general inside bundler.
In my opinion, making handling of RUBYOPT consistent as suggested by @Eregon would be the best way to fix this. I can see it could cause is... -
01:21 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- deivid (David Rodríguez) wrote in #note-4:
> special casing `bundle exec ruby` and adding `-rbundler/setup` before any other CLI args: https://github.com/rubygems/rubygems/pull/4616.
@deivid Thanks for your work, but it looks too ad-... -
06:55 PM Misc #17886: DevelopersMeeting20210617Japan
- * [Misc #17888] "What's Here" section for class and module documentation (BurdetteLamar).
* I feel this section is very useful; some have reservations; let's discuss whether and, if so, how. -
06:49 PM Misc #17888 (Closed): "What's Here" section for class and module documentation
- Proposed: That a "What's Here" section is a useful enhancement to the documentation for a class or module.
Actually, this work is already begun; these are already merged into master:
- [Array](https://docs.ruby-lang.org/en/master/Ar... -
06:08 PM Bug #17880: [BUG] We are killing the stack canary set by `opt_setinlinecache`
- Ah okay, I assumed you already knew it because of the title, but it was just what the error message says.
* opt_setinlinecache: YARV insn to set a constant value to inline cache. Once the cache is filled, it won't be called again unti... -
11:28 AM Bug #17880: [BUG] We are killing the stack canary set by `opt_setinlinecache`
- > We probably want a unit test that reproduces this when the canary is enabled before doing that though.
I'd be happy to try to reproduce this in isolation, but I don't quite understand what the bug is about, so I have no idea where t... -
05:32 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- > I guess that it is possible to write such library in C extension by using finalizers
Ah I see. Yeah I didn't think about C-exts. That could work, would probably need to pin all references to avoid compaction problems etc.
But it ... -
05:12 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- byroot (Jean Boussier) wrote in #note-13:
> I'm not sure how one could write such library today without a WeakMap (or other Weak* datastructure) like I'm requesting.
I guess that it is possible to write such library in C extension by... -
04:37 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- byroot (Jean Boussier) wrote in #note-12:
> > My understanding is that ObjectSpace::WeakMap is weak values
> ...
I actually asked this question on the ruby-core Slack a while ago and IIRC I could not get a clear answer.
Maybe @nobu knows... -
01:51 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- > Instead of exploiting WeakMap, a dedicated cache library makes more sense.
I'm not sure how one could write such library today without a WeakMap (or other Weak* datastructure) like I'm requesting.
-
01:48 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- > My understanding is that ObjectSpace::WeakMap is weak values
I believe it's both weak keys and weak values:
```ruby
> ...
=> #<ObjectSpace::WeakMap:0x00007fa56bf75ea0>
>> Object.new.tap { |o| m[o] = o }
=> #<Object:0x00007fa57... -
01:39 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- mame (Yusuke Endoh) wrote in #note-10:
> This is just my opinion. I want this kind of feature (non-memory-leakable hash for object dedup), but I'm unsure whether WeakMap is actually usable for that because it is difficult to predict its... -
01:45 PM Bug #17887: Missed constant lookup after prepend
- In the ancestors, `M` is before `A`, so this seems like a bug:
```
B.ancestors # => [B, M, A, Object, Kernel, BasicObject]
```
Also note that with `B.include M`, which reports the same ancestors, it works as expected:
```ruby
mod... -
01:13 PM Misc #15012 (Closed): Testing on latest version gcc on Travis CI
- I would close this ticket, as the gcc latest version is tested on the GitHub Actions compilers.yml now.
https://github.com/ruby/ruby/blob/master/.github/workflows/compilers.yml
-
01:09 PM Misc #16911 (Closed): Travis: unstable non-x86_64 jobs
- I would close this ticket, as I think Travis is stable by the commit https://github.com/ruby/ruby/commit/9d4266fd5555c9c4388e2e8592008d0e0d8ccf21 now.
-
12:53 PM Misc #16360 (Closed): Enabling IBM PowerPC/Z cases in Travis CI
- I would close this ticket as both Travis ppc64le and s390x were enabled at https://github.com/ruby/ruby/commit/9d4266fd5555c9c4388e2e8592008d0e0d8ccf21 . We do not see the issue https://bugs.ruby-lang.org/issues/16360#note-7 on Travis pp...
-
12:48 PM Misc #17818 (Closed): Reviving Travis CI
- The PR was merged to the master branch. Here is the main commit of the commits.
https://github.com/ruby/ruby/commit/9d4266fd5555c9c4388e2e8592008d0e0d8ccf21
- 12:42 PM Revision 2a29a531 (git): Add Travis badge image to `README.md`. [ci skip] (#4527)
- Align the order of the badges with ones on the wiki page.
https://bugs.ruby-lang.org/projects/ruby/wiki/CIServers -
11:19 AM Revision 43fb97df (git): Update the latest list of default gems for misc/expand_tabs.rb
-
11:04 AM Revision edcc29dc (git): Removed gdbm from ruby repo
- 10:38 AM Revision 9e56a22b (git): bootstraptest/test_ractor.rb: Skip an assertion on Travis arm64.
- Skip the assertion to test the `Ractor.select` from multiple ractors that rarely
fails on Travis arm64.
See <https://bugs.ruby-lang.org/issues/17878>. - 10:38 AM Revision 9d4266fd (git): .travis.yml: Update to use arm64/ppc64le/s390x.
- * Use only the free pipelines arm64/ppc64le/s390x without credits on Travis.
See <https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution>.
* Add ppc64le case.
* Update the gcc to gcc-11.
* Remove unused logic.
* Add t... -
10:38 AM Revision 83efb2e4 (git): .travis.yml: Ubuntu 20.04 Focal Fossa
- This is a LTS. Must be better than Xenial.
- 10:38 AM Revision 4f735903 (git): Revert "Remove .travis.yml" to revive Travis.
- This reverts commit 6b978d542704a5614af5e9375c4b31b8d2618652.
-
06:18 AM Revision 55cd3e4e (git): Removed dbm from ruby repo
-
04:44 AM Feature #12913 (Assigned): A way to configure the default maximum width of pp
- akr (Akira Tanaka) wrote in #note-8:
> nobu (Nobuyoshi Nakada) wrote:
> ...
I prefer @nobu's patch to mine. Since it was fine to @akr, how about committing it? -
04:13 AM Revision ab3266ea (git): Removed tracer from ruby repo
05/24/2021
- 11:03 PM Revision 274d0aa7 (git): * 2021-05-25 [ci skip]
-
11:02 PM Revision 45ddefb1 (git): add rb_id2str to lldb debugging scripts
-
08:00 PM Bug #17885: require_relative and require should be compatible with each other when symlinked files are used
- I totally support this. And there is more to this #16978
-
04:40 PM Bug #17885: require_relative and require should be compatible with each other when symlinked files are used
- This causes [an issue with rules_ruby for Bazel](https://github.com/bazelruby/rules_ruby/issues/100). Bazel uses symlinks extensively to implement hermetic build sandboxing.
-
04:39 PM Bug #17885 (Closed): require_relative and require should be compatible with each other when symlinked files are used
- This is similar to #10222 (which was fixed), but it's with symlinked files. #10222 was with symlinked directories.
If files are symlinked, then mixing `require` and `require_relative` can result in the same file being loaded twice.
... -
07:32 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Hei!
I see how this is inconsistent, and if it was to be implemented from scratch, I think it would make sense to always process options in RUBYOPT first so that CLI args can always override them "Override" can have multiple meanings he... -
05:09 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- I'm clearly against changing the order because of compatibility. Also, the current order is somewhat reasonable. In principle, explicit command-line arguments are "stronger" than RUBYOPT. For `RUBYOPT=-W2 ruby -W0`, `-W0` wins; `-W2` is ...
-
02:27 PM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Instead of adding `BUNDLE_BIN_PATH`, which would be specific to bundler, I would prefer to instead add something more generic such as `RUBYEARLYOPT` or `RUBYPREOPT`, which is just like `RUBYOPT` but processed before command line options.
-
10:25 AM Feature #17883: Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- Personally I find the order confusing, in many/most command-line executables, direct arguments have precedence over environment variables.
For `-W`, direct arguments actually have precedence, as expected (command line args should alwa... -
08:35 AM Feature #17883 (Rejected): Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile
- To reproduce the issue, prepare a Gemfile and run `bundle install --path=vendor/bundle`.
```
$ cat Gemfile
source "https://rubygems.org"
gem "activesupport"
$ bundle install --path=vendor/bundle
```
`Kernel#require` respects... -
05:39 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- This ticket was discussed in the previous dev meeting. The use case is understandable, but @matz was not completely convinced that WeakMap is a suitable solution for that. He said he would reply.
In addition, @ko1 said that it would b... -
05:08 PM Bug #17887 (Closed): Missed constant lookup after prepend
- **Description**
The following shows that the constant lookup from B does not find the constant in the prepended M module. I would expect this lookup to behave like "B.include M" which does print the constant from module M.
**Examp... -
04:50 PM Misc #17811 (Closed): DevelopersMeeting20210521Japan
-
04:46 PM Misc #17886 (Closed): DevelopersMeeting20210617Japan
- # The next dev meeting
**Date: 2021/06/17 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210615Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
03:41 PM Feature #17884 (Assigned): locindex for profiling tools
- (MRI internals)
Profiling tools need to record the code location, mainly a pair of file path and line number ("file:line").
To record this pair in 64bit CPU, 8B (VALUE) + 4B (int) = 12B is needed. In general, the number of pairs (fil... -
10:55 AM Feature #17853: Add Thread#thread_id
- Created a proposed implementation:
https://github.com/ruby/ruby/compare/master...nurse:native_thread_id -
09:37 AM Revision 4aaa98e6 (git): xibbar is retired from cgi.rb maintainer
-
09:18 AM Feature #17873: Update of default gems in Ruby 3.1
- @knu I have no strong opinion to remove `syslog` in Ruby 3.1. I withdraws it from this proposal.
-
03:13 AM Revision f57968e3 (git): Set USE_COLORIZE to the default value in a test
-
02:56 AM Revision d06d4560 (git): [ruby/irb] update test/irb/test_init.rb to avoid useless eval
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/irb/commit/2dfdc031ec -
02:55 AM Revision b8ffb1c4 (git): [ruby/irb] respect NO_COLOR environment variable
- When `NO_COLOR` is set to any non-nil value, output is not colorized.
See https://no-color.org/
https://github.com/ruby/irb/commit/401d0916fe - 12:41 AM Revision e16a6429 (git): * 2021-05-24 [ci skip]
-
12:41 AM Revision ce360977 (git): Refactor num_zero_p function (#4522)
05/23/2021
-
10:42 PM Bug #17866: Incompatible changes with Psych 4.0.0
- naruse (Yui NARUSE) wrote in #note-10:
> Since I want Ruby 3.1 to keep as much as compatibility for Ruby 3.0 to ensure application/library developer adopt Ruby 3, I’m negative to go Ruby 3.1 with Psych 4.0.0.
Unfortunately, users wil... -
08:23 PM Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
- Interruption in `copy_stream` is what this test is intended for, and so the result of the test in #note-4 is a success. But taking about 2 minutes to finish is unexpected to me. Possibly due to a bug in the pthread library?
FWIW, the ... -
12:10 PM Feature #17881: Add a Module#const_added callback
- > Would trigger on Foo::Bar = Class.new. (This one being a current limitation with TracePoint if I'm not mistaken)
Correct. Nowadays, you cannot define an explicit namespace with a constant assignment like that ([docs](https://github.co... -
10:38 AM Feature #17881: Add a Module#const_added callback
- > What I had in mind in the conversation in the Zeitwerk ticket was not const_added. It was a callback that gets called when a new class/module is created and after it gets its name set if defined with the class/module keywords.
I see... -
07:08 AM Feature #17881: Add a Module#const_added callback
- > If I'm not mistaken, such usage could cause the TracePoint to stay active at runtime, which isn't a huge deal, but will still trigger every time a singleton_class or anonymous class is created, which isn't a good practice at runtime, b...
-
05:52 AM Feature #17881: Add a Module#const_added callback
- Oh, and while Zeitwerk can disable the TracePoint, it wouldn't be able to disable `on_new_module(&block)`, at most have a flag.
My personal take is: As far as Zeitwerk is concerned, I'd study some API if core believes we should not use ... -
05:36 AM Feature #17881: Add a Module#const_added callback
- Another gotcha I see is that we cannot assume `const_added` is exclusive to Zeitwerk. Users could have their own. So we would need to prepend our own, to make sure it is not rewritten. And on reload, we would need to keep track of which ...
-
08:16 AM Feature #17853: Add Thread#thread_id
- `native_id` sounds better to me. I agree with it.
As for `m:n thread model`, in my opinion, either volatile value or `nil` (this can happen when it's waiting an event in `select/epoll/kqueue` without assigning any thread?) sounds good... -
07:10 AM Bug #17736: Destructive methods inconsistently handle `receiver frozen state` in given block
- ruby_3_0 44b87adc07621b6a8eddfcf4aaff34ce634179d4 merged revision(s) e019dd24df4ed7063ad80d4c2e4070141793f598,7954bb056be30e86c419fe3792064d28990a4999,7d3fdfb27dac456827b004d9e66a44b15f8cd762.
-
07:09 AM Bug #17467: What makes strip() and lstrip() not stripping \u0000 from beginning of the string?
- ruby_3_0 5af5ea7f860ed64062796e54e73274e7a56c7280 merged revision(s) cfd162d535c7a4f8b1f95255cc6be696a8b75557.
-
07:09 AM Revision 5af5ea7f (git): merge revision(s) cfd162d535c7a4f8b1f95255cc6be696a8b75557: [Backport #17467]
- Make String#{strip,lstrip}{,!} strip leading NUL bytes
The documentation already specifies that they strip whitespace
and defines whitespace to include null.
This wraps the new behavior in the appropriate guards... -
06:51 AM Revision 44b87adc (git): merge revision(s) e019dd24df4ed7063ad80d4c2e4070141793f598,7954bb056be30e86c419fe3792064d28990a4999,7d3fdfb27dac456827b004d9e66a44b15f8cd762: [Backport #17736]
- Ensure the receiver is modifiable before shrinking [Bug #17736]
* Ensure the receiver is modifiable before shinking [Bug #17736]
* Assert the receivers are not modified
---
array.c | 1 ... -
06:05 AM Revision 86f7e55d (git): merge revision(s) 10e63f3f56cc0f559816d921f3e771dea02f3eb9:
- [ruby/rdoc] Vertical-bar is disallowed in path names on Windows
No risk of remote code execution, when the file cannot be created.
https://github.com/ruby/rdoc/runs/2565343916?check_suite_focus=true#step:5:58
``... -
06:04 AM Bug #17827: Monitor is not fiber safe
- @nagachika thank you so much for your effort.
-
06:01 AM Bug #17827: Monitor is not fiber safe
- ruby_3_0 f9196de1dee6f5ab8b6fe115070b92775a3500fe merged revision(s) 3a3b19b2bba49e5d6f1cf13764eb6dd701397be9.
-
06:02 AM Bug #17625: OpenSSL::Timestamp::Response#failure_info does not work as documented
- ruby_3_0 fc73fc79cbaee6674256589b7cfe53d20b638a05 merged revision(s) 1ad222477344597038d7ec08885a41f547c2a3b4.
-
06:01 AM Bug #17780: Backport for super_method aliases in ruby 2.7.3 causes Segfault
- ruby_3_0 410216c9db033a72f4dd119c366bc58dd54383ec merged revision(s) d8a13e504992a45d52063f7c925408d7aad3595a.
-
05:59 AM Revision 410216c9 (git): merge revision(s) d8a13e504992a45d52063f7c925408d7aad3595a: [Backport #17780]
- [Bug #17780] Fix Method#super_method for module alias
Method#super_method crashes for aliased module methods because they are
not defined on a class. This bug was introduced in
c60aaed1856b2b6f90de0992c3477183001... -
05:40 AM Revision fc73fc79 (git): merge revision(s) 1ad222477344597038d7ec08885a41f547c2a3b4: [Backport #17625]
- [ruby/openssl] Fixed the results of
OpenSSL::Timestamp::Response#failure_info
Made stored values `Symbol`s instead of `ID`s.
Fixes https://bugs.ruby-lang.org/issues/17625
Co-Authored-By: xtkoba (Tee KO... -
05:36 AM Revision f9196de1 (git): merge revision(s) 3a3b19b2bba49e5d6f1cf13764eb6dd701397be9: [Backport #17827]
- Fix Monitor to lock per Fiber, like Mutex [Bug #17827]
---
ext/monitor/monitor.c | 10 +++++-----
test/monitor/test_monitor.rb | 7 +++++++
2 files changed, 12 insertions(+), 5 deletions(-) -
12:52 AM Bug #17584 (Assigned): Segmentation fault with Ruby 3.0
-
12:08 AM Bug #17584: Segmentation fault with Ruby 3.0
- mjit_compile.c:525 of Ruby 3.0.0 is the only hint about this error, but it seems like a race condition with GC of child ISeqs. I guess this could happen because mjit_mark only marks `compiling_iseq`. We probably need to mark children as ...
-
12:51 AM Feature #15425 (Feedback): Store MJIT header into Ruby versioned directory.
-
12:40 AM Bug #17880: [BUG] We are killing the stack canary set by `opt_setinlinecache`
- It's unfortunate that `rb_ractor_sharable_p` may call arbitrary methods, but maintaining leafness of opt_setinlinecache is probably not as important as opt_getinlinecache's. We could just set `attr bool leaf = false;` for fixing this. We...