Project

General

Profile

Activity

From 08/09/2020 to 08/15/2020

08/15/2020

11:43 PM Revision c1e7f0c7 (git): * 2020-08-16 [ci skip]
git[bot]
11:43 PM Revision a7bd0ec5 (git): Warn sp overwriting on compile time
wanabe (_ wanabe)
11:43 PM Revision ac399c2c (git): Show hidden object and TS_BUILTIN for halfbaked insn data
wanabe (_ wanabe)
04:59 PM Bug #17123 (Third Party's Issue): seg fault with nokogiri and ews
jreidthompson (Reid Thompson) wrote in #note-2:
> Works fine with libxlm2 v 2.9.9
jeremyevans0 (Jeremy Evans)
04:47 PM Bug #17123: seg fault with nokogiri and ews
Works fine with libxlm2 v 2.9.9 jreidthompson (Reid Thompson)
02:30 AM Bug #17123: seg fault with nokogiri and ews
libxml2 is 2.9.10 jreidthompson (Reid Thompson)
02:28 AM Bug #17123 (Third Party's Issue): seg fault with nokogiri and ews
This is a script that utilizes Ruby-EWS to query an exchange server:
```
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://github.co...
jreidthompson (Reid Thompson)
03:42 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
Eregon (Benoit Daloze) wrote in #note-18:
> I ran the measurements on both CRuby master and 2.6.6, with `sqlite3` for convenience.
> ...
I ran it using Ruby 2.7.1 on OpenBSD, using the OpenBSD package, which builds with `-O2`. This is ...
jeremyevans0 (Jeremy Evans)
12:23 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
I tried on TruffleRuby and there I can't see a significant difference (at least for the noplugin case):
https://gist.github.com/eregon/e552bf55d42ce128a9d89f41d57b637f
TruffleRuby uses inline caches for almost all metaprogramming operat...
Eregon (Benoit Daloze)
10:54 AM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
I ran the measurements on both CRuby master and 2.6.6, with `sqlite3` for convenience.
I see smaller differences, but also my results are about 6 times faster.
It's still a larger difference than I expect so I'll try to dig deeper.
...
Eregon (Benoit Daloze)
10:20 AM Feature #15752: A dedicated module for experimental features
mame (Yusuke Endoh) wrote in #note-21:
> FYI: [Type-profiler](https://github.com/mame/ruby-type-profiler), which I'm developing for an experimental type inference tool for Ruby 3 types, heavily depends upon `RubyVM::InstructionSequence...
Eregon (Benoit Daloze)
05:17 AM Revision d75433ae (git): [DOC] fixed a missing markup
nobu (Nobuyoshi Nakada)
03:39 AM Feature #16815: Implement Fiber#backtrace
https://github.com/ruby/ruby/pull/3422 ioquatix (Samuel Williams)
03:09 AM Revision 4d7818a2 (git): tool/update-deps --fix
shyouhei (Shyouhei Urabe)
03:09 AM Revision ff30358d (git): RARRAY_AREF: convert into an inline function
RARRAY_AREF has been a macro for reasons. We might not be able to
change that for public APIs, but why not relax the situation internally
to make it an inline function.
shyouhei (Shyouhei Urabe)

08/14/2020

11:55 PM Revision 72d0f2f0 (git): * 2020-08-15 [ci skip]
git[bot]
11:55 PM Revision c84ccf1a (git): Fix links to Dig Methods document (#3421)
* Fix links to Dig Methods document
* Fix links to Dig Methods document
burdettelamar (Burdette Lamar)
05:54 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
Dan0042 (Daniel DeLorme) wrote in #note-22:
> jeremyevans0 (Jeremy Evans) wrote in #note-18:
> ...
`integer..float` is currently treated as a integer range in all other respects. For example:
```ruby
(1.0..2.1).to_a # TypeError (ca...
jeremyevans0 (Jeremy Evans)
04:09 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
jeremyevans0 (Jeremy Evans) wrote in #note-18:
> The behavior change in this issue is to fix an obvious bug, which is that `(1..2.1).max` returned `2.1` instead of `2`.
FWIW I consider the previous behavior correct. Intuitively I see...
Dan0042 (Daniel DeLorme)
03:14 PM Feature #17115: Optimize String#casecmp? for ASCII strings
In the benchmark you'd need to change the regexp from `/\Afoo\Z/i` to `/\Aconnection\z/i`; if you do so you'll find the regexp performance is similar to `casecmp?`
+1 for special-casing ASCII strings though.
Related: #13750, #14055
Dan0042 (Daniel DeLorme)
07:33 AM Revision fee1b98f (git): [DOC] fixed the method name
nobu (Nobuyoshi Nakada)
07:12 AM Revision e6580402 (git): RSTRING_LEN was not used
nobu (Nobuyoshi Nakada)
05:17 AM Feature #16986: Anonymous Struct literal
> hoge {{a: 1, b: 2}} is not syntax error. {{a: 1, b: 2}} is block argument.
> ...
Thank you for pointing it out. Obviously it doesn't work.
What about `?{a: 1, b: 2}`?
Question mark (`?`) is not be able to be a method by itself.
Chara...
okuramasafumi (Masafumi OKURA)
02:39 AM Feature #17122: Add category to Warning#warn
I guess we want to revisit #11588 . shyouhei (Shyouhei Urabe)
01:48 AM Feature #13893: Add Fiber#[] and Fiber#[]= and restore Thread#[] and Thread#[]= to their original behavior
Just one more potential interface:
```
class Fiber
attr_accessor :my_fiber_local
end
class Thread
attr_accessor :my_thread_local
end
```
To me, this actually seems like it should be the most logical way to add well d...
ioquatix (Samuel Williams)

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)
 

Also available in: Atom