Project

General

Profile

Activity

From 08/07/2020 to 08/13/2020

08/13/2020

11:51 PM Revision 4318aba9 (git): re.c: prevent "warning: variable 'n' set but not used"
by adding MAYBE_UNUSED. mame (Yusuke Endoh)
09:23 PM Feature #17122: Add category to Warning#warn
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> I don't think we should add a category keyword if the only usage is for deprecation warnings. If we are going to do this, I think:
> ...
I think we have category symbols already:
* h...
tenderlovemaking (Aaron Patterson)
09:06 PM Feature #17122: Add category to Warning#warn
I don't think we should add a category keyword if the only usage is for deprecation warnings. If we are going to do this, I think:
* All warning messages emitted by the core and the stdlib should have a category added
* This requir...
jeremyevans0 (Jeremy Evans)
08:42 PM Feature #17122 (Closed): Add category to Warning#warn
Deprecation warnings and other warnings in Ruby have a category (:deprecated, etc) but those categories aren't exposed or accessible. In the most recent Ruby 2.7 upgrade at GitHub we monkey patched `Warning#warn` to be able to turn warni... eileencodes (Eileen Uchitelle)
06:16 PM Revision 22fd617a (git): Adding doc/dig_methods.rdoc and links to it (#3416)
Adds a full discussion of #dig, along with links from Array, Hash, Struct, and OpenStruct.
CSV::Table and CSV::Row are over in ruby/csv. I'll get to them soon.
The art to the thing is to figure out how much (or how little) to say at ea...
burdettelamar (Burdette Lamar)
05:16 PM Revision cead77d8 (git): * 2020-08-14 [ci skip]
git[bot]
05:15 PM Revision 511b55bc (git): Enable arm64 optimizations that exist for power/x86 (#3393)
* Enable unaligned accesses on arm64
64-bit Arm platforms support unaligned accesses.
Running the string benchmarks this change improves performance
by an average of 1.04x, min .96x, max 1.21x, median 1.01x
* arm64 enable gc optimizat...
AGSaidi
05:10 PM Bug #17120: String#start_with? return wrong result for Regexp patterns containing /\K/
Patch: https://github.com/ruby/ruby/pull/3417 hanazuki (Kasumi Hanazuki)
08:17 AM Bug #17120 (Rejected): String#start_with? return wrong result for Regexp patterns containing /\K/
`String#start_with?` unexpectedly reports true when the pattern Regexp contains `/\K/` (lookbehind) operator and the lookbehind pattern matches the beginning of `self`.
```ruby
"hello".start_with?(/h\Ke/) # => true (unexpected)
```...
hanazuki (Kasumi Hanazuki)
11:56 AM Revision 787cb0fd (git): Replace repeated RSTRING_PTR and RSTRING_LEN with RSTRING_GETMEM
As now RSTRING_PTR and RSTRING_LEN are functions, they very bother
stepping in/out during debugging.
nobu (Nobuyoshi Nakada)
11:54 AM Bug #17118 (Closed): String#index and #rindex return wrong result for Regexp patterns containing /\K/
Applied in changeset commit:git|014a4fda54cb6897ed54ea9c44376db3459fc46e.
----------
rb_str_{index,rindex}_m: Handle /\K/ in pattern
When the pattern Regexp given to String#index and String#rindex
contain a /\K/ (lookbehind) operator, ...
hanazuki (Kasumi Hanazuki)
07:26 AM Bug #17118: String#index and #rindex return wrong result for Regexp patterns containing /\K/
Patch: https://github.com/ruby/ruby/pull/3414 hanazuki (Kasumi Hanazuki)
07:21 AM Bug #17118 (Closed): String#index and #rindex return wrong result for Regexp patterns containing /\K/
When the pattern Regexp given to `String#index` and `String#rindex` contain a `/\K/` (lookbehind) operator, these methods return the position where the beginning of the lookbehind pattern matches, while they are expected to return the po... hanazuki (Kasumi Hanazuki)
11:54 AM Revision 014a4fda (git): rb_str_{index,rindex}_m: Handle /\K/ in pattern
When the pattern Regexp given to String#index and String#rindex
contain a /\K/ (lookbehind) operator, these methods return the
position where the beginning of the lookbehind pattern matches, while
they are expected to return the position...
hanazuki (Kasumi Hanazuki)
11:51 AM Bug #17119 (Closed): String#partition and #rpartition return wrong result for Regexp patterns containing /\K/
Applied in changeset commit:git|5d71eed1a7f0a70db013de59cd7e95bdca0d5c0e.
----------
rb_str_{partition,rpartition}_m: Handle /\K/ in pattern
When the pattern given to String#partition and String#rpartition
contain a /\K/ (lookbehind) o...
hanazuki (Kasumi Hanazuki)
07:26 AM Bug #17119: String#partition and #rpartition return wrong result for Regexp patterns containing /\K/
Patch: https://github.com/ruby/ruby/pull/3413 hanazuki (Kasumi Hanazuki)
07:23 AM Bug #17119 (Closed): String#partition and #rpartition return wrong result for Regexp patterns containing /\K/
When the Regexp pattern given to `String#partition` and `String#rpartition` contain a `/\K/` (lookbehind) operator, the methods return strings sliced at incorrect positions.
```ruby
# expected -- partitioned at "c" following "b"
"ab...
hanazuki (Kasumi Hanazuki)
11:50 AM Revision 5d71eed1 (git): rb_str_{partition,rpartition}_m: Handle /\K/ in pattern
When the pattern given to String#partition and String#rpartition
contain a /\K/ (lookbehind) operator, the methods return strings
sliced at incorrect positions.
```
# without patch
"abcdbce".partition(/b\Kc/) # => ["a", "c", "cdbce"]
"...
hanazuki (Kasumi Hanazuki)
09:58 AM Feature #17121: Remove ENV#index
Sorry, `ENV#index` is will be remove this pull request(https://github.com/ruby/ruby/pull/3412) S_H_ (Shun Hiraoka)
09:52 AM Feature #17121 (Open): Remove ENV#index
`ENV#index` is deprecated since `ruby-1.9.0-0`.
So, remove it.
```bash
root@8785b339158a:/all-ruby# env ALL_RUBY_SINCE=ruby-1.8 ./all-ruby -e 'ENV.index("RUBY")'
ruby-1.8.0
...
ruby-1.8.7-p374
ruby-1.9.0-0 -e:1: warn...
S_H_ (Shun Hiraoka)
05:56 AM Feature #16986: Anonymous Struct literal
okuramasafumi (Masafumi OKURA) wrote in #note-27:
> I found that
> ...
Read the error message.
```
$ ruby -e '{{a: 1, b: 2}}'
-e:1: syntax error, unexpected '}', expecting =>
{{a: 1, b: 2}}
^
```
That means `{{`...
nobu (Nobuyoshi Nakada)
01:14 AM Revision 69b5241c (git): ruby_debug_log: suppress warning
Old gcc (< 5 maybe?) warns that this variable is not initialized:
debug.c: In function 'ruby_debug_log':
debug.c:441:13: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
if (r && len <...
shyouhei (Shyouhei Urabe)
01:14 AM Revision 1f9e25cd (git): MAYBE_UNUSED should just suffice
This reverts commit c355fa72d4e356378a8b03a67432b52bafcc308b. shyouhei (Shyouhei Urabe)

08/12/2020

09:29 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
Just to be clear I am +1 on single return target, as described here: https://github.com/jruby/jruby/issues/6350#issuecomment-669603740
In addition to the confusing (and possibly inefficient) behavior that results from having two possi...
headius (Charles Nutter)
07:48 PM Feature #16986: Anonymous Struct literal
okuramasafumi (Masafumi OKURA) wrote in #note-27:
> I found that
> ...
hi.
`hoge {{a: 1, b: 2}}` is not syntax error. `{{a: 1, b: 2}}` is block argument.
```ruby
def hoge(&block)
block.call
end
# OK
hoge {{a: 1, b: 2}}
# => {:a=>1, :...
osyo (manga osyo)
05:56 PM Feature #16986: Anonymous Struct literal
I found that
``` ruby
{{a: 1, b: 2}}
```
is a syntax error and could be a good candidate for this feature.
okuramasafumi (Masafumi OKURA)
06:50 PM Bug #17031 (Open): `Kernel#caller_locations(m, n)` should be optimized
Reopening this as the commit had to be reverted as CI showed issues in `backtrace_mark`. I can't work on debugging this right away, so someone is welcome to look into fixing this in the meantime. jeremyevans0 (Jeremy Evans)
06:03 PM Bug #17031 (Closed): `Kernel#caller_locations(m, n)` should be optimized
Applied in changeset commit:git|f2d7461e85053cb084e10999b0b8019b0c29e66e.
----------
Improve performance of partial backtraces
Previously, backtrace_each fully populated the rb_backtrace_t with all
backtrace frames, even if caller only...
jeremyevans (Jeremy Evans)
07:14 AM Bug #17031: `Kernel#caller_locations(m, n)` should be optimized
Thank you Jeremy!
Great patch!
ko1 (Koichi Sasada)
06:43 PM Revision 4fc6cfbe (git): Revert "Improve performance of partial backtraces"
This reverts commit f2d7461e85053cb084e10999b0b8019b0c29e66e.
Some CI machines are reporting issues with backtrace_mark, so I'm
going to revert this for now.
jeremyevans (Jeremy Evans)
06:03 PM Revision 6dfd7ad4 (git): * 2020-08-13 [ci skip]
git[bot]
06:03 PM Revision f2d7461e (git): Improve performance of partial backtraces
Previously, backtrace_each fully populated the rb_backtrace_t with all
backtrace frames, even if caller only requested a partial backtrace
(e.g. Kernel#caller_locations(1, 1)). This changes backtrace_each to
only add the requested frame...
jeremyevans (Jeremy Evans)
12:31 PM Feature #17103: Add a :since option to ObjectSpace.dump_all
@ko1 this parameter allow to do partial heap dumps. e.g. `dump_all(since: 42)`, means to only dump objects of the 42th generation and later. Basically like adding a `if ObjectSpace.allocation_generation(obj) >= 42`.
This would be very...
byroot (Jean Boussier)
07:55 AM Feature #17103: Add a :since option to ObjectSpace.dump_all
sorry I can't understand the specification.
also https://github.com/ruby/ruby/pull/3368/files doesn't have a doc.
could you explain more?
ko1 (Koichi Sasada)
09:47 AM Bug #17117 (Closed): Corruption in ARGF.inplace
nobu (Nobuyoshi Nakada)
08:54 AM Revision 166cacc5 (git): Fix corruption in ARGF.inplace
Extension string stored in `ARGF.inplace` is created using an api
designed for C string constants to create a Ruby string that
points at another Ruby string. When the original string is swept,
the extension string gets corrupted.
Reprod...
peterzhu2118 (Peter Zhu)
07:38 AM Feature #17059: epoll as the backend of IO.select on Linux
does it improve the performance?
My understanding is the advantage of `epoll` is advanced registration.
However, `select` wrapping interface can not use it.
I have no experience to use `epoll`, so correct me it is wrong.
Thanks,
...
ko1 (Koichi Sasada)
07:30 AM Bug #17048: Calling initialize_copy on live modules leads to crashes
sorry I didn't check all threads, but nobu's patch can close it? ko1 (Koichi Sasada)
07:16 AM Misc #17050 (Feedback): profiler gem
Sorry for late response.
I have a plan to remake current profile library with recent APIs.
ko1 (Koichi Sasada)
06:36 AM Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
> However that terminology is already used for symbols (rb_str_intern).
Yes. This is why we didn't propose it.
ko1 (Koichi Sasada)
06:28 AM Feature #16984: Remove write barrier exemption for T_ICLASS
sorry I didn't check it.
Thank you, ~10 MB in "B's 250 MiB." is not problem I think.
Could you merge it if you don't have any trouble more?
ko1 (Koichi Sasada)
02:42 AM Bug #17108 (Rejected): error: initialization of ‘long unsigned int’ from ‘void *’ makes integer from pointer without a cast
`rb_funcall` expects a list of `VALUE`s after the number of arguments.
I think you'll want to write:
```C
MQ_INT arity = VAL2INT(rb_funcall(val,NS(id_arity),0));
```
or use `rb_funcallv` instead of `rb_funcall`:
```C
MQ_...
nobu (Nobuyoshi Nakada)
01:02 AM Bug #17113 (Closed): /\K/ in separator for String#split behaves differently than /(?<=)/
Applied in changeset commit:git|e79cdcf61b0665d8a9bb309a607227de43e95673.
----------
string.c(rb_str_split_m): Handle /\K/ correctly
Use BEG(0) instead of the result of rb_reg_search to handle the cases
when the separator Regexp contai...
hanazuki (Kasumi Hanazuki)
01:01 AM Revision e79cdcf6 (git): string.c(rb_str_split_m): Handle /\K/ correctly
Use BEG(0) instead of the result of rb_reg_search to handle the cases
when the separator Regexp contains /\K/ (lookbehind) operator.
Fixes [Bug #17113]
hanazuki (Kasumi Hanazuki)

08/11/2020

08:02 PM Bug #17117 (Closed): Corruption in ARGF.inplace
Extension string stored in `ARGF.inplace` is created using an api designed for C string constants to create a Ruby string that points at another Ruby string. When the original string is swept, the extension string gets corrupted.
Repr...
peterzhu2118 (Peter Zhu)
04:10 PM Feature #17116 (Closed): raise ArgumentError in Enumerator#new in no given blocks
Currently, `Enumerator#new` allows this code (no block given):
```ruby
obj = Object.new
Enumerator.new(obj)
```
with a warning (since ruby-2.0.0-preview2):
```bash
-e:1: warning: Enumerator.new without a block is deprecated;...
S_H_ (Shun Hiraoka)
04:02 PM Revision 66efe373 (git): * 2020-08-12 [ci skip]
git[bot]
04:01 PM Revision 7930a352 (git): Test out fix for OpenSSL test flakiness
`OpenSSL::TestX509Store#test_verify` has been failing intermittently on
CI about once a day:
- http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3121244
- http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3117661
- ht...
alanwu (Alan Wu)
03:57 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
> another reason is avoidance of alias effects
What you've shown is not another reason for freezing.
`a = b = "My string"`
both a and b refer to the same string object regardless of interning/freezing
there's no expectation t...
bughit (bug hit)
06:22 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
bughit (bug hit) wrote in #note-11:
> > However in my view what defines a literal, is the use of a specific syntax, so ""
> ...
My understanding is that another reason is avoidance of alias effects. It's easy to write code that when cu...
duerst (Martin Dürst)
03:16 PM Feature #17115 (Open): Optimize String#casecmp? for ASCII strings
Patch: https://github.com/ruby/ruby/pull/3369
`casecmp?` is a kind of performance trap as it's much slower than using a case insensitive regexp or just `casecmp == 0`.
```
str = "Connection"
cmp = "connection"
Benchmark.ips do |...
byroot (Jean Boussier)
03:14 PM Bug #17114: Float is not properly kept as integer when integer is added without space
Hello,
my fault. Thank you for clarification.
Best regards,
Tammo
tammo (tammo tjarks)
02:40 PM Bug #17114: Float is not properly kept as integer when integer is added without space
Hi, it's not a bug. +-1 is a precision argument.
```
irb> 12.34.floor(-1)
=> 10
irb> 12.34.floor(+1)
=> 12.3
```
take a look at the documentation, it describes this exact behavior well.
https://ruby-doc.org/core-2.7.1/Float....
ahorek (Pavel Rosický)
02:38 PM Bug #17114 (Rejected): Float is not properly kept as integer when integer is added without space
This is expected. `1.0.floor + 1` is parsed as `((1.0).floor).+(1)`. `1.0.floor +1` is parsed as `(1.0).floor(+1)`. This is also true for `-1`, it's just that `((1.0).floor).-(1)` and `(1.0).floor(-1)` are both `0`, since `(floor).flo... jeremyevans0 (Jeremy Evans)
02:25 PM Bug #17114 (Rejected): Float is not properly kept as integer when integer is added without space
Hello dear ruby community,
I observed the following behaviour:
``` ruby
1.0.floor +1 # => 1.0
(1.0).floor +1 # => 1.0
(1.0.floor) +1 # => 2
1.0.floor + 1 # => 2
```
I think this is due to `+1` being taken as an argument to `f...
tammo (tammo tjarks)
01:49 PM Revision 42725e3a (git): Enable s390x invokebuiltin JIT test again
k0kubun (Takashi Kokubun)
10:03 AM Bug #17113: /\K/ in separator for String#split behaves differently than /(?<=)/
Patch: https://github.com/ruby/ruby/pull/3407 hanazuki (Kasumi Hanazuki)
09:59 AM Bug #17113 (Closed): /\K/ in separator for String#split behaves differently than /(?<=)/
When a String is `#split`ted with a pattern containing /\K/ (lookbehind) operator,
the portion that matches the lookbehind pattern will not appear in the result.
```ruby
"abcd".split(/b\Kc/) # => ["a", "d"]
"abcd".split(/(?<=b)c/)...
hanazuki (Kasumi Hanazuki)
09:35 AM Revision 7806b2e2 (git): Use colorize.rb for non-capable terminals
nobu (Nobuyoshi Nakada)
09:35 AM Revision 2e7fe3b6 (git): Add default color for each instance
nobu (Nobuyoshi Nakada)
08:34 AM Bug #17112: Resolv.getaddress fails with IPv6 link-local addresses
After some experiments I noticed that changing `use_ipv6?` isn't the whole story.
In `Resolv#each_address` there seems to be a check for IP addresses. In case an IP address is given no actual resolving is performed.
```ruby
if AddressR...
daniel-rikowski (Daniel Rikowski)
07:51 AM Revision 5af983af (git): template/prelude.c.tmpl: suppress clang-12 warning
Clang 12 warns "suspicious concatenation of string literals in an array
initialization", which is rather annoying than useful in this context.
shyouhei (Shyouhei Urabe)
07:51 AM Revision ef2b785b (git): .github/workflows/compilers.yml: clang-12
LLVM made release/11.x branch. Its master is now version 12. shyouhei (Shyouhei Urabe)
07:51 AM Revision acd8ee8d (git): tool/prelude.c.tmpl: use RubyVM::CEscape
Do not repeat yourself. shyouhei (Shyouhei Urabe)
07:51 AM Revision b0eb5aa3 (git): RubyVM::CEscape#rstring2cstr: do not escape '
A single quote "is representable either by itself or by the escape
sequence", according to ISO/IEC 9899 (checked all versions). So this is
not a bug fix. But the generated output is a bit readable without
backslashes.
shyouhei (Shyouhei Urabe)
02:43 AM Feature #15281: Speed up Set#intersect with size check.
Apparently the linked PR has been merged last december 31st.
I note there's no NEWS entry.
marcandre (Marc-Andre Lafortune)
12:23 AM Feature #17000: 2.7.2 turns off deprecation warnings by default
I think deprecation warnings are necessary if, and only if, a feature or behaviour is going away in the lifespan of the minor (2.x) versions.
I also believe you can make any breaking change without prior warning in a major version (i....
inopinatus (Joshua GOODALL)
12:16 AM Bug #17106: Build ruby 2.6.6 from git source
47720e2255f34ecad49763c66a7ea02a55a3f60a will fix the error.
But I don't know if it won't cause a regression.
`ruby_2_7` doesn't have the issue because of b971bad49b95d4c1f68bb2242d4267355f1cd497.
wanabe (_ wanabe)

08/10/2020

11:51 PM Bug #16695: Stack consistency error when using the return value
Maybe there are some potential issues.
```
$ ruby -v -e 'RubyVM::InstructionSequence.compile("def f; return 1 unless true or any; end", peephole_optimization: false).eval'
ruby 2.8.0dev (2020-08-02T03:05:19Z wanabe/master ac69849e49) ...
wanabe (_ wanabe)
11:44 PM Bug #17106 (Closed): Build ruby 2.6.6 from git source
hsbt (Hiroshi SHIBATA)
01:29 PM Bug #17106: Build ruby 2.6.6 from git source
mame (Yusuke Endoh) wrote in #note-1:
> Hi,
> ...
Thanks, i'll wait backport.
yegorov (Artem Yegorov)
07:47 PM Revision d43e99b7 (git): Add Method Documentation Guide (#3399)
This documents how methods for core classes and classes in the
standard library should be documented.
Co-authored-by: Eric Hodel <drbrain@segment7.net>
jeremyevans (Jeremy Evans)
06:51 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
> However in my view what defines a literal, is the use of a specific syntax, so ""
There is only one reason for freezing literals, to be able to intern them and reduce allocation. In fact the feature is poorly named, after the conseq...
bughit (bug hit)
04:47 PM Feature #17016: Enumerable#accumulate
nobu (Nobuyoshi Nakada) wrote in #note-30:
> I found a word [traject], means to transport, transmit, or transpose.
> ...
That's an interesting word that I don't know. It looks like it's archaic, so I don't think that it has much meanin...
parker (Parker Finch)
04:33 PM Revision 404bff56 (git): * 2020-08-11 [ci skip]
git[bot]
04:33 PM Revision c303e21d (git): Enhanced RDoc for Array (#3400)
Methods:
drop
drop_while
any?
all?
none?
one?
burdettelamar (Burdette Lamar)
02:51 PM Bug #17110: String.tr unexpected behaviour with backslash
Yusuke Endoh, thanks for clearing it up. theplen (Joey Sheets)
08:18 AM Bug #17110: String.tr unexpected behaviour with backslash
```
p "\\/".tr("/\\\\", "\\\\/") #=> "/\\"
```
Unfortunately it is complicated, but `\` is an escape character of string literal as well as an escape character of `String#tr` format, so it is unavoidable.
mame (Yusuke Endoh)
07:09 AM Bug #17110: String.tr unexpected behaviour with backslash
Is there no way to do change all backslashes to forward slashes and forward slashes to backslashes in the same tr command?
``` ruby
# Should result in "/\\" but instead results in "\\/" (unchanged)
"\\/".tr("\//","\\/")
```
theplen (Joey Sheets)
05:35 AM Bug #17110 (Rejected): String.tr unexpected behaviour with backslash
See the document.
> The backslash character `\` can be used to escape `^` or `-` and is otherwise ignored unless it appears at the end of a range or the end of the from_str or to_str:
https://docs.ruby-lang.org/en/2.7.0/String.html#met...
mame (Yusuke Endoh)
03:01 AM Bug #17110: String.tr unexpected behaviour with backslash
``` ruby
"\\".tr("\\","A") works great, with "\\" becoming "A"
"\\".tr("\\C","AB") should also output "A" but instead outputs "\\"
```
theplen (Joey Sheets)
03:00 AM Bug #17110 (Rejected): String.tr unexpected behaviour with backslash
`"\\".tr("\\","A")` works great, with `"\\"` becoming `"A"`.
`"\\".tr("\\C","AB")` should also output `"A"`, but instead outputs `"\\"`.
theplen (Joey Sheets)
01:28 PM Feature #17109 (Rejected): Eliminate the performance impact of operands' order in array's | and &
Eregon (Benoit Daloze)
01:28 PM Feature #17109: Eliminate the performance impact of operands' order in array's | and &
[set.rb](https://github.com/ruby/ruby/blob/master/lib/set.rb) has this optimization for `intersection` and IMHO `Set` should be used explicitly if you expect high-performance Set operations. Eregon (Benoit Daloze)
12:27 PM Feature #17109: Eliminate the performance impact of operands' order in array's | and &
> > The order is preserved from the original array.
My bad, I missed the comment. In this case, I think the optimisation is not worth a change in the spec.
andrey.samsonov@gmail.com (Andrey Samsonov)
08:32 AM Feature #17109: Eliminate the performance impact of operands' order in array's | and &
I like the idea very much, but very unfortunately, the document of `Array#&` says:
> The order is preserved from the original array.
https://docs.ruby-lang.org/en/2.7.0/Array.html#method-i-26
Personally I agree with you that thi...
mame (Yusuke Endoh)
08:12 AM Feature #17109: Eliminate the performance impact of operands' order in array's | and &
I mean these operations essentially perform Set union and intersection, am I correct? Then the order of the operands doesn't affect the outcome. greggzst (Grzegorz Jakubiak)
11:55 AM Bug #17112 (Closed): Resolv.getaddress fails with IPv6 link-local addresses
I noticed that I cannot resolve any link-local IPv6 address using `Resolv.getaddress`. For example calling `Resolv.getaddress('fe80::eca4:7b00:ecc5:206c%8')` fails with `Resolv::ResolvError`
Resolving any IPv4 address succeedes, as well...
daniel-rikowski (Daniel Rikowski)
10:46 AM Revision 0ca6b973 (git): Removed non-ASCII code to suppress warnings by localized compilers
nobu (Nobuyoshi Nakada)
10:46 AM Revision 17d869c7 (git): Check if C-sources are US-ASCII
Encoding of C-sources can not be determined, and non-ASCII code
are often warned by localized compilers.
nobu (Nobuyoshi Nakada)
08:49 AM Revision 187c164d (git): Suppress unused-variable warning
`key` is not used outside this assertion. nobu (Nobuyoshi Nakada)
08:47 AM Revision c355fa72 (git): Suppress unused-function warnings
Calls with a constant argument should be optimized away. nobu (Nobuyoshi Nakada)
08:44 AM Feature #13893: Add Fiber#[] and Fiber#[]= and restore Thread#[] and Thread#[]= to their original behavior
From #7 actually the checks would be needed in both cases, because one could save the value of `Thread.current.local` and pass it to another `Thread`.
So either `.local` API seems fine to me, but if it's `Fiber.current.local` then `Fi...
Eregon (Benoit Daloze)
08:40 AM Feature #13893: Add Fiber#[] and Fiber#[]= and restore Thread#[] and Thread#[]= to their original behavior
One consideration: `Fiber.current` is not available until `require "fiber"`.
So an API based on `Fiber.current` doesn't seem nice while `require "fiber"` is needed (will be NoMethodError + confusion if not required).
I think it would...
Eregon (Benoit Daloze)
07:36 AM Revision 9260b0ae (git): * 2020-08-10 [ci skip]
git[bot]
07:35 AM Revision fac62f09 (git): Adjust indent
nobu (Nobuyoshi Nakada)
05:36 AM Feature #17111 (Assigned): Improve performance of Net::HTTPHeader#set_form by 40%
mame (Yusuke Endoh)
04:09 AM Feature #17111 (Assigned): Improve performance of Net::HTTPHeader#set_form by 40%
## diff
```diff
diff --git a/lib/net/http/header.rb b/lib/net/http/header.rb
index a8901e7..3f1a008 100644
--- a/lib/net/http/header.rb
+++ b/lib/net/http/header.rb
@@ -475,9 +475,8 @@ def set_form(params, enctype='application/x-...
tonytonyjan (Weihang Jian)

08/09/2020

10:51 PM Feature #17109: Eliminate the performance impact of operands' order in array's | and &
`a & b` returns different result from `b & a`. `a | b` returns different result from `b | a`. You cannot substitute one with another.
Furthermore, your idea is implementation-dependent.
It does not make sense at all.
sawa (Tsuyoshi Sawada)
09:52 PM Feature #17109 (Rejected): Eliminate the performance impact of operands' order in array's | and &
When I do intersection (`a & b`) or union (`a | b`), usually the array in one position is more likely longer than the one in the other position. I always try to remember in what order I should write `a` and` b` for the best performance. ... andrey.samsonov@gmail.com (Andrey Samsonov)
06:53 PM Misc #17041: DevelopersMeeting20200831Japan
* [Bug #17105] A single `return` can return to two different places in a proc inside a lambda inside a method (eregon)
* Is current implementation correct? Should it not be a `LocalJumpError` if the surrounding lambda is no longer on ...
Eregon (Benoit Daloze)
08:19 AM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #13381] Expose rb_fstring and its family to C extensions
* It's only missing a decision on the names. Could this be discussed again?
byroot (Jean Boussier)
10:41 AM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
+1 to @eregon ’s interpretation. Current behaviour is at least very cryptic. shyouhei (Shyouhei Urabe)
10:02 AM Bug #17108: error: initialization of ‘long unsigned int’ from ‘void *’ makes integer from pointer without a cast
tested with latest RUBY -> same warning=error aotto1968 (Andreas Otto)
09:43 AM Bug #17108 (Rejected): error: initialization of ‘long unsigned int’ from ‘void *’ makes integer from pointer without a cast
It seems that the "OPTIMIZATION" macro for "rb_funcall" causes something bad.
```
|| CC rubymsgque_la-misc_ruby.lo
|| .../misc_ruby.c: In function ‘rubymsgque_OtCheckCallable’:
.../misc_ruby.c|430 col 18| error: initializat...
aotto1968 (Andreas Otto)

08/08/2020

11:11 PM Feature #8215 (Closed): Support accessing Fiber-locals and backtraces for a Fiber
It looks like we can implement `Fiber#backtrace`:
https://bugs.ruby-lang.org/issues/16815
and in addition we should continue the discussion about Fiber locals:
https://bugs.ruby-lang.org/issues/13893
ioquatix (Samuel Williams)
11:10 PM Feature #13893: Add Fiber#[] and Fiber#[]= and restore Thread#[] and Thread#[]= to their original behavior
Also discussed here:
https://bugs.ruby-lang.org/issues/8215
ioquatix (Samuel Williams)
08:35 PM Bug #11628: Net::SMTPServerBusy is not behaving according to documentation
Checkout this - https://www.smtpservers.co/blog/free-smtp-servers/ jackryan0307 (Jack Ryan)
02:25 PM Feature #14844: Future of RubyVM::AST?
@ioquatix Two reasons I've heard from projects using `RubyVM::AbstractSyntaxTree` are: built-in (not an extra dependency), and performance.
But "built-in (not an extra dependency)" also means only works on CRuby 2.6+, and some versions ...
Eregon (Benoit Daloze)
08:35 AM Feature #14844: Future of RubyVM::AST?
I was using `RubyVM::AbstractSyntaxTree` but moved to `parser` gem. I cannot see any reason to use `RubyVM::AbstractSyntaxTree` unless you are concerned about some specific details of the current implementation's parser. ioquatix (Samuel Williams)
04:47 AM Bug #17107: Backtick in backtrace is a little bit annoying
The choice of characters used for quoting is irrelevant to such problem, which will not be solved unless the method name is represented escaped such as in string inspection form.
I do not think it is right to parse the error message. ...
sawa (Tsuyoshi Sawada)
04:39 AM Bug #17107 (Rejected): Backtick in backtrace is a little bit annoying
See #13589 hsbt (Hiroshi SHIBATA)
02:30 AM Bug #17107 (Rejected): Backtick in backtrace is a little bit annoying
In Ruby exception backtrace (and other places), the method name uses a quoting style of a backtick followed by a text/name followed by an apostrophy.
```
in `<main>'
```
The quoting style is not safe, as in, it cannot be relied u...
ioquatix (Samuel Williams)
01:29 AM Feature #16461 (Assigned): Proc#using
shugo (Shugo Maeda) wrote in #note-5:
> > I think that could be a good rule, all `Proc#using` must happen `before Proc#call` for a given block.
> ...
Sorry for the delay.
I've fixed the CRuby implementation:
https://github.com/shug...
shugo (Shugo Maeda)

08/07/2020

05:08 PM Revision b4b702dd (git): * 2020-08-08 [ci skip]
git[bot]
05:08 PM Revision 4126a979 (git): Enhanced RDoc for Array#take and Array#take_while (#3398)
burdettelamar (Burdette Lamar)
11:52 AM Revision 615b7fa5 (git): Enhanced RDoc for Array#product (#3395)
burdettelamar (Burdette Lamar)
11:21 AM Feature #15504: Freeze all Range objects
Right, every object cached at parse time must be deeply immutable, I would think that was an oversight. Eregon (Benoit Daloze)
06:12 AM Feature #15504: Freeze all Range objects
I got an issue on Ractor.
```ruby
def test
(1..2)
end
r1 = test
Ractor.new do
r2 = test
end.take
```
* compiler cached Range `(1..2)` because they begin and end are frozen literals. The test method returns a cached same range obj...
ko1 (Koichi Sasada)
11:17 AM Bug #17013: `RubyVM::AbstractSyntaxTree.parse("struct.field += foo")` has no operator
ruby_2_7 e9e4f8430a62f56a4e62dd728f4498ee4c300c12 merged revision(s) 8e189df32cacef4b21e357a590d349330532baf5. nagachika (Tomoyuki Chikanaga)
11:16 AM Revision e9e4f843 (git): merge revision(s) 8e189df32cacef4b21e357a590d349330532baf5: [Backport #17013]
Add operator info to `OP_ASGN2` of `RubyVM::AbstractSyntaxTree`. nagachika (Tomoyuki Chikanaga)
07:38 AM Bug #17106: Build ruby 2.6.6 from git source
Hi,
I think you are using bison that is newer than the latest version at Ruby 2.6 release.
I guess @nobu has already fixed the issue in ruby master, so we need to backport something.
mame (Yusuke Endoh)
06:50 AM Bug #17106 (Closed): Build ruby 2.6.6 from git source
Hello!
I tried to build ruby 2.6.6 from git source, but get an error.
My Dockerfile:
```
FROM archlinux:20200705
RUN pacman -Sy vim curl git ruby --noconfirm && \
pacman -S --needed base-devel libffi libyaml openssl zlib --...
yegorov (Artem Yegorov)
05:01 AM Revision 504e632a (git): sync NDEBUG, RUBY_DEBUG, and RUBY_NDEBUG (#3327)
- When NDEBUG is defined that shall be honoured.
- When RUBY_DEBUG is defined that shall be honoured.
- When both are defined and they conflict, warnings shall be rendered.
- When nothing is specified, nothing shall happen.
shyouhei (Shyouhei Urabe)
03:28 AM Revision 8a99f820 (git): Use zlib provided by vcpkg in mswin CI (#3397)
* Revert "mswin build - install src zlib files after checkout"
This reverts commit b6175c9e4fe25b978252d8998fe791d65d998fc5.
* Revert "mswin build - install src zlib files"
This reverts commit bf758ef8b4e2895bf71a611a7ab2a4f236e260ea.
hsbt (Hiroshi SHIBATA)
12:27 AM Feature #16495: Inconsistent quotes in error messages
Some terminals don't highlight text inside different quotes (for example, Iterm2, Terminal on Mac).
So you're going to double-click, copy; but have to highlight text manually.
vlad0337187 (Vladislav Ivanov)
 

Also available in: Atom