Project

General

Profile

Activity

From 08/06/2018 to 08/12/2018

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

08/08/2018

08:51 PM Feature #14869: Proposal to add Hash#===
I had mentioned this in the `Array#===` topic for consideration: https://bugs.ruby-lang.org/issues/14916#note-6
In the comparison, we are returning false if the other value is not a Hash:
(line 4011)
```ruby
if (!RB_TYPE_P(hash2,...
baweaver (Brandon Weaver)
08:46 PM Feature #14916: Proposal to add Array#===
I've noticed that this will always return false if the other value is not an array:
(line 4011 of patch)
```ruby
if (!RB_TYPE_P(ary2, T_ARRAY)) return Qfalse;
```
Have we considered potentially checking if the object responds to...
baweaver (Brandon Weaver)
01:21 PM Feature #14916: Proposal to add Array#===
> I think there is a potential incompatibility here, due to changing the behavior of #===.
> ...
こちらですが、互換性を壊さないように `===` だけではなくて `==` でも比較するようにし、いずれかの比較演算子の結果が真であれば `true` を返すように変更してみました。
```ruby
String === String
# => false
[Str...
osyo (manga osyo)
08:23 PM Feature #14975: String#append without changing receiver's encoding
I think this should be filed under Feature simply because it may change
existing functionality.
shevegen (Robert A. Heiler)
03:35 AM Feature #14975: String#append without changing receiver's encoding
One other option would be to add `String#append` which preserves encoding. ioquatix (Samuel Williams)
03:15 AM Feature #14975 (Rejected): String#append without changing receiver's encoding
I'm not sure where this fits in, but in order to avoid garbage and superfluous function calls, is it possible that `String#<<`, `String#concat` or the (proposed) `String#append` can avoid changing the encoding of the receiver?
Right n...
ioquatix (Samuel Williams)
06:37 PM Feature #6284: Add composition for procs
matz (Yukihiro Matsumoto) wrote:
> We need more discussion if we would add combination methods to the `Symbol` class.
> ...
A little sugar on Symbol does look really nice: https://gist.github.com/havenwood/d305b42f5b542e9de1eaa8e56ba6b...
shan (Shannon Skipper)
03:36 PM Revision 86f6fa45 (git): * 2018-08-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:36 PM Revision a6cb8552 (git): needs openssl/opensslv.h
* ext/openssl/extconf.rb: LIBRESSL_VERSION_NUMBER is defined in
openssl/opensslv.h. fix up r64101.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:34 PM Revision 8778e926 (git): fix mjit_min_header for universal binary
* common.mk: rules using MJIT_HEADER_SUFFIX, which to be overriden
in defs/universal.mk, must be in common.mk, not Makefile.in.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:28 PM Feature #14426 (Closed): [PATCH] openssl: reduce memory allocation in OpenSSL::Buffering#do_write
The patch is now in ruby/openssl (upstream)'s master branch and Ruby trunk.
For the record, the GitHub Pull Requests are:
https://github.com/ruby/ruby/pull/1924
https://github.com/ruby/openssl/pull/212
rhenium (Kazuki Yamaguchi)
02:13 PM Revision 1dfc377a (git): net/http, net/ftp: fix session resumption with TLS 1.3
When TLS 1.3 is in use, the session ticket may not have been sent yet
even though a handshake has finished. Also, the ticket could change if
multiple session ticket messages are sent by the server. Use
SSLContext#session_new_cb instead o...
rhenium (Kazuki Yamaguchi)
02:13 PM Revision a0f292bb (git): openssl: sync with upstream repository
Sync with the current tip of master branch, 62436385306c of
ruby/openssl.git. Changes can be found at:
https://github.com/ruby/openssl/compare/v2.1.1...62436385306c
--------------------------------------------------------------...
rhenium (Kazuki Yamaguchi)
01:50 PM Revision 4b13656e (git): fix MSG_OOB spec
* OOBINLINE should be set for accepted socket
* When OOBINLINE is set, MSG_OOB shouldn't be passed to recv
Merge spec/ruby's commit 5b418374f8006318434ee9a2366382d004f585df
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64232 b2dd03...
naruse (Yui NARUSE)
01:45 PM Misc #14921: DevelopersMeeting20180809Japan
- [Feature #14973] Proposal of percent literal to expand Hash
aycabta (aycabta .)
01:44 PM Revision e0cece9d (git): Add colon to avoid chkbuild's alert
https://github.com/ruby/chkbuild/blob/c0448670a9a5cb85f283bc639806ba09b294557f/chkbuild/ruby.rb#L847
Merge ruby/spec's commit 5a6ac7dbef3d59fe279303bf3346d92f1e620f12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64231 b2dd03c8-39d...
naruse (Yui NARUSE)
12:48 PM Revision 4078be54 (git): rename several internal macros in time.c
TIME_UTC_P -> TZMODE_UTC_P
TIME_SET_UTC -> TZMODE_SET_UTC
TIME_LOCALTIME_P -> TZMODE_LOCALTIME_P
TIME_SET_LOCALTIME -> TZMODE_SET_LOCALTIME
TIME_FIXOFF_P -> TZMODE_FIXOFF_P
TIME_SET_FIXOFF -> TZMODE_SET_FIXOFF
TIME_COPY_GMT -> TZMODE_COP...
akr (Akira Tanaka)
11:50 AM Revision 0f904ff1 (git): Update comment of tzmode [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
11:22 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
[snipping some bits, because I can only speak to what I know]

On Wed, 8 Aug 2018 at 18:50, Eric Wong <normalperson@yhbt.net> wrote:
>
> samuel@oriontransfer.net wrote:
>
> > In particular, when handling HTTP/2 with multiple strea...
phluid61 (Matthew Kerwin)
08:53 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
samuel@oriontransfer.net wrote:
> I've been playing around with my gem async and I've come to
> the conclusion that it is a great way to do IO, but it does
> have some cases that need to be considered carefully.

Right.

> In par...
normalperson (Eric Wong)
01:21 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
Eric that is a great update.
I've been playing around with my gem async and I've come to the conclusion that it is a great way to do IO, but it does have some cases that need to be considered carefully.
In particular, when handling...
ioquatix (Samuel Williams)
10:39 AM Revision b81a3326 (git): Rename gmt field to tzmode in struct time_object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e akr (Akira Tanaka)
10:00 AM Revision 277cedb8 (git): Store String as zone in struct vtm.
This removes zone_table and use fstring instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
akr (Akira Tanaka)
09:33 AM Bug #14945: [PATCH] thread.c (blocking_region_end): clear ubf before unregister_ubf_list
ko1@atdot.net wrote:
> ko1 (Koichi Sasada) wrote:
> > One off topic question. `list_empty()` is thread-safe?
>
> Sorry it should be safe (I misread as other operation. sorry).

Right, good question, though... for register_ubf_li...
normalperson (Eric Wong)
05:53 AM Bug #14945: [PATCH] thread.c (blocking_region_end): clear ubf before unregister_ubf_list
ko1 (Koichi Sasada) wrote:
> One off topic question. `list_empty()` is thread-safe?
Sorry it should be safe (I misread as other operation. sorry).
ko1 (Koichi Sasada)
05:51 AM Bug #14945: [PATCH] thread.c (blocking_region_end): clear ubf before unregister_ubf_list
:+1:
One off topic question. `list_empty()` is thread-safe?
ko1 (Koichi Sasada)
08:37 AM Bug #14976 (Closed): /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]
[root@sh_02 fluentd]# fluentd -c /alidata/install/fluentd/conf/datahub.conf
2018-08-08 16:31:29 +0800 [info]: parsing config file is succeeded path="/alidata/install/fluentd/conf/datahub.conf"
2018-08-08 16:31:35 +0800 [warn]: 'pos_fil...
booboowei (booboo wei)
08:04 AM Feature #14717: [PATCH] thread: allow disabling preempt
ko1@atdot.net wrote:
> I don't think it is good idea to support
> `Thread#preemptible=false` because someone can misuse this
> feature as "locking" like `Thread.exclusive` on Ruby 1.8 (this
> method prevented thread switching. From ...
normalperson (Eric Wong)
05:39 AM Feature #14717: [PATCH] thread: allow disabling preempt
# The following is the fact I want to clear
(fix me if my understanding is wrong)
I believe this proposal is equals to auto-fiber from user perspective except "how to create" and implementation.
The created concurrent entity (CE...
ko1 (Koichi Sasada)
08:00 AM Revision 60012d13 (git): Some environments do not have IPv6 address of localhost in /etc/hosts
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
07:52 AM Misc #14962: [PATCH] thread_pthread: stop trying to deal with cancellation
ko1@atdot.net wrote:
> I don't know about these deleted code. Who introduced?

Looks like akr did, but no reasoning was given (r47437, commit
42becbddc24ed347d67e479cccfabcc3404b24ae ) (2014-09-06))

I thought it was there longer ...
normalperson (Eric Wong)
06:35 AM Misc #14962: [PATCH] thread_pthread: stop trying to deal with cancellation
I don't know about these deleted code. Who introduced?
ko1 (Koichi Sasada)
07:26 AM Revision 953b7a20 (git): mjit.c: remove old comment about WNOHANG and SIGCHLD [ci skip]
[Bug #14867] implemented exactly what was needed (for POSIX
platforms, at least).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
06:31 AM Bug #14898: test/lib/test/unit/parallel.rb: TestSocket#test_timestamp stuck sometimes
> Oh, different test, that is test_timestampns getting stuck.
sorry.
> ...
No. It raw Linux machine.
ko1 (Koichi Sasada)
06:27 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
> The question then becomes: What happens when Guilds land?
I have an optimistic opinion.
If transient heap successes, there are no big issue on it.
(too optimistic? :p)
ko1 (Koichi Sasada)
06:10 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
sam.saffron (Sam Saffron) wrote:
> Koichi / Nobu
> ...
We are not maintainers for both versions, but I think we shouldn't backport it because we can change this parameter by an environment variable.
ko1 (Koichi Sasada)
06:07 AM Feature #14955: [PATCH] gc.c: use MADV_FREE to release most of the heap page body
off-topic `:p`:
If we have a lightweight communication channel between user-process and OS, we can choose this technique harder.
https://www.azul.com/files/c4_paper_acm2.pdf propose to add sharing remap table between OS and user pr...
ko1 (Koichi Sasada)
03:10 AM Bug #13407: We have recv_nonblock but not send_nonblock... can we add it?
We can close this issue, as there exists a satisfactory alternative. ioquatix (Samuel Williams)
03:08 AM Misc #10783: String#concat has an "appending" behavior
I also agree that this is confusing, and the only way to fix it would really be to rename `concat` to `append`. There is a proposal for something like this here: https://bugs.ruby-lang.org/issues/14033 ioquatix (Samuel Williams)
03:01 AM Feature #14033: Add String#append
I would like to propose to extend this method to be binary safe.
If the destination string uses `Encoding::BINARY`, the append operation should be a memcpy which doesn't affect the receiver's encoding.
ioquatix (Samuel Williams)
02:56 AM Revision ca5c3f1e (git): skip hanging-up tests on macOS
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:16 AM Revision 3b8b6688 (git): spec/ruby/library/socket/*: fix hanging on FreeBSD 11.1
There are still other test failures which need fixing on FreeBSD.
Keep an eye on:
http://rubyci.s3.amazonaws.com/freebsd11zfs/ruby-trunk/recent.html
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64223 b2dd03c8-39d4-4d8f-98ff-823f...
Eric Wong

08/07/2018

11:04 PM Bug #14974: "if" statement executes wrong branch
jeremyevans0 (Jeremy Evans) wrote:
> This appears to be a duplicate of #14897.
Yes, it is already fixed in trunk. Please wait for the next release. Anyway, thank you for the report!
OT: I'm surprised that multiple persons encoun...
mame (Yusuke Endoh)
06:44 PM Bug #14974 (Closed): "if" statement executes wrong branch
This appears to be a duplicate of #14897. jeremyevans0 (Jeremy Evans)
06:32 PM Bug #14974 (Closed): "if" statement executes wrong branch
I've stumbled over a rather weird bug where Ruby 2.5+ executes an `else` branch of a condition when it should not. The best minimal example I could come up with is this:
~~~
def broken
foo = 1
if is_true or is_false
foo = ...
kratob (Tobias Kraze)
07:22 PM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> > or I will have to revert and reintroduce timer-thread :<
>
> reverted for now :< r64203

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.

...
normalperson (Eric Wong)
05:08 PM Feature #14967: Any type
I do not have any particular opinion about "Any Type" as of yet,
neither pro or con, but just as to what Mr. Beaver wrote here:
"[...] If we choose to pursue pattern matching [Feature #14912]
further, I believe a wildcard type would...
shevegen (Robert A. Heiler)
04:49 PM Revision 29ccaf6e (git): appveyor.yml: make sure MJIT is tested on AppVeyor
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
04:27 PM Revision 10bccf34 (git): mjit.c: initial support for mswin MJIT
By this commit's changes in other files, now MJIT started to work on VC++.
Unfortunately some features are still broken and they'll be fixed later.
This also suppresses cl.exe's default output to stdout because there
seems to be no opti...
k0kubun (Takashi Kokubun)
04:07 PM Feature #14973: Proposal of percent literal to expand Hash
I can not read japanese but I believe I can understand part of this
proposal (the ruby code examples).
If I understood the examples correctly then one part of the proposal
is to add support for:
%h( )
(Possibly meaning t...
shevegen (Robert A. Heiler)
03:12 PM Feature #14973 (Closed): Proposal of percent literal to expand Hash
## 概要
変数名から `{ 変数名: 変数の値 }` という Hash を定義するための %記法の提案です。
以前からちょくちょく[提案されていた](https://bugs.ruby-lang.org/issues/14579)
```ruby
x = 1
y = 2
h = {x:, y:}
p h #=> {:x=>1, :y=>2}
```
のような ES6 ライクな構文を `{}` 構文ではなくて %記法で定義するものになります...
osyo (manga osyo)
03:14 PM Revision 7fef5883 (git): * 2018-08-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:14 PM Revision 8430d0d1 (git): win32/Makefile.sub: escape `=` in MJIT cflags
Since `=` is considered as delimiter in `()` of `for`, having
`-DRUBY_DEVEL=1` in CPPFLAGS had resulted in:
#define MJIT_OPTFLAGS "-DMJIT_HEADER", \
"-DRUBY_DEVEL", \
"1", \
Even escaped `for %I in (... -DRUBY_DEVEL^=1)` does no...
k0kubun (Takashi Kokubun)
01:08 PM Revision dfd6787f (git): Silence Net::HTTP warning in test.
https://github.com/ruby/webrick/pull/8
Co-authored-by: Espartaco Palma <>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:56 PM Bug #14866 (Closed): [PATCH] add missing test for WEBrick::HTTPAuth::Htgroup
Applied in changeset trunk|r64216.
----------
Add missing test for WEBrick::HTTPAuth::Htgroup.
[Bug #14866][ruby-core:87602]
https://github.com/ruby/webrick/pull/10
Co-authored-by: TSUYUSATO Kitsune <make.just.on@gmail.com>
hsbt (Hiroshi SHIBATA)
12:56 PM Revision 68fac148 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:56 PM Revision 5a99a740 (git): Add missing test for WEBrick::HTTPAuth::Htgroup.
[Bug #14866][ruby-core:87602]
https://github.com/ruby/webrick/pull/10
Co-authored-by: TSUYUSATO Kitsune <make.just.on@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:47 PM Revision 1380aa04 (git): Support old versions of Ruby with FrozenError.
They should work separatedly from Ruby core repository.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:32 PM Revision d59fc41f (git): Fallback to load version constant for ruby core repository.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
12:30 PM Bug #14964: [MJIT] missing builtin methods
ok, I attached full build logs and my env vars.
output_witharch_81.txt - ```--with-arch-64='barcelona'``` or ```ARCH_FLAG='barcelona'```
(gcc bug?)
```
during RTL pass: final
../ruby_2_6/array.c: In function 'sort_by_i':
../ruby_...
ahorek (Pavel Rosický)
12:02 PM Revision 7d9109f8 (git): Removed needless date attribute from gemspec of default gems.
They are assigned automatically when pushing gem file to rubygems.org.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:00 PM Revision 2ce807e8 (git): Remove unnecessary assignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
11:36 AM Revision 325d378a (git): Removed needless file from gemspec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
11:18 AM Revision 9e5cd30b (git): Add support of Berkeley DB 6.x.
https://github.com/ruby/dbm/pull/3
Co-authored-by: Yasuhiro KIMURA <>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
09:52 AM Revision 83bdae19 (git): Add test for coverage.
https://github.com/ruby/cmath/pull/2
Co-authored-by: MATSUBARA Nobutada
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
07:20 AM Bug #14972 (Closed): Net::HTTP inconsistently raises EOFError when peer closes the connection
If chunked transfer encoding is used, and the peer closes the connection while the caller is reading data, then the `Net::HTTP::Response#read_body` method will raise `EOFError`. If chunked transfer encoding is not used (and an explicit `... joshc (Josh C)
07:12 AM Bug #14971 (Closed): error: implicit declaration of function ‘rb_vm_call0
I get the errors below when making `make up install-nodoc`.
I'm not at v64208.
```
compiling vm.c
In file included from vm_insnhelper.c:1570:0,
from vm.c:310:
vm_args.c: In function ‘vm_to_proc’:
vm_args.c:813:1...
duerst (Martin Dürst)
04:12 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
Greg.mpls@gmail.com wrote:
> All of the test-all failures show something similar to:
> ```
> [Errno::ENOENT] exception expected, not.
> Class: <Errno::EBADF>
> ```

Thanks Greg. The following patch (on top of my previous one) mi...
normalperson (Eric Wong)
02:44 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
@normalperson Eric,
The zip of all the logs is at
https://ci.appveyor.com/api/buildjobs/pwyhyvkao2nssxy1/artifacts/zlogs_trunk_2018-08-07_64208.7z
All of the test-all failures show something similar to:
```
[Errno::ENOENT] exc...
MSP-Greg (Greg L)
01:47 AM Bug #14969: Process.groups が返す GID が重複している場合がある
(シェルスクリプトの uniq と違って) ruby の uniq は sort 済みかどうかに依存していないので、 `.sort.uniq` よりも `.uniq.sort` の方が良いと思います。 znz (Kazuhiro NISHIYAMA)
01:17 AM Revision e9b63a84 (git): * 2018-08-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:17 AM Revision 20c1e4a7 (git): win32/Makefile.sub: remove RUBY_EXPORT macro
defined in XCFLAGS.
This change resolves following link errors in MJIT:
```
rb_mjit_header-2.6.0.obj : error LNK2001: unresolved external symbol rb_cObject
rb_mjit_header-2.6.0.obj : error LNK2001: unresolved external symbol rb_cFalseC...
k0kubun (Takashi Kokubun)

08/06/2018

11:54 PM Bug #14964: [MJIT] missing builtin methods
> ARCH_FLAG="-march=barcelona" works, but it isn't propagated to CFLAGS, so it doesn't have the desired effect. I think setting CFLAGS directly shouln't be a problem.
> ...
See also: https://github.com/ruby/ruby/blob/24daf1400b5336eb22c...
k0kubun (Takashi Kokubun)
11:00 PM Bug #14964: [MJIT] missing builtin methods
ARCH_FLAG="-march=barcelona" works, but it isn't propagated to CFLAGS, so it doesn't have the desired effect. I think setting CFLAGS directly shouln't be a problem.
It looks like it doesn't work only on MSYS1. I did the same on Linux ...
ahorek (Pavel Rosický)
11:42 PM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
Greg.mpls@gmail.com wrote:
> The build log is at
> https://ci.appveyor.com/api/buildjobs/d0s8pbatmb7ax667/log
>
> I can attach it if that would be helpful. Thanks, Greg

Thanks, seeing the "ASYNC BUG" and EACCESS was enough.
I ...
normalperson (Eric Wong)
10:04 PM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
@normalperson
The patch was fine, but the Appveyor build stopped.
Earlier, r64206 built fine, and I added the patch, which also built on that.
The build log is at
https://ci.appveyor.com/api/buildjobs/d0s8pbatmb7ax667/log
I ...
MSP-Greg (Greg L)
09:22 PM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
> > https://bugs.ruby-lang.org/issues/14968
>
> Updated patch on top of r64203 since I restored timer-thread :<
>
> https://80x24.org/spew/20180806053511.2421-1-e@80x24.org/raw

Greg, btw, does the above patch work on Windows?...
normalperson (Eric Wong)
05:42 AM Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
> Bug #14968: [PATCH] io.c: make all pipes nonblocking by default
> https://bugs.ruby-lang.org/issues/14968

Updated patch on top of r64203 since I restored timer-thread :<

https://80x24.org/spew/20180806053511.2421-1-e@80x24.org/raw
normalperson (Eric Wong)
04:46 AM Bug #14968 (Closed): [PATCH] io.c: make all pipes nonblocking by default
Crap, I always planned to have something like this for [Feature #13618]
(auto-Fiber); but introducing a race condition for Timer-thread
elimination in [Misc #14937] forced me to introduce this early.
Anyways, I might have to revert ...
normalperson (Eric Wong)
07:13 PM Misc #14907: [PATCH] io.c: do not close inherited FDs by default
Updated patch to default close_others to false
normalperson (Eric Wong)
06:27 PM Feature #14938: Provide API to get same result as ruby -wc
> This warning dispatches on_arg_ambiguous method.
> ...
How can I find the list of all events for warning and compile error?
When should I use compile_error?
https://docs.ruby-lang.org/en/2.5.0/Ripper.html#method-i-compile_error
...
mtsmfm (Fumiaki Matsushima)
03:50 PM Bug #14966: 2.5 branch - Appveyor failures - backport missed line
My fork passed on Appveyor:
https://ci.appveyor.com/project/MSP-Greg/ruby/build/7#L4336
MSP-Greg (Greg L)
02:42 PM Misc #14921: DevelopersMeeting20180809Japan
* [Feature #14944] Support optional inherit argument for Module#method_defined? jeremyevans0 (Jeremy Evans)
05:03 AM Misc #14921: DevelopersMeeting20180809Japan
* [Bug #14968] io.c: make all pipes nonblocking by default

* [Misc #14937] timer-thread elimination depends on [Bug #14968]
normalperson (Eric Wong)
03:11 AM Misc #14921: DevelopersMeeting20180809Japan
[Feature #14967] Any type - Adds a wildcard type, primarily for use in Pattern Matching type syntaxes
This would be related to, and give more expressive power to the following features:
[Feature #14869] Proposal to add Hash#=== (no...
baweaver (Brandon Weaver)
02:32 PM Feature #14916: Proposal to add Array#===
I think there is a potential incompatibility here, due to changing the behavior of #===.
The fact `Module#===` doesn't return true for mod === mod exacerbates the issue.
For instance,
~~~ ruby
v = [String, 42]
case v
when [Stri...
Eregon (Benoit Daloze)
12:46 PM Bug #14970 (Closed): -i option doesn't work for multi-byte-char filenames on Windows Ruby2.5.1
Z:\>touch あ
Z:\>ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [i386-mingw32]
Z:\>ruby -i.bak -pe p あ
-e:1: warning: Can't rename あ to あ.bak: No such file or directory, skipping file
Z:\>d:\Ruby24\bin\ruby.exe -v
ruby 2.4.1p111 ...
tksotn (TAKASHI OOTANI)
09:08 AM Feature #13904 (Closed): getter for original information of Enumerator
Applied in changeset trunk|r64205.
----------
enumerator.c: Introduce Enumerator::ArithmeticSequence
This commit introduces new core class Enumerator::ArithmeticSequence.
Enumerator::ArithmeticSequence is a subclass of Enumerator, and
...
mrkn (Kenta Murata)
09:08 AM Revision 24daf140 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:08 AM Revision f1506933 (git): enumerator.c: Introduce Enumerator::ArithmeticSequence
This commit introduces new core class Enumerator::ArithmeticSequence.
Enumerator::ArithmeticSequence is a subclass of Enumerator, and
represents a number generator of an arithmetic sequence.
After this commit, Numeric#step and Range#ste...
Kenta Murata
08:42 AM Revision 1777e39c (git): test/ripper/test_parser_events.rb (test_block_variables): increase RLIMIT_AS
Unfortunately, MJIT goes over the 100M RLIMIT_AS for this test
on x86-64 (Debian 9)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:11 AM Bug #14969: Process.groups が返す GID が重複している場合がある
つまり、
・specを直すに賛成である
・ただ、API docで Process.groups.sort.uniq がふつうの使い方みたいに教えてあげるのが親切と思う
の2つが意見です
kosaki (Motohiro KOSAKI)
08:08 AM Bug #14969: Process.groups が返す GID が重複している場合がある
Process.groupsが
・結果が昇順にソートされている保証はない(OS依存)
・Effective gidが入っているかどうかはOS依存
・重複するIDはそのままarrayに入っていることもあれば、重複が取り除かれていることもある(OS依存)
というあたりは、ドキュメントに記載してもいいのではないかと思いました
kosaki (Motohiro KOSAKI)
08:03 AM Bug #14969: Process.groups が返す GID が重複している場合がある
Process.groupsはgetgroups(2)のラッパってことで、重複を省くなどの余計なことはしない、に一票です。
idコマンドの結果を期待値にしているspecの方にそもそも無理を感じます。なので、specの方をいじる、でよいのではないでしょうか。
mame (Yusuke Endoh)
07:53 AM Bug #14969 (Closed): Process.groups が返す GID が重複している場合がある
Ubuntu 16.04 から 18.04 にアップグレードした環境で以下の ruby spec が失敗することに気づきました。
```
1)
Process.groups gets an Array of the gids of groups in the supplemental group access list FAILED
Expected [4, 24, 27, 30, 46, 110, 114, 120, 120, 121]
to equal...
mrkn (Kenta Murata)
05:32 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> > http://ci.rvm.jp/results/trunk@P895/1173951

> or I will have to revert and reintroduce timer-thread :<

reverted for now :< r64203

> /me resumes beating his head against the wall...
normalperson (Eric Wong)
04:52 AM Misc #14937: [PATCH] thread_pthread: lazy-spawn timer-thread only on contention
> http://ci.rvm.jp/results/trunk@P895/1173951

Damnit, this is because IO#gets on blocking pipes doesn't
hit rb_wait_for_single_fd and thus never gets to check
sigwait_fd (self-pipe)

Anyways, I hope it is acceptable to make all...
normalperson (Eric Wong)
05:22 AM Revision 194a6a2c (git): thread_pthread.c: restore timer-thread for now :<
[ruby-core:88306]
Revert "process.c: ensure th->interrupt lock is held when migrating"
This reverts commit 5ca416bdf6b6785cb20f139c2c514eda005fe42f (r64201)
Revert "process.c (rb_waitpid): reduce sigwait_fd bouncing"
This reverts com...
Eric Wong
05:01 AM Revision 82815870 (git): Ignore native extension of Date library when syncing gemification files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
03:09 AM Feature #14967 (Open): Any type
In Scala, there's the concept of an Any type which can be used to match anything.
The implementation of which is quite simple: https://github.com/baweaver/any
```ruby
class Any
class << self
def ===(b)
true
end...
baweaver (Brandon Weaver)
01:06 AM Revision 5ca416bd (git): process.c: ensure th->interrupt lock is held when migrating
w->cond may be changed without our knowledge in waitpid_nogvl
without th->interrupt_lock
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
 

Also available in: Atom