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...
-
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... - 11:40 PM Revision 3a7ea6a0 (git): * 2020-11-24 [ci skip]
-
11:38 PM Revision 3ce5434f (git): Ignore static-ruby [ci skip]
- static-ruby is statically linked against libruby, even when
configured with --enable-shared. -
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. -
11:22 PM Revision 78c40e65 (git): zlib: extlibs to download zlib-1.2.11
-
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... -
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 `... -
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 ...
-
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?
-
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... -
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=... -
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. -
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... -
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... -
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... -
09:31 AM Revision abb672e1 (git): Suppress a format-overflow warning
-
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. -
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 -
06:09 AM Revision 1fea0367 (git): Clarify the intention of `false &&`
-
05:02 AM Revision 2700df3c (git): ruby/internal/config.h needs to be included first
- to define USE_MJIT.
-
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. -
04:28 AM Revision 01f38693 (git): Remove obsoleted internal/mjit.h inclusion
- :bow:
-
04:23 AM Revision 8646f902 (git): Remove obsoleted internal/mjit.h
- Sorry, I forgot to delete this at 55866565c24765a1722e2c415a6776f3f77e89d0.
-
04:22 AM Revision 55866565 (git): Combine mjit.h and internal/mjit.h
- It's very hard to remember which mjit.h has what.
-
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.
-
12:45 AM Revision afd765f2 (git): Initialize UTF-8 encoding first as it is used always now
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... -
11:07 AM Feature #17047: Support parameters for MAIL FROM and RCPT TO
- I would appreciate some feedback on this. Thanks :-)
-
04:58 PM Bug #10845: Subclassing String
- PR to fix it by @matsuda: https://github.com/rails/rails/pull/40663
-
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/... - 03:11 PM Revision d83aa3c2 (git): * 2020-11-23 [ci skip]
-
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] -
02:08 PM Revision 175952bf (git): NEWS for [Feature #16233] [ci skip]
-
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.)
-
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 ... -
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?
-
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. -
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) -
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.
-
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 -
12:00 PM Revision 2d112c34 (git): [ruby/irb] Stop using bang version for #inspect of result
- https://github.com/ruby/irb/commit/fc1426d34e
-
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 -
12:00 PM Revision 5218f177 (git): [ruby/irb] support more body argument for oneliner method definition
- https://github.com/ruby/irb/commit/2ff1295533
-
10:10 AM Revision 7c879cbb (git): Suppress a unused-variable warning
-
10:09 AM Revision 75d48a53 (git): rubyspec-capiext: Use plain DLDFLAGS without flags for libruby
-
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. -
07:44 AM Revision 7ade7a86 (git): Clarify the intention of the include guard
- This was a leftover of 27d5af59a359909e0d434459c30cfc0940f60a5b.
-
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. -
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... -
02:32 AM Revision eb3906c6 (git): dist: added DISTOPTS and PKGSDIR
-
02:30 AM Revision e9c3de47 (git): make-snapshot: don't store symlinks by 7z for reproduceable pacakges
-
02:01 AM Revision 0f51105e (git): make-snapshot: measure archiving times
-
01:59 AM Revision 821aa35c (git): make-snapshot: suppress messages copying cached files unless verbose
-
01:49 AM Revision 11cd9339 (git): make-snapshot: clean autoconf caches for reproduceable packages
-
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_* - 12:10 AM Revision 5512de76 (git): * 2020-11-22 [ci skip]
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... -
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 ... -
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.
-
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')`... -
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... -
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.
... -
02:21 PM Revision 43a9a974 (git): [Bug #17021] Make host_* values consistent with target_*
-
02:17 PM Revision ece917ba (git): Added rubyspec-capiext target
- This target builds extensions for rubyspec optional C-API tests.
-
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. -
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.
-
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... -
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... -
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 ... -
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... -
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...
-
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:... -
08:29 AM Revision a6db9e8d (git): Remove the unused o_file definition
- It's calculated inside compile_c_to_so again.
-
07:48 AM Revision 8750d001 (git): Fix wrong #ifdef usages with #if
- Apparently #ifdef is always true
-
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... -
07:36 AM Revision d645f18f (git): Minor fixes to NEWS for String subclass method change [ci skip]
-
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... -
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)
| ^~~~~~~~~~~~~ -
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. -
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... -
12:42 AM Revision 4988758e (git): Update NEWS for String subclass method change [ci skip]
-
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...
11/20/2020
-
11:46 PM Revision 4f5d14eb (git): [DOC] Ripper.{lex,tokenize} now always return full tokens. [ci skip]
-
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... -
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.
- 11:27 PM Revision 18599b57 (git): * 2020-11-21 [ci skip]
-
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... -
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 #... -
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...
-
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... -
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... -
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... -
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?
-
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 -
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.
-
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... -
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 ...... -
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... -
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... -
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".
-
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.
... -
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.
-
05:43 PM Bug #17331: Let Fiber#raise work with transferring fibers
- updated description
-
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... -
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... -
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... -
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] -
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
-
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.
-
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... -
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
-
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... -
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 ... -
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... -
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.
-
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. ... -
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-...
-
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... -
09:30 AM Revision 1f7b5578 (git): Update expected IRB result
-
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... -
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.
-
08:21 AM Feature #16786: Light-weight scheduler for improved concurrency.
- I am happy with `Fiber#set_scheduler()`.
Matz.
-
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... -
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.
-
08:18 AM Revision 69d871ee (git): [Feature #17276] Moved raise_errors support to Ripper::Lexer#parse
-
07:35 AM Feature #16043: `$LOAD_PATH.resolve_feature_path` should not raise
- Accepted.
Matz.
-
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... -
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? -
07:04 AM Revision fac2498e (git): [Bug #11213] let defined?(super) call respond_to_missing?
-
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.
-
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/... -
02:47 AM Revision 8cbd5f21 (git): rename
-
02:47 AM Revision c11c25ba (git): fix code
-
02:47 AM Revision d79cdcb1 (git): add flo_prev_or_next func
-
02:44 AM Revision 1800f3fa (git): Ripper.{lex,tokenize} return full tokens even if syntax error
- yet another implements [Feature #17276]
-
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. -
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.
-
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?
- 12:25 AM Revision 80d3f219 (git): * 2020-11-20 [ci skip]
-
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.
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.
-
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... -
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!
-
07:18 PM Feature #17296: Feature: Pathname#chmod use FileUtils.chmod instead of File
- Sounds good to me.
@akr Could you approve? -
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... -
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
-
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... -
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(".") => ["."]`?
... -
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? -
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...
-
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®exp=true&filter[lang][0]=Ruby&filte... -
06:41 AM Revision 44ad72fa (git): Added assertions
-
06:36 AM Revision 9c1e2a99 (git): Update the default gems section in NEWS.md
-
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...
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... -
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
-
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] - 10:11 PM Revision fee00737 (git): * 2020-11-19 [ci skip]
- 10:11 PM Revision ce3c9a34 (git): Fix USE_TRANSIENT_HEAP macro usage in hash.c
- Additionally fix some typos in transient heap.
-
07:02 PM Bug #17321 (Closed): Having a singleton class makes cloning imperfect
- Fixed by commit:ebb96fa8808317ad53a4977bff26cf755d68077e.
-
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... -
01:48 PM Feature #17333: Enumerable#many?
- ITYM `> 1`. 😉
-
01:12 PM Feature #17333: Enumerable#many?
- Pull Request is here:
https://github.com/ruby/ruby/pull/3785 -
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
``` -
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... -
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 ... -
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.
-
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... -
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... -
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... -
07:28 AM Revision dc3a65bd (git): [ruby/net-smtp] Bump version to 0.2.1
- https://github.com/ruby/net-smtp/commit/6e5c09dcc4
-
07:27 AM Revision 6e487719 (git): Update TypeProf to 0.6.1
-
05:26 AM Revision 1301bd8c (git): Update documentation for Ripper.{lex,tokenize,sexp,sexp_raw} [ci skip]
-
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] -
05:15 AM Revision cd0877a9 (git): Support raise_errors keyword for Ripper.{lex,tokenize,sexp,sexp_raw}
- Implements [Feature #17276]
-
01:52 AM Revision a776032e (git): Move the declaration into the function
- instead of 'do not call it directly.' comment.
-
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? -
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...
-
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... -
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)`,... -
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... - 12:05 AM Revision 519062b3 (git): Add Fiddle 1.0.2 to NEWS
- 12:05 AM Revision 0915a020 (git): Update Fiddle's dependencies
- 12:05 AM Revision fcd680fb (git): [ruby/fiddle] Remove needless return
- https://github.com/ruby/fiddle/commit/50e02f9445
- 12:05 AM Revision aa22b665 (git): [ruby/fiddle] Bump version
- https://github.com/ruby/fiddle/commit/74b65cb858
- 12:05 AM Revision 5c7ef89d (git): [ruby/fiddle] test: suppress shadowing outer local variable warning
- https://github.com/ruby/fiddle/commit/cf168680a2
- 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 - 12:05 AM Revision 3b385c33 (git): [ruby/fiddle] Add workaround for ruby head for mingw
- https://github.com/ruby/fiddle/commit/bb227c206d
- 12:05 AM Revision 821cfa74 (git): [ruby/fiddle] Use msys2_mingw_dependencies
- https://github.com/ruby/fiddle/commit/fee175a8ff
- 12:05 AM Revision e2770129 (git): [ruby/fiddle] Use ruby_xcalloc() instead of ruby_xmalloc() and memset()
- https://github.com/ruby/fiddle/commit/6d24fb5438
- 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 - 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 -
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
... - 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 - 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...
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... -
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... -
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... -
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...
-
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... -
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...
-
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... -
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 `&.` -
11:13 PM Revision 64926d50 (git): test/net/smtp - use TCPSocket when UNIXSocket unavailable
- 10:17 PM Revision 2ef3b979 (git): NEWS: Add --backtrace-limit option [ci skip]
-
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. -
08:30 PM Misc #17329 (Closed): Doc for pattern match?
- Ah, I confused both sites. Closing this then.
-
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... -
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? -
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.)
-
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... -
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. -
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 ... - 06:53 PM Revision 0829f147 (git): * 2020-11-18 [ci skip]
-
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... -
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...
-
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...
-
03:45 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
- one more update to alternatives
-
03:40 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
- added more to alternatives
-
03:20 PM Feature #17325: Adds Fiber#cancel, which forces a Fiber to break/return
- Added some other alternatives to the description.
-
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... -
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... -
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...
-
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... -
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. -
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/... -
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',... -
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 ... -
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... -
12:55 PM Feature #17330: Object#non
- It reminded me https://bugs.ruby-lang.org/issues/12075#change-57152.
-
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 ... -
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?
-
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?
-
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... -
12:20 PM Bug #11213: defined?(super) ignores respond_to_missing?
- https://github.com/ruby/ruby/pull/3777
-
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. -
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... -
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 #=> ?
```
-
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`
-
09:05 AM Revision 0683912d (git): Skip tests related TLS with Windows platform.
-
05:17 AM Revision cada6d85 (git): Import net-smtp-0.2.0 from https://github.com/ruby/net-smtp
-
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...
- 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... -
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] -
12:39 AM Revision ef19fb11 (git): Expose the rb_interned_str_* family of functions
- Fixes [Feature #13381]
-
12:08 AM Feature #17328 (Rejected): Extend `un.rb` to be usable by everyone
- You can run it as `ruby run.rb`.