Activity
From 12/20/2020 to 12/26/2020
12/26/2020
-
10:29 PM Feature #17370: Introduce non-blocking `Addrinfo.getaddrinfo` and related methods.
- In order to implement this hook, we need to expose the C interface to extensions:
https://github.com/ruby/ruby/pull/3945 - 10:02 PM Revision 7459fcb3 (git): * 2020-12-27 [ci skip]
-
09:51 PM Revision ab6adf27 (git): doc/ractor.md: Fix indentation in code blocks
- Remove unnecessary indentation of code in code blocks
(it is also not rendered properly in the generated HTML).
Also remove an empty line. -
09:50 PM Revision 0a867315 (git): [DOC] Fix typos in vm_method.c
-
09:49 PM Revision 114840b0 (git): [DOC] Fix typo in proc.c
-
09:40 PM Feature #17474: Interpreting constants at compile time
- Why do we need a new syntax to do this? Couldn't the compiler already work out `10**6` at compile-time, and invalidate the constant if `Integer#**` is redefined?
Or is the idea that `[...]` will contain expressions that potentially ha... -
04:36 PM Feature #17474 (Open): Interpreting constants at compile time
- Ruby has borrowed concepts/idioms from allot of languages.
I am proposing borrowing a feature from Forth to provide for compile time interpretation of Constants.
This should make executed code faster|efficient, while maintaining sour... -
09:36 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
- > Timeout.timeout must be able to interrupt non-IO operations as well.
Actually, that's not necessarily true, even for the current implementation, see `getaddrinfo` for example. -
12:48 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
- How would that work, what would be a sample implementation of the hook?
`Timeout.timeout` must be able to interrupt non-IO operations as well. -
07:42 AM Feature #17470 (Closed): Introduce non-blocking `Timeout.timeout`
- In this bug report, user complained that `Timeout.timeout` does not work correctly with scheduler: https://github.com/socketry/async-io/issues/43
We should introduce non-blocking timeout.
I propose the following:
```
rb_fiber_s... -
06:57 PM Feature #17475 (Rejected): Implement arguments forwarding for blocks
- In a gem, I create a bunch of initializer shortcuts as follows:
# Shortcut initializers
CLASSES.each do |element, class_name|
define_singleton_method(element) do |*args, **kwargs|
class_name.to_class.new(*args... -
02:49 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- naruse (Yui NARUSE) wrote in #note-11:
> * Time#sql_timestamp for serializer
Time#sql_timestamp needs to convert rational subsec to finite digits (or raise an error).
truncate to nanoseconds?
-
02:16 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- What about making `Time.new(string)` to work more?
```ruby
Time.new("2020-12-25 17:09:16 +0900") #=> 2020-01-01 00:00:00 +0900
Time.new("2020-12-25 08:09:16 UTC") #=> 2020-01-01 00:00:00 +0900
```
It is surprising that only th... -
01:42 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- kamipo says Rails 6.1 uses their RDB driver's implementation to decode serialized string into Time object.
https://twitter.com/kamipo/status/1342820891256733696
For example PostgreSQL as below:
* https://github.com/rails/rails/pull/... -
11:07 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- We (akr, naruse and matsuda) discussed this issue.
- implementing this method, Time.sql_timestamp(string), in time.c would be faster implementation than Ruby version because it avoids several string object allocations: `/(\d+)-(\d\d)-(\... -
11:00 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- https://pubs.opengroup.org/onlinepubs/9695959099/toc.pdf
P.42 says " If the application or the user cannot infer a time zone (for example, from the context of the user’s session) then the date/time value is ambiguous."
* C implementatio... -
01:24 PM Bug #17469: Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- Thanks for both of the responses. I'm using the latest supported compiler/Xcode.
Ruby needs a wiki page explaining what is in scope and what is out of scope. -
03:59 AM Bug #17469: Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- Seems a compiler related issue.
Try more recent Xcode. -
01:23 AM Bug #17469 (Rejected): Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- MacOS 10.12.6 is too old environment. We couldn't care it.
-
12:56 PM Feature #17471: send_if method for improved conditional chaining
- hi.
How about using `#tap` + `break` ?
```ruby
# Proposal
puts number.send_if(:*, 2) {|obj| obj > 5}.send(:-, 1)
puts %w(Merry Christmas).send_if(:map, proc: :upcase ) { answer == 'y' }.join(' ')
# tap + break
puts number.tap ... -
10:37 AM Feature #17471 (Open): send_if method for improved conditional chaining
- # Background
Method chaining is very important to many Ruby users, since everything in Ruby is an object.
It also allows easier functional programming, because it implements a pipeline where each step can happen without mutation.
... -
12:53 PM Feature #17472: HashWithIndifferentAccess like Hash extension
- Isn't a C extension in a gem enough?
Also what specifically would writing it in C instead of Ruby gain?
Intuitively I'd think there would be no significant gain to write it in C.
Is there any profile showing a significant amount o... -
11:06 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- ❤️
-
11:04 AM Feature #17472 (Rejected): HashWithIndifferentAccess like Hash extension
- Rails has [ActiveSupport::HashWithIndifferentAccess](https://api.rubyonrails.org/classes/ActiveSupport/HashWithIndifferentAccess.html), which is widely used in Rails to handle Request, Session, ActionView's form construction, ActiveRecor...
-
12:45 PM Feature #17473: Make Pathname to embedded class of Ruby
- If we do so, could we actually define most of Pathname in Ruby, and not in C?
Right now, https://github.com/ruby/ruby/blob/3fc53de5c961cc8fa2b6acbd63874b89fe709520/ext/pathname/pathname.c is essentially just a bunch of rb_funcall() ca... -
12:00 PM Feature #17473 (Closed): Make Pathname to embedded class of Ruby
- pathname is one of most useful utility class of Ruby. I'm happy to use Pathname without require it.
Any thought? -
09:40 AM Revision 3fc53de5 (git): methods.rdoc: Improve method definition documentation
- * typos, grammar, formatting
* use `concrete_method` again in `regular_method` example,
to better distinguish from `forwarding_method` example
* clarify that leading arguments before `...` require Ruby 3.0 -
09:40 AM Revision ce65a768 (git): methods.rdoc: Clarify "currently" means "in 2.7" here
-
09:31 AM Revision 858f9aa4 (git): Update labels of badges [ci skip]
-
08:09 AM Revision 3a0a0869 (git): Add 3.0 top sepc guards
- * Needs WEBrick
-
07:40 AM Feature #17369: Introduce non-blocking `Process.wait`, `Kernel.system` and related methods.
- We introduced experimental feature and implemented non-blocking hook for Ruby 3.
More work is required here, but we didn't make it in time for Ruby 3.0 - so we marked it as experimental.
We also need to implement `rb_f_system` in t... -
06:10 AM Revision bb04856b (git): [ruby/racc] Bump version to 1.5.2
- https://github.com/ruby/racc/commit/ce0d7b9cde
-
06:10 AM Revision 533bf6f1 (git): [ruby/racc] Use Racc::VERSION for gemspec
- https://github.com/ruby/racc/commit/30f5760d85
-
04:26 AM Bug #17373: Ruby 3.0 is slower at Discourse bench than Ruby 2.7
- In my early benchmarks:
## Async
### ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
```
Wrapper#wait_readable
114.385k (± 1.0%) i/s - 573.250k in 5.012051s
Reactor#register 137.206... -
03:17 AM Revision 15e19207 (git): Fix a cyclic explanation
-
01:27 AM Feature #13368 (Closed): Improve performance of Array#sum with float elements
- https://github.com/ruby/ruby/pull/1555 was merged at https://github.com/ruby/ruby/commit/2d001003e4b3a6c20ead09ed54b6726a7669f457
-
12:45 AM Revision dc13bd22 (git): Ignore failure on unsupported fcntl to drop non-blocking mode
- Fixes https://github.com/ruby/ruby/pull/3723
-
12:39 AM Revision 292230cb (git): Fixed leaked global symbols
-
12:39 AM Revision 73cd4951 (git): Reduced GitHub Actions
- Moved leaked-globals before check.
12/25/2020
-
05:24 PM Bug #17469 (Rejected): Ruby 3.0.0 do not install cleanly from source on MacOS 10.12.6
- Description
* Ruby 3.0.0 do not install cleanly on MacOS 10.12.6.
Steps to Reproduce
* Following instructions at the bottom of
* https://www.ruby-lang.org/en/documentation/installation
* Downloaded ruby-3.0.0.tar.gz file. (w... - 04:41 PM Revision d4ba88bc (git): * 2020-12-26 [ci skip]
-
04:40 PM Revision 6083fed3 (git): Use `size_t` for `RSTRING_LEN` in String#count
- https://hackerone.com/reports/1042722
-
01:23 PM Revision 92f9f998 (git): test/test_trick.rb: fixed the position to add timeout
-
01:10 PM Revision 255ee4de (git): Update method definition documentation
- * Add endless methods
* Add argument forwarding ... -
01:09 PM Revision aaf0474e (git): Adjusted the heading level of "Block Arguments" [ci skip]
-
12:58 PM Revision a01d28fe (git): test/test_trick.rb: increase timeout of some tests
- http://rubyci.s3.amazonaws.com/raspbian10-armv7l/ruby-master/log/20201225T071824Z.fail.html.gz
- 11:11 AM Revision 7a4b8d87 (git): [memory_view] Fix a comment
- A consumer of a MemoryView no longer guards the original object.
[ci skip] -
09:32 AM Feature #17468 (Closed): Deprecate RUBY_DEVEL
- Some configuration of Ruby use RUBY_DEVEL, which depends PATCH_LEVEL.
But depending PATCH_LEVEL causes issues which will become revealed on the final release.
Though we release some previews and RCs, they don't contributes the quality ... -
08:43 AM Revision ddacff2b (git): Follow up on variations of the development start messages [ci skip]
-
08:31 AM Revision 7e3d710a (git): Copy NEWS.md to doc/NEWS-3.0.0.md and update for 3.1.0
-
08:09 AM Revision c591ab11 (git): Development of 3.1.0 started.
-
06:57 AM Revision caae14d9 (git): test_trick.rb: Make the encoding explicit for code written in UTF-8
-
06:28 AM Revision 67fe290b (git): fix filename
-
06:22 AM Revision 09216f63 (git): test/test_trick.rb: Add a test file for TRICK entries (#3988)
- * test/test_trick.rb: Add a test file for TRICK entries
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> -
03:33 AM Revision 95aff214 (git): Disable DTrace in FreeBSD (#3999)
- The latest ruby cannot compile with FreeBSD Dtrace enabled.
-
03:33 AM Revision 31217190 (git): Sort URLs by issue numbers and remove duplicated [ci skip]
-
03:33 AM Revision 0a31310b (git): define RGENGC_DEBUG_ENABLED() as 0
- on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO.
gc_report() is always enabled on such configuration
(maybe it is a bug) so disable RGENGC_DEBUG_ENABLED(). -
03:32 AM Revision 6a0bbc55 (git): Updated bundled_gems
-
03:06 AM Revision 78677f10 (git): Disable DTrace in FreeBSD (#3999)
- The latest ruby cannot compile with FreeBSD Dtrace enabled.
-
02:32 AM Revision 1f18f5c6 (git): Sort URLs by issue numbers and remove duplicated [ci skip]
-
02:20 AM Revision 888cf28a (git): define RGENGC_DEBUG_ENABLED() as 0
- on RUBY_DEVEL==0 and !HAVE_VA_ARGS_MACRO.
gc_report() is always enabled on such configuration
(maybe it is a bug) so disable RGENGC_DEBUG_ENABLED(). -
01:42 AM Revision 5c6f5b16 (git): Update stdlib section for Ruby 3.0
-
01:22 AM Revision 1ba77ff8 (git): Update stdlib section for Ruby 3.0
-
12:57 AM Revision a628a108 (git): USE_RUBY_DEBUG_LOG is not defined !devel build
-
12:53 AM Bug #17428: Method#inspect bad output for class methods
- Agreed that looks nice, but what should be shown from the example in #15608?
```
p obj.method(:foo)
#<Method: C#foo>
vs
#<Method: #<C:0x000055668ebef268>.foo(C#foo)>
```
based on whether the instance has a singleton class doesn't seem id... -
12:52 AM Revision 45f3d481 (git): USE_RUBY_DEBUG_LOG is not defined !devel build
12/24/2020
-
11:45 PM Revision 3fadf266 (git): v3.0.0p0
-
10:20 PM Revision 93a1ef67 (git): Fix typos
-
10:09 PM Revision c3f91f9d (git): [DOC] Fix typos
- 05:08 PM Revision db2ebbd7 (git): Optimize calls to `Kernel#hash` (#3987)
- This avoids recursive checks when the `hash` method of an object
isn't specialized. -
04:59 PM Revision 8981a63f (git): Update TypeProf to 0.11.0 (#3996)
- 04:44 PM Revision 9b091084 (git): [memory_view] Add documentation [ci skip]
-
04:29 PM Revision 523b520b (git): [ruby/reline] 0.2.0
- https://github.com/ruby/reline/commit/064664c8f9
-
04:29 PM Revision 32616229 (git): [ruby/irb] Version 1.3.0
- https://github.com/ruby/irb/commit/ec83280e66
-
03:58 PM Bug #17428: Method#inspect bad output for class methods
- After thinking about this more, I would prefer :
```ruby
Module.method(:prepend)
# => #<Method: Module.prepend(Module#prepend)(*)>
```
Basically, show the method based on the receiver, then, if it is different, the method based ... -
11:06 AM Bug #17428: Method#inspect bad output for class methods
- marcandre (Marc-Andre Lafortune) wrote in #note-8:
> I prefer to decide "what do we want" than "what is easier".
I'm not matz, but what I want for Method#inspect is consistency and a clear rule for formatting.
(https://github.com/or... -
03:30 AM Bug #17428 (Closed): Method#inspect bad output for class methods
- Applied in changeset commit:git|1e215a66d26d56befab4fbb72e1d953879411955.
----------
Fix class of method in Method#inspect for singleton classes of classes
Previously, due to a change to fix bug 15608, Method#inspect output
changed for... -
03:56 PM Revision d143b75f (git): Adjusted indents [ci skip]
- 03:14 PM Revision 0356c326 (git): * 2020-12-25 [ci skip]
-
03:06 PM Revision c64a067d (git): configure.ac: Make it possible to build on Android Termux
- The recent Termux's clang predefines `__ANDROID_API__` as a fixed number
24. However, when it is lower to the current device version, some
functions that "configure" detemines available are not declared
correctly in the header files.
Th... -
02:35 PM Revision 81562f94 (git): Updated access to Process::Status attributes
- pst_pid() no longer returns Qnil even if the receiver is not
initialized. -
02:26 PM Revision 9a7647d9 (git): [ruby/reline] Doesn't contain terminate spaces by cw
- This closes ruby/reline#233.
https://github.com/ruby/reline/commit/4c3f2e2eae -
02:26 PM Revision 78421319 (git): [ruby/reline] Use #bytesize for vi_replace_char
- This closes ruby/reline#228.
https://github.com/ruby/reline/commit/8205fa0b00 -
02:26 PM Revision 0db9842b (git): [ruby/reline] Delete the last char of a line by dw
- This closes ruby/reline#229.
https://github.com/ruby/reline/commit/3f0ae689c4 -
02:26 PM Revision 8d5d139a (git): [ruby/reline] Suppress crashing when boken prompt_list is given
- https://github.com/ruby/reline/commit/922d087e7a
-
02:26 PM Revision 634b231f (git): [ruby/reline] Discard prompt cache by changing mode icon
- https://github.com/ruby/reline/commit/bfeda8a79b
-
02:26 PM Revision 167dc376 (git): [ruby/irb] Try not to register the exact same measuring method twice
- https://github.com/ruby/irb/commit/cc66b5573e
-
02:13 PM Revision 2c752ff9 (git): Fix a typo [ci skip]
-
01:59 PM Revision bdbbfd1f (git): Store errno in struct rb_process_status
- To propagate errno in the fiber thread scheduler hook.
Returns nil when no terminated process. -
12:51 PM Misc #17422: 3.0 documentation problems tracking ticket
- @nobu oh, good! I somehow assumed it always uses the rdoc bundled with the same version it documents.
-
11:53 AM Misc #17422: 3.0 documentation problems tracking ticket
- zverok (Victor Shepelev) wrote in #note-2:
> * `Kernel`: lost docs for several methods (like [#abort](https://docs.ruby-lang.org/en/master/Kernel.html#method-i-abort), but also `#exec`, `#exit`) due to `NORETURN` macro, I am not yet sur... -
09:16 AM Misc #17422: 3.0 documentation problems tracking ticket
- Current status updated in ticket description. Of the critical (?) things before the release, I believe this is the most important:
* `Kernel`: lost docs for several methods (like [#abort](https://docs.ruby-lang.org/en/master/Kernel.ht... -
12:26 PM Revision c752d29b (git): Bundle RBS 1.0.0 (#3994)
-
11:57 AM Bug #17466: Inconsistent backtrace order in Ruby 3.0
- Could IRB use `Exception#full_message` (+ filter with `Exception#set_backtrace`, or filter the output of `#full_message`)?
I was also surprised that IRB has its own backtrace formatting logic. -
10:35 AM Revision 9f9a389d (git): doc/syntax/pattern_matching.rdoc: fix typos, grammar, style
-
10:31 AM Revision a4419a55 (git): doc/extension.ja.rdoc: remove trailing whitespace
-
10:30 AM Bug #17427: Hash getting multiple identical keys
- Thanks, Jeremy!
I'm aware that `hash` values can overlap, it was just a shortcut to find problematic situations. In this test, false negatives can happen, but false positives can't.
I wasn't aware that there was any scenario where ... -
10:30 AM Revision c601a7ec (git): doc/keywords.rdoc: fix typo
-
10:27 AM Feature #10666 (Rejected): Allow setting of default MIME type for WEBrick
- WEBrick has been removed from ruby repository.
If anyone interest this, Please file this to https://github.com/ruby/webrick -
10:21 AM Bug #5418 (Rejected): Some properties of WEBrick::HTTPRequest could be malformed
- WEBrick has been removed from ruby repository.
If anyone interest this, Please file this to https://github.com/ruby/webrick -
10:18 AM Bug #17389 (Closed): New docs for non-blocking Fibers and scheduler
-
09:50 AM Bug #17389: New docs for non-blocking Fibers and scheduler
- @hakusaro This all would be (somewhat) true if I'd demanded "do document that new feature".
But I did it myself, I just asked if somebody can _review_ the docs (done since my last comment by @marcandre, huge thanks!)
Overall, I don't... -
07:50 AM Bug #17389: New docs for non-blocking Fibers and scheduler
- I reckon that Samuel is just wrapped up in some other things. Async is the gem carrying the "example torch," and he's been putting in [work on native scheduler use](https://github.com/socketry/async/commit/e403cc244482baf7adf17414a15b95a...
-
06:23 AM Bug #17389: New docs for non-blocking Fibers and scheduler
- @ioquatix @matz @marcandre @nobu @mame Is this OK that 3.0 will be released without proper docs for one of the major new features?..
- 09:58 AM Revision 7ca2ca9e (git): Remove unneeded code
-
09:56 AM Feature #17411: Allow expressions in pattern matching
- Thank you. @nobu We need approval from @ktsj as well. It will be available in 3.1.
Matz.
-
09:03 AM Revision 1a74fb01 (git): doc/maintainers.rdoc: typo
-
08:51 AM Revision 8664c3dd (git): update doc/ractor.md
-
08:28 AM Feature #15657: Make webrick to bundled gems
- Ah I expected `remove-webrick.patch` to add webrick to bundled gems modifying `gems/bundled_gems` from this ticket's patch.
But actually by #17303, I see the webrick has been completely removed without addding it to bundled gems. OK.
-
08:17 AM Feature #15657: Make webrick to bundled gems
- Which is the actual commit of the ruby repository? I could not find it on master branch.
-
07:06 AM Feature #15657 (Closed): Make webrick to bundled gems
- WEBrick has been removed from ruby repository at Ruby 3.0.
-
08:20 AM Revision a8993279 (git): gen-release-note.rb: Avoid to depend release metadata
- Because it doesn't have metadata when I edit draft.
-
08:20 AM Revision 6a6daf38 (git): Add tag key
- Release note will use tag value when I write GitHub URLs with release
tags. -
08:20 AM Revision 709d9cf1 (git): Add release engineering related tools
-
08:20 AM Revision d58537cf (git): Revert "remove bz2"
- This reverts commit 7856da5fe75a76bec909778e411270c10a04ca3a.
For other branches -
08:19 AM Revision eb3944c2 (git): Bundle RBS 1.0.0.pre2 (#3991)
-
08:15 AM Revision 85f01794 (git): doc/keywords.rdoc: mention pattern matching in the `in` keyword section
-
08:03 AM Revision 1415653c (git): Redocument non-blocking Fibers and scheduler
- * Document Fiber's method related to scheduling;
* Extend Fiber's class docs with concepts of non-blocking
fibers;
* Introduce "imaginary" (documentation-only) class
Fiber::SchedulerInterface to properly document how
scheduler's me... -
08:00 AM Revision 1729fd8c (git): doc/contributing.rdoc: remove outdated content
-
07:44 AM Bug #17467 (Closed): What makes strip() and lstrip() not stripping \u0000 from beginning of the string?
- Both strip(), and rstrip() will delete \u0000 from the end of a string. But I have a string that has "\u0000hello\u0000".
Output from strip, lstrip and rstrip:
"\u0000hello\u0000".strip # => "\u0000hello"
"\u0000hello\u0000".lstri... -
07:38 AM Revision f910a27d (git): README.md: Haiku is currently unsupported
-
07:22 AM Revision b343d547 (git): Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVC
- Pointed out by @shyouhei.
NOTE: Already we have dropped the support for older MSVCs,
probably prior to 1300 or 1400. Remove the conditional code,
especially in win32/Makefile.sub. - 07:19 AM Revision a76082f4 (git): Add call-seq to Ractor doc; improve wording [doc]
-
07:09 AM Misc #16417 (Rejected): Mark WEBrick::HTTPUtils.escape as obsolete in line with URI.escape/encode deprecation
- Unfortunately, WEBrick has been removed at Ruby 3.0.
-
07:06 AM Revision e44a8bd7 (git): Let's be more accurate [ci skip]
-
07:02 AM Revision 176b7574 (git): Add NEWS entries about JIT in Jul ~ Dec
- * Instance variables
* Merge ivar guards on JIT https://github.com/ruby/ruby/commit/a69dd699ee630dd1086627dbca15a218a8538b6f https://github.com/ruby/ruby/commit/e4f7eee009ebe1f23ee3e5ea69ccd9ea1530bc6f
* Prefer RB_OBJ_FROZEN_RAW http... - 06:36 AM Revision 8aa299de (git): Tweak magic comments [doc]
-
06:02 AM Bug #17423: `Prepend` should prepend a module before the class
- This is a serious breakage, in fact, breaks Rails. So I believe we need to change this soon. But:
* We need more time to investigate
* We don't have much time before the release
* Rails made a patch to address this issue
Thus fix... -
05:58 AM Revision 8c510e40 (git): NEWS.md: grammatical improvement
-
05:37 AM Revision 24ae0e8e (git): Review comments
-
05:37 AM Revision 5696c693 (git): Redocument Fiber#transfer
-
05:35 AM Bug #15661 (Closed): Disallow concurrent Dir.chdir with block
- Applied in changeset commit:git|8e1c0b2f93abe23f42bd7eba0a3f0d3f3669e486.
----------
dir.c: chdir conflict should raise only when called in different thread
... and keep it as a warning (like 2.7) when it is called in the same
thread. ... -
04:50 AM Bug #15661: Disallow concurrent Dir.chdir with block
- This issue was discussed at the last dev-meeting.
https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20201210Japan.md#bug-15661-disallow-concurrent-dirchdir-with-block-jonathanhefner
> * ko1: How about raising an ... -
05:34 AM Revision 8e1c0b2f (git): dir.c: chdir conflict should raise only when called in different thread
- ... and keep it as a warning (like 2.7) when it is called in the same
thread. [Bug #15661] -
05:31 AM Revision e43b5aa5 (git): remove redundant example.
- pointed by @marcandre.
-
05:28 AM Revision 6f29716f (git): shareable_constant_value: experimental_copy
- "experimental_everything" makes the assigned value, it means
the assignment change the state of assigned value.
"experimental_copy" tries to make a deep copy and make copyied object
sharable. -
03:48 AM Bug #16383: TracePoint does not report calls to attribute reader methods
- Hi,
I compensated for lack of this feature by implementing **manually-configured** computed data-binding in [Glimmer DSL for Tk](https://github.com/AndyObtiva/glimmer-dsl-tk#hello-computed) (Ruby Desktop Development GUI Library), [Gli... -
03:29 AM Revision 1e215a66 (git): Fix class of method in Method#inspect for singleton classes of classes
- Previously, due to a change to fix bug 15608, Method#inspect output
changed for class methods:
Ruby 2.7
"#<Method: String.prepend(*)>"
Before change:
"#<Method: #<Class:Object>(Module)#prepend(*)>"
This is wrong because the Method obj... -
03:10 AM Revision 9aca51e8 (git): add about Ractor into extension.rdoc [ci skip]
-
02:56 AM Bug #17387 (Closed): About Warning.warn compatibility in Ruby 3.0.0
- The Japanese doc has been fixed. This is actually an incompatibility, but I believe it is a minor issue. Thank you for the report. Closing.
-
02:52 AM Feature #17433 (Closed): Expose atomic operation macros with RUBY prefix
-
02:43 AM Revision 66719d7d (git): etc: use atomic operation instead of mutex
-
02:43 AM Revision 6ed6b85e (git): Expose atomic operation macros with RUBY prefix
- Now we need atomic operations, which are lighter than mutex, more
widely for extension libraries because of Ractor. -
01:15 AM Revision f755926d (git): test/ruby/test_module.rb: not depend on the order of method definitions
- 12:32 AM Revision 05a756b3 (git): [memory_view] Fix some grammar issues in a comment
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)