Project

General

Profile

Activity

From 11/17/2020 to 11/23/2020

11/23/2020

11:58 PM Bug #17341: Unsound quantifier reduction with nested quantifiers
I agree that the presence or absence of a capture group should not affect the matched text. Thank you for your spot on analysis regarding the ReduceTypeTable. By adding a test, I was able to determine this affect the `+?)+` reduction i... jeremyevans0 (Jeremy Evans)
06:03 PM Bug #17341 (Closed): Unsound quantifier reduction with nested quantifiers
The rules for reducing nested quantifiers can produce quantifiers with semantics which differ from the original quantifiers. This can then lead to the regular expressions matching different strings.
```
irb(main):001:0> /(?:a+?)*/.ma...
jirkamarsik (Jirka Marsik)
11:40 PM Revision 3a7ea6a0 (git): * 2020-11-24 [ci skip]
git[bot]
11:38 PM Revision 3ce5434f (git): Ignore static-ruby [ci skip]
static-ruby is statically linked against libruby, even when
configured with --enable-shared.
nobu (Nobuyoshi Nakada)
11:27 PM Revision 48d1e868 (git): zlib: patches for mswin64
* cast to suppress C4267 warnings; no possible loss of data as
following the comparison.
* shift base address to suppress LNK4281; although /DYNAMICBASE is
preferable, not sure from which version of link.exe supports it.
nobu (Nobuyoshi Nakada)
11:22 PM Revision 78c40e65 (git): zlib: extlibs to download zlib-1.2.11
nobu (Nobuyoshi Nakada)
08:07 PM Bug #17340: /\p{/ matches newline instead of throwing syntax error
It turns out the regexp behavior depends on the encoding:
```
$ ruby -ve 'p(/\p{/u.match("\n"))'
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-openbsd]
#<MatchData "\n">
$ ruby -ve 'p(/\p{/n.match("\n"))'
ruby 2.7.2p1...
jeremyevans0 (Jeremy Evans)
05:39 PM Bug #17340 (Closed): /\p{/ matches newline instead of throwing syntax error
The regular expression `/\p{/` matches newline characters instead of reporting a syntax error.
```
irb(main):001:0> /\p{/.match("\n")
=> #<MatchData "\n">
```
The issue stems from the function `fetch_char_property_to_ctype` in `...
jirkamarsik (Jirka Marsik)
05:45 PM Bug #17338 (Feedback): ruby-spec stuck in "C-API Kernel function rb_rescue2"
I suspect this may be due to the TypeError occurring during the rescue handling. One possibility is to preprocess the list of exception classes to make sure they are all classes or modules. This is different than the ruby-level rescue ... jeremyevans0 (Jeremy Evans)
04:53 PM Bug #17335 (Feedback): load gem in ruby 2.6.6 extremely slow
Can you please time each of the requires separately to see how much time each is taking, so we can see where the problem is? jeremyevans0 (Jeremy Evans)
04:31 PM Bug #17306: TestGCCompact#test_ast_compacts test failures
Great, thank you!
```
+ make runruby 'TESTRUN_SCRIPT=-v -retc -e'\''p Etc.sysconf(Etc::SC_PAGE_SIZE)'\'''
./revision.h unchanged
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -v -retc -e'p...
tenderlovemaking (Aaron Patterson)
01:19 PM Bug #17306: TestGCCompact#test_ast_compacts test failures
These are results from all Fedora supported platforms:
~~~
+ make runruby 'TESTRUN_SCRIPT=-v -retc -e'\''p Etc.sysconf(Etc::SC_PAGE_SIZE)'\'''
./revision.h unchanged
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=...
vo.x (Vit Ondruch)
02:36 PM Bug #17280: Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
Currently, even `Dir[".*"]` and `Dir["{*,.*}"]` match `..`, which seems surprising.
The PR fixes those, and I think the resulting behavior is much more useful.
Eregon (Benoit Daloze)
02:23 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
shyouhei (Shyouhei Urabe) wrote in #note-5:
> JFYI because compilers tend to LTO these days, libruby can be a compiler-specific internal representation of the entire source code, not an archive of object files. If that is the case, peo...
vo.x (Vit Ondruch)
02:13 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
shyouhei (Shyouhei Urabe) wrote in #note-1:
Thx for elaborating some of the reasons behind.
However, I don't think that embedding of the compile time options addresses any of these concerns. If they should be addressed, that would me...
vo.x (Vit Ondruch)
10:00 AM Bug #17304: Ruby stuck calling sched_yield on fork
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> Can you reproduce this issue with the master branch, or at least Ruby 2.6 or 2.7? The code you posted from Ruby 2.5 is no longer present in Ruby 2.6 or later versions. Ruby 2.5 is in secu...
thinline (THINline s.r.o.)
09:31 AM Revision abb672e1 (git): Suppress a format-overflow warning
nobu (Nobuyoshi Nakada)
08:56 AM Revision 2939c57c (git): Check if _FORTIFY_SOURCE really works
i686-pc-cygwin gcc 6.4.0 seems broken around ssp.h, when compiling
with both of optimization and _FORTIFY_SOURCE.
nobu (Nobuyoshi Nakada)
08:06 AM Revision 53e352fd (git): Increase the # of downloader.rb's retry attempts
Apparently 9 was not enough either.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel_zlinux/ruby-master/log/20201123T063303Z.fail.html.gz
k0kubun (Takashi Kokubun)
06:09 AM Revision 1fea0367 (git): Clarify the intention of `false &&`
k0kubun (Takashi Kokubun)
05:02 AM Revision 2700df3c (git): ruby/internal/config.h needs to be included first
to define USE_MJIT. k0kubun (Takashi Kokubun)
04:55 AM Revision 0a2b9876 (git): Make --disable-jit-support compile
vm_core.h needs to be included to know rb_execution_context_t, etc.
I also added a trivial refactoring in mjit.c and missing dependency for
process.c.
k0kubun (Takashi Kokubun)
04:28 AM Revision 01f38693 (git): Remove obsoleted internal/mjit.h inclusion
:bow: k0kubun (Takashi Kokubun)
04:23 AM Revision 8646f902 (git): Remove obsoleted internal/mjit.h
Sorry, I forgot to delete this at 55866565c24765a1722e2c415a6776f3f77e89d0. k0kubun (Takashi Kokubun)
04:22 AM Revision 55866565 (git): Combine mjit.h and internal/mjit.h
It's very hard to remember which mjit.h has what. k0kubun (Takashi Kokubun)
02:46 AM Bug #17005: lib_gssapi.rb:182: [BUG] Segmentation fault at 0x000000000000004d
I've reopened https://github.com/zenchild/gssapi/issues/12. Please follow along over there. I think I have a fix but have asked people to do some testing. Once verified the gssapi gem will release a minor version to deal with this issue. zenchild (Dan Wanek)
12:45 AM Revision afd765f2 (git): Initialize UTF-8 encoding first as it is used always now
nobu (Nobuyoshi Nakada)

11/22/2020

06:15 PM Feature #17047: Support parameters for MAIL FROM and RCPT TO
c960657 (Christian Schmidt) wrote in #note-5:
> I would appreciate some feedback on this. Thanks :-)
Sorry for the lack of response. Please close your ruby/ruby pull request and submit a pull request to the upstream net-smtp reposit...
jeremyevans0 (Jeremy Evans)
11:07 AM Feature #17047: Support parameters for MAIL FROM and RCPT TO
I would appreciate some feedback on this. Thanks :-) c960657 (Christian Schmidt)
04:58 PM Bug #10845: Subclassing String
PR to fix it by @matsuda: https://github.com/rails/rails/pull/40663 Eregon (Benoit Daloze)
04:31 PM Bug #10845: Subclassing String
Rails Active Support CI against Ruby master branch failed.
Performed `git bisect` and found it has been triggered since https://github.com/ruby/ruby/commit/58325daae3beefda13ed100782cd19a89cc68771 .
https://buildkite.com/rails/rails/...
yahonda (Yasuo Honda)
03:11 PM Revision d83aa3c2 (git): * 2020-11-23 [ci skip]
git[bot]
03:10 PM Revision fa1250a5 (git): Stop leaving .c files for JIT compaction in /tmp (#3802)
* Re-generate C files for JIT compaction every time
* Refactor in_jit return logic
* Just write code in a single file
* Add a TODO comment [ci skip]
k0kubun (Takashi Kokubun)
02:08 PM Revision 175952bf (git): NEWS for [Feature #16233] [ci skip]
nobu (Nobuyoshi Nakada)
01:55 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
shyouhei (Shyouhei Urabe) wrote in #note-5:
> nobu (Nobuyoshi Nakada) wrote in #note-4:
> ...
IOW, mkmf rather should fail in such situation?
(I'm not sure how to check it.)
nobu (Nobuyoshi Nakada)
01:19 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Should we move such detections (for other than C, not only C++) to mkmf.rb?
JFYI because compilers tend to LTO these days, libruby can be a compiler-specific internal representation of the ...
shyouhei (Shyouhei Urabe)
09:37 AM Misc #17337: Don't embed Ruby build-time configuration in Ruby
Should we move such detections (for other than C, not only C++) to mkmf.rb? nobu (Nobuyoshi Nakada)
01:51 PM Revision 82e836dc (git): Use hex-encoded binaries instead of UTF-8
Which UTF-8 char corresponds to the binary representation is
nonsense for other encodings, and just confusing.
nobu (Nobuyoshi Nakada)
01:32 PM Feature #16233 (Closed): winruby UTF8 Fallback for no CodePage
Applied in changeset commit:git|d403591b34e204a5937241025c62c877e579fbaf.
----------
Add string encoding IBM720 alias CP720 (GH-3803)
naruse (Yui NARUSE)
11:06 AM Feature #16233: winruby UTF8 Fallback for no CodePage
I've been notified by this issue several times, so that I finally implemented the missing codepage CP720 in https://github.com/ruby/ruby/pull/3803 . I hope it's OK to be merged. larskanis (Lars Kanis)
01:23 PM Revision d403591b (git): Add string encoding IBM720 alias CP720 (#3803)
The mapping table is generated from the ICU project:
https://github.com/unicode-org/icu/blob/master/icu4c/source/data/mappings/ibm-720_P100-1997.ucm
Fixes bug 16233 : https://bugs.ruby-lang.org/issues/16233
larskanis (Lars Kanis)
12:00 PM Revision 2d112c34 (git): [ruby/irb] Stop using bang version for #inspect of result
https://github.com/ruby/irb/commit/fc1426d34e aycabta (aycabta .)
12:00 PM Revision afb8aba4 (git): [ruby/irb] Add a fallback for check_code_block that does not depend on implementation-private APIs
* Fixes https://github.com/ruby/irb/issues/133
https://github.com/ruby/irb/commit/5eb3ef3293
Eregon (Benoit Daloze)
12:00 PM Revision 5218f177 (git): [ruby/irb] support more body argument for oneliner method definition
https://github.com/ruby/irb/commit/2ff1295533 no6v (Nobuhiro IMAI)
10:10 AM Revision 7c879cbb (git): Suppress a unused-variable warning
nobu (Nobuyoshi Nakada)
10:09 AM Revision 75d48a53 (git): rubyspec-capiext: Use plain DLDFLAGS without flags for libruby
nobu (Nobuyoshi Nakada)
09:28 AM Feature #17339: Semantic grouping with BigDecimal#to_s
https://github.com/ruby/ruby/compare/master...nobu:bug/17339-BigDecimal%23to_s-grouping?expand=1
Improves (especially for the doc) are welcome.
nobu (Nobuyoshi Nakada)
07:44 AM Revision 7ade7a86 (git): Clarify the intention of the include guard
This was a leftover of 27d5af59a359909e0d434459c30cfc0940f60a5b. k0kubun (Takashi Kokubun)
06:38 AM Revision 9eb34c2c (git): Make c_file / so_file construction consistent
convert_unit_to_func's c_func / so_func construction is unnecessarily
complicated while it's not really safer than what compact_all_jit_code
does. So I changed convert_unit_to_func to be consistent with
compact_all_jit_code.
k0kubun (Takashi Kokubun)
03:36 AM Revision e0156bd3 (git): Make sure all threads are scanned on unload_units
This has been a TODO since 79df14c04b. While adcf0316d1 covered the
root_fiber of the initial thread, it didn't cover root_fibers of other
threads. Now it's hooked properly in rb_threadptr_root_fiber_setup.
With regards to "XXX: Is this...
k0kubun (Takashi Kokubun)
02:32 AM Revision eb3906c6 (git): dist: added DISTOPTS and PKGSDIR
nobu (Nobuyoshi Nakada)
02:30 AM Revision e9c3de47 (git): make-snapshot: don't store symlinks by 7z for reproduceable pacakges
nobu (Nobuyoshi Nakada)
02:01 AM Revision 0f51105e (git): make-snapshot: measure archiving times
nobu (Nobuyoshi Nakada)
01:59 AM Revision 821aa35c (git): make-snapshot: suppress messages copying cached files unless verbose
nobu (Nobuyoshi Nakada)
01:49 AM Revision 11cd9339 (git): make-snapshot: clean autoconf caches for reproduceable packages
nobu (Nobuyoshi Nakada)
12:10 AM Bug #17021 (Closed): "arm64" and "arm" are mixed in RbConfig on Apple silicon
Applied in changeset commit:git|43a9a974e276dc49b03ec81ccace0adb534a3d20.
----------
[Bug #17021] Make host_* values consistent with target_*
nobu (Nobuyoshi Nakada)
12:10 AM Revision 5512de76 (git): * 2020-11-22 [ci skip]
git[bot]

11/21/2020

03:25 PM Feature #17339: Semantic grouping with BigDecimal#to_s
nobu (Nobuyoshi Nakada) wrote in #note-3:
> Shouldn't `BigDecimal('1234567').to_s('3F')` return `"1 234 567.0"` (without spaces at the beginning and just before the decimal dot), but not `" 1 234 567 .0"`, right?
> ...
Thank you for di...
chumaltd (Takahiro Chuma)
01:10 PM Feature #17339: Semantic grouping with BigDecimal#to_s
Shouldn't `BigDecimal('1234567').to_s('3F')` return `"1 234 567.0"` (without spaces at the beginning and just before the decimal dot), but not `" 1 234 567 .0"`, right?
We should consider this statement says nothing about the integer ...
nobu (Nobuyoshi Nakada)
12:18 PM Feature #17339: Semantic grouping with BigDecimal#to_s
Its document states:
> If s contains a number, a space is inserted after each group of that many fractional digits.
If this is correct, grouping the integer part seems unintentional.
nobu (Nobuyoshi Nakada)
07:05 AM Feature #17339 (Assigned): Semantic grouping with BigDecimal#to_s
# Abstract
Thousands, millions, ... should be expressible with `BigDecimal#to_s`.
# Background
`BigDecimal('1234567').to_s('3F')` returns "123 456 7.0".
# Proposal
- Have an option with which `BigDecimal('1234567').to_s('3F')`...
chumaltd (Takahiro Chuma)
02:41 PM Feature #17336: using refined: do ... end
> It kind of seems nice to have the outer `using do ... end` which is saying "below are local monkey patches for this file".
I'd say that one of the important usage of refinements (as for me) is _small_ adjustments to core/third-party...
zverok (Victor Shepelev)
03:51 AM Feature #17336: using refined: do ... end
> Is it annoying in practice?
In practice? Nah, maybe not for many people, at least you. I admit I'm a bit extreme about indentation, and for sure it annoys *me*.
> ...
For me, a word `refine` is enough to expect a monkey patch.
...
k0kubun (Takashi Kokubun)
02:21 PM Revision 43a9a974 (git): [Bug #17021] Make host_* values consistent with target_*
nobu (Nobuyoshi Nakada)
02:17 PM Revision ece917ba (git): Added rubyspec-capiext target
This target builds extensions for rubyspec optional C-API tests. nobu (Nobuyoshi Nakada)
01:36 PM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
Eregon (Benoit Daloze) wrote in #note-7:
> Should another RbConfig::CONFIG key be used? Which one?
Usually we use target_* instead.
nobu (Nobuyoshi Nakada)
12:39 PM Bug #17305: rb_rescue2() seems to loop forever if given a non-module for rescued exceptions on <= 2.6.6
This bug seems to happen on master too, for some platforms, see #17338. Eregon (Benoit Daloze)
12:25 PM Bug #10845: Subclassing String
There are far more (intentional and some of them warned before) breaking changes in Ruby 3 than this, so I don't see the point.
I guess Rails backported all the keyword arguments changes to previous major versions?
Then maybe we can do t...
Eregon (Benoit Daloze)
07:45 AM Bug #10845: Subclassing String
I'll ask the same question I've asked before... Why not deprecate this first?
This gives time to Rails to issue a simple update to the versions that are supported, and in a year or two the behavior can change without breaking anything...
marcandre (Marc-Andre Lafortune)
07:31 AM Bug #10845: Subclassing String
naruse (Yui NARUSE) wrote in #note-16:
> In 2.7 we break large compatibilities, and this tickets breaks Rails again.
> ...
In this case, Ruby's behavior resulted in objects that were not internally consistent. Rails has a fair amount ...
jeremyevans0 (Jeremy Evans)
05:35 AM Bug #10845: Subclassing String
In 2.7 we break large compatibilities, and this tickets breaks Rails again.
"Rails master already fixes it" doesn't care the problem; we breaks compatibility.
Breaking compatibility itself is not problem, but we can provide very smal...
naruse (Yui NARUSE)
12:37 AM Bug #10845 (Closed): Subclassing String
Thanks to @matsuda's work showing that Rails already does something very similar and only needs a small patch to work with this, I have committed the patch at commit:58325daae3beefda13ed100782cd19a89cc68771. If it causes any problems or... jeremyevans0 (Jeremy Evans)
11:41 AM Feature #16233: winruby UTF8 Fallback for no CodePage
duerst (Martin Dürst) wrote in #note-6:
> Just adding an alias 'CP720' for windows-1256 is much easier.
Hi @duerst, sorry for digging this up. I read your comment and updated my original pull request to alias CP720 to windows-1256:...
gabuscus (Gabriel Nagy)
08:29 AM Revision a6db9e8d (git): Remove the unused o_file definition
It's calculated inside compile_c_to_so again. k0kubun (Takashi Kokubun)
07:48 AM Revision 8750d001 (git): Fix wrong #ifdef usages with #if
Apparently #ifdef is always true k0kubun (Takashi Kokubun)
07:39 AM Revision 27d5af59 (git): Unify some confusing macro usages
_MSC_VER used to be the macro to switch JIT compaction. However, since
d4381d2ceb, the correct macro to switch it was changed from _MSC_VER
to _WIN32. As I didn't properly replace all relevant _MSC_VER usages
to _WIN32, these macros have...
k0kubun (Takashi Kokubun)
07:36 AM Revision d645f18f (git): Minor fixes to NEWS for String subclass method change [ci skip]
jeremyevans (Jeremy Evans)
06:47 AM Revision ed8e552d (git): Shrink the blocking region for compile_compact_jit_code
Isn't setting `in_compact = true` enough to avoid a race condition
between JIT compaction and unload_units? Now I think it is.
This change will make it easier to spend more time on compile_compact_jit_code.
For now it seems to take only...
k0kubun (Takashi Kokubun)
06:22 AM Revision 3f8c60cf (git): Remove obsoleted str_new_empty
since 58325daae3beefda13ed100782cd19a89cc68771.
../string.c:1339:1: warning: ‘str_new_empty’ defined but not used [-Wunused-function]
1339 | str_new_empty(VALUE str)
| ^~~~~~~~~~~~~
k0kubun (Takashi Kokubun)
06:18 AM Revision 0960f56a (git): Eliminate IVC sync between JIT and Ruby threads (#3799)
Thanks to Ractor (https://github.com/ruby/ruby/pull/2888 and https://github.com/ruby/ruby/pull/3662),
inline caches support parallel access now.
k0kubun (Takashi Kokubun)
05:01 AM Misc #17337: Don't embed Ruby build-time configuration in Ruby
This is a tough problem.
Ruby ships several hundreds of C/C++ header files (those under `include/` in our distribution). 3rd party extension libraries are expected to include them. The problem is, there are header files which depend...
shyouhei (Shyouhei Urabe)
12:42 AM Revision 4988758e (git): Update NEWS for String subclass method change [ci skip]
jeremyevans (Jeremy Evans)
12:30 AM Revision 58325daa (git): Make String methods return String instances when called on a subclass instance
This modifies the following String methods to return String instances
instead of subclass instances:
* String#*
* String#capitalize
* String#center
* String#chomp
* String#chop
* String#delete
* String#delete_prefix
* String#delete_suff...
jeremyevans (Jeremy Evans)

11/20/2020

11:46 PM Revision 4f5d14eb (git): [DOC] Ripper.{lex,tokenize} now always return full tokens. [ci skip]
no6v (Nobuhiro IMAI)
11:27 PM Bug #7844 (Closed): include/prepend satisfiable module dependencies are not satisfied
Applied in changeset commit:git|08686e71d5c48325ee1bd41c8d7ebcd6c37fa496.
----------
Do not allow Module#include to insert modules before the origin in the lookup chain
Module#include should only be able to insert modules after the ori...
jeremyevans (Jeremy Evans)
06:59 AM Bug #7844: include/prepend satisfiable module dependencies are not satisfied
I'd like to apply the patch to see if there's any compatibility issue.
Matz.
matz (Yukihiro Matsumoto)
11:27 PM Revision 18599b57 (git): * 2020-11-21 [ci skip]
git[bot]
11:26 PM Revision 08686e71 (git): Do not allow Module#include to insert modules before the origin in the lookup chain
Module#include should only be able to insert modules after the origin,
otherwise it ends up working like Module#prepend.
This fixes the case where one of the modules in the included module
chain is included in a module that is already p...
jeremyevans (Jeremy Evans)
10:06 PM Bug #9580: Refinements regression in IRB
I ran into this today.
We really should change the default to something that works for refinements. I note that:
```sh
irb --single-irb # => works (shared context for nested sessions)
irb --context 0 # => works
irb --context 1 #...
marcandre (Marc-Andre Lafortune)
09:28 PM Bug #14704 (Closed): Module#ancestors looks wrong when a module is both included and prepended in the same class.
The reason for this behavior is, at the point of the `Sub.include M2` call, `Sub.ancestors` is `[Sub, M1, M3, Object, Kernel, BasicObject]` and `M2.ancestors` is `[M3, M2]`. So `Sub.include M2` looks in the ancestry tree for `M3`, since... jeremyevans0 (Jeremy Evans)
07:34 PM Bug #10845: Subclassing String
jeremyevans0 (Jeremy Evans) wrote in #note-13:
> I looked at `Hash#merge`, but it doesn't have the same issue as the String and Array methods, since it is implemented as `dup.merge!`, and `dup` copies the state into the new object inste...
Eregon (Benoit Daloze)
04:45 PM Bug #10845: Subclassing String
Eregon (Benoit Daloze) wrote in #note-12:
> Maybe we should do it for Hash too?
> ...
I looked at `Hash#merge`, but it doesn't have the same issue as the String and Array methods, since it is implemented as `dup.merge!`, and `dup` copi...
jeremyevans0 (Jeremy Evans)
12:47 PM Bug #10845: Subclassing String
@ioquatix See #6087. Returning subclass instances leads to all kind of issues, because there is no good way to build the subclass instance.
+1 to do it for String since we did for Array.
Maybe we should do it for Hash too?
It seem...
Eregon (Benoit Daloze)
10:17 AM Bug #10845: Subclassing String
Is there are logic why we should prefer to return `String` vs custom subclass instances? I can see argument for both way. Why is one way preferred over the other? ioquatix (Samuel Williams)
07:33 AM Bug #10845: Subclassing String
> I've heard Rails relies on the old behavior (SafeStringBuffer?)
Just commented about the impact of this patch on Rails (ActiveSupport::SafeBuffer) https://github.com/ruby/ruby/pull/3701#issuecomment-730960288
matsuda (Akira Matsuda)
06:16 AM Bug #10845: Subclassing String
I am OK with experimenting. But I've heard Rails relies on the old behavior (`SafeStringBuffer`?). In that case, it might be hard to apply this.
Matz.
matz (Yukihiro Matsumoto)
07:22 PM Feature #16241: Shorter syntax for anonymous refinements
This sounds fine to me.
I think `using do; refine Array do; ...; end; end` would be a good way too (https://bugs.ruby-lang.org/issues/17336#note-6), but matz thinks it's confusing whether the block is for defining refinements or for u...
Eregon (Benoit Daloze)
07:13 PM Feature #17336: using refined: do ... end
k0kubun (Takashi Kokubun) wrote in #note-7:
> It might be helpful anyway, but a part of the ticket's motivation was to eliminate the deep indentation.
Is it annoying in practice?
It kind of seems nice to have the outer `using do ......
Eregon (Benoit Daloze)
05:00 PM Feature #17336 (Closed): using refined: do ... end
> Why not #16241?
Works for me :) Honestly `whatever Array do ... end` sounds fine. When I tried to implement a quick version, I picked `using Array do .. end`, and it was changed to this proposal because some others said it should be k...
k0kubun (Takashi Kokubun)
12:40 PM Feature #17336: using refined: do ... end
How about:
```ruby
class Foo
using do
refine Array do
def flat_map!(&block)
replace(flat_map(&block))
end
end
refine String do
...
end
end
```
So let `using` take a block inst...
Eregon (Benoit Daloze)
10:39 AM Feature #17336: using refined: do ... end
Why not #16241?.. `using refined: Array do` seems redundant to me, as both significant words (`using` and `refined`) are related to the same fact: "We are dealing with refinement here". zverok (Victor Shepelev)
07:18 AM Feature #17336 (Closed): using refined: do ... end
## Problem
When we need a monkey patch which is used only in a single file, we'd like to define a refinement and use it in the same place. The problem is that it needs deep indentation and `Module.new { ... }` which feels redundant.
...
k0kubun (Takashi Kokubun)
07:08 PM Bug #17331: Let Fiber#raise work with transferring fibers
This new alternative sounds good to me. I also commented on the PR. Eregon (Benoit Daloze)
05:43 PM Bug #17331: Let Fiber#raise work with transferring fibers
updated description nevans (Nicholas Evans)
05:36 PM Bug #17331: Let Fiber#raise work with transferring fibers
updated description with more details .
I don't know whether the API should be explicit or implicit. I slightly favor the explicit version, because (in my mental model) resume vs transfer (generator vs full coroutine) are more differe...
nevans (Nicholas Evans)
02:27 PM Bug #17331: Let Fiber#raise work with transferring fibers
I added an alternate implicit implementation at Samuel Williams's request: https://github.com/ruby/ruby/pull/3795
It will automatically choose between `rb_fiber_transfer_kw` for transferring fibers and `rb_fiber_resume_kw` for yieldin...
nevans (Nicholas Evans)
07:02 PM Bug #17306: TestGCCompact#test_ast_compacts test failures
vo.x (Vit Ondruch) wrote in #note-3:
> This is still issue:
> ...
I don't have access to those architectures to test on. This error happens when mprotect can't change protection on that region. If you have access to those machines ca...
tenderlovemaking (Aaron Patterson)
01:40 PM Bug #17306: TestGCCompact#test_ast_compacts test failures
This is still issue:
ruby 3.0.0dev (2020-11-20 master 1f7b557890) [powerpc64le-linux]
ruby 3.0.0dev (2020-11-20 master 1f7b557890) [s390x-linux]
vo.x (Vit Ondruch)
06:27 PM Feature #17259: Kernel#warn should ignore <internal: entries
PR to RubyGems so RubyGems won't need to override Kernel#warn anymore: https://github.com/rubygems/rubygems/pull/4075 Eregon (Benoit Daloze)
04:21 PM Bug #17338: ruby-spec stuck in "C-API Kernel function rb_rescue2"
So the `-P 'raises TypeError if one of the passed exceptions is not a Module'` helps, that means this is related to #17305. vo.x (Vit Ondruch)
03:54 PM Bug #17338 (Closed): ruby-spec stuck in "C-API Kernel function rb_rescue2"
Trying to build Ruby on Fedora Rawhide, the ruby-spec test suite gets stuck on some platforms (I noticed this on i686 and ppc64le) somewhere around:
~~~
C-API Kernel function rb_rescue2
- only rescues if one of the passed exceptions...
vo.x (Vit Ondruch)
03:27 PM Bug #16410: Spec failure - "File.utime allows Time instances in the far future to set mtime and atime"
Just FTR, this was resolved by https://github.com/ruby/spec/commit/8aca773cd358cf11496ed342e5ca34401255d8aa vo.x (Vit Ondruch)
01:05 PM Feature #17143: Improve support for warning categories
Regarding `redefine`, though I'm not sure what case you're thinking, guess it's better to declare that method to be redefined.
For instance, the case defer the "real" method definition till called, such as `Binding#irb` and `Kernel#pp...
nobu (Nobuyoshi Nakada)
05:31 AM Feature #17143: Improve support for warning categories
Persuaded at today's developer meeting. I now think that :redefine shall be handled in other ways.
The point is, it is the author's intention, not the end user's, that they wants to redefine a method without warnings. Asking everyone ...
shyouhei (Shyouhei Urabe)
05:28 AM Feature #17143: Improve support for warning categories
naruse (Yui NARUSE) wrote in #note-13:
> In regard to #17055, Instead of new feature to suppress warning, how about assuming `@foo = nil` is that.
`@foo = nil` sets the instance variable, with the negative performance implications o...
jeremyevans0 (Jeremy Evans)
05:07 AM Feature #17143: Improve support for warning categories
In regard to #17055, Instead of new feature to suppress warning, how about assuming `@foo = nil` is that. `instance_variable_get` and so on should also be mimicked. naruse (Yui NARUSE)
12:29 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
By marking as thread-safe, I mean that the C extension would manipulate its own state in a thread-safe manner. I think the various APIs mentioned above all make that clear.
The thread safety of the interpreter is not considered here. ...
Eregon (Benoit Daloze)
07:59 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
I am OK with having API to specify Ractor/Thread-safety. But thread-safety here is a bit ambiguous. For example, object allocation is not thread-safe in CRuby but probably safe in TruffleRuby. We need to clarify the definition of thread-... matz (Yukihiro Matsumoto)
09:49 AM Misc #17337 (Open): Don't embed Ruby build-time configuration in Ruby
When Ruby 3.0 is built without C++ compiler available, subsequent builds of Eventmachine extensions (or any other gems that require C++ compiler) fail:
~~~
... snip ...
"make \"DESTDIR=\""
I. -I/usr/include -I/usr/include/ruby/ba...
vo.x (Vit Ondruch)
09:30 AM Revision 1f7b5578 (git): Update expected IRB result
nobu (Nobuyoshi Nakada)
09:16 AM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
My opinion for each proposed method.
* `compact` - OK, I can imagine use-cases too
* `product` - Negative; I concern about arguments (array or enumerable)
* `flatten` - Negative; I concern about types of elements (array of enumerabl...
matz (Yukihiro Matsumoto)
08:27 AM Feature #16786: Light-weight scheduler for improved concurrency.
When implementation fixed, could you update the document? Also, I'd like you to rename `scheduler.md` to something else (e.g. `asyncfiber.md').
Matz.
matz (Yukihiro Matsumoto)
08:21 AM Feature #16786: Light-weight scheduler for improved concurrency.
I am happy with `Fiber#set_scheduler()`.
Matz.
matz (Yukihiro Matsumoto)
08:25 AM Bug #17197: Some Hash methods still have arity 2 instead of 1
matz (Yukihiro Matsumoto) wrote in #note-11:
> It is caused by a historical reason. I don't think it's worth breaking compatibility, at least for Ruby3.0. Maybe for 3.1?
> ...
Thanks for the reply. Should we add a deprecation warning t...
marcandre (Marc-Andre Lafortune)
07:34 AM Bug #17197 (Rejected): Some Hash methods still have arity 2 instead of 1
It is caused by a historical reason. I don't think it's worth breaking compatibility, at least for Ruby3.0. Maybe for 3.1?
Matz.
matz (Yukihiro Matsumoto)
08:18 AM Revision 69d871ee (git): [Feature #17276] Moved raise_errors support to Ripper::Lexer#parse
nobu (Nobuyoshi Nakada)
07:35 AM Feature #16043: `$LOAD_PATH.resolve_feature_path` should not raise
Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:18 AM Bug #17335 (Third Party's Issue): load gem in ruby 2.6.6 extremely slow
my ruby app starts up extremely slow after I upgrade from ruby version 2.3.1 to 2.7.2. My app does load quite some gems (using "require") at startup. Following code would take 29 secs on my windows 10 PC.
puts Time.now.to_s + ' requ...
paulHu (paul hu)
07:05 AM Bug #11213 (Closed): defined?(super) ignores respond_to_missing?
Applied in changeset commit:git|fac2498e0299f13dffe4f09a7dd7657fb49bf643.
----------
[Bug #11213] let defined?(super) call respond_to_missing?
nobu (Nobuyoshi Nakada)
07:04 AM Revision fac2498e (git): [Bug #11213] let defined?(super) call respond_to_missing?
nobu (Nobuyoshi Nakada)
06:37 AM Bug #11022 (Rejected): opening an eigenclass does not change the class variable definition context
I am not a big fan of this behavior, but I don't think class variables are worth breaking the existing code for the sake of preference.
So I reject the proposal.
Matz.
matz (Yukihiro Matsumoto)
05:18 AM Revision 4b899f91 (git): Try to fix download error
https://github.com/ruby/ruby/runs/1428320660?check_suite_focus=true#step:9:10
```
tool/downloader.rb:243:in `rescue in download': failed to download config.guess (RuntimeError)
OpenURI::HTTPError: 403 Forbidden: https://cdn.jsdelivr.net/...
znz (Kazuhiro NISHIYAMA)
02:47 AM Revision 8cbd5f21 (git): rename
S_H_ (Shun Hiraoka)
02:47 AM Revision c11c25ba (git): fix code
S_H_ (Shun Hiraoka)
02:47 AM Revision d79cdcb1 (git): add flo_prev_or_next func
S_H_ (Shun Hiraoka)
02:44 AM Revision 1800f3fa (git): Ripper.{lex,tokenize} return full tokens even if syntax error
yet another implements [Feature #17276] no6v (Nobuhiro IMAI)
01:31 AM Bug #16782: `lock': deadlock; recursive locking (ThreadError) in 2.7.1
There is no locking on that line:
https://github.com/socketry/async/blob/v1.24.2/lib/async/wrapper.rb#L215
Maybe it happens somewhere inside CRuby or nio4r extension.
ioquatix (Samuel Williams)
12:35 AM Bug #17334: Marshal cannot dump instance of Monitor
Alright. Sounds like the bug then lives in the http-cookie (HTTP::CookieJar) gem. It should have some way of representing the state when its being dumped or ignore the Monitor. Littlejd1997 (Jon David Schober)
12:02 AM Bug #17334: Marshal cannot dump instance of Monitor
I'm not sure what a dumped instance of `Monitor` would look like though? Its state implicitly includes the current stack trace of threads using it. What do you imagine an undumped `Monitor` with blocked threads would look like? chrisseaton (Chris Seaton)
12:25 AM Revision 80d3f219 (git): * 2020-11-20 [ci skip]
git[bot]
12:24 AM Revision 0026f644 (git): Document Different Coverage Modes
This commits adds in documentation to illustrate the different modes you
can start coverage with. Examples are provided to show how to start each
of these modes, along with an explanation of the mode and a description
of the output.
kevin-j-m (Kevin Murphy)

11/19/2020

11:59 PM Bug #17334 (Rejected): Marshal cannot dump instance of Monitor
This is expected and not a bug, as you can't dump the state of the Monitor. Instances of many core classes, such as Proc, Mutex, Thread, and Queue are likewise not dumpable. jeremyevans0 (Jeremy Evans)
11:54 PM Bug #17334 (Rejected): Marshal cannot dump instance of Monitor
I'm not really sure why, but I hope someone else know whats going on.
I was digging into an error I had with Rails caching. Long story short, I was caching a HTTP::CookieJar object which has an instance variable of type Monitor.
Th...
Littlejd1997 (Jon David Schober)
08:59 PM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
@zverok Thanks for the explanation. That makes a lot of sense! p8 (Petrik de Heus)
07:18 PM Feature #17296: Feature: Pathname#chmod use FileUtils.chmod instead of File
Sounds good to me.
@akr Could you approve?
Eregon (Benoit Daloze)
06:51 PM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
nobu (Nobuyoshi Nakada) wrote in #note-5:
> First of all, `$host_cpu` and others are used only for cross-compilers and nonsense in the other cases.
> ...
I think RbConfig `host_*` values should be correct no matter whether cross-compil...
Eregon (Benoit Daloze)
02:33 PM Feature #17276: Ripper stops tokenizing after keyword as a method parameter
> I would prefer `Ripper.{lex,tokenize}` returning fully parsed tokens.
pull request: https://github.com/ruby/ruby/pull/3791
no6v (Nobuhiro IMAI)
10:55 AM Feature #17276: Ripper stops tokenizing after keyword as a method parameter
> Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw}
> ...
Thanks for your clarification and implementation.
(it seems that those two lines are same :)
https://github.com/ruby/ruby/blob/cd0877a93e91fecb3066984b3fa2a7...
no6v (Nobuhiro IMAI)
12:58 PM Bug #17280: Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
I wonder if we could simplify the logic to never include `..` for `Dir.glob`, and only include `.` for the initial directory and nowhere else.
Are there cases where `..` and `.` would ever be wanted, besides `Dir.glob(".") => ["."]`?
...
Eregon (Benoit Daloze)
12:53 PM Bug #17280: Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
Thanks, that looks good to me.
I think everyone expects FNM_DOTMATCH to match dotfiles, and `.` and `..` are not dotfiles.
Or is there is some other purpose for FNM_DOTMATCH?
Eregon (Benoit Daloze)
12:26 AM Bug #17280: Dir.glob with FNM_DOTMATCH matches ".." and "." and results in duplicated entries
So there is two separate issues you are discussing. One issue is when the recursive glob is used (`"**/*"`) where the same folder shows up under two paths, once in the parent directory and once in its own directory. The second issue is... jeremyevans0 (Jeremy Evans)
08:15 AM Feature #17333: Enumerable#many?
> Now, many? has at most as less motivation as one? has. It must be backed up by use cases. What are its use cases?
I agree. So here are some insights.
https://grep.app/search?q=%5C.many%5C%3F&regexp=true&filter[lang][0]=Ruby&filte...
okuramasafumi (Masafumi OKURA)
06:41 AM Revision 44ad72fa (git): Added assertions
nobu (Nobuyoshi Nakada)
06:36 AM Revision 9c1e2a99 (git): Update the default gems section in NEWS.md
hsbt (Hiroshi SHIBATA)
12:34 AM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
Could you give an example code where Fiber#raise wouldn't work?
Is it just about #17331 or there are more issues with Fiber#raise?
I don't quite understand why you need to cancel other Fibers, they are not executing anyway.
Is it to...
Eregon (Benoit Daloze)

11/18/2020

10:13 PM Bug #17308 (Closed): RubyVM::InstructionSequence.compile_file doesn't use the same default encoding than Kernel.load
Applied in changeset commit:git|4a5c42db88d30532bd4fbcdff89615ebf961d2a2.
----------
Make RubyVM::InstructionSequence.compile_file use same encoding as load
This switches the internal function from rb_parser_compile_file_path
to rb_par...
jeremyevans (Jeremy Evans)
08:45 PM Bug #17308: RubyVM::InstructionSequence.compile_file doesn't use the same default encoding than Kernel.load
I submitted a pull request to make RubyVM::InstructionSequence.compile_file use same encoding as Kernel#load: https://github.com/ruby/ruby/pull/3788 jeremyevans0 (Jeremy Evans)
10:12 PM Revision 4a5c42db (git): Make RubyVM::InstructionSequence.compile_file use same encoding as load
This switches the internal function from rb_parser_compile_file_path
to rb_parser_load_file, which is the same internal method that
Kernel#load uses.
Fixes [Bug #17308]
jeremyevans (Jeremy Evans)
10:11 PM Revision fee00737 (git): * 2020-11-19 [ci skip]
git[bot]
10:11 PM Revision ce3c9a34 (git): Fix USE_TRANSIENT_HEAP macro usage in hash.c
Additionally fix some typos in transient heap. Cristian Greco
07:02 PM Bug #17321 (Closed): Having a singleton class makes cloning imperfect
Fixed by commit:ebb96fa8808317ad53a4977bff26cf755d68077e. jeremyevans0 (Jeremy Evans)
05:06 PM Feature #17333: Enumerable#many?
>We already have `none?`, `one?`, `any?` and `all?`, which translate into `== 0`, `== 1`, `> 0` and `== self.size`.
`many?` method translates into `> 1`, which is reasonable to exist.
I do not follow this argument.
Of the methods you h...
sawa (Tsuyoshi Sawada)
01:48 PM Feature #17333: Enumerable#many?
ITYM `> 1`. 😉 knu (Akinori MUSHA)
01:12 PM Feature #17333: Enumerable#many?
Pull Request is here:
https://github.com/ruby/ruby/pull/3785
okuramasafumi (Masafumi OKURA)
01:01 PM Feature #17333: Enumerable#many?
okuramasafumi (Masafumi OKURA) wrote:
> Currently we need to write something this:
> ...
That's my mistake, we can currently do
```ruby
[1, 2, 3].count(&:odd?) >= 1
```
okuramasafumi (Masafumi OKURA)
12:58 PM Feature #17333 (Open): Enumerable#many?
`Enumerable#many?` method is implemented in ActiveSupport.
https://api.rubyonrails.org/classes/Enumerable.html#method-i-many-3F
However, it's slightly different from Ruby's core methods such as `one?` or `all?`, where they take pattern...
okuramasafumi (Masafumi OKURA)
04:18 PM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
@p8
> I was really suprised that `#last` isn't implemented in Enumerable while `#first` is.
It is natural.
That's because Enumerable is "uni-directional" (it is not guaranteed that you can iterate through it more than once, and ...
zverok (Victor Shepelev)
03:31 PM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
I was really suprised that #last isn't implemented in Enumerable while #first is.
p8 (Petrik de Heus)
03:34 PM Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
After trying to use the new functions in `json` and `messagepack` I realized we overlooked something entirely.
The internal `rb_fstring_*` will build new strings with `str_new_static`, so will directly re-use the string pointer that w...
byroot (Jean Boussier)
10:32 AM Bug #17332 (Closed): No error when using endless method definitions with `self.` setters
Seems to have been fixed since preview1:
```
[05:29][~]$ ruby -v -e 'def self.foo=() = 1'
ruby 3.0.0dev (2020-11-07T21:47:45Z master 2f12af42f7) [x86_64-darwin18]
-e:1: setter method cannot be defined in an endless method definitio...
marcandre (Marc-Andre Lafortune)
08:55 AM Bug #17332 (Closed): No error when using endless method definitions with `self.` setters
With ruby 3.0.0 preview1, endless method definitions can be used for setter methods with explicit receiver:
```ruby
def self.foo=() = 1
# => :foo=
```
```ruby
obj = Object.new
def obj.foo=() = 1
# => :foo=
```
From my und...
hjwylde (Henry Wylde)
07:28 AM Revision dc3a65bd (git): [ruby/net-smtp] Bump version to 0.2.1
https://github.com/ruby/net-smtp/commit/6e5c09dcc4 hsbt (Hiroshi SHIBATA)
07:27 AM Revision 6e487719 (git): Update TypeProf to 0.6.1
mame (Yusuke Endoh)
05:26 AM Revision 1301bd8c (git): Update documentation for Ripper.{lex,tokenize,sexp,sexp_raw} [ci skip]
jeremyevans (Jeremy Evans)
05:16 AM Feature #17276 (Closed): Ripper stops tokenizing after keyword as a method parameter
Applied in changeset commit:git|cd0877a93e91fecb3066984b3fa2a762e6977caf.
----------
Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw}
Implements [Feature #17276]
jeremyevans (Jeremy Evans)
05:15 AM Revision cd0877a9 (git): Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw}
Implements [Feature #17276] jeremyevans (Jeremy Evans)
01:52 AM Revision a776032e (git): Move the declaration into the function
instead of 'do not call it directly.' comment. znz (Kazuhiro NISHIYAMA)
01:14 AM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
I heard that config.guess claims it "arm", while `uname -m` reports "arm64".
First of all, `$host_cpu` and others are used only for cross-compilers and nonsense in the other cases.
Why do they matter?
nobu (Nobuyoshi Nakada)
01:04 AM Bug #17331: Let Fiber#raise work with transferring fibers
We could also make this automatically determine whether the fiber is yielding or transferring and choose the appropriate fiber_switch approach. But transferring vs yielding makes a difference in where control is passed back to when the f... nevans (Nicholas Evans)
12:50 AM Bug #17331 (Closed): Let Fiber#raise work with transferring fibers
It would be useful to use `raise` on transferring fibers just as we can with yielding fibers.
I've added a `transfer` kwarg, so it is not automatic; the caller must know how to handle the fiber. If you call a yielding fiber with `tra...
nevans (Nicholas Evans)
12:32 AM Feature #17326: Add Kernel#must! to the standard library
jez (Jake Zimmerman) wrote in #note-16:
> A colleague pointed out that `or_else` has the nice property that it could replace the `||=` for default initializing instance variables:
> ...
Except that `@foo ||= x` is `@foo || (@foo = x)`,...
phluid61 (Matthew Kerwin)
12:06 AM Feature #17326: Add Kernel#must! to the standard library
A colleague pointed out that `or_else` has the nice property that it could replace the `||=` for default initializing instance variables:
```ruby
@foo ||= compute_initial_value_slow_returns_true_or_false(...)
# ^ this logic will r...
jez (Jake Zimmerman)
12:05 AM Revision 519062b3 (git): Add Fiddle 1.0.2 to NEWS
Sutou Kouhei
12:05 AM Revision 0915a020 (git): Update Fiddle's dependencies
Sutou Kouhei
12:05 AM Revision fcd680fb (git): [ruby/fiddle] Remove needless return
https://github.com/ruby/fiddle/commit/50e02f9445 Sutou Kouhei
12:05 AM Revision aa22b665 (git): [ruby/fiddle] Bump version
https://github.com/ruby/fiddle/commit/74b65cb858 Sutou Kouhei
12:05 AM Revision 5c7ef89d (git): [ruby/fiddle] test: suppress shadowing outer local variable warning
https://github.com/ruby/fiddle/commit/cf168680a2 Sutou Kouhei
12:05 AM Revision ceccc165 (git): [ruby/fiddle] Remove needless workaround
It's fixed in upstream.
https://github.com/MSP-Greg/ruby-loco/issues/4
https://github.com/ruby/fiddle/commit/2ae0ff4934
Sutou Kouhei
12:05 AM Revision 3b385c33 (git): [ruby/fiddle] Add workaround for ruby head for mingw
https://github.com/ruby/fiddle/commit/bb227c206d Sutou Kouhei
12:05 AM Revision 821cfa74 (git): [ruby/fiddle] Use msys2_mingw_dependencies
https://github.com/ruby/fiddle/commit/fee175a8ff Sutou Kouhei
12:05 AM Revision e2770129 (git): [ruby/fiddle] Use ruby_xcalloc() instead of ruby_xmalloc() and memset()
https://github.com/ruby/fiddle/commit/6d24fb5438 Sutou Kouhei
12:05 AM Revision 1867088d (git): [ruby/fiddle] Remove needless rescue
GitHub: fix GH-15
Reported by Eneroth3. Thanks!!!
https://github.com/ruby/fiddle/commit/f3d70b81ec
Sutou Kouhei
12:05 AM Revision aff5eace (git): [ruby/fiddle] Add workaround for RubyInstaller for Windows
See comment for details.
https://github.com/ruby/fiddle/commit/0c76f03dc4
Sutou Kouhei
12:05 AM Revision 307388ea (git): [ruby/fiddle] Add a "pinning" reference (#44)
* Add a "pinning" reference
A `Fiddle::Pinned` objects will prevent the objects they point to from
moving. This is useful in the case where you need to pass a reference
to a C extension that keeps the address in a global and needs the
...
tenderlovemaking (Aaron Patterson)
12:05 AM Revision e2dfc0c2 (git): [ruby/fiddle] Add support for specifying types by name as String or Symbol
For example, :voidp equals to Fiddle::TYPE_VOID_P.
https://github.com/ruby/fiddle/commit/3b4de54899
Sutou Kouhei
12:05 AM Revision ae7b5354 (git): [ruby/fiddle] Add TYPE_CONST_STRING and SIZEOF_CONST_STRING for "const char *"
Add rb_fiddle_ prefix to conversion functions.h to keep backward
compatibility but value_to_generic() isn't safe for TYPE_CONST_STRING
and not String src. Use rb_fiddle_value_to_generic() instead.
https://github.com/ruby/fiddle/commit/0...
Sutou Kouhei

11/17/2020

11:24 PM Feature #17326: Add Kernel#must! to the standard library
jeremyevans0 (Jeremy Evans) wrote in #note-14:
> But the fact that there should be a high bar is something I would hope we all understand.
I hope that something I wrote didn't make you think I disagree there! I was just genuinely curiou...
jez (Jake Zimmerman)
09:46 PM Feature #17326: Add Kernel#must! to the standard library
jez (Jake Zimmerman) wrote in #note-13:
> jeremyevans0 (Jeremy Evans) wrote in #note-12:
> ...
The cost to adding a method to a core class is in the conceptual overhead, backwards compatibility, and need to support in perpetuity, since...
jeremyevans0 (Jeremy Evans)
09:12 PM Feature #17326: Add Kernel#must! to the standard library
jeremyevans0 (Jeremy Evans) wrote in #note-12:
> the benefit of adding it is smaller than the cost of adding another method to Kernel
Can you speak more on the const of adding a method to Kernel? While I understand the costs of somethi...
jez (Jake Zimmerman)
08:50 PM Feature #17326: Add Kernel#must! to the standard library
This method is trivial to write in Ruby. While it can be useful even in codebases that do not use static typing, I think the benefit of adding it is smaller than the cost of adding another method to Kernel. I think it should probably b... jeremyevans0 (Jeremy Evans)
07:46 PM Feature #17326: Add Kernel#must! to the standard library
I really don't want to add new syntax for something that can already be expressed in normal Ruby code.
I wanted to bump this suggestion from Ufuk:
ufuk (Ufuk Kayserilioglu) wrote in #note-5:
> As for the matching `must` method, I thin...
jez (Jake Zimmerman)
03:44 PM Feature #17326: Add Kernel#must! to the standard library
Just an aside note: not saying something against, or for the proposal, I can't help noticing that abandoned "method reference" idea solved at least (1) and (2) of original ticket, removing some of the necessity of constantly extending co... zverok (Victor Shepelev)
03:20 PM Feature #17326: Add Kernel#must! to the standard library
I don't think I can agree with the `|.` operator, but having the raise in a block would make a lot of sense to me.
task.or{raise}.mailing_params.or{raise}.fetch('template_context')
This could also be used to return a default va...
Dan0042 (Daniel DeLorme)
06:35 AM Feature #17326: Add Kernel#must! to the standard library
I like this syntax :
`task|.raise.mailing_params|.raise.fetch('template_context')`
As you said it's consistent with `&.`
nrodriguez (Nicolas Rodriguez)
11:13 PM Revision 64926d50 (git): test/net/smtp - use TCPSocket when UNIXSocket unavailable
MSP-Greg (Greg L)
10:17 PM Revision 2ef3b979 (git): NEWS: Add --backtrace-limit option [ci skip]
Junichi Ito
09:58 PM Revision 898aff95 (git): Remove NEWS entry about taint deprecation warnings [ci skip]
JunichiIto on GitHub correctly pointed out this is no longer
accurate due to the change to not display deprecation warnings by
default.
jeremyevans (Jeremy Evans)
08:30 PM Misc #17329 (Closed): Doc for pattern match?
Ah, I confused both sites. Closing this then. marcandre (Marc-Andre Lafortune)
06:32 PM Misc #17329: Doc for pattern match?
> Who has access to do that?
If you mean access to ruby-doc.org, I believe it is one-person project. Last time I wanted something to be fixed there I've just contacted maintainer on Twitter: https://twitter.com/zverok/status/121051255...
zverok (Victor Shepelev)
06:09 PM Misc #17329: Doc for pattern match?
Ohh, glad to see it's there, not updated.
There have been many improvements by @BurdetteLamar, we should definitely update the published doc as it is today.
Who has access to do that?
marcandre (Marc-Andre Lafortune)
10:02 AM Misc #17329: Doc for pattern match?
(As an aside note, I really believe Ruby needs some kind of "Documentation working group", the current state of things is errrrm sub-optimal.) zverok (Victor Shepelev)
10:00 AM Misc #17329: Doc for pattern match?
Funny.
Here: https://docs.ruby-lang.org/en/master/doc/syntax/control_expressions_rdoc.html#label-case+Expression we have
> Since Ruby 2.7, case expressions also provide ....
I [added the docs](https://github.com/ruby/ruby/pull/2...
zverok (Victor Shepelev)
01:59 AM Misc #17329 (Closed): Doc for pattern match?
Is there an official doc for pattern matching?
I note that `case` in https://ruby-doc.org/core-2.7.2/doc/syntax/control_expressions_rdoc.html does not mention it, and `in` does not appear.
marcandre (Marc-Andre Lafortune)
07:04 PM Feature #17278: On-demand sharing of constants for Ractor
In #17323#note-5, ko1 mentioned there is a possibility to provide "fork" model. So I tried thinking if it could apply here.
We can imagine that accessing an auto-shareable constant
a) from non-main ractor: is made shareable
b) from ...
Dan0042 (Daniel DeLorme)
06:53 PM Revision 0829f147 (git): * 2020-11-18 [ci skip]
git[bot]
06:52 PM Revision 5e3259ea (git): fix public interface
To make some kind of Ractor related extensions, some functions
should be exposed.
* include/ruby/thread_native.h
* rb_native_mutex_*
* rb_native_cond_*
* include/ruby/ractor.h
* RB_OBJ_SHAREABLE_P(obj)
* rb_ractor_shareable_p(ob...
ko1 (Koichi Sasada)
06:37 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
n.b. I consider this to be related, at least in spirit, to https://bugs.ruby-lang.org/issues/595. I consider this analogous to IO#open and IO#close. We ought to have a structured/standard way to "close" fibers that have been "opened". (T... nevans (Nicholas Evans)
04:25 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
Like I wrote above, I think I'd like to change my PR so that `terminated_fiber.cancel` returns `nil` or `false` instead of raising `FiberError`. That way any fiber on the current thread, except for the root fiber, can be canceled without... nevans (Nicholas Evans)
03:45 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
one more update to alternatives nevans (Nicholas Evans)
03:40 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
added more to alternatives nevans (Nicholas Evans)
03:20 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
Added some other alternatives to the description. nevans (Nicholas Evans)
03:02 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
Thanks for taking a look at this, Benoit. I agree it's not obvious why this is necessary with Fiber#raise, so I'll try to explain my reasoning in more detail:
Yes, a library (e.g. `async`) could write a "suspend" function that wraps r...
nevans (Nicholas Evans)
04:28 PM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
> But even with Enumerator the recursive aspect still represents a compatibility problem.
I am not sure about its severity, though. I mean, Universe is big and sure somewhere in it there should be a code which has an *array of enumera...
zverok (Victor Shepelev)
04:14 PM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
I understand the thinking behind #flatten; if `ary.flatten` is possible then why not `ary.to_enum.flatten`? It should be isomorphic. But even with Enumerator the recursive aspect still represents a compatibility problem. So as long as th... Dan0042 (Daniel DeLorme)
03:50 PM Feature #17312: New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
@mame @Dan0042 Oh, you are right, starting to think from `Enumerable::Lazy` perspective I've missed a huge incompatibility introduced by `flatten`.
@mame I'll split into several proposals+patches: `Enumerable#compact`, and, I am start...
zverok (Victor Shepelev)
04:07 PM Feature #17276: Ripper stops tokenizing after keyword as a method parameter
Eregon (Benoit Daloze) wrote in #note-2:
> jeremyevans0 (Jeremy Evans) wrote in #note-1:
> ...
Yes, the same is possible with `Ripper.sexp/sexp_raw`. I've updated the pull request to handle those as well.
jeremyevans0 (Jeremy Evans)
10:10 AM Feature #17276: Ripper stops tokenizing after keyword as a method parameter
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> Maybe we could support keyword arguments in `Ripper.lex` and `Ripper.tokenize` to raise SyntaxError for errors? Here's a pull request for that approach: https://github.com/ruby/ruby/pull/...
Eregon (Benoit Daloze)
05:17 AM Feature #17276: Ripper stops tokenizing after keyword as a method parameter
Ripper records errors, but `Ripper.tokenize` and `Ripper.lex` cannot return them. Here's how you can handle errors with Ripper (for tokenize, lex is similar):
```ruby
require 'ripper'
r = Ripper::Lexer.new('def req(true) end', 'a',...
jeremyevans0 (Jeremy Evans)
02:24 PM Bug #17197: Some Hash methods still have arity 2 instead of 1
Ah, I was wrong.
mame (Yusuke Endoh) wrote in #note-6:
> IMO, this is a bug since 1.9.0 because `Hash#select` looks like a faster version of `Enumerable#select`, so it should behave as possible as like `Enumerable#select`.
Hash#select ...
mame (Yusuke Endoh)
01:37 PM Bug #17197: Some Hash methods still have arity 2 instead of 1
Eregon (Benoit Daloze) wrote in #note-8:
> Check if the block uses arity 1 and warn that it should instead use `|k,v|` or `|k,|`?
Yes. It seems obvious, am I missing something? I'm aware that `proc{ |k,| }.arity == 1` (imho a bug) bu...
Dan0042 (Daniel DeLorme)
12:55 PM Feature #17330: Object#non
It reminded me https://bugs.ruby-lang.org/issues/12075#change-57152. nobu (Nobuyoshi Nakada)
12:49 PM Feature #17330 (Open): Object#non
(As always "with core" method proposals, I don't expect quick success, but hope for a fruitful discussion)
### Reasons:
Ruby always tried to be very chainability-friendly. Recently, with introduction of `.then` and `=>`, even more ...
zverok (Victor Shepelev)
12:45 PM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
Maybe, `uname -m` (and tool/config.guess) returns "arm", then `RUBY_UNIVERSAL_ARCH` replaces target_cpu only? nobu (Nobuyoshi Nakada)
12:35 PM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
As I have no access to Apple silicon machines, can anyone share config.log file on that platform? nobu (Nobuyoshi Nakada)
10:20 AM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
This seems a clear bug, at least `host_cpu` and `build_cpu`.
`arm` means 32-bit and is already used e.g. on Linux to mean that.
So it should be `arm64` or `aarch64`.
`target_cpu` is already `arm64` interestingly.
@nobu Do you kno...
Eregon (Benoit Daloze)
12:20 PM Bug #11213: defined?(super) ignores respond_to_missing?
https://github.com/ruby/ruby/pull/3777 nobu (Nobuyoshi Nakada)
10:25 AM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
phluid61 (Matthew Kerwin) wrote in #note-9:
> ``` ruby
> ...
This is exactly why I created this feature request. Improved `attr_accessor` returns array of defined methods and `private/protected/public` receives single array as argument.
radarek (Radosław Bułat)
10:23 AM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
marcandre (Marc-Andre Lafortune) wrote in #note-8:
> I would also like `alias_method x, y` to return `x` so we could write `protected alias_method :foo, :bar`
Additionaly both activesupport's `delegate` and ruby's `def_delegators` me...
radarek (Radosław Bułat)
07:55 AM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
Dan0042 (Daniel DeLorme) wrote in #note-7:
> +1
> ...
``` ruby
attr_accessor :x, :y #=> ?
```
phluid61 (Matthew Kerwin)
04:30 AM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
I would also like `alias_method x, y` to return `x` so we could write `protected alias_method :foo, :bar` marcandre (Marc-Andre Lafortune)
09:05 AM Revision 0683912d (git): Skip tests related TLS with Windows platform.
hsbt (Hiroshi SHIBATA)
05:17 AM Revision cada6d85 (git): Import net-smtp-0.2.0 from https://github.com/ruby/net-smtp
hsbt (Hiroshi SHIBATA)
02:32 AM Bug #17305 (Closed): rb_rescue2() seems to loop forever if given a non-module for rescued exceptions on <= 2.6.6
I bisected the fix to commit:a569bc09e25a2ba813d0bec1228d9ff65330a3db. We definitely don't want the entire commit. Attached is a minimal subset of the commit that doesn't introduce a new external function, in case @nagachika would like... jeremyevans0 (Jeremy Evans)
12:41 AM Revision fcc88da5 (git): configure.ac: fix for upcoming autoconf-2.70
The failure initially noticed on `autoconf-2.69d` (soon to become 2.70):
```
$ ./configure
./configure: line 8720: syntax error near unexpected token `fi'
./configure: line 8720: `fi'
```
Before the change generated `./configure ` snip...
Sergei Trofimovich
12:39 AM Feature #13381 (Closed): [PATCH] Expose rb_fstring and its family to C extensions
Applied in changeset commit:git|ef19fb111a8c8bf1a71d46e6fcf34b227e086845.
----------
Expose the rb_interned_str_* family of functions
Fixes [Feature #13381]
byroot (Jean Boussier)
12:39 AM Revision ef19fb11 (git): Expose the rb_interned_str_* family of functions
Fixes [Feature #13381] byroot (Jean Boussier)
12:08 AM Feature #17328 (Rejected): Extend `un.rb` to be usable by everyone
You can run it as `ruby run.rb`. nobu (Nobuyoshi Nakada)
 

Also available in: Atom