Project

General

Profile

Activity

From 06/24/2021 to 06/30/2021

06/30/2021

11:57 PM Bug #17885: require_relative and require should be compatible with each other when symlinked files are used
I've submitted a pull request to prevent loading the same realpath multiple times: https://github.com/ruby/ruby/pull/4615 jeremyevans0 (Jeremy Evans)
11:23 PM Revision 1467328e (git): More general matrix "configure" parameter, add `--with-coroutine=pthread`.
Samuel Williams
11:23 PM Revision 42130a64 (git): Replace copy coroutine with pthread implementation.
Samuel Williams
09:42 PM Revision 9c953195 (git): rbinstall.rb: get rid of making directories when dryrun
nobu (Nobuyoshi Nakada)
08:16 PM Revision 8ee24840 (git): [ruby/irb] Update ls.rb without requiring Set, because Set is one of standard libraries
https://github.com/ruby/irb/commit/7092ad2ab5 Keiko Kaneko
08:12 PM Revision 518d3938 (git): * 2021-07-01 [ci skip]
git[bot]
08:12 PM Revision 4a3df352 (git): Use stride passed into os_obj_of_i
peterzhu2118 (Peter Zhu)
03:10 PM Bug #17933 (Closed): `Net::HTTP#write_timeout` doesn't work with `body_stream`
jeremyevans0 (Jeremy Evans)
02:26 PM Feature #17992: Upstreaming the htmlentities gem into CGI#.(un)escape_html
I'm reasonably convinced that augmenting the existing `unescapeHTML` API is off the table, for performance reasons.
I plan to add this under a new `(de|en)code_html_entities` name.
It could be parameterized just like HTMLEntities, ...
AMomchilov (Alexander Momchilov)
08:48 AM Feature #17992: Upstreaming the htmlentities gem into CGI#.(un)escape_html
Sorry, forgot to give a link to a human-readable table of html5 entities: https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references. duerst (Martin Dürst)
08:46 AM Feature #17992: Upstreaming the htmlentities gem into CGI#.(un)escape_html
It is difficult to make this complete without overdoing it because there are many different kinds of entity sets. The htmlentities gem distinguishes three (html4, xhtml1, and expanded). Both html4 and xhtml1 come in at around 250 entitie... duerst (Martin Dürst)
12:54 PM Misc #17662: The heredoc pattern used in tests does not syntax highlight correctly in many editors
Eregon (Benoit Daloze) wrote in #note-12:
> and if possible one that does not involve twice the number of heredocs than needed.
It is intentional to indent inside here-docs and separate interpolation-enabled and -disabled parts.
nobu (Nobuyoshi Nakada)
12:06 PM Revision acbddbe6 (git): [ruby/irb] Rescue a specific error
Rescuing StandardError is prone to bugs caused by a typo or obsoleted methods.
https://github.com/ruby/irb/commit/eb5260fcd5
k0kubun (Takashi Kokubun)
11:55 AM Revision e8c2b03e (git): [ruby/irb] Fix error on `ls object_cant_define_singleton`
such as `ls 42`, `ls :sym` and so on
https://github.com/ruby/irb/commit/b1d436a853
pocke (Masataka Kuwabara)
10:56 AM Revision 0feec798 (git): "nodoc" needs to exclude "doc" [ci skip]
nobu (Nobuyoshi Nakada)
08:33 AM Revision b6c910e1 (git): [ruby/error_highlight] Allow the development version (= master branch) of Ruby 3.1
https://github.com/ruby/error_highlight/commit/2dca1446c9 mame (Yusuke Endoh)
06:45 AM Revision 59ead885 (git): [DOC] add notes and examples for pipe [ci skip]
nobu (Nobuyoshi Nakada)
06:36 AM Feature #18015: Replace copy coroutine with pthread implementation.
+1 xtkoba (Tee KOBAYASHI)
04:29 AM Feature #18015: Replace copy coroutine with pthread implementation.
This is currently blocking <https://bugs.ruby-lang.org/issues/18005>. Pull request: <https://github.com/ruby/ruby/pull/4606>. ioquatix (Samuel Williams)
04:29 AM Feature #18015 (Closed): Replace copy coroutine with pthread implementation.
The copy coroutine is unique in that it uses a private stack area. It is also tricky to implement as it uses setjmp/longjmp to update the stack & instruction pointer. Because of this, pointers to stack allocated data are only valid while... ioquatix (Samuel Williams)
06:03 AM Bug #18016 (Closed): fiddle\types.rb typealias maybe wrong
in ...\lib\ruby\3.0.0\fiddle\types.rb
module Fiddle
module Win32Types
def included(m) # :nodoc:
m.module_eval{
# ...
typealias "HANDLE", "uintptr_t"
# ...
typealias "HINSTANCE", "unsi...
fitmap (Justin Peal)
05:02 AM Revision 8ccc2574 (git): Add the gemspec for error_highlight
mame (Yusuke Endoh)
04:41 AM Revision b270b5df (git): Prevent "warning: ambiguity between regexp and two divisions"
mame (Yusuke Endoh)
04:36 AM Revision 6c6b128c (git): [ruby/error_highlight] Bump version
https://github.com/ruby/error_highlight/commit/8d483c251e mame (Yusuke Endoh)
03:49 AM Revision ca4e5b1e (git): [ruby/error_highlight] Reconsider the API of ErrorHighlight.spot
https://github.com/ruby/error_highlight/commit/acb2046a82 mame (Yusuke Endoh)
03:49 AM Revision f428ced6 (git): [ruby/error_highlight] Experimentally support a custom formatter
https://github.com/ruby/error_highlight/commit/f40a1de20e mame (Yusuke Endoh)
02:46 AM Revision db7e9b1a (git): [ruby/error_highlight] Add some comments
https://github.com/ruby/error_highlight/commit/e0c90c72c3 mame (Yusuke Endoh)
02:39 AM Revision 3391682e (git): tool/sync_default_gems.rb: remove unneeded code for error_highlight sync
mame (Yusuke Endoh)
01:58 AM Bug #17887 (Closed): Missed constant lookup after prepend
Applied in changeset commit:git|3dd3ea092acead6179033f2c95525ffc5b8bb6ff.
----------
Use Module#ancestors order in recursive constant lookup
Before this commit, const_get with inherit=true and constant lookup
expressions searched the a...
alanwu (Alan Wu)
01:56 AM Revision 393f84da (git): tool/sync_default_gems.rb: Add error_highlight gem
mame (Yusuke Endoh)
01:49 AM Revision 3dd3ea09 (git): Use Module#ancestors order in recursive constant lookup
Before this commit, const_get with inherit=true and constant lookup
expressions searched the ancestors of the starting point in an order
different from `starting_point.ancestors`.
Items in the ancestry list introduced through prepend we...
alanwu (Alan Wu)
01:47 AM Feature #17432 (Closed): Check deprecated methods at compilation time
Applied in changeset commit:git|8118d435d000adec3023a0ff509baa11cc73fabb.
----------
rb_warn_deprecated_to_remove_at [Feature #17432]
At compilation time with RUBY_DEBUG enabled, check if the removal
version has been reached.
nobu (Nobuyoshi Nakada)
01:47 AM Revision dcd1eedb (git): * 2021-06-30 [ci skip]
git[bot]
01:47 AM Revision 94bd3bde (git): Specify version to remove as bare numbers
nobu (Nobuyoshi Nakada)
01:47 AM Revision 21600a5f (git): Ensure that version number starts with digits
nobu (Nobuyoshi Nakada)
01:47 AM Revision 0b726924 (git): Show the removal version
nobu (Nobuyoshi Nakada)
01:47 AM Revision 8118d435 (git): rb_warn_deprecated_to_remove_at [Feature #17432]
At compilation time with RUBY_DEBUG enabled, check if the removal
version has been reached.
nobu (Nobuyoshi Nakada)

06/29/2021

07:49 PM Bug #18014 (Closed): Memory leak in GC when using Ractors
# GitHub PR: https://github.com/ruby/ruby/pull/4613
When a Ractor is removed, the freelist in the Ractor cache is not returned to the GC, leaving the freelist permanently lost.
The following script demonstrates the issue. It iterat...
peterzhu2118 (Peter Zhu)
04:49 PM Bug #17772 (Rejected): Performance issue with NameError message in context with large instance variables (not caused by did_you_mean)
jeremyevans0 (Jeremy Evans)
03:07 PM Feature #17930 (Closed): Add column information into error backtrace
I've merged my PR https://github.com/ruby/ruby/pull/4586, created a new repository https://github.com/ruby/error_highlight
, and released a new gem https://rubygems.org/gems/error_highlight.
I will monitor the CI, but please let me k...
mame (Yusuke Endoh)
02:52 PM Bug #18011: `Method#parameters` is incorrect for forwarded arguments
Eregon (Benoit Daloze) wrote in #note-3:
> IMHO in Ruby 3+ it should return `[[:rest, :*], [:keyrest, :**], [:block, :&]]`.
> ...
I think methods that use `ruby2_keywords`, either explicitly or implicitly through argument forwarding, s...
jeremyevans0 (Jeremy Evans)
09:58 AM Bug #18011: `Method#parameters` is incorrect for forwarded arguments
IMHO in Ruby 3+ it should return `[[:rest, :*], [:keyrest, :**], [:block, :&]]`.
The fact that it uses `ruby2_keywords` internally is an implementation detail that I don't think needs to leak into Method#parameters.
Eregon (Benoit Daloze)
06:09 AM Bug #18011: `Method#parameters` is incorrect for forwarded arguments
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> Forwarded arguments is implemented as `(*args, &block)` with `ruby2_keywords`, not as `(*args, **kwargs, &block)`. If you add `def wrapper4(*r, &b) = wrapped(*r, &b),` to `methods` and the...
josh.cheek (Josh Cheek)
04:40 AM Bug #18011: `Method#parameters` is incorrect for forwarded arguments
Forwarded arguments is implemented as `(*args, &block)` with `ruby2_keywords`, not as `(*args, **kwargs, &block)`. If you add `def wrapper4(*r, &b) = wrapped(*r, &b),` to `methods` and then `ruby2_keywords :wrapper4` after `methods`, you... jeremyevans0 (Jeremy Evans)
01:02 AM Bug #18011 (Closed): `Method#parameters` is incorrect for forwarded arguments
When asking a method about its parameters, forwarded arguments say they are a rest and a block (`wrapper1` in the example below).
However, when we use that signature, it raises an ArgumentError (`wrapper2` in the example below).
When I...
josh.cheek (Josh Cheek)
02:45 PM Revision d1998d87 (git): tool/test-bundled-gems.rb: Stop tests conflicting with error_highlight
This hack should be removed after the minitest side is updated.
https://github.com/seattlerb/minitest/pull/880
mame (Yusuke Endoh)
02:45 PM Revision 9438c995 (git): Rename error_squiggle to error_highlight
mame (Yusuke Endoh)
02:45 PM Revision e9460496 (git): [WIP] add error_squiggle gem
```
$ ./local/bin/ruby -e '1.time {}'
-e:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError)
1.time {}
^^^^^
Did you mean? times
```
https://bugs.ruby-lang.org/issues/17930
mame (Yusuke Endoh)
01:28 PM Revision 03dc6644 (git): Fix crash on RGENGC_CHECK_MODE=4
When running btest there is a crash when compiled with
RGENGC_CHECK_MODE=4. The crash happens because `during_gc` is not
turned off before `gc_marks_check` is called, causing the marking to
happen on the main mark stack instead of mark s...
peterzhu2118 (Peter Zhu)
12:05 PM Bug #18013: Unexpected results when mxiing negated character classes and case-folding
duerst (Martin Dürst) wrote in #note-2:
> Just a question: What's the purpose of nested character classes?
They are useful in combination with the set intersection operator `&&`. They let you, e.g., exclude characters from some chara...
jirkamarsik (Jirka Marsik)
11:45 AM Bug #18013: Unexpected results when mxiing negated character classes and case-folding
Just a question: What's the purpose of nested character classes?
I didn't even know that there was such a thing as nested character classes.
Depending on the purpose of nested character classes, the right way to handle things may d...
duerst (Martin Dürst)
09:28 AM Bug #18013: Unexpected results when mxiing negated character classes and case-folding
This is a simpler reproducer.
```
irb(main):003:0> /[^a]/i.match("a")
=> nil
irb(main):004:0> /[[^a]]/i.match("a")
=> #<MatchData "a">
```
jirkamarsik (Jirka Marsik)
08:55 AM Bug #18013 (Open): Unexpected results when mxiing negated character classes and case-folding
```
irb(main):001:0> /[^a-c]/i.match("A")
=> nil
irb(main):002:0> /[[^a-c]]/i.match("A")
=> #<MatchData "A">
```
The two regular expressions above match different strings, because the character classes denote different sets of ch...
jirkamarsik (Jirka Marsik)
11:54 AM Revision 5e75280c (git): Add basic test for updated IO wait functions.
Samuel Williams
08:35 AM Bug #18012 (Open): Case-insensitive character classes can only match multiple code points when top-level character class is not negated
Some Unicode characters case-fold to strings of multiple code points, e.g. the ligature `\ufb00` can match the string `ff`.
```
irb(main):001:0> /\A[\ufb00]\z/i.match("\ufb00")
=> #<MatchData "ff">
irb(main):002:0> /\A[\ufb00]\z/i.m...
jirkamarsik (Jirka Marsik)
08:28 AM Feature #16978: Ruby should not use realpath for __FILE__
> Unfortunately, if __FILE__ uses realpath, unless you also change the behavior of $0
The "entrypoint" script could behave differently, but maybe that would be confusing.
byroot (Jean Boussier)
07:40 AM Bug #2127: Fiber#resume - segfault inside C extension
Make description more readable. ioquatix (Samuel Williams)
06:49 AM Revision 39f99b81 (git): Use assert_not_match "Did you mean?" for UncorrectableNameCheckTest
... instead of exact matching. I'm now creating a built-in gem that
modifies Exception's error message, so the expectation value is changed.
IMO, it is good to check that did_you_mean suggestion is NOT added in
the uncorrectable case.
...
mame (Yusuke Endoh)
06:49 AM Revision 809f1203 (git): Use String#include? instead of end_with? to avoid message duplication
Previously, did_you_mean used `msg.end_with?(suggestion)` to check if
its suggestion is already added.
I'm now creating a gem that also modifies Exception's message. This
breaks did_you_mean's duplication check.
This change makes the ch...
mame (Yusuke Endoh)
06:49 AM Revision 612b6fcd (git): Let Correctable#original_message skip prepended method definitions
Previously, DidYouMean::Correctable#original_message did
`method(:to_s).super_method.call` to call the original to_s method by
skipping Correctable#to_s.
I'm now creating a gem that prepends another to_s method to NameError,
which confu...
mame (Yusuke Endoh)
06:49 AM Revision 4670458a (git): Should require "rbconfig" to use RbConfig
https://github.com/ruby/did_you_mean/commit/fbe5aaaae8 nobu (Nobuyoshi Nakada)
06:49 AM Revision 8356d9e3 (git): Start v1.6.0 development
https://github.com/ruby/did_you_mean/commit/3f69171813 Yuki Nishijima
02:41 AM Revision 9eae8cde (git): Prefer qualified names under Thread
nobu (Nobuyoshi Nakada)

06/28/2021

09:07 PM Bug #17794 (Closed): addr2line.c can free(3) an invalid pointer without zlib
Applied in changeset commit:git|d795f494a89e0d9498dfedc54b8a98acc2bc4d7b.
----------
Avoid `free(3)`ing invalid pointer
Fixes [Bug #17794]
xtkoba (Tee KOBAYASHI)
09:06 PM Bug #17991 (Closed): [TEST, CRASH] TestBugReporter#test_bug_reporter_add
jeremyevans0 (Jeremy Evans)
09:06 PM Revision 983c9ad3 (git): * 2021-06-29 [ci skip]
git[bot]
09:06 PM Revision d795f494 (git): Avoid `free(3)`ing invalid pointer
Fixes [Bug #17794] xtkoba (Tee KOBAYASHI)
09:06 PM Feature #16978: Ruby should not use realpath for __FILE__
vo.x (Vit Ondruch) wrote in #note-13:
> Dan0042 (Daniel DeLorme) wrote in #note-12:
> ...
It's not difficult to make `__FILE__` use `realpath`:
```diff
@@ -10307,6 +10307,14 @@ numparam_nested_p(struct parser_params *p)
retur...
jeremyevans0 (Jeremy Evans)
08:00 PM Bug #17887 (Assigned): Missed constant lookup after prepend
@alanwu came up with a much simpler fix for this issue, so I closed my pull request in favor of his. @nobu, could you please review his pull request: https://github.com/ruby/ruby/pull/4585 ? jeremyevans0 (Jeremy Evans)
07:37 PM Bug #17986 (Closed): Ractor is stdlib Socket unfriendly
jeremyevans0 (Jeremy Evans)
07:34 PM Bug #17940 (Closed): Bus Error
jeremyevans0 (Jeremy Evans)
07:29 PM Bug #17987 (Closed): Ruby报错
jeremyevans0 (Jeremy Evans)
06:25 PM Bug #18006 (Closed): Resolv::DNS#getaddress takes minutes to resolve a domain with no DNS records in 3.0 (was quick in 2.7)
I tested this with RubyInstaller-head on Windows and the problem appears to have been resolved. Even without an empty `:search` option, ruby raises an exception almost immediately. As commit:9edc162583a4f685332239f6249745ad9b518cbe has... jeremyevans0 (Jeremy Evans)
05:53 PM Bug #8810 (Closed): GDBM.open内で処理がブロックしたらTimeout.timeout が効かない
gdbm was removed in commit:edcc29dcff1b269b7748ab83adf21b2f3f97ebff jeremyevans0 (Jeremy Evans)
05:52 PM Bug #8836 (Closed): [BUG] Bus Error with bundler on large Gemfile when resolving dependencies
jeremyevans0 (Jeremy Evans)
05:49 PM Bug #9245 (Closed): Kernel::system gives wrong output for utf-8 characters on windows under utf-8 console
This appears to be fixed as of Ruby 2.1. I was able to recreate the issue in 2.0, but not in 2.1. I also tested the latest RubyInstaller-head, and the problem is still fixed. jeremyevans0 (Jeremy Evans)
05:41 PM Bug #9737 (Closed): Non-ASCII characters in the path to ruby executable break require paths
This issue appears to have been fixed, probably in Ruby 3.0. Using the latest RubyInstaller-head:
```
D:\zz-können2>D:\zz-können2\Ruby31-x64\bin\ruby.exe -v --disable-gems -e "p $:.first.encoding, $:.first; require 'uri'"
ruby 3.1....
jeremyevans0 (Jeremy Evans)
12:10 PM Bug #17984: [BUG] try to mark T_NONE object
I didn't have the core dump and this issue only happens very rarely. I just caught it again today and this time I have the core dump. I forwarded it to @tenderlovemaking. byroot (Jean Boussier)
09:30 AM Bug #18010 (Open): Character class with single character gets case-folded with following string
```
irb(main):001:0> /ff/i.match("\ufb00")
=> #<MatchData "ff">
irb(main):002:0> /[f]f/i.match("\ufb00")
=> #<MatchData "ff">
irb(main):003:0> /f[f]/i.match("\ufb00")
=> nil
irb(main):004:0> /[f][f]/i.match("\ufb00")
=> nil
irb(ma...
jirkamarsik (Jirka Marsik)
09:09 AM Bug #18009 (Open): Regexps \w and \W with /i option and /u option produce inconsistent results under nested negation and intersection
This is a follow up to [issue 4044](https://bugs.ruby-lang.org/issues/4044). Its fix (https://github.com/k-takata/Onigmo/issues/4) handled the cases that were reported in the original issue, but there are other cases, which were omitted ... jirkamarsik (Jirka Marsik)
07:52 AM Revision b7d01b0d (git): Refined define_thread_class
Reduce duplications
* ID caluculations of the same name
* checks against the same name
* registration to the root module hash
nobu (Nobuyoshi Nakada)
03:10 AM Revision ac8c674a (git): * 2021-06-28 [ci skip]
git[bot]
02:30 AM Feature #17930: Add column information into error backtrace
@matz Thank you for your comment! Then, I'll pick up `error_highlight`. I will update and then merge my PR later. mame (Yusuke Endoh)
02:27 AM Feature #17930: Add column information into error backtrace
The `pretty` from `pretty print` strongly suggests beautifying indentation, which the proposed feature doesn't provide.
So I vote for `highlight` or `emphasize`.
Matz.
matz (Yukihiro Matsumoto)
01:53 AM Revision 47a9b58b (git): Share freeze option handling
nobu (Nobuyoshi Nakada)

06/27/2021

05:24 PM Feature #17930: Add column information into error backtrace
I read the source code of rustc. https://github.com/rust-lang/rust/tree/master/compiler/rustc_errors
The feature name seems to be "rustc_errors", which is not helpful for my proposal to decide the gem name, but I found some inspiring ...
mame (Yusuke Endoh)
01:49 PM Feature #17930: Add column information into error backtrace
Okay thanks. As far as I take a glance at the references that you showed, the word seems to be mainly used for a "cause". However, the underline in my proposal is not necessarily a cause, so I'm unsure whether it is more appropriate.
...
mame (Yusuke Endoh)
01:22 PM Feature #17930: Add column information into error backtrace
duerst (Martin Dürst) wrote in #note-25:
> If all of pretty/emphasis/highlight are problematic, what's your suggestion?
I already gave suggestions.
mame (Yusuke Endoh) wrote in #note-26:
> ...
I had English in mind. The link https://eo...
sawa (Tsuyoshi Sawada)
12:29 PM Feature #17930: Add column information into error backtrace
@duerst It sounds similar to prettyprint which is an existing built-in gem. As far as I know, there is no grammatical rules about a gem name. I don't find any consistent rule when I see prettyprint, power_assert, did_you_mean, debug, etc... mame (Yusuke Endoh)
12:13 PM Feature #17930: Add column information into error backtrace
sawa (Tsuyoshi Sawada) wrote in #note-24:
> To my understanding, the word "prettify" means and has been used to add cosmetics to the output, like adding line breaks and indenting or adding colors. The words "emphasis" and "highlight" ar...
duerst (Martin Dürst)
12:01 PM Feature #17930: Add column information into error backtrace
To my understanding, the word "prettify" means and has been used to add cosmetics to the output, like adding line breaks and indenting or adding colors. The words "emphasis" and "highlight" are in a similar vein. The functionality in que... sawa (Tsuyoshi Sawada)
06:42 AM Feature #17930: Add column information into error backtrace
mame (Yusuke Endoh) wrote in #note-22:
> Thank you for suggestions about the name. For the record, @pocke and @naruse like "pretty_error". I'll bring this to the next dev-meeting and ask @matz to pick up.
I'm not convinced about "pre...
duerst (Martin Dürst)
12:17 PM Revision e724857f (git): Show leaked file descriptors only, without cwd, txt, and so on
nobu (Nobuyoshi Nakada)
12:13 PM Revision 3839a8fe (git): Narrow the tracing of object allocations to during each test
nobu (Nobuyoshi Nakada)
02:45 AM Bug #17661: IO#each will segfault when if file is closed inside an `each_byte` block
Moved the check just after `rb_yield`.
And I found that `each_codepoint` also had a similar bug.
@wyhaines Could you add a spec for the method?
nobu (Nobuyoshi Nakada)
02:38 AM Bug #17661 (Closed): IO#each will segfault when if file is closed inside an `each_byte` block
Applied in changeset commit:git|13939d61b4b69bd109c5f41303c79868d639fa44.
----------
Check if closed after each yield [Bug #17661]
nobu (Nobuyoshi Nakada)
02:35 AM Feature #18008: `keyword_init?` method for Struct
+1. While we aim to obviate `keyword_init` in [Feature #16806], unless we also intend to deprecate the option (for now we don't), we'd need to have the check to correctly write a deserializer of Structs. k0kubun (Takashi Kokubun)
01:56 AM Feature #18008 (Closed): `keyword_init?` method for Struct
I'd like to know whether my struct was initialized with `keyword_init: true` or not.
This information is useful when writing a deserializer (attached an example below).
```ruby
S1 = Struct.new(:a, :b, keyword_init: true)
S2 = Struc...
hkdnet (Ko Sato)
02:18 AM Revision 13939d61 (git): Check if closed after each yield [Bug #17661]
nobu (Nobuyoshi Nakada)
01:52 AM Revision 35c7e83b (git): [ruby/irb] Optimize show_source command further
https://github.com/ruby/irb/pull/249 actually slowed down how `code` is
concatenated. The original way of creating `code` is faster.
[before]
user system total real
2.420137 0.005364 2.425501 ( 2.426264)
[after...
k0kubun (Takashi Kokubun)
01:36 AM Revision 6eb7c663 (git): [ruby/irb] Improve performance of `show_source` for large class
https://github.com/ruby/irb/commit/2b79e9ad21 pocke (Masataka Kuwabara)

06/26/2021

11:37 PM Revision bf789af2 (git): Added macros for days in month
nobu (Nobuyoshi Nakada)
11:37 PM Revision 1fd8b6f2 (git): Shrink monthly tables
nobu (Nobuyoshi Nakada)
07:33 PM Bug #12052 (Closed): String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
Applied in changeset commit:git|e86c1f6fc53433ef5c82ed2b7a4cc9a12c153e4c.
----------
Work around issue transcoding issue with non-ASCII compatible encodings and xml escaping
When using a non-ASCII compatible source and destination enco...
jeremyevans (Jeremy Evans)
12:42 AM Bug #12052: String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> It looks like this issue occurs when using both multibyte source and destination encoding. If either the source or destination encoding is not multibyte, the issue doesn't occur:
> ......
duerst (Martin Dürst)
07:32 PM Revision b1428b27 (git): * 2021-06-27 [ci skip]
git[bot]
07:32 PM Revision e86c1f6f (git): Work around issue transcoding issue with non-ASCII compatible encodings and xml escaping
When using a non-ASCII compatible source and destination encoding
and xml escaping (the :xml option to String#encode), the resulting
string was broken, as it used the correct non-ASCII compatible
encoding, but contained data that was ASC...
jeremyevans (Jeremy Evans)
05:08 PM Bug #14591 (Closed): Files with invalid multi-byte characters will cause Find::find() to raise EINVAL exception
jeremyevans0 (Jeremy Evans)
07:05 AM Revision 391abc54 (git): Scan the coderange in the given encoding
nobu (Nobuyoshi Nakada)

06/25/2021

09:08 PM Feature #17992: Upstreaming the htmlentities gem into CGI#.(un)escape_html
I took the first steps in incorporating this gem, starting with:
```bash
git subtree add \
--prefix=lib/cgi/htmlentities \
https://github.com/threedaymonk/htmlentities \
master
```
Which puts the entire `htmlent...
AMomchilov (Alexander Momchilov)
08:09 PM Bug #12052: String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> So a possible way to work around the issue until it can be properly fixed would be to detect the case where both source and destination are multibyte, switch the destination to UTF-8, then...
jeremyevans0 (Jeremy Evans)
05:34 PM Bug #12052: String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
duerst (Martin Dürst) wrote in #note-2:
> Sorry to @jeremyevans0, but I have to disagree. This is a bug. We can disagree about how important it is to fix this bug, but it's a bug nevertheless. First, xml: :text works correctly in other ...
jeremyevans0 (Jeremy Evans)
09:39 AM Bug #12052 (Open): String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
Sorry to @jeremyevans0, but I have to disagree. This is a bug. We can disagree about how important it is to fix this bug, but it's a bug nevertheless. First, xml: :text works correctly in other encodings even if the source and destinatio... duerst (Martin Dürst)
05:30 PM Revision 457a4913 (git): Disable RBIMPL_ATTR_DEPRECATED for Coverity Scan build
Coverity Scan emulates gcc but seems not to support this attribute
correctly.
mame (Yusuke Endoh)
03:15 PM Revision c86f03be (git): * 2021-06-26 [ci skip]
git[bot]
03:15 PM Revision 68e1dc51 (git): iseq.c: Make ast_line_count return 0 when syntax error occurred
This broke coverage CI
```
1) Failure:
TestRequire#test_load_syntax_error [/home/runner/work/actions/actions/ruby/test/ruby/test_require.rb:228]:
Exception(SyntaxError) with message matches to /unexpected/.
[SyntaxError] exception exp...
mame (Yusuke Endoh)
01:50 PM Bug #18007: Help developers of C extensions meet requirements in "doc/extension.rdoc"
nobu (Nobuyoshi Nakada) wrote in #note-1:
> I don't think the configuration option is needed.
> ...
Thank you for your review. I've updated the pull request.
mdalessio (Mike Dalessio)
07:25 AM Bug #18007: Help developers of C extensions meet requirements in "doc/extension.rdoc"
I don't think the configuration option is needed.
And `Check_Type(klass, T_CLASS);` can be in `rb_data_object_check`.
nobu (Nobuyoshi Nakada)
05:54 AM Bug #18007 (Closed): Help developers of C extensions meet requirements in "doc/extension.rdoc"
A pull request for this feature has been submitted at https://github.com/ruby/ruby/pull/4604
## Problem being solved
This option is intended to help developers of C extensions to check if their code meets the requirements explained...
mdalessio (Mike Dalessio)
01:34 PM Feature #17930: Add column information into error backtrace
Thank you for suggestions about the name. For the record, @pocke and @naruse like "pretty_error". I'll bring this to the next dev-meeting and ask @matz to pick up.
Eregon (Benoit Daloze) wrote in #note-21:
> How about using a "core...
mame (Yusuke Endoh)
12:54 PM Feature #17930: Add column information into error backtrace
mame (Yusuke Endoh) wrote in #note-17:
> I've created a PR to add a new default gem to extend the error message of NameError: https://github.com/ruby/ruby/pull/4586
Is a gem needed here?
I like this feature, but I think it is very...
Eregon (Benoit Daloze)
12:37 PM Feature #14394: Class.descendants
Would be good to add this for 3.1, as it will avoid some pretty expensive heap walks (ObjectSpace.each_object) just to get a list of subclasses. Eregon (Benoit Daloze)
11:11 AM Feature #17845: Windows Ruby - ucrt build?
Thinking a bit more about the ABI incompatibilities convinced me more about the need to differentiate the ruby platforms on Windows. So I added another patch to https://github.com/ruby/ruby/pull/4599 which sets `CONFIG['arch']` and `RUBY... larskanis (Lars Kanis)
09:56 AM Revision 5ffb313c (git): Revert "Revert "[ruby/reline] Fix failed test""
I'm so sorry, the previous revert was just a mistake.
This reverts commit 9103c3ba8bc09f287f69ca322f58faa34e003f2e.
aycabta (aycabta .)
08:42 AM Revision 9103c3ba (git): Revert "[ruby/reline] Fix failed test"
This reverts commit 491591c7cee842601118efc2698e0e41283827b3. aycabta (aycabta .)
08:42 AM Revision bf376cae (git): [ruby/reline] Fix missing require.
https://github.com/ruby/reline/commit/010b28dfe9 Samuel Williams
08:42 AM Revision e7884818 (git): [ruby/reline] Avoid using blocking `IO.select`.
https://github.com/ruby/reline/commit/de94746393 Samuel Williams
08:42 AM Revision d340b091 (git): [ruby/reline] Fix failed test
For ruby/ruby repository's AppVeyor CI (Windows environment), `Reline::IOGate.encoding` will be changed from `UTF-8` to `Windows-31J` after the test is run.
So, when `test/reline/test_key_actor_emacs.rb` is loaded, `Reline::IOGate.encodi...
ima1zumi (Mari Imaizumi)
08:27 AM Revision b048fd57 (git): Followed up 66d2fc7989d741bf5a73286233139901cecb4fc2
hsbt (Hiroshi SHIBATA)
08:26 AM Revision b036a44e (git): [ruby/racc] Remove Object monkey patch
I don't think we need this monkey patch anymore, so lets remove it!
https://github.com/ruby/racc/commit/464485e912
tenderlovemaking (Aaron Patterson)
08:26 AM Revision 7641a83d (git): [ruby/racc] Removed needless condition for old versions of RubyGems.
https://github.com/ruby/racc/commit/fe3183b1ff hsbt (Hiroshi SHIBATA)
08:26 AM Revision dd0a9507 (git): [ruby/racc] Drop to support Ruby 2.4
https://github.com/ruby/racc/commit/5af1a42a3b hsbt (Hiroshi SHIBATA)
08:26 AM Revision 77c1f6b1 (git): [ruby/racc] Followed up #162
https://github.com/ruby/racc/commit/d66cd12166 hsbt (Hiroshi SHIBATA)
08:23 AM Revision 71344a1d (git): [ruby/racc] Stop compressing integer lists
It is unclear why this was implemented, I assume
it was for performance back in 2006.
However today, this compression defeats bytecode caching
entirely and end up being counter productive.
https://github.com/ruby/racc/commit/ae3703c1d0
byroot (Jean Boussier)
04:50 AM Bug #17951 (Closed): Collisions in Proc#hash values for blocks defined at the same line
Applied in changeset commit:git|be230615d016e27d5b45b465d1481f6ecf7f1d28.
----------
Remove shift of ep when computing Proc#hash
The shift was causing far fewer unique values of hash than expected.
Fix pointed out by xtkoba (Tee KOBAY...
jeremyevans (Jeremy Evans)

06/24/2021

11:50 PM Bug #12052 (Rejected): String#encode with xml option returns wrong result for totally non-ASCII-compatible encodings
After an extensive session with gdb, I've determined that this isn't an issue with `String#encode`, and it isn't a bug.
`"<\0>\0".encode("utf-16le", "utf-16le", xml: :text)` returns the same string as `"&lt;\0&gt;\0".force_encoding("u...
jeremyevans0 (Jeremy Evans)
10:20 PM Bug #18006: Resolv::DNS#getaddress takes minutes to resolve a domain with no DNS records in 3.0 (was quick in 2.7)
Maybe related to #17748. xtkoba (Tee KOBAYASHI)
09:18 PM Bug #18006 (Assigned): Resolv::DNS#getaddress takes minutes to resolve a domain with no DNS records in 3.0 (was quick in 2.7)
I was unable to recreate this issue in my OpenBSD environment. However, I was able to recreate the issue on Windows. I think the issue is due to domain searching. As a work around, you can try specifying an empty `search` option:
``...
jeremyevans0 (Jeremy Evans)
08:56 PM Bug #18006 (Closed): Resolv::DNS#getaddress takes minutes to resolve a domain with no DNS records in 3.0 (was quick in 2.7)
Hello team,
Calling `getaddress` on a domain that returns `NXDOMAIN` takes 2.5 minutes in Ruby 3.0, unless the domain is in FQDN form (with a trailing dot). I'll try to take a look and figure out what's happening, but I'm not familiar...
dee-see (Dominic Couture)
08:19 PM Bug #12261 (Assigned): Windows: File.dirname with 2+ / or 2+ \\ will return // or \\\\
I'm not sure whether this behavior was originally expected, but I think changing it at this point isn't worth the backwards compatibility breakage. For example, consider the following:
```ruby
dir = File.dirname(string) # string cou...
jeremyevans0 (Jeremy Evans)
07:25 PM Revision be230615 (git): Remove shift of ep when computing Proc#hash
The shift was causing far fewer unique values of hash than expected.
Fix pointed out by xtkoba (Tee KOBAYASHI)
Fixes [Bug #17951]
jeremyevans (Jeremy Evans)
07:24 PM Bug #16608: ConditionVariable#wait should return false when timeout exceeded
The rbs pull request has been merged. So we just need to wait for the next rbs gem release and for bundled gems to be updated, then we can merge the pull request. jeremyevans0 (Jeremy Evans)
07:23 PM Bug #14456 (Closed): Dir.glob with FNM_CASEFOLD gives ArgumentError: invalid byte sequence in UTF-8
Applied in changeset commit:git|a2592702ae4c18662a162805aa06d88046742f05.
----------
Actually ignore FNM_CASEFOLD flag in Dir.glob
This was already documented as being ignored, but it wasn't being
ignored, causing an issue in a particu...
jeremyevans (Jeremy Evans)
07:22 PM Revision 3ab68b91 (git): * 2021-06-25 [ci skip]
git[bot]
07:22 PM Revision a2592702 (git): Actually ignore FNM_CASEFOLD flag in Dir.glob
This was already documented as being ignored, but it wasn't being
ignored, causing an issue in a particular case where a UTF-8
pattern was provided and a filename was tested that wasn't valid
UTF-8.
Fixes [Bug #14456]
jeremyevans (Jeremy Evans)
12:53 PM Revision 189f1547 (git): [DOC] fixed return value of ENV.clone [ci skip]
nobu (Nobuyoshi Nakada)
11:39 AM Revision fb978fab (git): Tests for MiniTest define anonymous test cases
nobu (Nobuyoshi Nakada)
09:52 AM Revision e1c3cb93 (git): test: imply random test order by --seed option
nobu (Nobuyoshi Nakada)
09:49 AM Feature #17930: Add column information into error backtrace
mame (Yusuke Endoh) wrote in #note-17:
>
> ...
I think that, to pinpoint the origin of an error out of some things, the expression "offending ..." is usually used. So I suggest something along the lines of `offending_method`, `offendi...
sawa (Tsuyoshi Sawada)
05:00 AM Feature #17930: Add column information into error backtrace
mame (Yusuke Endoh) wrote in #note-17:
> BTW, I'd like to hear opinions from you, especially English native people, about the feature name. I tentatively named it "error_squiggle". Squiggle means a wavy underline used to indicate an...
duerst (Martin Dürst)
08:04 AM Revision 627aafac (git): Remove also debug symbol directory at clean on macOS
nobu (Nobuyoshi Nakada)
08:04 AM Revision 1356b90c (git): Prefer configured command as RM_RF
nobu (Nobuyoshi Nakada)
04:27 AM Revision 358a357f (git): Reduce repeated same code
nobu (Nobuyoshi Nakada)
04:01 AM Revision 4c8c3fb2 (git): Load rubygems before default gems
nobu (Nobuyoshi Nakada)
04:01 AM Revision 68754085 (git): Introduced RUBY_CRLF_ENVIRONMENT to simplify repeated condition
nobu (Nobuyoshi Nakada)
03:48 AM Revision 0fbdaaf7 (git): rand_bytes: prefer rng->get_bytes
Because why not. There was no use case of rng->get_bytes before this
changeset.
shyouhei (Shyouhei Urabe)
03:12 AM Bug #18001: AddressSanitizer finding heap-buffer-overflow in iseq_peephole_optimize
It looks that the patch makes sense. Thank you! mame (Yusuke Endoh)
 

Also available in: Atom