Project

General

Profile

Activity

From 05/11/2018 to 05/17/2018

05/17/2018

11:26 PM Feature #14680: Adding +@ and -@ to hash and array
If `-@` is supposed to return a frozen *copy*, is that patch really doing that? The tests don't seem to ensure that. Do `rb_hash_freeze` and `rb_ary_freeze` make copies first or `.freeze` the given object? rab (Rob Biedenharn)
10:43 PM Feature #14771: Add method to create DNS resource from data string
The other record where it could be useful would be the TXT record which required to use a chunked string format. ioquatix (Samuel Williams)
01:16 PM Feature #14771: Add method to create DNS resource from data string
Although I myself have not used/needed Resolv::DNS::Resource yet,
if the proposed #create method does not conflict with anything in
Resolv, then I think it is fine to add it. (If I understood it correctly
then this is mostly alias-rel...
shevegen (Robert A. Heiler)
12:36 PM Feature #14771: Add method to create DNS resource from data string
The suggested code should be (missing `resource =`):
```
if klass = Resolv::DNS::Resource.get_class(answer["type"], resource_class::ClassValue)
resource = klass.create(answer["data"])
end
```
ioquatix (Samuel Williams)
12:34 PM Feature #14771 (Open): Add method to create DNS resource from data string
I recently played around with DNS over HTTPS.
I found that it's a little bit tricky to generate the appropriate resource using the Resolv::DNS::Resource hierarchy.
Here is what my code ended up:
```
if klass = Resolv::D...
ioquatix (Samuel Williams)
09:02 PM Feature #14723: [WIP] sleepy GC
I've now run a lot more batches of Rails Ruby Bench - 100 batches of 10,000 HTTP requests/batch. I am *definitely* seeing lower performance and more variance with Sleepy GC. Overall, Sleepy GC gets 169.4 req/sec mean throughput with vari... noahgibbs (Noah Gibbs)
07:28 PM Misc #14769: DevelopersMeeting20180621Japan
Please comment with the following format:
```
* [Ticket info] Ticket-Title (proposer)
* Short-comment
```
Thank you for your cooperation.
Koichi
ko1 (Koichi Sasada)
12:10 PM Misc #14769 (Closed): DevelopersMeeting20180621Japan
Date: 2018/06/21 (Thu)
Time: 14:00-18:00 (JST)
Place: Cookpad Inc. (Tokyo, Japan)
Sign-up: https://ruby.connpass.com/event/88715/
Please comment your favorite ticket numbers you want to ask to discuss with your *SHORT* comment or s...
hsbt (Hiroshi SHIBATA)
05:31 PM Feature #14718: Use jemalloc by default?
Yusuke, I'm not sure, I can't explain that. It does get worse as the machine gets larger. A machine with more cores will see larger bloat, which is what that graph above shows (36 cores, 40GB -> 9GB); the GVL does not appear to help. ... mperham (Mike Perham)
05:11 PM Revision a2015838 (git): * 2018-05-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:11 PM Revision 320484d0 (git): _mjit_compile_send.erb: disable attr_reader inline
for now, which was committed in r63333.
Currently trunk's JIT seems to have some wrong behaviors, and this is
the most suspicious culprit of them for now. In the future, I may have
a strict test environment to detect the cause, but ther...
k0kubun (Takashi Kokubun)
04:46 PM Feature #14473: Add Range#subrange?
I have no particular opinion (neither pro nor con) on the issue itself.
On the comment:
> [..] this adds another useful Range method, Range#offset (which probably only makes sense for
> ...
I think it would be best to add a new is...
shevegen (Robert A. Heiler)
02:02 PM Feature #14473: Add Range#subrange?
Hi Matz!
A slightly contrived example - imagine we want to filter candidates for a new job position and harshly reject any who have a salary requirement that is not covered by our predetermined position salary range:
~~~ruby
Candi...
owst (Owen Stephens)
07:38 AM Feature #14473 (Feedback): Add Range#subrange?
Any (real-world) use-case?
Matz.
matz (Yukihiro Matsumoto)
04:42 PM Feature #11747: "bury" feature, similar to 'dig' but opposite
matz (Yukihiro Matsumoto) wrote:
> It's not clear to generate either Hash, Array, or Struct (or whatever) to bury a value.
Would it be desirable to specify the new object in a block? That would make it somewhat symmetrical to how `Ha...
briankung (Brian Kung)
01:07 PM Feature #14097: Add union and difference to Array
Thank you for the proposal.
I am not sure your real intention. Do you want mutating variation of or-operator?
Or just more readable alias of or-operator?
Matz.
matz (Yukihiro Matsumoto)
12:36 PM Revision 8487c63f (git): rb_parser_printf declaration
* node.h (rb_parser_printf): delcare as PRINTF_ARGS.
* parse.y (parser_token_value_print): cast to adjust to %c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:31 PM Misc #14698 (Closed): DevelopersMeeting20180517Japan
naruse (Yui NARUSE)
12:28 PM Misc #14770 (Open): [META] DevelopersMeeting
A meta ticket to organize DevelopersMeeting tickets.
https://bugs.ruby-lang.org/projects/ruby/wiki#Developer-Meetings
naruse (Yui NARUSE)
12:28 PM Bug #14745: High memory usage when using String#replace with IO.copy_stream
> it looks like @stream_cipher.update can take a second destination arg (like IO#read and friends) and maybe that helps... (that appears to be OpenSSL::Cipher#update)
Cool, I didn't know that! Thanks, this allowed me to greatly simpli...
janko (Janko Marohnić)
11:46 AM Feature #14390: UnboundMethod#to_proc
@shyouhei the point is in gradual enchancing Ruby's approach to functional/declarative chaining.
Let's look at this example:
```ruby
(1..3).each(&method(:print))
(1..3).each { |i| print i }
```
The second, in fact, is _shorte...
zverok (Victor Shepelev)
06:50 AM Feature #14390 (Feedback): UnboundMethod#to_proc
> ```
> ...
What's wrong with `map{|i| i.dig(:foo :bar, :baz) }` which is order of magnitude concise?
shyouhei (Shyouhei Urabe)
11:45 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
```ruby
Open3.popen3("cat", *Dir.glob("*.yml"))
```
nobu (Nobuyoshi Nakada)
09:43 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
popen3 uses Process.spawn and this does show this in the docs:
commandline : command line string which is passed to the standard shell
cmdname, arg1, ... : command name and one or more arguments (This for...
Hanmac (Hans Mackowiak)
09:27 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
Suppose I have a variable
`x = "abc"`
I need to cat a file `abc.yml` I write
` Open3.popen3("cat #{x}.yml")` --------------------- (1)
This will lead to Command Injection warning.
So we need to pass the arguments seperately ...
Rushyanth (Rushyanth reddy)
09:21 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
Besides, the array form is to get rid of the expansion by the shell, which might cause security issues. nobu (Nobuyoshi Nakada)
07:39 AM Bug #14765 (Rejected): Arguments passed to Open3.popen3() are not interpreted as wildcards
wildcard expansion is done at shell.
If you need shell, specify a command line as one string.
akr (Akira Tanaka)
06:44 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
Sorry my bad. That was typing error while raising the issue. Its actually `Open3.popen3()`. Its mentioned correctly in the subject Rushyanth (Rushyanth reddy)
12:21 AM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
What's `Open3.popen4`?
The bundled library open3.rb does not provide such method.
Maybe a third party's method?
nobu (Nobuyoshi Nakada)
11:24 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
Thank you for your replies Daniel, Robert!
> Also I only test the API. I don't unit test internal modules or classes.
I guess that this is usually a bad idea, but it depends on what you are using your tests for. When I have to deve...
grzesiek (Grzegorz Bizon)
10:50 AM Feature #14105: Introduce xor as alias for Set#^
gotoken (Kentaro Goto) wrote:
> By the way I recently wrote this set theoretical operation to find all uncommon files in two file collections then I reminded this feature request :)
That sounds interesting. I don't think I actually ...
knu (Akinori MUSHA)
09:45 AM Feature #14105: Introduce xor as alias for Set#^
knu (Akinori MUSHA) wrote:
> I'm afraid aliasing `^` to `xor` is not like aliasing `&` to `intersection` and `|` to `union`, because the latter two are the terms defined in the set theory whereas `xor` is (apparently) not.
Yep, that ...
gotoken (Kentaro Goto)
08:52 AM Feature #14105: Introduce xor as alias for Set#^
I'm afraid aliasing `^` to `xor` is not like aliasing `&` to `intersection` and `|` to `union`, because the latter two are the terms defined in the set theory whereas `xor` is (apparently) not. knu (Akinori MUSHA)
08:30 AM Feature #14105 (Assigned): Introduce xor as alias for Set#^
naruse (Yui NARUSE)
10:46 AM Feature #14575 (Closed): Switch Range#=== to use cover? instead of include?
Applied in changeset trunk|r63453.
----------
range.c: === by cover?
* range.c (range_eqq): switch `Range#===` to use `cover?` instead
of `include?`. [Feature #14575]
nobu (Nobuyoshi Nakada)
07:21 AM Feature #14575: Switch Range#=== to use cover? instead of include?
Even though we still have compatibility concerns, the performance benefit can be valuable.
Let us try it to see if we have any (serious) issues.
Matz.
matz (Yukihiro Matsumoto)
10:46 AM Revision 989e07c0 (git): range.c: === by cover?
* range.c (range_eqq): switch `Range#===` to use `cover?` instead
of `include?`. [Feature #14575]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:17 AM Feature #14423: Enumerator from single object
@matz
Basically, `Object#enumerate` is a method for replace _lots_ of `loop` and `while` with proper `Enumerator` (like `each` replaced `for`). Some examples:
```ruby
# API pagination, as shown above:
fetch(first_page_url).enumera...
zverok (Victor Shepelev)
07:03 AM Feature #14423: Enumerator from single object
I am not sure how much we need such method. Any (real-world) use-case?
Matz.
matz (Yukihiro Matsumoto)
10:08 AM Feature #14697: Introducing Range#% as an alias to Range#step
I personally am not hugely comfortable with endless Range, but I understand
the reasoning given by mame for it. There is nothing shorter than omission
of characters. :D
Since endless Range was accepted, I think using % on Range, as ...
shevegen (Robert A. Heiler)
05:36 AM Feature #14697: Introducing Range#% as an alias to Range#step
It seems no one has a strong objection against `Range#%`. Accepted.
Matz.
matz (Yukihiro Matsumoto)
09:49 AM Feature #11161: Proc/Method#rcurry working like curry but in reverse order
> It needs better (practical) usages to show usefulness of this proposal.
@akr I believe the code in my comment provides the justification:
```ruby
URLS.
map(&Faraday.method(:get).rcurry[some_get_param: 'value']).
map(&JSON....
zverok (Victor Shepelev)
06:47 AM Feature #11161 (Rejected): Proc/Method#rcurry working like curry but in reverse order
We discussed this issue at DevelopersMeeting20180517Japan [Misc #14698].
It needs better (practical) usages to show usefulness of this proposal.
akr (Akira Tanaka)
09:45 AM Misc #14768: Add documentation for || and &&
Adding more documentation/references is always good IMO, so
+1 on the issue. Perhaps even adding a new page called
operators.html (or something like that) may be useful in
the long run.
There is an old SO question:
https://stack...
shevegen (Robert A. Heiler)
08:41 AM Misc #14768 (Open): Add documentation for || and &&
The Ruby documentation doesn't seem to cover `||` and `&&`.
The only references I could find are:
http://ruby-doc.org/core-2.5.1/doc/keywords_rdoc.html
> **and** – Short-circuit Boolean and with lower precedence than `&&`
> ...
...
sos4nt (Stefan Schüßler)
08:56 AM Feature #5512 (Rejected): Integer#/ の改訂
Too big incompatibility. Abandoned.
Matz.
matz (Yukihiro Matsumoto)
08:53 AM Feature #5482 (Rejected): Rubinius as basis for Ruby 2.0
We are working Ruby 3.0 now. hsbt (Hiroshi SHIBATA)
08:51 AM Feature #5400: Remove flip-flops in 2.0
Finally, we are going to remove it. 2.6 will warn flip-flop usage of ranges.
Matz.
matz (Yukihiro Matsumoto)
08:47 AM Feature #5400: Remove flip-flops in 2.0
judofyr (Magnus Holm) wrote:
> Nobody knows them. Nobody uses them. Let's just get rid of flip-flops, shall we?
I know, and use them.
nobu (Nobuyoshi Nakada)
08:21 AM Misc #14760: cross-thread IO#close semantics
I feel cross-thread IO#close is not reliable way to interrupt other threads.
So, I implemented IO.copy_stream without concerning cross-thread IO#close.
Since consistency is not a goal of Ruby, I think current behavior is acceptable.
akr (Akira Tanaka)
07:40 AM Bug #14345 (Closed): http_proxy setting should respect both parent domain and subdomain
Applied in changeset trunk|r63452.
----------
http_proxy setting should respect both parent domain and subdomain
URI::Generic: Respect no_proxy for both parent domain and
subdomains It is now possible to add just the subdomains for pro...
naruse (Yui NARUSE)
07:40 AM Revision d50ecb63 (git): http_proxy setting should respect both parent domain and subdomain
URI::Generic: Respect no_proxy for both parent domain and
subdomains It is now possible to add just the subdomains for proxy bypass. In
a setting where the main domain needs to go through proxy while the
subdomains don't, it is now possi...
naruse (Yui NARUSE)
07:27 AM Bug #14450: Enchance MatchData docs
@stomar
I added you to docs group.
Can you proofread and commit this?
Thanks.
hsbt (Hiroshi SHIBATA)
06:45 AM Feature #13581: Syntax sugar for method reference
Out of [ruby-core:85038](https://bugs.ruby-lang.org/issues/13581#change-69758) candidates, `.:` looks best to me (followed by `:::`).
Let me consider it for a while.
Matz.
matz (Yukihiro Matsumoto)
05:56 AM Feature #6284 (Open): Add composition for procs
Considering the combination of OOP and FP, it seems a good idea to adding both forward and reverse combination of procs. So we pick Groovy way (adding `<<` and `>>` methods to `Proc`).
We need more discussion if we would add combinati...
matz (Yukihiro Matsumoto)
05:21 AM Bug #14699: Subtle behaviors with endless range
Need to be discussed with mrkn before December. naruse (Yui NARUSE)
04:20 AM Revision 5a1dfb04 (git): vm_trace: implement postponed_jobs as st_table
st_table allows the use of st_shift to act as an order-preserving
queue while allowing fast lookups to prevent duplicate jobs.
In typical Ruby apps, this table will only have one entry
for gc_finalize_deferred_register.
git-svn-id: svn...
Eric Wong
03:48 AM Misc #14764 (Closed): [PATCH] vm_trace: remove rb_postponed_job_t->flags
Applied in changeset trunk|r63450.
----------
vm_trace: remove rb_postponed_job_t->flags
This field has been taking up space for 5 years and never used.
Save 8kb of memory on x86-64 for now. If we ever care about
this flag, we'll simp...
normalperson (Eric Wong)
03:48 AM Revision b86daec2 (git): vm_trace: remove rb_postponed_job_t->flags
This field has been taking up space for 5 years and never used.
Save 8kb of memory on x86-64 for now. If we ever care about
this flag, we'll simply re-add it.
* vm_trace.c (rb_postponed_job_struct): remove flags
(postponed_job_regist...
Eric Wong
03:48 AM Revision 61d4df89 (git): vm_trace.c: spelling fix: PJRR_SUCESS => PJRR_SUCCESS
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eric Wong
03:03 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
> Btw, I noticed I leftover a ssize_t usage in my patch
> to gc_reset_malloc_info, will fixup if I commit this.

Updated patch with ssize_t fix, here:
https://80x24.org/spew/20180517024218.30730-1-e@80x24.org/raw


Also, I realiz...
normalperson (Eric Wong)
02:42 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
ko1@atdot.net wrote:
> On last comment, I thought these counters are not reset forever.
> (because I searched only `= 0` lines)

OK. Also, did we ever consider signed type (`ssize_t`) for malloc
counters instead? This may be more...
normalperson (Eric Wong)
02:25 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
sorry I missed the following line.
> ssize_t inc = monoctr_xchg0(&objspace->malloc_params.m);
So no problem.
On last comment, I thought these counters are not reset forever.
(because I searched only `= 0` lines)
ko1 (Koichi Sasada)
02:12 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
ko1@atdot.net wrote:
> The only one problem is, if we have a bug (and it can be. because nobody test malloc/free counts), the values grow into strange values.

I think we may get strange values with malloc_increase
currently, too. ...
normalperson (Eric Wong)
01:41 AM Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
Honestly speaking, I forget the discussions :p
The only one problem is, if we have a bug (and it can be. because nobody test malloc/free counts), the values grow into strange values.
Now we reset them at GC time.
What do you think...
ko1 (Koichi Sasada)
12:14 AM Feature #14767 (Closed): [PATCH] gc.c: use monotonic counters for objspace_malloc_increase
gc.c: use monotonic counters for objspace_malloc_increase
atomic_sub_nounderflow is expensive and objspace_malloc_increase
was showing up near the top of some `perf` profiles. The new
implementation allows the compiler to inline an...
normalperson (Eric Wong)

05/16/2018

11:54 PM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> I've created a script which attempts to reproduce memory fragmentation.
Great! I could reproduce the issue so easily.
But I can't understand. This program does not use I/O. Due to GVL, it is virtu...
mame (Yusuke Endoh)
08:12 PM Feature #14718: Use jemalloc by default?
Yeah, it seems that way. Those results are with jemalloc 3.6.0 (which is what Ubuntu ships), a version 4 years old. jemalloc 5.1.0 is newest and might have space and time improvements. The arena tweak appears to solve much of the imme... mperham (Mike Perham)
07:22 PM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> Results, it shows a significant reduction in RSS when run with jemalloc or MALLOC_ARENA_MAX=2.
> ...
I'm not sure what the performance differences are, but looking purely at the memory usage, a 0.2% diffe...
jeremyevans0 (Jeremy Evans)
06:45 PM Feature #14718: Use jemalloc by default?
I've created a script which attempts to reproduce memory fragmentation.
~~~
=begin
This script attempts to reproduce poor glibc allocator behavior within Ruby, leading
to extreme memory fragmentation and process RSS bloat.
glibc...
mperham (Mike Perham)
09:13 AM Feature #14718: Use jemalloc by default?
dennisb55@hotmail.com wrote:
> Personally I don't like the prospect of a hard-coded arena
> count deep in the Ruby source code. It reeks of a code-smell.

I don't like it, either; but it's good enough today for enough
users. It is...
normalperson (Eric Wong)
05:54 AM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> Dennis, my focus for this issue is fixing the memory bloat problem that plagues 1000s of Rails apps today, not a hypothetical performance problem that might affect Guilds months or years from now.
> ...
S...
bluz71 (Dennis B)
05:29 AM Feature #14718: Use jemalloc by default?
Dennis, my focus for this issue is fixing the memory bloat problem that plagues 1000s of Rails apps today, not a hypothetical performance problem that might affect Guilds months or years from now.
In the future Ruby could increase are...
mperham (Mike Perham)
05:14 AM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> An alternative is to tune glibc by reducing the number of arenas. Call this on startup:
> ...
I am not favourable to this.
Less arenas means greater contention & serialisation at the memory allocator...
bluz71 (Dennis B)
05:11 AM Feature #14718: Use jemalloc by default?
@mperham,
Noah Gibbs has a Discourse based benchmark that could be useful here in regards to producing a test-case to highlight memory fragmentation and utilisation.
He has already benchmarked the raw speed of tcmalloc & jemalloc ...
bluz71 (Dennis B)
11:36 PM Feature #14766: Indicate `find_all` and `select` methods are aliases.
FYI, I already made the documentation change, it would just need to be cherry picked: https://github.com/frewsxcv/ruby/commit/df2a373ca4d003c94f46a0c036e29c83e42ed4de
~~~
Edit: There is also a SO overflow question about it:
~~~
Y...
frewsxcv (Corey Farwell)
05:40 PM Feature #14766: Indicate `find_all` and `select` methods are aliases.
Seems to make sense.
Here is a link to the API documentation for Enumerable reduce:
https://ruby-doc.org/core/Enumerable.html#method-i-reduce
Edit: There is also a SO overflow question about it:
https://stackoverflow.com/ques...
shevegen (Robert A. Heiler)
04:18 PM Feature #14766 (Closed): Indicate `find_all` and `select` methods are aliases.
This matches the documentation for `Enumerable::inject` and `Enumerable::reduce` which are also aliases.
https://github.com/frewsxcv/ruby/commit/df2a373ca4d003c94f46a0c036e29c83e42ed4de
frewsxcv (Corey Farwell)
09:54 PM Revision 0f0311df (git): thread: reduce GET_THREAD calls
This allows native_sleep to use less stack (80 -> 64 bytes on
x86-64) for GVL_UNLOCK_BEGIN/END. For future APIs, we will pass
`ec` or `th` around anyways, so the BLOCKING_REGION change
should be beneficial in the future.
git-svn-id: sv...
Eric Wong
08:39 PM Misc #14762 (Closed): [PATCH] gc.c: use ccan/list
Applied in changeset trunk|r63447.
----------
gc.c: use ccan/list
This seems to improve the readability of gc.c a small amount
and it doesn't have any measurable performance impact.
[ruby-core:87067] [Misc #14762]
normalperson (Eric Wong)
09:42 AM Misc #14762: [PATCH] gc.c: use ccan/list
ko1@atdot.net wrote:
> No strong opinion.
>
> They are memo:
>
> I tried to reorder sweeping list by (a) "full page (all slots are living)" and (b)"can sweep page (there are some free-able slots)" and sweep only (b).
> No big im...
normalperson (Eric Wong)
06:01 AM Misc #14762: [PATCH] gc.c: use ccan/list
No strong opinion.
They are memo:
I tried to reorder sweeping list by (a) "full page (all slots are living)" and (b)"can sweep page (there are some free-able slots)" and sweep only (b).
No big improvement though :p
I think usin...
ko1 (Koichi Sasada)
01:09 AM Misc #14762 (Closed): [PATCH] gc.c: use ccan/list
This seems to improve the readability of gc.c a small amount
and it doesn't have any measurable performance impact.
Code reduction is nice, I might commit it soon:
gc.c | 81 +++++++++++++++++++++++++++----------------------------...
normalperson (Eric Wong)
08:39 PM Revision a3e73d13 (git): gc.c: use ccan/list
This seems to improve the readability of gc.c a small amount
and it doesn't have any measurable performance impact.
[ruby-core:87067] [Misc #14762]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63447 b2dd03c8-39d4-4d8f-98ff-823fe69...
Eric Wong
06:55 PM Revision 3f7df231 (git): * 2018-05-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:55 PM Revision db4cba88 (git): lib/optparse.rb: improve docs
* lib/optparse.rb: [DOC] simplify shell prompt in examples;
other minor improvements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
stomar (Marcus Stollsteimer)
05:18 PM Misc #14698: DevelopersMeeting20180517Japan
ana06 (Ana Maria Martinez Gomez) wrote:
> @shyouhei
> ...
Thank you for your passion and understanding.
At this time this meeting is closed because of both technical and human resource problems.
Technical issues are as shyouhei said....
naruse (Yui NARUSE)
03:04 PM Misc #14698: DevelopersMeeting20180517Japan
@shyouhei
> I think there are chances for us to welcome only one person but very skeptic if it works for, say, 20 people. The meeting obviously does not scale. What to do then? We have to select someone by something? That doesn't sou...
ana06 (Ana Maria Martinez Gomez)
01:50 PM Misc #14698: DevelopersMeeting20180517Japan
Hello, this is my private feeling so please don't take this as a canon.
I think it's a good idea to make the meeting more open. To do so several technical issues are there to be fixed. First, there is no extra staff to welcome you ri...
shyouhei (Shyouhei Urabe)
09:31 AM Misc #14698: DevelopersMeeting20180517Japan
@ko1 I edited my comment, I hope it is fine now. ;)
BTW, is it possible I join the meeting? It would be fine if I join only for those two issues. :)
ana06 (Ana Maria Martinez Gomez)
08:01 AM Misc #14698: DevelopersMeeting20180517Japan
Hi all,
The format is:
```
* [Ticket info] Ticket-Title (proposer)
* Short-comment
```
And I can copy&paste :)
I edited with some editions.
Thank you for your cooperation.
Koichi
ko1 (Koichi Sasada)
01:11 PM Bug #14765: Arguments passed to Open3.popen3() are not interpreted as wildcards
In console when we write
```stdin, stdout, stderr, wait_thr = Open3.popen3("cat .*.yml")```
All the files with names starting with ``` .``` and ending in ```.yml``` are shown
But when we do
```stdin, stdout, stderr, wait_thr = Ope...
Rushyanth (Rushyanth reddy)
01:08 PM Bug #14765 (Rejected): Arguments passed to Open3.popen3() are not interpreted as wildcards
In console when we write
```ruby
stdin, stdout, stderr, wait_thr = Open3.popen4("cat .*.yml")
stdout.readlines
```
All the files with names starting with `.` and ending in `.yml` are shown
But when we do
```ruby
stdin, stdo...
Rushyanth (Rushyanth reddy)
11:06 AM Revision a667fe79 (git): configure.ac: move the checks of _XOPEN_SOURCE on Solaris
* configure.ac (solaris*): Move the checks of _XOPEN_SOURCE to the
location before r63443, to cover non-GCC compilers on Solaris.
This partly reverts r63443.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63444 b2dd03c8-39d4-4d8...
ngoto (Naohisa Goto)
10:12 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
janko.marohnic@gmail.com wrote:
> I wrote:
> > Finally, I always assumed your example is a contrived case and
> > you're dealing with an interface somewhere (not StringIO) which
> > doesn't accept a destination buffer for .read.

...
normalperson (Eric Wong)
09:33 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
> Yes, this is an unfortunate side effect because of copy-on-write
> ...
That makes sense, thanks for the explanation.
> The other part could be anything using IO#write could create
> ...
This is on Ruby 2.5.1, so I'm guessing it do...
janko (Janko Marohnić)
09:22 AM Misc #14764: [PATCH] vm_trace: remove rb_postponed_job_t->flags
ko1@atdot.net wrote:
> no problem. st_table also seems good.

OK, this uses st_table:
https://80x24.org/spew/20180516090720.9935-1-e@80x24.org/raw
(only lightly-tested)
normalperson (Eric Wong)
05:55 AM Misc #14764: [PATCH] vm_trace: remove rb_postponed_job_t->flags
no problem. st_table also seems good. ko1 (Koichi Sasada)
03:12 AM Misc #14764: [PATCH] vm_trace: remove rb_postponed_job_t->flags
Btw, 1000 slots for postponed jobs seems like overkill,
as does the use of atomics.

I think we can use a st_table with st_shift...
Hash key can be the func pointer, since this API deduplicates
calls based on function.
normalperson (Eric Wong)
02:56 AM Misc #14764 (Closed): [PATCH] vm_trace: remove rb_postponed_job_t->flags
```
vm_trace: remove rb_postponed_job_t->flags
This field has been taking up space for 5 years and never used.
Save 8kb of memory on x86-64 for now. If we ever care about
this flag, we'll simply re-add it.
No ABI or API compati...
normalperson (Eric Wong)
09:19 AM Bug #5419: FileUtils.cp_rの:preserveの動作
と思ったけどそれはさすがに大丈夫でした。
```
ruby -rfileutils -e 'include FileUtils; mkdir("d1"); touch("d1/a"); chmod(0500, "d1"); cp_r("d1", "d2", preserve: true)'
```
knu (Akinori MUSHA)
09:13 AM Bug #5419: FileUtils.cp_rの:preserveの動作
おお。処理順がそうなっているとすると、書き込み禁止のディレクトリのコピーもできませんね。 knu (Akinori MUSHA)
08:40 AM Bug #5419 (Closed): FileUtils.cp_rの:preserveの動作
fileutils は github の方に切り出されたので、そっちにチケットを作りました。
https://github.com/ruby/fileutils/issues/21
こっちは閉じとこうと思います。
mame (Yusuke Endoh)
09:07 AM Feature #5522 (Assigned): Numeric#finite?、Numeric#infinite?、Numeric#nan? の追加
#12039 で Numeric#finite? と #infinite? は導入されました。#nan? はどうしましょう? mame (Yusuke Endoh)
08:35 AM Bug #5401 (Closed): Ruby 1.9.3 interpreter crash
I believe we can close this ticket anyway. If anyone can repro, please reopen. mame (Yusuke Endoh)
07:49 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
I think that this is not acceptable due to the backward compatibility.
`[2].all?(:even?)` returns `false` now, but it would be `true` if this is introduced.
The behavior changes from `===` to `send` by the argument class, it doesn't se...
nobu (Nobuyoshi Nakada)
04:41 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
sawa (Tsuyoshi Sawada) wrote:
> I think `reduce` or `inject` taking a method name as an argument was convenient in the old days when symbol to proc was not available. Today, you can just add an ampersand in front of the method name.
> ...
sunnyrjuneja (Sunny Juneja)
04:39 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
I think `reduce` or `inject` taking a method name as an argument was convenient in the old days when symbol to proc was not available. Today, this feature of `reduce` and `inject` does not have the significance it used to have, and shoul... sawa (Tsuyoshi Sawada)
04:05 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
Hey Shevegen,
Thank you for your comments. I really apperciate them! I'll respond inline:
shevegen (Robert A. Heiler) wrote:
> Is there any reason why you did use ":even?" rather
> ...
The only reason I used :even? rather than :e...
sunnyrjuneja (Sunny Juneja)
03:15 AM Feature #14763: Allow more Enumerable methods to accept method names as symbol arguments
Is there any reason why you did use ":even?" rather
than ":even"?
[2,4,6].all?(:even)
To me symbols with a question mark seem somewhat unusual
or rare.
However had, my question is mostly a small detail, in my
opinion, not...
shevegen (Robert A. Heiler)
02:02 AM Feature #14763 (Closed): Allow more Enumerable methods to accept method names as symbol arguments
Enumerable has a short hand which accepts method names as symbols.
```ruby
(5..10).reduce(:+) #=> 45
```
I'm proposing we allow the same functionality for #any?, #all?, #find, #reject, #select, #one?, #find_index. I'm requesting th...
sunnyrjuneja (Sunny Juneja)
05:32 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
dennisb55@hotmail.com wrote:
> This is not desirable in the longer term.

I already had the following comment in the proposed patch:

+ /*
+ * Ruby doesn't benefit from many glibc malloc arenas due to GVL,
+ * remove o...
normalperson (Eric Wong)
05:03 AM Feature #14759: [PATCH] set M_ARENA_MAX for glibc malloc
normalperson (Eric Wong) wrote:
> Personally, I prefer using M_ARENA_MAX=1 (via MALLOC_ARENA_MAX
> ...
This is not desirable in the longer term.
CRuby will likely get true concurrency in the future via ko1's Guild proposal. Reduci...
bluz71 (Dennis B)
05:23 AM Bug #14761 (Open): TestThread#test_join_limits hangs up on Solaris 10 with gcc
Default nil. The key `INT64_MIN` did not found in `RbConfig::LIMITS`. ngoto (Naohisa Goto)
01:31 AM Bug #14761 (Closed): TestThread#test_join_limits hangs up on Solaris 10 with gcc
Applied in changeset commit:ruby-git|80bf542a6ccc8988e7ac6dbabcfe8955c587d402.
----------
Split TestThread#test_join_limits into peaces
* test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split
TestThread#test_join_limits for ...
ngoto (Naohisa Goto)
01:28 AM Bug #14761: TestThread#test_join_limits hangs up on Solaris 10 with gcc
Does `RbConfig::LIMITS` have `'INT64_MIN'` key?
Or the default `nil`?
nobu (Nobuyoshi Nakada)
04:11 AM Revision 88cb22e9 (git): configure.ac: move checks of -std=gnu99 and _XOPEN_SOURCE on Solaris
* configure.ac (ansi_options): On Solaris, "-std=gnu99" should be
appended to CPPFLAGS instead of warnflags and strict_warnflags,
because the flag affects existance of functions and macros.
* configure.ac (solaris*): Check _XOPEN_SO...
ngoto (Naohisa Goto)
03:57 AM Revision 52b29a33 (git): configure.ac: revert r63438
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ngoto (Naohisa Goto)
01:40 AM Revision a12bfb3b (git): iseq body local variables
* compile.c, iseq.c: extract body and param.keyword in iseq as
local variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:31 AM Revision db5765ba (git): fileutils.rb: remove code for OS/2 emx
* lib/fileutils.rb (FileUtils#mv): remove code for OS/2 emx, its
support has been dropped yeas ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

05/15/2018

11:16 PM Feature #14718: Use jemalloc by default?
Hi Yusuke, I'm sorry if this hasn't been approached the right way.
**The Problem**: Many large Rails apps have a memory fragmentation problem on 64-bit Linux. I hear reports of excessive memory consumption from users every day, I lin...
mperham (Mike Perham)
08:43 AM Feature #14718: Use jemalloc by default?
> mperham@gmail.com wrote:
> > An alternative is to tune glibc by reducing the number of arenas. Call this on startup:
> >
> > #include "malloc.h"
> > mallopt(M_ARENA_MAX, 2)

Btw, I created https://bugs.ruby-lang.org/iss...
normalperson (Eric Wong)
07:17 AM Feature #14718: Use jemalloc by default?
@mame I agree this is a problem it makes it slightly more complex to install Ruby. Ideally the build process could default to "trying to download" a specific version of jemalloc and building against it if it is unacceptable to include je... sam.saffron (Sam Saffron)
03:49 AM Feature #14718: Use jemalloc by default?
I've already said to Shyouhei, his patch has a problem: configure script fails on an environment where jemalloc is unavailable. I have hoped that those who want to make jemalloc default would found (and fix) the issue.
With the inten...
mame (Yusuke Endoh)
08:48 PM Revision a930a064 (git): * 2018-05-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:48 PM Revision 577002ef (git): Change logic to check _XOPEN_SOURCE on Solaris
* configure.ac: Change logic to check _XOPEN_SOURCE on Solaris.
With _XOPEN_SOURCE, "-std=gnu99" may also be added to CPPFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ngoto (Naohisa Goto)
03:02 PM Bug #14761: TestThread#test_join_limits hangs up on Solaris 10 with gcc
In the above situation when the test fails, `RbConfig::LIMITS['INT64_MIN']` is `nil`. ngoto (Naohisa Goto)
02:38 PM Bug #14761 (Open): TestThread#test_join_limits hangs up on Solaris 10 with gcc
After splitting the test, TestThread#test_join_limit_negative_INT64_MIN fails.
i.e. `limit=RbConfig::LIMITS['INT64_MIN']; t = Thread.new { sleep }; t.join(limit)` hangs up.
ngoto (Naohisa Goto)
02:31 PM Bug #14761 (Closed): TestThread#test_join_limits hangs up on Solaris 10 with gcc
Applied in changeset trunk|r63437.
----------
Split TestThread#test_join_limits into peaces
* test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split
TestThread#test_join_limits for investigating hang-up on Solaris.
Each met...
ngoto (Naohisa Goto)
02:21 PM Bug #14761 (Open): TestThread#test_join_limits hangs up on Solaris 10 with gcc
On Solaris 10, sparc architecture, when compiling ruby (r63417) by GCC (version 4.6.2), TestThread#test_join_limits did not end.
The test ended successfully when compiling ruby by Oracle Developer Studio 12.5 or 12.6.
ngoto (Naohisa Goto)
02:31 PM Revision 80bf542a (git): Split TestThread#test_join_limits into peaces
* test/ruby/test_thread.rb (TestThread#test_join_limit_*): Split
TestThread#test_join_limits for investigating hang-up on Solaris.
Each method tests only a single limit value.
[ruby-core:87045] [Bug #14761]
git-svn-id: svn+ssh://...
ngoto (Naohisa Goto)
10:51 AM Revision 6189f226 (git): signal.c: follow up r63435
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
10:38 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
Hi Robert,
I agree that we should not change current ruby behaviour.
I see the proposal as an extra functionality not a behaviour change.
Regarding allowing ruby hackers to do all they want:
* Ruby allows developers to find their...
dsferreira (Daniel Ferreira)
09:03 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
I am mostly neutral to somewhat against it; not because of the
additional information, but because of the **restrictions** put on
ruby hackers.
I think Daniel already summed some part of it up via:
> Also I only test the API.
>...
shevegen (Robert A. Heiler)
08:37 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
Sorry. I just corrected the typo:
`private_constant :Foo`
should read:
`private_constant :Bar`
dsferreira (Daniel Ferreira)
08:33 AM Feature #14758: Add a first-class support for isolated bounded packages / modules / contexts
Hi Grzegorz,
My proposal regarding the implementation of Internal Interfaces (internal access modifier) https://bugs.ruby-lang.org/issues/9992
was pondered when thinking around those terms but applies to internal classes/modules that...
dsferreira (Daniel Ferreira)
07:56 AM Feature #14758 (Open): Add a first-class support for isolated bounded packages / modules / contexts
While one of the core principles of Ruby is to extend the language in a way it is a most useful and convenient tool that a software developer can have in their toolbox, lack of a first-class isolation on module level can cause some serio... grzesiek (Grzegorz Bizon)
10:12 AM Misc #14698: DevelopersMeeting20180517Japan
Please discuss what cross-thread IO#close semantics should be
for threads stuck in IO.select and IO.copy_stream:
https://bugs.ruby-lang.org/issues/14760

Thank you. I am ambivalent about the outcome, but it would
help me plan supp...
normalperson (Eric Wong)
10:11 AM Revision 0c91f109 (git): vm_core.h (rb_execution_context_t): interrupt_mask size to match interrupt_flag
rb_atomic_t is 32-bit on 64-bit platforms (including the popular
x86-64 Linux), so save 4 bytes on this structure. This doesn't
result in any final size reduction due to padding, yet, but
future changes are possible to shrink rb_executi...
Eric Wong
10:10 AM Revision ff6520b0 (git): Added workaround to fileutils for `make btest` without rbconfig.
Followed up r63430.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
10:04 AM Misc #14760 (Assigned): cross-thread IO#close semantics
I wrote about cross-thread IO#close in ruby-core, but I'm not sure if it's a bug
or not to have missing support for IO.select and IO.copy_stream:
IO.select -
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/86655
https...
normalperson (Eric Wong)
08:25 AM Feature #14759 (Open): [PATCH] set M_ARENA_MAX for glibc malloc
Not everybody benefits from jemalloc and the extra download+install
time is not always worth it. Lets make the user experience for
glibc malloc users better, too.
Personally, I prefer using M_ARENA_MAX=1 (via MALLOC_ARENA_MAX
env)...
normalperson (Eric Wong)
08:08 AM Revision f50051ad (git): configure.ac: maybe with jemalloc
* configure.ac (--with-jemalloc): accept `maybe` (other than `yes`
and `no`), check for jemalloc and use it if possible.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:46 AM Revision c3b77e70 (git): generic_erb.rb: get rid of fileutils
* tool/generic_erb.rb: get rid of FileUtils.touch, not to depend
on fileutils.rb which will depend on rbconfig.rb which does not
exist when creating encdb.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63432 b2dd03c8-39d4-4d8f...
nobu (Nobuyoshi Nakada)
07:45 AM Revision 02c1358b (git): share :cause variable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
07:12 AM Feature #14757: [PATCH] thread_pthread.c: enable thread cache by default
Oops, I forgot to squash the patch and only sent the second part :x
Anyways, it is trivial:

```
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -432,7 +432,7 @@ native_thread_destroy(rb_thread_t *th)
}

#ifndef USE_THREAD_CA...
normalperson (Eric Wong)
12:48 AM Feature #14757 (Closed): [PATCH] thread_pthread.c: enable thread cache by default
~~~
Since r62466 ("thread_pthread.c: shorten and fix thread cache implementation"),
our thread cache is no longer buggy with programs using fork.
This makes significant improvements in vm_thread_alive_check1
and vm_thread_create_join...
normalperson (Eric Wong)
05:53 AM Revision 60fbe013 (git): Retry to merge fileutils-1.1.0.
* Revert "Revert "Merge fileutils-1.1.0.""
This reverts commit 84bb8e81c25d4d7d6020c3acfbbc36e9064200fa.
* Added workaround for make mjit-headers
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63430 b2dd03c8-39d4-4d8f-98ff-823...
hsbt (Hiroshi SHIBATA)
04:35 AM Revision a95369b3 (git): -Wno-cast-function-type
GCC 8.1+ introduced this warning in -Weverything. It does
shed some lights on something, but rather annoying than
useful ATM. Might be a subject to revert this option in a
future.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@634...
shyouhei (Shyouhei Urabe)
04:16 AM Revision 84bb8e81 (git): Revert "Merge fileutils-1.1.0."
This reverts commit 99da3d2570e110d3024039102205f6d64174bf5e.
The change caused the following build failure:
```
.../ruby/lib/fileutils.rb:88:in `require': cannot load such file -- rbconfig (LoadError)
uncommon.mk:987: recipe for target...
mame (Yusuke Endoh)
03:49 AM Revision 4e09f414 (git): thread.c: enable ppoll for FreeBSD 11.0 and later
FreeBSD 11.0+ supports ppoll, so we may use it after accounting
for portability differences in how it treats POLLOUT vs POLLHUP
events as mutually exclusive (as documented in the FreeBSD
poll(2) manpage).
For waiting on high-numbered si...
Eric Wong
01:29 AM Revision a687547a (git): -test-/wait_for_single_fd: fix -Wformat-security warning
Oops
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
01:22 AM Revision 6f960986 (git): Merge fileutils-1.1.0.
This version was migrated JRuby paches.
https://github.com/ruby/fileutils/pull/18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:08 AM Revision ee1b07b6 (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:08 AM Revision f4e451ce (git): test_io_wait_uncommon: new test for uncommon file types
This should make portability problems more apparent when we try
using ppoll with rb_wait_for_single_fd on FreeBSD or other
non-Linux platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong

05/14/2018

11:51 PM Revision b6f9a605 (git): test_wait_for_single_fd.rb: remove with_pipe helper
IO.pipe natively accepts a block, nowadays.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
11:51 PM Revision 863e24b2 (git): test_wait_for_single_fd: ensure this works with kqueue
Regardless of future features, this needs to work with
kqueue descriptors across platforms.
Today this will be useful for 3rd-party libraries using
kqueue. In the future, Ruby may use kqueue natively
and we shall ensure we can wait on ...
Eric Wong
11:42 PM Revision baaf3ba1 (git): test_wait_for_single_fd.rb: relax test for newer FreeBSD
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eric Wong
11:40 PM Revision 3bc10457 (git): * 2018-05-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:40 PM Revision cda10c6d (git): io.c: cleanup copy_stream wait-for-single-fd cases
Avoid paying unnecessary setup and teardown cost for rb_fdset_t
on platforms (Linux) with good poll() support. This simplifies
code makes future changes (perhaps for sleepy GC) easier.
* io.c (struct copy_stream_struct): remove rb_fdse...
Eric Wong
08:42 PM Feature #14723: [WIP] sleepy GC
I wrote:
> For tracking GC statistics, we should probably keep them in
> rb_execution_context_t instead of current globals using atomics.
> To recover the most memory from GC, we want to do gc_mark_roots

That's maybe too complex f...
normalperson (Eric Wong)
04:31 PM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> Shyouhei, I'm very happy with only the change in default. I believe that will significantly improve the runtime of 1000s of Ruby apps. Thank you!
It absolutely will. In my experience, jemalloc is a tr...
wyhaines (Kirk Haines)
03:58 PM Feature #14718: Use jemalloc by default?
Shyouhei, I'm very happy with only the change in default. I believe that will significantly improve the runtime of 1000s of Ruby apps. Thank you! mperham (Mike Perham)
08:30 AM Feature #14718: Use jemalloc by default?
sam.saffron (Sam Saffron) wrote:
> - On Linux X64 default to downloading a validated (using SHA1) tcmalloc/jemalloc from a particular location, allow for a flag to bypass this behavior
I have experimented with both tcmalloc and jem...
bluz71 (Dennis B)
07:53 AM Feature #14718: Use jemalloc by default?
Review wanted:
```diff
Index: trunk/configure.ac
===================================================================
--- trunk/configure.ac (revision 63416)
+++ trunk/configure.ac (working copy)
@@ -1014,7 +1014,7 @@
AC_ARG...
shyouhei (Shyouhei Urabe)
07:33 AM Feature #14718: Use jemalloc by default?
> You can explicitly specify --with-jemalloc, for a long time. I don't see any practical reason why that's insufficient.
I think this is a very legitimate question and worth talking through.
Vast majority of consumers of Ruby use ...
sam.saffron (Sam Saffron)
06:42 AM Feature #14718: Use jemalloc by default?
shyouhei (Shyouhei Urabe) wrote:
> You can explicitly specify `--with-jemalloc`, for a long time. I don't see any practical reason why that's insufficient. I can turn it default on. Anything beyond that requires a good reason to do s...
bluz71 (Dennis B)
03:16 AM Feature #14718: Use jemalloc by default?
You can explicitly specify `--with-jemalloc`, for a long time. I don't see any practical reason why that's insufficient. I can turn it default on. Anything beyond that requires a good reason to do so, not just "everybody else is jump... shyouhei (Shyouhei Urabe)
02:14 AM Feature #14718: Use jemalloc by default?
shyouhei (Shyouhei Urabe) wrote:
> This literally means we have to bug fix jemalloc. Please no.
It's a judgement call of which is more likely, theoretical jemalloc bugs or Ruby-on-Linux memory fragmentation?
Carrying an extra dep...
bluz71 (Dennis B)
12:09 AM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> You control the exact version and any resulting bugs.
This literally means we have to bug fix jemalloc. Please no.
> ...
Be warned; you are entering a field of persecuting minorities. Please respec...
shyouhei (Shyouhei Urabe)
01:54 PM Feature #14249: Remove str[match_str]
A use in replacement may look intuitive.
```
s = "Cage"
s["age"] = "heese"
p s
#=> "Cheese"
```
gotoken (Kentaro Goto)
10:57 AM Feature #14249: Remove str[match_str]
I believe "abc".include?("ab") is much clearer than "abc"["ab"].
Are there real usages of it?
I guess the main concern here is compatibility.
Eregon (Benoit Daloze)
08:43 AM Bug #14747: uninitialized constant Gem::PathSupport
Sorry to be late with my reply
hsbt (Hiroshi SHIBATA) wrote:
> I fixed this problem at r63377. I think that this is your environment problem.
> ...
Yes I did. I completely removed this directory, and made a full new checkout. As far...
duerst (Martin Dürst)
08:33 AM Bug #14756 (Closed): `Exception` may cause SEGV when `#backtrace` returns a string
Applied in changeset trunk|r63417.
----------
error.c: check redefined backtrace result
* error.c (rb_get_backtrace): check the result of `backtrace` even
if the method is redefined. [ruby-core:87013] [Bug #14756]
nobu (Nobuyoshi Nakada)
12:12 AM Bug #14756 (Closed): `Exception` may cause SEGV when `#backtrace` returns a string
This code causes SEGV, because `print_backtrace` expects second argument to be an array but a string is given.
```ruby
class Exception
def backtrace
"backtrace"
end
end
"".a
```
Also in ruby 2.3.7, 2.4.4, 2.5.1.
yui-knk (Kaneko Yuichiro)
08:33 AM Revision 6f0de6ed (git): error.c: check redefined backtrace result
* error.c (rb_get_backtrace): check the result of `backtrace` even
if the method is redefined. [ruby-core:87013] [Bug #14756]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:14 AM Feature #14739: Improve fiber yield/resume performance
Here is the test which shows coroutine arguments and `coroutine_transfer` result.
https://github.com/kurocha/coroutine/blob/9bbd5e514c2e0f8f3c7c1c277aa6deb5e337a9c7/test/Coroutine/transfer.cpp#L17-L21
The reason for `COROUTINE` mac...
ioquatix (Samuel Williams)
08:05 AM Feature #14739: Improve fiber yield/resume performance
@ko1 I would suggest we make a Ruby specific version, but we can also try to make generic static library so that it can be maintained separately. I already have some other projects using coroutines so it's useful to me to have a C librar... ioquatix (Samuel Williams)
07:49 AM Feature #14739: Improve fiber yield/resume performance
sorry I missed comments.
How to ship with this library? bundle it or download by others?
(this is similar discussion with jemalloc :))
ko1 (Koichi Sasada)
07:40 AM Feature #14739: Improve fiber yield/resume performance
Does this change move us any closer to being able to ship fibers between threads? sam.saffron (Sam Saffron)
06:39 AM Revision 1e8ff0de (git): Update test-unit 3.2.8 for bundled gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
03:30 AM Revision 6c7fe8eb (git): * 2018-05-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:30 AM Revision 4f3c4c7d (git): RSTRING_PTR is not guaranteed to be char*-aligned
This commit eliminates (char **)RSTRING_PTR(...) like usages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)

05/13/2018

11:32 PM Feature #14249: Remove str[match_str]
IIUC, Ana is saying that `str[match_str]` does not make sense because it always returns `match_str`.
But it does make sense because it returns `nil` if `str` does not contain such a substring. i.e. it is useful to test if the string con...
yugui (Yuki Sonoda)
11:32 PM Bug #14429: Overzealous escaping of + in Shellwords
Ping (and confirming that this is still the case on `2.5.1p57`). woodruffw (William Woodruff)
12:31 PM Revision 8b88f70a (git): compile.c: Fix segfault when VM_INSN_INFO_TABLE_IMPL is not 2
* compile.c (ibf_dump_iseq_each): Fix a range of a conditional.
`positions` is only used when VM_INSN_INFO_TABLE_IMPL is 2.
And always `dump_body` is expected to be initialized by
`iseq->body`. For example, `dump_body->insns_info.s...
yui-knk (Kaneko Yuichiro)
01:18 AM Revision 83be2ce4 (git): * 2018-05-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:18 AM Revision 2c091f56 (git): optparse.rb: Remove redundant `.freeze`
[Fix GH-1873]
From: Masataka Pocke Kuwabara <kuwabara@pocke.me>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

05/12/2018

06:20 PM Bug #14755: Aborted (core dumped)
Node?? shevegen (Robert A. Heiler)
03:32 PM Bug #14755 (Closed): Aborted (core dumped)
/usr/local/lib/ruby/2.5.0/armv7l-linux-eabihf/enc/encdb.so: [BUG] Segmentation fault at 0x00000000
ruby 2.5.1p57 (2018-03-29 revision 63029) [armv7l-linux-eabihf]
-- Control frame information -----------------------------------------...
Candbot (Candbot Chan)
02:41 PM Misc #14753 (Closed): Add documentation for "into" option of optparse
Applied in changeset trunk|r63410.
----------
optparse.rb: [DOC] about into: option
* lib/optparse.rb: add documentation for "into" option of #parse
and family, which stores options to a Hash.
[ruby-core:87004] [Misc #14753]
From:...
nobu (Nobuyoshi Nakada)
10:41 AM Misc #14753: Add documentation for "into" option of optparse
\o/
It's nice to see people improving on optparse - the awkward documentation
has been one reason for me to avoid it.
shevegen (Robert A. Heiler)
06:06 AM Misc #14753 (Closed): Add documentation for "into" option of optparse
This patch adds an example code for ``into`` option into the optparse documentation.
``into`` keyword argument has been added with https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/53444 . However documentation for usa...
pocke (Masataka Kuwabara)
02:41 PM Revision 5c0e6cc8 (git): optparse.rb: [DOC] about into: option
* lib/optparse.rb: add documentation for "into" option of #parse
and family, which stores options to a Hash.
[ruby-core:87004] [Misc #14753]
From: pocke (Masataka Kuwabara) <kuwabara@pocke.me>
git-svn-id: svn+ssh://ci.ruby-lang.org...
nobu (Nobuyoshi Nakada)
09:14 AM Bug #14749 (Closed): IRB: `_` is not updated after exception raised
Applied in changeset trunk|r63409.
----------
irb.rb: update `_`
* lib/irb.rb (IRB::Irb#eval_input): update `_` after exception.
[ruby-core:86989] [Bug #14749]
nobu (Nobuyoshi Nakada)
09:13 AM Revision 707c5ffa (git): irb.rb: update `_`
* lib/irb.rb (IRB::Irb#eval_input): update `_` after exception.
[ruby-core:86989] [Bug #14749]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:09 AM Revision 4969fb62 (git): fix TestInputMethod
* test/irb/test_context.rb (TestInputMethod#initialize): fix typos
and increment `line_no` only when not reaching the end.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:06 AM Revision 97c07d34 (git): rss: Add option Hash support to RSS::Parser.parse
Available options:
* :validate
* :ignore_unknown_element
* :parser_class
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Sutou Kouhei
08:08 AM Bug #14754 (Closed): Backport openssl v2.1.1 / v2.0.8
Ruby/OpenSSL 2.1.1 and 2.0.8 contain some bug fixes, including compatibility with LibreSSL 2.7.x.
https://github.com/ruby/openssl/compare/v2.1.0...v2.1.1
trunk is updated to v2.1.1 by r63406.
Ruby 2.5 maintainer: Please backpo...
rhenium (Kazuki Yamaguchi)
08:02 AM Misc #12781: Segmentation fault on macOS Sierra (sqlite3_adapter.rb)
It's an[](http://www.diethealthsupplements.com/) apple's[](http://www.forskolinfuel-reviews.com/) bug[](http://www.bestdietpillsreviews.com/) stevensalbert (Steven Steven)
07:33 AM Revision 961cbe52 (git): openssl: merge changes in v2.1.1
Commits in upstream repository since v2.1.0 can be found at:
https://github.com/ruby/openssl/compare/v2.1.0...v2.1.1
----------------------------------------------------------------
Kazuki Yamaguchi (7):
test/utils: disab...
rhenium (Kazuki Yamaguchi)
01:26 AM Revision 23666ac1 (git): io.c: fix typo and phrase [ci skip]
[Fix GH-1872]
From: Leon M. George <leon@georgemail.eu>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:24 AM Revision 610c6ba5 (git): iseq.c: iseq body local variables
* iseq.c: extract body and param.keyword in iseq as local
variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:24 AM Revision 67221be8 (git): iseq.c: refactoring rb_iseq_free
* iseq.c (rb_iseq_free): call mjit_free_iseq only if iseq->body is
not NULL too, as the function accesses the body.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:58 AM Feature #14718: Use jemalloc by default?
mperham (Mike Perham) wrote:
> ~~~
> ...
This is a very strong point.
Legacy versions of jemalloc are solid as a rock. Newer versions have a higher chance of unexpected quirks. For instance Sam Saffron had unusual results with jemal...
bluz71 (Dennis B)
12:17 AM Bug #14752: abort during build full build log
this is the full build log extremelydangerous (sergio lenzi)

05/11/2018

11:34 PM Bug #14752 (Closed): abort during build full build log
during ruby build on NetBSD arm the system aborts and I cannot find a core or anything else to
debug it. as the program miniruby does not leave a core dump
================session follows=========================
/usr/work/lang/ruby...
extremelydangerous (sergio lenzi)
10:08 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
ShockwaveNN (Pavel Lobashov) wrote:
> Thanks for quick fix, I monkeypatched my code using your fix and working as intended.
> ...
I think the fix should be backported to 2.5.
shugo (Shugo Maeda)
01:35 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
shugo (Shugo Maeda) wrote:
> Applied in changeset trunk|r63396.
> ...
Thanks for quick fix, I monkeypatched my code using your fix and working as intended.
Does this fix will be included in next bugfix of 2.5? Or it will be included o...
ShockwaveNN (Pavel Lobashov)
12:39 PM Bug #14750 (Closed): [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
Applied in changeset trunk|r63396.
----------
net/imap: Fix ArgumentError in send_string_data
Thanks to ShockwaveNN (Pavel Lobashov) for reporting the bug.
[ruby-core:86990] [Bug #14750]
shugo (Shugo Maeda)
12:01 PM Bug #14750: [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
You are right, it seems indeed as if it was forgotten, as seen by:
https://github.com/ruby/ruby/commit/84c1596342854208c45832ed9700482dd28efbfc#diff-4b4baaf75652a369c39b0b76e81ad54dR1315
shevegen (Robert A. Heiler)
09:49 AM Bug #14750 (Closed): [IMAP] `send_string_data` uses `send_literal` method with incorrect number of arguments
Hi there, sorry I haven't reliable test case to reproduce an issue, since I don't have access to any public IMAP servers.
In Ruby 2.5 in file `lib/net/imap.rb` there is method `def send_string_data` which looks like
~~~ ruby
def ...
ShockwaveNN (Pavel Lobashov)
08:07 PM Revision 4b8d33a3 (git): lib/securerandom.rb: improve docs
* lib/securerandom.rb: [DOC] drop unnecessary `p' from code examples.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
stomar (Marcus Stollsteimer)
05:21 PM Revision 3d1e34c1 (git): configure.ac: remove ineffective check on Solaris with GCC
* configure.ac (solaris): Remove ineffective check for -std=iso9899:1999
on Solaris with GCC. The "-std=iso9899:1999" was replaced by
"-std=gnu99" by the commit r54895. The check is no longer effective
after that, and two years hav...
ngoto (Naohisa Goto)
04:48 PM Bug #14751 (Closed): error during transform_mjit_header.rb on Solaris 10
Applied in changeset trunk|r63400.
----------
transform_mjit_header.rb: workaround for Solaris 10 with old GCC
* tool/transform_mjit_header.rb (MJITHeader.conflicting_types?):
Add workaround for Solaris 10 with old GCC (4.6.2), that ...
ngoto (Naohisa Goto)
04:24 PM Bug #14751 (Closed): error during transform_mjit_header.rb on Solaris 10
Solaris 10 にて、以下のエラーで transform_mjit_header.rb に失敗します。
(r63361 にて確認)
~~~
gcc -E -DMJIT_HEADER -P -dD -m64 -O3 -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautologic...
ngoto (Naohisa Goto)
04:47 PM Revision 1c67c46e (git): transform_mjit_header.rb: workaround for Solaris 10 with old GCC
* tool/transform_mjit_header.rb (MJITHeader.conflicting_types?):
Add workaround for Solaris 10 with old GCC (4.6.2), that is
essentially the same as for AIX (commit r62326), but probably
due to different GCC versions, different err...
ngoto (Naohisa Goto)
04:23 PM Feature #14718: Use jemalloc by default?
~~~
Bundle jemalloc and link it statically.
pro: No runtime hell.
con: Bloats source distribution. Costs non-glibc users.
con: Also costs the core devs because they have to sync the bundled jemalloc with the upstream.
...
mperham (Mike Perham)
04:06 AM Feature #14718: Use jemalloc by default?
bluz71 (Dennis B) wrote:
> Just enabling `--with-jemalloc` would satisfy pretty much most (myself included). On Linux it would be one extra dependency at build time (for distros, rvm/rbenv/ruby-install). Dependency management on the m...
bluz71 (Dennis B)
04:00 AM Feature #14718: Use jemalloc by default?
jeremyevans0 (Jeremy Evans) wrote:
> I think you have me confused with Jason Evans, the author of jemalloc. :)
Yes indeed I did, please accept my apologies, I did believe you were the JE in jemalloc.
bluz71 (Dennis B)
03:38 AM Feature #14718: Use jemalloc by default?
mame (Yusuke Endoh) wrote:
> (Don't get me wrong: I'm never against jemalloc nor this feature. I'm purely unsure.)
It is right to be unsure and sceptical.
But in this case we do have years worth of experience with the benefits ...
bluz71 (Dennis B)
03:28 AM Feature #14718: Use jemalloc by default?
> - Just enable `--with-jemalloc` default on, only for Linux.
This is my close 2nd favoured option.
> ...
No, too complicated. I don't think anyone wants this.
> - Bundle jemalloc and link it statically.
My favoured, but I un...
bluz71 (Dennis B)
03:01 AM Feature #14718: Use jemalloc by default?
normalperson (Eric Wong) wrote:
> We will depend on distros to enable/disable the dependency on it.
Yes. This is what I wanted to ask.
Since almost all people use distros' package of Ruby, the final decision is left to distros.
Th...
mame (Yusuke Endoh)
02:22 AM Feature #14718: Use jemalloc by default?
shyouhei@ruby-lang.org wrote:
> So, I think it's clear people are interested in replacing _glibc_ malloc, not everything that exist in the whole universe.
>
> Let's discuss how we achieve that. There can be several ways:
>
> - J...
normalperson (Eric Wong)
01:31 AM Feature #14718: Use jemalloc by default?
So, I think it's clear people are interested in replacing _glibc_ malloc, not everything that exist in the whole universe.
Let's discuss how we achieve that. There can be several ways:
- Just enable `--with-jemalloc` default on, o...
shyouhei (Shyouhei Urabe)
03:46 PM Bug #14746 (Closed): $cppflags が ext/zlib/Makefile に反映されないため(?) Solaris 10 にて ext/zlib のmakeに失敗する
Applied in changeset trunk|r63398.
----------
mkmf.rb: set cppflags
* ext/mkmf.rb (configuration): set the default cppflags, which is
referred from the default CPPFLAGS, for extension libraries.
This fixes build failure of ext/zlib...
ngoto (Naohisa Goto)
03:32 PM Bug #14746: $cppflags が ext/zlib/Makefile に反映されないため(?) Solaris 10 にて ext/zlib のmakeに失敗する
mkmf時に使用した$cppflagsが生成されたMakefileに反映されないのはlib/mkmf.rbのバグだと思います。
以下のパッチで$cppflagsが生成されたMakefileに書き込まれ、ext/zlibのmakeも通ることを確認しました。(r63393にて確認)
~~~
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -1982,6 +1982,7 @@ def configuration(srcdir)
...
ngoto (Naohisa Goto)
03:46 PM Revision 94cb4cef (git): * 2018-05-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:46 PM Revision 5cc2ac98 (git): mkmf.rb: set cppflags
* ext/mkmf.rb (configuration): set the default cppflags, which is
referred from the default CPPFLAGS, for extension libraries.
This fixes build failure of ext/zlib on Solaris 10.
[Bug #14746] [ruby-dev:50539]
git-svn-id: svn+ssh:...
ngoto (Naohisa Goto)
02:20 PM Bug #14747 (Feedback): uninitialized constant Gem::PathSupport
I fixed this problem at r63377. I think that this is your environment problem.
Did you clean-up with `/cygdrive/c/Data/ruby` ?
hsbt (Hiroshi SHIBATA)
11:00 AM Bug #14747: uninitialized constant Gem::PathSupport
hsbt (Hiroshi SHIBATA) wrote:
> I caused by broken csv-1.0.3.gemspec. Can you try to clean installation directory and re-install trunk version?
I tried. I completely removed the checkout, and checked everything out from svn again, th...
duerst (Martin Dürst)
01:01 PM Revision b936115e (git): fix potential memory leaks
* parse.y (primary, new_args_tail, local_tbl): keep the order;
allocate an empty imemo first then xmalloc, to get rid of
potential memory leak when allocation imemo failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63397 b2d...
nobu (Nobuyoshi Nakada)
12:39 PM Revision 59630683 (git): net/imap: Fix ArgumentError in send_string_data
Thanks to ShockwaveNN (Pavel Lobashov) for reporting the bug.
[ruby-core:86990] [Bug #14750]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
12:12 PM Revision b787be4e (git): * 2018-05-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:12 PM Revision 0f4b4684 (git): Use `&.` instead of modifier if
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
11:22 AM Bug #14728: OptionParser takes other options as argument values
nobu (Nobuyoshi Nakada) wrote:
> In common, an argument is determined by the preceding option, consider `grep` command's `-e` option.
> ...
Thanks!
xz0r (xz0r xz0r)
10:20 AM Feature #14249: Remove str[match_str]
I can tell you that the `str[match_str]` is used in many codes, but i can't find any example now
and no, it is different from `str[regex]` !
Hanmac (Hans Mackowiak)
09:57 AM Feature #14249: Remove str[match_str]
My example in the first comment is not really correct (something went wrong when copying). What I meant:
~~~ ruby
params = { "user" => { "name" => "Nicolas Cage", "age" => 27 } }
params["user"]["age"] #=> 27
params = { "user" =...
ana06 (Ana Maria Martinez Gomez)
10:02 AM Misc #14698: DevelopersMeeting20180517Japan
Hi!
I would that the following issues are discussed in the meeting:
* [Feature #14097] Add union and difference to Array (ana06)
* Addition of two new methods in aim of readability, ease of use, efficiency and consistence. There...
ana06 (Ana Maria Martinez Gomez)
08:49 AM Bug #14749 (Closed): IRB: `_` is not updated after exception raised
After r63150, once exception raised, irb holds that exception to `_` instead of the last evaluated value.
~~~irb
$ irb -f
irb(main):001:0> RUBY_VERSION
=> "2.6.0"
irb(main):002:0> _
=> "2.6.0"
irb(main):003:0> raise RUBY_RELEASE...
no6v (Nobuhiro IMAI)
05:52 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
janko.marohnic@gmail.com wrote:
> def initialize(content)
> @io = StringIO.new(content)
> end
>
> def read(length, outbuf)
> chunk = @io.read(length)

Finally, I always assumed your example is a contrived case and...
normalperson (Eric Wong)
04:32 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
janko.marohnic@gmail.com wrote:
> ~~~ ruby
> def read(length, outbuf)
> chunk = @io.read(length)
>
> if chunk
> outbuf.replace chunk
> chunk.clear

Elaborating on my previous comment, chunk.clear is a no...
normalperson (Eric Wong)
03:42 AM Bug #14745: High memory usage when using String#replace with IO.copy_stream
janko.marohnic@gmail.com wrote:
> the memory usage has now doubled to 100MB at the end of the
> program, indicating that some string bytes weren't
> successfully deallocated. So, it seems that String#replace has
> different behaviou...
normalperson (Eric Wong)
03:09 AM Bug #14748 (Closed): Inconsistent (and regressed from 2.4) behavior on `Array#min` and max between array literals and arrays
This is already fixed in trunk at r61766. Please wait for ruby 2.5.2.
(Note that #12172 is innocent because opt_newarray_min is included in 2.4 :-)
mame (Yusuke Endoh)
03:04 AM Bug #14748: Inconsistent (and regressed from 2.4) behavior on `Array#min` and max between array literals and arrays
Related to this?
https://bugs.ruby-lang.org/issues/14350
Hanmac (Hans Mackowiak)
02:09 AM Bug #13407: We have recv_nonblock but not send_nonblock... can we add it?
I have since worked around this issue, by using `sendmsg` as an alias. https://github.com/socketry/async-io/blob/dbcfb05d209a41d2283e49c75c407a93179a64b6/lib/async/io/socket.rb#L47 ioquatix (Samuel Williams)
02:08 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
> Server and reactor designers sometimes don't consider this case:
> ...
I see. That makes sense.
Well, `async-io` doesn't have this problem AFAIK, because it doesn't have callbacks like this. It only read when you ask it to. That do...
ioquatix (Samuel Williams)
 

Also available in: Atom