Project

General

Profile

Activity

From 05/28/2018 to 06/03/2018

06/03/2018

11:47 PM Feature #14819: Efficient cstring to RVALUE typecasting for c extension gems
IPAddr and Date are stdlib, not core, so I don't think a C-API (rb_cstr2ipaddr, rb_cstr2date) method could be added for them unless it was part of the related extensions . Date is written in C, but IPAddr is written in ruby and doesn't h... jeremyevans0 (Jeremy Evans)
11:21 PM Feature #14819 (Open): Efficient cstring to RVALUE typecasting for c extension gems
A general pattern I notice in the PG / MySQL and other gems is a general need for a C string to RVALUE type casting.
A lot of the problem is that the libpq likes returning strings and you do not want to allocate an extra RVALUE string...
sam.saffron (Sam Saffron)
11:00 PM Bug #14817: TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters
invoke_bmethod で vm_exec が終わったあとに EXEC_EVENT_HOOK(ec, RUBY_EVENT_RETURN, ...) するため、このような挙動になっているようです。
これは仕様でしょうか。とりあえずささださんに振ります。
mame (Yusuke Endoh)
10:54 PM Bug #14817: TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters
TracePoint#parameters の問題ではなく、define_method + TracePoint 全般の問題のようです。
```
define_method(:bm) {|a|}
trace = TracePoint.new(:call, :return){|tp|
p [tp.event, tp.lineno] if tp.method_id == :bm
}
trace.enable{
bm(0)
}
```
...
mame (Yusuke Endoh)
02:47 PM Bug #14817 (Closed): TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters
define_methodしたメソッド(bmethod)のcall/returnイベント中にTracePoint#parametersを呼び出すと
以下の結果となります。
```
$ cat t.rb
define_method(:bm) {|a|}
p method_parameters: method(:bm).parameters
trace = TracePoint.new(:call, :return){|tp|
mid = tp...
ktsj (Kazuki Tsujimoto)
09:06 PM Feature #14815 (Closed): [PATCH] benchmark/driver.rb: add CPU time measurement targets
Applied in changeset trunk|r63564.
----------
benchmark/driver.rb: add CPU time measurement targets
"Real" time is too unstable on my systems, hopefully counting
only CPU time can gain more reliable benchmark results.
[ruby-core:87362...
normalperson (Eric Wong)
09:06 PM Revision b3cb6dba (git): * 2018-06-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:06 PM Revision c27a8e87 (git): benchmark/driver.rb: add CPU time measurement targets
"Real" time is too unstable on my systems, hopefully counting
only CPU time can gain more reliable benchmark results.
[ruby-core:87362] [Feature #14815]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63564 b2dd03c8-39d4-4d8f-98ff-82...
Eric Wong
07:46 PM Bug #14322: Inconsitency in command line options between 2.4 and 2.5
yeeey, +1 for not silently breaking stuff :) graywolf (Gray Wolf)
05:42 PM Bug #14322: Inconsitency in command line options between 2.4 and 2.5
graywolf (Gray Wolf) wrote:
> out of curiosity, why there was no deprecation phase for this change?
This commit on Mar 3, 2018 did deprecate it, but it says that ubygems.rb may be removed on or after Dec 1, 2018. https://github.com/r...
arpitchauhan (Arpit Chauhan)
07:23 PM Bug #14818 (Closed): [Docs] Backport r63112 to ruby 2.5
Please backport r63112 (https://github.com/ruby/ruby/commit/23228b6e3139fb33d42f6dae4ec9bdabb21e52b2) since the bug also applies to ruby-2.5 documentation. nomadium (Miguel Landaeta)
02:06 PM Bug #14816 (Closed): Extension build failure on a system with musl libc
Some extensions fail to build on a Linux with musl (Void Linux). Build of unf_ext is an example.
isinf() and isnan() are defined as macros in musl: https://git.musl-libc.org/cgit/musl/tree/include/math.h
https://github.com/gliderlabs/...
akamch (Anatoly Kamchatnov)
05:11 AM Feature #14694 (Closed): TracePoint#parameters
Applied in changeset trunk|r63562.
----------
Add TracePoint#parameters
It can be used to get the parameters' information of method and block.
There was no way to get block parameters.
It was possible but ineffective to get method para...
mame (Yusuke Endoh)
05:10 AM Revision ce7c531c (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:10 AM Revision cd0fec37 (git): Add TracePoint#parameters
It can be used to get the parameters' information of method and block.
There was no way to get block parameters.
It was possible but ineffective to get method parameters via Method
object: `tp.defined_class.method(tp.method_id).parameter...
mame (Yusuke Endoh)
02:47 AM Feature #14739: Improve fiber yield/resume performance
I've made a short blog post about this PR: https://www.codeotaku.com/journal/2018-06/improving-ruby-fibers/index ioquatix (Samuel Williams)

06/02/2018

11:31 PM Feature #14815 (Closed): [PATCH] benchmark/driver.rb: add CPU time measurement targets
benchmark/driver.rb: add CPU time measurement targets
"Real" time is too unstable on my systems, hopefully counting
only CPU time can gain more reliable benchmark results.
normalperson (Eric Wong)
11:05 PM Revision 25d18918 (git): * 2018-06-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:05 PM Revision 8ce71b61 (git): Promote Prime library to default gems.
* Its upstream is https://github.com/ruby/prime.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
10:54 PM Feature #14814 (Closed): rb_vm_insn_addr2insn: use sto to perform addr2insn mapping
The current VM_INSTRUCTION_SIZE is 198, so the linear search
becomes a bit painful.
I noticed rb_vm_insn_addr2insn2 showing up at the top of some
profiles while working on some malloc-related stuff, so I
decided to attack it.
Wi...
normalperson (Eric Wong)
02:05 PM Feature #14813 (Assigned): [PATCH] gc.c: make gc_enter+gc_exit pairs dtrace probes, too
gc.c: make gc_enter+gc_exit pairs dtrace probes, too
I would like to use these with systemtap to gather
min/max/avg/variance data for gc_*_continue functions.
I prefer to use systemtap/dtrace and not modify or load extra
Ruby cod...
normalperson (Eric Wong)
01:57 PM Revision 1dd43218 (git): Promote Logger to default gems.
* Its upstream is https://github.com/ruby/logger.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
01:55 PM Revision 46ec01cb (git): Fixed wrong variable name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
12:29 PM Misc #14812 (Closed): Question: Option Parser
Hi,
Is there an option / way to ignore undeclared options and get them in a resultset so, I can handle them in a custom way?
Example scenario: Program A redirects unsupported arguments to another Program B called from inside progra...
xz0r (xz0r xz0r)
12:17 PM Revision 8a4656c9 (git): gmake.mk: update in the source directory properly
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
08:46 AM Feature #13396: Net::HTTP has no write timeout
I just noticed that just use write_nonblock can solve this ticket:
```diff
diff --git a/lib/net/protocol.rb b/lib/net/protocol.rb
index 7ec636b384..2a806caeb6 100644
--- a/lib/net/protocol.rb
+++ b/lib/net/protocol.rb
@@ -77,6 +7...
naruse (Yui NARUSE)
08:36 AM Revision 295b1c5e (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:36 AM Revision 14e19692 (git): Added test for default gems validation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
07:50 AM Revision 7495b2d2 (git): enum.c: bignum counter
* enum.c (imemo_count_up, imemo_count_value): promote the counter
value to a bignum on overflow. [Bug #14805]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:04 AM Revision 4973f304 (git): Fixed wrong require path
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
06:02 AM Revision 0f5b6752 (git): Promote REXML to default gems.
* upstream repostiory is https://github.com/ruby/rexml
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
05:12 AM Feature #14811 (Open): Dynamically extend Ruby VM stack
We (Keita Sugiyama and me) have presented the work on dynamically extending the Ruby VM stack today at RubyKaigi 2018 in Senday,
see http://rubykaigi.org/2018/presentations/sugiyama-k.html.
This is an issue to discuss when and how to...
duerst (Martin Dürst)
04:33 AM Feature #14808 (Rejected): Last token of endless range should have EXPR_END
That code is valid syntax in both versions, and it is *not* an endless range in the trunk as well as 2.5.
As `..` is an infix operator and requires the RHS, newlines following it are just ignored.
So it equals to:
```ruby
case 5
whe...
nobu (Nobuyoshi Nakada)
01:23 AM Feature #14808 (Rejected): Last token of endless range should have EXPR_END
In 2.5.1:
```ruby
irb(main):001:0> require 'ripper'
irb(main):002:0> pp Ripper.lex("case 5\nwhen 3..\n puts(true)\nend\n")
[[[1, 0], :on_kw, "case", EXPR_BEG],
[[1, 4], :on_sp, " ", EXPR_BEG],
[[1, 5], :on_int, "5", EXPR_END|E...
aycabta (aycabta .)
04:17 AM Bug #14543: `make commit` show error of `common-srcs`
I discussed about this with nobu.
```
941:common-srcs: $(srcs_vpath)parse.c $(srcs_vpath)lex.c $(srcs_vpath)enc/trans/newline.c $(srcs_vpath)id.c \
```
nobu copied above files by his own tool before `make commit`. I requested to ...
hsbt (Hiroshi SHIBATA)
03:49 AM Bug #14810 (Closed): Segfault during travis build (Ruby trunk 63545)
I'm not sure what information would be helpful, so here's a link to the log: https://travis-ci.com/brian-kephart/rspec-rails/jobs/127220659#L2339
Please let me know if I can provide any more assistance, or present this in a more helpf...
brian-kephart (Brian Kephart)
03:30 AM Bug #14809 (Closed): calc_lineno() returns wrong location
r62051のコミット以降
```
$ cat -n t.rb
1 class String
2 def -@
3 p caller_locations(1, 1)[0]
4 end
5 end
6
7 -""
$ ruby-trunk t.rb
"t.rb:1:in `<main>'"
$ ruby-2.5 t.rb
"t.rb:7:in `...
ktsj (Kazuki Tsujimoto)
02:39 AM Revision 6bb70c11 (git): enum.c: mitigate overflows
* enum.c (enum_count): convert counters to Integer as unsigned
long, instead of long, to mitigate overflows.
[ruby-core:87348] [Bug #14805]
* enum.c (ary_inject_op): ditto.
* enum.c (each_with_index_i): ditto, instead of int.
* en...
nobu (Nobuyoshi Nakada)
01:34 AM Feature #14739: Improve fiber yield/resume performance
Here is a more realistic benchmark which fiber context switch is only a tiny percentage of the actual run-time.
A brief summary of the benchmark: `async-http` uses an event-driven stackful coroutine (fiber) based design. Each request ...
ioquatix (Samuel Williams)
01:07 AM Feature #14739: Improve fiber yield/resume performance
I fixed autoconf issues and built on Linux. The performance improvement was even more impressive.
```
koyoko% ruby --version
ruby 2.6.0dev (2018-06-01 native-fiber 63544) [x86_64-linux]
last_commit=Better support for amd64 platform...
ioquatix (Samuel Williams)
01:23 AM Bug #14387: Ruby 2.5 を Alpine Linux で実行すると比較的浅めで SystemStackError 例外になる
jnardone (joe nardone) wrote:
> it's frustrating that this is still open after four months. alpine-ruby-2.5 is borderline unusable with this still in Ruby. do we know if @ncopa is still working on this issue or not?
I wrote 0001-t...
naruse (Yui NARUSE)
01:14 AM Revision ccc52902 (git): Promote RSS library to default gems.
Its upstream was moved to https://github.com/ruby/rss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
01:02 AM Bug #14793 (Closed): Hash returned from CGI.parse has [] as default value
naruse (Yui NARUSE)
12:51 AM Bug #14805 (Closed): Enumerator#count is silently limited to int32
Applied in changeset trunk|r63549.
----------
memo->u3.cnt is long not int [Bug #14805]
naruse (Yui NARUSE)
12:51 AM Revision 9b6175b2 (git): memo->u3.cnt is long not int [Bug #14805]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)

06/01/2018

11:21 PM Feature #14739: Improve fiber yield/resume performance
I've made a new branch with the new implementation above.
It shows a slightly improved performance improvement over `libcoro`.
Here is without the PR:
```
^_^ > ./build/bin/ruby ./fiber_benchmark.rb 10000 1000
setup time for 1...
ioquatix (Samuel Williams)
10:45 PM Bug #14804: GzipReader cannot read Freebase dump (but gzcat/zless can)
(Note that `f.each_line.count` would return the wrong result anyway, due to https://bugs.ruby-lang.org/issues/14805 , since 3130753066 is outside int32 range, but it doesn't have the chance to do so, on account of stopping prematurely.) amadan (Goran Topic)
07:27 AM Bug #14804 (Closed): GzipReader cannot read Freebase dump (but gzcat/zless can)
This is likely related to https://stackoverflow.com/questions/35354951/gzipstream-quietly-fails-on-large-file-stream-ends-at-2gb (and its accepted answer).
The file in question: http://commondatastorage.googleapis.com/freebase-public/...
amadan (Goran Topic)
10:35 PM Bug #14805: Enumerator#count is silently limited to int32
It's interestingly also negative on JRuby. Headius noted in the #ruby IRC channel that [this patch](https://gist.github.com/headius/7296808402fd2fae496310cf0baa7239) would fix the issue for JRuby.
It's positive in TruffleRuby.
It's...
shan (Shannon Skipper)
09:32 AM Bug #14805: Enumerator#count is silently limited to int32
Confirmed on trunk. duerst (Martin Dürst)
07:41 AM Bug #14805 (Closed): Enumerator#count is silently limited to int32
One takes for granted that integers will be promoted into bigints in Ruby when needed.
Not so with `Enumerator#count`:
2147483647.times.count
# => 2147483647
2147483648.times.count
# => -2147483648
(notice the ...
amadan (Goran Topic)
10:23 PM Bug #14807: 2.6.0-preview2 segfaults on OpenBSD due to missing pthread_condattr_init call
normalperson (Eric Wong) wrote:
> Btw, is PTHREAD_COND_INITIALIZER supported on OpenBSD?
It's defined but I don't think it would be usable:
~~~
/usr/include/pthread.h:#define PTHREAD_COND_INITIALIZER NULL
~~~
jeremyevans0 (Jeremy Evans)
10:12 PM Bug #14807: 2.6.0-preview2 segfaults on OpenBSD due to missing pthread_condattr_init call
Thanks, r63548

Btw, is PTHREAD_COND_INITIALIZER supported on OpenBSD?

Something like this:
```
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -55,7 +55,7 @@ static struct {
#if defined(HAVE_PTHREAD_CONDATTR_SETCLOCK) && \
...
normalperson (Eric Wong)
08:51 PM Bug #14807 (Closed): 2.6.0-preview2 segfaults on OpenBSD due to missing pthread_condattr_init call
r63238 refactored thread_pthread.c, and where there was previously a pthread_condattr_init call to initialize the pthread_condattr_t value, it removed the call and passed the pthread_condattr_t* directly to pthread_condattr_setclock with... jeremyevans0 (Jeremy Evans)
09:56 PM Revision 832b601e (git): Initialize condattr_monotonic via pthread_condattr_init
Some operating systems will work without calling
pthread_condattr_init, but some won't (such as OpenBSD). Prior
to r63238, pthread_condattr_init was always called before
calling pthread_condattr_setclock.
From: Jeremy Evans <code@jeremy...
Eric Wong
09:23 PM Revision 24c6231e (git): * 2018-06-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:23 PM Revision 3eb12cb6 (git): gc.c: reduce size slightly by making MEMOP_TYPE_MALLOC zero
Most (if not all) architectures have instructions for comparing
against zero, allowing compilers to generate more compact code.
Other MEMOP_TYPE_* enum values are not compared in hot paths,
but MEMOP_TYPE_MALLOC is checked in objspace_m...
Eric Wong
01:10 PM Revision afbf10e8 (git): Added missing dependency for ast.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
09:45 AM Feature #14801: New method 'show_stack' to show Ruby stack(s) when program is running
A bit of feedback as asked by Martin; I'll skip the implementation detail part since
I do not know C so others have to comment on that part.
- The name: I think the name is ok in "itself", that is, if we see "show_stack",
we can und...
shevegen (Robert A. Heiler)
02:27 AM Feature #14801 (Open): New method 'show_stack' to show Ruby stack(s) when program is running
It would be great to have a method to show the Ruby stack(s) (there are actually two of these) while a Ruby program is running. This would help people to understand how Ruby works internally. There is functionality in Ruby already to pri... duerst (Martin Dürst)
09:29 AM Feature #14802: Update Unicode data to Unicode Version 11.0.0
All power to the emoji. \o/ shevegen (Robert A. Heiler)
05:16 AM Feature #14802 (Closed): Update Unicode data to Unicode Version 11.0.0
Unicode Version 11.0.0 will be published sometimes later this year, probably in late June. This is an issue to manage updating Ruby to Unicode 11.0.0. Details to follow. duerst (Martin Dürst)
08:26 AM Bug #14806 (Closed): Partially backport r63300: Make --with-soname actually work on macOS
r63300 was mainly about changing the default names, but also included a fix for --with-soname to take effect.
So, please partially backport r63300 to 2.3, 2.4 and 2.5 using the attached patches.
Merging this along with #14803 makes -...
knu (Akinori MUSHA)
07:22 AM Bug #14803 (Closed): Backport r63544: Fix name clash issue with --with-soname
knu (Akinori MUSHA)
07:13 AM Revision 6251615c (git): Skip colliding filenames in LIBRUBY_ALIASES
This allows user to specify any name in `--with-so-name` that might
cause a name clash with LIBRUBY_ALIASES on the platform.
Without this, for example, configuring with `--with-soname=ruby
--enable-shared` on macOS would end up running ...
Akinori MUSHA
06:53 AM Revision ce2f4f85 (git): string.c: trivial optimizations
* string.c (rb_str_aset): prefer BUILTIN_TYPE over TYPE after
SPECIAL_CONST_P check.
* string.c (rb_str_start_with): prefer RB_TYPE_P over switch by
TYPE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63543 b2dd03c8-39d4-4d8f-9...
nobu (Nobuyoshi Nakada)
06:37 AM Revision ccdcc730 (git): * 2018-06-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:37 AM Revision 87ccf7e5 (git): string.c: doc for [Feature #13712]
* string.c (rb_str_start_with): [DOC] start_with? example with
regexp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:26 AM Bug #14795: Should 'net/http' require 'net/http/status' ?
jeremyevans0 (Jeremy Evans) wrote:
> tonytonyjan (Wei-Hang Jian) wrote:
> ...
Hi Jeremy, thank you for the reference, I didn't know that thread before (It seems like there has not been a conclusion yet :(

By the way, I can see that...
tonytonyjan (Weihang Jian)
05:11 AM Bug #14795: Should 'net/http' require 'net/http/status' ?
tonytonyjan (Wei-Hang Jian) wrote:
> IMHO, I would suggest use `Kernel::autoload`, thus we don't need to type `net/http/status` when we want it, and they will never be loaded into memory until we try to access the constant `STATUS_CODES...
jeremyevans0 (Jeremy Evans)
04:57 AM Bug #14795: Should 'net/http' require 'net/http/status' ?
IMHO, I would suggest use `Kernel::autoload`, thus we don't need to type `net/http/status` when we want it, and they will never be loaded into memory until we try to access the constant `STATUS_CODES`. Isn't it win-win? tonytonyjan (Weihang Jian)
03:14 AM Bug #14795: Should 'net/http' require 'net/http/status' ?
net/http itself doesn't need net/http/status.
Therefore at this time it's intentional.
Though I may change it if there's a reasonable use case to require it.
naruse (Yui NARUSE)
06:03 AM Bug #14793: Hash returned from CGI.parse has [] as default value
FYI: https://github.com/ruby/ruby/blob/fef8339f582b125e1fec5f3d47adbb48f7cede92/lib/cgi/core.rb#L393 tonytonyjan (Weihang Jian)
03:10 AM Bug #14015: Enumerable & Hash yielding arity
Here's more code to show how the situation is complicated.
I don't know which of these can be considered bugs and which are as per spec.
The method `check` below checks if a method accepting one argument (`one`) or two arguments (`two`...
marcandre (Marc-Andre Lafortune)
03:00 AM Feature #14217: Expose RUBY_PATCHLEVEL_STR or similar with patch level info for rc/preview as a constant
Could you elaborate how you want to use it? nobu (Nobuyoshi Nakada)
12:06 AM Bug #14789 (Third Party's Issue): Debian 9, ARM, rails 5.2.0 not works.
Tivgres (Sergey D) wrote:
> Yeah, with disabled gem it's worked.
> ...
Thanks for the report anyways!
shyouhei (Shyouhei Urabe)

05/31/2018

11:17 PM Feature #14594: Rethink yield_self's name
Right. I am not against the idea of function composition. But it should be discussed separately from `yield_self` and `then`. Remember I rejected #13600 but not #6284.
Matz.
matz (Yukihiro Matsumoto)
11:08 PM Feature #14594: Rethink yield_self's name
matz (Yukihiro Matsumoto) wrote:
> If you really wanted a non-unwrapping method for promises, use `yield_self`.
If I understand what you mean by "unwrapping" here, the new method still doesn't `call` yielded procs to make them compos...
avit (Andrew Vit)
04:50 PM Feature #14594: Rethink yield_self's name
@jrochkind It is introduced that a normal object can behave like promises.
So the name conflict is intentional.
If you really wanted a non-unwrapping method for promises, use `yield_self`.
Matz.
matz (Yukihiro Matsumoto)
01:01 PM Feature #14594: Rethink yield_self's name
I'm concerned that `then` is used in Promises, and is already in use in many promise-implementing libraries, including [concurrent-ruby](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promise.html).
The Promise librarie...
jrochkind (jonathan rochkind)
05:02 PM Bug #14789 (Closed): Debian 9, ARM, rails 5.2.0 not works.
Tivgres (Sergey D)
05:01 PM Bug #14789: Debian 9, ARM, rails 5.2.0 not works.
shyouhei (Shyouhei Urabe) wrote:
> > /home/tivgres/.rvm/gems/ruby-2.4.1/gems/bootsnap-1.3.0/lib/bootsnap/compile_cache/iseq.rb:18: [BUG] Bus Error at 0x2b7dff9
> ...
Yeah, with disabled gem it's worked.
Thanks for a help. Troubles not...
Tivgres (Sergey D)
04:48 PM Feature #14217: Expose RUBY_PATCHLEVEL_STR or similar with patch level info for rc/preview as a constant
Is it possible to get any updates on this approach? :) shayonj (Shayon Mukherjee)
02:32 PM Feature #14800 (Open): Zlib::GzipReader#read does not support 2nd argument
`Zlib::GzipReader#read` does not support 2nd argument for output buffer.
It is not same as `IO#read` and `StringIO#read`.
It is useful for duck typing to copy both plain files and gzipped files.
See also
* https://docs.ruby-lang...
okkez (okkez _)
01:01 PM Feature #14799: Startless range
Rails devs could also make use of this, e.g. in [queries](http://guides.rubyonrails.org/active_record_querying.html#range-conditions). janosch-x (Janosch Müller)
11:39 AM Feature #14799 (Assigned): Startless range
I tried begin-less range once, and it caused many parser conflicts, so I gave up.
However, I've tried it again and created a patch with no conflicts.
A proof-of-concept patch is attached. It uses the damn lexer state, so I'd like no...
mame (Yusuke Endoh)
09:51 AM Feature #14799: Startless range
> except it seems endless range does not raise for #reverse_each :)
Funny!
Though, in fact, raises some big questions about `Enumerable` implementations. As far as I can understand, most of `Enumerable`'s methods aren't redefined ...
zverok (Victor Shepelev)
09:31 AM Feature #14799: Startless range
zverok (Victor Shepelev) wrote:
> > how should `Range#each` work for this kind of ranges?
> ...
Sounds reasonable, except it seems endless range does not raise for #reverse_each :)
```
zsh % ruby -ve '(1..).reverse_each {|i| p i }'...
shyouhei (Shyouhei Urabe)
09:14 AM Feature #14799: Startless range
> how should Range#each work for this kind of ranges?
Most probably it should not (the same as `Enumerable#reverse_each` or `last(5)` doesn't have a sense for already implemented endless ranges), just raise.
zverok (Victor Shepelev)
08:10 AM Feature #14799: Startless range
No strong opinion on this. However let me leave one question: how should `Range#each` work for this kind of ranges? shyouhei (Shyouhei Urabe)
07:56 AM Feature #14799 (Closed): Startless range
On introduction of endless range at #12912, "startless range" was discussed this way:
> @sowieso: Not having the opposite (`..5` and `..-2`) feels like this is rather a hack than a thoroughly planned feature.
> ...
In the context o...
zverok (Victor Shepelev)
09:30 AM Revision fef8339f (git): vm_args.c: refined warning splat to var
* vm_args.c (setup_parameters_complex): refine the warning message
for a splat hash which was passed to a single variable instead
of keyword arguments. this behavior will be changed when the
"real" keyword argument is introduced i...
nobu (Nobuyoshi Nakada)
07:10 AM Revision a6273888 (git): fix the condition
* test/ruby/test_rubyoptions.rb: Process.wait with WNOHANG returns
nil while the target process is alive.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:57 AM Revision 83b14c26 (git): test_rubyoptions.rb: relax timeout
* test/ruby/test_rubyoptions.rb: wait for setting process title
until the child process dies, in the case of extra heavy loads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:25 AM Revision 9e82c4f1 (git): NEWS: Add RubyVM::AST
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e yui-knk (Kaneko Yuichiro)
06:24 AM Revision d4a6aaa1 (git): Undef RubyVM::AST::Node.new
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e yui-knk (Kaneko Yuichiro)
06:13 AM Revision 46463af9 (git): Define AST module under RubyVM [experimental]
* ext/-test-/ast/ast.c: Rename to ast.c
and define AST module under RubyVM.
* common.mk: compile ast.c.
* ext/-test-/ast/extconf.rb: Don't need this file anymore.
* inits.c (rb_call_inits): Call Init_ast to setup AST module.
* test/-ex...
yui-knk (Kaneko Yuichiro)
05:49 AM Revision c7c96353 (git): * 2018-05-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:49 AM Revision a97d22a0 (git): ast.c: Do not taint TOPLEVEL_BINDING
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e yui-knk (Kaneko Yuichiro)

05/30/2018

11:01 PM Misc #14798 (Closed): [PATCH] gc.c: reduce parameters for gc_start and garbage_collect
```
Every time I look at gc.c, I get confused by argument ordering:
gc_start(..., TRUE, TRUE, FALSE, ...)
gc_start(..., FALSE, FALSE, FALSE, ... )
While we do not have kwargs in C, we can use flags to improve readability:
g...
normalperson (Eric Wong)
10:04 PM Feature #14757: [PATCH] thread_pthread.c: enable thread cache by default
ko1 brought up a good point: this may interact badly with
3rd-party libraries which use thread-local storage via
pthread_getspecific/pthread_setspecific (or compiler
extensions).

On one hand, I expected this to be beneficial for ...
normalperson (Eric Wong)
08:24 PM Feature #14546: Hash#delete!
duerst (Martin Dürst) wrote:
> it would be a bad idea to use a bang method in a context (such as delete) where it can be very easily mistaken as a mutating version (and by opposition, the non-bang method would be misunderstood as a non-...
janosch-x (Janosch Müller)
01:58 PM Feature #14794: Primitive arrays (Ruby 3x3)
btw: 40% of arrays on my rails app contains only primitive elements ahorek (Pavel Rosický)
01:27 PM Feature #14794: Primitive arrays (Ruby 3x3)
I'm interested to improve Ruby array's performance without specifying custom types or C extensions, it should just work out of the box.
```ruby
Numo::Int32.new(1,100)
Array.new(100, type: :integer)
```
or something like that isn't...
ahorek (Pavel Rosický)
02:26 AM Feature #14794: Primitive arrays (Ruby 3x3)
Use numo-narray or nmatrix for homogeneous numeric arrays.
https://github.com/ruby-numo/numo-narray
https://github.com/SciRuby/nmatrix
mrkn (Kenta Murata)
01:03 PM Revision b9212a77 (git): Ignore bundler assertions on ruby core test suite.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
01:01 PM Revision af9b1c95 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:01 PM Revision 50181419 (git): * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:01 PM Revision 8da8d4b0 (git): Merge RubyGems 3.0.0.beta1.
* It drop to support < Ruby 2.2
* Cleanup deprecated methods and classes.
* Mark obsoleted methods to deprecate.
* and other enhancements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
11:49 AM Revision c5cb386e (git): NEWS: clarify item about built-in thread cache
[Feature #14757]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
11:33 AM Bug #14795: Should 'net/http' require 'net/http/status' ?
shevegen@gmail.com wrote:
> I think it would make sense, given how important http status codes
> are in general (and people who use net/http may also usually deal
> with http status codes).

I disagree, nothing in net/http client c...
normalperson (Eric Wong)
07:15 AM Bug #14795: Should 'net/http' require 'net/http/status' ?
I think it would make sense, given how important http status codes
are in general (and people who use net/http may also usually deal
with http status codes).
shevegen (Robert A. Heiler)
09:13 AM Revision 162adb82 (git): Workaround for old LibreSSL
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
08:25 AM Feature #14594 (Closed): Rethink yield_self's name
Applied in changeset trunk|r63525.
----------
object.c: Add a new alias `then` to `Kernel#yield_self`; [Feature #14594]
matz (Yukihiro Matsumoto)
08:24 AM Revision d53ee008 (git): object.c: Add a new alias `then` to `Kernel#yield_self`; [Feature #14594]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e matz (Yukihiro Matsumoto)
07:14 AM Bug #14796 (Closed): improper passing of &block - causes crash on MacOS 10.13.4 (17E202) with Ruby 2.5.0 within Rbenv
Situation confirmed in 2.5.0, but seems fixed in 2.5.1. Try a newer version. shyouhei (Shyouhei Urabe)
06:42 AM Bug #14796 (Closed): improper passing of &block - causes crash on MacOS 10.13.4 (17E202) with Ruby 2.5.0 within Rbenv
offending code:
```ruby
def assert(message="", &block)
raise ArgumentError, "#{message} invalid" unless block.call
end
def check_uid(attribs)
attribs[:uid] = attribs[:uid]&.strip
assert({not attri...
btihen (Bill Tihen)

05/29/2018

11:28 PM Revision 47f9dd84 (git): * 2018-05-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:28 PM Revision 9fd0858c (git): fake.rb: fix RUBY_DESCRIPTION for MJIT
* template/fake.rb.in: switch RUBY_DESCRIPTION at runtime
depending on the MJIT status.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:02 PM Bug #14795 (Closed): Should 'net/http' require 'net/http/status' ?
net/http/status.rb has been added (#12935) but it is [not required from net/http.rb](https://github.com/ruby/ruby/blob/0342fcbd51f2f423541f862c8d8e35873d849963/lib/net/http.rb#L1629-L1642) while other net/http/*.rb files are already requ... sakuro (Sakuro OZAWA)
08:34 PM Feature #14718: Use jemalloc by default?
bluz71 (Dennis B) wrote:
> Redis ships jemalloc 4.0.3 (or near to) as seen here:
> ...
The latest Redis 5, ships with Jemalloc 5.1
Ksec (E C)
03:29 PM Feature #14794 (Feedback): Primitive arrays (Ruby 3x3)
dynamic arrays in ruby can contain various object types:
```ruby
[1, 1.0, 'text', Object.new]
```
however if I create a primitive array, let say only with integers (very common case). It should be more efficient.
```ruby
[1, 2, 3...
ahorek (Pavel Rosický)
03:12 PM Feature #14792: Multiple RubyVM in one process to make real multi-threading.
Ksec (Ed Chick) wrote:
> HfCloud (Xiangyu Shi) wrote:
> ...
Sorry for so late my reply...
I do not know mruby very much, I saw the examples using it in C language, It looks nice, according to its interfaces I think it can realize mult...
HfCloud (Xiangyu Shi)
09:12 AM Feature #14792: Multiple RubyVM in one process to make real multi-threading.
HfCloud (Xiangyu Shi) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
Slightly off topic, have you consider mruby?
Ksec (E C)
07:33 AM Feature #14792 (Feedback): Multiple RubyVM in one process to make real multi-threading.
naruse (Yui NARUSE)
05:56 AM Feature #14792: Multiple RubyVM in one process to make real multi-threading.
shyouhei (Shyouhei Urabe) wrote:
> HfCloud (Xiangyu Shi) wrote:
> ...
Oh...I have seen the relative issues and know you are trying making it. Appreciate your work!.
It's really a lesson indicating that don't abuse global variables ...
HfCloud (Xiangyu Shi)
05:46 AM Feature #14792: Multiple RubyVM in one process to make real multi-threading.
HfCloud (Xiangyu Shi) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
Not yet. Ko1 is working on this area. See also https://www.youtube.com/watch?v=mjzmUUQWqco
shyouhei (Shyouhei Urabe)
05:28 AM Feature #14792: Multiple RubyVM in one process to make real multi-threading.
shyouhei (Shyouhei Urabe) wrote:
> This is what we call the MVM feature. There has been rich amount of efforts to make it possible and still not available in a production-ready manner.
Is there any system API, which can divide threa...
HfCloud (Xiangyu Shi)
05:26 AM Feature #14792: Multiple RubyVM in one process to make real multi-threading.
This is what we call the MVM feature. There has been rich amount of efforts to make it possible and still not available in a production-ready manner. shyouhei (Shyouhei Urabe)
05:11 AM Feature #14792 (Closed): Multiple RubyVM in one process to make real multi-threading.
This is an old problem, maybe running multiple RubyVM is a good way, which can really run ruby code in parallel in one process (Each thread runs a RubyVM)and be compatible with old codes(If some codes depend on the GIL, they can still ... HfCloud (Xiangyu Shi)
11:35 AM Feature #12732: An option to pass to `Integer`, `Float`, to return `nil` instead of raise an exception
rbjl (Jan Lelis) wrote:
> Although it does not solve Aaron's use case, I would suggest to have a `Integer.try_convert`, `Float.try_convert`, `Rational.try_convert`, and `Complex.try_convert` which do not raise exceptions, but just retur...
m_s__santos (Matheus Silva)
09:41 AM Bug #14791: String.sub wrong parsing of replacement with capturing group
Thanks for help!
I don't unterstand, why five backslahes are required in single quotes. My understanding was that characters in single quotes won't get interpolated so two backslashes should be sufficient.
churib (Timo Grodzinski)
05:17 AM Bug #14791 (Rejected): String.sub wrong parsing of replacement with capturing group
Let me reject; this is not a bug. shyouhei (Shyouhei Urabe)
08:47 AM Revision 0342fcbd (git): fake.rb: fix RUBY_DESCRIPTION for MJIT
* template/fake.rb.in: reflect MJIT to RUBY_DESCRIPTION.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:46 AM Revision 2df80d30 (git): spec/ruby: revert r63503 and r63508
When RUBY_DESCRIPTION has `+JIT` already, it will be doubled.
Just fake.rb.in always has copied `RUBY_DESCRIPTION`, regardless
MJIT is enabled or not. `BOOTSTRAPRUBY` is not involved.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6...
nobu (Nobuyoshi Nakada)
05:49 AM Bug #14793: Hash returned from CGI.parse has [] as default value
My mistake, it looks like all CGI values are always returned as arrays:
~~~
CGI.parse("x=y")
#=> {"x"=>["y"]}
~~~
Please close.
avit (Andrew Vit)
05:39 AM Bug #14793 (Closed): Hash returned from CGI.parse has [] as default value
Is there a valid reason for this behaviour? It looks like a bug to me:
~~~
require 'cgi'
params = CGI.parse("")
params["x"]
#=> []
~~~
(Expected nil)
I looked at history and it looks like it has been there from the very b...
avit (Andrew Vit)
02:48 AM Revision d2c6ed6b (git): mjit_compile.c: drop catch table handling
The loop for `vm_exce_handle_exception` doesn't trigger `mjit_exec`, so
I don't think this code is no longer needed.
This was needed in development of original version of this JIT, but it
seems not needed from the beginning (r62189) at ...
k0kubun (Takashi Kokubun)
01:58 AM Revision 8b9e877b (git): Unused macro and field
* node.h (nd_cnt, struct RNode): nd_cnt has been unused
since r60239, and also cnt field.
* .gdbinit (nd_cnt): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
yui-knk (Kaneko Yuichiro)
01:40 AM Revision 7db2db67 (git): Unused macro
* node.h (nd_noex): nd_noex has been unused since r24128.
* .gdbinit (nd_noex): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
yui-knk (Kaneko Yuichiro)
01:19 AM Revision 3d1a523d (git): Unused macro
* node.h (nd_frml): nd_frml has been unused since r34134.
* .gdbinit (nd_frml): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
yui-knk (Kaneko Yuichiro)
01:18 AM Revision 9e5354eb (git): NEWS: add item about built-in thread cache
This change may impact design of future programs and obviate
thread pools in many cases, so it's worth a mention.
Anyways, this seems stable since r63499 [Feature #14757]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63516 b2dd03c8-...
Eric Wong
01:00 AM Revision d6d130c1 (git): Unused macro
* node.h (nd_argc): nd_argc has been unused since r24128.
* .gdbinit (nd_argc): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
yui-knk (Kaneko Yuichiro)
12:14 AM Bug #14789 (Feedback): Debian 9, ARM, rails 5.2.0 not works.
> /home/tivgres/.rvm/gems/ruby-2.4.1/gems/bootsnap-1.3.0/lib/bootsnap/compile_cache/iseq.rb:18: [BUG] Bus Error at 0x2b7dff9
Seems failing inside of bootsnap. Can you disable it to see if the problem disappears?
shyouhei (Shyouhei Urabe)

05/28/2018

07:42 PM Misc #14769: DevelopersMeeting20180621Japan
> I'm sorry again.
Don't worry - took us all a little to adapt to the new format. :)
shevegen (Robert A. Heiler)
02:02 AM Misc #14769: DevelopersMeeting20180621Japan
shyouhei (Shyouhei Urabe) wrote:
> wanabe (_ wanabe) wrote:
> ...
I'm sorry for my lack of explanation.
I want the issue status to be clear.
"Feedback", "Assigned", "3rd party's issue", "Rejected".
I just want to know "Who's ball?",...
wanabe (_ wanabe)
01:18 AM Misc #14769: DevelopersMeeting20180621Japan
(sorry for the last message. was a mistake, deleted)
wanabe (_ wanabe) wrote:
> * CRuby uses `pthread_getattr_np()` result for stack-level-check after r59630, but the function behaviour is different in glibc and musl.
@wanbe wh...
shyouhei (Shyouhei Urabe)
07:06 PM Bug #14790: DateTime.iso8601 parses incorrect ISO8601
Yes, you are right. It was a bug after all but not in the way I originally thought :D.
Hanmac (Hans Mackowiak) wrote:
> you mean the offset right?
> ...
Quintasan (Michał Zając)
03:19 PM Bug #14790 (Closed): DateTime.iso8601 parses incorrect ISO8601
Applied in changeset trunk|r63512.
----------
time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): a colon in time zone designator
can be omitted. [ruby-core:87277] [Bug #14790]
nobu (Nobuyoshi Nakada)
01:36 PM Bug #14790: DateTime.iso8601 parses incorrect ISO8601
you mean the offset right?
https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators says that "±hhmm" is valid too in iso8601
so i think the bug is more in Time because the offset should be valid?
Time itself does print it a...
Hanmac (Hans Mackowiak)
01:20 PM Bug #14790 (Closed): DateTime.iso8601 parses incorrect ISO8601
I noticed it today when migrating to Time in my library but DateTime somehow parses incorrect ISO8601 dates. Technically that's a feature but I believe this behaviour is incorrect. Time#iso8601 behaves correctly in this case.
# Steps ...
Quintasan (Michał Zając)
04:04 PM Feature #14788: `Hash#keys` Could Accept a Block
How about `each_key`?
```ruby
{ 1 => '1', 2 => '2', 3 => '3', 4 => '4' }.each_key.select(&:odd?) # => [1, 3]
```
znz (Kazuhiro NISHIYAMA)
12:25 PM Feature #14788: `Hash#keys` Could Accept a Block
I personally understand what Ryan suggested and meant; the example shows that he
can integrate the ".select" step .keys, through the use of block.
To me the example is also readable and the intent is clear, so in that particular
cas...
shevegen (Robert A. Heiler)
07:35 AM Feature #14788: `Hash#keys` Could Accept a Block
If I were you, I would rather request a new method named `Hash#select_keys` for that purpose. sawa (Tsuyoshi Sawada)
06:19 AM Feature #14788: `Hash#keys` Could Accept a Block
I don't like it.
From `keys {|k| k.something }` I wouldn't know what it does with the keys, if they would select or map the keys or both.
Is probably against that "least surprise" thing
Hanmac (Hans Mackowiak)
03:35 PM Revision dc2a979b (git): time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): the minute in time zone designator
can be omitted together with the preceding colon.
[ruby-core:87277] [Bug #14790]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63514 b2dd03c8-39d4-4d8f-98ff-823f...
nobu (Nobuyoshi Nakada)
03:25 PM Bug #14791: String.sub wrong parsing of replacement with capturing group
need 5 or 6 (6 when using ")
~~~ ruby
"abc".sub(/(b)/, '\\\\\1') #=> "a\\bc"
"abc".sub(/(b)/, "\\\\\1") #=> "a\\\x01c"
"abc".sub(/(b)/, "\\\\\\1") #=> "a\\bc"
~~~
but be careful that irb returns inspected value, that is impor...
Hanmac (Hans Mackowiak)
02:28 PM Bug #14791: String.sub wrong parsing of replacement with capturing group
Can you give a solution for my second example?
~~~ ruby
"abc".sub(/(b)/, '\\1') # doesn't works, should be "a\bc"
~~~
I want to replace the 'b' with '\b'. How many backslashes do I need?
The #sub method has problems with consecuti...
churib (Timo Grodzinski)
02:01 PM Bug #14791: String.sub wrong parsing of replacement with capturing group
read the Docs:
~~~
If replacement is a String it will be substituted for the matched text. It may contain back-references to the pattern's capture groups of the form "\d", where d is a group number, or "\k<n>", where n is a group nam...
Hanmac (Hans Mackowiak)
01:44 PM Bug #14791 (Rejected): String.sub wrong parsing of replacement with capturing group
~~~ ruby
irb(main):001:0> "abc".sub(/(b)/, '#\1#') # works
=> "a#b#c"
irb(main):002:0> "abc".sub(/(b)/, '\\1') # doesn't works, should be "a\bc"
=> "abc"
irb(main):003:0> "abc".sub(/(b)/, '\\\1') # doesn't works, should be "a\\bc"
...
churib (Timo Grodzinski)
03:19 PM Revision 7b4671f0 (git): * 2018-05-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:19 PM Revision 71fed537 (git): time.rb: fix parsing time zone in iso8601
* lib/time.rb (Time.xmlschema): a colon in time zone designator
can be omitted. [ruby-core:87277] [Bug #14790]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:24 PM Revision 3e2ff59f (git): Unused macro and field
* node.h (nd_cfnc, struct RNode): nd_cfnc has been unused
since r49938, and also cfunc field.
* .gdbinit (nd_cfnc): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
yui-knk (Kaneko Yuichiro)
12:22 PM Bug #14789 (Third Party's Issue): Debian 9, ARM, rails 5.2.0 not works.
Hello, I try to use rails at orange pi board on armbian (debian 9 for ARM), but it's have a bug?
ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [armv7l-linux-eabihf]
`rails -v
/home/tivgres/.rvm/gems/ruby-2.4.1/gems/bootsnap-...
Tivgres (Sergey D)
12:00 PM Feature #12906: do/end blocks work with ensure/rescue/else
Old issue, but still perhaps the right place to mention this: the new syntax ONLY works in do/end, not in {} blocks (as mentioned above.)
It also does not work in "block-like" places like a for loop. So this is not valid syntax:
``...
perlun (Per Lundberg)
12:42 AM Revision dceecfb6 (git): * 2018-05-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:42 AM Revision 1f4796a1 (git): Merge etc gemspec from github repository.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
 

Also available in: Atom