Activity
From 05/04/2023 to 05/10/2023
05/10/2023
-
03:06 PM Bug #19334: Defining many instance variables and accessing them is slow in Ruby 3.2.0
- jemmai (Jemma Issroff) wrote in #note-8:
> We are planning a more permanent fix as well. Our thinking is that after every 50 IV shapes, we could insert a "hash_iv_index_shape," which will have a pointer to an `rb_id_table` which stores ... -
12:46 AM Bug #19334 (Closed): Defining many instance variables and accessing them is slow in Ruby 3.2.0
-
02:49 PM Revision a19fa9b2 (git): Prevent warning: assigned but unused variable
- http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20230510T123003Z.log.html.gz
```
/home/chkbuild/chkbuild/tmp/build/20230510T123003Z/ruby/test/objspace/test_objspace.rb:224: warning: assigned but unused variable - c4
/home/chkbuil... -
12:00 PM Misc #19608: Being a co-maintainer of the ruby/openssl for the OpenSSL FIPS mode
- In Dev Meeting 5/10 at Matsumoto, no one objects this proposal.
-
08:54 AM Bug #595: Fiber ignores ensure clause
- https://github.com/ruby/ruby/pull/7823
-
08:14 AM Bug #19597 (Closed): Process.argv0 returns the same mutable String
- Applied in changeset commit:git|2d9bc3efe57fe0ec1a8171340c950fb98ca8c8f2.
----------
[Bug #19597] Freeze script name -
08:14 AM Revision 2d9bc3ef (git): [Bug #19597] Freeze script name
-
07:33 AM Feature #19637: Use Lrama LALR parser generator instead of Bison
- I'm +1 to this because we should reduce required dependencies.
-
07:31 AM Feature #19637 (Closed): Use Lrama LALR parser generator instead of Bison
- I want to propose to use Lrama LALR parser generator instead of Bison.
https://github.com/yui-knk/lrama is a pure ruby parser generator which accepts Ruby's "parse.y" and generate compatible "parse.c" file.
By this change, we never d... -
06:47 AM Revision 0e5aecea (git): [DOC] Move docs of `Array#first` and `Array#last` to array.rb
-
06:03 AM Revision 8866e082 (git): Removed sync task for ext/readline
-
06:02 AM Revision 0ef6e718 (git): Merge https://github.com/rubygems/rubygems/pull/6655 manually.
-
05:58 AM Revision 9ed189e9 (git): Update SPDX license list
-
05:16 AM Bug #19636 (Open): String#encode EUC_JIS_2004で"¥"がEncoding::UndefinedConversionErrorになる
- 既知のバグでしたらすみません。
EUC-JIS-2004はJIS X 0213の実装なので"¥"は含まれているはずですがEncoding::UndefinedConversionErrorになります。
https://ja.wikipedia.org/wiki/EUC-JIS-2004
https://ja.wikipedia.org/wiki/JIS_X_0213%E9%9D%9E%E6%BC%A2%E5%AD%97%E4%B8%80%E8%A6%A7
... -
04:06 AM Bug #19635 (Closed): errno may be overwritten by rb_sprintf if it triggers GC
- Here is an excerpt in the `trap` function in `signal.c`
``` c
oldfunc = ruby_signal(sig, func);
if (oldfunc == SIG_ERR) rb_sys_fail_str(rb_signo2signm(sig));
```
`ruby_signal` tries to register a signal handling ... -
03:17 AM Bug #19238: URI.open fails for file path when second argument is a hash
- This is a bug in `URI.open`. It can be fixed by using `ruby2_keywords`. I submitted a pull request to fix it: https://github.com/ruby/open-uri/pull/24
-
01:33 AM Bug #11582 (Third Party's Issue): On Solaris, Rational#** returns -Infinity for Rational(0) when passed a negative Float
- This is an inconsistency in the default behavior of the Solaris pow function compared to other platforms. You could file this as a bug in the Illumios bug tracker (or raise an issue with Oracle Solaris support) if you would like them to...
-
01:29 AM Bug #11064: #singleton_methods for objects with special singleton_class returns an empty array
- Issue filed for JRuby's differing behavior; if we decide that the method should always be visible through the `singleton_*` calls, we will change it in JRuby.
https://github.com/jruby/jruby/issues/7787 -
01:19 AM Bug #11064: #singleton_methods for objects with special singleton_class returns an empty array
- The behavior for this is at least consistent in JRuby; `singleton_method` does not see methods defined directly on `nil`.
I think it should be made consistent, so either it shows up in both `singleton_method` and `singleton_methods` o... -
01:00 AM Bug #7976 (Closed): TracePoint call is at call point, not call site
- @headius and I agree this is not a bug. JRuby has similar behavior for Java extensions as CRuby does for C extensions.
-
12:58 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- @byroot pointed out today that if it was possible to both register a require path _and_ a block to an autoloaded constant, then this feature may also allow replacing the [Tracepoint class event](https://github.com/fxn/zeitwerk/blob/a7c4a...
-
12:56 AM Revision 71dc88df (git): Added entry about ext/readline
-
12:56 AM Bug #19534 (Closed): [ruby 3.2.1] Regular expression comparisons may be slower than in older versions.
-
12:55 AM Revision 17207723 (git): readline or libedit is no longer required to build ruby
-
12:54 AM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend!
-
12:53 AM Revision aec4e2d6 (git): Removed duplicated entry of readline.rb
-
12:52 AM Revision 507801c6 (git): ext/readline is retired
-
12:39 AM Bug #16185 (Feedback): basictest failure on AIX 6.1 for 64bit build
-
12:04 AM Bug #16185: basictest failure on AIX 6.1 for 64bit build
- A note just from poking around here... I'm guessing this is due to the reporter's system using a filesystem encoding that uses wide characters, and the Ruby version tested is not handling it well. This issue against Python's pip seems si...
-
12:35 AM Bug #19168: "such file" is bad grammar
- Note that this verbiage is similar to the standard ENOENT message: "No such file or directory". I suspect this message was just modified for load/require purposes.
-
12:32 AM Bug #19168 (Closed): "such file" is bad grammar
- @headius, @alanwu, @ioquatix, and I agree this is not a bug.
-
12:21 AM Bug #18737 (Closed): Windows 'require' is case independent
-
12:18 AM Bug #18678 (Closed): Crash on Mac - vm_call0_cfunc_with_frame
-
12:13 AM Bug #18616 (Closed): Error with clang(1) on MacOS due to __declspec()
-
12:07 AM Bug #16820 (Closed): LEGAL is out of sync
- Ruby does not seem to have any LGPL code anymore. The IBM code is now documented in LEGAL. The BSD-2-Clause code is still not documented in LEGAL, but all BSD-2-Clause code seems to also be licensed under Ruby license, so I don't think...
05/09/2023
-
11:58 PM Bug #16185: basictest failure on AIX 6.1 for 64bit build
- Does this issue still occur with the master branch? Does it occur with a supported version of AIX? AIX 6.1 went out of support in April 2017 (https://www.ibm.com/support/pages/aix-support-lifecycle-information), so unless this is still ...
- 07:40 PM Revision e1c84e8e (git): For YJIT stats, set avg_len_in_yjit to 0 if denominator would be 0 (#7793)
-
07:07 PM Feature #18368: Range#step semantics for non-Numeric ranges
- This is a cool improvement! I think it's fine to keep the special String behavior, and maybe that of Symbols. These special cases are not counterintuitive as there is no naturally intuitive way for them to behave. The burden on the langu...
-
07:05 PM Feature #19634 (Open): Pattern matching dynamic key
- I found myself in a situation ([stable marriage problem](https://rosettacode.org/wiki/Stable_marriage_problem#top-page)) where I would like to match against a dynamic key, like so:
```ruby
mentor_proposals = { mentor_name: ['mentee_1... -
12:57 PM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- ianks (Ian Ker-Seymer) wrote in #note-8:
> To me `Hash.with_capacity` clearly communicates what’s happening. Anyone can understand it at first glance.
`Hash.with_capacity` is not composable. What should you do if you want a default v... -
09:55 AM Bug #19622 (Closed): Undocumented behavior of Array#& and similar methods
- Applied in changeset commit:git|986268afae7bde07073da3ba483d12549b12801f.
----------
Document that Array#{&,intersection,intersect?} use hash method [ci skip]
Fixes [Bug #19622] -
09:54 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- cc @fxn
I know you're not in favour of what I'm doing with autoloads on anonymous modules, but hoping you'd agree this would be a useful thing to have in general and for Zeitwerk specifically. I haven't actually walked through the ful... -
08:34 AM Feature #19633 (Open): Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- `Kernel#autoload` takes two arguments, a symbol `module` representing the constant to be autoloaded, and a `filepath` to load the constant from (with `require`).
Currently, Zeitwerk has to [monkeypatch `Kernel#require`](https://github... -
09:25 AM Revision 986268af (git): Document that Array#{&,intersection,intersect?} use hash method [ci skip]
- Fixes [Bug #19622]
-
09:01 AM Misc #19608: Being a co-maintainer of the ruby/openssl for the OpenSSL FIPS mode
- For someone who is interested in how to debug the ruby/openssl with OpenSSL 3 FIPS mode, I created a document about the topic below.
https://hackmd.io/@jaruga/ryDnksRm2
-
08:40 AM Misc #19599: DevMeeting-2023-05-10 @ Matsumoto, Japan
- * [Feature #19633] Allow passing block to `Kernel#autoload` as alternative to second `filename` argument`
* Something like this would remove the need for Zeitwerk to monkeypatch `Kernel#require`
* Connects autoloads directly to any c... -
05:12 AM Misc #19599: DevMeeting-2023-05-10 @ Matsumoto, Japan
- I would like to talk a little bit about Ruby Governance and what improvements we can make to how it is communicated to the public.
-
07:02 AM Misc #19431: DevMeeting at RubyKaigi 2023
- I'll attend.
-
05:03 AM Feature #19610: GC.delay_promotion
- > If my understanding is correct,
It is.
> ...
We won't be able to get that data in time for the developer meeting but we could probably get it in a week or two.]
However I think the graphs of time spent in GC @peterzhu2118 post... -
04:56 AM Feature #19610: GC.delay_promotion
- On my understanding, this proposal is for an object which are marked by an old object, and do not promote it immediately but increment age of the object. remember set (bitmap) keeps to refer this object and next minor GC marks this objec...
-
04:46 AM Feature #19435: Expose counts for each GC reason in GC.stat
- Sorry for late response.
> Yes, but unfortunately GC hooks have the adverse effect of disallowing allocation fast path, so I'd rather not go this route.
You are correct and we can ignore gc_enter/gc_exit events here. So we can avoi... -
04:29 AM Feature #19616 (Closed): Remove ext/readline from Ruby 3.3
- I removed `ext/readline` at https://github.com/ruby/ruby/commit/59fd67fc3d405e529e038172e769ff20a8fb5535
Welcome comments for migrating to `reline` if you have concern. -
04:21 AM Feature #19572: Add a new TracePoint event for rescued exceptions
- Sorry for late response.
Two points:
1. How should we handle C level rescue?
Some C code catch the exception. Should we trap it on this TracePoint?
`rb_rescue()` is easy to implement this TP hook.
However some core feature handle it w... - 03:57 AM Revision 091d04cc (git): Update bundled gems list at 9d6bfe3815118e7734515d29f9f51c [ci skip]
-
03:57 AM Revision 6404a0f2 (git): Fix broken link to maintainers page
-
03:57 AM Revision 9d6bfe38 (git): Use debug-1.8.0
-
03:57 AM Revision 59646e87 (git): Allow to use development version of bundled gems for packaging
-
03:57 AM Revision bb75e83d (git): We should not validate development version of bundled gems with fetch timing.
- We want to notify above situation when release time. So, I move this check into ruby/actions.
-
03:57 AM Revision 73976420 (git): Use HEAD version of ruby/debug for testing
-
03:57 AM Revision 9d3ab158 (git): Relax regexp for console assertion
-
03:57 AM Revision 59fd67fc (git): Extract ext/readline
-
01:41 AM Bug #19632: Disable external iterator for frozen enumerator
- Sounds reasonable.
-
01:26 AM Bug #19632: Disable external iterator for frozen enumerator
- A Pull Request for this is created. https://github.com/ruby/ruby/pull/7791
-
01:22 AM Bug #19632 (Closed): Disable external iterator for frozen enumerator
- Currently, methods to manipulate an external iterator like `#next` and `#feed` can be called even if a receiver of an enumerator is frozen. However, these methods change the state of an external iterator in an enumerator. Therefore, it s...
05/08/2023
-
09:15 AM Bug #19597: Process.argv0 returns the same mutable String
- It's commit:8c9a453f2d8a.
`ruby_set_script_name` makes an unfrozen copy. -
06:16 AM Bug #19597: Process.argv0 returns the same mutable String
- Once assigned to `$0`, it is frozen.
```shell-session
$ ruby -v -e '$0 = "test"; p $0; $0.upcase!'
ruby 3.3.0dev (2023-05-05T14:01:50Z master 40438fc4d3) [x86_64-darwin22]
"test"
-e:1:in `upcase!': can't modify frozen String: "tes... -
04:17 AM Bug #19597: Process.argv0 returns the same mutable String
- I found `$0` had been frozen till 1.9.
```shell-session
$ ruby1.9 -e 'p $0.upcase!; p $0; system("ps #$$")'
-e:1:in `upcase!': can't modify frozen String (RuntimeError)
from -e:1:in `<main>'
```
I'm not sure why/when it change... -
08:56 AM Revision 5831f7c8 (git): [rubygems/rubygems] Simplify code by Gem::Specification#runtime_dependencies
- https://github.com/rubygems/rubygems/commit/324139af8f
-
07:21 AM Revision 6987ec45 (git): [ruby/stringio] Drop support for ruby 2.6 or earlier
- (https://github.com/ruby/stringio/pull/47)
`rb_io_extract_modeenc` has been exported since ruby 2.7. -
03:23 AM Revision fb23fba0 (git): add CI matrix for clang 17 / GCC 13
- - https://github.com/llvm/llvm-project/commit/603c286334b07f568d39f6706c848f576914f323
- https://github.com/gcc-mirror/gcc/commit/cc035c5d8672f87dc8c2756d9f8367903aa72d93 - 03:09 AM Revision 9fc2e66b (git): * 2023-05-08 [ci skip]
- 03:09 AM Revision 66d626fd (git): Skip drb tests on mswin (#7789)
- * Skip TestDRbSSLAry on mswin
This doesn't seem to stably work on mswin:
https://github.com/ruby/ruby/actions/runs/3505363753/jobs/5871633211
For CI stability, it generally seems like a bad idea to run druby tests
on Windows, given tha...
05/07/2023
-
01:18 PM Revision 5eca327f (git): [ruby/reline] Fix dialog corrupts rendering by pushing up input line
- too much
(https://github.com/ruby/reline/pull/524)
* Do not render dialog where it overflows screen
* Dialog rendering should Scroll down only when needed
* Refactor screen_y_range calculation
Co-authored-by: Stan Lo <stan001212@gmai...
05/06/2023
-
01:40 PM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
- I enthusiastically support this suggestion. This is something that even experienced Ruby developers frequently forget about. I think it would be wise to evolve this API towards being "secure by default", even if that means forcing users ...
-
12:14 AM Feature #19630: [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
- A more complete list of the CVEs related to `Kernel.open`:
* CVE-2017-17405 (ruby, net-ftp)
* CVE-2017-17790 (ruby, resolv)
* CVE-2019-10780 (bibtex-ruby)
* CVE-2021-21289 (mechanize)
* CVE-2019-5477 (nokogiri)
* CVE-2021-31799 (... -
07:47 AM Bug #19629: Fix for CVE-2023-28755 breaks "puppet apply" run
- You are right, and they have already fixed it through https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/2018547.
-
07:39 AM Revision 8b2884c0 (git): [ruby/rdoc] Isolate root dir if specified
- This ensures only files from the root directory are chosen, in order to allow a clean build from outside the source directory.
https://github.com/ruby/rdoc/commit/f3b389aa9e -
05:39 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- > For example, Hash[capacity: 5] can look very similar to Hash.new(capacity: 5).
That seems like a very handwavy argument to me. I really don't see how the two could possibly be confused. -
05:31 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- I worry that new Rubyists might be confused with the `Hash.new(capacity: n)` semantics.
For example, `Hash[capacity: 5]` can look very similar to `Hash.new(capacity: 5)`. It wouldn’t be unreasonable to assume they are the same thing… ... -
05:19 AM Bug #19611: Ruby hangs up with `while true && true` - aa
-
03:06 AM Bug #19631 (Open): module_eval does not propulate absolute_path for Kernel.caller_locations
I am using module_eval and noticing that since ruby 3.2 the Kernel locations do not have absolute_path for any of the eval code, though the path is available. This is a regression since at least ruby 3.0 which still works.
I am on ...
05/05/2023
-
11:59 PM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- Previousy, a `capacity` reader/writer was suggested by @byroot in #18683#note-2
I would like to see this idea considered more seriously because
1. It doesn't need to change anything to the initialize arguments of Array/Hash/String,... -
11:12 PM Feature #19630 (Closed): [RFC] Deprecate `Kernel#open("|command-here")` due to frequent security issues
- `Kernel.open()` is the source of numerous [1] security [2] issues [3], due to the fact that it can be used to execute commands if given a String argument of the form `"|command-here"`. However, in most uses of `Kernel.open()` the develop...
-
08:08 PM Bug #19629 (Third Party's Issue): Fix for CVE-2023-28755 breaks "puppet apply" run
- In Ruby 2.7.8 and 3.0.6, URI#host returns `nil`. Ruby 3.1.4 and 3.2.2 return `""`:
```
$ ruby32 -r uri -e 'p URI("puppet:///modules/unattended_upgrades/etc/apt/apt.conf.d/50unattended-upgrades").host'
""
$ ruby31 -r uri -e 'p URI(... -
09:45 AM Bug #19629: Fix for CVE-2023-28755 breaks "puppet apply" run
- Also see https://tickets.puppetlabs.com/browse/PUP-11848.
-
09:11 AM Bug #19629 (Third Party's Issue): Fix for CVE-2023-28755 breaks "puppet apply" run
- (Not neccessarily a bug in Ruby - chances are I should have formatted my Puppet file URIs differently from the get-go.)
However, since yesterday I'm getting these errors when running `puppet apply`:
Could not evaluate: Could not re... - 02:07 PM Revision d770cbb5 (git): * 2023-05-05 [ci skip]
- 02:07 PM Revision 664433fe (git): Use vcpkg instead of chocolatey for openssl (#7788)
-
02:01 PM Revision 40438fc4 (git): [ruby/rdoc] Drop the support for 2.5 or earlier because of CVE-2021-31799
- https://github.com/ruby/rdoc/commit/26136138aa
-
09:52 AM Revision da75560b (git): Continue checking all gemspec files after errors
-
09:52 AM Revision cfa6a892 (git): Redirect to `IO::NULL` for the portability
- 03:43 AM Revision 085a8709 (git): Bump github/codeql-action from 2.3.2 to 2.3.3
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
... -
12:46 AM Revision cc4c28d0 (git): [ruby/uri] Define test cases as qualified class names
- https://github.com/ruby/uri/commit/aaa22a2443
-
12:46 AM Revision c598bc46 (git): [ruby/uri] Increase repeat orders of magnitude
- https://github.com/ruby/uri/commit/cfbeade935
05/04/2023
-
11:10 PM Revision b4e4ad95 (git): Write up NEWS entries for RJIT [ci skip]
-
10:59 PM Revision 60eb181c (git): Merge a YJIT release notes draft into NEWS [ci skip]
-
10:52 PM Revision 546093e8 (git): Add YJIT-related NEWS entries [ci skip]
-
09:05 AM Revision caa2180b (git): test_default_gems.rb: Stop using `git ls-files`
- Just validate syntax and the result class instead.
Not only `git ls-files` doesn't make sence under ruby's repository,
some gemspec files hardcode `2>/dev/null`, which doesn't work of
course on other than Unix-like platforms. -
06:49 AM Feature #19627 (Closed): Ensure the VM is alive before accessing objspace in C API
- Applied in changeset commit:git|2f9f44f077a53b14aa1fbd43111955251750d31f.
----------
Ensure the VM is alive before accessing objspace in C API (Feature #19627)
[Feature #19627] -
06:48 AM Revision 2f9f44f0 (git): Ensure the VM is alive before accessing objspace in C API (Feature #19627)
- [Feature #19627]
-
04:43 AM Feature #19015: Language extension by a heredoc
- @duerst It is funny you asked cause I just found this
> [Kernel] Support for multi-letter uppercase sigils
here https://hexdocs.pm/elixir/main/changelog.html
We can definitely start doing this right from the beginning.
Also, from my e... -
04:03 AM Feature #19015: Language extension by a heredoc
- @pyromaniac I think the main problem would be how to handle namespacing. With single letters, the chance of collision is very high. How does Elixir handle this?
-
03:24 AM Feature #19015: Language extension by a heredoc
- Hey folks. I'm actually wondering, why don't support Elixir-like sigils in Ruby? We have a ton of them already: `%w[]`, `%r//`, so why don't just add a support for custom ones?
I'm, for once, tired of writing `Date.new` or `Time.parse`, ... -
04:41 AM Revision e135a21a (git): Define `RubyVM::Shape` dependent test only if available
-
04:15 AM Revision ac730d3e (git): Delay start of the match cache optimization (#7738)
-
03:32 AM Revision 18b27185 (git): [DOC] regexp absent operator