Activity
From 09/01/2020 to 09/07/2020
09/07/2020
-
06:48 PM Bug #17160: Wrong exception backtrace
- I thought there will be some magic and yes, it is confusing, because I'd expect the `rescue` exception to be the rule. Also, if the `WebConsole::Evaluator#eval` was named differently, it would be probably more obvious. Appreciate your e...
-
03:08 PM Bug #17160 (Rejected): Wrong exception backtrace
- It is confusing, but I think there is nothing wrong. There are two points.
The first point is that the location for a method written in C is represented by its caller's location.
This is an example: `Integer#times` is implemented in... -
02:19 PM Bug #17160 (Rejected): Wrong exception backtrace
- Looking at web-console test results [1], there is following error reported:
~~~
WebConsole::EvaluatorTest#test_Evaluator_callers_are_cleaned_up_of_unneeded_backtraces [/home/travis/build/rails/web-console/test/web_console/evaluator_t... -
02:38 PM Bug #17161 (Closed): [BUG] object allocation during garbage collection phase
- Hi, I frequently get this error in development or production, at any time. I cannot find a sequence of actions to reproduce it, it just happens.
I have no knowledge to solve it, but I can help if you have questions.
Thanks a lot!
Fre... -
01:05 PM Bug #17152: Missing TracePoint return event for String#unpack
- This behavior is fixed(alredy backported).
ref: https://bugs.ruby-lang.org/issues/17149
ref: https://github.com/ruby/ruby/commit/3fef159f81fad6ffb9af5b60f4c8ec867fdb2391 -
12:13 PM Revision 27707617 (git): Run a TracePoint test in an insolated process
- to prevent a random failure like
http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287 - 12:07 PM Revision 2b5b9e12 (git): * 2020-09-07 [ci skip]
-
12:06 PM Revision a2f3aaea (git): Fix a random test failure by TracePoint
- A test worker process may already be enabling TracePoint, which results
in changing the insn name in this test.
http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/3022750 -
11:08 AM Revision 2b07b24b (git): Added `rb_random_base_init`
- To enclose the initialization of Random::Base part.
-
11:08 AM Revision 49240112 (git): Added WITH_REAL macros
- Added `WITH_REAL` versions to `RB_RANDOM_INTERFACE` macros. Also
these macros including "without real" versions no longer contain
the terminator (semicolon and comma). -
11:08 AM Revision d6ec0ef5 (git): Added `get_real` interface
-
11:08 AM Revision c449b9b0 (git): Added rb_int_pair_to_real
-
11:08 AM Revision af5e87ab (git): separate rb_random_t
- * random.c: separate abstract rb_random_t and rb_random_mt_t for
Mersenne Twister implementation.
* include/ruby/random.h: the interface for extensions of Random
class.
* DLL imported symbol reference is not constant on Windows.
*... -
11:08 AM Revision f4d52739 (git): Random::Base
- * random.c (InitVM_Random): introduce abstract super class
Random::Base. -
10:02 AM Revision 19917d45 (git): .github: try GitHub Container Registry
- It is natural for a CI running on GitHub to use GitHub's facility.
See also https://github.blog/2020-09-01-introducing-github-container-registry/ -
04:36 AM Feature #17159: extend `define_method` for Ractor
- Yes, I mean most of case (2) can be replaced with `eval` and proposed changes.
-
02:39 AM Feature #17159: extend `define_method` for Ractor
- Just a comment. In general,
```ruby
i = 0
define_method("foo#{i}"){ i }
```
and
```ruby
i = 0
eval("def foo#{i} #{i}; end")
```
behave differently. The former returns the current value of `i` in the closure, the latter embed the val... -
01:49 AM Feature #17159 (Open): extend `define_method` for Ractor
- Ractor prohibits use of non-isolated `Proc`s.
Non-isolated example is here:
```ruby
s = "foo"
pr = Proc.new{ p s }
```
This Proc `pr` can not be shared among ractors because outer variable `s` can contain an unshareable objec... -
04:29 AM Feature #17157 (Closed): Remove `ruby -T`
- Applied in changeset commit:git|0dbf6e46fb88a1c8c48ce5f67ac881a77de76526.
----------
[Feature #17157] removed -T command line option - 04:29 AM Revision 17a27060 (git): * 2020-09-07 [ci skip]
-
04:12 AM Feature #17148: stdbuf(1) support
- なるほど、そんなやり方が……。
それだと stdbuf の有無など環境の差異を気にしなくて良さそうですね。 -
01:41 AM Feature #17147: New method to get frozen strings from String objects
- Thank you for the beedbacks! I missed considering about `String#-@` method. It looks worth to try, so I'll evaluate that option on the workload of msgpack-ruby (and Fluentd possibly).
09/06/2020
-
07:29 PM Bug #17158 (Closed): Ractor Segfault when using shell and puts
- Here is my example repo:
https://github.com/schneems/ractor_shell_bug_reproduction
This is the commit of Ruby I'm using:
```shell
$ git log
commit de30450d91a8dda9dd415512ba5a1709704cae12 (HEAD -> master, origin/master, origin... -
03:59 PM Revision 0dbf6e46 (git): [Feature #17157] removed -T command line option
-
03:43 PM Feature #17147: New method to get frozen strings from String objects
- > Not also sure if String#-@ saves the OP’s situation, though
`String#-@` doesn't as it's too late (the string was allocated already). But exposing `rb_fstring()` would, at in some specific use cases it could drastically reduce alloca... -
12:22 PM Bug #17152: Missing TracePoint return event for String#unpack
- Hi, cfis (Charlie Savage) .
you expected `return` like this?
```
47435362097880:112480.769196 line # bug.rb: 5
47435362097880:112480.769280 c-call Integer#times bug.rb: 5
47435362097880:112480.769290 line # bu... -
10:12 AM Feature #17157 (Closed): Remove `ruby -T`
- Warning says that it will be removed in Ruby 3.0.
```
% ruby -T1 -e ''
ruby: warning: ruby -T will be removed in Ruby 3.0
``` - 10:11 AM Revision b22b3f03 (git): Increase timeout for GitHub Actions.
-
10:05 AM Revision c19f8f62 (git): Add `*.md` to doc/.document [ci skip]
-
04:57 AM Revision 369cfabd (git): Make it possible to dump and load an exception object
- A backtrace object in an exception had never supported marshalling
correctly: `Marshal.load(Marshal.dump(exc)).backtrace_locations` dumped
core.
An Exception object has two hidden instance varibles for backtrace data:
one is "bt", which... - 03:37 AM Revision c12b2703 (git): Add `RB_` prefix for size_t to number conversion.
-
02:16 AM Bug #17015: RubyVM::AbstractSyntaxTree.parse has the same result on `proc { |a| }` and `proc { |a,| }`
- ruby_2_7 dd4e51d84e01d9c60458dfe19a0b4d4e05b55140 merged revision(s) ff5e66034006a875125581114cce19d46843b32a.
-
02:16 AM Revision dd4e51d8 (git): merge revision(s) ff5e66034006a875125581114cce19d46843b32a: [Backport #17015]
- Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of
`RubyVM::AbstractSyntaxTree`. -
02:06 AM Bug #17149: Backport 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7
- ruby_2_7 3fef159f81fad6ffb9af5b60f4c8ec867fdb2391 merged revision(s) 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7.
-
02:05 AM Revision 3fef159f (git): merge revision(s) 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7: [Backport #17149]
- Trace :return of builtin methods
using opt_invokebuiltin_delegate_leave insn.
Since Ruby 2.7, :return of methods using builtin have not been traced properly. -
01:59 AM Feature #17156 (Open): Refinements per directory tree
- One of the main use case for refinements is to enable extensions to core classes for a given codebase (app or gem) without impacting the other codebases. Let's call it sandboxed monkey-patching. Note that you usually want this for an ent...
-
01:56 AM Bug #17141: Crash when parsing malformed input
- ruby_2_7 e778de2c82478dda930cfc8d795ed4e0e60ea775 merged revision(s) 11963da9e8e98821860fbb0c0f2adc118860c814.
-
01:43 AM Bug #17141: Crash when parsing malformed input
- I have just found that the similar testcase was added in https://bugs.ruby-lang.org/issues/16603 and backporting git|11963da9e8e98821860fbb0c0f2adc118860c814 fixes this issue.
-
01:30 AM Bug #17141: Crash when parsing malformed input
- Okey, I will add a test for this case into master and backport it to ruby_2_7 with your patch.
Thanks. -
01:55 AM Bug #16603: Passing number or symbol to kwargs splat causes segmentation fualt
- ruby_2_7 e778de2c82478dda930cfc8d795ed4e0e60ea775 merged revision(s) 11963da9e8e98821860fbb0c0f2adc118860c814.
-
01:54 AM Revision e778de2c (git): merge revision(s) 11963da9e8e98821860fbb0c0f2adc118860c814: [Backport #16603] [Backport #17141]
- Check type of empty keyword [Bug #16603]
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> -
12:55 AM Bug #17144: Tempfile.open { ... } does not unlink the file
- Austin Ziegler wrote on mailing list:
> If we don’t change the behaviour, could we at least modify the documentation for `Tempfile.open` to recommend most people use `Tempfile.create`, since I don’t think that I’ve ever used it and reac...
09/05/2020
- 07:58 PM Revision 40c06e6f (git): Fixed some typos in ractor.md (#3522)
-
06:13 PM Bug #17141: Crash when parsing malformed input
- nagachika (Tomoyuki Chikanaga) wrote in #note-2:
> Hi Jeremy,
> ...
The program doesn't crash in master, so I assume the fix isn't needed in master. It's possible there is a better fix for 2.7 that fixes the problem at a higher level ... -
11:11 AM Bug #17141: Crash when parsing malformed input
- Hi Jeremy,
The code around the patch you show is exactly same in master and ruby_2_7 branches.
Isn't the patch necessary for master branch? - 04:59 PM Revision dfefe0e0 (git): * 2020-09-06 [ci skip]
-
04:58 PM Revision 776b3df4 (git): Fix typos [ci skip]
-
02:16 PM Revision 170c7528 (git): common.mk: UNALIGNED_MEMBER_ACCESS needs internal/warnings.h on some platforms
-
02:16 PM Revision dd83d0c5 (git): update-deps: ruby-runner is not a target
-
02:05 PM Feature #17155 (Open): Add a Diggable mixin
- Ruby 2.3 introduced the ```#dig``` method as a general way to access elements in deep structures. Initially it was implemented only for ```Array``` and ```Hash```. In the meanwhile also the classes ```Struct```, ```OpenStruct``` and ```S...
-
01:18 PM Misc #17154: Update Pathname Documentation to Clarify Expected Behavior
- Oh, and I would be happy to submit the necessary patches if this if a feature that will be accepted.
-
02:29 AM Misc #17154 (Assigned): Update Pathname Documentation to Clarify Expected Behavior
- I would like to suggest adding a sentence to the documentation for [Pathname](https://ruby-doc.org/stdlib-2.7.1/libdoc/pathname/rdoc/Pathname.html) to make clear the unusual behavior of `Pathname#+` when an absolute path is included in t...
-
12:30 PM Bug #17150: Dumping/loading an Exception object dumps core
- https://github.com/ruby/ruby/pull/3521
-
11:49 AM Feature #16461: Proc#using
- I think it would be good to get @headius' feedback on this.
I'd also like to take another detailed look (I won't be able before 14 September though). -
11:05 AM Feature #16461: Proc#using
- Disclaimer: I'm a big fan of refinements; they make Ruby more expressive (or chaotic 😉) and allow developers to be more creative.
shugo (Shugo Maeda) wrote in #note-5:
> I admit that the behavior is complex, but DSL users need not
>... -
10:28 AM Bug #16771: Segmentation fault when inspecting a bound method
- Thank you jeremy for your investigation.
I reverted the commit at 2c9dd060ab487a96e391793bd782cef6fd471b83 according to your recommendation. thanks! -
10:26 AM Bug #16771: Segmentation fault when inspecting a bound method
- ruby_2_7 2c9dd060ab487a96e391793bd782cef6fd471b83.
-
10:19 AM Revision 9a1f0240 (git): bump patchlevel to 119
-
10:18 AM Revision 2c9dd060 (git): Revert "Don't display singleton class in Method#inspect unless method defined there"
- [Backport #16771]
This reverts commit 0d24fb774d84d4a99454ce10fd343da00049a588. -
08:34 AM Revision 5c49bb54 (git): Removed useless casts
- 08:21 AM Revision 72757fb5 (git): Fix typo in ractor.md
-
06:31 AM Feature #16786: Light-weight scheduler for improved concurrency.
- Thanks @matz, I'll consider your feedback, and we can make some changes after the next PR is finished.
-
02:54 AM Bug #17149 (Closed): Backport 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7
-
01:51 AM Feature #17153 (Closed): Add Enumerable#compact_map
-
01:09 AM Feature #17153: Add Enumerable#compact_map
- Oops! I didn't notice that. Thank you for letting me know. Please close this.
sawa (Tsuyoshi Sawada) wrote in #note-1:
> Hi Ito-san,
> ...
-
12:41 AM Feature #17153: Add Enumerable#compact_map
- Hi Ito-san,
This is a duplicate of https://bugs.ruby-lang.org/issues/5663 and https://bugs.ruby-lang.org/issues/15323, and has been realized as `Enumerable#filter_map` since Ruby 2.7.0.
```ruby
[1, 2, 3, 4, 5].filter_map { |n| n * 10 i... -
01:41 AM Feature #17151: Support multiple builtin ruby code for implimatation in Ruby & C
- Beacause, if file can be separeted when number of cases implemented by builtin code in future, readability for code will be good.(I think so)
Currently, amount of code does not increase to much, but I thought it would be good to consi... -
01:21 AM Feature #17151: Support multiple builtin ruby code for implimatation in Ruby & C
- Why do they need to be separate files?
-
12:10 AM Feature #17147 (Feedback): New method to get frozen strings from String objects
- Not also sure if String#-@ saves the OP’s situation, though. The method dedups string contents but has nothing to do with GC pressures.
Can you test if String#-@ works?
09/04/2020
-
11:28 PM Feature #17153 (Closed): Add Enumerable#compact_map
- I often write code like this (`map`, then `compact`):
``` ruby
nums = [1, 2, 3, 4, 5]
nums.map { |n| n * 10 if n.even? }.compact
#=> [20, 40]
```
Or like this:
``` ruby
nums.select(&:even?).map { |n| n * 10 }
#=> [20, 40]
... -
07:25 PM Bug #17152 (Closed): Missing TracePoint return event for String#unpack
- A user reported an incorrect call graph for profiled code from ruby prof. See https://github.com/ruby-prof/ruby-prof/issues/279.
After investigation, this is a bug in Ruby 2.7.1 (it works in Ruby 2.6.*, not sure about Ruby 2.7.0).
... -
05:36 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Every method call in Ruby is a message that is sent. That's why `Object#send(name,...)` exists.
Sure, you are sending a message to Ractor, which is a message. But so is sending a packed from a Socket, using any connection, sending a qu... -
04:45 PM Feature #17151 (Open): Support multiple builtin ruby code for implimatation in Ruby & C
- ## Summrary
Support these multiple builtin code in implimatation in Ruby & C.
```ruby
# excerpt of trueclass.rb
class TrueClass
def to_s
Primitive.attr! 'inline'
Primitive.cexpr! 'rb_cTrueClass_to_s'
end
end
`... - 04:41 PM Revision de30450d (git): Fix typos in Ractor README.
-
03:53 PM Bug #17150 (Closed): Dumping/loading an Exception object dumps core
- During debugging a random core dump of Ractor test, I found an Exception object loaded via marshal seems broken even in Ruby 2.7.
```ruby
def foo
raise
end
begin
foo
rescue => e
p e
p s = Marshal.dump(e)
p e = Mar... - 03:42 PM Revision 1c8fe907 (git): * 2020-09-05 [ci skip]
-
03:42 PM Feature #17148: stdbuf(1) support
- バッファリングのモードを直接知る方法ってないですよねぇ。
```diff
diff --git a/io.c b/io.c
index 0d6e2178573..f69aa14934d 100644
--- a/io.c
+++ b/io.c
@@ -8162,6 +8162,35 @@ prep_stdio(FILE *f, int fmode, VALUE klass, const char *path)
return io;
}
... -
09:54 AM Feature #17148 (Open): stdbuf(1) support
- # 概要
Ruby インタープリターを stdbuf(1) による stdout/stderr の出力バッファ制御に対応させたい。
# 背景
UNIX のフィルターコマンドの多くは、標準出力の先が端末かどうかによって出力バッファリングの制御を行っており、パイプを多段に繋げているとリアルタイムな出力が行われず問題になることが多々あります。
コマンドによってはバッファリング制御するオプションを設けることでバッファリングの問題を回避することができますが... -
03:34 PM Revision f943566d (git): break around function definition [ci skip]
-
03:20 PM Bug #17149 (Closed): Backport 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7
- Since Ruby 2.7.x, builtin methods don't trigger return events in Tracepoint. This issue breaks other debuggers which depend heavily on Tracepoint to perform step calculation (aka Byebug - https://github.com/deivid-rodriguez/byebug/issues...
-
01:20 PM Revision 1c78f5d5 (git): Sort links in NEWS.md by URI [ci skip]
-
01:18 PM Revision eb67c603 (git): Added Symbol#name
- https://bugs.ruby-lang.org/issues/16150#change-87446
-
10:43 AM Feature #17147 (Closed): New method to get frozen strings from String objects
- The feature is provided by `-str`.
-
09:11 AM Feature #17147: New method to get frozen strings from String objects
- @tagomoris I've been advocating for exposing the `fstring` family of function exactly for this. We load a lot of data from flat files, and it cost us a lot of memory alloc and then CPU to deduplicate them. And I was planning to submit pa...
-
07:56 AM Feature #17147: New method to get frozen strings from String objects
- Understand the needs. Not sure if what is needed is actually the concept called “frozen” though.
-
07:39 AM Feature #17147: New method to get frozen strings from String objects
- I don't care of the name of that method, but here's some example if the discussion stops without options:
* String#frozen_string
* String#as_frozen_string
* ObjectSpace.get_frozen_string(str) -
07:36 AM Feature #17147 (Feedback): New method to get frozen strings from String objects
- Object deserializer (like JSON, MessagePack) instantiates many String objects (as keys of Hash objects), and many of those are in a set of names. (So the total number of keys is not infinite.)
In such use-case, the object deserializer i... -
08:25 AM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- Ping?
-
07:33 AM Feature #16150: Add a way to request a frozen string from to_s
- I admit `Symbol#name` that returns a frozen string from a symbol. This can be a building block of the proposal.
As a direct solution for this issue, we have to face the naming problem (as always).
Matz.
-
07:29 AM Feature #16650: Ruby 2.6.* and 2.7* no longer compile on latest Mingw64
- Ruby 2.6.5 on gcc 10.2.0 is still broken.
-
07:28 AM Revision d7406ccc (git): Updated dependency
-
06:17 AM Revision d164eef9 (git): Fixed heap-use-after-free on racter
- 05:23 AM Revision fbaab562 (git): lib/ostruct.rb: Revert "To use RuntimeError instead of FrozenError for old ruby versions."
- This reverts commit 4cd1fc8b3559353069860eee90b1b5bade013917.
-
05:18 AM Revision 3b0bcaf2 (git): check multi_ractor mode at main_p
- rb_ractor_main_p() need to access to the ractor pointer in TLS.
However it is slow operation so that we need to skip this check
if it is not multi-ractor mode (!ruby_multi_ractor).
This performance regression is pointed at
https://bugs.... -
03:56 AM Bug #17146: Queue operations are allowed after it is frozen
- It seems "what is freeze mean" discussion.
-
01:52 AM Bug #17146: Queue operations are allowed after it is frozen
- If a Queue cannot push/pop, it is useless. A Queue doesn't have any operations on that would make sense if you cannot push/pop. This makes it different from most freezable objects, where the object is usable read-only in a frozen stat...
-
12:58 AM Bug #17146: Queue operations are allowed after it is frozen
- > I guess old Thread::Queue implemented in Ruby did not have this bug.
`require "thread"; q=Queue.new.freeze; q.push 1` works without error from Ruby 1.6.0.
Surprisingly before 1.6.0 there is no `Queue#freeze`. -
02:55 AM Feature #17145: Ractor-aware `Object#deep_freeze`
- marcandre (Marc-Andre Lafortune) wrote in #note-7:
> I think these objects should stop the propagation. The name `make_shareable_via_ractor_by_deep_freezing_what_is_necessary` would be more accurate but too long 😆 Maybe `ractorable`?
... -
02:46 AM Revision 169b1d1a (git): Initialize loop variables of list_for_each for MS VC
-
01:18 AM Bug #17144: Tempfile.open { ... } does not unlink the file
- Eregon (Benoit Daloze) wrote in #note-9:
> Dan0042 (Daniel DeLorme) wrote in #note-6:
> ...
It is compared to wrong use of Tempfile.open
I understand "perceived consistency" is compared to Tempfile.create.
> And people must be an... -
01:13 AM Feature #16990: Sets: operators compatibility with Array
- mame (Yusuke Endoh) wrote in #note-9:
> I expect that `ary + set` return a Set, not an Array, unless it raises an exception.
> ...
I will use `array | something` if I mean to deduplicate the result, so `array + something` to me is the ... -
12:25 AM Feature #16990: Sets: operators compatibility with Array
- I expect that `ary + set` return a Set, not an Array, unless it raises an exception.
> Otherwise array += set would turn the variable array to a Set and that would be a surprise.
It is a surprise if `ary + set` returns a collection...
09/03/2020
-
11:35 PM Feature #16990: Sets: operators compatibility with Array
- Eregon (Benoit Daloze) wrote in #note-6:
> I don't expect Array "set" operations to magically know about the Set representation.
I would like to expect it 😆
> ...
Yes
> And then that makes the return type inconsistent with `set... -
11:29 PM Feature #16990: Sets: operators compatibility with Array
- knu (Akinori MUSHA) wrote in #note-4:
> We can probably define Set#to_ary if it's OK, and Array#+ will be able to deal with a set. Let us think about the downsides...
While this may be a good thing, and at least make them interopera... -
02:00 PM Feature #16990: Sets: operators compatibility with Array
- Because Array and Set are fundamentally different, I think ensuring both operands have the same type, explicitly or internally, is completely reasonable.
I don't expect Array "set" operations to magically know about the Set representati... -
08:50 AM Feature #16990: Sets: operators compatibility with Array
- As for the result type, I think Array operators should return arrays. Otherwise `array += set` would turn the variable `array` to a Set and that would be a surprise.
-
08:47 AM Feature #16990: Sets: operators compatibility with Array
- We can probably define Set#to_ary if it's OK, and Array#+ will be able to deal with a set. Let us think about the downsides...
-
12:09 AM Feature #16990: Sets: operators compatibility with Array
- Eregon (Benoit Daloze) wrote in #note-2:
> Isn't `[1].to_set + Set[2]` a good workaround here?
Did you mean only for `+`, or for all operators? Take `-` for example... `ary.to_set - set` the `to_set` is wasteful, and I don't want to ... -
11:09 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- ko1 (Koichi Sasada) wrote in #note-28:
Thanks for all your replies!
> ```ruby
> ...
Surprising to me, I think unintended, I filed #17146.
> I believe `Ractor#send` is best name because it sends an message.
"Sending a message... -
08:26 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- marcandre (Marc-Andre Lafortune) wrote in #note-24:
> I find `Ractor` very promising 🎉
Thanks, I hope so.
> ...
I introduced `shareable` flag into objects (`FL_SHAREABLE` in C level).
Once the interpreter found it is immutable, this fl... -
08:18 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Eregon (Benoit Daloze) wrote in #note-23:
> Here is a problematic case on `master` sharing mutable state via `define_method`:
Exactly. `define_method` is also the big issue...
The Proc object referred from defined method is not isolated... -
08:14 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- I don't care about the name `recv` and `receive`.
Eregon (Benoit Daloze) wrote in #note-19:
> @ko1, @matz Which one(s) do you like in this list?
I believe `Ractor#send` is best name because it sends an message.
It is conflicts wi... -
08:04 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- > I feel Ractor#send mutates the Ractor's state and frozen Ractor shouldn't accept any messages.
However, I don't against to freeze Ractors.
```ruby
q = Queue.new
q.freeze
q << 1
```
is working (I'm not sure it is intentional)... -
08:01 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Eregon (Benoit Daloze) wrote in #note-18:
> @ko1 Can you review these potential performance overheads of adding Ractors? (and so potential regressions for code not using Ractors)
> ...
Yes. I didn't think it is huge cost.
BUT
`... -
07:46 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Sorry I missed your question.
Eregon (Benoit Daloze) wrote in #note-8:
> Instance variables on modules should probably be consistent with constants.
> ...
I think we can expect "Constants" are defined at once at the beginning of cod... -
06:50 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- I find `Ractor` very promising 🎉
The impact is severily limited without support for user-based immutable types. Is that planned for 3.0?
I'm curious what is the technical difficulty. I mean, can't existing builtin `freeze` check fo... -
02:43 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- @mame Regarding OptCarrot, I think having `deep_freeze` would be a great help.
But I wonder, maybe `Object.deep_freeze` would work to freeze all constants very succintly?
Some constants expect to be mutable, so I guess it doesn't work ... -
02:32 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- joanbm (Joan Blackmoore) wrote in #note-20:
I'll disregard your offensive comment, I tried to summarize the poll as good as I can.
This is my interpretation of the poll, and everyone can interpret as they want.
Of course it's a poll... -
12:11 PM Feature #17100 (Closed): Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- Applied in changeset commit:git|79df14c04b452411b9d17e26a398e491bca1a811.
----------
Introduce Ractor mechanism for parallel execution
This commit introduces Ractor mechanism to run Ruby program in
parallel. See doc/ractor.md for more ... -
10:53 PM Bug #17146 (Closed): Queue operations are allowed after it is frozen
- ```
[1] pry(main)> q = Queue.new
=> #<Thread::Queue:0x000056263683aee8>
[2] pry(main)> q.freeze
=> #<Thread::Queue:0x000056263683aee8>
[3] pry(main)> q << 1
=> #<Thread::Queue:0x000056263683aee8>
[4] pry(main)> q.pop
=> 1
[5] pr... -
09:44 PM Feature #16989: Sets: need ♥️
- matz (Yukihiro Matsumoto) wrote in #note-17:
> I agree with some of your proposals (#16990, #16991, #16993, #16995). I want @knu to work on this. If I missed something, he will tell us.
Thank you for reviewing these :-)
> ...
Righ... -
09:44 PM Feature #16989: Sets: need ♥️
- knu (Akinori MUSHA) wrote in #note-18:
> OK, I think it's good for us now to diverge from the original philosophy of Set when I first wrote it and pursue the performance and integrity with other parts of Ruby. There are many parts in S... -
07:48 AM Feature #16989: Sets: need ♥️
- OK, I think it's good for us now to diverge from the original philosophy of Set when I first wrote it and pursue the performance and integrity with other parts of Ruby. There are many parts in Set where I avoided optimization in order t...
-
01:14 AM Feature #16989: Sets: need ♥️
- I agree with some of your proposals (#16990, #16991, #16993, #16995). I want @knu to work on this. If I missed something, he will tell us.
I strongly disagree with #16994. There's no evidence we need frozen sets of strings or symbols ... -
09:41 PM Revision d4585e74 (git): Avoid potential for rb_raise() while crashing
- rb_obj_raw_info is called while printing out crash messages and
sometimes called during garbage collection. Calling rb_raise() in these
situations is undesirable because it can start executing ensure blocks. -
08:44 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- > I think these objects should stop the propagation. The name make_shareable_via_ractor_by_deep_freezing_what_is_necessary would be more accurate but too long 😆
> ...
For Ractor, it is very clear. Another candidate is `to_shareable`?
... -
07:39 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- ko1 (Koichi Sasada) wrote in #note-4:
> One concern about the name "freeze" is, what happens on shareable objects on Ractors.
> ...
I think these objects should stop the propagation. The name `make_shareable_via_ractor_by_deep_freezing_w... -
07:34 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- Eregon (Benoit Daloze) wrote in #note-3:
> A dynamic call to `freeze` causes extra calls
Yes
> ...
That won't add any noticeable overhead
> Is there a compelling reason to call a user-defined `freeze` for every value?
Yes. S... -
07:27 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- Maybe we should have a method that ensure an object graph is shareable?
Not sure what a good name for that would be (shareable is hard to spell).
So that would noop for special shareable objects like you say, and freeze the rest.
Note... -
07:20 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- One concern about the name "freeze" is, what happens on shareable objects on Ractors.
For example, Ractor objects are shareable and they don't need to freeze to send beyond Ractor boundary.
I also want to introduce Mutable but sharea... -
07:06 PM Feature #17145: Ractor-aware `Object#deep_freeze`
- A dynamic call to `freeze` causes extra calls, and needs checks that it was indeed frozen.
So for efficiency I think it would be better to mark as frozen internally without a call to `freeze` on every value.
Also a leaf `freeze` call... -
06:42 PM Feature #17145 (Rejected): Ractor-aware `Object#deep_freeze`
- I'd like to propose `Object#deep_freeze`:
Freezes recursively the contents of the receiver (by calling `deep_freeze`) and
then the receiver itself (by calling `freeze`).
Values that are shareable via `Ractor` (e.g. classes) are neve... -
07:29 PM Misc #17138: DevelopersMeeting20200925Japan
- * [Feature #17143] Improve support for warning categories (jeremyevans0)
* Warning.warn :category keyword support was approved last developer meeting.
* I would like to add Kernel#warn :category keyword for Ruby-level warnings, and... -
09:24 AM Misc #17138: DevelopersMeeting20200925Japan
- * [Bug #17144] Tempfile.open { ... } does not unlink the file (eregon)
* OK to keep the change and make Tempfile.open(&block) finally intuitive? Some usages might need updating but it seems very few.
* `SomeClass.open { ... }` shou... - 07:09 PM Revision e0a749c0 (git): * 2020-09-04 [ci skip]
-
07:07 PM Revision 3f922f3b (git): don't use toplevel return
- Toplevel return is supported after Ruby 2.4, so don't use it
for older BASERUBY. -
06:56 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- Dan0042 (Daniel DeLorme) wrote in #note-6:
> -1 for breaking compatibility with no deprecation, just for the sake of perceived consistency.
Not "the sake of perceived consistency".
It's leaking a resource (a file on the disk) outsid... -
03:46 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- > `Tempfile.open{ }` returns nil
I apologize for this brain fart. `Tempfile.open{ }` returns the result of the block. So it's entirely likely that someone would use
`tmp = Tempfile.open{ |f| f.write(data); f }`
instead of
`tmp = Tempf... -
03:15 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- If we could allow incompatible changes of Tempfile in 3.0 or later, it is a good chance to reimplement it as a subclass of File without delegate.rb.
#7148 -
03:14 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- -1 for breaking compatibility with no deprecation, just for the sake of perceived consistency.
But then again it's important to note that `Tempfile.open{ }` returns nil, so the only way to cause an incompatibility is if the blocks "le... -
01:44 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- It seems hard to deprecate here without changing behavior. Any idea?
OTOH, when an usage relied on the file to still exist it should be quite clear what happens (the file will not be there, so an exception).
It took me seconds to find ... -
01:15 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- One idea: creating tmpfile library and
Tmpfile.open calls Tempfile.create.
This also resolves an inconsistency between tempfile.rb and tmpdir.rb.
For this consistency, File.tmpfile may be better than Tmpfile.open
because it is simi... -
12:58 PM Bug #17144: Tempfile.open { ... } does not unlink the file
- I sympathize with this issue.
I wish Tempfile.open had worked like Tempfile.create from the beginning.
But changing it is incompatible.
It is not our (current) practice that introducing an incompatible change without prior notice.
... -
09:32 AM Bug #17144: Tempfile.open { ... } does not unlink the file
- Out of these 2 usages that relied on the file to still exist, 1 was incorrect:
https://github.com/ruby/ruby/blob/e8c3872555fc85640505974e6b1c39d315572689/lib/reline/line_editor.rb#L2085-L2087
The GC can trigger anywhere between these 3 l... -
09:21 AM Bug #17144 (Closed): Tempfile.open { ... } does not unlink the file
- ```
ruby -rtempfile -e 'Tempfile.open("txt") { |f| $path = f.path }; p File.exist?($path)'
true
```
but it should be `false`.
This means even after the block finishes to execute the file still exists on a disk
And this might or n... -
04:37 PM Feature #17140: Merge Enumerable#grep(_v) with Enumerable#select/reject
- I imagine that `Set['and', 'the', 'of']` was meant.
-
07:01 AM Feature #17140: Merge Enumerable#grep(_v) with Enumerable#select/reject
- I guess I understand the first example. Just to make sure:
```
[-3, 4, 0, 8.5, 20, 5].select(1..10) #=> [4, 8.5, 5]
```
But for the second example, I don't understand `{ 'and', 'the', 'of' }`. Is that supposed to be an array, or ... -
02:57 PM Feature #17016: Enumerable#accumulate
- Dan0042 (Daniel DeLorme) wrote in #note-33:
> ... what about `#cumulative` ?
Oh that's interesting! I had leapt straight to verbs since that tends to be the pattern for methods that transform enumerables, but the examples of `[1,2,3... -
02:26 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- ko1 (Koichi Sasada) wrote in #note-21:
> I found that freezing interpolated strings are help for Ractor programming with constants.
Right, anything deeply frozen is helpful for Ractor.
But interpolated Strings are probably not that comm... -
12:29 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- I found that freezing interpolated strings are help for Ractor programming with constants.
```ruby
class C
i = 10
STR = "foo#{i}"
end
```
-
02:08 PM Feature #16992: Sets: officially ordered
- +1 from me. Hash if officially ordered.
Making Set unordered would likely break many things.
In practice I would think many Set usages already assume it ordered.
Similar to what I said in https://bugs.ruby-lang.org/issues/15281#note-9... -
02:03 PM Feature #16994: Sets: shorthand for frozen sets of symbols / strings
- Dan0042 (Daniel DeLorme) wrote in #note-3:
> I just thought of something...
> ...
That already works on TruffleRuby (and for more than this specific case), it needs a JIT, inlining (also through builtins like #include?) and escape anal... -
03:03 AM Feature #16994: Sets: shorthand for frozen sets of symbols / strings
- I just thought of something...
In the same way that `"str".freeze` is optimized to be deduplicated, `%w[a b].include?(obj)` could be optimized so it becomes equivalent to `obj == -"a" || obj == -"b"`, or something around those lines. Th... -
12:11 PM Revision b52513e2 (git): skip Ractor tests on Compiler tests
- This implementation has memory corruption errors so and
it causes BUG on rare occasions. This commit skips
suspect tests on Github actions Compiler tests. -
12:11 PM Revision 79df14c0 (git): Introduce Ractor mechanism for parallel execution
- This commit introduces Ractor mechanism to run Ruby program in
parallel. See doc/ractor.md for more details about Ractor.
See ticket [Feature #17100] to see the implementation details
and discussions.
[Feature #17100]
This commit does ... -
09:51 AM Revision eeb5325d (git): Hoisted out warn_deprecated
-
08:54 AM Revision 705b908f (git): Fix a typo [ci skip]
-
07:49 AM Revision 7b9ef667 (git): Don't call to_s in const_set
- Follow up for 5e16857315bf55307c5fc887ca6f03bfa0630a93. Calling a method
in the middle of const_set adds a way that it would fail. It also makes
it inconsistent with declaring a constant using `::`, which doesn't call
`to_s`. -
06:14 AM Revision 50b18e81 (git): configure: detect that there is no g++
- AC_PROG_CXX checks for several C++ compilers INCLUDING g++. When none
of them were found it sets the CXX variable to be g++. This doesn't
make any sense. Absense of g++ has already been made sure.
Because we don't want insanity (that... -
03:30 AM Feature #17122 (Closed): Add category to Warning#warn
- https://github.com/ruby/ruby/pull/3505 has been merged. Thank you Eileen!
-
03:06 AM Feature #16786: Light-weight scheduler for improved concurrency.
- Since this thread became long and complex, it was hard for me to grasp the latest proposal. Correct me if I missed something.
# How to create `async I/O fiber`
I tentatively call fibers with context switching on I/O operations `asy... -
01:32 AM Feature #16986: Anonymous Struct literal
- One more point: I haven't seen much examples of similar features in other languages. The only suggestion I saw was that of a similarity to Python tuples. But tuples are much closer to Arrays than to Structs or hashes. The easiest descrip...
-
12:04 AM Feature #17143 (Open): Improve support for warning categories
- Support was recently added for Warning.warn to accept a `category` keyword. However, the initial implementation was limited to having `rb_warn_deprecated` and `rb_warn_deprecated_to_remove` use the `:deprecated` value for the `category`...
09/02/2020
-
11:45 PM Revision 3fb25562 (git): add lldb functions for getting the heap page / heap page body
-
11:45 PM Revision 933035d3 (git): support T_MATCH in lldb
-
09:54 PM Revision 0b81a484 (git): Initialize new T_OBJECT as ROBJECT_EMBED
- Previously, when an object is first initialized, ROBJECT_EMBED isn't
set. This means that for brand new objects, ROBJECT_NUMIV(obj) is 0 and
ROBJECT_IV_INDEX_TBL(obj) is NULL.
Previously, this combination meant that the inline cache wou... -
09:15 PM Feature #16989: Sets: need ♥️
- Eregon (Benoit Daloze) wrote in #note-14:
> Also, does moving Set to core mean rewriting it to C?
> ...
I'm not sure, but `Set` is quite small, most of the processing uses `Hash`...
> Only moving Set but not SortedSet in core would ... -
09:01 PM Feature #16989: Sets: need ♥️
- Dan0042 (Daniel DeLorme) wrote in #note-13:
> I don't get that part. If you have a literal like `{ x, y, z }` then x/y/z can be any type of object. There's no restriction. But I agree `Set[]` is short and good enough.
Right, I was th... -
09:00 PM Feature #16989: Sets: need ♥️
- Also, does moving Set to core mean rewriting it to C?
I think that would be suboptimal, because every implementation would have to maintain its own native implementation then (or reuse the C extension).
It would also hurt readability.
... -
02:45 PM Feature #16989: Sets: need ♥️
- > which would anyway restrict the type of keys
I don't get that part. If you have a literal like `{ x, y, z }` then x/y/z can be any type of object. There's no restriction. But I agree `Set[]` is short and good enough. -
01:44 PM Feature #16989: Sets: need ♥️
- Eregon (Benoit Daloze) wrote in #note-11:
> IMHO there is no need for a literal Set notation (which would anyway restrict the type of keys, etc).
I agree. `Set[...]` works very well already for constructing sets at runtime out of any... -
09:52 AM Feature #16989: Sets: need ♥️
- IMHO there is no need for a literal Set notation (which would anyway restrict the type of keys, etc).
> Some of the upcoming feature requests would be easier (or only possible) to implement were Sets builtin.
@marcandre Which featu... -
08:59 PM Feature #16990: Sets: operators compatibility with Array
- Isn't `[1].to_set + Set[2]` a good workaround here?
-
08:46 PM Bug #9815: attr_reader doesn't warn on a uninitialized instance variable
- What was the rationale here to have different behavior?
Which C function is used by `attr_reader` seems an implementation detail. -
08:33 PM Feature #15628: init_inetsock_internal should fallback to IPv4 if IPv6 is unreachable
- Hi!
Any feedback about this? We're considering implementing "Happy Eyeballs" in rubygems by monkeypatching `TCPSocket.new`, in order to fix longstanding issues with `gem install` timing out on ipv6-capable clients. But it would feel m... -
07:44 PM Revision eada6350 (git): Add category to `rb_warn_deprecated`
- PR https://github.com/ruby/ruby/pull/3418 added a category to
`rb_warn_deprecated_to_remove` but not to `rb_warn_deprecated`. This
adds the same code to `rb_warn_deprecated` so that those warnings also
get a category.
This change also a... -
07:33 PM Bug #14437 (Closed): Integer == doesn't work with coerce since 2.4 (and != since 1.9). Should it?
- taw (Tomasz Wegrzanowski) wrote in #note-2:
> Looking at the code fix_equal(x,y) when y was of non-core class used to call num_equal,(x,y) which then did reverse call for y==x,
> ...
The `Integer#==` method is documented to only return... -
07:21 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
- @Eregon (Benoit Daloze) https://bugs.ruby-lang.org/issues/17100#note-19
> Re naming of receiving a message, here is the poll I made:
> ...
Can you just cease your manipulative behaviour, based on faulty generalization resoning in this ... -
07:02 PM Revision 54fb8fb6 (git): Comply with guide for method doc: array.c (#3506)
- Methods:
any?
all?
one?
none?
sum
shuffle!
shuffle
sample -
05:45 PM Bug #17139 (Closed): [doc] StringScanner#matched_size seems to be byte-oriented but that is not documented
- Applied in changeset commit:git|d9b8411a7be4c9e300b75bc374f29e6965ab3040.
----------
Document that StringScanner#matched_size returns size in bytes [ci skip]
Fixes [Bug #17139] -
05:41 PM Revision d9b8411a (git): Document that StringScanner#matched_size returns size in bytes [ci skip]
- Fixes [Bug #17139]
-
05:38 PM Bug #15417 (Closed): Pathname case insensitive comparison
- Applied in changeset commit:git|cc5b7ed1dccc6a5cffa5c52778c6db8794722404.
----------
Document limitation of Pathname#relative_path_from [ci skip]
This method is explicitly documented to not access the filesystem,
and the only way to ge... -
05:32 PM Bug #15417: Pathname case insensitive comparison
- I don't think this is fixable. SAME_PATHS is only used in `relative_path_from`, which is explicitly documented to not access the filesystem. I'll update the documentation for `relative_path_from` to explain the issue.
- 05:38 PM Revision 0938bad0 (git): * 2020-09-03 [ci skip]
-
05:34 PM Revision cc5b7ed1 (git): Document limitation of Pathname#relative_path_from [ci skip]
- This method is explicitly documented to not access the filesystem,
and the only way to get the correct behavior for a case where the
filesystem's case sensitivity differs from the operating system
default would be to access the filesyste... -
05:21 PM Feature #16986: Anonymous Struct literal
- I'm also unconvinced of a good use case and why creating a `MyResult = Struct.new(:some_value, :name)` is really something that should be "saved".
-
12:17 PM Feature #16986: Anonymous Struct literal
- mame (Yusuke Endoh) wrote in #note-38:
> So, external input like JSON data is not the target of this proposal. Rather, this proposal is just a variant of Struct, which allows to omit the definition line: `Foo = Struct.new(...)`.
I... -
05:03 PM Misc #17137: Cooperation on maintaining official docker ruby images
- I _believe_ official images also want to be minimal and they are not explicitly designed for Rails. So in my opinion, many of the patches you have made to make your images thinner would probably be accepted upstream and benefit a larger ...
-
02:24 PM Misc #17137: Cooperation on maintaining official docker ruby images
- There were three reasons why I started rubylang/ruby as separated from Docker's official ruby.
The first reason is that my personal reason. I needed a simplest pure ruby image. This image should be in the state after `make install` ... -
03:35 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- Eregon (Benoit Daloze) wrote in #note-22:
> FWIW I noticed that using `attr_reader` does not warn if the @ivar is not set:
> ...
I don't want to define private methods for all of the instance variables in use just to work around verbos... -
02:57 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- FWIW I noticed that using `attr_reader` does not warn if the @ivar is not set:
```
$ ruby -w -e 'class T; def foo; @foo; end; end; t=T.new; p t.foo'
-e:1: warning: instance variable @foo not initialized
nil
$ ruby -w -e 'class T; attr_r... -
02:18 PM Feature #15236: add support for hash shorthand
- For all interested in this feature, I've added support for it in the latest Ruby Next (Ruby transpiler) release (https://github.com/ruby-next/ruby-next/releases/tag/v0.10.0), so it should be easier to give it a try and share opinions.
-
02:15 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- https://github.com/nobu/ruby/tree/unfrozen-literal
-
02:05 PM Bug #17142 (Open): Ruby fails to build in AIX
- Ruby fails to build in AIX in 64bit mode.
This commit https://github.com/ruby/ruby/commit/f47c38245ff6976c5d1fc27a79f239bba00fc333 essentially broke the 64bit build.
The asm code is not applicable for AIX it seems. Probably we need... -
01:40 PM Feature #17122: Add category to Warning#warn
- PR for `rb_warn_deprecated` opened here: https://github.com/ruby/ruby/pull/3505
-
12:17 PM Feature #17122: Add category to Warning#warn
- > Could you add the same logic not only to rb_warn_deprecated_to_remove but also to rb_warn_deprecated? Thanks.
Yup, I will send a PR! -
06:36 AM Feature #17122 (Assigned): Add category to Warning#warn
- Hi @eileencodes
mame (Yusuke Endoh) wrote in #note-8:
> In addition: your PR changed only `rb_warn_deprecated_to_remove` but not `rb_warn_deprecated`. Is there any reason?
Could you add the same logic not only to `rb_warn_depreca... -
12:16 AM Feature #17122 (Closed): Add category to Warning#warn
- Merged at https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/6e8ec9ab6da228ade70fe7d0dd16540d8f859f00
-
06:14 AM Misc #17050 (Closed): profiler gem
- Okay, I look forward to your profiler.
-
04:30 AM Revision 93b78abd (git): new_dstr: hoisted out from literal_concat and evstr2dstr
-
04:30 AM Revision 63213304 (git): Removed trailing spaces [ci skip]
-
04:05 AM Bug #14895 (Closed): Inconsistent constant names when using const_set on a singleton class - Applied in changeset commit:git|5e16857315bf55307c5fc887ca6f03bfa0630a93.
----------
Fix constant names set using const_set on a singleton class
Fixes [Bug #14895] - 04:05 AM Revision 5e168573 (git): Fix constant names set using const_set on a singleton class
- Fixes [Bug #14895]
-
02:03 AM Revision 11922b5e (git): Fix error message for wb unprotected objects count
- This error is about wb unprotected objects, not old objects.
-
02:02 AM Revision 4c3f0597 (git): Remove the pc argument of vm_trace()
- This makes the binary 272 bytes smaller on -O3 GCC 10.2.0.
-
01:22 AM Bug #17141 (Closed): Crash when parsing malformed input
- I can confirm this crash in Ruby 2.7.1, 2.7.0, and the ruby_2_7 branch. It is not present in master.
Here's the backtrace on ruby_2_7 branch:
```
0x00000a3c357f2d7c in CALLER_REMOVE_EMPTY_KW_SPLAT (cfp=0xa3ba636ef90, calling=0x7f... - 01:02 AM Revision 94b54b03 (git): Reapply "Special case Range#max for integer beginning and Float::Infinity end" (tests)
- Reverted in e080a4cdee
-
12:56 AM Misc #17138: DevelopersMeeting20200925Japan
- * [Feature #16994] Shorthand syntax for static frozen sets of string/symbols (e.g. `%ws{hello world}`) (marcandre)
* Rest of my "Set program", especially: insure interoperability with `Array` (e.g so `array & set` works and is efficient) -
12:40 AM Feature #11927: Return value for `Module#include` and `Module#prepend`
- It would help to:
1) have an example of use case
2) discuss why `B.include M unless B < M` is not equivalent / sufficient
09/01/2020
-
11:16 PM Revision 6e8ec9ab (git): Support passing a category to `Warning.warn`
- This change adds a `category` kwarg to make it easier to monkey patch
`Warning.warn`. Warnings already have a category, but that warning isn't
exposed. This implements a way to get the category so that warnings with
a specific category, ... -
09:07 PM Bug #16787: [patch] allow Dir.home to work for non-login procs when $HOME not set
- Just noting that I rebased (and re-tested) the Ruby 2.7 backport PR ([PR 3293](https://github.com/ruby/ruby/pull/3293)) on top of the latest changes in the 'ruby-2_7' branch. The rebasing did not result in any material changes to the 2.7...
-
08:10 PM Bug #17141 (Closed): Crash when parsing malformed input
- Calling "ruby crash_small.rb" crashes ruby - see attached crash log
-
07:52 PM Feature #17140 (Open): Merge Enumerable#grep(_v) with Enumerable#select/reject
- In recent versions of Ruby we've gotten new behavior of some Enumerable methods like any?, all?, none?, one?, and others to support a single argument pattern that responds to `===`. This is very powerful, and very useful.
Currently En... -
07:35 PM Feature #17122: Add category to Warning#warn
- I've addressed the backwards compatibility on the PR (https://github.com/ruby/ruby/pull/3418) and added an entry to NEWS.md. Let me know if there are other changes <3
-
06:18 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- mame (Yusuke Endoh) wrote in #note-18:
> I found `"foo#{ "foo" }"` frozen because it is optimized to `"foofoo"` at the parser. What do you think?
I guess that's semantically correct (besides the frozen status), since interpolation d... -
03:39 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
- Eregon (Benoit Daloze) wrote in #note-17:
> I'll try to make a PR for this change: https://github.com/ruby/ruby/pull/3488
Thanks, I've given it a try.
I found `"foo#{ "foo" }"` frozen because it is optimized to `"foofoo"` at the p... -
05:53 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- I reverted the changes in this pull request, and updated the Range#max documentation to explain the behavior (commit:de10a1f3583adeeffd7f8bcf8f276e0a626ffa0c).
-
02:49 PM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- matz (Yukihiro Matsumoto) wrote in #note-24:
> `Range` class methods are classified in two. The ones that behave like `Enumerable` methods (defined by `#each`), and the others that behave like region (defined by the both ends).
> ...
O... -
05:13 AM Bug #17017: Range#max & Range#minmax incorrectly use Float end as max
- `Range` class methods are classified in two. The ones that behave like `Enumerable` methods (defined by `#each`), and the others that behave like region (defined by the both ends).
I think `#min` and `#max` should belong to the latter. ... -
05:52 PM Revision de10a1f3 (git): Update documentation for Range#max
-
05:52 PM Revision 4db4faef (git): Revert "Fix Range#{max,minmax} for range with integer beginning and non-integer end"
- This reverts commit 8900a25581822759daca528d46a75e0b743fc22e.
-
05:52 PM Revision e080a4cd (git): Revert "Special case Range#max for integer beginning and Float::Infinity end"
- This reverts commit 05bf811c2839628aaef3d565daedb28be80d47ef.
-
05:49 PM Revision 94430d00 (git): Comply with guide for method doc: array.c (#3499)
- Methods considered:
count
flatten!
flatten
cycle
permutation
combination
repeated_permutation
repeated_combination
product
take
take_while
drop
drop_while - 04:46 PM Revision 9d4c5147 (git): * 2020-09-02 [ci skip]
-
04:41 PM Revision 41cf17be (git): Fixed argument types
-
04:41 PM Revision f6822e4e (git): Format with proper conversion specifiers instead of casts
-
04:31 PM Bug #17139 (Closed): [doc] StringScanner#matched_size seems to be byte-oriented but that is not documented
- StringScanner#matched_size seems to be byte oriented. But that is not documented. Better be documented to avoid confusion.
[1] pry(main)> ss = StringScanner.new([1024].pack("U*"))
[3] pry(main)> ss.skip_until(/./)
[4] pry(main)> ss.... -
03:56 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
- At the last dev meeting, @matz said he did not like the callback API, and decided to postpone discussion on this.
-
03:48 PM Misc #17138 (Closed): DevelopersMeeting20200925Japan
- # The next dev meeting
**Date: 2020/09/25 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20200925Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
03:47 PM Misc #17041 (Closed): DevelopersMeeting20200831Japan
-
03:01 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- Fixed dangling participle.
-
02:20 PM Bug #14895: Inconsistent constant names when using const_set on a singleton class
- marcandre (Marc-Andre Lafortune) wrote in #note-7:
> So I suggest I'll commit your patch, unless there's an objection.
I have no objection, so if you consider the current behavior a bug, please commit the patch (assuming it doesn't c... -
04:50 AM Bug #14895 (Open): Inconsistent constant names when using const_set on a singleton class
- jeremyevans0 (Jeremy Evans) wrote in #note-6:
> Output:
> ...
... and it shows the name 'A' and 'C'. That's much better!
> If you like that idea, please submit a feature request for it (or switch this to a feature request and reope... -
02:16 PM Bug #15178 (Closed): Wrong paramaters passing to pthread_setname_np(3)
- Applied in changeset commit:git|be9dbe1c3eb4bb4cab0bdc42a91ef425bb1eaddd.
----------
Fix pthread_setname_np arguments on NetBSD
The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order in... -
02:16 PM Revision be9dbe1c (git): Fix pthread_setname_np arguments on NetBSD
- The previous attempt to fix this in
b87df1bf243074edb2e6cc8a24bc00df81cebf3c reversed the argument
order instead of just fixing the quote escaping.
From Takahiro Kambe.
Fixes [Bug #15178] -
12:18 PM Revision 6b432009 (git): Fix syncing bundler man pages
- `rm_rf` does not support globbing, so not all files get deleted.
-
10:03 AM Revision 8d1de315 (git): Use RSTRING_LENINT for overflow check
-
10:01 AM Revision 21ad4075 (git): Don't read past the end of the Ruby string
- Ruby strings don't always have a null terminator, so we can't use
it as a regular C string. By reading only the first len bytes of
the Ruby string, we won't read past the end of the Ruby string. -
08:06 AM Feature #15752 (Closed): A dedicated module for experimental features
- As far as I understand, you want a place to separate features that do not only belong to `CRuby`, right?
But for example, we started `RubyVM::AbstractSyntaxTree` as a `CRuby` specific feature, it was natural for us to place it under `Ru... -
05:42 AM Revision fbf79f1c (git): Use the previous winflexbison3
- winflexbison3 v2.5.23.20200829 seems to install nothing.
-
04:23 AM Bug #15417: Pathname case insensitive comparison
- The arguments are path components but not paths, can't stat.
-
02:21 AM Revision cceba235 (git): minitest is working fine with Ruby 3
-
02:21 AM Revision e00eba1c (git): xmlrpc has been removed from the bundled gems
-
02:21 AM Revision a3d90f1b (git): bump version to minitest-5.14.2
-
02:21 AM Revision 37715937 (git): Revert the workaround of minitest and hoe
- 86737c509cd49cfe4509a65d300d390da0f07be6
3e1aea461320094e634ab32ca0b13dd43b69d8b0 -
02:05 AM Revision b01d852c (git): congigure.ac: favour gcc on Linux
- Requested by Naruse.