Project

General

Profile

Activity

From 08/09/2018 to 08/15/2018

08/15/2018

07:03 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
I wrote:
> OK, I'll commit 0001-process.c-close_others-defaults-to-false.patch

Nevermind, the version I uploaded here also introduces
compatibility problems around make jobserver FD inheritance with
rubyspec. So setting FD_CLOEXE...
normalperson (Eric Wong)
06:56 PM Revision 490898a0 (git): * 2018-08-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:56 PM Revision 309042d8 (git): test/ripper/test_parser_events.rb (test_block_variables): bump RLIMIT_AS again
I still seem to need more memory for parallel tests with MJIT...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
02:24 PM Revision 3d3ff9f3 (git): gmtimew_noleapsecond uses tables for mon and mday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e akr (Akira Tanaka)
12:53 PM Revision 50ad0995 (git): spec/ruby/optional/capi/ext/io_spec.c: guard unreachable code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:01 AM Revision 9071cd63 (git): spec/ruby/optional/capi/ext/io_spec.c: guard unreachable code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
07:32 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Eric Wong wrote:
> ko1@atdot.net wrote:
> > Let me clear your commits.
> > Maybe "Description" of this ticket is obsolete.
>
> I guess, I will add doc or comments to thread_pthread.c

I think I addressed this in r64377 and made ...
normalperson (Eric Wong)
12:22 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
ko1@atdot.net wrote:
> Let me clear your commits.
> Maybe "Description" of this ticket is obsolete.

I guess, I will add doc or comments to thread_pthread.c

> They are my understandings (fix me if they are wrong):
>
> * Your i...
normalperson (Eric Wong)
07:16 AM Revision 4610d36c (git): thread_pthread.c: hoist out do_gvl_timer and improve documentation
This hopefully clarifies the roles of UBF_TIMER and vm->gvl.timer
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
06:38 AM Feature #14994 (Closed): Enumerator::Lazy#uniq & Enumerator::Lazy#grep_v should use proc chaining
Proc chaining for Enumerator::Lazy was introduced in https://bugs.ruby-lang.org/issues/6183
Proc chaining improved the performance on chained lazy enum for adapted method.
Current implementation of proc chaining can be easily used...
chopraanmol1 (Anmol Chopra)
05:54 AM Revision 727a2d55 (git): vm_core.h (rb_thread_t): pack small fields together
On a 64-bit system, this reduces rb_thread_t from 536 to 520 bytes.
Depending on the allocation, this can reduce cacheline access
for checking the abort_on_exception, report_on_exception and
pending_interrupt_queue_checked flags.
git-sv...
Eric Wong
05:31 AM Revision 906ad167 (git): thread_pthread.h (native_thread_data): split list_node between ubf and gvl
Do not waste extra memory for each thread, but make
thread_pthread.c easier-to-follow as a result.
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
04:51 AM Revision 7815d7d7 (git): test_function.rb: skip running test
that times out with test-all w/ --jit-wait.
I'm running the following command on Wecker CI everyday:
```
make test-all TESTOPTS="--color=never --job-status=normal" RUN_OPTS="--disable-gems --jit-wait --jit-warnings" RUBY_FORCE_TEST_JIT=...
k0kubun (Takashi Kokubun)
04:32 AM Revision 3dcf85e0 (git): thread_pthread.c: rename rb_timer_* to ubf_timer_*
These functions will not be exported outside of thread_pthread.c
and we need to clarify the timer here is used for ubf and not
timeslice.
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64373 b2dd03c8-...
Eric Wong
04:32 AM Revision e4fd71d6 (git): thread_pthread.c: rename timer_thread_pipe to signal_self_pipe
This data structure has nothing to do with timers or threads.
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
04:32 AM Revision 5dca7d86 (git): thread_pthread.c: additional UBF_TIMER == UBF_TIMER_PTHREAD guards
Hopefully this makes the code easier-to-follow
[ruby-core:88475] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
04:10 AM Revision 425a820d (git): appveyor.yml: no MSYS path conversion
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
03:03 AM Revision 4940bbc7 (git): test_readline.rb: skip teardown failure
https://ci.appveyor.com/project/ruby/ruby/build/9271/job/e88212s136mr0dgr
I'll take a look at MSP-Greg's patch on readline later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:15 AM Revision 5a149052 (git): appveyor.yml: get rid of msys sh as possible
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:05 AM Revision 438955ef (git): -Wsuggest-attribute=noreturn on io_spec_rb_io_wait_readable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:55 AM Revision 36e41fd9 (git): test_env.rb: change mingw branch
https://github.com/MSP-Greg/ruby-loco/blob/e287cb739113da289271a017a1e7fa46cbfe47d9/patches/gte20600/test-ruby-test_env.rb_test_huge_value.patch
From: MSP-Greg (Greg L) <Greg.mpls@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/...
k0kubun (Takashi Kokubun)
01:40 AM Revision 0c95c744 (git): skip tests failing on AppVeyor MinGW
Let me skip this to make CI green first and take a look later...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:36 AM Feature #14989: Add Hash support for transient heap
Hello, thank you again for a response.
tacinight (Yimin Zhao) wrote:
> > Why you can say that a hash's size has something to do with its age?
> ...
OK. Looking forward to the measurement result. Even if this was a false assert, m...
shyouhei (Shyouhei Urabe)

08/14/2018

11:23 PM Revision 1684a1bd (git): appveyor.yml: remove broken --name option
Currently all tests are skipped by the --name option.
V=1 is for debugging this issue.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:00 PM Revision ab7e34e4 (git): webrick/httpauth/htgroup.rb (flush): avoid unnecessary unlink
Based on patch by akr [ruby-core:88477], use Tempfile.create
to avoid unnecessary unlink call. Unlike akr's original patch,
this does not change the return value of flush.
Thanks-to: Tanaka Akira <akr@fsij.org>
git-svn-id: svn+ssh://c...
Eric Wong
10:59 PM Revision 7d664ecc (git): Revert "test/lib/leakchecker.rb (find_tempfiles): don't warn for missing files"
This reverts commit 52102f6ff50eebf8c16667c9b49cef579d2057c1 (r64238).
It is no longer necessary if we use Tempfile.create in
WEBrick::HTTPAuth::Htgroup#flush (see next commit)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64362 b2...
Eric Wong
10:06 PM Revision 63529403 (git): Revert "thread_pthread.c: use UBF_TIMER_PTHREAD on Solaris"
This reverts commit 31bfe0fe86433beddfec2b2bdba69dfda1775f8d (r64357)
commit 17ed23bb6dfc942a8c51658b01135c3e2807ccf0 (r64359,
"fix fragile spec from unpredictable errno") is the correct fix
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/...
Eric Wong
08:00 PM Bug #14992 (Closed): mkmf sets DYLD_LIBRARY_PATH on macOS which breaks pkg-config
When `mkmf` runs `pkg-config`, it sets `DYLD_LIBRARY_PATH` on macOS which causes `pkg-config` to not work. As an example, running
~~~
$ ruby2.5 -r mkmf -e 'pkg_config("libxml-2.0")'
~~~
writes the following to `mkmf.log`.
~~~
...
stevecheckoway (Stephen Checkoway)
06:32 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
danieldasilvaferreira@gmail.com wrote:
> normalperson@yhbt.net wrote:
>
> > I am thinking of adding preemption support to this feature for
> compatibility with 1.8
>
> non-preemptive vs preemptive.
> coroutines are non-preempti...
normalperson (Eric Wong)
05:52 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
Koichi Sasada <ko1@atdot.net> wrote:
> On 2018/08/14 9:42, Eric Wong wrote:
> > I am thinking of adding preemption support to this feature for
> > compatibility with 1.8
>
> So that "auto-fiber" proposal is to provide green thread...
normalperson (Eric Wong)
09:00 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
normalperson@yhbt.net wrote:
> I am thinking of adding preemption support to this feature for
compatibility with 1.8
non-preemptive vs preemptive.
coroutines are non-preemptive.
threads are preemptive.
Are we talking about havi...
dsferreira (Daniel Ferreira)
08:32 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
On 2018/08/14 9:42, Eric Wong wrote:
> I am thinking of adding preemption support to this feature for
> compatibility with 1.8

So that "auto-fiber" proposal is to provide green threads like Ruby 1.8?

Like:
```
model 1: Userlev...
ko1 (Koichi Sasada)
12:52 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
ko1@atdot.net wrote:
> Issue #13618 has been updated by ko1 (Koichi Sasada).
>
>
> We discussed about naming.
>
> ```
> X IoThread.new{}
> X GreenThread.new{}
> X Thread::Green.new{} #124 “most likely candidates”(vote: hsbt...
normalperson (Eric Wong)
05:48 PM Bug #14678: Segmentation fault in pg
I wanted to use ruby v2.5.1 instead v2.5.0
But I got this error.
With ruby v2.5.0, my rails project works great without any error.
I was using Rails v5.2.1 on macbook pro macos High Sierra 10.13.6 with Postgres.app v2.1.4
Ricochet (SeHoon Park)
05:07 PM Revision 81562d89 (git): * 2018-08-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:07 PM Revision 17ed23bb (git): spec/ruby/optional/capi/io_spec.rb: fix fragile spec from unpredictable errno
rb_io_wait_readable and rb_io_wait_writable depend on the TSD
errno value. Due to the recent changes in r64352-r64353 to
restructure GVL, errno could be set to EAGAIN from the signal
self-pipe and cause the rb_io_wait_readable spec to b...
Eric Wong
11:58 AM Revision 37279d15 (git): non-symbol keys in kwargs
* class.c (separate_symbol): [EXPERIMENTAL] non-symbol key in keyword
arguments hash causes an exception now.
c.f. https://twitter.com/yukihiro_matz/status/1022287578995646464
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64358 ...
nobu (Nobuyoshi Nakada)
11:23 AM Bug #14976 (Feedback): /usr/local/lib/ruby/gems/2.6.0/gems/fluentd-1.2.4/lib/fluent/event.rb:193: [BUG] Segmentation fault at 0x0000000000000000 ruby 2.6.0preview1 (2018-02-24 trunk 62554) [x86_64-linux]
Preview version of Ruby is provided for testing purpose.
If you want to use fluentd for production, please use Ruby 2.5 at this time.
naruse (Yui NARUSE)
10:44 AM Feature #14989: Add Hash support for transient heap
Nice introduction and explanation!
shevegen (Robert A. Heiler)
07:32 AM Feature #14989: Add Hash support for transient heap
Thanks for the quick response.

> Why you can say that a hash's size has something to do with its age?

Thanks for pointing it out, I admit that there are some problems with
this statement. I will go to measure it.

> > 1. We don...
tacinight (Yimin Zhao)
04:33 AM Feature #14989: Add Hash support for transient heap
Thank you for a great work.
tacinight (Yimin Zhao) wrote:
> 2. Transient heap is based on the hypothesis that most of objects die at a young age. To understand the issue with first need to survey the distribution of hash size.
W...
shyouhei (Shyouhei Urabe)
03:38 AM Feature #14989 (Closed): Add Hash support for transient heap
Hi, there
I am a GSoC student following @ko1 to do some work for Ruby, here I want to make a brief introduction for one of my work in this period.
## Transient Heap
The first discussion of transient heap was opened by @ko1 at [Intro...
tacinight (Yimin Zhao)
08:09 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
Let me clear your commits.
Maybe "Description" of this ticket is obsolete.
They are my understandings (fix me if they are wrong):
* Your idea is using POSIX timer if possible.
```
#define UBF_TIMER_NONE 0
#define UBF_TIMER_PO...
ko1 (Koichi Sasada)
06:49 AM Revision 31bfe0fe (git): thread_pthread.c: use UBF_TIMER_PTHREAD on Solaris
I'm not sure what's causing this failure in Solaris and only
on rubyspec, since rb_io_wait_readable is a well-exercised
code path in other places. But maybe using a pthread for
timing (similar to old timer-thread) can solve the issue.
...
Eric Wong
05:43 AM Feature #14984: case when with splat operator performance
ko1 (Koichi Sasada) wrote:
> Could you give us your idea with examples in pseudo-code?
I'm not sure if I understand your question. In case if you are asking about implementation for this issue, then I created a pull request for that:...
chopraanmol1 (Anmol Chopra)
03:05 AM Feature #14984: case when with splat operator performance
Could you give us your idea with examples in pseudo-code?
ko1 (Koichi Sasada)
03:04 AM Feature #14955: [PATCH] gc.c: use MADV_FREE to release most of the heap page body
On 2018/08/11 13:48, Eric Wong wrote:
>> https://bugs.ruby-lang.org/issues/14955
>
> One major question to ask is: does object count during
> application lifetime vary enough to justify freeing
> "struct heap_page_body"?
>
> In...
ko1 (Koichi Sasada)
02:24 AM Revision 291afc96 (git): thread_pthread.c: use CLOCK_REALTIME on SunOS (Solaris)
timer_create does not seem to support CLOCK_MONOTONIC on Solaris,
and CLOCK_HIRES seems like it could fail with insufficient permissions:
https://docs.oracle.com/cd/E86824_01/html/E54766/timer-create-3c.html
(Only tested on Linux and F...
Eric Wong
12:31 AM Revision 1e769ce6 (git): test/fiddle/test_function.rb (test_nogvl_poll): stop timer hack
EINTR seems unavoidable in real programs (or MJIT), so maybe
it's not worth dealing with. r64353 relies on POSIX timers
to signal.
Switching pipes and sockets to non-blocking by default would let
us get rid of POSIX timers, timer pthre...
Eric Wong

08/13/2018

10:19 PM Revision 8da12db1 (git): thread_pthread (rb_timer_arm): ignore UBF_TIMER_POSIX state 2
It looks like I forgot to account for a situation involving 3
threads.
[ruby-core:88360] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
09:34 PM Revision 3dd6288d (git): thread_pthread: use POSIX timer or thread to get rid of races
This closes race condition where GVL is uncontended and a thread
receives a signal immediately before calling the blocking
function when releasing GVL:
1) check interrupts
2) release GVL
3) blocking function
If ...
Eric Wong
09:34 PM Revision 48b6bd74 (git): thread_pthread.c: eliminate timer thread by restructuring GVL
This reverts commit 194a6a2c68e9c8a3536b24db18ceac87535a6051 (r64203).
Race conditions which caused the original reversion will be fixed
in the subsequent commit.
[ruby-core:88360] [Misc #14937]
git-svn-id: svn+ssh://ci.ruby-lang.org/...
Eric Wong
07:12 PM Revision 4d2e0fff (git): FreeBSD 11.0 lacks ELFCOMPRESS_ZLIB
FreeBSD 11.0 unfortunately lacks ELF compression definitions in their
elf.h (sys/elf_common.h), and 11.1 introduced them.
https://github.com/freebsd/freebsd/commit/b9167d33a12b8a6c279be9cd1005874728e808c9
Though we can add workaround, w...
naruse (Yui NARUSE)
04:03 PM Revision 49083895 (git): appveyor.yml: install gdbm
which is missing on AppVeyor environment
https://github.com/ruby/ruby/commit/6a1e323ae88101cfed3fc4591d6e6a3bd8c05f02#commitcomment-30056791
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
03:29 PM Revision 2d313a29 (git): * 2018-08-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:29 PM Revision 6a1e323a (git): appveyor.yml: add MinGW build
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
03:10 PM Bug #14979: Invalid argument - ruby_setenv(SURVEY) (Errno::EINVAL)
shevegen (Robert A. Heiler) wrote:
> Interesting. My Linux-environment, in ruby via ENV, has 810 entries and
> ...
When you read my report carefully: the problem only occurs on windows. I was trying to recreate it on linux but without ...
tvw (Thomas Volkmar Worm)
02:54 PM Revision 7d2b70a9 (git): fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
02:33 PM Revision 4e87ee8d (git): mention about r64337
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
02:29 PM Revision f0d20684 (git): Add some tests for *method_defined?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
01:50 PM Revision 0381ec51 (git): Fix test bug
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
01:48 PM Revision 67d87b19 (git): Fix problem about notimplemented case
Re-revert r64340, and take care about notimplemented case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
01:46 PM Revision 74966729 (git): appveyor.yml: drop unnecessary 1.0. prefix
from version.
Also I fixed the wrong way of using `for:`.
Specifying `for` without `matrix.only` was just useless.
This fix is for adding MinGW matrix in the future.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64342 b2dd03c8-39d4...
k0kubun (Takashi Kokubun)
01:27 PM Revision 984ba3da (git): Add test for method_defined?(notimplement)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
01:27 PM Revision ee05c567 (git): Revert "Support optional inherit argument for Module#method_defined?"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:42 PM Revision 5bf3db3e (git): get rid of an encode noncompatible error
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
12:42 PM Feature #14944 (Closed): Support optional inherit argument for Module#method_defined?
Applied in changeset trunk|r64337.
----------
Support optional inherit argument for Module#method_defined?
Module has many introspection methods for methods and constants that
either return an array or return true or false for whether ...
usa (Usaku NAKAMURA)
12:42 PM Revision efd5a574 (git): * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:42 PM Revision bccb24a8 (git): Support optional inherit argument for Module#method_defined?
Module has many introspection methods for methods and constants that
either return an array or return true or false for whether the method
or constant is defined. Most of these methods support an optional
argument that controls whether t...
U.Nakamura
12:22 PM Revision 50e41f4a (git): test/rinda/test_rinda.rb: Start keeper only on used tests
to reduce sleeping threads on unrelated tests
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
12:07 PM Feature #14912: Introduce pattern matching syntax
> Btw, won't it better to introduce a new expression named `match` than to extend `case`?
I have exactly the opposite question: do we really need `in`, why not reuse `when`?.. For all reasonable explanations, case+when IS Ruby's "patt...
zverok (Victor Shepelev)
11:02 AM Revision 0ab6266c (git): Makefile.in: drop MJIT_DLDFLAGS_NOCOMPRESS
which is obsoleted by r64331
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
08:48 AM Revision 0ca50534 (git): Don't free allocated uncompressed_debug_line until backtrace is printed
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
07:55 AM Revision 0efd00bf (git): Re-apply wrongly reverted r64330
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
07:05 AM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
I can imagine how hard to implement the "requiring into isolated binding" correct in VM.
If we want to maintain the compatible we need to maintain the reference of the name cross different require/import.
Think of a situation:
`...
jjyr (Jinyang Jiang)
06:40 AM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
shyouhei (Shyouhei Urabe) wrote:
> I like this idea in general. I too want to have "requiring into isolated Binding".
> ...
Totally agreed!
jjyr (Jinyang Jiang)
03:34 AM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
In the Why? section, case 1 is just a programming error on the library developer's or library user's part, depending on how the library is documented.
In terms of case 2 (multiple gems define overlapping constants in the top level n...
jeremyevans0 (Jeremy Evans)
01:12 AM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
I like this idea in general. I too want to have "requiring into isolated Binding".
One thing I would like to add, "namespace" shall be a keyword rather than a normal method taking a block. Blocks can be passed around:
```ruby
nam...
shyouhei (Shyouhei Urabe)
06:31 AM Revision cc1c6059 (git): Define parse_compressed_debug_line() only ifdef SUPPORT_COMPRESSED_DEBUG_LINE
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
06:20 AM Revision bcf8f79d (git): support compressed debug_line
re-commit r64328
https://blogs.oracle.com/solaris/elf_section_compression-v2
https://gnu.wildebeest.org/blog/mjw/2016/01/13/elf-libelf-compressed-sections-and-elfutils/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64331 b2dd03c8-39...
naruse (Yui NARUSE)
06:09 AM Revision 2132fb33 (git): configure.ac: use linker_flag to LIBRUBY_DLDFLAGS
* configure.ac: use a feature flag `linker_flag`, than checking if the
compiler is `GCC`.
* configure.ac: append to LIBRUBY_DLDFLAGS once after initialized with
DLDFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64330 b2dd...
nobu (Nobuyoshi Nakada)
06:05 AM Revision 843589a7 (git): Revert "support compressed debug_line"
This reverts commit r64328
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
02:56 AM Revision a20a2b00 (git): support compressed debug_line
https://blogs.oracle.com/solaris/elf_section_compression-v2
https://gnu.wildebeest.org/blog/mjw/2016/01/13/elf-libelf-compressed-sections-and-elfutils/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64328 b2dd03c8-39d4-4d8f-98ff-823f...
naruse (Yui NARUSE)

08/12/2018

04:45 PM Revision 85079043 (git): timegm_noleapsecond uses calc_tm_yday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e akr (Akira Tanaka)
03:16 PM Revision 25c79f44 (git): configure.ac: use the correct argument
for --compress-debug-sections. I thought "no" is the correct one because
configure.ac has `AS_IF([test "x$compress_debug_sections" != xno]`, but
it wasn't the case.
This commit is needed to resolve errors like:
/usr/bin/x86_64-linux-gnu...
k0kubun (Takashi Kokubun)
03:13 PM Revision 422f4e3e (git): configure.ac: MJIT_DLDFLAGS_NOCOMPRESS
is configured now, to force -Wl,--compress-debug-sections=no
for MJIT only when the option is used in MJIT_DLDFLAGS.
This needs to be done in configure.ac to resolve build failure like
https://travis-ci.org/ruby/ruby/builds/415120662.
...
k0kubun (Takashi Kokubun)
03:00 PM Revision a7775c4e (git): * 2018-08-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:00 PM Revision 7e478ba3 (git): mjit_worker.c: lazily delete so file
on ELF.
I need symbol name and line number to lazily create program counter for
optimization on ELF binary.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:42 PM Revision bd789fa5 (git): mjit_worker.c: allow showing line number
on addr2line.c, if --jit-save-temps is specified.
I'm going to use the line number to lazily create program counter to
improve the performance degraded in r64283.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64322 b2dd03c8-39d4-4d...
k0kubun (Takashi Kokubun)
12:59 PM Revision c55e10a9 (git): mjit.c: reduce the number of variables
in mark_ec_units() to simplify code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:51 AM Bug #14707: String#scan(/\K/) has changed its behavior in ruby 2.5
ruby_2_5 r64320 merged revision(s) 63252. nagachika (Tomoyuki Chikanaga)
11:51 AM Revision fa07823a (git): merge revision(s) 63252: [Backport #14707]
string.c: fix scanned substring with `\K`
* string.c (scan_once): fix the matched substring with `\K`, the
beginning of that string may differ from the matched position.
[ruby-core:86663] [Bug #14707]
git-sv...
nagachika (Tomoyuki Chikanaga)
10:37 AM Bug #14566: `raise` in `Exception#message` causes infinite loop
ruby_2_5 r64319 merged revision(s) 63133. nagachika (Tomoyuki Chikanaga)
10:37 AM Revision 78e4b57c (git): merge revision(s) 63133: [Backport #14566]
eval_error.c: fix loop on exception in message
* error.c (rb_get_message): accessor to the message.
* eval_error.c (rb_ec_error_print): handle exceptions on fetching
the message. [Bug #14566]
git-svn-id: svn...
nagachika (Tomoyuki Chikanaga)
09:12 AM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
I believe namespace can reduce the complexity of organizing codes in large projects.
Recently I write rust code in a large project. Our code base is dependent on other several complex projects. With rust `use` syntax(https://doc.rust...
jjyr (Jinyang Jiang)
08:10 AM Feature #14984 (Closed): case when with splat operator performance
Applied in changeset trunk|r64318.
----------
Optimization for case when with splat operator
[Fix GH-1928] [Feature #14984]
From: chopraanmol1 <chopraanmol1@gmail.com>
nobu (Nobuyoshi Nakada)
08:10 AM Revision af2e98ae (git): Optimization for case when with splat operator
[Fix GH-1928] [Feature #14984]
From: chopraanmol1 <chopraanmol1@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:00 AM Revision 4fe8308e (git): tool/downloader.rb: increase retries
GitHub download failed on 13:50:36
https://ci.appveyor.com/project/ruby/ruby/build/1.0.9221 and it also
failed on 13:51:35 (all builds between them failed too).
It means that we need to expect GitHub 502 that continues 1 minute.
So I co...
k0kubun (Takashi Kokubun)
05:14 AM Feature #14912: Introduce pattern matching syntax
Btw, won't it better to introduce a new expression named `match` than to extend `case`? Seems to me this will make the use of patter matching clearer, and I assume it's also going to simplify the implementation. bozhidar (Bozhidar Batsov)
04:50 AM Revision fe781af3 (git): compile.c: use EXPECT_NODE macro
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:50 AM Revision e7f88ff6 (git): compile.c: check error in when_vals
* compile.c (when_vals): return a negative value on error.
* compile.c (compile_case): check error in when_vals().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:30 AM Revision 80769280 (git): vm_insnhelper.c: revert r64280
This commit caused test-all failure with --jit-wait.
I don't know the reason yet, but let me revert it to normalize CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
12:28 AM Revision aa6c02a5 (git): skip non-IP interfaces
* spec/ruby/library/socket/socket/getifaddrs_spec.rb: VirtualBox host
only adapter seems something different than ordinary interfaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

08/11/2018

11:40 PM Revision c3b25464 (git): vm_insnhelper.c: drop duplicated inline
to resolve warning:
c:\projects\ruby\vm_insnhelper.c(1661) : warning C4141: 'inline' : used more than once
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:33 PM Revision b1ecbf8e (git): appveyor.yml: customize icon_url
We're using "x" sign as an icon for incoming webhook, but the success
notification by `on_build_status_changed` should not be an "x" asign.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
06:44 PM Feature #14984 (Closed): case when with splat operator performance
case when with splat operator use instructions like duparray, concatarray which result in creation of arrays.
Avoiding creation of array improves performance.
I've done following set of changes:
https://github.com/ruby/ruby/pul...
chopraanmol1 (Anmol Chopra)
04:25 PM Revision 61bef861 (git): * 2018-08-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:25 PM Revision c7baa445 (git): fix r64296
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
02:50 PM Revision 3db5b211 (git): test_rubyvm_mjit.rb: skip testing MJIT if not supported
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
02:48 PM Revision 33d318a2 (git): mjit.c: stop defining alias for a very limited use
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
02:44 PM Revision 1bc2641b (git): mjit.c: drop obsoleted duplicated declaration
of mjit_worker(). It was needed when mjit_worker.c is separated from
mjit.c, but it's now just included.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:36 PM Revision 69bfb6d8 (git): mjit_worker.c: remove redundant cast for calloc/alloca
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
02:34 PM Revision 5cd84d24 (git): mjit_worker.c: handle calloc failure
Unlike ZALLOC, it's not automatically handled.
mjit.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:32 PM Revision 3c1f1c33 (git): test_env.rb: a failure on appveyor
* test/ruby/test_env.rb (test_huge_value): Windows 8 seems having a
limit on single environment variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:27 PM Revision 1b157084 (git): mjit_worker.c: never trigger GC on MJIT worker
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
02:18 PM Revision 004b8ad0 (git): mjit_worker.c: don't use ruby_strdup
on MJIT worker. That may trigger GC. And handled strdup failure instead.
mjit_compile.c: update comment about GC
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:15 PM Revision 591b2566 (git): appveyor.yml: show the OS version
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:09 PM Revision f219f785 (git): test_rubyvm_mjit.rb: dump output on test_pause
failure. It's failing on mswinci but it's hard to know the cause without
out/err.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
02:05 PM Revision d9260c5a (git): mjit_worker.c: share MJIT warning logic
as mjit_warning().
mjit.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:43 PM Revision 8b1ff417 (git): Solaris 10 doesn't have getifaddrs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
01:31 PM Revision 984986a0 (git): Solaris raises EAI_SERVICE if hints.ai_socktype=0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
01:31 PM Revision 8ef27ac1 (git): test_iseq_load.rb: reduce timeout of test_stressful_roundtrip
We should increase RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE for slow
environments, and we configured some CI machines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:28 PM Revision 8b46df79 (git): upgrade the default WINNT version
* configure.ac: set the default target Windows NT version to 0x0600,
as well as mswin version since r50051. Windows XP has ended years
ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:19 PM Bug #14979 (Closed): Invalid argument - ruby_setenv(SURVEY) (Errno::EINVAL)
Applied in changeset trunk|r64293.
----------
hash.c: env block size limit on Windows
* hash.c (ruby_setenv): do not check environment block size.
c.f. https://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx
...
nobu (Nobuyoshi Nakada)
01:18 PM Revision 490fbc4c (git): hash.c: env block size limit on Windows
* hash.c (ruby_setenv): do not check environment block size.
c.f. https://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx
Starting with Windows Vista and Windows Server 2008, there is no
technical limitation...
nobu (Nobuyoshi Nakada)
12:41 PM Feature #14982: Improve namespace system in ruby to avoiding top-level names chaos
I think this has come up before in other issue requests, at the least
in one variant or the other (if I recall correctly, Hiroshi Shibata
also suggested some variant that is a bit similar to your "import"
example, but I do not remembe...
shevegen (Robert A. Heiler)
04:26 AM Feature #14982 (Assigned): Improve namespace system in ruby to avoiding top-level names chaos
Updated: https://bugs.ruby-lang.org/issues/14982#note-5
## Why
Ruby has evaluation all class/module names in top-level context(aka TOPLEVEL_BINDING).
As a user we basically hard to know how many names in the current context, ...
jjyr (Jinyang Jiang)
10:05 AM Revision 3d2e7b61 (git): mjit_worker.c: resurrect more static declarations
and remove old mjit_ prefixes again.
mjit.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
09:58 AM Revision cfe7f7ca (git): mjit_worker.c: reorder functions and variables
so that related things are placed closely.
Sorry for mixing them in previous commits...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
09:48 AM Revision 3c442229 (git): mjit.c: make some variables static again
and remove redundant mjit_ prefixes.
mjit_worker.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
09:37 AM Revision a48d1d79 (git): mjit.c: include mjit_worker.c
instead of linking functions with mjit_worker.o.
In the r64285's structure, we needed to publish some variables with
mjit_ prefix. But ideally those variables should be completely private
in mjit.o (or old mjit_worker.o), and it was har...
k0kubun (Takashi Kokubun)
08:34 AM Revision 6306aa92 (git): mjit.c: exclude mjit_valid_class_serial_p
from mjit.c because it's executed only on MJIT worker thread.
Instead of that, `valid_class_serials` is shared with mjit_ prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
08:07 AM Revision b2e0d540 (git): mjit_worker.c: prefix mjit_ to pch_status
which was just forgotten.
mjit.c: ditto
mjit_internal.h: moved some macros only used by mjit_worker.c to it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
07:57 AM Revision 58de7684 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
07:57 AM Revision ddcb40f5 (git): mjit_worker.c: carve out worker-related code
The motivation of this change is to make sure rb_funcall or GC-related
functions are not called on worker-related code. Currently such
functions are used in some places and I believe it's partly because it's
hard to identify which part i...
k0kubun (Takashi Kokubun)
05:37 AM Revision c9a30858 (git): _mjit_compile_pc_and_sp.erb: update the comment
about the pc motion reason
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
05:33 AM Revision d5e27d7a (git): _mjit_compile_pc_and_sp.erb: always move pc
to fix the wrong line number on #caller_locations or rb_profile_frames.
Actually we would be able to move it only when method call (of
caller_locations) or C extension invocation (calling rb_profile_frames)
can happen.
This degrades pe...
k0kubun (Takashi Kokubun)
04:52 AM Feature #14955: [PATCH] gc.c: use MADV_FREE to release most of the heap page body
> https://bugs.ruby-lang.org/issues/14955

One major question to ask is: does object count during
application lifetime vary enough to justify freeing
"struct heap_page_body"?

In my experience, object count is relatively stable
o...
normalperson (Eric Wong)
04:27 AM Bug #11018: free(): invalid next size (normal)
kosaki (Motohiro KOSAKI) wrote:
> Please let us know if you can reproduce it with no gem, no rvm and no extension.
Hi,
We're seeing the same issue and although we've used GDB on the dumped core and also ran `strace` - still we can't...
icarito (Sebastian Silva)
04:22 AM Revision 92c03be8 (git): tool/downloader.rb: retry on 502 and 503 error
rubyci was failed by download 503
https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-trunk/log/20180811T021706Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
03:50 AM Revision 0f0d7805 (git): vm_args.c: stop requiring `calling` in vm_caller_setup_arg_block
_mjit_compile_send.erb: simplify code using the change
insns.def: adapt to the interface change
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
03:38 AM Revision b4b012c5 (git): _mjit_compile_send.erb: refactor to share vm_call_iseq_setup_normal
implementation. This had no major performance impact by effort to keep
them inlined.
vm_insnhelper.c: ditto
mjit_compile.c: just update the comment about opt_pc=0 assumption
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64280 b2dd...
k0kubun (Takashi Kokubun)
03:29 AM Feature #14609: Let `Kernel#p` without an argument print the receiver
osyo (manga osyo) wrote:
> Good proposal.
> ...
You can use parentheses.
```ruby
p(name: "home", age: 14)
```
nobu (Nobuyoshi Nakada)
01:49 AM Feature #14609: Let `Kernel#p` without an argument print the receiver
Good proposal.
This can solve the following problem.
```ruby
# NG: syntax error, unexpected ':', expecting '}'
p { name: "homu", age: 14 }
# OK:
{ name: "homu", age: 14 }.p
# => {:name=>"homu", :age=>14}
```
osyo (manga osyo)
01:42 AM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
akr@fsij.org wrote:
> We agree we can challenge to change the default.
> Then, we can see actual problem (FD leak) exist or not.

OK, I'll commit 0001-process.c-close_others-defaults-to-false.patch
early next week (won't have much ...
normalperson (Eric Wong)

08/10/2018

11:32 PM Revision 6dfaccf2 (git): * 2018-08-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:32 PM Revision 886bed6e (git): test_iseq_load.rb: increase timeout
It's timed out on CI like this
https://gist.github.com/ko1/33df53d78fbec9e4156c017eeae023bb.
I'm not sure how long it would take (it finishes immediately on my machine),
so I chose 600s because r64271 says it took 635s on mswinci. (prob...
k0kubun (Takashi Kokubun)
09:31 PM Revision 325fd389 (git): Remove failing specs
https://rubyci.org/logs/rubyci.s3.amazonaws.com/freebsd11zfs/ruby-trunk/log/20180810T183001Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
07:58 PM Feature #6284: Add composition for procs
I used this proposal along with #14781 for a fun solution to a problem proposed in the #ruby irc channel: https://gist.github.com/havenwood/b6d55b412fbf583758c91b8ee339a822
I like these features a lot and love that you can just implem...
shan (Shannon Skipper)
02:03 PM Feature #14975: String#append without changing receiver's encoding
Oh, I see, you are changing the encoding of the buffer to match the argument, then appending it. Interesting, I didn't think of that. I only tried it the other way around so I misread your code. Anyway, I don't think it should be require... ioquatix (Samuel Williams)
02:01 PM Feature #14975: String#append without changing receiver's encoding
It's not the receiver that's frozen, it's the argument. If the argument is frozen, `force_encoding` will fail. Not only that, it could introduce race conditions in true multi-threaded interpreters. ioquatix (Samuel Williams)
01:39 PM Feature #14975: String#append without changing receiver's encoding
ioquatix (Samuel Williams) wrote:
> The logic you've given above is too idealistic unfortunately:
> ...
Considering:
~~~ ruby
x = "Foobar".freeze
x << "1"
# FrozenError (can't modify frozen String)
~~~
Can you explain how the...
jeremyevans0 (Jeremy Evans)
06:40 AM Feature #14975: String#append without changing receiver's encoding
One more thing to consider. If we add `rb_str_append2`, should we be more strict? Rather than doing implicit conversion, perhaps we should throw error if encodings are not the same. ioquatix (Samuel Williams)
06:19 AM Feature #14975: String#append without changing receiver's encoding
So, I think what happened was I ran `make test` on older trunk. I rebased and changed implementation to be `rb_str_append2` as mentioned above. So, this logic only affects `String#append`. I still wonder if we can make it work in general... ioquatix (Samuel Williams)
05:52 AM Feature #14975: String#append without changing receiver's encoding
Just to make it crystal clear, changing the behaviour of `rb_str_append` affects all other functions which call it. That includes `concat`, `<<` and so on.
An alternative would be to make `rb_str_append2` and use that instead and only...
ioquatix (Samuel Williams)
05:51 AM Feature #14975: String#append without changing receiver's encoding
So, as a preface: without introducing (yet another) method, we are left with changing the behaviour of existing methods. I will leave that decision up to someone who is closer to Ruby. However, in an effort to move this forward, I've mad... ioquatix (Samuel Williams)
04:39 AM Feature #14975: String#append without changing receiver's encoding
> The problem with that is that single BINARY encoding string can then cause havok in your application, since any string it touches would then become binary. It would defeat the purpose of having encodings at all.
In what situations c...
ioquatix (Samuel Williams)
04:33 AM Feature #14975: String#append without changing receiver's encoding
The logic you've given above is too idealistic unfortunately:
```
[11] pry(main)> x = "Foobar".freeze ...
ioquatix (Samuel Williams)
04:23 AM Feature #14975: String#append without changing receiver's encoding
ioquatix (Samuel Williams) wrote:
> IMHO, anyone relying on this behaviour is walking on fire. But, you are right, there is the potential to break existing code. I believe the correct solution is for people to avoid using binary buffers...
jeremyevans0 (Jeremy Evans)
03:50 AM Feature #14975: String#append without changing receiver's encoding
@jeremyevans0 I agree with you. It's a problem.
Just for completeness, here is the error you talk about:
```ruby
b = 'a'.force_encoding(Encoding::BINARY)
u = "\u00ff".force_encoding(Encoding::UTF_8)
b << u
b.force_encoding(En...
ioquatix (Samuel Williams)
03:02 AM Feature #14975: String#append without changing receiver's encoding
Making `String#<<` not change the encoding of the receiver may cause backward compatibility issues (raising an exception where an exception is not currently raised):
~~~ ruby
b = 'a'.force_encoding('BINARY')
u = "\u00ff".force_encod...
jeremyevans0 (Jeremy Evans)
01:32 AM Feature #14975: String#append without changing receiver's encoding
That makes total sense, so it seems like we are in agreement, when the receiver is BINARY, we can append anything to it without changing the encoding. What do you think? I can make PR. ioquatix (Samuel Williams)
01:16 AM Feature #14975: String#append without changing receiver's encoding
ioquatix (Samuel Williams) wrote:
> > Changing String#<< and String#concat is not acceptable.
> ...
Though perhaps not documented at the String#<<'s place, this is not how our M17N is designed in principle. There is no automatic encod...
shyouhei (Shyouhei Urabe)
01:09 PM Feature #14609: Let `Kernel#p` without an argument print the receiver
ko1 (Koichi Sasada) wrote:
> Hanmac: do you rely on this behavior?
Me? not so much, in general i don't trust the return value of print commands (print returns null)
it was months ago, i probably wanted to point out that the return...
Hanmac (Hans Mackowiak)
07:03 AM Feature #14609: Let `Kernel#p` without an argument print the receiver
Hanmac: do you rely on this behavior?
ko1 (Koichi Sasada)
12:55 PM Revision 63145476 (git): appveyor.yml: don't notify PR failure to Slack
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
12:36 PM Revision c5aeebfe (git): Fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:36 PM Revision 77bc5e4f (git): Remove needless comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:04 PM Revision 74325360 (git): Pathname: Simplified Pathname#mountpoint?
Removed unnecessary comparison in mountpoint?
[Fix GH-1927]
From: John Whitson <john.whitson@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:55 AM Revision d370a3d4 (git): fixup r64270
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:44 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
> Right, interrupts make it unpredictable. We can control
I think as long as it's documented which APIs might cause a timeout to trigger, it's okay. I think when it happens as part of loop iteration, it can be unexpected. If you write...
ioquatix (Samuel Williams)
09:33 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
We discussed about naming.
```
X IoThread.new{}
X GreenThread.new{}
X Thread::Green.new{} #124 “most likely candidates”(vote: hsbt)
X Thread.green{} #124 “most likely candidates”
X Thread.create(scheduler: …, args: ......
ko1 (Koichi Sasada)
11:37 AM Feature #11076: Enumerable method count_by
As Naruse in DevelopersMeeting20180809 mentioned: It is a histogram function.
How about ```histogram_by``` (and for the block-less counterpart ```histogram```)?
janfri (Jan Friedrich)
10:53 AM Bug #10554 (Rejected): preview2 fails to generate prelude.c
Ruby 2.2.0 is already released. If you still have an issue, Can you submit another issue?
Thanks,
hsbt (Hiroshi SHIBATA)
10:51 AM Misc #10791 (Assigned): [PATCH 1/1] Remove unnecessary passing value from doc for Observable
hsbt (Hiroshi SHIBATA)
09:26 AM Feature #14844: Future of RubyVM::AST?
I'm really curious what's the purpose of this module and why wasn't in developed in collaboration with the maintainers of libraries like https://github.com/whitequark/parser and https://github.com/whitequark/ast, and the maintainers of p... bozhidar (Bozhidar Batsov)
09:22 AM Feature #14187 (Closed): `make test` and `make check` to run all test suites
Applied in changeset commit:ruby-git|163b830d70dabe629816bf7ecf8e5ad3bd511c3e.
----------
common.mk: "make check" now runs test-spec
Currently there are many "make" targets for testing: test, test-all,
check, exam, etc.
To make it simp...
mame (Yusuke Endoh)
08:59 AM Feature #14187: `make test` and `make check` to run all test suites
ioquatix (Samuel Williams) wrote:
> I've been working on PRs for MRI, and I got bitten by `make test` not running all tests. I wish it was the simple default, `make test` should run all tests. If users want something else, make more spe...
naruse (Yui NARUSE)
08:47 AM Feature #14187 (Open): `make test` and `make check` to run all test suites
I changed "make check" to run all tests. But I don't change "make test" yet because of naruse's objection. So I keep this ticket open.
ioquatix (Samuel Williams) wrote:
> I've been working on PRs for MRI, and I got bitten by `make ...
mame (Yusuke Endoh)
08:42 AM Feature #14187 (Closed): `make test` and `make check` to run all test suites
Applied in changeset trunk|r64270.
----------
common.mk: "make check" now runs test-spec
Currently there are many "make" targets for testing: test, test-all,
check, exam, etc.
To make it simple, this change makes "make check" run all t...
mame (Yusuke Endoh)
07:36 AM Feature #14187: `make test` and `make check` to run all test suites
I've been working on PRs for MRI, and I got bitten by `make test` not running all tests. I wish it was the simple default, `make test` should run all tests. If users want something else, make more specific targets, e.g. `make test-core` ... ioquatix (Samuel Williams)
09:22 AM Revision d561eb66 (git): Use assert_separately in TestIseqLoad#test_stressful_roundtrip
It takes 635 seconds on mswinci
http://mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20180810T061315Z.log.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
08:42 AM Revision 163b830d (git): common.mk: "make check" now runs test-spec
Currently there are many "make" targets for testing: test, test-all,
check, exam, etc.
To make it simple, this change makes "make check" run all tests.
"make exam" is just an alias to "make check".
If a new test suite is added in future,...
mame (Yusuke Endoh)
08:31 AM Revision df9521fd (git): Remove failing spec files
Re-commit after specs are fixed.
http://rubyci.s3.amazonaws.com/freebsd11zfs/ruby-trunk/log/20180810T063001Z.log.html.gz
http://rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20180809T191808Z.log.html.gz
http://rubyci.s3.amazonaws.co...
naruse (Yui NARUSE)
07:45 AM Revision 2138f24c (git): insns.def (invokesuper): remove a dummy receiever flag hack for ZSUPER
This is just a refactoring.
The receiver of "invokesuper" was a boolean to represent if it is ZSUPER
or not. This was used in vm_search_super_method to prohibit ZSUPER call
in define_method. (It is currently prohibited because of the l...
mame (Yusuke Endoh)
07:13 AM Bug #11913: make fails when using a custom build directory
I ran into this problem, and I think it was because I had tried building in the root directory. I did `make clean` and it seems to solve this issue. I think we can close this issue, but it might be worth adding to the Contributing document. ioquatix (Samuel Williams)
07:08 AM Misc #14981 (Closed): DevelopersMeeting20180913Japan
Please comment your favorite ticket numbers you want to ask to discuss with your *SHORT* comment or summary.
(your summary/comment will help us because we don't need to read all of ticket comments)
*DO NOT* discuss then on this ticke...
ko1 (Koichi Sasada)
06:28 AM Bug #13598 (Assigned): mutex_m: Missing info in the doc
hsbt (Hiroshi SHIBATA)
06:27 AM Bug #13972 (Assigned): [PATCH] document File.{setuid?,setgid?,sticky?} support for IO objects
hsbt (Hiroshi SHIBATA)
06:06 AM Revision f945ea86 (git): Move IPAddr to deafult gems category.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
05:37 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
Ruby use generally falls into one of two categories: short-lived or very long-lived.
For short-lived Ruby scripts MALLOC_ARENA_MAX could, and maybe should, be left as is?
For long-lived Ruby processes MALLOC_ARENA_MAX absolutely sh...
bluz71 (Dennis B)
02:22 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
shyouhei@ruby-lang.org wrote:
> Hmm. Thank you. Now I am very faintly negative because
> MALLOC_ARENA_MAX=2 ruby ...
> is much easier than
> MALLOC_ARENA_MAX=$((`ls -1 /sys/bus/cpu/devices/|wc -l`*8)) ruby...

nproc(1) command i...
normalperson (Eric Wong)
02:07 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
normalperson (Eric Wong) wrote:
> shyouhei@ruby-lang.org wrote:
> ...
Hmm. Thank you. Now I am very faintly negative because
MALLOC_ARENA_MAX=2 ruby ...
is much easier than
MALLOC_ARENA_MAX=$((`ls -1 /sys/bus/cpu/devices/|wc -l`*8...
shyouhei (Shyouhei Urabe)
01:42 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
shyouhei@ruby-lang.org wrote:
> Yes the question is, what exactly is the value of
> MALLOC_ARENA_MAX that a user should specify to let malloc
> behave as it works in 2.5 now?

(Etc.nprocessors * 8) on 64-bit, (Etc.nprocessors * 2) ...
normalperson (Eric Wong)
12:51 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
normalperson (Eric Wong) wrote:
> shyouhei@ruby-lang.org wrote:
> ...
Yes the question is, what exactly is the value of MALLOC_ARENA_MAX that a user should specify to let malloc behave as it works in 2.5 now?
shyouhei (Shyouhei Urabe)
05:20 AM Revision 7fbd8823 (git): version.c: MKSTR for fake.rb
* version.c (Init_ruby_description): fake.rb needs MKSTR to extract
constant names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:18 AM Bug #14969 (Closed): Process.groups が返す GID が重複している場合がある
Applied in changeset trunk|r64265.
----------
process.c: fix rubyspec of Process.groups
getgroups(2) may return a GID list that includes duplicated GIDs.
The behavior is totaly depends on what OS is used.
This commit fixes the example...
mrkn (Kenta Murata)
04:53 AM Bug #14969 (Assigned): Process.groups が返す GID が重複している場合がある
mrkn (Kenta Murata)
05:18 AM Revision c0d1a46f (git): process.c: fix rubyspec of Process.groups
getgroups(2) may return a GID list that includes duplicated GIDs.
The behavior is totaly depends on what OS is used.
This commit fixes the example of Process.groups so that the example
is independent of this OS-dependent features.
Addi...
Kenta Murata
05:02 AM Revision 6c70fede (git): version.c: separate Init_ruby_description
* version.c (Init_ruby_description): separate to initialize
RUBY_DESCRIPTION constant according to mjit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
04:52 AM Revision a40f12b7 (git): common.mk: merge dependencies to wait miniruby to get built
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:49 AM Revision 33791cd0 (git): enumerator.c: fix for non-integral argument for ArithmeticSequence#last
This fixes a bug of Enumerator::ArithmeticSequence#last in the case that
a non-integral argument is passed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Kenta Murata
04:33 AM Revision 3ef25ed7 (git): mjit.c: ruby_version is no longer used since r63279
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:26 AM Revision 1a836261 (git): .gdbinit: startup without shell for macOS Sierra and later
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:12 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
shyouhei@ruby-lang.org wrote:
> I guess you are reinventing libuv?
> It claims to support Windows.

I guess usa can take code from that project (MIT license)
for portability.

I'm not sure if non-blocking pipes makes much of a di...
normalperson (Eric Wong)
12:48 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
I guess you are reinventing libuv?
It claims to support Windows.
I don't say we should use it but it might be worth looking at.
shyouhei (Shyouhei Urabe)
12:53 AM Revision e7f863fd (git): * 2018-08-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:53 AM Revision a23c8414 (git): another test needs IO.select
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)

08/09/2018

06:31 PM Bug #14979: Invalid argument - ruby_setenv(SURVEY) (Errno::EINVAL)
Interesting. My Linux-environment, in ruby via ENV, has 810 entries and
I have no problem.
How did you clear the PATH variable by the way?
ENV['PATH'] = ''
?
Do you think you could do a little testing, e. g. generate
some...
shevegen (Robert A. Heiler)
01:40 PM Bug #14979 (Closed): Invalid argument - ruby_setenv(SURVEY) (Errno::EINVAL)
The error occurs with Ruby 2.5.1-2 (x64) on windows as well as with an old Ruby 1.9.3 (x86) on windows, when setting an environment variable:
ENV['SURVEY']="12345"
I am tested it on Windows 10.
The error seems to be triggere...
tvw (Thomas Volkmar Worm)
06:15 PM Feature #11076: Enumerable method count_by
`group_count`? It's half-way between `group_by` and `count` baweaver (Brandon Weaver)
07:58 AM Feature #11076: Enumerable method count_by
In today's developer meeting, Matz understood the need for the feature but didn't like the name. One point he made was that existing pairs like sort/sort_by and max/max_by share their features, so count_by() might not go well with count(). knu (Akinori MUSHA)
05:52 PM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
shyouhei@ruby-lang.org wrote:
> One question: is it possible to cancel the effect of
> M_ARENA_MAX ? Given @mame's corner case, it might be
> desirable for a user (or sysadmin) to be able to choose the
> behaviour between the propo...
normalperson (Eric Wong)
11:35 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
One question: is it possible to cancel the effect of M_ARENA_MAX ? Given @mame's corner case, it might be desirable for a user (or sysadmin) to be able to choose the behaviour between the proposed one and the status quo. shyouhei (Shyouhei Urabe)
02:30 PM Feature #14914: Add BasicObject#instance_exec_with_block
ioquatix (Samuel Williams) wrote:
> What about some kind of currying? i.e. binding the block to the block you want to instance exec.
I'm not sure what you mean, could you elaborate with example code?
jeremyevans0 (Jeremy Evans)
08:07 AM Feature #14914: Add BasicObject#instance_exec_with_block
What about some kind of currying? i.e. binding the block to the block you want to instance exec. ioquatix (Samuel Williams)
01:32 PM Revision ff57f6f6 (git): gmake.mk: fix commit dependency
* defs/gmake.mk (commit): pass CONFIGURE and fix dependency of
`reconfig` target, not to try to make config.status newer than
the source directory. and remove configure_args in common.mk,
which is a garbage argument.
git-svn-id: ...
nobu (Nobuyoshi Nakada)
01:18 PM Revision 25a5227a (git): enumerator.c: undef new and allocate of ArithmeticSequence
Undefine new and allocate methods of Enumerator::ArithmeticSequence.
[ruby-core:82816] [Feature #13904]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Kenta Murata
12:45 PM Revision ed4e38c4 (git): Don't run the spec on Solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
11:59 AM Feature #14954: Add :wait option to RubyVM::MJIT.pause
> once there is some profiling (e.g. branch profiling, type profiling, value profiling, etc)
This part didn't make sense, probably because such profiling is not introduced yet. Could you provide some example?
> ...
I can understan...
k0kubun (Takashi Kokubun)
10:12 AM Feature #14954: Add :wait option to RubyVM::MJIT.pause
Just a thought:
Pausing MJIT for benchmarks, even microbenchmarks, might have quite unintended effects once there is some profiling (e.g. branch profiling, type profiling, value profiling, etc) or if the JIT is sensitive to the calling ...
Eregon (Benoit Daloze)
09:58 AM Feature #14954 (Closed): Add :wait option to RubyVM::MJIT.pause
committed in r64250 k0kubun (Takashi Kokubun)
11:39 AM Revision 2e003f6c (git): process.c: don't wait JIT queue flush on rb_f_exec
This wasn't intended in r64253.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:31 AM Revision 212a77ed (git): process.c: fix outdated mjit_pause declaration
by sharing it with vm.c in internal.h.
vm.c: ditto
internal.h: ditto
mjit.h: share more.
mjit.c: make sure the third arguemnt is not used
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
11:27 AM Feature #14975: String#append without changing receiver's encoding
> Changing String#<< and String#concat is not acceptable.
Since the current behaviour is underspecified, I feel like we should at least consider it as an option.
Practically speaking, I don't expect the encoding to change on the re...
ioquatix (Samuel Williams)
11:25 AM Feature #14975: String#append without changing receiver's encoding
I didn't know about StringIO being an option. I will investigate it. ioquatix (Samuel Williams)
10:20 AM Feature #14975: String#append without changing receiver's encoding
Just FYI, StringIO behaves what you want.
```
irb(main):002:0> require'stringio'
=> false
irb(main):004:0> sio=StringIO.new("".b)
=> #<StringIO:0x00007faf3312cca0>
irb(main):005:0> sio << "あいう"
=> #<StringIO:0x00007faf3312cca0>
...
naruse (Yui NARUSE)
09:03 AM Feature #14975: String#append without changing receiver's encoding
The motivation sounds reasonable.
Changing `String#<<` and `String#concat` is not acceptable.
Adding `String#append` is no idea; up to matz. (maybe byte-* name is better?)
naruse (Yui NARUSE)
06:17 AM Feature #14975: String#append without changing receiver's encoding
@nobu Thanks for updating. ioquatix (Samuel Williams)
11:09 AM Bug #14974: "if" statement executes wrong branch
> occurs only when a nonsense assignment like foo = foo is used.
Could happen because of a typo or the brain-associated with the
fingers in some thought process. I made very strange mistakes
myself; most common one I still make is "...
shevegen (Robert A. Heiler)
10:48 AM Misc #10836 (Assigned): Add Documentation to Regexp
hsbt (Hiroshi SHIBATA)
10:47 AM Misc #11712 (Assigned): [PATCH] ext/openssl/ossl_ssl.c: nodoc for private methods
hsbt (Hiroshi SHIBATA)
10:46 AM Bug #12252 (Assigned): Clarify Thread exception handling documentation.
hsbt (Hiroshi SHIBATA)
10:45 AM Feature #14347 (Assigned): Explain How Symbols Differ From Strings in Symbol's Rdoc
hsbt (Hiroshi SHIBATA)
10:44 AM Feature #14377 (Rejected): Improve documentation for `OpenSSL::X509::Store#verify_callback=` and `OpenSSL::SSL::SSLContext#verify_callback=`
hsbt (Hiroshi SHIBATA)
10:44 AM Bug #14408 (Assigned): Add hash argument description for GC.stat and GC.latest_gc_info document
To. ko1
Can you confirm an attached patch?
hsbt (Hiroshi SHIBATA)
10:43 AM Bug #14483 (Assigned): Enchance Method docs
hsbt (Hiroshi SHIBATA)
10:43 AM Misc #14610 (Assigned): Enhance Proc docs
hsbt (Hiroshi SHIBATA)
10:43 AM Bug #14436 (Assigned): Enchance yield_self docs
hsbt (Hiroshi SHIBATA)
10:42 AM Bug #14450 (Assigned): Enchance MatchData docs
hsbt (Hiroshi SHIBATA)
10:00 AM Revision 33dd5d69 (git): net/http, net/ftp: skip SSL/TLS session resumption tests
Due to a bug in OpenSSL 1.1.0h[1] (it's only in this specific version;
it was introduced just before the release and is already fixed in their
stable branch), the callback set by SSLContext#session_new_cb= does not
get called for clients...
rhenium (Kazuki Yamaguchi)
09:58 AM Revision 0ecd348c (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:58 AM Revision 510cd06c (git): mjit.c: add :wait option to RubyVM::MJIT.pause
and wait until JIT queue is flushed when wait option is not passed or
`wait: true` is passed.
vm.c: ditto
test/ruby/test_rubyvm_mjit.rb: added test for pause/resume
test/lib/jit_support.rb: allow retrying MJIT on JITSupport level
test...
k0kubun (Takashi Kokubun)
09:45 AM Misc #10339 (Closed): normalize reference to Timeout::Error
hsbt (Hiroshi SHIBATA)
09:36 AM Revision 82de3b95 (git): Fix error when Encoding.default_external is Encoding::IBM437
https://ci.appveyor.com/project/ruby/ruby/build/1.0.9151#L4601
```
1) Error:
TestArgf#test_inplace_nonascii:
Encoding::UndefinedConversionError: U+3042 from UTF-8 to IBM437
```
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64249 b...
znz (Kazuhiro NISHIYAMA)
09:02 AM Revision c7ce1554 (git): test/io/console/test_io_console.rb: fix short read failures
Running with TESTS=--no-retry, I sometimes get short reads
leading to failures due to the use of IO#readpartial instead of
IO#gets.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:57 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
> Uh oh, really? I saw rb_w32_set_nonblock() has is_pipe() check
> ...
1. A pipe may be a named pipe, or an anonymous pipe :)
2. The code is not tested.
3. Microsoft says that "Note that nonblocking mode ... should not be used to achi...
usa (Usaku NAKAMURA)
08:52 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
usa@garbagecollect.jp wrote:
> BTW, Windows does not have nonblocking pipe.

Uh oh, really? I saw rb_w32_set_nonblock() has is_pipe() check
and {Get,Set}NamedPipeHandleState calls, already, so that's
something else?

> Yes, we m...
normalperson (Eric Wong)
08:30 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
BTW, Windows does not have nonblocking pipe.
Yes, we may be able to write emulation layer with overlapped I/O functions, but it's very difficult.
usa (Usaku NAKAMURA)
08:57 AM Feature #8382 (Assigned): Format OpenStruct YAML dump and create getters and setters after load.
hsbt (Hiroshi SHIBATA)
08:56 AM Bug #5418: Some properties of WEBrick::HTTPRequest could be malformed
As Rails did, webrick seems to need introduce TRUSTED_PROXIES. naruse (Yui NARUSE)
08:53 AM Bug #6773 (Rejected): "You may have encountered a bug in the Ruby interpreter or extension libraries."
Ruby 1.9.3 is EOL status. Please try with Ruby 2.4 or 2.5. hsbt (Hiroshi SHIBATA)
08:51 AM Revision 15d7adf9 (git): test/io/wait/test_io_wait_uncommon.rb (test_tty_wait): increase timeout
Apparently my tty can't keep up when I run test-all with
TESTS='-v --no-retry'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:49 AM Feature #11258 (Closed): add 'x' mode character for O_EXCL
Applied in changeset trunk|r64245.
----------
add 'x' mode character for O_EXCL
[Feature #11258]
Patch by cremno (cremno phobia)
znz (Kazuhiro NISHIYAMA)
08:49 AM Feature #14007 (Closed): open mode 'x' to raise error if file exists
Applied in changeset trunk|r64245.
----------
add 'x' mode character for O_EXCL
[Feature #11258]
Patch by cremno (cremno phobia)
znz (Kazuhiro NISHIYAMA)
08:49 AM Revision a21b9622 (git): Skip test_inplace_nonascii if external encoding is us-ascii
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
08:49 AM Revision 842b7359 (git): add 'x' mode character for O_EXCL
[Feature #11258]
Patch by cremno (cremno phobia)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
08:42 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
samuel@oriontransfer.net wrote:
> Also, do you think you can make Ruby's native timeout safe? My
> understanding is that it was a bit unpredictable. With
> `async`, the timeout will only affect IO operations, so it is
> predictable ...
normalperson (Eric Wong)
08:25 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
Also, do you think you can make Ruby's native timeout safe? My understanding is that it was a bit unpredictable. With `async`, the timeout will only affect IO operations, so it is predictable (since you already expect IO operations to fa... ioquatix (Samuel Williams)
08:04 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
I agree with everything being said here.
However, just to point out, async doesn't support per-operation timeouts right now. It only supports timeout blocks:
```ruby
timeout(5) do
# ... some IO operation that blocks, if it tak...
ioquatix (Samuel Williams)
08:41 AM Feature #5987 (Closed): IPAddr#initialize should display the invalid address when raising ArgumentError
Applied in changeset trunk|r64244.
----------
Include the input in the message when raising InvalidAddressError
[Feature #5987]
knu (Akinori MUSHA)
08:40 AM Revision 236e2993 (git): Include the input in the message when raising InvalidAddressError
[Feature #5987]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Akinori MUSHA
08:29 AM Bug #14970 (Closed): -i option doesn't work for multi-byte-char filenames on Windows Ruby2.5.1
Applied in changeset trunk|r64243.
----------
io.c: fix non-ascii filename inplace edit
* io.c (argf_next_argv): convert filename to the OS encoding to be
dealt with by system calls. [ruby-dev:50607] [Bug #14970]
nobu (Nobuyoshi Nakada)
08:29 AM Revision 14ad644d (git): io.c: fix non-ascii filename inplace edit
* io.c (argf_next_argv): convert filename to the OS encoding to be
dealt with by system calls. [ruby-dev:50607] [Bug #14970]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:22 AM Bug #5897 (Rejected): RubyからWinAPIのCreateProcessを使ったときに引数を間違えるとバグがでる
本日の開発者会議でこのチケットを議論しましたが、このAPIはFFIの薄いラッパなので、特に[BUG]を防ぐ予定はないとのことでした。 mame (Yusuke Endoh)
07:55 AM Bug #13167 (Assigned): Dir.glob is 25x slower since Ruby 2.2
h.shirosaki (Hiroshi Shirosaki)
07:50 AM Feature #14944: Support optional inherit argument for Module#method_defined?
I think this is a good idea. Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:10 AM Feature #14717 (Closed): [PATCH] thread: allow disabling preempt
ko1 (Koichi Sasada)
07:04 AM Revision 775a40f7 (git): apply r64239 to macOS too
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
07:01 AM Revision 2eea3288 (git): apply r64239 to macOS too
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
06:55 AM Feature #14973: Proposal of percent literal to expand Hash
For debugging purposes, you could have a method like this:
```ruby
class Binding
def dump(*syms)
pp syms.lazy.map { |sym| [sym, local_variable_get(sym)] }.to_h
end
end
a = 1
b = 2
binding.dump(:a, :b) # prints "{:a=>...
knu (Akinori MUSHA)
06:44 AM Feature #14877 (Rejected): Calculate age in Date class
I don't think the calculation of age from the birthday is not a responsibility of `Date` class.
There may be a chance for the method for more generic duration calculation of dates/times.
Matz.
matz (Yukihiro Matsumoto)
06:42 AM Misc #14921: DevelopersMeeting20180809Japan
- [Feature #14914] Add BasicObject#instance_exec_with_block aycabta (aycabta .)
06:13 AM Misc #14921: DevelopersMeeting20180809Japan
One more issue which would be awesome to get some input on would be https://bugs.ruby-lang.org/issues/14975 if you have time. Thanks!
[Feature #14975] String#append without changing receiver's encoding (ioquatix)
ioquatix (Samuel Williams)
05:05 AM Misc #14921: DevelopersMeeting20180809Japan
[Misc #14907] io.c: do not close inherited FDs by default akr (Akira Tanaka)
06:31 AM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
We discuss this issue at today's meeting.
We agree we can challenge to change the default.
Then, we can see actual problem (FD leak) exist or not.
akr (Akira Tanaka)
06:13 AM Feature #14887 (Closed): Array#delete_if does not use #delete
matz (Yukihiro Matsumoto)
06:13 AM Feature #14887: Array#delete_if does not use #delete
It is intentional optimization for time & space. Besides that a subclass of Array (or String) is generally not a good idea.
Matz.
matz (Yukihiro Matsumoto)
05:28 AM Revision d98e37ce (git): Don't run specs on Solaris
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
04:06 AM Feature #14916: Proposal to add Array#===
Like I just mentioned in https://bugs.ruby-lang.org/issues/14869#note-13, would you consider changing this to run the explicit `#to_a` converter as well as (or instead of) the implicit `#to_ary`? This would make the matching even more fl... timriley (Tim Riley)
02:23 AM Feature #14916: Proposal to add Array#===
> I believe this would, while taking a minor speed hit, give much greater flexibility and duck-typing compatibility to this feature.
OK, support call `to_ary`.
osyo (manga osyo)
04:03 AM Feature #14869: Proposal to add Hash#===
This is looking like a really positive improvement, thank you!
Would you consider taking this one step further and supporting the explicit converter, `#to_h` instead of (or as well as, if required) the implicit `#to_hash` converter? T...
timriley (Tim Riley)
02:09 AM Feature #14869: Proposal to add Hash#===
> Much like the suggestion in the Array topic, would it be a good idea to leverage to_hash? In Ruby this means that an object behaves like a hash, allowing us duck-typing and more flexibility.
Support call `to_hash`.
```ruby
o = O...
osyo (manga osyo)
03:52 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> Btw, using POSIX timers is a solution for this; because
> timer_settime(2) is async-signal safe and I can call it
> from signal handlers.
>
> (pthreads platforms w/o POSIX timers can use emulation via
> extra thread)

Done:
...
normalperson (Eric Wong)
03:32 AM Revision ab8791d7 (git): spec/ruby/library/socket/*: more FreeBSD fixes
FreeBSD portability notes:
Loopback connections are not instantaneous (unlike Linux), so
non-blocking read-after-write MUST check for readability via
IO.select or IO#wait_readable before attempting non-blocking
recv/read operations.
IP...
Eric Wong
02:14 AM Revision 52102f6f (git): test/lib/leakchecker.rb (find_tempfiles): don't warn for missing files
Quiet a false-positive warning from TestHtgroup#test_htgroup
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
 

Also available in: Atom