Activity
From 12/17/2020 to 12/23/2020
12/23/2020
-
11:56 PM Bug #17466: Inconsistent backtrace order in Ruby 3.0
- The order of the backtrace was reverse for 2.7 and switched back for 3.0, see #8661
Indeed, `irb` probably needs to be updated to reflect that.
-
11:47 PM Bug #17466: Inconsistent backtrace order in Ruby 3.0
- > I'd like to have the same order because such an inconsistent results would confuse developers (especially beginners).
Please let me add more information.
I am the author of a book called "プロを目指す人のためのRuby入門"( https://gihyo.jp/boo... -
08:48 PM Bug #17466 (Closed): Inconsistent backtrace order in Ruby 3.0
- I found the backtrace order is different between `ruby sample.rb` and irb in Ruby 3.0.
```ruby
# sample.rb
puts RUBY_DESCRIPTION
class A
def hoge
fuga
end
def fuga
1/0
end
end
A.new.hoge
```
```
$ rub... -
10:39 PM Bug #17430: CSV: NoMethodError when the write_nil_value or write_empty_value options are used
- kou (Kouhei Sutou) wrote in #note-1:
> It has been fixed in the latest csv gem.
> ...
Thank you! -
09:23 AM Bug #17430 (Closed): CSV: NoMethodError when the write_nil_value or write_empty_value options are used
- It has been fixed in the latest csv gem.
You can use update your csv by `gem install csv`. -
06:43 AM Bug #17430 (Closed): CSV: NoMethodError when the write_nil_value or write_empty_value options are used
- CSV.generate_line throws an exception when I specify `write_nil_value` or `write_nil_value`.
```
> CSV.generate_line [1,nil,3]
=> "1,,3\n"
> ...
Traceback (most recent call last):
12: from /usr/bin/irb:23:in `<main>'
... -
08:56 PM Revision ae26d5bd (git): doc/fiber.md: fix typos
-
07:30 PM Revision 7340e7f8 (git): introduce rb_ractor_atfork()
- to reset main ractor at fork().
-
07:30 PM Revision 7fcb6b3d (git): fix ractor-locking around rb_ractor_thread_list()
- With locking a ractor, rb_ary_push() can call RB_VM_LOCK_ENTER()
and it violates an assertion: should not acquire ractor-lock. -
07:19 PM Bug #17429: Prohibit include/prepend in refinement modules
- I agree the current situation needs to be fixed, and prohibiting include/prepend is the simplest way. But I also think there has to be a way to achieve what Marc-Andre was trying in #17374.
marcandre (Marc-Andre Lafortune) wrote in #n... -
05:04 PM Bug #17429: Prohibit include/prepend in refinement modules
- Is there a proposal to import modules in refinements?
Something like this?
```ruby
module Code
# ...
end
refine Object, import: Code do
# extra methods
end
```
I still think that `include` and `prepend` within the `... -
11:00 AM Bug #17429: Prohibit include/prepend in refinement modules
- +1 from me!
I think a new Module method to copy all methods to another Module could be useful.
Something like `A.copy_methods(B)`.
It seems there is no need to copy constants, because the constant scope of "copied" methods would sti... -
05:44 AM Bug #17429: Prohibit include/prepend in refinement modules
- I basically agree. Combination of refinement and `include/prepend` only cause confusion.
Matz.
-
02:22 AM Bug #17429 (Closed): Prohibit include/prepend in refinement modules
- include/prepend in refinement modules has implementation difficulties such as #17007 and #17379, and tends to be misleading like #17374.
How about to prohibit it in future versions?
Method copy like #17380 may be more convenient, but... -
06:47 PM Revision 458d5175 (git): Small improvements in magic comments docs
- * remove a duplicate statement
* fix rdoc markup
* fix typos -
05:00 PM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- Thank you for the reminder!
-
05:00 PM Bug #16658 (Closed): `method__cache__clear` DTrace hook was dropped without replacement
- Applied in changeset commit:git|b32ed8aa41795e3b153b423ae14d2699060d73db.
----------
remove method__cache__clear
DTrace probe method__cache__clear is no longer used.
[Bug #16658] -
04:59 PM Revision b32ed8aa (git): remove method__cache__clear
- DTrace probe method__cache__clear is no longer used.
[Bug #16658] -
04:51 PM Revision a8fc72f5 (git): sample/trick2015/kinaba/entry.rb: The constant "Data" has been removed
- Instead, use "Proc" as a 4-letter constant.
- 04:50 PM Revision 8feb40f4 (git): Document shareable_constant_value and other magic constants [doc]
-
04:47 PM Feature #17433 (Closed): Expose atomic operation macros with RUBY prefix
- Because of Ractor, now we need synchronization more widely in extension libraries.
Atomic operations are lighter than mutex, and enough in many cases.
https://github.com/ruby/ruby/pull/3983 -
04:42 PM Feature #17432 (Closed): Check deprecated methods at compilation time
- Currently `rb_warn_deprecated_to_remove` shows the deprecation warning with the version to remove. Often we can miss it however, especially as now deprecation warnings are suppressed by default. It's better to notice automatically, pro...
-
04:40 PM Bug #17431 (Closed): paren_nest is not reset in parse.y after "foo.[]= value"
- Applied in changeset commit:git|4a8ff22f0c9f8a7cd9a68f49523fa2573a4326e9.
----------
Reset paren_nest at tAREF and tASET [Bug #17431] -
03:57 PM Bug #17431: paren_nest is not reset in parse.y after "foo.[]= value"
- The following patch seems to be the fix:
```
diff --git a/parse.y b/parse.y
index c65a469a..a4f6bcc8 100644
--- a/parse.y
+++ b/parse.y
@@ -9668,6 +9669,7 @@ parser_yylex(struct parser_params *p)
p->lex.paren_nest++;
... -
03:44 PM Bug #17431: paren_nest is not reset in parse.y after "foo.[]= value"
- Ok, got an example with lambdas:
```
$ ./miniruby -ce '->(opt = (foo.[]= bar)) do end'
-e:1: syntax error, unexpected `do', expecting `do' for lambda or tLAMBEG
->(opt = (foo.[]= bar)) do end
-e:1: warning: paren_nest = 1
$ ./m... -
03:39 PM Bug #17431 (Assigned): paren_nest is not reset in parse.y after "foo.[]= value"
-
03:34 PM Bug #17431 (Closed): paren_nest is not reset in parse.y after "foo.[]= value"
- `p->lex.paren_nest` is equal to 1 after the following code:
```ruby
self.[]= foo
```
`paren_nest` is used to differentiate `...` for ranges/forwarded arguments, and so `./miniruby -we 'foo.[]= bar, ...'` gives no `... at EOL, sho... -
04:39 PM Revision 4a8ff22f (git): Reset paren_nest at tAREF and tASET [Bug #17431]
-
04:24 PM Revision fb545743 (git): Pass keyword options in assert_syntax_error
-
04:19 PM Bug #17428: Method#inspect bad output for class methods
- jeremyevans0 (Jeremy Evans) wrote in #note-7:
> `String.(Module#)` is a significantly more invasive change
I prefer to decide "what do we want" than "what is easier". Change was actually a few lines changes for that version: https://... -
03:46 PM Bug #17428: Method#inspect bad output for class methods
- Using `#<Class:String>(Module)#` instead of `String(Module).` is a trivial change to make, and I have no preference between the two. `String.(Module#)` is a significantly more invasive change and I don't think we should go that route. It...
-
03:37 PM Bug #17428: Method#inspect bad output for class methods
- For me, `Foo.bar` immediately means "singleton method of Foo", which is not the case here.
So I think we should only use the `.` form when Method#owner is a singleton class.
I recommend simplicity and consistency (between object sing... -
03:31 PM Bug #17428: Method#inspect bad output for class methods
- Eregon (Benoit Daloze) wrote in #note-3:
> ```
> ...
When `(X)` appears, it means `actually an instance method of X`, even in the case where `.` appears later. So not incorrect, but I agree it might be confusing. How about this other p... -
11:23 AM Bug #17428: Method#inspect bad output for class methods
- With a trivial fix (using the actual class/rb_class_of(), not just `.class`), I get this in TruffleRuby, which I think is the correct output:
```
$ ruby -e 'p String.method(:prepend)'
#<Method: #<Class:String>(Module)#prepend(*modules... -
11:07 AM Bug #17428: Method#inspect bad output for class methods
- FWIW, current output on TruffleRuby is:
```
ruby -e 'p String.method(:prepend)'
#<Method: Class(Module)#prepend(*modules) <internal:core> core/module.rb:92>
```
Probably it should show `#<Class:String>` instead of `Class` though.
```
#<... -
05:41 AM Bug #17428: Method#inspect bad output for class methods
- I submitted a pull request to fix this issue: https://github.com/ruby/ruby/pull/3984
-
12:40 AM Bug #17428: Method#inspect bad output for class methods
- Correct output would be:
```
#<Method: #<Class:String>(Module)#prepend(*)>
# or even better imo to reuse the '.' notation here:
#<Method: String(Module).prepend(*)>
``` -
12:35 AM Bug #17428 (Closed): Method#inspect bad output for class methods
- ```
$ $ ruby -e 'p String.method(:prepend)'
# 2.7.0:
#<Method: String.prepend(*)>
# 3.0.0:
#<Method: #<Class:Object>(Module)#prepend(*)>
```
@jeremyevans found it shows the method as pertaining to one level too high (which is go... -
03:47 PM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
- > I cannot think of a case where we want to pass an array of symbols to `public_class_method`
Generally, there could be other DSLs that will define methods. Rails have [`mattr_{reader,writer,accesor}`](https://api.rubyonrails.org/clas... -
03:42 PM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
- It wasn't intentional but I think it is better this way:
* It is consistent
* Allows users to define methods to be chained (`class_attr_reader`? `class_cache`?) that could return array of symbols.
* no downside that I can see. -
03:25 PM Feature #17314: Provide a way to declare visibility of attributes defined by attr* methods in a single expression
- Hi, I've just noticed that this changeset allows not only `Module#private` but also `Module#private_class_method` to accept an array of symbols. `Module#public_class_method` too.
```
class Foo
def self.foo; end
def self.bar; en... - 03:16 PM Revision 221ca0f8 (git): * 2020-12-24 [ci skip]
-
03:15 PM Revision 3a81daaf (git): Module#public_class_method also accepts a symbol array as an argument
- I'm unsure if this is intentional, but add a document anyway.
[Feature #17314] - 02:40 PM Revision 94015200 (git): [fiddle] Update to 1.0.6
-
01:08 PM Revision 28e9344f (git): [ruby/irb] Change StdioInputMethod#eof? to non-blocking
- This fixes --inf-ruby-mode.
https://github.com/ruby/irb/commit/0e4a818955 -
12:26 PM Revision 129ecb43 (git): [ruby/irb] Fix error_message for assert_dynamic_prompt
- https://github.com/ruby/irb/commit/b12dfb6298
-
12:26 PM Revision 31bd1721 (git): [ruby/irb] Suppress "shadowing outer" warning
- https://github.com/ruby/irb/commit/8b83fbef69
-
10:53 AM Revision 684649ea (git): [ruby/psych] Bump version to 3.3.0
- https://github.com/ruby/psych/commit/0abce07b90
-
10:45 AM Revision 8259d889 (git): [ruby/psych] Skip test_ractor.rb with ruby/psych repo
- Because ruby/psych still uses minitest. minitest didn't support
assert_ractor provided by test suite of ruby/ruby repo.
https://github.com/ruby/psych/commit/7da26358f1 - 09:32 AM Revision aad88cc1 (git): [ruby/date] Define dummy RUBY_TYPED_FROZEN_SHAREABLE for old Ruby
- https://github.com/ruby/date/commit/9f3e90ad10
- 09:19 AM Revision aa856d50 (git): [ruby/date] Fix envutil for old Ruby
- https://github.com/ruby/date/commit/57e25c406a
-
09:06 AM Revision 313d63c2 (git): Use rb_init_identtable instead of direct use of rb_hashtype_ident
-
07:55 AM Revision e052d071 (git): Revert "need to clear blocking cnt at fork (child process)"
- This reverts commit 0dd4896175f95c4c2a26d91a97b9fcb9a74cc0c6.
It breaks the tests on RUBY_DEBUG=1. -
07:50 AM Revision 81a8d1cf (git): Skip checking ROBJECT_EMBED
- when we already check ROBJECT_NUMIV(self) is larger than
ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number
of instance variables for the same object doesn't decrease.
```
$ benchmark-driver -v --rbenv 'before --ji... -
06:35 AM Bug #16497: StringIO#internal_encoding is broken (more severely in 2.7)
- @nobu What's the status of this?
-
06:32 AM Revision dbb4f199 (git): Allow inlining Integer#-@ and #~
- ```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_integer.yml --filter '(comp|uminus)'
before --jit: ruby 3.0.0dev (2020-12-23T05:41:44Z master 0dd4896175) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12... - 06:08 AM Revision daec109f (git): [ruby/psych] Optimize cache with `compare_by_identity`
- Using `compare_by_identity` gives a 4x performance boost on cache hits.
Benchmark in https://github.com/JuanitoFatas/fast-ruby/issues/189 - 06:08 AM Revision c5a445d5 (git): [ruby/psych] Make Ractor-ready.
- Config is Ractor-local.
Benchmarking reveals that using `Ractor.local_storage` for storing cache
is similar to accessing a constant (~15% slower). - 06:08 AM Revision 3ee0ad91 (git): [ruby/psych] Don't use instance variables directly for config
- 06:08 AM Revision d1963ada (git): [ruby/psych] Avoid methods depending on bindings
- Improves Ractor-readiness.
- 06:08 AM Revision 0eb94dae (git): [ruby/psych] Freeze constants.
- Improves Ractor-readiness.
-
05:41 AM Revision 0dd48961 (git): need to clear blocking cnt at fork (child process)
-
05:28 AM Bug #17426: method_missing can't override kernel#system method anymore
- Or, use other than the literal `self`.
```ruby
self.system("true") #=> runs `true` command
(self).system("true") #=> private method `system' called for main:Object (NoMethodError)
```
-
05:03 AM Revision 5cf25c55 (git): Update version for Ractor-safe extensions
-
04:53 AM Revision 61bd28b8 (git): [ruby/date] Workaround for non-ruby repository like ruby/date, flori/json
- https://github.com/ruby/date/commit/1ff7fa2d80
-
04:51 AM Feature #17397 (Closed): `shareable_constant_value: literal` should check at runtime, not at parse time
- Applied in changeset commit:git|7a094146e6ef38453a7e475450d90a9c83ea2277.
----------
Changed shareable literal semantics [Feature #17397]
When `literal`, check if the literal about to be assigned to a
constant is ractor-shareable, othe... -
04:50 AM Revision 8a1e1249 (git): Ensure non-literal expressions shareable if `leteral`
-
04:50 AM Revision c0a2d95c (git): Update rb_ractor_ensure_shareable
- * Fixed use of rb_ractor_shareable_p
* Raise Ractor::IsolationError -
04:50 AM Revision b2aa21b8 (git): Split the test
-
04:50 AM Revision d1c7db9d (git): Added assertions
-
04:50 AM Revision 0c450b86 (git): `begin ... end` is not a literal
-
04:50 AM Revision e70206f5 (git): Added dedicated helper methods
-
04:50 AM Revision 7a094146 (git): Changed shareable literal semantics [Feature #17397]
- When `literal`, check if the literal about to be assigned to a
constant is ractor-shareable, otherwise raise `Ractor::Error` at
runtime instead of `SyntaxError`. -
04:44 AM Revision f14aaa2b (git): Guard < Ruby 3.0 for the repositories of default gems.
-
04:39 AM Revision 7e44ade5 (git): ruby_single_main_ractor should be clear before warn
- rb_warn can produce T_HASA object and it should not use
transient heap. - 03:25 AM Revision 02233ed0 (git): Adapt tool/search-cgvars.rb for MacOS
- 03:25 AM Revision 3df3b471 (git): Add tool/search-cgvars.rb, thanks @ko1
-
02:13 AM Revision 082114da (git): [DOC] Add doc to sharing_detection= [ci skip]
- Before:
```
$ ri sharing_detection=
= .sharing_detection=
(from ruby core)
=== Implementation from PP
------------------------------------------------------------------------
sharing_detection=(b)
--------------------------------------... -
02:05 AM Bug #17379: Refinement with modules redefinition bug
- It seems that callable method entry cache caused the problem.
The problem doesn't occur with the following patch:
```
diff --git a/vm_method.c b/vm_method.c
index a0ccdb8a51..d3a3926780 100644
--- a/vm_method.c
+++ b/vm_method.c
... -
01:17 AM Revision 33922736 (git): Merge RubyGems 3.2.3 and Bundler 2.2.3
-
01:08 AM Bug #17007: SystemStackError when using super inside Module included and lexically inside refinement
- jeremyevans0 (Jeremy Evans) wrote in #note-6:
> To restore compatibility with Ruby 2.7 and fix #17182, I've reverted commit:eeef16e190cdabc2ba474622720f8e3df7bac43b at commit:179384a66862d5ef7413b6f4850b97d0becf4ec9.
> ...
I think the ... -
12:56 AM Bug #17425 (Closed): Ripper.lex raises unexpected error
- Applied in changeset commit:git|733ed1e18498f97250b788f169c37b170e0cf2b6.
----------
ripper: fix bad label parameter handling [Bug #17425] -
12:56 AM Revision 733ed1e1 (git): ripper: fix bad label parameter handling [Bug #17425]
- 12:46 AM Revision cd63f035 (git): [ruby/etc] Make Ractor safe
- 12:46 AM Revision 3286380e (git): [ruby/etc] Refactor locks using mutex API
- 12:24 AM Revision 9636d14f (git): [memory_view] Acquire VM lock while running exported_object_registry_free
- exported_object_registry is freed at exit, so this change is just in case.
- 12:24 AM Revision 01ab29cc (git): [memory_view] Make some rb_memroy_view_t members const
- 12:24 AM Revision db0385d6 (git): [memory_view] Remove needless use of StringValueCStr
- 12:24 AM Revision b3ea828c (git): [memory_view] Add mdview_release_view for test
- 12:24 AM Revision 74652e64 (git): [memory_view][fiddle] Rename len to byte_size in rb_memory_view_t
- 12:05 AM Revision 05014dcb (git): [memory_view][fiddle] Use bool for boolean return value
12/22/2020
-
10:28 PM Bug #17427 (Rejected): Hash getting multiple identical keys
- This code is broken:
```ruby
if states.map(&:hash).uniq.size < states.size
```
The result of `hash` does not have to be unique. Two different objects can have the same `hash` value without problems. The invariant is that if two... -
09:31 PM Bug #17427 (Rejected): Hash getting multiple identical keys
- I have a situation where a hash (contained within a Set) seems to get duplicate keys. I've had some difficulty reproducing the issue in a minimal fashion, but I have a 175-ish-line program that runs it. (Just for context, if you want to ...
-
10:20 PM Revision 74a3569b (git): NEWS: fix typos and grammar
-
09:06 PM Revision 841d22ea (git): [ruby/reline] [ruby/irb] Handle multiple newlines in a token correctly
- Co-authored-by: manga_osyo <manga.osyo@gmail.com>
Co-authored-by: ima1zumi <mariimaizumi5@gmail.com>
https://github.com/ruby/irb/commit/c59a9be82f
https://github.com/ruby/reline/commit/a7922da16b -
09:06 PM Revision be5faa25 (git): [ruby/irb] Make it possible to use measure even if it is installed as gem
- Include the file that implements this command in the irb gem.
Co-Authored-By: scivola <scivola@users.noreply.github.com>
https://github.com/ruby/irb/commit/d8dfea5b57 - 08:49 PM Revision 32849dc1 (git): fiddle: Update to 1.0.5
-
07:05 PM Misc #17399: Are endless methods experimental?
- @mame My concern is not "we should warn" (or "we shouldn't warn") about experimental features, but about consistency. It seems that since 2.7, when warning categories and first experimental warnings were introduced, it became an ad-hoc r...
-
01:56 AM Misc #17399: Are endless methods experimental?
- "Experimental" means to me "we are a little more flexible against any feedback". We will make reasonable efforts to keep compatibility of any language feature that is once released, even if it is experimental. For example, we will not re...
- 06:48 PM Revision 228fa3ac (git): NEWS: Mention deprecation warnings not being shown by default
- 06:48 PM Revision fd745cc9 (git): NEWS: group keyword arguments related items together
- 06:48 PM Revision 5a6d27fe (git): NEWS: combine $SAFE and $KCODE, move lower
- 06:48 PM Revision 1bd7427f (git): NEWS: move error handling at end of section
-
06:27 PM Revision f1591b38 (git): Add verbose nil in testing
-
06:27 PM Revision c6d7e02b (git): Enable `Fiber.current` and `Fiber#alive?` call inside ractor
- 05:37 PM Revision 48735587 (git): * 2020-12-23 [ci skip]
-
05:37 PM Revision b222a1a4 (git): Fix a message in example code
- Thanks to @zverok for the report.
-
05:31 PM Revision 31b17a14 (git): Make NoMatchingPatternError a subclass of StandardError
-
04:25 PM Bug #17426: method_missing can't override kernel#system method anymore
- If you want to intercept `system` on both, you can use `undef` or `undef_method`.
```ruby
class Klass
undef_method :system
end
``` -
03:53 PM Bug #17426 (Rejected): method_missing can't override kernel#system method anymore
- This is expected. From NEWS-2.7.0:
```
* Calling a private method with a literal +self+ as the receiver
is now allowed. [Feature #11297] [Feature #16123]
```
Because you are allowed to call private methods when using self in ... -
02:45 PM Bug #17426 (Rejected): method_missing can't override kernel#system method anymore
- Hello,
It seems like I found a behavior change on the way method missing is working on Ruby 2.7.2 in comparison with 2.6.6.
`method_missing` can't intercept call to a method called `system`.
The following code help reproducing the... -
02:51 PM Bug #17405 (Closed): irb ---nomultiline gets exception when output contains some non-ascii characters
- Applied in changeset commit:git|299f5708a2274d069c624073ca3958f8625faf35.
----------
[ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]
https://github.com/ruby/reline/... -
09:28 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- hi.
This error is caused by [calling `Reline::Unicode.calculate_width` in `irb`](https://github.com/ruby/irb/blob/ae91f7ac13a97e2ce8bc7524aea279e797a3ba27/lib/irb.rb#L784).
`Reline::Unicode.calculate_width` should be initialized with... -
02:45 PM Revision 53510d1e (git): [ruby/reline] [ruby/reline] Remove unused `attr_writer`
- https://github.com/ruby/reline/commit/ecdc1b7116
https://github.com/ruby/reline/commit/a7922da16b -
02:45 PM Revision 299f5708 (git): [ruby/reline] Fixed an exception occurred when ambiguous width character was passed to `#calculate_width` [Bug #17405]
- https://github.com/ruby/reline/commit/f79b4c857f
-
02:45 PM Revision b52bc4a9 (git): [ruby/reline] Support isearch-terminators
- https://github.com/ruby/reline/commit/a7922da16b
-
02:45 PM Revision 294552ca (git): [ruby/reline] Render refreshed prompt just after i-search finished
- https://github.com/ruby/reline/commit/0d3188fe34
-
02:45 PM Revision 0b14abe8 (git): [ruby/irb] Suppress "shadowing outer" warning
- https://github.com/ruby/irb/commit/27b149c599
-
02:45 PM Revision fbcdcbff (git): [ruby/irb] Version 1.2.9
- https://github.com/ruby/irb/commit/9668e5fe6b
-
02:45 PM Revision 4131cd05 (git): [ruby/irb] Support arg for measure command
- https://github.com/ruby/irb/commit/b43f35d8f3
-
02:45 PM Revision 47b26795 (git): [ruby/irb] Change variables handling for compatibility
- https://github.com/ruby/irb/commit/26fd1a75cf
-
02:44 PM Bug #17425: Ripper.lex raises unexpected error
- https://github.com/ruby/ruby/pull/3977
-
10:02 AM Bug #17425 (Closed): Ripper.lex raises unexpected error
- ```
$ cat /tmp/l.rb
require "ripper"
pp Ripper.lex("def foo(arg1?:) end")
$ ./ruby -v /tmp/l.rb
ruby 3.0.0dev (2020-12-22T08:12:51Z master f2f00e24fa) [x86_64-linux]
/var/tmp/git/ruby/ruby/.local/lib/ruby/3.0.0/ripper/lexer.rb:19... -
02:32 PM Revision cae8bbfe (git): pp is ractor-ready.
- `@sharing_detection` is only one obstruction to support pp on
non-main ractors, so make it ractor-local. -
12:51 PM Revision 034c19ce (git): Merge json-2.5.1
-
12:45 PM Revision 9b9cbbbc (git): Update library versions of the default gems.
- They are followed up with
https://github.com/ruby/ruby/commit/8fb02b7a97317090e3946e6f2d4a7d034f9699f1 - 12:41 PM Revision 96b88167 (git): Import set 1.0.1
- - Eliminate warnings
- Convert rdoc to markdown -
11:55 AM Revision f08cbdbf (git): Move the library to extensions for some of default gems
-
11:49 AM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- Could this be fixed prior Ruby 3.0 release please?
- 10:51 AM Revision 93a56a5e (git): Update fiber scheduler documentation.
-
10:44 AM Revision edb76e87 (git): Prepare to release json-2.5.0
-
09:01 AM Bug #17424 (Rejected): Interactive Ruby で Object#method を再定義して任意の文字を入力するとエラーが発生する
- # 再現方法
Interactive Ruby で以下を入力した後に任意の文字を入力する。
``` ruby
def method
end
```
# 再現方法から得られた結果
```
Traceback (most recent call last):
33: from /Users/ishii/.rbenv/versions/2.7.2/bin/irb:23:in `<main>'
32: from /Users/ishii/.rbenv/v... - 08:12 AM Revision f2f00e24 (git): [ruby/date] Make Ractor-compatible
- 08:12 AM Revision ee102de6 (git): [ruby/date] Deep-freeze internal constants.
- Probably not strictly necessary, but good principle anyways.
-
07:18 AM Revision 7fbad922 (git): rb_cData: no longer exists
- Commit 8918a9cf6c65409ae1ffcdea324a1b97c6e5bb70 introduced macro
`#define rb_cData rb_cData()`. This deleting `VALUE rb_cData;`
declaration was then macro-expanded into `VALUE rb_cData();`. This
worked by accident because the expanded ... -
06:44 AM Bug #17389: New docs for non-blocking Fibers and scheduler
- @matz, can you please look into this question?
@ioquatix have updated `scheduler.md`→`fiber.md` in https://github.com/ruby/ruby/pull/3965/files, where it now looks like a generic `Fiber` class docs, but I still believe the docs should... -
06:25 AM Revision 7898bc92 (git): rb_cCont: no longer exists
- Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac.
-
06:07 AM Revision 15b81edd (git): MJIT is enabled whenever an MJIT header is used
- ```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-22T05:16:39Z master 692af8e8f8) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (202... -
05:42 AM Revision 95acd3c0 (git): Sync did_you_mean
-
05:16 AM Revision 692af8e8 (git): Prefer stdbool in vm_exec
- Make the code a bit modern and consistent with some other places.
-
05:09 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
- ioquatix (Samuel Williams) wrote in #note-3:
> > should be nil
> ...
Right. Doc does call `resume` but not this issue. Correct code should read:
```ruby
f = Fiber.new{}
f.resume
f.backtrace # => currently [] (should be nil)
``` -
04:11 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
- > should be nil
when the fiber is dead. -
02:07 AM Bug #17408 (Closed): Fiber.backtrace returns [] when unavailable, unlike Thread - Applied in changeset commit:git|d0050edb84e9c3ba99946e08325e168deb741e28.
----------
Update Fiber#backtrace doc [See bug #17408] -
02:03 AM Bug #17408: Fiber.backtrace returns [] when unavailable, unlike Thread
- Good catch.
@ioquatix confirms it should be `nil` and is looking into it.
I'll update the doc. -
05:05 AM Revision 03f2b093 (git): NEWS.md: fix the format
-
04:52 AM Feature #17116 (Closed): raise ArgumentError in Enumerator#new in no given blocks
- Applied in changeset commit:git|fa356a798aefc20725467d4fad02df8325d63e71.
----------
Enumerator.new: raise unless block given
Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945] -
04:52 AM Revision fee2913d (git): Struct::Tms: delete
- Has been deprecated since 44c53ee473d3b3973cb5c3ce03fbf4f280fd75ff.
-
04:52 AM Revision fa356a79 (git): Enumerator.new: raise unless block given
- Has been deprecated since c73b6bd7ebd01133538c645566944132dbde4d13.
[Feature #17116] [ruby-dev:50945] -
03:59 AM Revision 7204b81b (git): fix to use rb_ractor_id()
- Catch up recent changes on USE_RUBY_DEBUG_LOG=1.
-
03:46 AM Revision 2e1cdf36 (git): add a NEWS entry about ractor C API
- 03:26 AM Revision be9b5553 (git): Add entries for set 1.0.0
- 03:20 AM Revision 3fa4bd82 (git): Import set 1.0.0
- - SortedSet has been removed for dependency and performance reasons.
- Set#join is added as a shorthand for `.to_a.join`.
- Set#<=> is added.
https://github.com/ruby/set/blob/v1.0.0/CHANGELOG.md - 03:17 AM Revision 63b872c4 (git): Prepare for importing the set gem
-
02:41 AM Bug #17417: Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
- I have confirmed 520dcbd6009b07458d67309ae33a602d77062975 addresses `SystemStackError: stack level too deep` errors. Thanks for the quick fix.
-
12:23 AM Bug #17417: Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
- The issue was fixed at 520dcbd6009b07458d67309ae33a602d77062975. @yahonda, could you please try it and let us know if any error still occurs? Thanks!
-
02:33 AM Bug #17423: `Prepend` should prepend a module before the class
- This stems from the change that `Module#prepend` (and `Module#include`) now affect classes already including the receiver. You get the same behavior for Ruby 2.0-3.0 if you prepend `M` to `A` before including `A` in `B`:
```ruby
module... -
01:56 AM Bug #17423 (Closed): `Prepend` should prepend a module before the class
- I see
```ruby
module M; end
module A; end
class B; include A; end
A.prepend M
B.prepend M
p B.ancestors
```
gives `[B, M, A, Object, Kernel, BasicObject]` now. It used to be `[M, B, A, Object, Kernel, BasicObject]`.
I t... - 02:07 AM Revision d0050edb (git): Update Fiber#backtrace doc [See bug #17408]
-
12:22 AM Revision 843fd1e8 (git): Document Fiber#backtrace and #backtrace_locations
-
12:22 AM Revision 816bbfdc (git): Document Proc#==
-
12:22 AM Revision 861dbd95 (git): Random instance methods
-
12:22 AM Revision 4728c0d9 (git): Add Symbol#name and freezing explanation to #to_s
-
12:11 AM Bug #17419: `binding.eval` backtrace differente
- Replacing `b.eval(src)` with `b.eval(src, *b.source_location)` will solve the issue.
However, #4352 focused on only `Kernel#eval`. I was not aware about the behavior change of `Binding#eval`. I've just added an explanation to NEWS.md ... -
12:04 AM Revision 4a18cc7f (git): NEWS.md: mention the behavior change of Binding#eval
- [Bug #17419]
12/21/2020
- 11:56 PM Revision 91773ddd (git): Remove debugging code
-
11:08 PM Revision 831f7850 (git): [DOC] Fix typo in Ractor.make_shareable documentation.
-
11:04 PM Bug #17417 (Closed): Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
-
02:53 PM Bug #17417 (Closed): Rails CI gets `SystemStackError: stack level too deep` since cee02d754d76563635c1db90d2ab6c01f8492470
- I understand there are some concerns that issues opened without a minimum test case using pure Ruby without using frameworks like Rails. It would be appreciated if someone taking a look at this issue when Ruby 3.0 release is around the c...
-
10:52 PM Revision a29b9e5e (git): Remvoed no longer needed version guards
-
10:50 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- aycabta (aycabta .) wrote in #note-3:
> @rsharman and @marcandre, would you show me the result of `irb_info` command in IRB and what terminal emulator you are using?
```
irb(main):001:0> irb_info
=>
Ruby version: 3.0.0
IRB version: irb ... -
08:39 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- And, does https://github.com/ruby/reline/pull/224 resolve the problem? I can't reproduce in my environment...
-
08:35 PM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- @rsharman and @marcandre, would you show me the result of `irb_info` command in IRB and what terminal emulator you are using?
-
03:17 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- I can reproduce on `master`. Maybe platform dependent?
Hopefully @aycabta will figure something out...
```
$ ruby -v
ruby 3.0.0dev (2020-12-21T02:23:01Z master ac78d90d5e) [x86_64-darwin18]
$ irb --nomultiline
irb(main):001:0> ... -
02:09 AM Bug #17405: irb ---nomultiline gets exception when output contains some non-ascii characters
- Thank you for your notice.
However, this bug has already been fixed in the latest version.
```
❯ bin/console --nomultiline
irb(main):002:0> Reline::VERSION
=> "0.1.10"
irb(main):003:0> source 'test.rb'
test.rb(main):004:0> # cod... -
10:27 PM Bug #17421: Enumerable uses overridden classes in examples
- jeremyevans0 (Jeremy Evans) wrote in #note-3:
> burdettelamar@yahoo.com (Burdette Lamar) wrote in #note-2:
> ...
Agreed. -
10:22 PM Bug #17421: Enumerable uses overridden classes in examples
- burdettelamar@yahoo.com (Burdette Lamar) wrote in #note-2:
> @jeremyevans0, I am not aware of any such, but have not checked. I am also not aware of any difference in the call-seqs for Enumerable and an overrider, buy have not checked.... -
09:34 PM Bug #17421: Enumerable uses overridden classes in examples
- @jeremyevans0, I am not aware of any such, but have not checked. I am also not aware of any difference in the call-seqs for Enumerable and an overrider, buy have not checked.
-
09:18 PM Bug #17421: Enumerable uses overridden classes in examples
- Are there any cases where the results in the example code given in the Enumerable documentation would change if the related method was removed from the classes so that the Enumerable implementation is used?
-
09:07 PM Bug #17421 (Closed): Enumerable uses overridden classes in examples
- Some method documentation in module Enumerable shows examples that cite overridden methods.
For example, method #all? is overridden in Array, but all the #all? examples in Enumerable use Arrays:
```
%w[ant bear cat].all? { |word| ... -
10:21 PM Misc #17422 (Closed): 3.0 documentation problems tracking ticket
- A meta-ticket for tracking all documentation problems with 3.0's new features (which hopefully should be fixed before the release). I plan to work on those myself, but I have only so much time, so the help would be appreciated.
* Miss... -
09:09 PM Revision c34c6a89 (git): fix ractor's doc. [ci skip]
-
09:09 PM Revision 520dcbd6 (git): reset cache before iterating
- cee02d754d76563635c1db90d2ab6c01f8492470 resets pCMC and `me`
will be a invalidated and continuing the invalidated `me`,
it will break the data structure. This patch tris to clear
all methods of specified class before manipulating the `m... -
08:58 PM Feature #17323 (Closed): Ractor::LVar to provide ractor-local storage
- Traditional style `Ractor#[]/#[]=` are introduced.
35471a948739ca13b85fe900871e081d553f68e6
-
08:57 PM Feature #17418: Add `Ractor.main?` and `Ractor.main`
- `Thread.main` is provided, so I think there is no problem to introduce `Ractor.main`.
If we find an issue about it, consider to remove it. -
08:54 PM Feature #17418 (Closed): Add `Ractor.main?` and `Ractor.main`
- Applied in changeset commit:git|d0e4ccbefcdd6032d0ae70bc54c9a4fb55d92576.
----------
add Ractor.main
It returns main Ractor, like Thread.main.
[Feature #17418] -
04:25 PM Feature #17418 (Closed): Add `Ractor.main?` and `Ractor.main`
- Since main Ractor is special, it seems useful to have an easy way to check if the current ractor is the main ractor.
```ruby
Ractor.main? # => true
Ractor.new { Ractor.main? }.take # => false
```
As far as I know, a gem could be... -
08:54 PM Revision d0e4ccbe (git): add Ractor.main
- It returns main Ractor, like Thread.main.
[Feature #17418] -
08:26 PM Revision 35471a94 (git): add Ractor#[]/#[]= for ractor local storage
- This API is similar to plain old Thread#[]/Fiber#[] interface
with symbol key. -
08:20 PM Bug #16974 (Closed): frozen string issue in lib/reline/ansi.rb on ruby-2.7.1
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> The current pull request for this is at https://github.com/ruby/reline/pull/122
This is merged. Thank you for the reporting. -
07:41 PM Misc #17399: Are endless methods experimental?
- I guess the discussion here may be more what exactly "experimental" means, similar
to what people expect a "constant" to be (non-changable, but if you come from
the point of view of ruby's philosophy then it makes sense to be able to c... -
06:41 PM Misc #17399: Are endless methods experimental?
- I once tried to make the point that if something is experimental it needs to warn, otherwise users in practice will consider it stable in #15966, but yes that seems a lost cause...
I guess we can reject based on "experimental sometime... -
03:07 PM Misc #17399: Are endless methods experimental?
- @mame OK. That's kinda weird for me (that some EXPERIMENTAL features are warned as such, and others aren't), but if this is the official policy, let it be so.
In 3.0, one-line pattern matching is experimental and warns, Ractors are e... -
03:00 PM Misc #17399: Are endless methods experimental?
- I agree with @mame. I just "rediscovered" refinements this year 😅
Experimental features are typically new features. One needs to read the doc for new features. Experimental warning best put there.
Have we considered a `:experimenta... -
01:13 PM Misc #17399: Are endless methods experimental?
- Note that there is no consensus that a warning should be printed when any experimental features are used. As far as I understand, the reason why pattern matching prints a warning is just because the author, @ktsj, is an attentive person....
-
11:13 AM Misc #17399: Are endless methods experimental?
- @matz I believe we need a final decision ASAP.
Either the feature is experimental and should warn so (it still does not, as of `ruby 3.0.0dev (2020-12-21T09:17:45Z master d84dd66da0)`), or the `[EXPERIMENTAL]` notice should be removed... -
07:12 PM Bug #17419 (Closed): `binding.eval` backtrace differente
- This change is expected, see #4352.
-
07:10 PM Bug #17419: `binding.eval` backtrace differente
- I think this is an intended change; it was explained via a link
to a comment in another issue (I think by mame or someone else,
where matz commented on reverting the behaviour). If I remember
the reason, the changed backtrace confused... -
05:38 PM Bug #17419 (Closed): `binding.eval` backtrace differente
- Can somebody elaborate why there is different output for Ruby 2.7 vs Ruby 3.0?
~~~
$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
$ ruby -e ' ... -
06:31 PM Bug #17420 (Closed): Unsafe mutation of $" when doing non-RubyGems require in Ractor
- With an empty file `a.rb`:
```
$ ruby --disable-gems -e 'Ractor.new { puts $" }.take'
-e:1:in `block in <main>': can not access global variables $" from non-main Ractors (RuntimeError)
```
That is expected, given the rules for globa... - 06:31 PM Revision 8f2031a0 (git): Ractor#to_s as #inspect
-
05:56 PM Bug #14541 (Closed): Class variables have broken semantics, let's fix them
- ko1 (Koichi Sasada) wrote in #note-32:
> Why not `NameError` instead of `RuntimeError`?
Matz answered that "the name is not wrong, so NameError is not for this purpose".
Also he thought RuntimeError is still strange, but there is no... -
05:51 PM Revision 8918a9cf (git): Removed rb_cData entity
- * Use the wrapper of rb_cObject instead of data access
* Replaced rest of extentions
* Updated the version guard for Data
* Added the version guard of rb_cData -
05:51 PM Revision c30f03d3 (git): Data: delete
- Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5.
Matz says in [ruby-core:83954] that Data should be an alias of Object.
Because rb_cData has not been deprecated, let us deprecate the constant
to make it a C-level syno... -
05:47 PM Feature #17393: `Ractor::Moved#inspect`
- Try it on 3.1, not 3.0.
-
05:08 PM Revision 5c0abe2d (git): Update documentation for pattern matching
-
04:17 PM Misc #17337: Don't embed Ruby build-time configuration in Ruby
- I was told about this bug on freenode#ruby
It maybe related to my recent problem with installing pg gem on ruby 2.7.2
gem_make.out - https://paste.ubuntu.com/p/s6YD8C5yqS/
mkmf.log - https://paste.ubuntu.com/p/BKTVvdkJt6/
... -
03:56 PM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
- marcandre (Marc-Andre Lafortune) wrote in #note-2:
> Using `yaml/psych` should be doable easily in multiple Ractors, right?
Ideally, but I guess there might be many issues with existing gems and the restrictions of Ractor.
> ...
I... -
02:56 PM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
- Eregon (Benoit Daloze) wrote in #note-1:
> Sounds a bit to me like a case where Thread makes more sense than Ractor
I am not sure I understand your point of view.
Using `yaml/psych` should be doable easily in multiple Ractors, right?
... -
10:46 AM Feature #17414: Ractor should allow access to shareable attributes for Modules/Classes
- Sounds a bit to me like a case where Thread makes more sense than Ractor (and they are far more compatible with existing code).
Wanting to mutate global state is explicitly against the principle of (recent) actor models, isn't it?
(e... -
01:55 AM Feature #17414 (Closed): Ractor should allow access to shareable attributes for Modules/Classes
- Current situation is *very* limiting.
Use-case: global config.
Example: [yaml has a global config](https://github.com/ruby/psych/blob/master/lib/psych.rb#L637-L640) and it's not clear to me how to make that Ractor-aware (nicely).
... -
03:35 PM Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
-
12:15 PM Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
- zverok (Victor Shepelev) wrote in #note-3:
> https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> ...
Ah. I tested it again with UDPSocket, and everything works fine. It looks like it is the problem mentioned in the sc... -
12:04 PM Bug #17415: IO read gets blocked with Fiber Scheduler on Windows
- https://docs.ruby-lang.org/en/master/doc/scheduler_md.html#label-IO
> By default, I/O is non-blocking. Not all operating systems support non-blocking I/O. Windows is a notable example where socket I/O can be non-blocking but pipe I/O ... -
11:55 AM Bug #17415 (Closed): IO read gets blocked with Fiber Scheduler on Windows
- Here is the given example code for reproduction the bug:
```ruby
rd, wr = IO.pipe
scheduler = Evt::Scheduler.new # Any scheduler including the test scheduler in the ruby repo could reproduce the same problem.
message = nil
Fiber... - 03:03 PM Revision 208f7d7c (git): * 2020-12-22 [ci skip]
-
03:03 PM Revision 02d9524c (git): separate rb_ractor_pub from rb_ractor_t
- separate some fields from rb_ractor_t to rb_ractor_pub and put it
at the beggining of rb_ractor_t and declare it in vm_core.h so
vm_core.h can access rb_ractor_pub fields.
Now rb_ec_ractor_hooks() is a complete inline function and no
MJ... -
03:03 PM Revision a2950369 (git): TracePoint.new(&block) should be ractor-local
- TracePoint should be ractor-local because the Proc can violate the
Ractor-safe. -
02:45 PM Revision c7a5cc2c (git): Replaced magic numbers tr table
-
02:42 PM Revision 84eebb3c (git): On Solaris, _XOPEN_SOURCE should be undefined for C++ sources.
-
02:28 PM Revision 91e2f08a (git): export rb_eRactorIsolationError for MJIT
- https://ci.appveyor.com/project/ruby/ruby/builds/36942168/job/7ugrpk0pndoly9wp
```
_ruby_mjit_p11920u0.c
C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p11920u0.c(14) : warning C4005: 'GET_SELF' : macro redefinition
c:\project... -
01:46 PM Feature #16816: Prematurely terminated Enumerator should stay terminated
- I'd like to try working on this fix: is it possible?
- 01:41 PM Revision 0b6a80c0 (git): [json] Avoid method redefinition
-
01:29 PM Revision dca6752f (git): Introduce Ractor::IsolationError
- Ractor has several restrictions to keep each ractor being isolated
and some operation such as `CONST="foo"` in non-main ractor raises
an exception. This kind of operation raises an error but there is
confusion (some code raises RuntimeEr... - 01:16 PM Revision 8c0c6172 (git): NEWS: JSON is Ractor compatible [ci skip]
-
01:14 PM Feature #17416 (Open): Improve performance Kernel#itself
- Improve performance `Kernel#itself` with Ruby code.
like this.
```ruby
module Kernel
#
# call-seq:
# obj.itself -> obj
#
# Returns the receiver.
#
# string = "my string"
# string.itself.obj... - 01:10 PM Revision 14d7d1df (git): [json] Make json Ractor safe
- 01:10 PM Revision 4c2e7f26 (git): [json] JSON_parse_float: Fix how to convert number
- Stop BigDecimal-specific optimization. Instead, it tries the conversion
methods in the following order:
1. `try_convert`,
2. `new`, and
3. class-named function, e.g. `Foo::Bar.Baz` function for `Foo::Bar::Baz` class
If all the above c... - 01:10 PM Revision 596da98b (git): [json] Make JSON.create_id thread-safe
- 01:10 PM Revision 98cc15ed (git): [json] Stop using prototype objects
-
10:47 AM Feature #16697 (Rejected): Hash.ruby2_keywords_hash?(value) should support any object
-
10:47 AM Feature #16697 (Closed): Hash.ruby2_keywords_hash?(value) should support any object
- OK, let's reject this then.
-
01:33 AM Feature #16697 (Feedback): Hash.ruby2_keywords_hash?(value) should support any object
- I don't think we will be able to decide this issue by Ruby 3.0.0. But changing it after Ruby 3.0.0 seems more confusing. I vote for WONTFIX if there is no strong reason.
-
10:41 AM Bug #17413: --backtrace-limit: wrong level counter
- @mame Thanks for the quick fix, now it works as expected!
-
09:05 AM Bug #17413 (Closed): --backtrace-limit: wrong level counter
- Fixed at eee93bc9330cb069abb679a0a0d48a49b10f6a4e
-
02:05 AM Bug #17413: --backtrace-limit: wrong level counter
- Good catch! I will fix it soon. Thanks
-
10:39 AM Bug #17409: Endless range of dates stuck on include? when miss
- > we'd be able to use `cover?` semantics for `Range#include?` for all types where it makes sense.
But what for? -
10:37 AM Bug #17409: Endless range of dates stuck on include? when miss
- Maybe there should be some `Class#<=>_consistent_with_succ?`/`Class#compare_consistent_with_succ?` method, then we'd be able to use `cover?` semantics for `Range#include?` for all types where it makes sense.
String is a bit special in... -
09:18 AM Bug #17409: Endless range of dates stuck on include? when miss
- @gsmetal
> This case with endless ranges should be at least somehow mentioned in include? documentation, I think.
Actually, I agree the documentation should be clearer not just about endless range, but about the fact that `include?... -
09:14 AM Bug #17409: Endless range of dates stuck on include? when miss
- @duerst
> What's the reason there is no redefinition for Date?
First, I don't think there is a reason for _any_ redefinition, actually, it just muddies the semantical difference of `include?` vs `cover?`. Redefinition for numerics ... -
08:19 AM Bug #17409: Endless range of dates stuck on include? when miss
- duerst (Martin Dürst) wrote in #note-4:
> zverok (Victor Shepelev) wrote in #note-1:
> ...
Yes, it was a little bit frustrating, that everything worked on numbers and then it unexpectedly stuck on dates.. This case with endless ranges ... -
07:01 AM Bug #17409: Endless range of dates stuck on include? when miss
- zverok (Victor Shepelev) wrote in #note-1:
> Nothing specific to dates there, and not a bug.
> ...
What's the reason there is no redefinition for Date? Is there an actual use case for something like the current `(Date.today..).include?... -
09:17 AM Revision d84dd66d (git): Fixed a typo in an error class name
-
09:12 AM Revision b9d00f42 (git): Enable escape sequence on Windows10 console via pager too
- 08:46 AM Revision d8469507 (git): [ruby/digest] Remove .gitignore and .travis.yml from gemspec
- https://github.com/ruby/digest/commit/7b57b73f46
- 08:29 AM Revision 09f939d3 (git): Enable escape sequence on Windows10 console
- * win32/win32.c (init_stdhandle): enable escape sequence on
Windows10 console to show `ruby --help` colors correctly. -
07:23 AM Feature #17411: Allow expressions in pattern matching
- https://github.com/ruby/ruby/pull/3956
-
07:22 AM Revision 95ce5c0e (git): [ruby/rdoc] Bump version to 6.3.0
- https://github.com/ruby/rdoc/commit/3d3616cb94
-
07:21 AM Revision 391343e8 (git): [ruby/rdoc] Guard for WEBrick
- https://github.com/ruby/rdoc/commit/b1e7129e05
-
07:17 AM Revision f26f905b (git): Mark an ISeq being JIT-ed
- This is to avoid SEGV on a CC reference in a normal compilation
https://github.com/ruby/ruby/runs/1586578023 -
06:58 AM Revision 1fdc97f1 (git): Mark active_units
- to avoid SEGV on mjit_recompile and compact_all_jit_code.
For some reason, ISeqs on stack are sometimes GC-ed (why?) and therefore
it may run mjit_recompile on a GC-ed ISeq, which I expected d07183ec85d
to fix but apparently it may refe... -
06:03 AM Revision a574df14 (git): Stop marking unit_queue
- The original motivation of this marking was https://github.com/k0kubun/yarv-mjit/issues/20.
As wanabe said, there are multiple options to mitigate the issue, and
Eric Wong introduced another fix at 143776f6fe by checking unit->iseq
insid... -
04:25 AM Revision 74a78778 (git): [DOC] Remove about FrozenError from Ractor::MovedObject [ci skip]
- Because unfreeze Ractor::MovedObject at
https://github.com/ruby/ruby/commit/76e88480371469400346fca609efe67096813915 - 03:00 AM Revision 1ecac8e4 (git): Add `require_relative` option to `assert_ractor`
-
02:40 AM Revision eee93bc9 (git): eval_error.c: fix off-by-one error for --backtrace-limit
- https://bugs.ruby-lang.org/issues/17413
-
02:23 AM Revision ac78d90d (git): Bump bundled rake version to 13.0.3
-
02:01 AM Revision fe604809 (git): include/ruby/internal/xmalloc.h: document rb_eNoMemError
- It was my bad, the exception that actually raises is rb_eNoMemError.
[ci skip] -
02:01 AM Revision 11656d15 (git): include/ruby/internal/xmalloc.h: doxygen tag
- `@exception` is an alias of `@throw`. It might suite Ruby's document
because ruby uses `raise` terminology instead of `throw`. [ci skip] -
01:54 AM Revision 63849a1c (git): Fix misspellings [ci skip]
-
12:32 AM Revision 5253b957 (git): Document usage of ArithmeticSequence in Array#slice, and add to NEWS (#3952)
12/20/2020
-
07:31 PM Bug #14541 (Assigned): Class variables have broken semantics, let's fix them
- Why not `NameError` instead of `RuntimeError`?
-
07:15 PM Feature #8948: Frozen regex
- @matz Is it OK to experiment freezing all Regexp objects for Ruby 3.1?
There is some discussion in #17412 too. -
07:13 PM Misc #17412: Regexp vs Range: freezing differences
- FWIW, I think all Regexp objects should be frozen (https://bugs.ruby-lang.org/issues/8948#note-16).
TruffleRuby will probably try this, because mixing immutable & mutable Regexps is leading to many complications when considering code sh... -
04:34 PM Misc #17412: Regexp vs Range: freezing differences
- More correctly, I don't want to debug (or get complaint) world-wide Regexp modifying code.
For 3.1, we can try if someone has a passion.
BTW, for the keyword parameter changes, many people work a lot (especially @mame and @jeremyevan... -
10:37 AM Misc #17412: Regexp vs Range: freezing differences
- Thanks for the explanation!
-
03:00 AM Misc #17412 (Closed): Regexp vs Range: freezing differences
- Hi,
zverok (Victor Shepelev) wrote:
> > For the record: `Regexp.new` should continue to return unfrozen Regexp instance. (@mame at #16377#note-7)
This is not my opinion but Matz's decision. I'm sorry if I was not clear.
> ...
T... -
06:49 PM Bug #17413 (Closed): --backtrace-limit: wrong level counter
- Having this `test.rb`:
```ruby
def inner
raise 'test'
end
def outer
inner
end
outer
```
...one might observe the following:
```
$ ruby test.rb
test.rb:2:in `inner': test (RuntimeError)
from test.rb:6:in `oute... -
05:39 PM Revision 6be61ab2 (git): should use owned_p instead of locked_p
- It should raise an error if the same thread tris to call
receive/receive_if. - 05:38 PM Revision 435b619a (git): fix phrasing in comment
-
05:21 PM Revision 7600f69a (git): rename to rb_ractor_make_shareable_copy()
- from rb_ractor_make_copy_shareable().
-
05:09 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- https://github.com/ruby/ruby/pull/3950
-
04:25 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- marcandre (Marc-Andre Lafortune) wrote in #note-9:
> > * 2nd parameter `req` is not clear and I believe people forget to call it correctly.
> ...
I think most of case it will be called if people using send/receive in various case.
To ... -
04:19 PM Revision 9c73c756 (git): Use Integer instead of Fixnum/Bignum
-
04:19 PM Revision fb8f0114 (git): Fixed indefinite articles before "Integer" [ci skip]
-
04:19 PM Revision ad534a67 (git): Fixnum as a Symbol was an old feature until 1.6
- 04:15 PM Revision a365ae84 (git): * 2020-12-21 [ci skip]
-
04:13 PM Revision 730f3141 (git): fix Ractor.make_shareable() with Class/Module
- To check shareable-ness, rb_ractor_shareable_p() is needed
for Class/Module objects isntead of checking flags. -
03:28 PM Feature #17411: Allow expressions in pattern matching
- That's perfect 👍
Any chance Nobu can come up with a patch quickly? -
09:26 AM Feature #17411: Allow expressions in pattern matching
- @marcandre The idea is interesting. I propose `^(expression)` notation.
Matz.
-
10:36 AM Revision 8680ae9c (git): irb: Removed unused variables
-
10:35 AM Revision 4b6e3f7b (git): irb: Define extension command on the given object
-
10:17 AM Bug #17410: One-line pattern-matching deprecation is lost on singular variable assignment
- Thanks, @mame!
(Sorry for a huge amount of tickets from me, I just really need to understand the quirks and reasoning clearly to explain in docs and changelogs.) -
03:06 AM Bug #17410 (Closed): One-line pattern-matching deprecation is lost on singular variable assignment
- It is intentional.
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#feature-17371-reintroduce-expr-in-pat-ktsj
> ktsj: How about allowing the typical r-assign case as an official (not experiment... -
09:34 AM Feature #12654 (Closed): On Windows use UTF-8 as filesystem encoding
- Applied in changeset commit:git|5b98b2ce39ed979aec614365a2dc3e1c30052bca.
----------
win32: Use UTF-8 as filesystem encoding [Feature #12654]
Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com> -
09:34 AM Revision 37987d99 (git): win32: Deprecate file CP version functions
-
09:34 AM Revision 95862ae4 (git): win32: Added rb_w32_ureaddir only for UTF-8 [Feature #12654]
-
09:34 AM Revision 5b98b2ce (git): win32: Use UTF-8 as filesystem encoding [Feature #12654]
- Co-Authored-By: Dāvis Mosāns <davispuh@gmail.com>
-
09:27 AM Bug #17409: Endless range of dates stuck on include? when miss
- It's not a bug. But I admit it's a pitfall. Maybe we can warn or make it an error in the future.
Matz.
-
09:26 AM Revision feea436f (git): irb: Define extension command only on the given object
- Not to interfer in class variables.
-
08:15 AM Revision 0fad9a9e (git): Set non-verbose mode as well as tty mode
-
08:07 AM Revision 59b84fbf (git): Set :DEFAULT to PROMPT_MODE for CI
-
07:48 AM Revision 216a087e (git): Suppress errors related to using variables that are not directly related to testing
-
07:23 AM Revision 24fcbc92 (git): [ruby/irb] Version 1.2.8
- https://github.com/ruby/irb/commit/bcd96834c7
-
07:23 AM Revision a7cacd33 (git): [ruby/reline] Version 0.1.10
- https://github.com/ruby/reline/commit/723c6e191a
-
07:23 AM Revision 9f08e3c7 (git): [ruby/irb] Add measure command
- You can use "measure" command to check performance in IRB like below:
irb(main):001:0> 3
=> 3
irb(main):002:0> measure
TIME is added.
=> nil
irb(main):003:0> 3
processing time: 0.000058s
=> 3
irb(main):004:0> measure :... -
07:23 AM Revision 8b6aaead (git): [ruby/irb] Handle rest of tokens correctly if no newline at last
- https://github.com/ruby/irb/commit/f3c8edad2a
-
07:00 AM Revision 67ee1cbd (git): Remove unnecessary files from .document
- * ruby:ext/rbconfig/exts.mk
* ruby:ext/rbconfig/sizeof/Makefile
* ruby:ext/rbconfig/sizeof/depend
* ruby:ext/rbconfig/sizeof/mkmf.log
* ruby:ext/win32/depend
* ruby:ext/win32/exts.mk
* ruby:ext/win32/resolv/depend
* ruby:lib/racc/pre-setup -
06:13 AM Revision b911509a (git): Adjusted indents of closing braces [ci skip]
-
05:38 AM Revision 7d0144e0 (git): Check mjit_call_p only when interrupted
- for leaf_without_check_ints insns.
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-20T05:02:18Z master 02b3555874) +JIT [x86_64-linux... -
05:29 AM Revision ae1cc3fd (git): Made an internal callback function static
-
05:02 AM Revision 02b35558 (git): Install gdb on Actions
-
04:35 AM Revision 85ec6cc3 (git): Fix markups and indentation
-
04:25 AM Revision d37be18a (git): Fix typos
-
04:22 AM Revision 4902f96e (git): Update documentation for pattern matching
- 03:37 AM Revision b1b6dbfd (git): `assert_ractor` tweak. Thanks Nobu
-
02:46 AM Revision f70b894b (git): sync RCLASS_CONST_TBL()
- RCLASS_CONST_TBL() is shared resource so we need to sync with
other ractors. -
01:25 AM Revision 648bbfcc (git): Update rbs 1.0.0.pre (#3941)
12/19/2020
-
11:38 PM Misc #17412 (Closed): Regexp vs Range: freezing differences
- While working on the changelog, I noticed the following in the 3.0:
```ruby
/foo/.frozen? # => true
(1..3).frozen? # => true
# but...
Regexp.new('foo').frozen? # => false
# ...whereupon
Range.new(1, 3).frozen? # => true
... -
10:50 PM Misc #16443: GC.compact is not documented
- @tenderlovemaking thanks a lot!
-
10:13 PM Misc #17367 (Closed): CI: Env variable for Ractor compatibility tests? - Applied in changeset commit:git|70f20234b297a7fc9940bace30101813aa9df052.
----------
Add `assert_ractor` [Feature #17367] - 10:13 PM Revision 6343a811 (git): [ruby/ostruct] Add Ractor test
- 10:13 PM Revision 67e062b5 (git): [ruby/matrix] Add Ractor test
- This reverts commit cacdf2681dcc7c431973f33a18979b10566ec2f9.
- 10:13 PM Revision 70f20234 (git): Add `assert_ractor` [Feature #17367]
-
10:12 PM Feature #17274 (Closed): Ractor.make_shareable(obj)
-
07:51 PM Revision 7f8108ee (git): fix indent
-
07:22 PM Revision bcf4b236 (git): ext/racc/cparse is ractor-safe
-
07:22 PM Revision 846c4b03 (git): ext/monitor is ractor-safe
-
07:22 PM Revision c1461c92 (git): cgi/escape is ractor-safe
-
07:14 PM Revision 36213800 (git): NEWS.md: remove nonsense caveat
- 3.0 will be released in a few days (hopefully), so remove a caution: "it
may be reverted until 3.0 release." -
06:34 PM Feature #17411: Allow expressions in pattern matching
- IIUC, it is by design that you can't have expressions in pattern match; pattern match are a quite separate syntax.
I agree that it is quite limiting, so I've taken the liberty to changing your issue to a feature request.
It would b... -
06:16 PM Feature #17411 (Closed): Allow expressions in pattern matching
- Code:
```ruby
version = {name: '2.6', released_at: Time.new(2018, 12, 25)}
version in {released_at: Time.new(2010)..Time.new(2020)}
# ^ syntax error, unexpected '.', expecting '}'
# This works:
range ... -
06:14 PM Revision ed4381d9 (git): BigDecimal#precs is deprecated
-
06:13 PM Revision c01ad11f (git): bigdecimal: initialize conditionally assigned variable
-
06:12 PM Feature #16274: Transform hash keys by a hash
- Ah, I overlooked.
```
irb(main):003:0> { a: 1, c: 1 }.transform_keys({ a: :b })
=> {:b=>1, :c=>1}
irb(main):004:0> { a: 1, c: 1 }.transform_keys(&{ a: :b })
=> {:b=>1, nil=>1}
``` -
06:10 PM Feature #16274: Transform hash keys by a hash
- Looks like everyone has forgotten `Hash#to_proc`?
```
irb(main):001:0> { a: 1 }.transform_keys({ a: :b })
=> {:b=>1}
irb(main):002:0> { a: 1 }.transform_keys(&{ a: :b })
=> {:b=>1}
``` -
06:10 PM Revision b2acae32 (git): Reduced ID caches
- NEW_GASGN and NEW_GVAR evaluate `id` argument twice.
- 06:08 PM Revision a273171c (git): Tweak Ractor doc [doc] [ci skip]
-
06:04 PM Revision 1f565ac6 (git): Add documentation for Ractor (#3895)
-
04:57 PM Revision d44671c8 (git): Revived the getenv macro for dln_find.c
- This partially reverts commit "Windows: Improve readablity of
getenv() encoding" 14453a256d58b11b06d432e2a4388d95aac298d6.
The `getenv` macro defined here is to also substitute the function
in dln_find.c, not only in this file. -
04:04 PM Bug #17409 (Rejected): Endless range of dates stuck on include? when miss
-
11:04 AM Bug #17409: Endless range of dates stuck on include? when miss
- Nothing specific to dates there, and not a bug.
This is just how ranges work:
* `range.include?(x)` is basically `range.each.any? {|el| el == x }`, which, with endless range, is an infinite loop
* `range.cover?(x)` is basically `x >= ra... -
10:47 AM Bug #17409 (Rejected): Endless range of dates stuck on include? when miss
- This code stucks (on latest ruby 2.7.1):
```ruby
require 'date'
(Date.today..).include?(Date.today - 1)
```
But it works well with `cover?`:
```ruby
2.7.1 :001 > require 'date'
=> true
2.7.1 :002 > (Date.today..).cover?(Da... - 03:42 PM Revision 50f1e7eb (git): NEWS: Add an entry of Pathname [ci skip]
- 03:41 PM Revision 48bd5a3d (git): * 2020-12-20 [ci skip]
- 03:40 PM Revision de80b928 (git): [pathname] Make Pathname Ractor safe (#3940)
-
03:34 PM Bug #17410: One-line pattern-matching deprecation is lost on singular variable assignment
- Matz can confirm, but I think it's ok. `1 => x` can never *not* match and is there to stay. `[1, 2, 3] => [x, *]` is probably more subject to change (what happens if no match, what is acceptable syntax), although I happen to think it's s...
-
11:57 AM Bug #17410 (Closed): One-line pattern-matching deprecation is lost on singular variable assignment
- Is this intentional? Probably an effect of changing the behavior of warning categories?
```ruby
RUBY_REVISION
# => "1ba8d63b49318e5682a22502c5f5b70e3298da8f"
[1, 2, 3] => [x, *]
# (irb):8: warning: One-line pattern matching is ... -
03:30 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- Eregon (Benoit Daloze) wrote in #note-10:
> Removing eagerly seems like it will inherently be problematic if there are multiple Thread calling `Ractor.receive {}`.
It is imperative that a message is not processed twice though. You can c... -
11:33 AM Feature #17378: Ractor#receive with filtering like other actor langauge
- I think a good way to fix this would be to have some variant of pattern matching, that automatically wraps each `in` body in a lambda.
That would allow matching patterns, executing some code, and then executing the body.
This was actua... -
03:18 PM Feature #17406: Add `NoMatchingPatternError#depth`
- Eregon (Benoit Daloze) wrote in #note-1:
> How would this work?
> ...
I think of it as a catch in each `case-in`, but the effect is the same.
> Seems rather hacky to me.
Possibly 😅.
Actual downside? -
11:31 AM Feature #17406: Add `NoMatchingPatternError#depth`
- How would this work?
Mutating a field of the NoMatchingPatternError in a catch(NoMatchingPatternError) inserted in every `in` and `else`?
Seems rather hacky to me. - 01:15 PM Revision d62414b4 (git): NEWS: Update BigDecimal version [ci skip]
-
01:14 PM Bug #13331 (Closed): Inconsistent conversion of Float into Decimal - Applied in changeset commit:git|e1424c35012ccf1f3822c9046081b225aef4142e.
----------
[bigdecimal] Fix the default precision of Float#to_d
Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331]
https://github.com/ruby/bigdecimal... - 01:13 PM Revision 8355a3e1 (git): [bigdecimal] Fix deprecation warning test
- 01:13 PM Revision 8986f948 (git): [bigdecimal] Version 3.0.0
- https://github.com/ruby/bigdecimal/commit/e68f1eb33a
- 01:13 PM Revision df3deb3b (git): [bigdecimal] Add BigDecimal#n_significant_digits
- https://github.com/ruby/bigdecimal/commit/981dc48f95
https://github.com/ruby/bigdecimal/commit/9ecf880ec04 - 01:13 PM Revision 654f6fbf (git): [bigdecimal] Make BigDecimal#precs deprecated
- https://github.com/ruby/bigdecimal/commit/7e80e6e145
https://github.com/ruby/bigdecimal/commit/0ed7846e8c - 01:13 PM Revision ff9e4081 (git): [bigdecimal] Add BigDecimal#precision
- https://github.com/ruby/bigdecimal/commit/458eb66c49
- 01:13 PM Revision 928a0672 (git): [bigdecimal] Make bigdecimal Ractor safe
- https://github.com/ruby/bigdecimal/commit/93fc392640
https://github.com/ruby/bigdecimal/commit/a90d13c4d0 - 01:13 PM Revision 97d4e72e (git): [bigdecimal] Use DBLE_FIG
- https://github.com/ruby/bigdecimal/commit/12296dcb90
- 01:13 PM Revision e1424c35 (git): [bigdecimal] Fix the default precision of Float#to_d
- Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331]
https://github.com/ruby/bigdecimal/commit/aa536cd4b5 -
12:19 PM Revision 4735a5b9 (git): test/ruby/test_module.rb: Avoid "warning: method redefined"
-
11:22 AM Feature #17407: Fiber.current and require 'fiber'
- Maybe we should just include these Fiber methods in core, and `require 'fiber'` would be a no-op (for compatibility)?
Agreed it's confusing such a core class has only half the documented methods defined without an extra `require`. -
11:19 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
- nobu (Nobuyoshi Nakada) wrote in #note-22:
> `HAVE_RB_EXT_RACTOR_SAFE` is defined in a header, you don't need `have_func("rb_ext_ractor_safe")`.
I see, thanks. I somehow missed that because it wasn't in ko1's original PR, and I forgo... -
08:53 AM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
- Eregon (Benoit Daloze) wrote in #note-21:
> I guess
> ...
`HAVE_RB_EXT_RACTOR_SAFE` is defined in a header, you don't need `have_func("rb_ext_ractor_safe")`.
-
09:56 AM Bug #17396: Missing .gemspec files
- When the .gem file contains .gemspec file, then it should be installed by rbinstall.
~~~
$ gem unpack rexml
Fetching rexml-3.2.4.gem
Unpacked gem: '/home/vondruch/rexml-3.2.4'
$ find rexml-3.2.4/ | grep gemspec
rexml-3.2.4/rexm... -
08:09 AM Bug #17396 (Closed): Missing .gemspec files
- Gem files contain metadata processed from gemspec files, other than the source gemspecs.
The source often contains some code which do not make sense in its upstream working directory, e.g., `git ls-files`.
As well as `gem install` uses... -
09:22 AM Revision 1ba8d63b (git): Recommit 34f06062174882a98ebef998c50ad8d4f7fc0f2e
-
09:19 AM Revision eb8ea336 (git): Feature 17314: allow to pass array to public, protected and private methods
-
09:04 AM Revision 8148f88b (git): ALWAYS_INLINE implies inline
- 08:59 AM Revision 0d3dc2ec (git): Make `Hash#except` always return a Hash
- [Feature #15822]
-
08:34 AM Revision 5611066e (git): Prefer RB_OBJ_FROZEN_RAW
- following the original implementation's change.
RB_TYPE_P(obj, T_OBJECT) is already checked in these places.
```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --... -
08:32 AM Revision e33eb09b (git): ripper: fix `#tok` on some error events [Bug 17345]
- sorting alias target by event arity, and setup suitable `Elem` for error.
-
08:31 AM Bug #17388 (Closed): Doesn't Warning.warn support `category: :experimental` in Ruby 3.0.0?
-
08:27 AM Revision 52b1716c (git): Fix vm_search_invokeblock
- call_ needs to be vm_invokeblock_i, and flags is also not empty.
-
08:03 AM Revision 8ec8f375 (git): discourage inlining for vm_sendish()
- reversing 9213771817 only for JIT, because it made JIT slower.
$ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' --repeat-count=36 --alternate --output=all benchmark.yml
before: ruby 3.0.0dev (2020-12-19T07:38:17Z ma... -
07:53 AM Revision 349e79ba (git): Try to test with rake-13.0.2 again.
- [ruby/fileutils] Make verbose output go to stdout instead of stderr
This reverts commit 510df47f5f7f83918d3aa00316c8a5b959d80d7c. -
07:52 AM Revision bdd18090 (git): Bump bundled rake version to 13.0.2
-
07:38 AM Revision a1393185 (git): Added macros for headers which are not included by ruby.h
-
07:38 AM Revision 042c3e91 (git): Check macros for headers
-
07:38 AM Revision 197550c9 (git): Renamed check_encoding.yml as check_misc.yml [ci skip]
-
06:34 AM Revision 5c9d6ea6 (git): Strip trailing spaces [ci skip]
-
06:34 AM Revision 553d6fa0 (git): [DOC] Marked dtrace arguments as description list [ci skip]
-
06:34 AM Revision a5832c9a (git): [DOC] Fixed markups in dtrace_probes.rdoc [ci skip]
- * `+` can enclose just a word.
* TIDYLINK with braces gets confused when other braces even inside
code precede. -
06:24 AM Revision 144b11e0 (git): Fix `warning: instance variable @head not initialized` and remove unused instance variable
- 06:08 AM Revision e64af7d5 (git): NEWS: Add an entry of Digest 3.0.0 [ci skip]
- 06:08 AM Revision 0cb556b4 (git): [digest] Version 3.0.0
- https://github.com/ruby/digest/commit/4bbd247a32
- 06:08 AM Revision b66f52b0 (git): [digest] Make digest Ractor safe
- https://github.com/ruby/digest/commit/c13a024b85
https://github.com/ruby/digest/commit/9edca3f8be
https://github.com/ruby/digest/commit/378b56b6ca -
06:08 AM Revision feacae19 (git): [digest] Added rb_digest_make_metadata to wrap metadata
- https://github.com/ruby/digest/commit/7046fe6005
-
03:24 AM Revision 5b2cf7ea (git): Partially reintroduce e042e8460bb9a63c05f938d51e8c7c5345a6f3a4 and ...
- 34f06062174882a98ebef998c50ad8d4f7fc0f2e
Add a test for alias_method -
03:23 AM Revision 51bcd509 (git): Feature 17314: alias_method returns symbol
-
02:44 AM Revision 34f6b22d (git): Use rb_id_attrset without intermediate strings
-
02:39 AM Revision 5616f2ee (git): Added missing tests for public, private, protected and alias_method
-
12:22 AM Revision d40d9529 (git): Feature 17314: update docs and NEWS about attr* methods returning array of symbols
12/18/2020
-
11:32 PM Bug #17408 (Closed): Fiber.backtrace returns [] when unavailable, unlike Thread
- ```ruby
t = Thread.new{}
p t.backtrace
# => nil
f = Fiber.new{}
p f.backtrace
# => []
```
It seems inconsistent, is this intentional?
Ping @ioquatix -
11:08 PM Feature #17407 (Closed): Fiber.current and require 'fiber'
- Maybe it is not the right time to ask, but why one need to do `require 'fiber'` before using `Fiber.current`?
For what I can see,
* it is this way since [their introduction](https://docs.ruby-lang.org/en/2.0.0/Fiber.html#method-c-cu... -
09:49 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- ko1 (Koichi Sasada) wrote in #note-8:
> I have several concern about `Ractor#receive` proposed at #note-6.
> ...
I agree that is an issue. It would be much better if we had `NoMatchingPatternError#depth` #17406. We could intercept only... -
07:48 PM Feature #17378: Ractor#receive with filtering like other actor langauge
- I have several concern about `Ractor#receive` proposed at #note-6.
* `NoMatchingPatternError` can be raised in tasks unexpectedly (maybe by bug) and it can cause something strange behavior (like falsy on `receive_if`).
* 2nd paramete... -
09:45 PM Feature #17406 (Open): Add `NoMatchingPatternError#depth`
- Could we have `NoMatchingPatternError#depth`, returning the number of `case...in...end` an exception has traversed?
```ruby
def show_depth
yield
rescue NoMatchingPatternError => e
puts "Depth: #{e.depth}"
raise
end
show... -
09:17 PM Feature #17404: Ractor `move:` API to allow shareability check
- Oh, sorry, I didn't see the `_ref` part. So you are proposing a different method. In my mind, they are all ways of sending a message, it's just a question of method to cross the Ractor frontier. move/copy/has-cross-border-visa 😅
Otherwi... -
09:10 PM Feature #17404: Ractor `move:` API to allow shareability check
- marcandre (Marc-Andre Lafortune) wrote in #note-2:
> ko1 (Koichi Sasada) wrote in #note-1:
> ...
not sure what you mean. I mean:
```ruby
def send_ref(obj)
raise unless Ractor.shareable?(obj)
send(obj)
end
```
> We have t... -
06:40 AM Feature #17404: Ractor `move:` API to allow shareability check
- ko1 (Koichi Sasada) wrote in #note-1:
> `#send_ref(message)` and raise an error if message is not a sharable?
There would be an easy way to deep-copy or deep-move an object, right? If you mean that the default should be `pass: :share`, ... -
05:18 AM Feature #17404: Ractor `move:` API to allow shareability check
- `#send_ref(message)` and raise an error if message is not a sharable?
-
09:11 PM Feature #17393: `Ractor::Moved#inspect`
- Yes, that looks good, that is what I was proposing in note 1 too 👍
-
09:03 PM Feature #17393: `Ractor::Moved#inspect`
- I don't think providing `#inspect` is good idea because any methods should respond to the moved object.
Otherwise there is possibility to ignore the accessing moved objects.
I prefer to show the moved location in the error message.
... -
09:10 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- Great, thank you for the update.
One last concern with `experimental_everything`/`experimental_shareable` is for Ruby 3.1... If no longer experimental, we then accept `everything`. But if someone want to write code also compatible wit... -
08:37 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- By seeing the list, about `experimental_everything`, `experimental_shareable` seems better naming...
-
08:35 PM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- By discussion with Matz and Nobu, we choose "(2) raises an error for unshareable non-literals on runtime (my proposal)".
* on compile time: for `FOO = expr`
* case `FOO = literal_only`
* compile to => `FOO = Ruby... -
03:45 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- marcandre (Marc-Andre Lafortune) wrote:
> I think `shareable_constant_value: literal` is too strict because it has too crude checks at parse time.
This is true. Current restriction is very conservative not to break things (See #1727... -
08:59 PM Feature #17401 (Closed): The class `Ractor::MovedObject` should not be frozen
- Applied in changeset commit:git|76e88480371469400346fca609efe67096813915.
----------
unfreeze Ractor::MovedObject
Matz prefers to unfreeze the class.
[Feature #17401] -
08:56 PM Feature #17401: The class `Ractor::MovedObject` should not be frozen
- Matz prefers to provide a free to shoot the foot.
-
08:57 PM Revision 76e88480 (git): unfreeze Ractor::MovedObject
- Matz prefers to unfreeze the class.
[Feature #17401] -
08:52 PM Revision 80cb9165 (git): add "copy: true" option for Ractor.make_shareable
- Ractor.make_shareable(obj) tries to make obj a shareable object
by changing the attribute of obj and traversable objects from obj
(mainly freeze them).
"copy: true" option is more conservative approach by make deep
copied object and mak... -
08:25 PM Bug #17366 (Closed): Ractor odd issue with timeout + receive + sleep + take
- commit:c2fa024e0220aca6e2437e56df2abf1a2368cbdf
-
08:25 PM Feature #17365 (Closed): Can not respond (well) to a Ractor
- https://bugs.ruby-lang.org/issues/17378
-
07:33 PM Misc #17399: Are endless methods experimental?
- I think the warning would be helpful if we change what is allowed after `=`, especially if we would forbid something that was previously allowed (e.g., to make the rule clearer).
If there is no warning, people will assume it's a stable ... -
06:35 AM Misc #17399: Are endless methods experimental?
- Additional note:
* I am not going to remove endless-def
* I don't think the warning is necessary. Since we are not going to remove it.
Matz.
-
12:57 AM Misc #17399: Are endless methods experimental?
- I agree with @eregon. We still need more investigation for issues like #17398
Matz. -
07:33 PM Bug #17386 (Closed): Refinements break prepend
- Applied in changeset commit:git|cee02d754d76563635c1db90d2ab6c01f8492470.
----------
fix refinements/prepend bug
replaced method entry should be invalidated.
[Bug #17386] -
07:33 PM Revision cee02d75 (git): fix refinements/prepend bug
- replaced method entry should be invalidated.
[Bug #17386] -
07:33 PM Revision 04d62e6f (git): fix method cache debug tool
-
06:40 PM Feature #17307: A way to mark C extensions as thread-safe, Ractor-safe, or unsafe
- I've missed this was committed (https://github.com/ruby/ruby/pull/3824), the API seems fine.
Example usage:
```c
#ifdef HAVE_RB_EXT_RACTOR_SAFE
rb_ext_ractor_safe(true);
#endif
```
https://github.com/ruby/ruby/commit/3d31944129180
I ... -
06:25 PM Revision 0e79d4cd (git): Added tests for [Feature #17314]
- Partially reintroduce 34f06062174882a98ebef998c50ad8d4f7fc0f2e
-
06:20 PM Revision aa7a0207 (git): Revert "Revert "Use rb_id_attrset without intermediate strings""
- This reverts commit 41c208d4a463183fddca250026e5f1cd759d2604.
Reintroduce 66090b9d10cdaed917b525225e59d1c19e399248. -
06:16 PM Revision 346bf0f5 (git): spec/ruby/core/module/attr_*: Add version guards
-
06:11 PM Revision 5944c4b3 (git): attr_reader, attr_writer, attr_accessor and attr methods returns array of symbols (#3935)
- Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
- 06:06 PM Revision f6641d73 (git): NEWS: Add an entry of StringScanner 3.0.0 [ci skip]
- 06:05 PM Revision b3b7f1e5 (git): NEWS: Add an entry of StringIO 3.0.0 [ci skip]
- 06:02 PM Revision f213a271 (git): NEWS: fiddle 1.0.4 [ci skip]
-
05:59 PM Bug #17405 (Closed): irb ---nomultiline gets exception when output contains some non-ascii characters
- When irb is called with the --nomultiline option (for example, when called from emacs), then if the output contains some special characters (such as the square root sign, or a single quotation mark), then irb gets an exception.
Withou... -
05:54 PM Revision 7e2dbbda (git): Use category: :experimental in warnings that are related to experimental features
- This adds rb_category_compile_warn in order to emit compiler warnings
with categories. Note that Ripper currently ignores the category
for these warnings, but by default it ignores the warnings completely,
so this shouldn't matter. -
05:54 PM Revision 05313c91 (git): Use category: :deprecated in warnings that are related to deprecation
- Also document that both :deprecated and :experimental are supported
:category option values.
The locations where warnings were marked as deprecation warnings
was previously reviewed by shyouhei.
Comment a couple locations where depreca... -
05:54 PM Revision 6ced55b0 (git): Make warning_categories a map of category symbols to category numbers
- Use this to simplify rb_warning_category_from_name.
This also adds support for using the :experimental category in
Kernel#warn and Warning.warn. -
05:54 PM Revision 52fb696e (git): Switch rb_category_warn{,ing} to accept an rb_warning_category_t
- Since we decided to only allowing specific warning categories,
there is no reason to have an API that accepts a general string,
as it is more error-prone. Switch to only allowing the specific
warning categories.
As rb_category_warn{,in... - 05:44 PM Revision 7b06085c (git): [bigdecimal] Fix test for d5ab8e8562
- 05:29 PM Revision d5ab8e85 (git): [bigdecimal] Use rb_undef_alloc_func to undefine allocate
-
05:12 PM Revision c2a5594e (git): [ruby/reline] Use cached prompt list when just moved the cursor
- https://github.com/ruby/reline/commit/cfe619460b
-
05:12 PM Revision d4257c61 (git): [ruby/reline] Yank by em-kill-region correctly
- This closes ruby/reline#106.
https://github.com/ruby/reline/commit/2549a52e15 -
05:12 PM Revision af2c81e1 (git): [ruby/reline] Bind yank-pop correctly
- https://github.com/ruby/reline/commit/3c74beac65
-
05:12 PM Revision 671f2762 (git): [ruby/reline] Add Enumerable to KillRing for debugging
- https://github.com/ruby/reline/commit/d208874152
-
05:12 PM Revision dc61affd (git): [ruby/reline] [ruby/irb] Call ripper only once when generating dynamic prompt
- https://github.com/ruby/irb/commit/babb122a48
https://github.com/ruby/reline/commit/e6dbcb3b42 -
05:05 PM Bug #17345: ripper: nothing raised when assigning to keyword variables
- > Now, the '#tok' on some error events are `Elem` instead of string.
pull request: https://github.com/ruby/ruby/pull/3936
-
05:05 PM Revision e76b56f5 (git): support Ruby 2.x for openssl
-
03:53 PM Revision ad76c8fb (git): Update TypeProf to 0.10.0
-
03:34 PM Revision 19a98a87 (git): Fixed not to make non-literal expression shareable [Feature #17273]
- Non-literal expression which is not a part of a literal expression
is not a subject of `shareable_literal_value: literal`. - 03:04 PM Revision 6945597f (git): * 2020-12-19 [ci skip]
-
03:04 PM Revision ed5c09f3 (git): Remove unused variable
-
02:37 PM Feature #17339 (Assigned): Semantic grouping with BigDecimal#to_s
-
02:31 PM Bug #9246 (Closed): NoMemoryError is occurred by simple addition of BigDecimal
- This no longer occurs with the latest version of bigdecimal.
- 01:00 PM Revision c71934f8 (git): [stringio] Version 3.0.0
- https://github.com/ruby/stringio/commit/831be01071
- 01:00 PM Revision e1b5289a (git): [stringio] Add test-unit in the development dependencies
- https://github.com/ruby/stringio/commit/de010fc0e9
- 01:00 PM Revision 3d319441 (git): [stringio] Make stringio Ractor safe
- https://github.com/ruby/stringio/commit/ee3fec7512
https://github.com/ruby/stringio/commit/18dcd045ef
https://github.com/ruby/stringio/commit/18dcd045ef - 12:58 PM Revision 14ca7f63 (git): [openssl] Fix dependencies
-
10:17 AM Bug #17402 (Closed): Remove deprecated GC-related features
-
09:19 AM Revision b5588edc (git): openssl is ractor-safe
- ossl_bn_ctx is C's global variable and it should be ractor-local
to make it ractor-safe. -
08:59 AM Revision 74ab2c3b (git): finalizing should be checked before VM lock
-
08:56 AM Revision 7d32bf78 (git): Removed a moved local variable
-
08:50 AM Revision 61236770 (git): need to sync gc_finalize_deferred
- gc_finalize_deferred() runs finalizers and it accesses objspace,
so it need to sync. -
07:27 AM Revision 75416b86 (git): Removed old GC.stat keys deprecated since 2.2
-
07:27 AM Revision 763d5f9c (git): Removed old GC tuning environment variables deprecated since 2.1
-
07:08 AM Revision 982443e6 (git): Revert "Better cooperation between public/protected/private with attr* and alias_method"
- This reverts commit 81739ad4fdfcc86a769056fec352f27c686fba1b.
-
07:08 AM Revision 41c208d4 (git): Revert "Use rb_id_attrset without intermediate strings"
- This reverts commit 66090b9d10cdaed917b525225e59d1c19e399248.
-
07:08 AM Revision c4e50b58 (git): Revert "Added missing tests for public, private, protected and alias_method"
- This reverts commit e042e8460bb9a63c05f938d51e8c7c5345a6f3a4.
-
07:08 AM Revision 0a60ba92 (git): Revert "Added tests for [Feature #17314]"
- This reverts commit 34f06062174882a98ebef998c50ad8d4f7fc0f2e.
-
06:44 AM Feature #16274: Transform hash keys by a hash
- solnic (Piotr Solnica) wrote in #note-18:
> marcandre (Marc-Andre Lafortune) wrote in #note-17:
> ...
It looks like you are replying to me, but of course this is Matz' decision. That said I feel that the current name is good, especiall... -
06:25 AM Feature #16274: Transform hash keys by a hash
- marcandre (Marc-Andre Lafortune) wrote in #note-17:
> Closing, since this has been committed by Nobu 🎉 (in b25e27277dc39)
> ...
This is a wonderful addition but is there a chance you'd reconsider it? Instead of making `transform_keys` ... -
06:16 AM Revision 8e03e3b0 (git): Drop token info also for endless singleton method definition
-
05:59 AM Revision ffc8a72f (git): Sort URLs by issue numbers [ci skip]
-
05:36 AM Revision f0ec923c (git): Remove --jit-save-temps from MJIT
- It's probably not helping the backtrace.
- 05:25 AM Revision b5de66e1 (git): [strscan] Fix license comment and files
- https://github.com/ruby/strscan/commit/a999f2c6d1
- 05:25 AM Revision 53709639 (git): [strscan] Version 3.0.0
- https://github.com/ruby/strscan/commit/08645e4e77
- 05:25 AM Revision 985f0af2 (git): [strscan] Make strscan Ractor safe (#17)
- * Make strscan Ractor safe
* Add test-unit in the development dependencies
https://github.com/ruby/strscan/commit/3c93c2bebe -
05:16 AM Revision cfa124ef (git): acquire VM lock on gc_verify_internal_consistency()
- There is a case to call this function without VM lock acquiring.
-
05:11 AM Revision 8cba3b35 (git): Bump version RubyGems and Bundler in NEWS
-
05:09 AM Revision b44f7151 (git): zlib is ractor-safe
-
04:33 AM Revision 0e40cc9b (git): Merge RubyGems 3.2.2 and Bundler 2.2.2
-
04:15 AM Feature #17099: Remove boolean argument and warning from Module#attr
- It has not been warned unless `$VERBOSE` yet.
We may need wait one more release if we obey the previous rule.
But deprecations aren't warned even if `$VERBOSE` since 2.7.2, I think we can reconsider that rule. -
04:04 AM Feature #17314 (Closed): Provide a way to declare visibility of attributes defined by attr* methods in a single expression
- Applied in changeset commit:git|34f06062174882a98ebef998c50ad8d4f7fc0f2e.
----------
Added tests for [Feature #17314] -
04:03 AM Revision 34f06062 (git): Added tests for [Feature #17314]
-
03:59 AM Revision e042e846 (git): Added missing tests for public, private, protected and alias_method
-
03:10 AM Revision 66090b9d (git): Use rb_id_attrset without intermediate strings
-
02:23 AM Revision a07f2498 (git): socket is ractor-safe.
-
02:18 AM Revision aa82b067 (git): ruby_set_stack_size: no longer exists
- Deleted since fc3c60f6081d85f6274986a7a08b59db1515fcb5
-
01:58 AM Feature #17398: SyntaxError in endless method
- The following patch allows `def foo() = puts "bar"`. It brings no parser conflict.
https://gist.github.com/mame/0773bf3938e046e2b608de5fb2a826c8
However, it is not perfect. `private def foo() = puts "foo"` does not parse.
`private... -
12:12 AM Revision 51c2725d (git): use eval to create different Regexp objects
- Only one warning is shown for the same Regexp object, so create
different objects to support repeating tests.
http://ci.rvm.jp/results/trunk-repeat20@phosphorus-docker/3290658
12/17/2020
-
11:26 PM Revision 29e42b8b (git): add explicit check
- To debug this issue:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20201217T220004Z.fail.html.gz -
09:28 PM Misc #16443 (Closed): GC.compact is not documented
- Applied in changeset commit:git|895b10ad020a788566c6e35431d07e6121e38c87.
----------
Add documentation about GC.compact
[Misc #16443][ruby-core:96395] -
09:27 PM Misc #16443: GC.compact is not documented
- Hi Victor. I added some documentation in 895b10ad020a788566c6e35431d07e6121e38c87. Please feel free to add more details, but I don't want to describe how the internals work since they may change.
Thanks. -
09:26 PM Revision 895b10ad (git): Add documentation about GC.compact
- [Misc #16443][ruby-core:96395]
-
07:47 PM Feature #15822: Add Hash#except
- I think `except` should always return a Hash, since Matz prefers returning [the base class instead of subclass](https://bugs.ruby-lang.org/issues/6087#note-12) and we're changing a bunch of String methods too.
I will merge https://git... -
06:29 PM Feature #17404 (Assigned): Ractor `move:` API to allow shareability check
- I'd like to `ractor.send(message)` and express that `message` should be shareable. Currently I'm given two choices: `move: true` and `move: false` / nothing, neither of which have an effect if my `message` is shareable, and neither of wh...
-
05:46 PM Revision 81739ad4 (git): Better cooperation between public/protected/private with attr* and alias_method
- 04:20 PM Revision f7a6b460 (git): * 2020-12-18 [ci skip]
-
04:20 PM Revision 6538c89f (git): gc_verify_internal_consistency() needs barrier
- gc_verify_internal_consistency() accesses all slots (objects) so
all ractors should stop before starting this function. -
04:16 PM Feature #17398: SyntaxError in endless method
- Eregon (Benoit Daloze) wrote in #note-3:
> So it's probably going to be very difficult to explain the actual condition, other than showing specific examples.
Endless methods definitions don’t support poetry mode? -
01:52 PM Feature #17398: SyntaxError in endless method
- Conceptually, according to the typical definition in computer science, both `puts("bar")` and `puts "bar"` are expressions (i.e., they return a value, and if it was some other method than `puts` it would also not always be `nil`).
It mi... -
09:39 AM Feature #17398: SyntaxError in endless method
- @mame Hmm, haven't thought about it from this perspective... Can you please explain a bit? As far as I can see, in, say, assignment context it behaves like an expression:
```ruby
result = puts 'foo'
# prints "foo", result = nil
```... -
12:49 AM Feature #17398: SyntaxError in endless method
- The body of an endless method must be an expression (called "arg" in the syntax rules of parse.y). `puts("bar")` is an expression, but `puts "bar"` is a statement (called "command" in the syntax rules).
I think it could be a bit confu... -
01:54 PM Misc #17399: Are endless methods experimental?
- I think a warning would better, especially since there were quite a few changes regarding what was accepted after the `=`.
Also, they purely seem redundant to me and I guess to others, so maybe they might be removed one day like the p... -
01:39 PM Revision caef364c (git): test/ruby: suppress some warnings
- follow up to 9908177857a28633d6279c43a1ad4dfedcb98596
-
01:24 PM Feature #17403 (Closed): Remove Fixnum and Bignum
- They are warned as deprecated since 2.4.
As deprecated warnings are not shown by default since 2.7.2, I think we should clean up longstanding warnings.
https://github.com/ruby/ruby/pull/3927 - 11:24 AM Revision 980f994b (git): [ruby/irb] Change context-mode's default to new mode 4.
- This new mode uses a copy of the TOPLEVEL_BINDING. This is compatible with refinements (contrary to mode 3), while keeping nested IRB sessions separate
https://github.com/ruby/irb/commit/25c731cb2f -
11:23 AM Revision 753222d7 (git): [ruby/irb] Enable deprecation warnings when using -W or -w
- Requested in Ruby Bug 17377
https://github.com/ruby/irb/commit/698f6eb34a -
11:23 AM Revision 336fe648 (git): [ruby/irb] Skip the few failing tests on TruffleRuby
- https://github.com/ruby/irb/commit/22717844c0
-
11:22 AM Revision b5effe07 (git): [ruby/irb] Fixed a typo in a comment [ci skip]
- https://github.com/ruby/irb/commit/ce373417f3
-
11:22 AM Revision cbf6a7f9 (git): [ruby/irb] workaround for lack of tokens from `Ripper.lex`
- * Fixes #38
https://github.com/ruby/irb/commit/905fb8e52e - 11:20 AM Revision 422e2c72 (git): [ruby/reline] Use plus operator to create unfrozen string
- https://github.com/ruby/reline/commit/ca274b0d37
-
11:17 AM Revision cdf2790a (git): [ruby/reline] Support longer than screen height on Windows
- https://github.com/ruby/reline/commit/2a97ca9362
-
11:17 AM Revision 0158ba7e (git): [ruby/reline] Make a log file on windows if debug env is set
- https://github.com/ruby/reline/commit/dff30a2d44
-
11:14 AM Revision 2b8fa781 (git): [ruby/reline] Support longer than screen height
- https://github.com/ruby/reline/commit/e83a3de9ed
-
11:06 AM Revision 99081778 (git): test/ruby: Check warning messages at a finer granularity
- Instead of suppressing all warnings wholly in each test scripts by
setting `$VERBOSE` to `nil` in `setup` methods. - 11:04 AM Revision d597d7a8 (git): Fixing glitchy kill ring behavior in irb
- See https://github.com/ruby/irb/issues/85 for details
-
09:13 AM Revision da3438a5 (git): sync obj_to_id_tbl
- objspace->obj_to_id_tbl is a shared table so we need to synchronize
it to access. -
09:13 AM Revision 7f11c808 (git): reduce barrier counts for GC events
- mark needs barrier (stop other ractors), but other GC events don't need
barriers (maybe...). -
08:37 AM Revision 99b91453 (git): relax synchronization on WB
- Current synchronization is too much on write barriers.
-
08:24 AM Revision 44fba194 (git): ruby/pathname separated .rb file to top-level directory.
-
08:03 AM Revision c42948d7 (git): add debug counters for gc start events
-
07:53 AM Revision 92137718 (git): encourage inlining for vm_sendish()
- Some tunings.
* add `inline` for vm_sendish()
* pass enum instead of func ptr to vm_sendish()
* reorder initial order of `calling` struct.
* add ALWAYS_INLINE for vm_search_method_fastpath()
* call vm_search_method_fastpath() from vm_sen... -
07:06 AM Revision 5d74894f (git): Lazily move PC with RUBY_VM_CHECK_INTS
- ```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=12 --alternate --output=all benchmark.yml
before --jit: ruby 3.0.0dev (2020-12-17T06:17:46Z master 3b4d698e0b) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (20... -
06:56 AM Bug #17400: Incorrect character downcase for Greek Sigma
- I have to acknowledge that I 'cut some corners'. It's essentially table 3.17 on p. 151/2 of the Unicode Standard (see https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf).
The problem from the implementation side is that it requir... -
04:26 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Java has complicated opinions as well:
```
class Main {
public static void main(String args[]) {
System.out.println("Σ".toLowerCase());
System.out.println("ΣΣs".toLowerCase());
System.out.println("ΣΣ".toLowerCase... -
03:35 AM Bug #17400: Incorrect character downcase for Greek Sigma
- If the word has a single letter (i.e., `"Σ"`), toLowerCase returns `"σ"` instead of `"ς"` even though the letter is at the end of the word. The condition seems more complex.
```
$ node
> "Σ".toLowerCase()
'σ'
``` -
03:14 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Yes everybody wants ruby to handle it "correctly". The problem right now is the lack of concrete definition of "correct" here; especially we need a definition of a word boundary.
-
03:07 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Oops, my understanding seemed to be wrong. Please forget my previous comment. When the next letter is an apostrophe, the further next letter seems to determine, but I don't understand this behavior from the code of v8. I leave it to an e...
-
02:40 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Prior art here is:
https://github.com/elixir-lang/elixir/issues/6437
https://github.com/elixir-lang/elixir/pull/6990/files
Rust
https://github.com/rust-lang/rust/issues/26035
Golang
https://github.com/golang/text/blob/master/cases... -
02:39 AM Bug #17400: Incorrect character downcase for Greek Sigma
- Just FYI: I found the special handling code of Greek Sigma in v8. Looks like that it checks if the next character (if any) is a letter or not.
https://github.com/v8/v8/blob/4b9b23521e6fd42373ebbcb20ebe03bf445494f9/src/unicode.cc#L177-... -
01:11 AM Bug #17400: Incorrect character downcase for Greek Sigma
- I guess the ultimate reason why this is not implemented in ruby is the corresponding case mapping is commented out in https://unicode.org/Public/UNIDATA/SpecialCasing.txt
So strictly speaking we just follow what Unicode says but well,... -
06:17 AM Revision 3b4d698e (git): Ignore catch_except_p for PC motion
- We probably don't need to move it when an insn is leaf...
-
05:37 AM Revision a09c3c6f (git): expand VERSION path for ruby repository.
-
05:28 AM Feature #17342: Hash#fetch_set
- MaxLap (Maxime Lapointe) wrote in #note-19:
> matz (Yukihiro Matsumoto) wrote in #note-16:
> ...
Matz says it's rare.
I'm not sure if that is true, but so far nobody shows any evidence about its rarity. -
05:20 AM Revision 46ea7429 (git): Bump version to json-2.4.1 and use VERSION file for json version same as upstream
-
05:04 AM Bug #17402 (Closed): Remove deprecated GC-related features
- Are these backward compatibilities still needed?
I think no.
```
$ RUBY_FREE_MIN=1 RUBY_HEAP_MIN_SLOTS=1 ruby2.1 -e0
ruby2.1: warning: RUBY_FREE_MIN is obsolete. Use RUBY_GC_HEAP_FREE_SLOTS instead.
ruby2.1: warning: RUBY_HEAP_MIN... - 04:22 AM Revision ccf9da07 (git): fix doc typo
- s/it's/its
-
03:59 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- nobu (Nobuyoshi Nakada) wrote in #note-5:
> Your proposal seems `shareable_constant_value: everything` (it's prefixed with `experimental_` now though).
No, that value deep-freezes implicitly all constants. Non-literals are not frozen... -
03:42 AM Feature #17397: `shareable_constant_value: literal` should check at runtime, not at parse time
- Your proposal seems `shareable_constant_value: everything` (it's prefixed with `experimental_` now though).
-
03:43 AM Revision d07183ec (git): Do not access jit_unit if NULL
-
12:59 AM Feature #17401 (Closed): The class `Ractor::MovedObject` should not be frozen
- If `Ractor::MovedObject` can be not frozen that would be more helpful than currently. For example, to implement a helpful `inspect` in pure Ruby 3.0 like in #17393
It is currently possible to go around the fact that it is frozen with ... -
12:30 AM Misc #17337 (Open): Don't embed Ruby build-time configuration in Ruby
- vo.x (Vit Ondruch) wrote in #note-15:
> Should I open separate ticket for the revert and keep this ticket open for continuing the "whole principle" discussion?
Don’t worry, I have reverted that part already. Use this ticket for the ...