Activity
From 05/06/2021 to 05/12/2021
05/12/2021
-
10:18 PM Feature #17837: Add support for Regexp timeouts
- nobu (Nobuyoshi Nakada) wrote in #note-22:
> I made a patch for `Regexp#backtrack_limit=`.
> ...
This is really perfect isn't it? It's much better than a wall clock timeout. If you have 2 active threads then a 1s timeout really means 0.5... -
03:13 PM Feature #17837: Add support for Regexp timeouts
- I commented on https://bugs.ruby-lang.org/issues/17849 which I would LOVE to see some movement on. I support being able to have high-level "safe" timeouts. I also support a separate effort to improve this pathological regex DoS problem t...
-
10:08 PM Bug #17857: `when 0r` and `when 0i` do not match with `case 0`
- I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/4496
-
05:51 AM Bug #17857: `when 0r` and `when 0i` do not match with `case 0`
- I agree. Optimisation that changes the behaviour of the program is not an optimisation. It's simply broken.
-
05:05 AM Bug #17857 (Closed): `when 0r` and `when 0i` do not match with `case 0`
- The following code prints `:bar` between Ruby 2.1 .. 2.5, and dumps core since Ruby 2.6.
```
case 0
when 0r
p :foo
else
p :bar #=> :bar
end
```
A Complex has the same issue.
```
case 0
when 0i
p :foo
else
p :... -
09:40 PM Bug #14367: Wrong interpretation of backslash C in regexp literals
- The behavior appears not to be intentional. This is a bug related to the fact that Ruby uses a recursive algorithm for strings (read_escape) but not for regexps (tokadd_escape). I've submitted a pull request to have control/meta handli...
-
07:51 PM Feature #17859: Start IRB when running just `ruby`
- I normally use `-e` too for short code evaluation and a REPL for longer sessions.
> I can understand your intent. But could you tell us more about the context?
There's not really much context, I just noticed how python works and li... -
07:37 PM Feature #17859: Start IRB when running just `ruby`
- +1 from me, I think it's convenient and to some extent becoming expected for modern dynamic languages (JS, Python, R, Scala and more do it).
TruffleRuby already does, and so does Rubinius.
I think the warning is a nice way to document t... -
07:13 PM Feature #17859: Start IRB when running just `ruby`
- > I think firing up a console it's a good default behaviour for beginners.
I can understand your intent. But could you tell us more about the context?
In my experience, if I do not understand a command, I tend to run `[command] --h... -
04:59 PM Feature #17859: Start IRB when running just `ruby`
- A compromise could be a warning - TruffleRuby warns when standard in is a terminal, but otherwise works as normal. As TruffleRuby is often used in a polyglot context, we do find this trips people up a lot if they aren't used to Ruby. And...
-
04:49 PM Feature #17859: Start IRB when running just `ruby`
- I'm against this. I often run `ruby`, and input code on standard input to get results, without wanting to use irb. I was literally doing this minutes ago with @ko1 to debug an issue.
-
04:33 PM Feature #17859 (Open): Start IRB when running just `ruby`
- Compare python:
```
$ python
Python 3.8.3 (default, Jul 8 2020, 16:49:12)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
```
To ruby:
```
$ ruby
# just hangs
```
I ... -
03:17 PM Feature #17398 (Closed): SyntaxError in endless method
- Applied in changeset commit:git|31794d2e733e081e4e221f27aff6380393981681.
----------
parse.y: Allow "command" syntax in endless method definition
This change allows `def hello = puts "Hello"` without parentheses.
Note that `private de... -
08:32 AM Feature #17398: SyntaxError in endless method
- I have considered this issue for a while and concluded it should be merged to be consistent with the assignment statement.
Matz.
- 03:17 PM Revision 9225352b (git): * 2021-05-13 [ci skip]
-
03:14 PM Revision 31794d2e (git): parse.y: Allow "command" syntax in endless method definition
- This change allows `def hello = puts "Hello"` without parentheses.
Note that `private def hello = puts "Hello"` does not parse for
technical reason.
[Feature #17398] -
03:06 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
- I've had a conversation with Matz about this and I've been thinking about this issue for a LONG time. The blocker to doing something like this before is that due to the halting problem we can never know if an ensure block will exit or no...
-
01:54 PM Bug #17858 (Closed): Trailing comma after a `&block` parameter cause a syntax error
- It is intended. `&block` argument must come at the end of arguments. Nothing comes after.
Matz.
-
11:40 AM Bug #17858 (Closed): Trailing comma after a `&block` parameter cause a syntax error
- Something I just noticed:
```ruby
some_long_method(
1,
&block, # syntax error, unexpected ',', expecting ')'
)
```
Which seems inconsistent to me as it works for regular parameters:
```ruby
some_long_method(
1,
2... -
11:17 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- marcandre (Marc-Andre Lafortune) wrote in #note-6:
> I'd suggest an option be added to the initializer of `ObjectSpace::WeakMap`.
I think we should have a separate class if this feature is accepted.
It's already complicated enough t... - 08:40 AM Revision 81513c9d (git): * remove trailing spaces. [ci skip]
-
08:40 AM Revision 523a6998 (git): Use another class for the comparison.
- `memsize_of(Object.new)` can be changed with past ivar creation
history for Object instances (another Object instance has 4 or
more ivars, next created Object instance has the area for the
ivars). So use antoher class for the comparison. -
08:24 AM Revision 81720b94 (git): Use assert_raise instead of assert_raises
-
08:24 AM Revision cdcfe108 (git): Revert 924ce2c5ba4d1c1dc781a6a06682204d358421bb
- Because test-unit didn't provide the benchmark test. And This test
is fragile with the several environments. -
08:24 AM Revision bef49e6e (git): [rubygems/rubygems] Added begin-end block for java platform
- Because pend of test-unit raises exception.
https://github.com/rubygems/rubygems/commit/b5e2d0855a -
08:24 AM Revision b314885a (git): [rubygems/rubygems] Update the link of minitest code with the commit hash.
- https://github.com/rubygems/rubygems/commit/e7280f8d30
-
08:24 AM Revision 32d25660 (git): [rubygems/rubygems] Removed the related code for minitest-bisect
- https://github.com/rubygems/rubygems/commit/83ebdec27a
-
08:24 AM Revision 9620a30b (git): [rubygems/rubygems] Fixed an intentional blank-line
- https://github.com/rubygems/rubygems/commit/795b572ac2
-
08:24 AM Revision 655727ee (git): [rubygems/rubygems] Added comment for Minitest::Mock
- https://github.com/rubygems/rubygems/commit/ae44b68d57
-
08:24 AM Revision d33888bf (git): [rubygems/rubygems] Replace skip to pend
- https://github.com/rubygems/rubygems/commit/0b145135c7
-
08:24 AM Revision 129bc04a (git): [rubygems/rubygems] util/rubocop -a
- https://github.com/rubygems/rubygems/commit/a10ff97830
-
08:24 AM Revision 00f5b4b5 (git): [rubygems/rubygems] Don't use Minitest::Mock
- https://github.com/rubygems/rubygems/commit/d3fa893597
-
08:24 AM Revision 3456335a (git): [rubygems/rubygems] Removed minitest/mock from test/rubygems/test_gem_remote_fetcher.rb
- https://github.com/rubygems/rubygems/commit/f1af59fe02
-
08:24 AM Revision ff3f9904 (git): [rubygems/rubygems] Removed minitest/mock from test_gem_package_tar_writer.rb
- https://github.com/rubygems/rubygems/commit/45464bfcbd
-
08:24 AM Revision 7b3b4854 (git): [rubygems/rubygems] capture_output will return empty string, not nil
- https://github.com/rubygems/rubygems/commit/3fa93f6144
-
08:24 AM Revision 9b5e4ce6 (git): [rubygems/rubygems] Fixed variable scope at test_silent_system
- https://github.com/rubygems/rubygems/commit/bfcdf79657
-
08:24 AM Revision d5237c5d (git): [rubygems/rubygems] Import capture_subprocess_io from minitest
- https://github.com/rubygems/rubygems/commit/8b2ca6df3a
-
08:24 AM Revision cd375e45 (git): [rubygems/rubygems] Rewrite with capture_output
- https://github.com/rubygems/rubygems/commit/a091004ded
-
08:24 AM Revision 5ed9d3f1 (git): [rubygems/rubygems] Use capture_output instead of capture_io
- https://github.com/rubygems/rubygems/commit/c46185abe3
-
08:24 AM Revision c30594bb (git): [rubygems/rubygems] Use assert_raise instead of assert_raises
- https://github.com/rubygems/rubygems/commit/769e87f011
-
08:24 AM Revision 2c0072de (git): [rubygems/rubygems] Use dummy assertion for assert_https
- https://github.com/rubygems/rubygems/commit/64d843fe17
-
08:24 AM Revision a1c41646 (git): [rubygems/rubygems] Use capture_output instead of assert_silent
- https://github.com/rubygems/rubygems/commit/3225aab7f8
-
08:24 AM Revision 958f9d42 (git): [rubygems/rubygems] Use capture_output instead of capture_io for test-unit
- https://github.com/rubygems/rubygems/commit/ab9c80d4cb
-
08:24 AM Revision 3948be35 (git): [rubygems/rubygems] Use assert_path_exist and assert_path_not_exist instead of assert_path_exists and refute_path_exists
- https://github.com/rubygems/rubygems/commit/a7c93558c3
-
08:24 AM Revision 81d793a9 (git): [rubygems/rubygems] Extract assert_output to assert_empty and assert_equal with capture_output
- https://github.com/rubygems/rubygems/commit/f6759440a4
-
08:24 AM Revision 18317447 (git): [rubygems/rubygems] Use Regexp with refute_match
- https://github.com/rubygems/rubygems/commit/51fdbe53bc
-
08:24 AM Revision 3c9633ac (git): [rubygems/rubygems] Also use capture_output instead of capture_io
- https://github.com/rubygems/rubygems/commit/229858ea56
-
08:24 AM Revision 26cbda8d (git): [rubygems/rubygems] Use capture_output instead of capture_io.
- https://github.com/rubygems/rubygems/commit/ad9206d4d0
-
08:24 AM Revision cddeee21 (git): [rubygems/rubygems] Use test-unit instead of minitest
- https://github.com/rubygems/rubygems/commit/a8571524ad
-
07:20 AM Feature #17047: Support parameters for MAIL FROM and RCPT TO
- I would still appreciate some feedback on this :-)
-
05:46 AM Bug #17854: Crash with certain "case" expressions on FreeBSD
- Any chances to be backported to each supported version?
-
01:31 AM Bug #17854 (Closed): Crash with certain "case" expressions on FreeBSD
- Applied in changeset commit:git|2bc293e899c9d32dcd794a73de8925c49ecf8f15.
----------
cdhash_cmp: can take rational literals
Rational literals are those integers suffixed with `r`. They tend to
be a part of more complex expressions lik... -
03:57 AM Revision 5a6af44e (git): skip test for debug.
- test_memsize_of_iseq fails on repeat tests and it seems to difficult
to solve immediately. Now this test is skipped.
It seems that the result of `memsize_of(Object.new)` are increased.
Why...? -
03:53 AM Revision 3df7c967 (git): suppress warnings on repeat tests.
- Constant definitions are affect on outer namespace of an anonymous
module. To define constants on the anonymous module, this patch
uses Module#class_eval(str). -
01:30 AM Revision 6911b4bc (git): test_cdhash: refactor change class
- It is now strange to test Complex in a class named Rational_Test.
-
01:30 AM Revision 0ab0b86c (git): cdhash_cmp: should use ||
- cf: https://github.com/ruby/ruby/pull/4469#discussion_r628386707
-
01:30 AM Revision e1eff837 (git): cdhash_cmp: recursively apply
- For instance a rational's numerator can be a bignum. Comparison using
C's == can be insufficient. -
01:30 AM Revision cc0dc67b (git): cdhash_cmp: can also take complex
- There are complex literals `123i`, which can also be a case condition.
-
01:30 AM Revision d0e6c6e6 (git): cdhash_cmp: rational literals with fractions
- Nobu kindly pointed out that rational literals can have fractions.
-
01:30 AM Revision 2bc293e8 (git): cdhash_cmp: can take rational literals
- Rational literals are those integers suffixed with `r`. They tend to
be a part of more complex expressions like `123/456r`, but in theory
they can live alone. When such "bare" rational literals are passed to
case-when branch, we have t... -
12:20 AM Revision 773c690f (git): [ruby/net-ftp] Bump version to 0.1.2
- https://github.com/ruby/net-ftp/commit/895ba44b3c
05/11/2021
-
10:45 PM Revision ee1725ce (git): Update keyword argument description in method syntax guide
- Remove discussion of Ruby 2.7 specific handling of keyword
argument separation. Add a small example of keyword to
positional hash conversion for methods not accepting
keyword arguments. -
10:23 PM Feature #17837: Add support for Regexp timeouts
- An alternative may be something like:
`Thread.safe_raise` which allows for raising in places we consider "safe" like mid-regex. Not sure... -
10:22 PM Feature #17837: Add support for Regexp timeouts
- @nobu I follow but unfortunately there are many ways in which `thread.raise` can corrupt internal state.
See: https://github.com/mperham/sidekiq/issues/852
Discussion goes back to 2008 on this one: http://blog.headius.com/2008/02... -
12:23 PM Feature #17837: Add support for Regexp timeouts
- I made a patch for `Regexp#backtrack_limit=`.
This seems no significant performance difference.
https://github.com/ruby/ruby/compare/master...nobu:Regexp.backtrack_limit?expand=1
I don't think timeout per regexp is a good idea.
T... -
11:25 AM Feature #17837: Add support for Regexp timeouts
- Interesting. I've tested your patch, but it is not so small on my machine.
'10000000.times { /(abc)+/ =~ "abcabcabc" }'
Before (min over 10 runs): 2.037 after 1.962 ~ 3.8% slower
It may depend on the performance of branch predicti... -
07:33 AM Feature #17837: Add support for Regexp timeouts
- I tested with:
```
diff --git a/thread.c b/thread.c
index 47e43ecb63..811b6e88a8 100644
--- a/thread.c
+++ b/thread.c
@@ -1573,25 +1573,29 @@ rb_thread_reg_match_time_limit_get()
void
rb_thread_reg_match_start(void)
{
- ... -
10:18 PM Revision cc1ea6e0 (git): Run nmake check on Actions (#4487)
- * Run nmake check on Actions
* Skip tests not working in mswin GitHub Actions
* Override TEMP
* Revert "Skip tests not working in mswin GitHub Actions"
This reverts commit 544d2575fcdf23ae63cd25aa03fce10c28b259f2.
* Revert "Revert "... -
10:05 PM Bug #17855 (Feedback): [BUG] object allocation during garbage collection phase
- There's not much that we can do to debug this without a reproducible example. The most common cause is a C extension trying to allocate an object while garbage collection is running. From the backtrace, the `rb_utf8_str_new_cstr` funct...
-
08:31 PM Revision 07f055bb (git): Revert "Filling cache values on cvar write"
- This reverts commit 08de37f9fa3469365e6b5c964689ae2bae0eb9f3.
This reverts commit e8ae922b62adb00a80d3d4c49f7d7b0e6026eaba. -
07:04 PM Revision 08de37f9 (git): Filling cache values on cvar write
- Instead of on read. Once it's in the inline cache we never have to make
one again. We want to eventually put the value into the cache, and the
best opportunity to do that is when you write the value. -
07:04 PM Revision e8ae922b (git): Add a cache for class variables
- This change implements a cache for class variables. Previously there was
no cache for cvars. Cvar access is slow due to needing to travel all the
way up th ancestor tree before returning the cvar value. The deeper the
ancestor tree the s... -
07:02 PM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
- Fair enough - If we're not worrying about following the mathematical definitions too closely then we can gloss over a lot of these details about the definition of "real numbers" and leave it as-is. Instead, how about a new method `#ratio...
-
03:38 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
- It does not make sense to discuss the mathematical definition of real numbers in this context because digital computers cannot handle (the entire) real numbers in the first place. Hence, we are dealing with floating point numbers, which ...
-
04:05 PM Bug #17806 (Closed): Bad interaction between method cache, prepend, and refinements
- Applied in changeset commit:git|39a2ba5cc559900c30c3143da32446c2f20a7484.
----------
Method cache: fix refinement entry handling
To invalidate some callable method entries, we replace the entry in the
class. Most types of method entrie... - 04:05 PM Revision c9e02d89 (git): * 2021-05-12 [ci skip]
-
04:05 PM Revision 39a2ba5c (git): Method cache: fix refinement entry handling
- To invalidate some callable method entries, we replace the entry in the
class. Most types of method entries are on the method table of the
origin class, but refinement entries without an orig_me are housed in
the method table of the clas... -
03:00 PM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- Seems reasonable to me.
I also wish that `WeakMap` was officially public, it can be quite useful. I wish it's interface was closer to `Hash`.
I'd suggest an option be added to the initializer of `ObjectSpace::WeakMap`. -
09:08 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
- I'd like this to be reconsidered. I'll add it to the next developer meeting.
-
11:08 AM Revision 010bb088 (git): Workaround for make test-tool
-
10:46 AM Revision bb8a759f (git): Fix a typo of c6a11b865e1f9085c88fe169a1f47680383580c2
- It failed to define `refute_path_not_exist`
-
10:38 AM Revision 1b61cdd5 (git): test/irb/test_raise_no_backtrace_exception.rb: Set LC_MESSAGES as UTF-8
-
10:32 AM Revision c6a11b86 (git): Alias assert/refute_path_exists for test-unit gem.
- It's required at https://github.com/rubygems/rubygems/pull/3141
-
10:12 AM Feature #17856 (Open): ary.member? is slower than ary.include?
- `Array#include?` is defined as a faster version of `Enumerable#include?`, but there is no `Array#member?` defined.
```
$ time ruby -e 'a = (0..100000).to_a; 1000.times { a.member?(100000) }'
real 0m1.722s
user 0m1.721s
sys... -
09:12 AM Misc #17811: DevelopersMeeting20210521Japan
- - [Feature #17795] Around `Process.fork` callbacks API
- Was considered in the last meeting, but didn't reach any conclusion
- Since then more use cases and argument were brought.
- [Feature #16038] Provide a public WeakMap that c... -
07:17 AM Revision c45f7556 (git): [ruby/irb] Fix `Encoding::ConverterNotFoundError`
- Follow https://github.com/ruby/irb/pull/237.
This PR fixes the following `Encoding::ConverterNotFoundError`.
```console
% bin/spring stop && bin/rails c
Spring stopped.
Running via Spring preloader in process 58395
Loading development ... -
05:46 AM Revision 66ca6ede (git): [ruby/irb] Skip test_raise_exception_with_invalid_byte_sequence
- on Windows for now. It seems like we haven't figured this out yet.
https://github.com/ruby/irb/commit/ecf5a1ace1 -
04:41 AM Revision afa70d07 (git): Explicitly specify encoding for another test as well
- Same as e2ccc3301e2c69533b9ef2464613781c6c964c3a
https://ci.appveyor.com/project/ruby/ruby/builds/39102539/job/k8m1yrrjesxbgvtq -
04:33 AM Revision 7c346e10 (git): Split a Choco-Install command
- In https://github.com/ruby/ruby/runs/2552065052, while it failed to
install winflexbison3, it exited the retry loop because openssl was
installed successfully.
https://github.com/actions/virtual-environments/blob/a5ee51f72dcbc3879a91a74... -
04:30 AM Revision e2ccc330 (git): test/irb/test_raise_no_backtrace_exception.rb: UTF-8 is expected
- ... for the output of assert_in_out_err.
This will fix the following failure on many CI machines
http://rubyci.s3.amazonaws.com/arch/ruby-master/log/20210511T030005Z.fail.html.gz
```
1) Failure:
TestIRB::TestRaiseNoBacktraceException... -
04:17 AM Revision 3c9e30ae (git): Try running Choco-Install with powershell
- https://github.com/ruby/ruby/runs/2552047430
-
04:14 AM Revision 4ee72f4a (git): Retry choco install
- by using a wrapper provided by GitHub Actions
https://github.com/actions/virtual-environments/pull/721
to address failures like
https://github.com/ruby/ruby/runs/2551980671 -
04:01 AM Revision bb543610 (git): [ruby/irb] Skip the new IRB test on Windows for now
- It's not passing from the beginning
https://github.com/ruby/ruby/runs/2550929220
https://ci.appveyor.com/project/ruby/ruby/builds/39100747
https://github.com/ruby/irb/commit/71fc180018 -
03:40 AM Bug #17748 (Closed): Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
- Applied in changeset commit:git|9edc162583a4f685332239f6249745ad9b518cbe.
----------
[ruby/resolv] Fix confusion of received response message
This is a follow up for commit 33fb966197f1 ("Remove sender/message_id
pair after response re... -
03:37 AM Revision 9edc1625 (git): [ruby/resolv] Fix confusion of received response message
- This is a follow up for commit 33fb966197f1 ("Remove sender/message_id
pair after response received in resolv", 2020-09-11).
As the @senders instance variable is also used for tracking transaction
ID allocation, simply removing an entry... -
02:29 AM Revision 5b0abba9 (git): Sync bundler & rubygems
-
02:29 AM Revision 15160e9b (git): Sync bundler & rubygems at the same time
-
02:29 AM Revision 7dccc4ef (git): Properly synchronize bundler gemspec too
- By making the necessary modifications automatically.
-
02:29 AM Revision cc4d8d03 (git): Simplify syncing bundler
- These files no longer exist upstream, so they don't need to be synced.
-
12:32 AM Revision 774cc32b (git): [ruby/irb] Treat encodings in exception correctly
- https://github.com/ruby/irb/commit/4452adbe04
-
12:07 AM Revision 4785d608 (git): .github/compilers/workflows.yml: support GCC-11
- GCC 11.1 was released. https://gcc.gnu.org/pipermail/gcc/2021-April/235922.html
See also https://github.com/ruby/ruby-ci-image/pull/1
05/10/2021
-
08:21 PM Misc #17811: DevelopersMeeting20210521Japan
- * [Bug #15928] Constant declaration does not conform to JIS 3017:2013 (jeremyevans0)
* Do we want to make constant assignment evaluation similar to attribute assignment (e.g. use left-to-right evaluation)?
* We recently made a simi... - 07:00 PM Revision d6d38d90 (git): * 2021-05-11 [ci skip]
-
07:00 PM Revision d2d443ef (git): Enhanced RDoc for Enumerable (#4479)
- Methods treated:
#count
#find
#find_index
#select
#filter_map
#reject
#map
#flat_map -
03:40 PM Bug #17855 (Closed): [BUG] object allocation during garbage collection phase
- ### Steps to reproduce
It happened sometimes when I'm navigating in my application, I don't really know the cause
### Expected behavior
Normal navigation
### Actual behavior
The application crashed while printing thousand of lin... -
10:19 AM Revision 73136ebb (git): [ruby/psych] Fix some typos [ci skip]
- https://github.com/ruby/psych/commit/98617e55a1
-
10:19 AM Revision b7250026 (git): [ruby/psych] bump version
- https://github.com/ruby/psych/commit/091cd46b1f
- 10:19 AM Revision 95497016 (git): [ruby/psych] docs: fix simple typo, expessed -> expressed
- There is a small typo in ext/psych/yaml/yaml.h.
Should read `expressed` rather than `expessed`.
https://github.com/ruby/psych/commit/1150d669cb -
10:19 AM Revision 1563de59 (git): [ruby/psych] Update to latest SnakeYAML
- Fixes jruby/jruby#6365
https://github.com/ruby/psych/commit/a88ff77f02 -
10:17 AM Revision c110ade0 (git): [ruby/psych] Fix custom marshalization with symbolize_names: true
- https://github.com/ruby/psych/commit/ee26f26ab5
-
10:17 AM Revision 155cd7fd (git): [ruby/psych] Cache dispatch cache in an instance variable
- https://github.com/ruby/psych/commit/285c461cd2
-
10:17 AM Revision 3ab41acd (git): [ruby/psych] Cache access to Psych.load_tags in Visitor::ToRuby
- https://github.com/ruby/psych/commit/58223f0426
-
10:09 AM Revision ab785b28 (git): [ruby/psych] Use assert_raise instead of assert_raises
- https://github.com/ruby/psych/commit/e6ad12b4e1
-
09:53 AM Revision bae9a21e (git): [ruby/psych] Use pend instead of skip
- https://github.com/ruby/psych/commit/efd2a62c9a
-
09:53 AM Revision 53c5a4bb (git): [ruby/psych] Fixed test-case for NaN
- https://github.com/ruby/psych/commit/f85a008263
-
09:53 AM Revision 230d559f (git): [ruby/psych] Use Ractor constant for ignoreing condition
- https://github.com/ruby/psych/commit/cc5f957327
-
09:53 AM Revision ce67549c (git): [ruby/psych] Use test-unit instead of minitest
- https://github.com/ruby/psych/commit/01e7310dd3
-
07:08 AM Revision ce5779d8 (git): [ruby/set] set is also dual licenses
- https://github.com/ruby/set/commit/fc24457e53
- 07:08 AM Revision 94d858f8 (git): Add a space to separate sentences in the error message
-
07:08 AM Revision 61e44995 (git): [ruby/set] Adding section: What's Here
- https://github.com/ruby/set/commit/257dc452a7
-
07:08 AM Revision 0a745479 (git): [ruby/set] Adding section: What's Here
- https://github.com/ruby/set/commit/8f4c62768d
-
07:08 AM Revision b8506eb4 (git): [ruby/set] Adding section: What's Here
- https://github.com/ruby/set/commit/254d927c8c
-
07:08 AM Revision adc86f7a (git): [ruby/set] Adding section: What's Here
- https://github.com/ruby/set/commit/ab81354de1
-
06:59 AM Revision 2d670274 (git): Removed missing/dup2.c
- This function should be always available, as POSIX-compliant or
Windows platform are required since 1.9. Also the code in this
file is MT-unsafe. - 03:24 AM Revision 72ad9d27 (git): fix previous commit
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 02:18 AM Revision 23f93512 (git): * 2021-05-10 [ci skip]
-
02:18 AM Revision 043ac94d (git): rb_fiber_new_kw: doesn't exist
- Not against having such thing but currently we lack one.
-
01:17 AM Revision 1d0e670e (git): LEGAL: Remove entries that no longer exist
- lib/bundler.gemspec and man/bundle-*,gemfile.* are now under the
directory lib/bundler/.
05/09/2021
-
04:12 PM Bug #17777: 2.6.7 fails to build on macOS: implicit declaration of function 'rb_native_mutex_destroy' is invalid in C99
- (hopefully) fixed at r67942.
- 04:11 PM Revision 5df653ca (git): fix macos build
- note that this is not a security fix, but recognized as critical build problem.
[Backport #17777]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:57 AM Bug #16383: TracePoint does not report calls to attribute reader methods
- This may be a long shot, but would it be possible to make a c extension and apply a patch [similar to this](https://bugs.ruby-lang.org/attachments/8197) from a gem?
I also think the `--debug` flag mentioned by Charles is an excellent ...
05/08/2021
-
09:46 PM Bug #17804 (Closed): Math.cbrt(0.0) returns NaN
- Applied in changeset commit:git|406ae7fb03640e11e200382ef61cd450b952b7aa.
----------
Fix Math.cbrt(0.0) on glibc
This should return 0, but on glibc it returned NaN.
Fixes [Bug #17804] -
09:45 PM Revision 406ae7fb (git): Fix Math.cbrt(0.0) on glibc
- This should return 0, but on glibc it returned NaN.
Fixes [Bug #17804] - 07:50 PM Revision b7fec2e3 (git): * 2021-05-09 [ci skip]
-
07:50 PM Revision 43380401 (git): Enhanced RDoc for Enumerable (#4473)
- Enhanced RDoc for Enumerable: #grep and #grep_v.
-
01:41 PM Revision e3e55967 (git): Fix example code in Array#max doc
- `[0, 1, 2, 3].max(6)` actually returns `[3, 2, 1, 0]`, but the doc said
it returns `[3, 2, 1]`. -
06:29 AM Revision c7601fb9 (git): [ruby/irb] Deal with different screen sizes
- https://github.com/ruby/irb/commit/7118b3322f
-
05:00 AM Revision de96ae9b (git): [ruby/irb] Dump ancestors' methods by ls command
- https://github.com/ruby/irb/commit/73edff287c
-
02:40 AM Revision 30d2d726 (git): Shrink timev.rb iseq size
05/07/2021
-
11:41 PM Bug #14963 (Closed): Since r64107, on Solaris, spec test of rb_io_wait_readable hangs up
- r64107 (commit:708bfd21156828526fe72de2cedecfaca6647dc1) was reverted at commit:194a6a2c68e9c8a3536b24db18ceac87535a6051, and the timer thread still exists, so I think this can be closed.
-
08:14 PM Revision 86b4c2fc (git): What's Here for class Dir (#4472)
- What's Here for class Dir
- 04:22 PM Revision 111bfc93 (git): * 2021-05-08 [ci skip]
-
04:22 PM Revision 4337da37 (git): What's Here for class File (#4460)
- What's Here for class File
-
03:15 PM Misc #17818: Reviving Travis CI
- I would share the result by communicating with Travis support.
The excellent news is now,
* arch: `arm64`, arch: `ppc64le`, arch: `s390x` have free unlimited builds without consuming credits for all the open source repositories.
... -
01:18 PM Feature #17816 (Closed): Move C heap allocations for RVALUE object data into GC heap
- Closed as PR has been merged.
-
11:15 AM Revision 40612d55 (git): Fixed shorten-64-to-32 errors when USE_COMBINATION_EXPLOSION_CHECK
-
08:14 AM Feature #17837: Add support for Regexp timeouts
- @mame not sure if the compiler takes care of this but maybe we can avoid calls to GET_THREAD if the static reg_match_time_limit is not set, just bypass all of this if the static is not set?
-
07:57 AM Feature #17837: Add support for Regexp timeouts
- I've created a simple prototype of `Regexp.timeout=` by a polling approach.
Conclusion first. It brings about 5% overhead in micro benchmark, unfortunately.
I guess it is unlikely to be significant in a real application, but not good... -
06:03 AM Feature #17837: Add support for Regexp timeouts
- I think that backtracking limit would be better than timeout.
-
08:02 AM Revision ff69ef27 (git): compile.c: Pass node instead of nd_line(node) to ADD_INSN* functions
- ... then, new_insn_core extracts nd_line(node).
Also, if a macro "EXPERIMENTAL_ISEQ_NODE_ID" is defined, this changeset
keeps nd_node_id(node) for each instruction. This is intended for
TypeProf to identify what AST::Node corresponds to... -
04:40 AM Bug #17854: Crash with certain "case" expressions on FreeBSD
- Thank you for reporting! This is my bug, clang optimizer is not guilty here.
Trying to fix at: https://github.com/ruby/ruby/pull/4469 -
02:04 AM Bug #15928: Constant declaration does not conform to JIS 3017:2013
- Eregon (Benoit Daloze) wrote in #note-10:
> @mame @ko1 @yugui Are we sure we want to go ahead with the change in #4443 and this one? Or should we keep things as they are in 3.0, or as change single assignment like in MRuby?
In my opi...
05/06/2021
-
09:11 PM Feature #17831 (Third Party's Issue): add slice method to Fiddle::MemoryView
- Could you file this to https://github.com/ruby/fiddle/ ?
-
09:10 PM Feature #17832 (Third Party's Issue): allow IO write to write memoryview object without copying or add IO#write_memoryview
- We can implement this by adding `Fiddle::MemoryView#to_s` with `rb_str_new_static()`.
Could you file this to https://github.com/ruby/fiddle/ ? -
07:00 PM Feature #17844: Support list of methods to test with respond_to?
- @byroot You're right of course, I'm so tuned in to keyword arguments. :-) Can be done in Ruby as `def respond_to?(*args)`, but you'd have to check the last args member for type. It might be more ore less ugly in C, I honestly know zilch ...
-
12:23 PM Feature #17844: Support list of methods to test with respond_to?
- I think `raise ArgumentError unless recipient.respond_to?(:email) && recipient.respond_to?(:name)` is good enough.
It's also likely to be significantly faster than `recipient.respond_to_all?(:email, :name)` since that has variable argume... -
12:17 PM Feature #17844: Support list of methods to test with respond_to?
- @svoop, you seem to have missed that `include_all` is a positional parameter, not a named one.
-
08:18 AM Feature #17844: Support list of methods to test with respond_to?
- @byroot You're right, breaking backward compatibility of the signature is out of the question. Not sure for C, but in plain Ruby, it's not a problem:
```ruby
def just_checkin(*methods, include_all: false)
puts methods.inspect, inc... -
08:05 AM Feature #17844: Support list of methods to test with respond_to?
- Currently the method signature is `respond_to?(symbol, include_all=false)`, so changing it to what you suggest might break backward compatibility. e.g.:
```ruby
>> Object.new.respond_to?(:puts, :bar)
=> true
```
Of course the ab... -
07:22 AM Feature #17844: Support list of methods to test with respond_to?
- Fair point, but I don't think `respond_to_any?` is a real use case given `respond_to?` is mostly used to check whether an object implements the necessary interface: The information "it implements method1 OR method2" has little practical ...
-
04:54 PM Revision 578e6416 (git): lldb: convert heap_page_obj_limit from a float to int
-
03:59 PM Bug #17854 (Assigned): Crash with certain "case" expressions on FreeBSD
- Thank you for the detailed report.
I confirm the issue on Ubuntu by adding logging code before `UNREACHABLE_RETURN(-1)`.
```diff
diff --git a/compile.c b/compile.c
index 1cabb8cccd..826d9c6f4a 100644
--- a/compile.c
+++ b/compi... -
12:30 PM Bug #17854 (Closed): Crash with certain "case" expressions on FreeBSD
- ## Affected version
* Ruby 2.6, 2.7, 3.0 compiled with **clang on FressBD**
No tested with other versions. Ruby compiled with GCC doesn't have this issue.
## Snippet to reproduce
```
ruby -e 'case 1; when 2r; 3; end'
```
## ... -
03:37 PM Bug #17846: Percent mode changes the output from ERB beyond what is documented
- k0kubun (Takashi Kokubun) wrote in #note-6:
> Maybe not. Now I did https://github.com/ruby/erb/commit/b58b188028fbb403f75d48d62717373fc0908f7a.
Thank you :) -
06:14 AM Bug #17846: Percent mode changes the output from ERB beyond what is documented
- Maybe not. Now I did https://github.com/ruby/erb/commit/b58b188028fbb403f75d48d62717373fc0908f7a.
-
03:20 PM Feature #17837: Add support for Regexp timeouts
- I noticed there is a reply in [ruby-core:103730] by @normalperson that unfortunately doesn't seem to be mirrored on Redmine:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/103730 -
01:30 PM Feature #17837: Add support for Regexp timeouts
- duerst (Martin Dürst) wrote in #note-14:
> In a backtracking regular expression engine, backtracking occurs very often. There are many cases of backtracking that are still totally harmless.
Even if backtracking occurs very often, my thi... - 03:13 PM Revision 550b02e4 (git): * 2021-05-07 [ci skip]
-
03:04 PM Revision 0bbab1e5 (git): Protoized old pre-ANSI K&R style declarations and definitions
-
02:53 PM Revision 99644514 (git): Conditionally used functions
-
01:18 PM Revision b0b7751f (git): lldb: teach rp about T_PAYLOAD
-
01:18 PM Revision d1bd4e23 (git): Store rb_classext_t next to RClass slots on the heap
-
01:18 PM Revision 8bbd3198 (git): Allow newobj_of0 and newobj_slowpath to allocate into multiple heap slots
-
01:04 PM Revision ddc29e29 (git): net-http no longer requires stringio
-
10:02 AM Revision f2d6fa16 (git): Use assert_ractor for separating test processes
-
08:19 AM Feature #17853 (Closed): Add Thread#thread_id
- # Abstract
New method `Thread#thread_id` to get associated native thread id (LWP.) It might return `nil` if OS doesn't support thread id or equivalent.
# Background
When I tried to investigate which Ruby thread of an application... -
07:51 AM Revision 120b835f (git): [ruby/timeout] Only run timeout_after hook on fiber scheduler if scheduler exists
- https://github.com/ruby/timeout/commit/4893cde0ed
-
07:50 AM Revision 44e8575c (git): [ruby/timeout] Avoid unnecessary object allocation
- Idea from nobu.
https://github.com/ruby/timeout/commit/aecdaa23b3 -
07:49 AM Revision 33b5e179 (git): [ruby/timeout] Make Timeout::Error#exception with multiple arguments not ignore arguments
- This makes:
raise(Timeout::Error.new("hello"), "world")
raise a TimeoutError instance with "world" as the message instead
of "hello", for consistency with other Ruby exception classes.
This required some internal changes to keep the... -
07:45 AM Bug #17756 (Closed): StringScanner#charpos makes segmentation fault when target.byteslice returns non string value
- Applied in changeset commit:git|564ccd095a9d7fbe869031dbf666d61dadfdcb03.
----------
[ruby/strscan] Fix segmentation fault of `StringScanner#charpos` when `String#byteslice` returns non string value [Bug #17756] (#20)
https://github.co... -
07:21 AM Revision a42b7de4 (git): [ruby/strscan] Replace "iff" with "if and only if" (#18)
- iff means if and only if, but readers without that knowledge might
assume this to be a spelling mistake. To me, this seems like
exclusionary language that is unnecessary. Simply using "if and only if"
instead should suffice.
https://git... -
07:20 AM Revision 564ccd09 (git): [ruby/strscan] Fix segmentation fault of `StringScanner#charpos` when `String#byteslice` returns non string value [Bug #17756] (#20)
- https://github.com/ruby/strscan/commit/92961cde2b
-
07:18 AM Revision 822eb945 (git): Import from https://github.com/ruby/strscan/pull/19
- * Use Gemfile instead of Gem::Specification#add_development_dependency.
* Use pend instead of skip for test-unit. -
06:58 AM Revision 364044e0 (git): [ruby/net-http] Do not require stringio
- It is not used in net/http library code since commit 15ccd0118c13
(r36473 in ruby svn trunk, 2012).
require's in test suite are also cleaned up.
https://github.com/ruby/net-http/commit/996d18a43f -
06:24 AM Revision 965719f5 (git): Fixed the file path for net-imap.gemspec
-
06:20 AM Revision 5de6f1ab (git): Move net-imap.gemspec to under the lib/net/imap directory.
-
06:20 AM Revision 5a02281f (git): [ruby/net-imap] Many documentation improvements
- * updated obsoleted RFCs to current versions
* linked most references to their RFCs
* linked extension commands to their RFCs
* removed unidiomatic `()` from instance method links
* escaped `IMAP` in a few places
* converted all response... -
06:20 AM Revision b0de2e7f (git): [ruby/net-imap] Move send_*_data into net/imap/command_data
- Partially implements #10.
https://github.com/ruby/net-imap/commit/64d1080d63 -
06:20 AM Revision deae61e9 (git): [ruby/net-imap] Move flags to net/imap/flags
- Partially implements #10.
https://github.com/ruby/net-imap/commit/2a9afa83bf -
06:20 AM Revision 337c0e31 (git): [ruby/net-imap] Move UTF7 & datetime formatting to net/imap/data_encoding
- Partially implements #10.
https://github.com/ruby/net-imap/commit/0d43c5e856 -
06:20 AM Revision 4dc7b824 (git): [ruby/net-imap] move command data formatters to net/imap/command_data
- Partially implements #10.
https://github.com/ruby/net-imap/commit/24e929fdd2 -
06:20 AM Revision affb5104 (git): [ruby/net-imap] move response data structs to net/imap/response_data
- Partially implements #10.
https://github.com/ruby/net-imap/commit/746757b936 -
06:20 AM Revision 395a2877 (git): [ruby/net-imap] move ResponseParser to lib/net/imap/response_parser
- Partially implements #10.
https://github.com/ruby/net-imap/commit/c2408aac9a -
06:20 AM Revision 2fc91da8 (git): [ruby/net-imap] Clean up authenticators rdoc
- Added RFC links to all SASL mechanism specifications.
https://github.com/ruby/net-imap/commit/53ff4b0c09 -
06:20 AM Revision 912f39b2 (git): [ruby/net-imap] Update AUTH=PLAIN to be a little closer to RFC4616
- * Add authzid support
* must not contain NULL chars
* improve rdoc
https://github.com/ruby/net-imap/commit/a587fc71b7 -
06:20 AM Revision 33100581 (git): [ruby/net-imap] Move each authenticator to its own file
- Also updates rdoc with SASL specifications and deprecations. Of these
four, only `PLAIN` isn't deprecated!
+@@authenticators+ was changed to a class instance var
+@authenticators+. No one should have been using the class variable
dire... -
06:13 AM Revision a7f74798 (git): [ruby/erb] Document that `<% #` doesn't work
- [Bug #17846]
https://github.com/ruby/erb/commit/b58b188028fbb403f75d48d62717373fc0908f7a -
03:10 AM Revision f941dd5a (git): Reuse sysconf result
-
02:39 AM Revision 0dd9ac77 (git): Revised PAGE_MAX_SIZE case
-
02:30 AM Revision a1fdc5f7 (git): Check only whether PAGE_SIZE is compile-time const
-
12:39 AM Revision 921d8ac9 (git): Get rid of including sys/user.h on macOS
- LIST_HEAD in ccan/list conflicts with sys/queue.h.
```
./ccan/list/list.h:75:9: warning: 'LIST_HEAD' macro redefined [-Wmacro-redefined]
^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/queue.h:465:9: note: ...