Activity
From 07/12/2019 to 07/18/2019
07/18/2019
-
11:55 PM Feature #15631: Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
- Thanks for the review Koichi. I tested the patch on a rails app (redmine), but unfortunatelly there's no improvement.
0.1MB less memory after boot (^150MB total)
No mesurable difference in performance
I'll investigate the second cas... -
11:53 PM Revision 4ec5b39c (git): initialize only Fiber's cfp.
- fiber->cont.saved_ec.cfp should be initialized by NULL
because no vm_stack is allocated. However, cont_init()
captures current Fiber's cfp for continuation, so it should
only initialize fibers. - 11:32 PM Revision 8ca32020 (git): Revert "Ensure cfp is initialized to NULL."
- This reverts commit d7fdf45a4ae1bcb6fac30a24b025d4f20149ba0a.
-
11:23 PM Revision c8ee44f4 (git): Fix showing doc of "nil.to_s", nil doesn't have #name
- 11:10 PM Revision d7fdf45a (git): Ensure cfp is initialized to NULL.
- `cont_init` didn't initialize `cont->saved_ec.cfp`. Calling `cont_mark`
would result in an invalid `cfp` in `rb_execution_context_mark`. Because
fibers lazy-initialize the stack, fibers that are created but not resumed
could cause this p... - 11:10 PM Revision 9dda0a03 (git): Remove `rb_vm_push_frame` as it is no longer used.
-
10:58 PM Bug #8868 (Closed): Error installing 1.9.3p448 on AIX 7.1
-
10:57 PM Bug #8852 (Closed): Synology build of ruby-2.0.0-p247 is failing
-
10:57 PM Revision fd461dea (git): Ripper#validate_object: check if the object is hidden
-
10:56 PM Bug #8797 (Closed): Intermittent Segfault on 2.0.0-p247 when running 'bundle install'
-
10:56 PM Bug #8794 (Closed): Ruby on Rails
-
10:55 PM Bug #8774 (Closed): rb_file_dirname return wrong encoding string when dir is "."
-
10:51 PM Revision 0b826418 (git): Update before commit
-
10:50 PM Revision 59d6ce4f (git): Moved RIPPER_DEBUG methods to Ripper from Kernel
-
10:50 PM Revision 18bce998 (git): Fixed build error with RIPPER_DEBUG
-
09:44 PM Bug #8720 (Closed): ECB mode seems to be broken
- I agree that we should do better in this area. When calling `Cipher#encrypt` or `Cipher#decrypt` without arguments, the cipher is initialized with an empty key. This is normally not a problem, since you are supposed to call these metho...
- 09:40 PM Revision d4c40295 (git): * 2019-07-19
-
09:35 PM Revision a036a8a0 (git): Adjust styles and indents
-
09:23 PM Revision a027c4b5 (git): Use Qnull instead of 0 and Qundef
-
07:34 PM Bug #8710 (Closed): Segmentation fault - when migrating a database on Debian 7.1
-
07:34 PM Bug #8708 (Feedback): It seems that a call to the "system" changes the handler of the INT signal
- Can you reproduce this issue with a currently supported Ruby version and current version of Cygwin? I tried the script on OpenBSD and on Windows and it works fine in both cases.
-
07:28 PM Bug #8695 (Closed): CompilationMakefile for 1.9.3-p448 and 2.0.0-p247 produces "Inconsistent rules lines" errors on HP-UX 9000/800
-
07:26 PM Bug #8621 (Closed): MinGW: Rational tests are causing error
- The floating error was fixed (test disabled and considered out of spec) by commit:b2a128fa7cabcce182e7360db70b3e50bb39242d.
-
07:22 PM Feature #10463: :~@ and :!@ are not parsed correctly
- matz confirmed in the last developer meeting that he wants `def !@; end` to continue to work. However, I still think we should fix it so that `:!@` and `:~@` are not treated as `:!` and `:~`. This is a bit tricky to do as the parser cu...
-
06:31 PM Bug #8611 (Closed): Minitest encoding problems.
- The issue you described with irb crashing was fixed between 2.0 and 2.1:
```
$ irb20 -rpyper
irb(main):001:0> a = [1, 3, 4, 3, 0, 3, 1]
=> [1, 3, 4, 3, 0, 3, 1]
irb(main):002:0> a.τsπ( :uniq ).χOixπ.χriXgζmEπ
NoMethodError: undef... -
05:54 PM Bug #8594: [BUG] rb_update_max_fd: invalid fd (4) given
- I tested the program on Windows 10 x64 on a network file system while repeatedly disconnecting and reconnecting the physical connection and was not able to reproduce the crash. Can you try again on a supported ruby version and see if th...
-
05:35 PM Bug #8493 (Closed): Random Segmentation fault in sass
-
05:34 PM Bug #8486 (Closed): Random segmentation fault
-
05:00 PM Bug #8483 (Closed): SEGV under high concurrency
-
04:59 PM Bug #8482 (Closed): native rake gem has broken path
-
04:59 PM Bug #8479 (Closed): make for ruby-1.9.3-p392 fails on rdoc, error 134 (Ubuntu 12.04.2 LTS)
-
02:30 PM Bug #16010 (Rejected): Sole single-splatted variable with an array object in an assignment construction gobbles an additional nesting of array
- I believe this behavior is expected/spec. Ruby's behavior when given an multiple-assignment expression such as this:
```ruby
*foo = v
```
Is to treat it similar to:
```ruby
*foo = Array(v)
```
So the reason that `*foo = ... -
10:44 AM Bug #16010 (Rejected): Sole single-splatted variable with an array object in an assignment construction gobbles an additional nesting of array
- When a single splatted variable appears as the sole argument on the left side of assignment with an array on the right side, that variable is assigned the object as is on the right side:
```ruby
*foo = ["a"]; foo # => ["a"]
```
T... -
01:59 PM Revision d40d8b3c (git): check saved_ec.cfp
- 12:33 PM Revision 9790b778 (git): Ensure we don't have dangling cfp.
- 08:55 AM Revision 78bc6cd8 (git): * remove trailing spaces.
- 08:54 AM Revision 38e3c65a (git): Improve `fiber_pool_expand` allocation strategy.
- If `mmap` fails to allocate memory, try half the size, and so on.
Limit FIBER_POOL_ALLOCATION_MAXIMUM_SIZE to 1024 stacks. In typical
configurations this limits the memory mapped region to ~128MB per
allocation. - 08:54 AM Revision 311007bf (git): Add experimental `RUBY_SHARED_FIBER_POOL_FREE_STACKS` to control madvise.
- 08:54 AM Revision 56fcf988 (git): Add note about setting `vm.max_map_count` for Linux.
- 08:54 AM Revision 001f187e (git): Make fiber_pool more conservative on platforms with limited address space.
- We use COROUTINE_LIMITED_ADDRESS_SPACE to select platforms where address
space is 32-bits or less. Fiber pool implementation enables more book
keeping, and reduces upper limits, in order to minimise address space
utilisation. - 08:54 AM Revision 385ea910 (git): Add `struct fiber_pool {int free_stacks;}` to control usage of madvise.
- `madvise(free)` and similar operations are good because they avoid swap
usage by clearing the dirty bit on memory pages which are mapped but no
longer needed. However, there is some performance penalty if there is no
memory pressure. The... - 08:54 AM Revision 4d60a582 (git): Add FIBER_POOL_ALLOCATION_FREE to control allocation/free strategy.
- 08:54 AM Revision 8ac9a7be (git): Limit expansion of fiber pool on 32-bit platforms.
- On 32-bit platforms, expanding the fiber pool by a large amount may fail,
even if a smaller amount may succeed. We limit the maximum size of a single
allocation to maximise the number of fibers that can be allocated.
Additionally, we im... - 08:54 AM Revision 77f33190 (git): Enable `madvise` to release stack space back to OS.
- 08:54 AM Revision 47c0cab2 (git): Add details of fiber pool and coroutine selection to NEWS.
- 08:54 AM Revision b8242bce (git): Add `ucontext` and `copy` coroutine implementations to test matrix.
- 08:54 AM Revision 7291fef5 (git): Improve build process and coroutine implementation selection.
- 08:54 AM Revision 91aae651 (git): Stack copying implementation of coroutines.
- 08:54 AM Revision 8779382d (git): Remove unused vm_stack recycling.
- 08:54 AM Revision 14cf95cf (git): Implement fiber pool for reduced fiber allocation overhead.
- Replace previous stack cache with fiber pool cache. The fiber pool
allocates many stacks in a single memory region. Stack allocation
becomes O(log N) and fiber creation is amortized O(1). Around 10x
performance improvement was measured i... - 08:54 AM Revision 1b82c877 (git): Make FIBER_USE_NATIVE the default and reformat code.
-
08:42 AM Bug #16009: Performance regression in 2.7
- ```
require 'benchmark'
require 'objspace'
# this line prohibit lazy sweep
# Thread.new{ObjectSpace.each_object{sleep}}
Benchmark.bm{|x|
x.report{
100.times{
fibers = []
2000.times do
fiber =... -
08:12 AM Bug #16009 (Closed): Performance regression in 2.7
-
08:12 AM Bug #16009: Performance regression in 2.7
- More info about this ticket:
This benchmark is on falcon application, many Fiber creation benchmark.
The table shows commit hash and the results (Requests per seconds).
In brief, there is a regression between master and ruby 2.6.3.
...
07/17/2019
-
11:58 PM Bug #8444: Regexp vars $~ and friends are not thread local
- This behavior is still present in the master branch and it does seem like a bug to me. It does seems specific to returning a closure from a method and having two separate threads call that closure.
It doesn't occur if you pass the pr... - 11:15 PM Revision 97808e29 (git): * 2019-07-18
- 11:13 PM Revision 9b28eefe (git): Add benchmark to help diagnose performance regression.
- See https://bugs.ruby-lang.org/issues/16009 for more details.
-
11:12 PM Bug #16009: Performance regression in 2.7
- Comparing master branch with master + reverted 88449100bc6d23a00dbf3addb97665f4f606f2b8
```
koyoko% make benchmark ITEM=vm2_fiber_gc COMPARE_RUBY=`which ruby`
../revision.h unchanged
/home/samuel/.rvm/rubies/ruby-2.6.3/bin/ruby --d... -
11:20 AM Bug #16009: Performance regression in 2.7
- @ko1 it took some time to find this, and it's late, so issue is brief. Feel free to discuss with me if you need more information.
-
11:19 AM Bug #16009 (Closed): Performance regression in 2.7
```
Number is requests/s
dcf5c19c9f89d732da70a1a16a2fe60cd1999bcc 7561.82
c53f87943e53c96b86d50b496d2a410ff1245b4c 7534.09
d2003a6d392b3b0054d7528e2e731584196aefad 7467.44, 7458.18, 7111.09, 7293.74...-
11:04 PM Bug #8442 (Feedback): sendmesg (blocking) of class BasicSocket is repeatably sent by the ruby kernel
- I tried the example program provided on Ruby 2.6 on OpenBSD, and did not experience the issue that you were experiencing with 2.0.0-p0 on Linux. Are you able to recreate the problem you were having with a supported version of Ruby?
I... -
10:03 PM Bug #8441 (Closed): /Users/Chandan/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/webrick/utils.rb:132: [BUG] Segmentation fault ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin11.4.2]
-
10:03 PM Bug #8428: Date#to_time yields incorrect value for Julian dates
- I agree this is a bug that we should fix, and converting from julian to gregorian before converting to Time makes sense. It does have the downside of the Time object having a different mday value than the Date object, but without adding...
-
09:20 PM Feature #15973: Let Kernel#lambda always return a lambda
- > Can you present use case(s) for turning procs into lambdas?
One use case is reading the parameters of blocks as if they were written for a method definition: https://bugs.ruby-lang.org/issues/9777#note-11
Another one is getting lam... - 02:42 PM Revision bdec1ad9 (git): * expand tabs.
-
02:41 PM Revision 416ead4c (git): compile.c: add NO_CHECK for the calls to COMPILE whose result is unused
- to suppress many warnings of Coverity Scan
-
08:04 AM Revision 0e23e0c3 (git): Adjust indent [ci skip]
-
05:45 AM Revision cd372f8d (git): Get rid of LoadError with $DEBUG
-
02:57 AM Revision af07e07a (git): Separate pull-github from merge-github [ci skip]
-
02:54 AM Feature #15975: Add Array#pluck
- My apologies, yes, there was a cut-and-paste error on show for a few minutes, and you were quick enough to see it. It's now the code I intended to paste.
-
01:57 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- There is some kind of performance regression in 2.6.3 -> 2.7.0-master.
So, I'm trying with 2.7.0-preview1 to see if it's better or worse.
```
Server Software:
Server Hostname: localhost
Server Port: 929... -
01:16 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- Here is some testing using falcon and `ab`. `ab` is HTTP/1.0 client test. Because of that, each connection/request makes new fiber, so it's going to show if there are improvements/regressions to performance.
```
Server Software: ... - 01:53 AM Revision 0965bb60 (git): * 2019-07-17
07/16/2019
-
11:34 PM Revision f487e5b7 (git): Expanded buf to copy at once
- Build dumped string from base packed data and extended year at
once. Although currently ruby_marshal_write_long() never writes
more than 5 bytes per its format specification, allocate
`sizeof(long)+1` for the sanitation. -
10:28 PM Revision ed2f2b4f (git): Named the backward compatible dump size
-
07:42 PM Bug #16008 (Closed): Ripper hshptn node drops information
- Hi - I'm the author of the prettier plugin for ruby. I'm trying to get it to support 2.7 pattern matching. It works well for everything to do with the array pattern. However, for hash patterns, it drops certain information if you touch t...
-
02:38 PM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- akr (Akira Tanaka) wrote:
> Also, I'm still not certain that what Time object to be generated
> ...
PostgreSQL has SET TIME ZONE command to set a time zone for a session.
https://www.postgresql.org/docs/11/datatype-datetime.html#DAT... -
11:14 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- (1) The SQL spec. defines the range of year as 0001 to 9999.
(not in the syntax but in another table.)
However Ruby Time object can represent arbitrary integer year.
There is a RDB which works with a year outside of 0001 to 9999.
... -
02:17 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- matsuda (Akira Matsuda) wrote:
> > I would be OK with modifying Time.iso8601 to make either T or space a valid date/time separator.
> ...
I said its against XML Schema.
https://www.w3.org/TR/xmlschema-2/
Time[.#]iso8601 is alias of... -
01:03 PM Revision 6ab95fb7 (git): Removed twisted tests
- Why does only Process.daemon have these tests?
-
12:38 PM Revision d45d448d (git): nil as the default of optional parameters
-
10:27 AM Revision d8e23a67 (git): nil as the default of optional parameters
-
09:57 AM Revision e988048e (git): Moved the check for `exception` to rb_execarg_addopt
- Check for `exception` option in rb_execarg_addopt, as well as
other options. And then raise a particular ArgumentError if it is
not allowed. -
09:42 AM Revision 8deabcd3 (git): Constified afamily functions
-
09:41 AM Revision 19d592dc (git): Somehow `if` didn't work
-
08:31 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- Attached graph/table.
-
04:48 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- On Darwin, comparing fiber-pool with master:
```
> make benchmark COMPARE_RUBY="../../ruby/build/ruby --disable-gems" ITEM=vm2_fiber RUBY_SHARED_FIBER_POOL_FREE_STACKS=0
Calculating -------------------------------------
... -
02:44 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- On Linux, comparing fiber-pool with master.
```
% make benchmark COMPARE_RUBY="../../ruby/build/ruby --disable-gems" ITEM=vm2_fiber RUBY_SHARED_FIBER_POOL_FREE_STACKS=0
Calculating -------------------------------------
... -
02:34 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- I've updated the implementation for fiber pool, which now has some functionality controlled by `#define FIBER_POOL_ALLOCATION_FREE`.
The normal (CPU efficient, memory expensive) implementation creates and reuses `fiber_pool_allocation... -
08:23 AM Revision 76c6cf2c (git): Print debugging information when updating failed
-
07:47 AM Feature #15975: Add Array#pluck
- > we can now do some very nice things just with existing syntax:
The sample code is invalid.
Is this?
```ruby
class Array
def to_proc
Proc.new do |head, *tail|
collect(&:to_proc).collect do |ep|
ep_head = ... -
07:13 AM Feature #15975: Add Array#pluck
- I think that's pretty limited. #pluck is a fairly crude method, fine for Rails but hardly befitting the Ruby standard library. I'd much rather use a higher-order function and get somewhere much more interesting.
By instead implementin... -
06:47 AM Bug #16007 (Closed): Process.clock_getres matches the clock in practice for Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID FAILED fails on armv7hl
- During build of Ruby 2.7.0 0c6c937904 on Fedora Rawhide, I observe following test failure on armv7hl (other arches are fine):
~~~
1)
Process.clock_getres matches the clock in practice for Process::CLOCK_PROCESS_CPUTIME_ID FAILED
Ex... -
06:42 AM Feature #16006 (Rejected): String count and alignment that consider multibyte characters
- The display width of a string cannot be calculated without rendering information, which Ruby usually does not have.
Considering emojis or grapheme clusters, it is nearly impossible. It's the responsibility of the rendering engine.
Ma... -
04:13 AM Feature #16006: String count and alignment that consider multibyte characters
- sawa (Tsuyoshi Sawada) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
Still not appropriate. There are characters whose "wide"-ness is not fixed until they actually got rendered. See also: https://unicode.org/reports/tr11/ especiall... -
04:01 AM Feature #16006: String count and alignment that consider multibyte characters
- shyouhei (Shyouhei Urabe) wrote:
> This particular proposal is NG. ASCII vs. non-ASCII is too Asian-centric. There are other non-wide non-ASCII encodings, such as those in Europe.
Yeah, the keyword name `non_ascii` In my original p... -
03:55 AM Feature #16006: String count and alignment that consider multibyte characters
- This particular proposal is NG. ASCII vs. non-ASCII is too Asian-centric. There are other non-wide non-ASCII encodings, such as those in Europe.
-
03:35 AM Feature #16006 (Rejected): String count and alignment that consider multibyte characters
- In non-proportional font, multibyte characters have twice the width of ASCII characters. Since `String#length`, `String#ljust`, `String#rjust`, and `String#center` do not take this into consideration, applying these methods do not give t...
-
05:34 AM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- I did several build with 0c6c937904 and all passed. Thx for the fix.
-
01:02 AM Feature #16003: Remove doc/etc.rd.ja?
- 削除に賛成です。
-
12:41 AM Bug #12285 (Closed): Date.iso8601 does not properly handle partial date strings
- Applied in changeset commit:git|75fb0a9afad1685cedee9c7665a7f30ec95068fc.
----------
Allow mday in Date.iso8601 to be omitted
[Bug #12285] -
12:41 AM Bug #12833 (Closed): incorrect iso8601 parsing of YYYY-MM format
- Applied in changeset commit:git|75fb0a9afad1685cedee9c7665a7f30ec95068fc.
----------
Allow mday in Date.iso8601 to be omitted
[Bug #12285] -
12:41 AM Bug #12981 (Closed): Date.parse raises an Argument error under a specific condition
- Applied in changeset commit:git|75fb0a9afad1685cedee9c7665a7f30ec95068fc.
----------
Allow mday in Date.iso8601 to be omitted
[Bug #12285] -
12:41 AM Revision 75fb0a9a (git): Allow mday in Date.iso8601 to be omitted
- [Bug #12285]
- 12:22 AM Revision e2f987e6 (git): * expand tabs.
-
12:15 AM Revision 00dc0dae (git): Removed intermediate local variables
07/15/2019
-
11:46 PM Revision 8e37ef76 (git): Fixed the library path for tools
-
11:25 PM Revision 71d5b4c3 (git): Fixed the library path for tools
-
11:15 PM Revision ca524bcd (git): Expanded f_numerator
-
10:59 PM Revision 34019a22 (git): Expanded f_denominator
-
10:53 PM Bug #8397 (Closed): TestBignum#test_interrupt_during_bigdivrem failure
-
10:52 PM Bug #8326 (Closed): Running Redmine unter Ruby 2.0.0 produces an "Illegal instruction(coredump)" under AIX 7.1
-
10:51 PM Bug #8285 (Closed): Resolv::DNS: TCP fallback fails with multiple resolvers
-
10:50 PM Bug #8245 (Closed): Segfault installing gems on Linux PowerPC with Ruby 2.0.0p0
-
10:50 PM Bug #8200 (Closed): Segmentation fault - rails 4 -> sidekiq-> tilt
-
10:49 PM Bug #8140 (Closed): Incorrect warning: `+' after local variable is interpreted as binary operator
-
10:48 PM Bug #8067 (Feedback): Checking a network connection in a loop never succeeds even if the connection is available.
- The script runs as expected on OpenBSD with ruby 2.6. I expect the issue you are experiencing is probably specific to your environment. Can you recreate this issue with a supported version of Ruby, and if so provide more details regard...
- 10:19 PM Revision 325d546d (git): * 2019-07-16
- 10:19 PM Revision a8e4b7b1 (git): * expand tabs.
-
10:18 PM Revision c184a1c2 (git): compile.c: add NO_CHECK for the calls to COMPILE whose result is unused
- to suppress many warnings of Coverity Scan
-
10:17 PM Revision 6aab77a7 (git): Add a /* fall through */ comment
-
10:04 PM Bug #7894 (Closed): Ruby mswin target does not build
-
10:04 PM Bug #7898 (Closed): Ruby tells me to report this bug
-
10:03 PM Bug #7855 (Closed): Rare segfault within yielding block
-
10:02 PM Bug #15620: Block argument usage affects lambda semantic
- Here is a patch which restores the 2.4 behavior:
https://github.com/ruby/ruby/pull/2289
Passes make check with VM_CHECK_MODE=1. -
09:11 PM Bug #7807 (Rejected): [PATCH] Remove duplicated load paths when empty version string is configured
-
09:07 PM Bug #7768: Inherited Array class missing
- mame (Yusuke Endoh) wrote:
> I think that it is a good idea to fix only Array#uniq first.
Looks like Array#uniq was never fixed. It still returns Array instance if length <= 1 and subclass instance otherwise. Attached is a patch th... -
08:21 PM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- > Right, I'm thinking we should just improve the documentation of `caller` and `caller_locations` then,
> ...
This is quite a common thing to do and it's not only about performance, though the performance aspect is equally important. I ... -
12:47 PM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- Right, I'm thinking we should just improve the documentation of `caller` and `caller_locations` then,
to mention `limit` should be used when possible, otherwise the impact on performance can be very high. -
10:38 AM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- @eregon the answer is in the former version of this issue - 'avoid common beginner mistakes getting full backtrace information' - it improves performance by being obvious when you look in the docs and helping people avoid getting the ful...
-
09:29 AM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- chrisseaton (Chris Seaton) wrote:
> This new method allows the user to explicitly say that they only need some of the callers.
`caller` and `caller_locations` already allow that with the `length` argument, which is more flexible.
I ... -
07:51 PM Bug #7731 (Closed): Segmentation fault when trying to start rails server
-
07:46 PM Bug #7716 (Closed): Readdressing Autoload
- autoload was modified to call `require` in commit:cd465d552c3a00341f4cb7f1d7a793d0ebcb6cde.
-
07:40 PM Bug #7703 (Closed): Segfault in 1.9.3-p362, possibly threads related
-
07:40 PM Bug #7689 (Closed): Crash @enumerator.so with ruby 1.9.3/thin/RoR 3.2.11
-
07:40 PM Bug #7653 (Closed): Array.pack ignores Big Endian modifier
-
07:39 PM Bug #7695 (Closed): Constant Lookup - For goodness sake it should at least see itself!
-
07:36 PM Bug #7279 (Closed): Zlib load error on HP-UX
-
07:34 PM Bug #5538 (Closed): ruby memory error running minitests
-
07:32 PM Bug #5497 (Closed): Math.log10(10_000) error on HP-UX/PA
-
07:31 PM Bug #4995 (Closed): 1 test fails on AIX
-
07:31 PM Bug #4611 (Closed): [BUG] Segementation fault reported
-
07:29 PM Bug #4012 (Closed): Get segmentation fault when trying to call method from 3rd party's API
-
07:28 PM Bug #3880 (Third Party's Issue): Ruby 1.9.1 - crash in timeout.rb
-
07:27 PM Bug #3784 (Closed): Seg fault in IO.select from webrick
-
07:27 PM Bug #9730 (Closed): E:/Rails/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:98: [BUG] Segmentation fault
-
07:27 PM Bug #4256 (Closed): [BUG] Segmentation fault ruby 1.9.2p0 (2010-08-18) [i386-mingw32]
-
05:18 PM Bug #10146 (Closed): DateTime#jisx0301 returns corrupted string when GC.stress is set to true.
-
05:14 PM Bug #12285 (Open): Date.iso8601 does not properly handle partial date strings
-
05:13 PM Bug #11673 (Closed): Inconsistent timezone behaviour (Time.parse and DateTime.parse)
- This is expected behavior. Without a timezone offset specified, `Time` assumes local time and `DateTime` assumes UTC.
-
05:06 PM Feature #5764 (Assigned): Net::HTTP should assume HTTP/0.9 on unexpected responses
- This appears to still be the case in master, but I think this is a feature request for a "laxed" option. I'm not sure if we want to support such an option though.
-
04:51 PM Bug #4484 (Rejected): Class variables leak to Object when using class_eval
- This is still true in master, but I believe this is expected behavior/spec. This is similar to constants:
```ruby
String.class_eval {A = 1}
Object::A
# => 1
```
If you want to scope constants or class variables, you need to re... -
04:43 PM Bug #4436: FileUtils verbose mode prints output to stderr
- This was set to the Ruby 1.8 tracker, but I think it is still an issue currently for all `FileUtils` methods. Changing the default behavior could possibly be done in Ruby 3, and potentially we could add an option for `$stdout` (or anoth...
-
01:14 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Here are the logs again. I am going to try the latest master and will report back if that helps.
-
12:52 PM Bug #16004: Kernel#lambda captured with Kernel#method doesn't create lambdas
- I think this requires matz to determine which behaviour is the valid or the
better one (as from the other linked discussion too).
I myself almost never use lambdas and only very rarely proc deliberately
so (via e. g. Proc.new or pr... -
09:22 AM Bug #16004: Kernel#lambda captured with Kernel#method doesn't create lambdas
- I would guess this is because Method#call introduces an extra frame:
```
$ ruby -e 'def foo; yield; end; method(:foo).call { raise "bar" }'
Traceback (most recent call last):
3: from -e:1:in `<main>'
2: from -e:1:in `call'
... -
04:24 AM Bug #16004 (Closed): Kernel#lambda captured with Kernel#method doesn't create lambdas
- `ruby -e 'p method(:lambda).call{}.lambda?'` prints false on 2.3.x-master(223854ebe8).
I think it should create lambdas.
-
10:39 AM Revision 0c6c9379 (git): Removed duplicate highlighting
-
09:42 AM Feature #5781: Query attributes (attribute methods ending in `?` mark)
- How about implementing it similarly to Crystal?
attr_accessor? :foo
-
08:45 AM Revision b452c03a (git): Always evaluate the expression RUBY_ASSERT_MESG_WHEN just once
-
08:22 AM Revision c20445ab (git): Require Ruby 2.4 or later because needs lex_state from Ripper
-
08:06 AM Revision c781b1b7 (git): update-deps for dependencies
-
07:53 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- > I would be OK with modifying Time.iso8601 to make either T or space a valid date/time separator.
In fact this was my first proposal. I firstly asked @akr about that exact modification on `Time.iso8601`, but he didn't like the idea b... -
07:45 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- > This seems backwards. Timezone 'Z' denotes UTC, see e.g. https://www.timeanddate.com/time/zones/z.
Indeed. My mistake. -
06:34 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- matsuda (Akira Matsuda) wrote:
> How about respecting local timezone with `Z`, and doing the UTC without `Z`?
This seems backwards. Timezone 'Z' denotes UTC, see e.g. https://www.timeanddate.com/time/zones/z. -
06:30 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- For many databases, if the timestamp has a fractional component, the fractional component will be included, and if the type includes a timezone, the timezone offset will be included. For example, on PostgreSQL:
```sql
SELECT CAST(CA... -
06:07 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- How about respecting local timezone with `Z`, and doing the UTC without `Z`?
-
05:39 AM Feature #16005: A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- Time object needs timezone offset.
"yyyy-MM-dd HH:mm:ss" doesn't contain it.
Always UTC?
-
05:21 AM Feature #16005 (Open): A variation of Time.iso8601 that can parse yyyy-MM-dd HH:mm:ss
- Let me propose a String to Time conversion method that can parse "yyyy-MM-dd HH:mm:ss" format, which is very much similar to `Time.iso8601`, but delimits the date part and the time part with a space character.
This format is defined a... - 07:51 AM Revision 5a42dca6 (git): * expand tabs.
-
07:49 AM Revision 5e0d27a3 (git): Removed dead code
- If `emesg` is `Qundef`, it is not a message string and then `elen`
(the length of the message) is 0. So `emesg` cannot be `Qundef` in
the `elen != 0` block. Pointed out by Coverity Scan. -
07:25 AM Revision de0f1924 (git): Add features of IRB to NEWS
-
06:49 AM Revision 574e8a68 (git): Add Reline section to NEWS
-
06:46 AM Revision 3a1d3556 (git): Fix a typo of Markdown of NEWS
-
06:07 AM Revision f73ea334 (git): Fixed ruby/spec for Logger::LogDevice changes.
-
05:47 AM Revision 5349aa23 (git): Also fixed up with 036039c8a29d3d8045207c111f9bbc481c904998
-
05:45 AM Revision 036039c8 (git): Fixed LoadError of version file.
- 05:43 AM Revision f103ed8b (git): * expand tabs.
-
05:43 AM Revision 4b345f9d (git): compile.c: ignore the result of COMPILE by marking with NO_CHECK
- to suppress many warnings of Coverity Scan
-
05:43 AM Revision 0eafa1dc (git): Fixed inconsitency locations of default gems.
-
05:43 AM Revision 1b59ed9b (git): Move helper file of logger to under the test/logger.
- 05:43 AM Revision 58065b87 (git): [ruby/logger] Add option to set the binary mode of the log device
- Without binmode strings with incompatible encoding can't be written in
the file. This is very common in applications that log user provided
parameters.
We need to allow changing the binnary mode because right now it is impossible to use... -
05:43 AM Revision f4064a0a (git): [ruby/logger] Set filename when initializing logger with a File object
- This should allow reopen to work. Requested in ruby issue #14595.
https://github.com/ruby/logger/commit/bd367aff12 - 05:43 AM Revision 2c22051b (git): [ruby/logger] Enable `frozen_string_literal: true` in `logger.rb`.
- https://github.com/ruby/logger/commit/2dc832e901
- 05:43 AM Revision 3fdb9638 (git): [ruby/logger] Prefer require_relative, it's a little bit faster.
- https://github.com/ruby/logger/commit/1e2aab4bea
-
05:43 AM Revision 7ef08562 (git): [ruby/logger] Update logger.gemspec
- https://github.com/ruby/logger/commit/1335a71d98
-
05:43 AM Revision 7f10da9d (git): [ruby/logger] require 'logger/errors' just for compat
- https://github.com/ruby/logger/commit/255a51dc10
- 05:43 AM Revision bbe157f3 (git): [ruby/logger] split logger classes/modules into separate files
- https://github.com/ruby/logger/commit/f10ce9fff2
-
05:43 AM Revision 13619678 (git): [ruby/logger] Fix to use logger and test-unit in this repo with
- `ruby test/logger/test_xxx.rb`
https://github.com/ruby/logger/commit/d3c2402340 - 05:43 AM Revision 47500f20 (git): [ruby/logger] Add support for changing severity using bang methods.
- https://github.com/ruby/logger/commit/ae4c6dfcbb
-
05:43 AM Revision 310198d6 (git): [ruby/logger] Add missing closing "
- https://github.com/ruby/logger/commit/b4b3caae40
-
05:43 AM Revision 227eae79 (git): [ruby/logger] Say that logger requires ruby >= 2.3
- Since it uses `&.`, it can't be used on older rubies
https://github.com/ruby/logger/commit/b872f90ab9 - 05:43 AM Revision b9ba07a0 (git): [ruby/logger] dont lock bundler to a specific version in travis
- https://github.com/ruby/logger/commit/eb5ac229a5
- 05:43 AM Revision 99c14fb6 (git): [ruby/logger] remove files that dont need to be included in gem releases
- https://github.com/ruby/logger/commit/9a3be8650f
-
05:29 AM Revision 3dc21289 (git): check return value of blocking_region_begin().
- blocking_region_begin() can return FALSE if it fails to acquire
GVL, so check it. -
05:17 AM Revision e4c1b199 (git): add tests for orphan/not-orphan proc/lambda.
-
05:08 AM Revision 711dfec3 (git): parse.y (here_document): remove dead code
- str is always zero when evaluating the branch.
Found by Coverity Scan. -
05:08 AM Revision 5353401c (git): thread.c (rb_thread_shield_waiting_{inc,dec}): prefer long to int
- `(unsigned int)(THREAD_SHIELD_WAITING_MASK>>THREAD_SHIELD_WAITING_SHIFT)`
is 0xffffffff, and w > 0xffffffff is always true.
Coverity Scan pointed out this issue. -
05:07 AM Bug #7425 (Closed): Execute a script by active record, the console is crash.
-
05:05 AM Bug #6283 (Closed): Segmentation fault pg_ext.bundle
-
05:05 AM Bug #7089 (Closed): Rails server refuses to start
-
05:04 AM Bug #6914 (Closed): unable to build ruby-head
-
05:03 AM Bug #6839 (Closed): 1.9.3p194 [BUG] Segmentation fault
-
05:02 AM Bug #6493 (Closed): OpenSSL::SSL ignores DN if subjectAltName is specified
-
04:59 AM Revision 62f34bd1 (git): doc/globals.rdoc: Add deprecated to TRUE,FALSE,NIL [ci skip]
- They are warned since 2.4.0.
-
04:57 AM Revision 9c38904e (git): Use consistent fetchDepth for all jobs
- a7dd6763bd1dac7952ace46be58083dbea332a0a was not applied for all jobs.
-
04:55 AM Feature #6286 (Closed): Add Exception#format method
-
04:54 AM Bug #6258 (Closed): String#succ has suprising behavior for "\u1036" (MYANMAR SIGN ANUSVARA), producing "\u1000" instead of "\u1037"
- This was fixed between 2.0 and 2.1:
```
$ ruby20 -e 'p "\u1036".succ'
"\u1000\u1000"
$ ruby21 -e 'p "\u1036".succ'
"\u1038"
``` -
04:50 AM Bug #6030 (Closed): Thread-local "leak" in rb_exec_recursive*
-
04:49 AM Revision d1e2650a (git): Force-fetch unicode update only when it's needed
- nobu said that we could be banned if we aggressively downloaded unicode
file from Travis. -
04:45 AM Revision 929fa856 (git): Add tool/leaked-globals to .gitattributes [ci skip]
-
04:44 AM Revision b401fb35 (git): Removed needless LOAD_PATH modification.
- We can use require_relative now.
-
04:42 AM Misc #15943 (Closed): Add Bug Triaging Guide
- Applied in changeset commit:git|99afea5328c61d3f212bbb684b33abf0d814f080.
----------
Add bug triaging guide
Implements [Misc #15943] -
04:41 AM Revision 99afea53 (git): Add bug triaging guide
- Implements [Misc #15943]
-
04:16 AM Revision badfbdf3 (git): Move vpath.rb into tool library direcotry.
-
03:59 AM Revision bd494ae7 (git): add tests for "break" in lambda.
-
03:06 AM Revision 8ac1c6eb (git): respect RUBY_DEBUG too
-
03:01 AM Revision 76bad330 (git): encoding.c (enc_table_expand): prefer xrealloc to realloc
- And raise an exception when failed to register an encoding
-
02:51 AM Bug #14817 (Assigned): TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters
- > 2.7 で、define_method したら ISeq 作るようにするとどうかな、と思っているので、それで一気に解決します。
これでうまくいかない、ということがわかったので、ちょっと宙ぶらりんです。
考えていた解決案:
* (1) proc を受け取る
* (2) proc のパラメータとまったく同じ method iseq を作る
* (3) 受け取ったパラメータを proc に渡す
こんな感じです。
```
foo_body... -
02:42 AM Bug #6785: Documentation for RubyVM::InstructionSequence
- Attached is a documentation patch to mark this class's methods as implementation and version dependent.
-
02:30 AM Revision c23e5976 (git): respect RUBY_DEBUG.
- see RUBY_DEBUG for each debug options.
-
02:19 AM Revision d02f2fc3 (git): Added help message for test-tool target.
-
02:16 AM Revision ac6d1371 (git): Added test-tool target for the test suite of tool/test files.
-
02:16 AM Revision 41c5f9a1 (git): Put jisx0208.rb to under the library directory.
-
02:04 AM Revision 73346823 (git): Try to prevent random build failure on Travis osx
-
02:03 AM Revision 226d569e (git): doc/irb/irb.rd.ja: Update options from `irb -h` [ci skip]
-
02:01 AM Revision a7fdb223 (git): Enable RUBY_ASSERT_MESG_WHEN when RUBY_DEBUG is turned on
-
01:59 AM Feature #16003 (Closed): Remove doc/etc.rd.ja?
- doc/etc.rd.ja は
* 情報が古く、後から追加されたメソッドは載っていない
* <https://docs.ruby-lang.org/ja/latest/library/etc.html> に新しいドキュメントが存在する
という理由から、削除しても良いと思ったのですが、どうでしょうか?
しばらく待ってみて反対がなければ削除しようと思っています。 -
01:53 AM Revision 05cc87df (git): [DOC] Struct::Passwd#uclass renamed from #class at r2500 [ci skip]
-
01:41 AM Feature #15581 (Rejected): Split tool/* files to tool and script directories
- I gave up to organize this. I try to write test files under the tool directory.
-
01:40 AM Revision e2512cff (git): Move a test file of Reline to test/reline/
-
01:39 AM Revision f326b4f4 (git): simplify around GC_ASSERT()
-
01:39 AM Revision dd4f128a (git): Handle failure of opening a null device
- This issue is detected by Coverity Scan.
-
01:31 AM Revision a191009a (git): Simplify start_process by exploiting C99
- Having a block for mixing a declaration was confusing.
Also I moved `dev_null` and `pid` to limit their scope. -
01:29 AM Revision b7896488 (git): Change PROMPT_S of simple-prompt
- When input `"` or `/` with simple-prompt,
Before:
`"` or `/`
(prompt disappeared and indent is changed)
After:
`"> "` or `/> /`
(indent is unchanged since `>> `) -
01:24 AM Bug #8565 (Closed): Compiled Regexp comparation bug
-
01:21 AM Revision f6f09cbc (git): introduce RUBY_ASSERT_ALWAYS(expr).
- RUBY_ASSERT_ALWAYS(expr) ignores NDEBUG (we cannot remove this
assertion). -
01:20 AM Revision 0af897ab (git): Simplify history saving code
-
01:11 AM Bug #12196 (Closed): lib: Date.valid_date? returns incorrect response for negative day
- The pull request was merged.
-
01:11 AM Revision eed9db39 (git): Followed up e8ddbc0239.
-
12:58 AM Revision 223854eb (git): catch up e8ddbc0239.
-
12:40 AM Revision 08b340d2 (git): Separate the assertions of ruby core tests from test/unit/assertions.
-
12:40 AM Revision e8ddbc02 (git): Put colorize to library directory.
- Same as 66299e7ca83d379d13abaa5411f3e0419334cabb
-
12:40 AM Revision 0a711b0e (git): Put vcs .rb to under the lib direcotory.
- Because it's the common library for tool files.
-
12:38 AM Bug #15933 (Closed): OpenURI: Assign default charset for HTTPS as well as HTTP
- Applied in changeset commit:git|8f7884761e30c453287d73de6ea733d565635ebc.
----------
The default charset of text/* media type is UTF-8.
Thanks for the patch gareth (Gareth Adams). [Bug #15933]
-------
Combines two small, but very r... -
12:36 AM Revision 8f788476 (git): The default charset of text/* media type is UTF-8.
- Thanks for the patch gareth (Gareth Adams). [Bug #15933]
-------
Combines two small, but very related changes
1: Treat HTTPS the same as HTTP
Previously, OpenURI followed guidance in RFC2616/3.7.1:
> When no explicit charset param... -
12:35 AM Revision 00a97d94 (git): Always call va_end in form_args()
- This issue is detected by Coverity Scan.
-
12:28 AM Revision ff370403 (git): Insert a newline before `=end`
- For a certain editor which cannot handle here-document properly.
-
12:24 AM Feature #15939: Dump symbols reference to their fstr in ObjectSpace.dump()
- > Static symbol (immediate value) does not reach any objects
Yeah, I learned more about static symbols since I wrote this patch, I wouldn't include that part anymore. I'd still maintain the dynamic part though.
> ...
Sure. The usag...
07/14/2019
-
11:59 PM Bug #16002: File.writable?('/tmp/file') returns true even if it's not writable on Linux 4.19+
- I think checking permission before writing should be avoided.
It causes <https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use>. -
11:52 PM Bug #16002 (Feedback): File.writable?('/tmp/file') returns true even if it's not writable on Linux 4.19+
- `File.writable?` uses `eaccess` function of OS.
I think such OS-specific features should be implemented in OS.
Ruby cannot support all features of all OS.
For example, eaccess of GNU/Linux seems that support read-only filesystem.
... -
08:49 PM Bug #16002 (Closed): File.writable?('/tmp/file') returns true even if it's not writable on Linux 4.19+
- Well, on Linux Kernel 4.19+ the fs.protected_regular and fs.protected_fifos sysctls were introduced in order to make some data spoofing attacks harder.
https://github.com/systemd/systemd/blob/03b6fa0c5b51b0d39334ff6ba183a3391443bcf6/N... -
11:38 PM Revision a1975790 (git): addr2line.c: clarify the type of integer expression
- to suppress Coverity Scan warning.
This expression converted uint8_t to int, and then int to unsigned long.
Now it directly converts uint8_t to unsigned long. -
11:38 PM Revision 0a417248 (git): Fix unaligned help output
- 1f99274ccf31ba1f2a4b3ac20a9c6cdc5ae81152 was indenting details with a
hard tab, but other lines are using spaces. -
11:36 PM Revision 02c4ed4a (git): Stop consuming 2 entries for goruby
- similar to 364f43ab7fc5920247fc73423c1428208cf78a4a and
13cb9e6bd2c88d04fc9b21b8f8c1d192c67cd5a2 -
11:33 PM Revision 17ccda54 (git): Use #to_a for Readline::HISTORY directly
-
11:32 PM Revision 9da969ca (git): Revert "Dummy Makefile.in for CIs"
- This reverts commit c55de95ff1c4ea6313c2863037703a0e5f0d0f4f.
Probably this is not needed for CI anymore. -
11:19 PM Revision 1f99274c (git): Added the bundled gems target to make help.
-
11:19 PM Revision 13cb9e6b (git): common.mk: remove "make exam" from help
- Currently it is completely the same as "make check".
I think it is not worth mentioning now. -
10:59 PM Revision 2b78a93b (git): Add lib/irb/color.rb to destribution file list
-
10:59 PM Revision c9a59f49 (git): Add a /* fall through */ comment
-
10:57 PM Revision 772dae8b (git): Add a /* fall through */ comment
-
10:54 PM Revision 266f6cd8 (git): Remove debug print
-
10:51 PM Revision 4b7a04a5 (git): Support multiline irb_history
- A history line ends with "\" to escape newline if it's a continuous
line. -
10:34 PM Bug #16000: How to avoid the need for updating dependencies manually
- As I guess:
* `tool/update-deps` takes a pretty long time
* adding dependencies is relatively rare
* saving temporary files would not be common
So it is optional now.
It has just started in these days, and I think it is better t... -
08:50 AM Bug #16000 (Closed): How to avoid the need for updating dependencies manually
- Earlier today, I committed 369ff79394765ce198ac7cee872a8c739d895aaa to address issue #15995.
This did not lead to any testing failures, but to a dependency problem. As the source code was processed correctly and the tests worked, I di... -
10:04 PM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- > For some reason nobody seems to have commented here what I think is the original motivation for this
> ...
I think this may have been lost a bit in the discussion because typically aliases are used to use something
differentially, su... -
09:41 PM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- > it's not an alias for brevity
Definitely not brevity but clarity certainly. The `caller(1,1)` seems cryptic as compared to `direct_caller` which is more expressive.
> ...
That's a very important point. Limiting the full backtra... -
08:25 PM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- > If so, it seems like a very heavy handed way to shorten something that is already fairly short
For some reason nobody seems to have commented here what I think is the original motivation for this new method - it's not an alias for ... -
04:08 PM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- Would this be an instance method on Kernel? If so, it seems like a very heavy handed way to shorten something that is already fairly short.
I don't see `caller_locations(1,1)` or `caller(1,1)` very frequently, though.
-
11:06 AM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- Eregon (Benoit Daloze) wrote:
> Maybe `direct_caller`?
> ...
That's a very good point. I'd probably lean towards modern API of `caller_locations(1,1)` if we only used a single alias. However, we could follow a pattern and name `caller_... -
10:32 AM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- Maybe `direct_caller`?
Would it call `caller_locations(1,1)` or `caller(1,1)`? It can only be one of them. -
10:08 AM Feature #16001 (Open): Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- As it is common to use `caller_locations(1,1)` and `caller(1,1)`, this proposes aliases to help get the previous backtrace frame and improve performance by avoiding getting full backtrace information - a common mistake.
The currently ... -
09:44 PM Revision d37da601 (git): time.c (time_mdump): use another buffer for year_extend
- ruby_marshal_write_long may write 9 bytes, but buf has only 8 bytes.
So the buffer cannot be reused. This issue was found by Coverity Scan. -
09:22 PM Revision ea711285 (git): Unify documentations of `make benchmark`
-
09:17 PM Revision e8b6f630 (git): Drop `make change` and tool/change_maker.rb
- because we're not writing ChangeLog anymore.
-
09:11 PM Revision 364f43ab (git): Reduce the number of make help entries
- We've added some more things recently. It seems not worth having almost
the same two entries there anymore. -
09:08 PM Revision 0ee105f3 (git): Mention SPECOPTS variable in make help
-
05:58 PM Feature #14145: Proposal: Better Method#inspect
- znz (Kazuhiro NISHIYAMA) wrote:
> `Method#inspect` separated by ` ` (a space) and `Proc#inspect` separated by `@`.
> ...
I think ` ` (a space) is better, and it's what we use for Method#inspect in TruffleRuby.
My motivation is that se... -
01:39 PM Feature #14145: Proposal: Better Method#inspect
- `Method#inspect` separated by ` ` (a space) and `Proc#inspect` separated by `@`.
I think it is better to be unified, but I have no opinion on which is better.
```
% ruby -ve 'def m;end; p [method(:m), proc{}]'
ruby 2.7.0dev (2019-0... -
07:01 AM Feature #14145 (Open): Proposal: Better Method#inspect
- Now, I added source location information.
Adding parameter information is still open. -
06:46 AM Feature #14145 (Closed): Proposal: Better Method#inspect
- Applied in changeset commit:git|47b04557b01dc109ccafc33db8e80148f07457a9.
----------
Method#inspect with source location.
Method#inspect shows with source location.
[Feature #14145] -
05:58 PM Revision 10d7b39d (git): Check wether prompt_i is nil
-
04:16 PM Revision 078e50c5 (git): Save history in IRB is enabled by default
-
04:07 PM Revision 6d573691 (git): Auto indent in IRB is enabled by default
-
03:43 PM Revision 82b058ff (git): Version 1.1.0.pre.2
-
03:43 PM Revision d0b1a8d5 (git): Need reline-0.0.1 or later for some features
-
03:36 PM Revision cd7b99bb (git): Version 0.0.1
-
03:33 PM Revision 04e6b90d (git): Remove unused method.
-
03:32 PM Revision 423feb53 (git): [ruby/matrix] Add Matrix::VERSION constant
- Add Matrix::VERSION for the gem version, use it in the gemspec,
and make it also available for library users.
https://github.com/ruby/matrix/commit/65c2bb1fa1 -
03:32 PM Revision 44031301 (git): [ruby/matrix] Add missing `lib/matrix/' files to file list in gemspec
- https://github.com/ruby/matrix/commit/2bbb9be233
-
03:31 PM Revision 3201062a (git): Add a /* fall through */ comment
-
03:30 PM Revision 970c1255 (git): Add a /* fall through */ comment
-
03:29 PM Revision 9e3971c3 (git): Add a /* fall through */ comment
-
03:20 PM Revision deb5e582 (git): ext/stringio/stringio.c (strio_read): "binray" is always zero here
- Remove unused conditional expression to suppress Coverity Scan warnings.
-
03:18 PM Revision e6f188ea (git): Rename to Reline::History::Test.
-
03:17 PM Revision 073cc52d (git): Add `class Reline::History` and test.
-
03:13 PM Revision 9806da50 (git): Suppress warnings
-
03:11 PM Revision 83171b0e (git): [ruby/rdoc] Bump version to 6.1.1
- https://github.com/ruby/rdoc/commit/55c0627fe0
-
03:11 PM Revision 312d7200 (git): [ruby/rdoc] Correction to include regexp_handling in list of loaded files
- https://github.com/ruby/rdoc/commit/1940b2318c
-
03:10 PM Revision 09187c64 (git): Add a /* fall through */ comment
-
03:10 PM Revision 517c8a53 (git): dir.c (dir_each_entry): remove unnecessary check
- I guess that this check was to detect re-entrance (maybe callcc?).
But currently it does not work as intended. - 03:08 PM Revision 721fc849 (git): * 2019-07-15
-
03:07 PM Revision b4975693 (git): process.c (p_sys_setregid, p_sys_setresgid): remove unused tmp buffer
- To suppress Coverity Scan warning
-
02:36 PM Revision 80da68db (git): Add a /* fall through */ comment
-
02:09 PM Revision 43c337df (git): string.c (str_succ): refactoring
- Use more communicative variable name
-
02:09 PM Revision 3fd086ed (git): string.c (str_succ): remove a unnecessary assignment
- This change will suppress Coverity Scan warnings
- 02:07 PM Revision 198281a7 (git): [ruby/csv] Fix a bug that strip: true removes newlines
- https://github.com/ruby/csv/commit/5540d35a30
- 02:07 PM Revision 8c0edbd7 (git): [ruby/csv] add options doc :quote_empty (#89)
- https://github.com/ruby/csv/commit/5ca8d79f60
- 02:07 PM Revision 75620c80 (git): [ruby/csv] Add options doc: :write_converters, :write_nil_value, :write_empty_value (#87)
- https://github.com/ruby/csv/commit/5923ee08b7
- 02:07 PM Revision fe40841b (git): [ruby/csv] add document of strip (#88)
- * add document of strip
* modify typo
https://github.com/ruby/csv/commit/de0257dc31 - 02:07 PM Revision c8b82998 (git): [ruby/csv] Bump version
- https://github.com/ruby/csv/commit/3976985008
- 02:07 PM Revision 8392592a (git): [ruby/csv] Don't raise on eof?
- GitHub: fix #86
Reported by krororo. Thanks!!!
https://github.com/ruby/csv/commit/5a8d9d9297 - 02:07 PM Revision 9171f833 (git): [ruby/csv] Refactor range in delete_suffix (#85)
- https://github.com/ruby/csv/commit/7ff57a50e8
- 02:07 PM Revision 864e2a95 (git): [ruby/csv] Bump version
- https://github.com/ruby/csv/commit/312f844693
-
02:07 PM Revision 85497744 (git): Tweak upstream information of upstream commit.
-
02:02 PM Revision 0bf829c1 (git): transcode.c (rb_trans_conv): remove unnecessary assignments
- This change will suppress Coverity Scan warnings
-
01:46 PM Revision 36f2d9ba (git): numeric.c (fix_cmp): remove a unreachable return statement
-
01:29 PM Feature #13179: Deep Hash Update Method
- Gem XKeys, since 2014.
```
require 'xkeys'
h = {}.extend XKeys::Auto # auto Hash/Array
h[:accent, 2, :original] = "the value to set"
# {:accent=>[nil, nil, {:original=>"the value to set"}]}
h = {}.extend XKeys::Hash # Hash only... -
01:21 PM Revision 49362dda (git): Add a /* fall through */ comment
-
01:15 PM Revision d0f113f6 (git): doc/globals.rdoc: Add RUBY_REVISION [ci skip]
-
01:15 PM Revision ab31e13e (git): doc/globals.rdoc: Add RUBY_PATCHLEVEL [ci skip]
-
01:15 PM Revision 9a402cf6 (git): doc/globals.rdoc: Add RUBY_COPYRIGHT [ci skip]
-
01:15 PM Revision 5d606b51 (git): doc/globals.rdoc: Add TOPLEVEL_BINDING [ci skip]
-
01:12 PM Revision 7ac7685f (git): Simplify link_o_to_so arguments
- by C99 compound literal for array and non-constant array initializer
-
01:04 PM Revision b7ec77f3 (git): fix typos.
-
12:58 PM Revision 085d0e5c (git): ruby.c (name_match_p): remove unnecessary condition
- It always returns immediately when len was decremented to zero.
So len is always positive. This change will suppress Coverity Scan
warning. -
12:53 PM Revision a3493521 (git): abort sync commit history when it failed to modify commit message.
-
12:53 PM Revision 8e6a68c1 (git): Use force flag for filter-branch.
-
12:53 PM Revision c8e1be6f (git): Skip merge commit with rubygems and bundler.
-
12:53 PM Revision 46491af7 (git): Modified commit message with upstream repository name.
-
12:53 PM Revision 265e94a7 (git): Added chrry-pick feature from upstream repository.
-
12:53 PM Revision be082e28 (git): Try to sync with commit history for default gems.
-
12:51 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Fortunately a very similar issue was reproductive on my macOS machine. I did the mjit_debug2.diff investigation on my own, and noticed the issue fixed by commit:d8cc41c43be65dd4b17e7a6e38f5a7fdf2b247d6. And the commit fixed the behavior ...
-
12:49 PM Bug #15986 (Closed): `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Applied in changeset commit:git|d8cc41c43be65dd4b17e7a6e38f5a7fdf2b247d6.
----------
Fix a wrong buffer size to avoid stack corruption
[Bug #15986] -
12:48 PM Revision d8cc41c4 (git): Fix a wrong buffer size to avoid stack corruption
- [Bug #15986]
-
12:34 PM Revision 20a3fb3c (git): Add a /* fall through */ comment
-
11:56 AM Revision e8700b59 (git): Check the result of String#-@
-
11:51 AM Feature #14091: Remove Time#succ
- It's matz issue.
-
11:49 AM Bug #14204 (Closed): [PATCH] socket: use frozen string buffer when releasing GVL
- Applied in changeset commit:git|4900a10689036211da79c8189ff7eba11c8c81ee.
----------
socket: use frozen string buffer when releasing GVL
Thanks for the patch by normalperson (Eric Wong) [Bug #14204]. -
11:46 AM Revision 4900a106 (git): socket: use frozen string buffer when releasing GVL
- Thanks for the patch by normalperson (Eric Wong) [Bug #14204].
-
11:42 AM Revision 5bd83909 (git): Expand f_arg to use particular functions directly
-
11:42 AM Revision 1464f7a1 (git): Expand f_abs to use particular functions directly
-
11:33 AM Revision 0df4a813 (git): NEWS: RubyVM.resolve_feature_path moved [ci skip]
-
11:23 AM Revision 41e09ca4 (git): addr2line.c (binary_filename): extend the buffer for NUL terminator
-
11:20 AM Misc #15723: Reconsider numbered parameters
- I have used `@1` a bit in different code snippets and in the great majority of cases there is only one argument and "1" really feels out of place. I definitely support `@`, or anything else without a number.
That said, there's still a... -
11:17 AM Revision a7dd6763 (git): Increase fetchDepth to prevent checkout failure
- like https://dev.azure.com/rubylang/ruby/_build/results?buildId=1637
-
09:09 AM Revision 45dfd4c0 (git): Make export declaration place more consistent
-
09:07 AM Revision 2553608c (git): Removed binop macro which has not been used
-
09:04 AM Revision d30d404b (git): MJIT Support for getblockparamproxy
-
08:59 AM Feature #8459 (Rejected): Idiomatic method names for Socket
- I reject this issue because 5 years after my feedback.
-
08:58 AM Revision 043e3d2c (git): [DOC] Add missing headings [ci skip]
-
08:58 AM Revision 08c2a9dc (git): Introduce RUBY_DEBUG flag macro
- When RUBY_DEBUG is turned on, all RUBY_ASSERT() macros will be
enabled regardless RUBY_NDEBUG. -
08:58 AM Revision 715955ff (git): Include ruby/assert.h in ruby/ruby.h so that assertions can be there
-
08:56 AM Revision db64093f (git): [DOC] Fix a typo [ci skip]
-
08:54 AM Revision db1c30b3 (git): addr2line.c (main_exe_path): avoid SEGV when /proc is not available
- readlink would return -1 if /proc is not mounted.
Coverity Scan found this issue. -
08:52 AM Revision 47e571c9 (git): complement '.rb' on `test-all TESTS=test_xxx`
- for test-all rule, we can specify a file with TESTS option like
`TESTS=test_xxx.rb`. However, we can eliminate last '.rb' suffix
so this patch try with '.rb' suffix if the given path is not available. -
08:46 AM Revision b67b07bd (git): Fix links to headings
- A previous change made the header's id be fully referenced (for the sidebar I believe) but this broke links to them.
This fixes the issue. - 08:45 AM Revision 73904abb (git): * expand tabs.
-
08:45 AM Revision 32f01351 (git): Split RUBY_ASSERT and so on under include/ruby
-
08:44 AM Revision 5786df12 (git): Describe about Pathname.glob.
-
08:43 AM Feature #14405 (Closed): Add base option to Pathname.glob also
- Applied in changeset commit:git|4d9504fe13c6470d9da74540f92a247e8c1d9b99.
----------
Delegates 3 arguments for Pathname.glob.
Thanks for the patch by pocke (Masataka Kuwabara) [Feature #14405]. -
08:42 AM Revision 4d9504fe (git): Delegates 3 arguments for Pathname.glob.
- Thanks for the patch by pocke (Masataka Kuwabara) [Feature #14405].
-
08:32 AM Revision 61577fa5 (git): Add a /* fall through */ comment
-
08:22 AM Revision 6bca4437 (git): Describe warning of open-uri.
-
08:21 AM Misc #15893 (Closed): open-uri: URI.open status
- Applied in changeset commit:git|05aac90a1bcfeb180f5e78ea8b00a4d1b04d5eed.
----------
Warn open-uri's "open" method at Kernel.
Use URI.open instead.
Thanks for the patch by jeremyevans0 (Jeremy Evans) [Misc #15893]. -
08:18 AM Revision 05aac90a (git): Warn open-uri's "open" method at Kernel.
- Use URI.open instead.
Thanks for the patch by jeremyevans0 (Jeremy Evans) [Misc #15893]. - 08:16 AM Revision 9987296b (git): * expand tabs.
-
08:16 AM Revision 934e6b2a (git): Prefer `rb_error_arity` to `rb_check_arity` when it can be used
-
08:10 AM Bug #13407 (Rejected): We have recv_nonblock but not send_nonblock... can we add it?
- ioquatix (Samuel Williams) wrote:
> We can close this issue, as there exists a satisfactory alternative.
I see.
(I don't change my feeling, https://bugs.ruby-lang.org/issues/13407#note-10 , though) -
08:01 AM Bug #15564 (Rejected): Pathname#+(pathpart) returns pathpart when pathpart is absolute
- It is intentional behavior.
It intends that preserving the file by a pathname (especially for absolute pathname).
-
07:56 AM Revision 10de5f14 (git): Calculate float complex division per each part
- Arguments to f_complex_new2 should not be Complex, or violate the
assertion. -
07:31 AM Feature #15999 (Open): KeyError#inspect does not contain receiver and key
- Some exception classes accept `receiver:`, but `#inspect` does not show such information.
How about adding receiver (and key) to `#inspect`?
```
KeyError.new("message", receiver: :receiver, key: :key).inspect #=> "#<KeyError: messag... - 07:18 AM Revision 83153bbb (git): * expand tabs.
-
07:18 AM Revision 73fab16e (git): compile.c (defined_expr): return void instead of int
- It always returned 1.
-
07:18 AM Revision 95de69df (git): io.c (rb_file_open_internal): initialize all the fields
- Just for case. This will suppress the warning of Coverity Scan.
-
07:00 AM Revision 2618db30 (git): [DOC] Fix typos [ci skip]
-
06:54 AM Revision f2d99fd8 (git): [DOC] Fix indent [ci skip]
-
06:51 AM Revision 3163a078 (git): fix issue with 'SIGINT' handling in LineEditor#reset
- @old_trap is the string "DEFAULT" and not a callable object (Proc)
if there are no other signal handlers for SIGINT signal to chain. -
06:46 AM Revision 47b04557 (git): Method#inspect with source location.
- Method#inspect shows with source location.
[Feature #14145] -
06:24 AM Revision 4ce935cd (git): Removed FileUtils for file manipulations with module inclusion.
-
06:24 AM Revision a73f4524 (git): Use FileUtils.mkdir_p instead of mkdir command directoly.
-
06:24 AM Revision e91ff4db (git): Use FileUtils.cp_r instead of cp command directoly.
-
06:24 AM Revision d25f355c (git): Fixup dccb0e1ec94e7b9c13c715939ae7e0ccc4ffb23e
-
06:24 AM Revision 7d24a7ed (git): Use FileUtils.rm_rf instead of rm command directly.
-
06:24 AM Revision 7504d676 (git): Do not use hard-coded file path of default gems upstream.
-
06:05 AM Feature #15778: Expose an API to pry-open the stack frames in Ruby
- > ko1 (Koichi Sasada) What do you think of the new API caller_locations(debug: true) + Thread::Backtrace::Location#binding, doesn't it make perfect sense?
I heard that one advantage that current `debug_inspector` gem has is we can dec... -
06:01 AM Feature #15939: Dump symbols reference to their fstr in ObjectSpace.dump()
- ```
>> puts ObjectSpace.dump(:foobar)
{"address":"0x7a210c", "type":"SYMBOL", "value":"foobar", "references":["0x7f8dd482c7d8"], "dynamic": false}
```
`address` should be pointer to `RVALUE`, so it is not acceptable.
> ...
Stati... -
06:01 AM Revision 357f295a (git): Describe lambda-ness of Proc more.
-
05:59 AM Revision dda2c860 (git): [DOC] Fix link to feature [ci skip]
-
05:52 AM Revision 6da539be (git): Fix typos [ci skip]
-
05:40 AM Revision 4f351111 (git): NEWS: warning of flip-flop is reverted [ci skip]
-
05:34 AM Revision 421dd311 (git): [DOC] Fix experimental marker [ci skip]
-
05:28 AM Revision 219643c0 (git): Add a /* fall through */ comment
-
05:21 AM Feature #15931 (Open): encoding for CESU-8
- Reopened to consider whether we can make the CESU-8 encoding a dummy encoding now that we have the encoding conversion from/to UTF-8 (see issue #15995).
-
05:09 AM Revision 34b3ef29 (git): Drop obsoleted mjit_cancel_ivar debug_counter
- ivar_cancel label is handling mjit_cancel_ivar_inline instead.
- 05:04 AM Revision ff5b1494 (git): * expand tabs.
-
05:04 AM Revision ba94404f (git): Add /* fall through */ comments
- to suppress some Coverity Scan warnings
-
04:58 AM Feature #15995 (Closed): Add encoding conversion for CESU-8 from and to UTF-8
- 04:57 AM Revision 1d466424 (git): * expand tabs.
-
04:49 AM Revision 315d3adf (git): Avoid io_tell whose return value is not used
- In this case, flush_before_seek is enough.
This change will suppress a warning of Coverity Scan. -
03:55 AM Revision 18603e90 (git): Update dependencies for 369ff79394765ce198ac7cee872a8c739d895aaa
- Just copy-pasting diff from
https://travis-ci.org/ruby/ruby/jobs/558407687 -
03:53 AM Revision 4402c669 (git): Refactor mjit_worker command line with C99
- Mostly non-constatnt array initializer, and mixed declarations and code.
-
03:23 AM Feature #5400: Remove flip-flops in 2.0
- matz@ruby.or.jp wrote:
> I hear the negative feedback from the community. OK, I give up.
> The warning should be removed.
Thank you! This saves me the trouble of rewriting a bunch of
random scripts I have.
It seems your positi... -
02:52 AM Feature #11747: "bury" feature, similar to 'dig' but opposite
- Much of this has been available through my XKeys gem since Q2 2014.
```
data = {}.extend XKeys::Auto # Vs ::Hash, uses arrays for int keys
data[:users, 0, :name] # nil
data[:users, 0, :name, :raise => true] # KeyError
data[:users,... -
01:58 AM Revision 369ff793 (git): add encoding conversion from/to CESU-8
- Add encoding conversion (transcoding) from UTF-8 to CESU-8
and back. CESU-8 is an encoding similar to UTF-8, but encodes
codepoints above U+FFFF as two surrogates, these surrogates
again being encoded as if they were UTF-8 codepoints. Th...
07/13/2019
-
10:28 PM Bug #8446: sdbm fails to fetch existing key if many elements in it
- This bug still exists. With enough entries in the database, the retrieval error rate gets fairly high (almost 2% at 32k entries):
```
# missed keys, total entries, error rate
2, 4096, 0.00048828125
14, 8192, 0.00170898437
79, 163... -
06:04 PM Revision ac286600 (git): Add empty depend file if extconf.rb only exists
- 04:32 PM Revision 69a66e8a (git): * 2019-07-14
-
04:31 PM Revision dcb8c41a (git): Added depend files
-
02:36 PM Revision 1a4f7c9b (git): [DOC] Markup code in globals.rdoc
- Look forward to further improvements in RDoc to automatically mark
up global variables and global constants. -
01:47 PM Revision 6ef73c14 (git): Improve documentation in doc/globals.rdoc
-
01:39 PM Revision 237b3e00 (git): Document $~ before dependent global variables
-
01:37 PM Feature #15903: Move RubyVM.resolve_feature_path to Kernel.resolve_feature_path
- I documented the new method in [globals.rdoc](https://github.com/ruby/ruby/blob/master/doc/globals.rdoc) and added a NEWS entry.
-
10:37 AM Feature #15903: Move RubyVM.resolve_feature_path to Kernel.resolve_feature_path
- Thanks for the decision, and thanks to @nobu for already moving the method.
I noticed the documentation is still on RubyVM, I'll try to fix that. -
01:35 PM Revision b1ee7148 (git): Improve documentation of $LOAD_PATH
-
01:26 PM Revision 0a5463f7 (git): Add $LOAD_PATH.resolve_feature_path in NEWS
-
01:23 PM Revision 4a935bc6 (git): Document $LOAD_PATH.resolve_feature_path in globals.rdoc
- * RDoc does not seem to support documenting singleton object methods,
and making $LOAD_PATH a class as a workaround is too weird. -
01:16 PM Revision b0f6f330 (git): Document a few more RUBY_* constants
-
01:07 PM Revision 43677a2c (git): Document the long form of global variables and mention aliases on the same line
- * The longer forms are self-explanatory and I believe more often used.
* Same for ARGV and ARGF, describe them there and mention $* and $< just refer to them. -
10:31 AM Feature #5781: Query attributes (attribute methods ending in `?` mark)
- FWIW, a long time ago I tried to implement https://bugs.ruby-lang.org/issues/5781#note-7 in MRI but it turned out to be not so easy and I gave up.
-
10:28 AM Feature #15998: Allow String#-@ to deduplicate tainted string, but return an untainted one
- matz (Yukihiro Matsumoto) wrote:
> `taint` states will be removed from the language in the near future, along with `$SAFE`.
Do you think it will be removed for Ruby 2.7, or 3.0 maybe?
I searched for a ticket but could not find one f... -
10:18 AM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- This issue is closed, it's probably best to discuss on a new one for different ideas.
sawa (Tsuyoshi Sawada) wrote:
> but I do not think that is a big deal.
IMHO it is a big deal, Integer() should return either an `Integer` or `ni... -
03:28 AM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- nobu (Nobuyoshi Nakada) wrote:
> As for optional parameters, there are some inconsistencies.
> ...
I came up with another alternative.
Since this is about suppressing an exception, I think the concept is close to the optional second... -
09:01 AM Feature #12802: Add BLAKE2 support to Digest
- Wondering if we can review this again?
-
01:35 AM Bug #8743 (Closed): Inconsistent behaviour calling public_methods on class (Plus documentation slightly ambiguous)
- The reason for this interesting behavior is because the documentation for include flag (2nd argument) for `public_methods` is not precise. It states:
```
If the all parameter is set to false, only those methods
in the receiver will... -
12:48 AM Revision e2bee86d (git): Relaxed delta of nanosec from Float time
-
12:32 AM Feature #8853: Should String#sub(pattern) returns an Enumerator?
- If I understand this correctly, this is a feature request to make `String#sub` and `#sub!` return an `Enumerator` if given a single argument and no block. I'm not sure how useful this would be. With `#sub!`, you can use the enumerator ...
07/12/2019
-
11:47 PM Bug #8870 (Closed): Method-Missing breaking irb
-
11:47 PM Bug #8935 (Closed): Zlib::GzipWriter.new with block truncates output to 20 corrupted bytes
-
11:34 PM Bug #8955 (Closed): LocalJumpError - no block given (yield) after implementation of class hierarchy method cache invalidation
-
11:19 PM Bug #9134 (Closed): RUBY_HEAP_MIN_SLOTS does not work correctly in Ruby 2.0
-
10:25 PM Revision 331eccf3 (git): Removed useless `freeze`s from gemspec files
-
10:25 PM Revision fd9f26df (git): Drop fossil rubygems support
-
10:25 PM Revision 143581cf (git): Removed stub lines from gemspec files
- 10:22 PM Revision cbe623f1 (git): change default value of load_limit (ignore load_limit)
- 09:10 PM Revision 10d7419e (git): * 2019-07-13
-
09:09 PM Revision 1ee17782 (git): Removed binary line
-
08:35 PM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- sawa (Tsuyoshi Sawada) wrote:
> znz (Kazuhiro NISHIYAMA) wrote:
> ...
As for optional parameters, there are some inconsistencies.
> ```ruby
> ...
And other methods fall back `nil` to the default value, e.g., `File.open`. -
01:31 PM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- matz (Yukihiro Matsumoto) wrote:
> Options are:
> ...
Both sound fine to me.
nobu implemented the second option.
We can try to keep consistency in the future,
but I think we can't easily change existing methods taking a truthy/fal... -
07:05 AM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- znz (Kazuhiro NISHIYAMA) wrote:
> I think `nil` means default behavior.
That does not hold even if you just look at the `Kernel` methods:
```ruby
exit(status=true)
Kernel::exit(status=true)
Process::exit(status=true)
exit!(sta... -
03:50 AM Bug #15987: Let `exception` option in `Kernel#Complex`, `Kernel#Float`, `Kernel#Integer`, `Kernel#Rational` be falsy vs. truthy
- I think `nil` means default behavior.
```
Integer("") # => ArgumentError
Integer("", exception: nil) # => ArgumentError
Integer("", exception: true) # => ArgumentError
Integer("", exception: false) # => nil
`... -
03:51 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Thank you for the next information. Could you also test the new "mjit_debug2.diff" which I attached now in the same way?
> BTW a bit OT, but seeing all the information stored in the rb_mjit_min_header-2.7.0.h, I am not sure the JIT wi... -
03:08 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- BTW a bit OT, but seeing all the information stored in the rb_mjit_min_header-2.7.0.h, I am not sure the JIT will work for binary distributions such as Fedora/RHEL. There appears to be embedded a lot of information about the machine used...
-
03:04 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Here are the logs (bit messy again, but I hope you can get the information).
-
01:09 PM Bug #15986: `TestJIT#test_block_handler_with_possible_frame_omitted_inlining` fails on s390x and armv7hl
- Thank you. All of the information help me a lot.
It seems that the command line construction is broken for the second compilation in build-armv7hl.log and build-s390x.log, while build-x86_64 seems okay. In this ticket, I attached "mji... -
03:06 PM Feature #15940: Coerce symbols internal fstrings in UTF8 rather than ASCII to better share memory with string literals
- > UTF-8 is a strict super set of ASCII. Any valid ASCII is valid UTF-8.
So is EUC-JP (or Shift_JIS or many other encodings). Even though UTF-8 is the current default source encoding of Ruby, ALL ASCII symbols being in UTF-8 encoding m... -
02:50 PM Feature #15940: Coerce symbols internal fstrings in UTF8 rather than ASCII to better share memory with string literals
- Just to extend your example:
```ruby
p "foo".encoding # => "euc-jp"
p :foo.to_s.encoding # => "us-ascii"
p :"注意書".to_s.encoding # => "euc-jp"
#new behavior
p "foo".encoding # => "euc-jp"
p :foo.to_s.encoding # => "utf-... -
02:48 PM Feature #15940: Coerce symbols internal fstrings in UTF8 rather than ASCII to better share memory with string literals
- > If I understand your patch correctly
Yes you do.
> ...
I don't know if you are wrong, but at least we don't agree.
My reasoning is as follow:
- Simple symbols (read pure ASCII) have to be coerced into a common encoding so... -
01:46 PM Feature #15940: Coerce symbols internal fstrings in UTF8 rather than ASCII to better share memory with string literals
- If I understand your patch correctly:
```ruby
# encoding: euc-jp
#old behavior
p "foo".encoding # => "euc-jp"
p :foo.to_s.encoding # => "us-ascii"
#new behavior
p "foo".encoding # => "euc-jp"
p :foo.to_s.encoding # =>... -
01:27 PM Feature #15940: Coerce symbols internal fstrings in UTF8 rather than ASCII to better share memory with string literals
- > First of all, this pull-request itself breaks non UTF-8 programs.
Could you elaborate on this? I don't understand what breaks in non UTF-8 programs. I ran some tests with `# encoding: EUC-JP` and can't find anything breaking.
How... -
03:05 PM Feature #15998: Allow String#-@ to deduplicate tainted string, but return an untainted one
- > taint states will be removed from the language in the near future, along with $SAFE.
That is great to hear!
> ...
I'm not sure I understand. But if `taint` is going away in the next release then yes this change is worthless. If n... -
02:27 PM Feature #15998 (Feedback): Allow String#-@ to deduplicate tainted string, but return an untainted one
- `taint` states will be removed from the language in the near future, along with `$SAFE`.
I am not positive to change the behavior related to `taint`.
Matz.
-
02:08 PM Feature #15998 (Closed): Allow String#-@ to deduplicate tainted string, but return an untainted one
- Patch: https://github.com/ruby/ruby/pull/2287
There was a previous attempt by Eric Wong to allow deduplication of tainted strings, but it was reverted because of unknown CI issues: https://github.com/ruby/ruby/commit/0493b1ce3a4
Th... -
01:16 PM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- Okay, so I implemented fiber pool changes which make it more suitable for 32-bit platform. It required additional book keeping. Essentially, the allocation list and free list became double linked which allows us to remove allocations and...
-
07:55 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- I did some more research about 32-bit applications.
On Windows (32-bit), the process is limited to 2GB of memory, but address space should be 4GB. This is apparently the same for 32-bit Linux, maybe that includes arm32? There are some... -
06:18 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- > In general, we should tell this memory usage to GC with rb_gc_adjust_memory_usage(). I don't think it is needed in this case.
Maybe I don't follow you, but I believe fiber memory usage is reported correctly by `fiber_memsize` and `c... -
06:17 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- > I know you got measurements. please share us.
I added `show_limit` to bootstrap test so we can see for all platforms. However, all platforms I tested could allocate 10,000 fibers easily. e.g. all builds on Travis, AppVeyor, etc. Whe... -
04:55 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- > which size (xx KB, etc)?
```
#define RUBY_VM_FIBER_VM_STACK_SIZE ( 16 * 1024 * sizeof(VALUE)) /* 64 KB or 128 KB */
#define RUBY_VM_FIBER_VM_STACK_SIZE_MIN ( 2 * 1024 * sizeof(VALUE)) /* 8 KB or 16 KB */... -
04:41 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- @matz do you mind giving your feedback/opinion if possible?
-
02:15 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- To run benchmarks:
```
make benchmark ITEM=vm2_fiber
``` -
02:10 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- Here is a short script you can use to compare fiber allocation performance:
```
GC.disable
puts RUBY_VERSION
system("git log -1 --oneline")
start_time = Time.now
ary = []
(1..).each{|i|
if (i % 1000).zero?
puts "#{Ti... -
02:09 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- I've removed `2e7b2a0db6 Make default fiber stack size same as thread stack size.` because I think it should be separate PR.
-
01:54 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- ioquatix (Samuel Williams) wrote:
> @ko1 asked:
> ...
which size (xx KB, etc)?
> > (2) maximum allocatable size
> ...
I know you got measurements. please share us.
> > (3) GC.enable/disable usage (edited)
> ...
In general, we ... -
01:45 AM Feature #15997: Improve performance of fiber creation by using pool allocation strategy.
- @ko1 asked:
> (1) stack size assumption
The fiber pool stack size is (guard page + vm_stack_size + fiber_machine_stack_size).
> ...
On 64-bit platform it's effectively the same, although in some situations it can be better due t... -
01:21 AM Feature #15997 (Closed): Improve performance of fiber creation by using pool allocation strategy.
- https://github.com/ruby/ruby/pull/2224
This PR improves the performance of fiber allocation and reuse by implementing a better stack cache.
The fiber pool manages a singly linked list of fiber pool allocations. The fiber pool alloc... -
10:15 AM Bug #15993: 'require' doesn't work if there are Cyrillic chars in the path to Ruby dir
- Looks like there is an **ugly workaround**.
1) Ensure to do `chcp 1251` in the current console session.
2) Run Ruby with an option `--disable=gems` so it will not fail initially.
3) Add next code at the very beginning of a script:
... -
09:30 AM Feature #15973: Let Kernel#lambda always return a lambda
- alanwu (Alan Wu) wrote:
> The idea to generate a delegating lambda seems to side-step a lot of the issues posted here.
So then, would it be the same semantics as this?
```ruby
b = proc {|x, y, k:1| x }
l = lambda { |*args, **kwa... -
05:43 AM Feature #15973: Let Kernel#lambda always return a lambda
- Eregon (Benoit Daloze) wrote:
> With current semantics, it returns `:early_return`.
> ...
I agree.
The lambda-ness of Proc object affects control flow: the behavior of "return" and "break".
If lambda(&b) changes the lambda-ness... -
05:31 AM Feature #15973: Let Kernel#lambda always return a lambda
- Yes, I can compromise with delegation scheme, as long as it leaves its own frame in the call stack. An optional method for a proc to prevent such delegation is desirable but can be added later.
-
04:11 AM Feature #15973: Let Kernel#lambda always return a lambda
- The idea to generate a delegating lambda seems to side-step a lot of the issues posted here.
For reference here are some quotes from the log in #15930 (courtesy of ko1):
```ruby
b = proc {|x| x }
lambda(&b) #=> lambda {|x| b[x] }
... -
08:57 AM Revision ae599db2 (git): * remove trailing spaces.
-
08:52 AM Revision 00b34b05 (git): Fixed duplicate test name
- 06:02 AM Revision a9ff21a2 (git): * 2019-07-12
- 06:02 AM Revision b9ad62ea (git): * remove trailing spaces.
-
03:57 AM Bug #9327 (Closed): Why FileUtils.rmdir ignores Errno::ENOTEMPTY ?
- This was fixed in commit:2635984cf2b9b7632f8b35afa2f29d219aba104a. Now Ruby raises if a directory given cannot be removed. It only ignores the exception when deleting parent directories.
Issue 3178 should also been closed, but it is... -
03:44 AM Bug #9357 (Closed): TracePoint's c_return traces return from call to 'trace'
-
03:43 AM Bug #9358 (Closed): TracePoint's raise event should throw 'not supported by this event (RuntimeError)' on calling return_value
- This is expected behavior. As the documentation states:
`raised_exception`: `Value from exception raised on the :raise event`
`return_value`: `Return value from :return, c_return, and b_return event`
You cannot call methods not s... -
03:35 AM Bug #9432 (Closed): ThreadError [ Attempt to unlock a mutex which is locked by another thread ]
-
03:32 AM Bug #9447 (Closed): Bad interaction between Fibers and Trap handlers in Ruby > 2.0.0
-
02:55 AM Bug #9541 (Closed): Markedly increased Hash memory usage if Hash is cleared before reinsertion.
- This difference is probably due to addition of the generational garbage collector introduced in Ruby 2.1, in combination with the specifics of the malloc implementation you are using. hashmemtest2 is expected to perform worse as you are...
-
02:07 AM Bug #9604 (Closed): Comparing ranges or range includes range
- Ruby 2.6 added support to `Range#cover?` to accept Range arguments, which you can use instead of `include?`:
```
$ ruby25 -e 'p (1..10).cover?(2..7)'
false
$ ruby26 -e 'p (1..10).cover?(2..7)'
true
``` -
02:02 AM Bug #9628 (Closed): Simple and isolated segfault in 2.1.0 and 2.1.1 on Mac OS X 10.9.2 (via rbenv)
-
02:01 AM Bug #9588: program name variables tainted
- It looks like `$0`, `__FILE__`, and `$PROGRAM_NAME` have been not tainted since 2.1. I'm not sure if this is still considered a bug or not.
-
01:50 AM Bug #9623 (Closed): warning: "named capture conflicts a local variable" does not allow loops with named captures
- Fixed by commit:75a68057c712897bce6d787114ffa72504556756.