Activity
From 01/02/2021 to 01/08/2021
01/08/2021
-
11:26 PM Bug #17521 (Closed): [Matrix stdlib] Zero matrix to the power of zero
- Just like `0**0 == 1`, `Matrix.zero(n)**0 == Matrix.identity(n)` should be true for all `n`:
https://math.stackexchange.com/questions/699740/zero-matrix-to-the-power-of-0
However:
```
$ ruby -e "require 'matrix'; Matrix.zero(1)... -
10:41 PM Feature #17520 (Feedback): Allow symbols starting with number, e.g. :2_weeks
- You may not know that:
```ruby
p({ '2_weeks': 1 })
# => prints {:"2_weeks"=>1}
```
Such symbols being quite rare, I believe this solution should be enough. -
09:59 PM Feature #17520 (Feedback): Allow symbols starting with number, e.g. :2_weeks
For instance:
```
p({ 2_weeks: 1 })
```
results in:
```
a.rb:1: trailing `_' in number
p({ 2_weeks: 1 })
a.rb:1: syntax error, unexpected local variable or method, expecting =>
p({ 2_weeks: 1 })
```
and
```
p({ ...-
07:45 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- and a demonstration with a custom class:
```ruby
RUBY_VERSION
class Thing
def direction
'LEFT'
end
end
def test_thing_visibility
t1 = Thing.new
t2 = Thing.new
t1.singleton_class.send(:private, :direction)
t2.singleton_... -
07:29 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
- since :except is only available natively on Ruby3, here is a Ruby2 demonstration:
```ruby
irb> RUBY_VERSION
=> "2.7.2"
irb> module Nothing; end; Hash.prepend(Nothing); Hash.ancestors
=> [Nothing, Hash, Enumerable, Object, PP::ObjectMixi... -
07:15 PM Bug #17519 (Closed): set_visibility fails when a prepended module and a refinement both exist
- the set_visibility functions (aka public/private/protected) fail with NameError when:
* called on a specific object's singleton class
* for a specific method
* and both of the following are true
* any module has been prepended to th... -
03:59 PM Bug #17518 (Closed): escapeHTML segfaults on armv7hl
- Thx, that helped. Going to set backport flag.
-
12:19 PM Bug #17518: escapeHTML segfaults on armv7hl
- Maybe the issue has been already fixed since f690eb34e28b000627e5f0649dd81a04e252286f. Can you check it on the master?
-
11:36 AM Bug #17518 (Closed): escapeHTML segfaults on armv7hl
- Preparing Ruby 3.0 update in Fedora Rawhide, I struggle with rebuild of 'unicode' gem on armv7hl:
~~~
... snip ...
+ gem install -V --local --build-root . --force --document=ri,rdoc unicode-0.4.4.2.gem
... snip ...
Successfu... - 03:31 PM Revision 1a3343cf (git): * 2021-01-09 [ci skip]
-
03:31 PM Revision 391ee3ee (git): Replace `Kernel.#open` with `URI.open` in doc
- Because `Kernel.#open` no longer opens URI since Ruby 3.0.
-
06:43 AM Revision 98bd7e87 (git): [ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.pp
- The incompatible interface is not helpful, again if you want to use it
as a standalone library, falling it back to PP.
Original PP.pp also ends with `out << "\n"`.
https://github.com/ruby/irb/commit/4c74c7d84c -
06:35 AM Revision d6b2b5bd (git): [ruby/irb] Add missing require
- This is useful if you want to use IRB::ColorPrinter as a library like:
```
begin
require 'irb/color_printer'
IRB::ColorPrinter.pp(obj)
rescue LoadError
pp(obj)
end
```
https://github.com/ruby/irb/commit/f8461691c7 -
05:44 AM Revision d4b7e967 (git): should use `assert_include` here.
- Random ordering test can introduce antoher candidate so it should be
`assert_include`. -
05:39 AM Revision abdc634f (git): remove unused decl
-
04:38 AM Bug #17466 (Closed): Inconsistent backtrace order in Ruby 3.0
- Applied in changeset commit:git|917050220a1fd41bdb3e50ea54a200b0c285bcd4.
----------
[ruby/irb] Use Exception#full_message to show backtrace in the correct order
[Bug #17466]
https://github.com/ruby/irb/commit/1c76845cca - 04:38 AM Revision 5a221ead (git): * 2021-01-08 [ci skip]
-
04:32 AM Revision 6cbb3fd1 (git): [ruby/irb] Fix comment, irb gem supports 2.5.0 or older
- https://github.com/ruby/irb/commit/36118015ba
-
04:25 AM Revision a8f4cbee (git): [ruby/reline] Add acknowledgments and license for rb-readline
- https://github.com/ruby/reline/commit/19df59b916
-
04:25 AM Revision 01235f80 (git): [ruby/reline] Suppress auto indent for adding newlines in pasting
- Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/074bb017a7 -
04:25 AM Revision 76c9a3c8 (git): [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken prompt list
- Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/558f7be168 -
04:25 AM Revision 88af5085 (git): [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent info
- Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/7c24276275 -
04:25 AM Revision e356b71d (git): [ruby/reline] Remove debug print
- https://github.com/ruby/reline/commit/d7fbaedc6a
-
04:25 AM Revision ea75aed9 (git): [ruby/reline] Correct var names in Reline were different from vi-*-mode-string
- https://github.com/ruby/reline/commit/8255fc93b9
-
04:25 AM Revision 54c1dcba (git): [ruby/reline] Update cursor correctly when just cursor moving
- This fixes ruby/reline#236 and ruby/reline#239.
https://github.com/ruby/reline/commit/3e3c89d00b -
04:25 AM Revision 559f844b (git): irb: Drop lines from backtrace for tests in Ruby repository
-
04:25 AM Revision 111fddd5 (git): [ruby/irb] Fix BACK_TRACE_LIMIT logic
- https://github.com/ruby/irb/commit/30dc5d43fe
-
04:25 AM Revision 91705022 (git): [ruby/irb] Use Exception#full_message to show backtrace in the correct order
- [Bug #17466]
https://github.com/ruby/irb/commit/1c76845cca -
04:25 AM Revision ed3264d3 (git): [ruby/irb] refactoring an error handling in `IRB::Inspector`
- * moved rescue clause to `#inspect_value` to catch all failures in inspectors
* test with all (currently five kind of) inspect modes
- tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject`
https://github.com/ruby/i... -
04:25 AM Revision f5947752 (git): [ruby/irb] do not escape a predicate method for doc namespace
- * Fixes #88
https://github.com/ruby/irb/commit/d431a30af4 -
04:25 AM Revision 4bb683a5 (git): [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence`
- https://github.com/ruby/irb/commit/d09d3c3d68
01/07/2021
-
08:34 PM Bug #17493: Calling Reline::Unicode.calculate_width appears to lock up when called from emacs or if output is redirected
- Another way the problem can happen is displaying an EN DASH character, such as in a CSV file produced by LibreOffice.
When a shell is running inside emacs, including the case of running inf-ruby, ANSI sequences are not honoured. In most... -
04:40 PM Feature #17474: Interpreting constants at compile time
- New year, new comment! :D
jzakiya wrote:
> Ruby has borrowed concepts/idioms from allot of languages.
This is true; ruby has always been **multi-paradigm** and " **more than one way** ", even though I think its core strength has been ... -
01:36 PM Feature #17474: Interpreting constants at compile time
- Dan0042 (Daniel DeLorme) wrote in #note-21:
> I think it would make sense to say that precisely "when" the expression is executed is undefined. So in the case of lazy parsing it would be parsed and evaled when the containing code is par... -
04:27 PM Bug #17516: forking in a ractor causes Ruby to crash
- I'm wondering if we can limit Process calls in the ractor as we do for accessing out of band variables? I've not had a chance to attach GDB to the Ruby VM yet (I have to compile Ruby with -O0 -g3 for things to be clear).
BTW I'm not s... -
02:44 PM Revision 55e52c19 (git): simplify assertion
- searched_cme is used only this line so the variable is not needed.
-
01:23 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- Actually having an extra Thread in the main Ractor to do the require's seems a much nicer solution, as proposed above (I forgot about it).
-
01:22 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- ko1 (Koichi Sasada) wrote in #note-7:
> If we allow to require from non-main ractors, the only problem is `$LOADED_FEATURES`?
Not only, as we see above RubyGems uses a Monitor, and that doesn't work with Ractor.
Making the entire lo... -
01:11 PM Feature #17323: Ractor::LVar to provide ractor-local storage
- I was thinking `Ractor::Local.new` would be fine too, (e.g., Java has `new ThreadLocal()`).
-
06:33 AM Feature #17323: Ractor::LVar to provide ractor-local storage
- `Ractor::LocalVariable` ?
-
11:11 AM Revision 412d26a3 (git): Update bundled_gems
-
07:52 AM Revision 184e82e8 (git): Follow the NDEBUG given to the whole
-
05:55 AM Revision 96ce1d9a (git): rbconfig.rb: extract cpu from RUBY_PLATFORM when universal
-
04:40 AM Revision ee1e690a (git): We don't need "require 'uri'" after "require 'net/http'".
-
04:39 AM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- Fix a typo in subject.
- 01:21 AM Revision 4d0985a7 (git): * 2021-01-07 [ci skip]
- 01:20 AM Revision 82f6085b (git): [ruby/bigdecimal] Fix trailing zero handling in rb_uint64_convert_to_BigDecimal
- https://github.com/ruby/bigdecimal/commit/2056604d56
- 01:19 AM Revision 698d7947 (git): [ruby/bigdecimal] Include TestBigDecimalBase in TestBigDecimalUtil
- https://github.com/ruby/bigdecimal/commit/f732201df1
01/06/2021
-
08:53 PM Feature #17513: Methods of shareable objects and UnboundMethods should be shareable
- Agreed, some methods can not be made shareable 👍.
-
07:16 PM Feature #17513: Methods of shareable objects and UnboundMethods should be shareable
- Methods can be defined via `define_method { capture_state }` and so rely on mutable state, so I guess this is only OK for `def` methods.
-
06:04 AM Feature #17513 (Assigned): Methods of shareable objects and UnboundMethods should be shareable
- ```ruby
class Foo
def foo
end
end
f = Foo.new.freeze
Ractor.shareable?(f) # => true
Ractor.make_shareable(f.method(:foo).to_proc) # => Proc, ok
Ractor.make_shareable(f.method(:foo)) # => Ractor::Error, expected Method
Ract... -
04:25 PM Feature #17323: Ractor::LVar to provide ractor-local storage
- I don't think there's a massive overlap there, and there's no many letters we could use.
-
04:22 PM Feature #17323: Ractor::LVar to provide ractor-local storage
- LVAR is not used much but it is used. http://lambda-the-ultimate.org/node/4823, http://composition.al/blog/2013/09/22/some-example-mvar-ivar-and-lvar-programs-in-haskell/ and it is not
local variable it is a lattice based monotomic cont... -
03:11 PM Feature #17323: Ractor::LVar to provide ractor-local storage
- > it shadows - implies MVAR, TVAR
I think that's the point isn't it? We have TVar (transactional), MVar (mutable), LVar (local), and matches ivar (instance.)
LVar is a bit overloaded that's true - left-value in terms of assignment ... -
03:09 PM Feature #17323: Ractor::LVar to provide ractor-local storage
- I don't like the name because it shadows - implies MVAR, TVAR which are known in the functional programming world.
-
03:41 PM Bug #17497: Ractor performance issue
- I also made 2 posts about strange performance testing results (with sources) and some conclusions.
In my case, 2 ractors work 3-times longer than doing the same payload in the main thread.
https://www.reddit.com/r/ruby/comments/kpmt7... -
03:17 PM Feature #12607: Ruby needs an atomic integer
- I agree this should be added to core because of ractor and #17433.
-
12:06 PM Feature #12607: Ruby needs an atomic integer
- FWIW, I think an atomic integer makes sense in core, because it's easier to optimize it that way.
But, since it seems a lot nicer to support fixnums and bignums (not just fixnums), and notably the Integer class is now used for both, I th... -
03:14 PM Feature #14706: Atomic Integer incr/decr
- Feature #12607 -
-
10:34 AM Feature #14706 (Closed): Atomic Integer incr/decr
- Closed due to duplication.
-
02:51 PM Bug #17516: forking in a ractor causes Ruby to crash
- This must be a bug.
Besides there is a technical difficulty to fork a multi-Ractor program (or, there is a technical difficulty to combine pthread and fork in general). I didn’t think we should allow such operation.
Further reading... -
11:10 AM Bug #17516: forking in a ractor causes Ruby to crash
- ruby --version
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin20] -
10:56 AM Bug #17516 (Closed): forking in a ractor causes Ruby to crash
- I just want to point out, there's absolutely no reason to do this, but
r = Ractor.new do
Process.fork()
end
Will cause:
<internal:ractor>:267: warning: Ractor is experimental, and the behavior may change in future versions ... -
12:58 PM Revision 939729dd (git): fix result of example [ci skip]
-
12:49 PM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- I'm pretty sure it is intentional. That function calls `rb_filesystem_encoding` https://github.com/ruby/ruby/blob/d968829afa19c31e9461fd545cbd21250778ce6e/file.c#L3696
-
11:32 AM Bug #17517 (Closed): File.expand_path returns us-ascii when both arguments are ascii compat
- Is this intentional?
```ruby
p __dir__.encoding #=> #<Encoding:UTF-8>
p 'hoge'.encoding #=> #<Encoding:UTF-8>
p File.expand_path('hoge', __dir__).encoding #=> #<Encoding:US-ASCII>
```
```
% docker run -it --rm ghcr.io/ruby/... -
11:34 AM Misc #17515: tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
- I couldn't find that one previously. I am sorry for the useless issue. Thank you for looking into it anyway.
-
10:09 AM Misc #17515 (Rejected): tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
-
09:56 AM Misc #17515: tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
- See https://bugs.ruby-lang.org/issues/16483#note-7
-
09:34 AM Misc #17515 (Rejected): tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
- I noticed that there is no ".tar.bz2" version of ruby 3.0.0 available on https://cache.ruby-lang.org/pub/ruby/3.0/
Previously a ".tar.bz2" version has been available:
https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0-preview1.tar.... -
09:47 AM Misc #16436: hash missing #last method, make it not so consistent (it has #first)
- This seems to be a duplicate of my old feature request: https://bugs.ruby-lang.org/issues/12165
-
08:34 AM Revision 06964938 (git): strip trailing spaces [ci skip]
-
07:04 AM Bug #17514 (Closed): Expose some Ractor's C-APIs to try making Ractor utilities
- https://bugs.ruby-lang.org/issues/17323 was rejected, but I think it is valuable to try it by making external gems.
However, I missed to include some features to make it in C-extensions.
d968829afa19c31e9461fd545cbd21250778ce6e is a ... -
07:03 AM Revision d968829a (git): expose some C-APIs for ractor
- expose some C-APIs to try to make ractor utilities on external gems.
* add
* rb_ractor_local_storage_value_lookup() to check availability
* expose
* rb_ractor_make_shareable()
* rb_ractor_make_shareable_copy()
* rb_proc_isolate(... -
07:02 AM Revision d9fdca81 (git): 600x larger timeout for Reline
- I didn't notice it's msec. 2.5s is too short.
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3311385 -
05:57 AM Revision 954d6c74 (git): remove invalidated cc
- if cc is invalidated, cc should be released from iseq.
-
05:57 AM Revision 442bd0e9 (git): show more info about imemo_callcache
- 04:52 AM Revision fa8295cc (git): [ruby/bigdecimal] Rename BDIGIT to DECDIG
- https://github.com/ruby/bigdecimal/commit/686487d942
- 04:39 AM Revision 7da06c04 (git): Need to convert the return value of rb_big_cmp
- 01:56 AM Revision f289f8ae (git): [ruby/bigdecimal] Optimize the conversion from small Bignum
- https://github.com/ruby/bigdecimal/commit/4792a917d8
-
01:50 AM Misc #17480: DevelopersMeeting20210113Japan
- * [Bug #17429] Prohibit include/prepend in refinement modules (jeremyevans0)
* I've added a pull request for this, is it OK to merge?
* Do we want to implement a feature to copy methods from a module into a refinement, such as the ... -
01:49 AM Bug #17429: Prohibit include/prepend in refinement modules
- I've added a pull request for this: https://github.com/ruby/ruby/pull/4029
-
12:43 AM Bug #17512 (Closed): ostruct super regression
- Fixed and released as 0.3.2, thanks!
- 12:25 AM Revision 31854403 (git): [ruby/bigdecimal] Check the function availabilities separately
- https://github.com/ruby/bigdecimal/commit/cf839a34c8
https://github.com/ruby/bigdecimal/commit/75db4dabb9
01/05/2021
- 11:35 PM Revision a0a6293e (git): [ruby/ostruct] Bump version
- 11:35 PM Revision e8945d5e (git): * 2021-01-06 [ci skip]
- 11:34 PM Revision e13f41e0 (git): [ruby/ostruct] Allow ostruct to return a value on super (#4028)
- This fixes cases where you can super in something that inherits from OpenStruct
Co-authored-by: John Hawthorn <john@hawthorn.email> -
11:05 PM Bug #17512 (Assigned): ostruct super regression
-
08:24 PM Bug #17512 (Closed): ostruct super regression
- In ruby 3.0, Calling super on ostruct always returns nil. This is a regression in ruby 3.0 introduced when fixing another issue.
introduced by:
- https://bugs.ruby-lang.org/issues/12136
- https://github.com/ruby/ruby/commit/e026e18... -
09:25 PM Bug #17489: Ractor segfaults
- During my Ractors tests I had segfaults many times and easy to reproduce (in my environment).
The same code crashes on Linux and Windows10 (sometimes with other numbers of iterations or workers).
More Ractors seems to increase the seg... -
01:34 AM Bug #17489 (Assigned): Ractor segfaults
- Thank you. I can confirm the reproducing. This issue is maybe from the lack of synchronization for the constant table.
-
08:18 PM Feature #14706: Atomic Integer incr/decr
- should we revisit this now that we have ractor and Feature #17433
-
07:43 PM Bug #17193 (Closed): Endless method definition doesn't work with lambdas in IRB
- As @taiyoslime said, I confirmed that it was fixed in https://github.com/ruby/irb/pull/131.
-
06:55 PM Bug #17503 (Closed): Typing an invalid percent string crashes irb
- Thank you for the reporting. This is fixed by https://github.com/ruby/irb/pull/163.
-
04:46 PM Feature #17316: On memoization
- Dan0042 (Daniel DeLorme) wrote in #note-8:
> marcandre (Marc-Andre Lafortune) wrote in #note-3:
> ...
Indeed. I refactored it to use `Ractor.current[]` and a `WeakMap`. I removed the other ways as I can't think of a case where this isn... -
03:55 PM Bug #17497: Ractor performance issue
- Just to be clear, there may be two different issues:
1) Ruby 2.x vs Ruby 3.0 performance regression. This can be important to figure out, but is *not* why I opened this issue.
2) Threads vs Ractor in Ruby 3.0. My tests are all in R... -
09:07 AM Bug #17497: Ractor performance issue
- with perf (with `--call-graph dwarf`) option, I may figure out the big difference:
```
master:
- 63.72% 6.23% miniruby miniruby [.] inject_op_i
- 57.49% inject_op_i ... -
08:08 AM Bug #17497: Ractor performance issue
- master_ruby and ruby was same, so not needed.
with version information:
```
26_mini ruby 2.6.7p148 (2020-06-14 revision 67884) [x86_64-linux]
27_mini ruby 2.7.3p139 (2020-10-11 revision d1ba554551) [x86_64-linux]
miniruby ruby... -
07:47 AM Bug #17497: Ractor performance issue
- flash report;
```ruby
Warning[:experimental] = false if defined? Warning[]
def task_inject
(1..10_000_000).inject(:+)
end
alias task task_inject
# p method(:task)
MODE = (ARGV.shift || :r_parallel).to_sym
TN = 4
c... -
04:44 AM Bug #17497: Ractor performance issue
- ko1 (Koichi Sasada) wrote in #note-4:
> Thank you for the report. Let me investigate more.
> ...
I wanted to compare CPU-bound processes (which should benefit from Ractor) to IO-bound processes (which should have similar benchmarks if ... -
04:23 AM Bug #17497: Ractor performance issue
- Thank you for the report. Let me investigate more.
(just curious) why is the name "CPU"? -
02:13 PM Revision 3108ad7b (git): [DOC] Fix grammar: "is same as" -> "is the same as"
-
02:10 PM Revision 3d439447 (git): Fix a typo [ci skip]
-
01:43 PM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
- Thanks for the merge!
My running Ruby on ARM Android is JUST FOR FUN :-)
I think it would be more productive to prepare a CI for AArch64 Android if you could, rather than for nearly out-of-date 32-bit ARM Android.
-
05:02 AM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
- Thank you, I've imported your patch.
BTW, I'm curious for what purpose you are attempting to build Ruby for Android.
As I said, we currently have no CI or development environment for Arm Android.
So it is difficult for us to test th... -
04:59 AM Bug #17511 (Closed): Segmentation fault when compiled with -O2 or higher on ARM Android
- Applied in changeset commit:git|b9c1b3f8d82b6f2517786b2f9e06683909af34c3.
----------
configure.ac: disable using __builtin_setjmp on ARM Android
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17511] -
12:26 PM Revision 83e62d77 (git): [ruby/io-console] Shrink struct query_args
- https://github.com/ruby/io-console/commit/720be0a3e5
-
12:26 PM Revision 42723959 (git): [ruby/io-console] Pre-define chomp! ID
- https://github.com/ruby/io-console/commit/028e1c9497
-
12:26 PM Revision ead8d89b (git): [ruby/io-console] Ignore chomp! result and return the modified string
- https://github.com/ruby/io-console/commit/09e5ccc729
-
12:24 PM Revision 06454a94 (git): sync_default_gems.rb: added -a option
- The option to merge all commits since the commit merged in the
last prefixed commit. -
12:23 PM Revision 075824eb (git): sync_default_gems.rb: reduced accesses to REPOSITORIES
-
09:07 AM Revision 903af74b (git): [ruby/irb] Ensure to restore $VERBOSE
- https://github.com/ruby/irb/commit/cef474a76a
-
09:06 AM Revision 0123bc9d (git): [ruby/irb] Use error tokens if there are no correct tokens in the same place
- For example, the broken code "%www" will result in only one error token.
https://github.com/ruby/irb/commit/9fa39a7cf3 -
09:06 AM Revision 5a1866ca (git): [ruby/irb] Use Ripper::Lexer#scan to take broken tokens
- ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/54f90cb6c9 -
09:06 AM Revision 505e01fe (git): [ruby/irb] Heredoc may contain multiple newlines in a single token
- Use the start token as the indentation criteria so that it works properly in
heredoc.
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/9704808dfd -
09:06 AM Revision 50125123 (git): [ruby/irb] Handle indentations related to keyword "do" correctly
- This fixes ruby/irb#158.
https://github.com/ruby/irb/commit/964643400b -
09:05 AM Revision e72a6ed4 (git): [ruby/irb] Escape invalid byte sequence in Exception
- This fixes ruby/irb#141.
https://github.com/ruby/irb/commit/0815317d42 -
09:04 AM Revision cce72a24 (git): [ruby/irb] Newline in oneliner def doesn't reset indent
- This closes ruby/irb#132.
https://github.com/ruby/irb/commit/43456dcf5e -
07:50 AM Revision e91160f7 (git): set RUBY_ON_BUG on runruby rule.
- set RUBY_ON_BUG='gdb -x $(srcdir)/.gdbinit -p' to catch SEGV
on `make runruby` rule. -
04:59 AM Revision b9c1b3f8 (git): configure.ac: disable using __builtin_setjmp on ARM Android
- A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17511]
-
04:39 AM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
- Looks like the status of `__builtin_setjmp` is very complicated:
[The documentation of GCC](https://gcc.gnu.org/onlinedocs/gcc/Nonlocal-Gotos.html) says:
> GCC provides the built-in functions __builtin_setjmp and __builtin_longjmp ... -
04:39 AM Revision f2d0d4cb (git): RDoc: Enhanced introduction for Enumerable (#4004)
- * RDoc: Enhanced introduction for Enumerable
* RDoc: Enhanced introduction for Enumerable
* RDoc: Enhanced introduction for Enumerable -
04:14 AM Revision 515d6b47 (git): [ruby/irb] Stringify when a non-object is passed to PP#text
- If a nested object is passed to #pp, it may be sometimes passed to the #text
method as an object without being stringified.
This is fixed on the Ruby main repository;
https://github.com/ruby/ruby/commit/433a3be86a811de0b4adbb92e054ee3a6... -
03:59 AM Revision 451b4560 (git): [ruby/io-console] [DOC] Note that IO#getpass returns a chomped string
- IO#getpass uses String#chomp! on the read input line.
https://github.com/ruby/io-console/commit/1e98c93bc8 -
03:36 AM Bug #17508 (Assigned): io-console versioning
-
03:19 AM Feature #17496: Add constant Math::TAU
- @jzakiya I guess the resources you've listed up in the comment #9 are only describing tau's advantages or pi's disadvantages. They are not the evidence that shows the tau is usually used.
Why [math-tau.gem](https://rubygems.org/gems/... -
02:53 AM Revision 3adf84a0 (git): Commented out the sh-specific code, in cmd.exe
-
02:24 AM Bug #15499 (Assigned): Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
- Thank you for your report. I can reproduce the issue.
```ruby
Thread.new{ Ractor.receive }
Ractor.receive
```
It shouldn't be a `Ractor.receive`, but the condition are:
* Make two or more threads.
* All threads are waiting f... -
02:16 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- ko1 (Koichi Sasada) wrote in #note-7:
> If we allow to require from non-main ractors, the only problem is `$LOADED_FEATURES`?
There are some limitations in non-main ractors, in particular no non-shareable constants, so if a gem is lo... -
01:39 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
- Current `require` behavior with ractors are not well considered and we need to consider it.
> Maybe a solution would be to do all require in the main Ractor?
Yes, This is one good option. But not sure it is only one solution...
... -
01:41 AM Bug #17477 (Closed): Ractor and pp incompatibility
- continue to discuss on #17420.
-
01:23 AM Bug #17491: `./configure' unsuccessful on Android NDK cross-build
- I've committed your patch, thanks!
-
01:23 AM Bug #17491 (Closed): `./configure' unsuccessful on Android NDK cross-build
- Applied in changeset commit:git|449ef72cb97ae57e57c523d2252528f8eb7b9d3e.
----------
configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17491] -
01:16 AM Revision 449ef72c (git): configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling
- A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17491]
01/04/2021
-
10:02 PM Bug #17511 (Closed): Segmentation fault when compiled with -O2 or higher on ARM Android
- To reproduce a segmentation fault, compile Ruby with `CFLAGS=-Oz` using Android NDK r22 (Clang 11.0.5), and input the following:
```
require 'rubygems'
pp
```
A segmentation fault also occurs with `CFLAGS=-O2` when Up or Down key ... -
09:14 PM Bug #17510: enable constant cache on Ractors
- commit:e7fc353f04 broke MJIT, so if it's to be backported to 3.0.1, please make sure (commit:87c546b5fa to avoid a conflict and) commit:7a3322a0fd is backported as well.
-
07:09 PM Bug #17510: enable constant cache on Ractors
- this patch is for performance, but it seems be valuable to backport to 3.0.1.
-
05:28 PM Bug #17510 (Closed): enable constant cache on Ractors
- Applied in changeset commit:git|e7fc353f044f9280222ca41b029b1368d2bf2fe3.
----------
enable constant cache on ractors
constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use ... -
04:47 PM Bug #17510 (Closed): enable constant cache on Ractors
- constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.
To enable the constant cache, we need to make `IC` access atomically,
and this is... -
09:09 PM Revision 7a3322a0 (git): Fix broken JIT of getinlinecache
- e7fc353f04 reverted vm_ic_hit_p's signature change made in 53babf35ef,
which broke JIT compilation of getinlinecache.
To make sure it doesn't happen again, I separated vm_inlined_ic_hit_p to
make the intention clear. -
06:45 PM Revision 87c546b5 (git): Avoid using inconsistent coding style
- Other `_mjit_compile_*.erb` files don't use goto. These files'd better
be consistent for readability. -
05:27 PM Revision e7fc353f (git): enable constant cache on ractors
- constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.
This patch enables it by introducing `imemo_constcache` and allocates
it by every re-f... -
04:47 PM Feature #17474: Interpreting constants at compile time
- Eregon (Benoit Daloze) wrote in #note-19:
> It's not possible to evaluate any Ruby code except literals at parse time, as I already said in https://bugs.ruby-lang.org/issues/17474#note-8.
It's completely possible for ruby to just eva... -
01:18 PM Feature #17474: Interpreting constants at compile time
- Another point to consider - does this have an impact on our ability to use optimisations such as lazy parsing and do you know how you would precisely specify the semantics of when the expression is executed in relation to other events?
-
12:37 PM Feature #17474: Interpreting constants at compile time
- jzakiya (Jabari Zakiya) wrote in #note-16:
> **_would not_** work because it doesn't evaluate at parse-time to a constant value.
It's not possible to evaluate any Ruby code except literals at parse time, as I already said in https://... -
02:50 AM Feature #17474: Interpreting constants at compile time
- Similar/related to #8804
-
04:06 PM Revision bf21faec (git): stdlib.h is always included in include/ruby/defines.h
- Since commit:6537dc309962c7fefcb8d698bbebe4e4f78d0096.
-
04:06 PM Revision f42593c9 (git): Update compilers.h [ci skip]
-
03:19 PM Revision 3fee9e70 (git): Fix indent [ci skip]
- Suggested by @hanachin at
https://github.com/rurema/doctree/pull/2425#discussion_r551327592 - 03:02 PM Revision 1fe111d7 (git): * 2021-01-05 [ci skip]
-
02:48 PM Bug #17509 (Closed): Custom respond_to? methods in modules break defined?(super)
- When using `defined?(super)` to check that a superclass method exists before calling `super`, including modules with a custom `respond_to?` method seems to break the check so it wrongfully returns a truthy value, even though the supercla...
-
02:37 PM Revision 433a3be8 (git): ripper: call #pretty_print on also `state`
-
12:28 PM Bug #16926 (Assigned): Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
- Right, I missed to pick https://github.com/rubygems/rubygems/pull/3639 at RubyGems 3.1.5.
-
12:25 PM Bug #16926: Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
- @hsbt That commit seems unrelated.
-
08:47 AM Bug #16926 (Closed): Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
- Applied at commit:9b884df6dd918b0fdcc256d8a9febfaccd8a9042
-
11:30 AM Bug #17508 (Closed): io-console versioning
- I have already complained about io-console versioning in #9591 but nothing really changed till today. There are ~15 commit atop of commit:2115a3937d0e2cf845d092aec1f6c25292ddd6ce, but the version was not bumped in Ruby 3.0. Does it reall...
-
10:55 AM Revision afa9d65d (git): make-snapshot: add -extlibs option
- `make-snapshot` with `-extlibs` (or `-extlibs=yes`) includes
extracted and patched external library sources that the extension
libraries depend on. -
10:55 AM Revision ec31ee25 (git): Updated bundled_gems
-
08:24 AM Revision 095972e7 (git): Skip mjit_wait if iseq is not a target
-
07:42 AM Revision 758ac834 (git): Daily bundled_gems update [ci skip]
-
06:55 AM Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
- Thank you, updated.
-
06:54 AM Feature #10499 (Closed): Eliminate implicit magic in Proc.new and Kernel#proc
- Applied in changeset commit:git|8da7f4abc779c6549833d718336d75aac98494b8.
----------
[DOC] Update Proc.new without a block [ci skip]
[Feature #10499]
[Feature #15554] -
06:40 AM Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
- Note that the documentation still specifies the old behavior in 3.0.0.
> Creates a new Proc object, bound to the current context. ::new may be called without a block only within a method with an attached block, in which case that bloc... -
03:31 AM Feature #10499: Eliminate implicit magic in Proc.new and Kernel#proc
- Was this change implemented in Ruby 3.0.0?
It looks to me like it was. (And this is causing test failures on libraries that depend on this behavior.)
Ruby 2.7.2:
```
def foo
Proc.new
end
foo # => ArgumentError
... -
06:54 AM Revision 97725242 (git): ifchange: check the number of arguments
-
06:54 AM Revision 8da7f4ab (git): [DOC] Update Proc.new without a block [ci skip]
- [Feature #10499]
[Feature #15554] -
06:48 AM Revision cf4a6b5e (git): Add a missing dependency
-
06:47 AM Bug #17373: Ruby 3.0 is slower at Discourse bench than Ruby 2.7
- Good news, @ko1 and @tenderlove managed to recover a fair bit of performance leading to release.
3.0 remains slower in our bench than 2.7 but we did improve over the first post.
That said, the picture as of release is:
Ruby 2.6 -> ... -
06:45 AM Feature #15554 (Closed): warn/error passing a block to a method which never use a block
-
04:50 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- This thread is already too long for off topics, so let me focus on the name of `RubyVM::MJIT` in this ticket and leave the release notes discussion to elsewhere.
> I don't see why an internal/experimental module (RubyVM::MJIT) need to h... -
04:47 AM Bug #17507 (Closed): Regexp capture groups ignored sometimes in some multithreaded environments (possible race condition)
- Same behavior from 2.6-3.0
OS: Debian 10
Ruby Script:
``` ruby
TargetStr = "a-x-foo-bar-baz-z-b"
worker = lambda do
# For more hits, use File.read here instead of TargetStr
m = TargetStr.match(/foo-([A-Za-z0-9_\.]+)-baz/) ... - 04:42 AM Revision 4b90ea84 (git): Update ext/bigdecimal/depend
- 04:29 AM Revision 71f0dd33 (git): [ruby/bigdecimal] Move some definitions to missing.h
- https://github.com/ruby/bigdecimal/commit/c2b22cc8b3
https://github.com/ruby/bigdecimal/commit/8cbca8481d
https://github.com/ruby/bigdecimal/commit/f05aecf673 -
04:14 AM Revision 69ed6494 (git): Track Bundler master(2.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20
-
04:14 AM Revision 5537adf7 (git): Track RubyGems master(3.3.0.dev) branch at 55634a8af18a52df86c4275d70fa1179118bcc20
-
03:11 AM Revision 35c3a24c (git): Fixed error message when % at EOF
- 03:05 AM Revision 68c2fc4c (git): * 2021-01-04 [ci skip]
- 03:01 AM Revision 597e0636 (git): Revert "Include RUBY_EXTCONF_H if available"
- It is unnecessary because RUBY_EXTCONF_H has already been included in
ruby/internal/config.h.
This reverts commit 0644f466b0ef017202712882b557ba32863002c4. -
01:47 AM Feature #17407: Fiber.current and require 'fiber'
- https://github.com/nobu/ruby/tree/fiber-builtin
-
01:42 AM Feature #6362 (Closed): Modular exponentiation/inverse
- Please file a new ticket.
-
12:50 AM Feature #5481 (Closed): Gemifying Ruby standard library
- I extracted the all of possibly stdlib to rubygems. The following libraries are depend on Ruby versions, So We couldn't extract them.
* mkmf
* rbconfig
* unicord_normalize
* coverage
* monitor
* objspace
* pty
* ripper
* socke...
01/03/2021
-
10:45 PM Feature #17496: Add constant Math::TAU
- > you just need to comment on https://bugs.ruby-lang.org/issues/17480 then, copying the format of the other comments.
Thanks. Done.
> ...
As with ``PI``, the Newtonian view of reality had an entrenched pedagogical, professional, cultur... -
08:05 PM Bug #17506 (Closed): Ractor isolation broken by ThreadGroup
- Ractors currently share the ThreadGroup.
This doesn't seem very useful as there is no possible communication between the Threads of different Ractors.
It is also an isolation error:
```ruby
ThreadGroup.attr_accessor :foo
var = T... -
08:01 PM Bug #17497: Ractor performance issue
- 10 core i9. I've set up enough systems in my life (I used DOS); prefer new systems to last a while...
-
06:41 PM Bug #17497: Ractor performance issue
- Thanks for running this on other platforms.
From the numbers, it looks like you are running on an 8-core machine, right? If so, the "fib" and "sleep" numbers are what should be expected, but "cpu" is 3-5x slower on Ractor when it shou... -
06:23 PM Bug #17497: Ractor performance issue
- Using various 2021-01-03 versions of master, got the following times, a few were averaged by eye:
```
—————————— Windows 10 mingw ——————————
fib | cpu | sleep
native 41 ms | 940 ms | 220 ms
ruby 345 ms | 205 ... -
07:41 PM Bug #17505 (Closed): Can `Thread#group` actually be `nil`?
- Is there a circumstance where `Thread#group` could actually be `nil`?
The documentation says so, there seems to be source code for this, but I can find no test or RubySpec for this and I don't see anywhere in the `ThreadGroup` API tha... -
07:35 PM Feature #6362: Modular exponentiation/inverse
- As of Python 3.8, modular inverses are supported by Python's pow function, which can take a mod argument, just like Ruby's.
https://docs.python.org/3/library/functions.html#pow
I therefore propose to add this feature as
```
n.pow(-1, m... -
03:36 PM Bug #17504 (Closed): Allow UTC offset without colons per ISO-8601
- Although ISO-8601 allows UTC offset to be `+HHMM` as well as `+HH:MM`, `Time.new`, `Time#getlocal` etc reject that format as invalid.
I think this is a bug, especially as far as even `Time#inspect` uses it.
https://github.com/ruby/ru... -
03:03 PM Misc #17480: DevelopersMeeting20210113Japan
- * [Feature #12607] Ruby needs an atomic integer (@shyouhei)
* dummy comment
* [Feature #17099] Remove boolean argument and warning from `Module#attr` (S_H_)
* It has been warned since 1.9.1.
* [Feature #17485] Keyword argument for ti... -
02:56 PM Revision f4be7a51 (git): Added tests for Time#getlocal with UTC offset
- 02:38 PM Revision 0644f466 (git): Include RUBY_EXTCONF_H if available
-
01:28 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- JIT just means "Just-in-Time", so actually to be grammatically correct I guess the release note should either refer to "MJIT" (a proper noun) or "the JIT compiler (bundled with Ruby)".
Either way, I think to make it clear in the release... -
12:15 PM Bug #17503: Typing an invalid percent string crashes irb
- https://github.com/ruby/irb/issues/162
Probably I met the same problem and I reported it as the issue. -
11:43 AM Bug #17503 (Closed): Typing an invalid percent string crashes irb
- 1. Start `irb`.
2. Try typing in `%abc`. Keep typing in alphanumeric characters if it hasn't crashed yet.
3. irb crashes with the following error message:
```
/usr/local/lib/ruby/3.0.0/reline/unicode.rb:124:in `calculate_width': un... -
11:19 AM Revision bc4c862a (git): [ruby/timeout] Removed deprecated names that had been warned for 5 years
- https://github.com/ruby/timeout/commit/f9a9758a41
-
08:05 AM Revision 4724bf85 (git): Avoid hanging on --jit-wait after MJIT.pause
- When a worker is stopped, nobody will JIT a method for you.
-
03:49 AM Misc #17502: C vs Ruby
- First off, you may be interested in reading [Feature #16254] in case you haven't. (Note: `__intrinsitc__` was renamed to `__builtin_` first, and then renamed again to `Primitive.`)
Let me separately discuss multiple independent topics y... - 02:56 AM Revision 09ec8d68 (git): * 2021-01-03 [ci skip]
- 02:55 AM Revision a495cb2f (git): NEWS-3.0.0: backquote a few code related words. [doc]
- 02:54 AM Revision fdf35399 (git): NEWS: We have links now, and there is no changelog anymore [doc]
-
02:30 AM Feature #15225: OpenStruct: Recursively converting child Hash objects to OpenStruct objects.
- First, let's make it clear that it is not acceptable to break backwards compatibility in such an extreme manner. The default can not change.
The caveats of `OpenStruct` have been made more explicit in 3.0 and I am still curious as to ...
01/02/2021
-
08:25 PM Misc #17502 (Assigned): C vs Ruby
- Some features are coded in a mix of Ruby and C (e.g. ractor.rb).
External gems don't have access to this. The C-API to deal with keyword parameters is also very verbose the parsing and the engine does not know it.
Moreover, some op... -
03:51 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- I get your points. Nothing is technically wrong in what you're saying, and as a committer like you it's easier to interpret MJIT.
But I mean, I assume we're not writing a release note for people like us who can just read details in NEWS... -
12:50 PM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- > ## Release notes
> ...
Not really, I'm saying the "JIT" is just unclear, "which JIT is it?".
The 3.0.0 release notes are hard to read for me because they mix MJIT and JIT.
If we use MJIT everywhere in that note, then I think it is very... -
03:06 AM Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT
- Now some discussions seem to be mixed, so let's sort them out:
## RubyVM::
> I tried to document it. I don't think it's good enough, many people don't read class documentation.
If e.g., they see RubyVM::AbstractSyntaxTree in a blog ... -
03:29 PM Bug #17501 (Closed): TestNetHTTPS#test_get CI failure
- しばらく前から snapshot tarball の macos-latest で発生している `TestNetHTTPS#test_get` の failure ですが、手元の macOS Catalina 10.15.7 に homebrew で入れた `openssl@1.1: stable 1.1.1i (bottled) [keg-only]` の環境では SERVER_CERT, CA_CERT の順番を入れ替えると通るようになりました。
他の環境では... -
11:12 AM Feature #17500 (Rejected): Move RubyVM::* to ExperimentalFeatures
- I am not opposed to renaming `RubyVM` module for the reason @eregon stated. But I am strongly against renaming it to `ExperimentalFeatures` or whatever means **experimental**. Users are forced to rewrite their code when the feature becom...
-
10:53 AM Feature #17472: HashWithIndifferentAccess like Hash extension
- I had a vague original idea for this proposal, which extends the Hash class generically.
First I though about case-insensitive string hashes, it had been able by using `$=` in old days.
The special variable was removed, still there are... -
09:46 AM Feature #17330: Object#non
- I think the proposed feature would be useful, but I feel that your focus on use cases with a negative predicate is artificial. Positive predicates should have as many corresponding use cases. And since negation is always one step more co...
-
08:28 AM Feature #17312 (Closed): New methods in Enumerable and Enumerator::Lazy: flatten, product, compact
- Applied in changeset commit:git|68ea7720b367fe84da601cdbc61cb0d651c3221b.
----------
NEWS: [Feature #17312] [ci skip] -
08:27 AM Revision 68ea7720 (git): NEWS: [Feature #17312] [ci skip]
-
08:27 AM Revision b8d33df1 (git): Add Enumerable#compact and Enumerator::Lazy#compact
-
06:56 AM Misc #17480: DevelopersMeeting20210113Japan
- * [Misc #0] Comment Deadline (marcandre)
* Please make comment deadline closer to meetings (1 or 2 days, not 7).
-
02:37 AM Misc #17480: DevelopersMeeting20210113Japan
- * [Feature #17496] Add constant `Math::TAU` (jzakiya)
* Reconsider adding to Ruby core, as more languages have. Increased adoption|use since last consideration. It has become "time proven", https://bugs.ruby-lang.org/issues/4897#not... -
03:11 AM Revision f690eb34 (git): Fixed dangling imemo_tmpbuf
- The count of rb_alloc_tmp_buffer_with_count is the allocation size
counted in VALUE size but not in the requested element size.
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
Co-authored-by: Koichi Sasada <ko1@atdot.net> -
03:11 AM Revision 4b6fd832 (git): mkmf.rb: always try_compile as try_header
- Get rid of "present but cannot be compiled" headers, on some
multi-architecture platforms. - 03:06 AM Revision a6bbba11 (git): Avoid to use __builtin_clzl in SPARC Solaris
-
02:41 AM Revision 4182035e (git): Add -v to make benchmark
- I simply can't tell which of compare-ruby and built-ruby is what.
-
02:39 AM Feature #17498 (Closed): Improve performance some Float methods
- Applied in changeset commit:git|daec5f9edcfbf98b10a4bfc1aa501c9ac2c64841.
----------
Improve performance some Float methods [Feature #17498] (#4018) -
02:39 AM Revision daec5f9e (git): Improve performance some Float methods [Feature #17498] (#4018)
- 01:18 AM Revision ef6ab776 (git): Add __x86_64__ guard to include x86intrin.h
-
12:48 AM Revision 5aa28d9d (git): Check if x86intrin.h is available not only existing