Activity
From 05/22/2017 to 05/28/2017
05/28/2017
-
07:48 PM Feature #13606: Enumerator equality and comparison
- MSP-Greg (Greg L) wrote:
> Could be helpful, but some `Enumerators` are not ordered. So how would `==` work for 'hash like' objects (assuming they're not based on a hash, which has an `==` operator)?
> ...
Equal objects should produce... -
06:21 PM Feature #13606: Enumerator equality and comparison
- Could be helpful, but some `Enumerators` are not ordered. So how would `==` work for 'hash like' objects (assuming they're not based on a hash, which has an `==` operator)?
I suppose it could be considered 'restricted' to ordered col... -
04:55 PM Feature #13606: Enumerator equality and comparison
- duerst (Martin Dürst) wrote:
> Sounds interesting in theory, but do you have actual use cases? And do you think that the potential inefficiency is worth it?
The use cases are the same as for comparing `Array`s.
The potential ineffic... -
04:50 PM Feature #13606: Enumerator equality and comparison
- shevegen (Robert A. Heiler) wrote:
> [...] but they are not entirely the same are they? Different
> ...
Most objects in Ruby are compared semantically if the object IDs are different, including `Array` and `Hash`.
> What would the... -
02:01 PM Feature #13606: Enumerator equality and comparison
- I am not even sure that I understand the proposal.
If I understood it correctly then two enumerable objects (did I get this part right)
should return true if they behave/return the same? I think I can see it being
related to duck t... -
08:29 AM Feature #13606 (Feedback): Enumerator equality and comparison
- Sounds interesting in theory, but do you have actual use cases? And do you think that the potential inefficiency is worth it?
-
06:47 PM Feature #13604: Exposing alternative interface of readline
- It should be possible. The bool is easy (I just set it on `Readline` module just like I do the handler block and I try to find a way to pass `char *` inside VALUE. I'll find a way and post updated patch.
I don't really see a benefit t... -
04:41 PM Revision abbfc048 (git): suppress warning: ambiguous first argument; put parentheses or a space even after `-' operator
- Introduced at r58905
http://rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20170526T153003Z.diff.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:40 PM Revision dd014800 (git): Revert "Update to ruby/spec@2a047c8"
- This reverts commit 2531a1013b56a030f99ea4c2ee36e66dbf38a855.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 04:29 PM Revision 5fcbdd3d (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 04:29 PM Revision 8847d0b6 (git): * 2017-05-29
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:29 PM Revision 0f9fa1dd (git): Revert r58939 and r58942
- This reverts following commits because it breaks mswinci
* Update to ruby/spec@2a047c8
* Update to ruby/spec@ca32ae2
see also the result:
http://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-trunk/log/20170528T14001... -
02:53 PM Bug #13607 (Closed): .rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/forwardable.rb:228: [BUG] Segmentation fault at 0x00000000000038
- I got the follow output when create a simple relationship in Rails, here the code snippet (NOTE: 15 times).
It appears in a randomic way!
```ruby
@t = 15
@t.times do
FactoryGirl.create :entity_user
end
@users = User.al... -
02:17 PM Revision 1245a4a4 (git): lldb_cruby.py: constants from the target
- * misc/lldb_cruby.py (lldb_init): get constants from
ruby_dummy_gdb_enums in the target.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:02 PM Revision 75adc77e (git): Update to ruby/spec@ca32ae2
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:38 AM Feature #13570 (Closed): Using mkmf for ruby/spec C API specs
- I made the change in https://github.com/ruby/spec/commit/84ea66ef61424ef87d03658cbc140d4b1af17c22
which was imported in r58939. - 11:30 AM Revision 135ed12e (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:30 AM Revision 4c1403c3 (git): Add tool to pull latest mspec/spec when commits have been synchronized
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:30 AM Revision 2531a101 (git): Update to ruby/spec@2a047c8
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:49 AM Revision ab55cd9f (git): ruby.c: file in load_file argument
- * ruby.c (load_file): move opened file to an argument, to reduce
open/close calls in the near future.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:49 AM Revision 3ade78ff (git): ruby.c: shrink ruby_cmdline_options_t
- * ruby.c (ruby_cmdline_options_t): reordered members and turned
simple flags into bit fields to reduce the size (136->104 on
LP64).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 05:39 AM Revision a028cfc5 (git): test/ruby/test_io.rb: adjust CPU usage check to 10%
- I miscalculated for r58934, since we sleep 100ms, and
the worst possible case is 100 Hz in the kernel meaning
we only have 10ms resolution. So, we need to increase
our CPU percentage to >= 10% for this.
This should be more than enough ... -
01:48 AM Feature #11952 (Closed): Use getrusage for Process.times if available
- Applied in changeset trunk|r58935.
----------
process.c: Use getrusage(2) in Process.times
if getrusage(2) is available, to improve precision of Process.times and
its user like lib/benchmark.rb.
On macOS, since getrusage(2) ha... -
01:48 AM Revision 253232c0 (git): process.c: Use getrusage(2) in Process.times
- if getrusage(2) is available, to improve precision of Process.times and
its user like lib/benchmark.rb.
On macOS, since getrusage(2) has better precision than times(3),
they are much improved like:
* Before
Process.times
=> #<struct P... - 01:43 AM Revision 109ccfdb (git): tests: increase CPU percentage threshold for assert_cpu_usage_low
- When sleeping for the tick rate of 100ms (defined in
thread_pthread.c) as we do in test/ruby/test_io.rb
(test_copy_stream_no_busy_wait), it may not be possible to
measure with <= 10ms resolution on 100HZ systems (CONFIG_HZ in
the Linux k...
05/27/2017
-
11:22 PM Feature #13606 (Rejected): Enumerator equality and comparison
- In Ruby, most objects are compared by value. What do you think about `Enumerator`s following the same pattern? I think this would greatly increase the expressiveness of Ruby.
Proposal:
Two `Enumerator`s should be considered equal (... -
10:22 PM Feature #11952: Use getrusage for Process.times if available
- It seems fine.
Actually, times(3) is implemented using getrusage(2) on NetBSD.
http://cvsweb.netbsd.org/cgi-bin/cvsweb.cgi/src/lib/libc/gen/times.c?rev=1.15&content-type=text/x-cvsweb-markup
Also, times(2) seems to obtain same res... - 09:55 PM Revision ddf2a167 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 09:55 PM Revision 33319b88 (git): * remove trailing spaces.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:55 PM Revision ead40959 (git): Update to ruby/spec@2795010
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:54 PM Revision 24db4287 (git): Update to ruby/mspec@6c95759
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:05 PM Feature #13604: Exposing alternative interface of readline
- All improvements to Readline are great - I can't have commandline user interfaces in ruby (on linux) without Readline these days. :)
The only thing that I think isn't too great is the use of global variables. Is it possible to get rid... -
10:01 AM Feature #13604 (Closed): Exposing alternative interface of readline
- GNU Readline has multiple modes of operation. At the moment, the readline extension only supports typical, `Readline.readline` mode. However, there is also alternative callback-based interface which is also useful.
```ruby
require_re... -
08:09 PM Bug #13605 (Closed): GC bug calling `ObjectSpace.each_object`
- This code made Ruby bail out with the message "[BUG] rb_gc_mark(): 0x000000040dc740 is T_NONE":
~~~ ruby
ObjectSpace.each_object(Module){|m|
next if (to_ignore.include?(m) rescue true)
if m.respond_to?(:instance_methods)
... -
06:39 PM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Usaku,
You are correct. Linked from the page you mentioned is [_tzset](https://msdn.microsoft.com/en-us/library/90s5c885.aspx). This (sort of) doc's what ENV['TZ'] can be set to.
From my testing, the strings can be anything. I c... -
05:25 PM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Interesting, an offset of 3600 means 1 hour so UTC+1, like current TZ=Europe/London summer time.
Does anyone know what could go wrong?
I am thinking part of it might be that C functions related to time
might behave slightly differ... -
03:46 PM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Sorry for the delay, I'm at -0500 (Central US), and I seem to have lost a video card this morning.
Anyway, error is identical to [mingw mspec](https://msp-greg.github.io/file.mingw_test-all.html#mspec-1-failure). Below is the full ru... -
10:26 AM Bug #13591 (Feedback): spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Once I reproduced the behavior, but after some maintenance of my mingw environment, it doesn't appear.
Anyway at this time, it's considered as a bug of ruby or spec or mingw or something.
Just removing spec sounds not appropriate. -
09:33 AM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- FWIW the patch looks OK to me, I think we should merge it.
This might be a difference between the different configuration of Windows builds.
Testing for invalid timezones is rather difficult,
some platforms behave differently, and t... -
05:53 AM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Nobu,
I'll have a look at your code, see if I can determine whats going on. Believe me, I did a couple of builds, and it kept failing...
Thanks. -
05:18 AM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- I haven't seen such failure on AppVeyor yet.
https://ci.appveyor.com/project/nobu/ruby/build/1.0.119 -
02:46 AM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Having now built with [mswin-build](https://github.com/unak/mswin-build), this test still fails. Also, I'm seeing some of the same issues in test-all (test-enum callcc segv, etc).
Please try and run the spec tests (or this specific t... - 05:04 PM Revision d97c171b (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 05:04 PM Revision 67ffb0dc (git): * 2017-05-28
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:04 PM Revision 4d177a1f (git): Initial commit of LLDB port of debug utility
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:29 PM Feature #13560: Module#attr_ methods return reasonable values
- > What would perhaps be nice would be to have a way to initialize these to nil, upon
attr_* definition
Why nice ? This is definitely a purpose of `initialize` method. Belongs to object initialization, not class definition. In additio... -
03:17 PM Bug #13603: SecureRandom.uuid is not valid v4 and/or RFC 4122
- shyouhei (Shyouhei Urabe) wrote:
> Is this a matter of our test code, or the actual output of SecureRandom.uuid does not conform the RFC?
test-case from repo (https://github.com/ruby/ruby/blob/ruby_2_4/test/test_securerandom.rb#L174)... -
01:31 AM Bug #13603: SecureRandom.uuid is not valid v4 and/or RFC 4122
- Is this a matter of our test code, or the actual output of SecureRandom.uuid does not conform the RFC?
-
01:54 PM Revision 1d9030a1 (git): bootstraptest/test_insns.rb: Fix typo
- on test message. "torexp" insn does not exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:49 AM Feature #13483: TracePoint#enable with block for thread-local trace
- ko1 (Koichi Sasada) wrote:
> However, this proposal breaks this expectation.
Could you explain it?
Is it because trace.enable { code } does not behave like
begin; trace.enable; code; ensure; trace.disable; end ?
If so, I think... - 08:26 AM Revision b3d126d5 (git): rb_wait_for_single_fd: do not OOM or segfault with invalid FD on select()
- Instead, match the poll() implementation used on Linux for now;
as the Linux poll(2) manpage describes using negative FD to
easily ignore an FD in a larger FD set while (sleeping the given
timeout). I'm not entirely sure if matching pol... - 07:23 AM Revision 71dca4b6 (git): test for IO.copy_stream CPU usage (r58534)
- I'm likely to make similar mistakes in the future when working
on Fiber auto-scheduling. Start adding assertions for existing
code, first.
* test/ruby/test_io.rb (test_copy_stream_no_busy_wait): added
* test/lib/test/unit/assertions.rb... - 07:18 AM Revision 85fe3def (git): Revert "common: "test-all" depends on "exts" target"
- This reverts r58919.
Apparently skipping exts is intentional since r58759
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:41 AM Bug #13503 (Closed): Improve performance of some Time & Rational methods
- Applied in changeset trunk|r58922.
----------
Improve performance of some Time & Rational methods
rational.c (i_gcd): replace GCD algorithm from Euclidean algorithm to Stein
algorithm (https://en.wikipedia.org/wiki/Binary_GCD_algor... -
05:41 AM Bug #13519 (Closed): Improve performance of some Time methods
- Applied in changeset trunk|r58921.
----------
Improve performance of some Time methods
internal.h : add rb_numeric_quo() as internal API.
rational.c : rename numeric_quo() to rb_numeric_quo() as internal API.
time.c (quov): optimize by... -
05:41 AM Revision b0accd9b (git): Improve performance of some Time & Rational methods
- rational.c (i_gcd): replace GCD algorithm from Euclidean algorithm to Stein
algorithm (https://en.wikipedia.org/wiki/Binary_GCD_algorithm).
Some Time methods will call internal quov() function and it calls
Rational#quo -> f_... -
05:41 AM Revision 6fcb76ed (git): Improve performance of some Time methods
- internal.h : add rb_numeric_quo() as internal API.
rational.c : rename numeric_quo() to rb_numeric_quo() as internal API.
time.c (quov): optimize by invoking rb_numeric_quo() to retrieve a value of
Numeric#quo instead of method dispa... -
05:18 AM Revision e7ff8622 (git): .travis.yml: exts is not needed for tests here
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 04:35 AM Revision f9afb444 (git): common: "test-all" depends on "exts" target
- This allows me to test changes to ext/ more easily by only typing:
make test-all TESTS=/path/to/ext/test_foo.rb
I spent a few minutes wondering what was wrong before I realized
changes to exts were not taking effect.
git-svn-id: svn... -
04:12 AM Feature #13602: Optimize instance variable access if $VERBOSE is not true when compiling
- It doesn't look nice to assume `$VERBOSE` doesn't change.
And seems that benchmark includes allocation and initialization. -
03:43 AM Revision 8e81b3c7 (git): mspec/commands/mspec.rb: formatter for multi_exec
- * spec/mspec/lib/mspec/commands/mspec.rb (MSpecMain#multi_exec):
as multi_exec children must run with yaml formatter, append the
option for it after other options to override another formatter
option with a warning if it is given.
... -
03:14 AM Revision 944c8f40 (git): .travis.yml: get number of processors at runtime
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:06 AM Revision 2e75043a (git): erb.rb: Use str_uplus instead of rb_str_dup
- to skip unnecessary string allocation on frozen_string_literal: false.
str_uplus can bypass calling rb_str_dup when OBJ_FROZEN is true.
* Before
erb_render 1.064
* Afete
erb_render 0.909
git-svn-id: svn+ssh://ci.ruby-lang.... -
02:47 AM Revision 697c82b6 (git): benchmark: Rename to bm_erb_render.rb
- from bm_app_erb_render.rb.
I'm told from ko1 that bm_app_* is namespace for Ruby applications,
not for ERB and we should use bm_erb_* for ERB benchmark instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58915 b2dd03c8-39d4-4d8f... -
02:01 AM Revision b3a9fd0d (git): apply timeout scale
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:40 AM Feature #13601 (Closed): Remove yield_self from Ruby 2.5 (already implemented)
- Closing as per request.
-
12:23 AM Feature #13601: Remove yield_self from Ruby 2.5 (already implemented)
- You both have provided better examples as to the differences. Also finding out `yield_self` returns an Enumerator was a new one to me. I guess this feature request can be closed.
-
01:36 AM Feature #13600: yield_self should be chainable/composable
- I'm not sure if this should be an extension to yield_self or a separate new method.
-
01:26 AM Bug #13599 (Closed): Float#ceil(n) doesn't work for small floats
- Applied in changeset trunk|r58913.
----------
numeric.c: fix for small number
* numeric.c (flo_floor, flo_ceil): should not return zero for small
number. [ruby-core:81394] [Bug #13599] -
01:26 AM Revision 9f5a468c (git): numeric.c: fix for small number
- * numeric.c (flo_floor, flo_ceil): should not return zero for small
number. [ruby-core:81394] [Bug #13599]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:04 AM Revision 1dec75c0 (git): dir.c: fix FD leaks
- * dir.c (do_opendir): close FD when fdopendir failed, e.g.,
ENOTDIR. [Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/26/2017
-
09:37 PM Feature #13601: Remove yield_self from Ruby 2.5 (already implemented)
- `instance_eval` changes scope, while `yield_self` does not.
```ruby
class A
def foo
1
end
def yield_self
yield self
end
end
def self.foo
2
end
p A.new.instance_eval { self.foo * 3 } # => 3
p A.new.... -
08:33 PM Feature #13601: Remove yield_self from Ruby 2.5 (already implemented)
- Note there are differences, for example
~~~ruby
42.instance_eval { abs2 } #=> 1764
~~~
won't work with Kernel#yield_self and
~~~ruby
42.yield_self #=> #<Enumerator: 42:yield_self>
~~~
won't work with BasicObject#instance_eval... -
07:35 PM Feature #13601 (Closed): Remove yield_self from Ruby 2.5 (already implemented)
- Issue https://bugs.ruby-lang.org/issues/6721 for adding `yield_self` is unnecessary as `BasicObject#instance_eval` will do the exact same thing.
~~~ruby
class BasicObject
alias :yield_self :instance_eval
end
2.yield_self { |x|... -
09:31 PM Bug #10093: SecureRandom.uuid is not valid v4 and/or RFC 4122
- usa (Usaku NAKAMURA) wrote:
> Please do not reuse past tickets.
Open new issue https://bugs.ruby-lang.org/issues/13603 -
02:25 PM Bug #10093: SecureRandom.uuid is not valid v4 and/or RFC 4122
- Please do not reuse past tickets.
-
01:54 PM Bug #10093: SecureRandom.uuid is not valid v4 and/or RFC 4122
- https://www.ietf.org/rfc/rfc4122.txt (#4.4)
---
current test is https://github.com/ruby/ruby/blob/ruby_2_4/test/test_securerandom.rb#L174
```ruby
def test_uuid
uuid = @it.uuid
assert_equal(36, uuid.size)
assert_match(/\A... -
09:29 PM Bug #13603 (Closed): SecureRandom.uuid is not valid v4 and/or RFC 4122
- https://www.ietf.org/rfc/rfc4122.txt (#4.4)
---
(reopen from https://bugs.ruby-lang.org/issues/10093#change-65105)
current test is https://github.com/ruby/ruby/blob/ruby_2_4/test/test_securerandom.rb#L174
```ruby
def test_uuid... -
08:48 PM Feature #13602 (Rejected): Optimize instance variable access if $VERBOSE is not true when compiling
- This patch optimizes instance variable lookup in the case the $VERBOSE
is not true when compiling. If $VERBOSE is not true when compiling
code, it makes the instance variable access use an optimized VM
instruction that does not check... -
06:32 PM Feature #13378: Eliminate 4 of 8 syscalls when requiring file by absolute path
- > ```diff
> ...
When you are CRuby developer, all functions declared under include/**/*.h are considered public C API.
(Note that if you are C extension developer, some of such APIs are experimental or private...)
Therefore rb_find_... -
05:11 PM Revision 015d05c6 (git): numeric.c: remove duplicate code
- * numeric.c (flo_to_i): use dbl2ival and reduce duplicate code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 05:10 PM Revision 081b38fd (git): * 2017-05-27
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:10 PM Revision 6270d595 (git): Improve Array#concat performance if only one argument is given
- * array.c (rb_ary_concat_multi): concatenate the array without generating
temporary Array object if only one argument is given.
This is very similar with r58886.
Array#concat will be faster around 19%.
[Fix GH-1634]
###... -
04:52 PM Feature #13600: yield_self should be chainable/composable
- In case the description is unclear, the goal is to support something like this:
```
pipeline = (&:upcase).yield_self(&:reverse)
"ruby".yield_self(pipeline)
#=> "YRUB"
```
or else:
```
pipeline = (&:upcase) | (&:reverse)
"r... -
03:29 PM Feature #13600 (Rejected): yield_self should be chainable/composable
- One of the main use cases that would make `yield_self` a helpful addition is to build functional pipelines (function composition). This is currently not possible since Proc/Lambda do not handle `yield_self` in the expected way.
I beli... -
02:55 PM Bug #13599 (Closed): Float#ceil(n) doesn't work for small floats
- When using ceil to round up to n digits (as opposed to nearest integer) with the optional first argument, it doesn't work for very small floats:
~~~
2.4.1 :001 > 0.0000000001.ceil(1)
=> 0.0 # => Expected output: 0.1
# Doing it... -
02:17 PM Revision 43572889 (git): erb.rb: Tiny improvement of compiling cost
- by reducing string allocation.
* Before
app_erb 0.687
* After
app_erb 0.679
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:58 PM Revision 9f9f8236 (git): erb.rb: [DOC] Follow compiled code's change
- introduced in r58905.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 01:49 PM Revision d9efeebf (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:49 PM Revision 6f685e10 (git): erb.rb: Generate static string with opt_str_uminus
- to skip object allocation for static string.
We can't always enable frozen_string_literal pragma because we can't
freeze string literals embedded by user for backward compatibility.
So we need to use fstring for each static string.
Sin... -
12:45 PM Feature #11952: Use getrusage for Process.times if available
- Does anyone have opinion about this? Can I commit this?
I think it would be good to apply this patch to improve lib/benchmark.rb's precision. -
12:12 PM Revision 5fc32362 (git): erb.rb: Use script encoding instead of force_encoding
- The original intention of introducing `_erbout.force_encoding`
in r21170 was:
- "returns a string in the same character encoding as the input string."
- "When the input string has a magic comment, however, it returns a string
in the e... -
09:49 AM Revision e3c14068 (git): remove extra call to OleInitialize
- [Fix GH-1629]
Signed-off-by: Matt Wrock <matt@mattwrock.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:28 AM Bug #13595 (Closed): rb_alloc_tmp_buffer2 broken when: elsize % sizeof(VALUE) == 0 - Applied in changeset trunk|r58902.
----------
attempt to fix rb_alloc_tmp_buffer2 for ALLOCV_N
This is a confusing function to my arithmetic-challenged mind,
but nobu seems alright with this. Anyways this lets me use
large values of e... -
05:35 AM Bug #13595: rb_alloc_tmp_buffer2 broken when: elsize % sizeof(VALUE) == 0
- Reconsidered and yours seems the intended.
-
05:19 AM Bug #13595: rb_alloc_tmp_buffer2 broken when: elsize % sizeof(VALUE) == 0
- Maybe like this?
```diff
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index 0b277dce19..95dab1bf3f 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -1612,9 +1612,10 @@ rb_alloc_tmp_buffer2(volatile VALUE *s... - 07:28 AM Revision 190e29f7 (git): attempt to fix rb_alloc_tmp_buffer2 for ALLOCV_N
- This is a confusing function to my arithmetic-challenged mind,
but nobu seems alright with this. Anyways this lets me use
large values of elsize without segfaulting, and "make exam"
passes.
* include/ruby/ruby.h (rb_alloc_tmp_buffer2):... -
07:04 AM Revision 5e7ce519 (git): dir.c: yield without base part
- * dir.c (glob_helper): yield globbed part only without the base
directory path part if the base is given. [Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:02 AM Revision 9ee48c0a (git): runruby.rb: no PRELOAD on multiarch [ci skip]
- * tool/runruby.rb: do not set environment to preload on multiarch
platforms, otherwise other external commands (e.g., /bin/sh)
fail to run.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:42 AM Revision 10ee38b6 (git): * lib/uri/common.rb: [DOC] add rdoc to describe
- URI.unescape is obsolete [ci-skip] [fix GH-1630]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:39 AM Revision c854fde3 (git): sprintf.c: remove redundant condition
- * sprintf.c (rb_str_format): when `t + 1 == end` (or `t < end`),
`*t == '%'` is always true. [ruby-core:80153] [Bug #13315]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:39 AM Revision a77cb8c8 (git): string.c: adjust style [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:28 AM Revision 2881374c (git): Symbol support for opt_eql_func too
- * vm_insnhelper.c (comparable_by_identity): extract the condition
where comparable by identity. currently both are same types,
Fixnum, Flonum, or Symbol.
* vm_insnhelper.c (opt_eql_func): support Symbol too.
git-svn-id: svn+ssh://... -
05:32 AM Feature #13483 (Rejected): TracePoint#enable with block for thread-local trace
-
05:32 AM Feature #13483: TracePoint#enable with block for thread-local trace
- After consideration, I found several problems.
There is a implicit expectation that we can emulate block accept call with begin/ensure like:
```
open do
...
end
#=> same as:
begin
open
yield
ensure
close
end
```
... -
05:27 AM Bug #13330 (Closed): Array.include? is slow for symbols
- Applied in changeset trunk|r58895.
----------
Symbol support for opt_eq_func.
* vm_insnhelper.c (opt_eq_func): optimize for symbol comparison.
[Bug #13330] [fix GH-1540] -
05:26 AM Revision ad0f8ff7 (git): Symbol support for opt_eq_func.
- * vm_insnhelper.c (opt_eq_func): optimize for symbol comparison.
[Bug #13330] [fix GH-1540]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:50 AM Revision 8dce6221 (git): compile.c: fix possible use of uninitialized value
- LABEL::unremovable added by r58810 is not initialized by
new_label_body(), making the optimization unstable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/25/2017
-
11:43 PM Revision 7d52ed59 (git): use timeout scale.
- * test/lib/envutil.rb: introduce EnvUtil.apply_timeout_scale to use
this scale from outside.
* test/ruby/test_thread.rb (test_fork_in_thread): respect timeout scale.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58893 b2dd03c8-3... -
08:08 PM Bug #13595: rb_alloc_tmp_buffer2 broken when: elsize % sizeof(VALUE) == 0
- normalperson@yhbt.net wrote:
> Bug #13595: rb_alloc_tmp_buffer2 broken when: elsize % sizeof(VALUE) == 0
> ...
Perhaps the following patch is what is needed:
```diff
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -1611,7 ... -
06:30 PM Feature #8643: Add Binding.from_hash
- Yes, it makes sense. Thanks a lot! :)
-
03:47 PM Feature #8643 (Rejected): Add Binding.from_hash
- Since [Feature #8631] is accepted, closing this ticket.
-
06:29 PM Feature #8631: Add a new method to ERB to allow assigning the local variables from a hash
- Awesome, thanks!
-
03:38 PM Feature #8631 (Closed): Add a new method to ERB to allow assigning the local variables from a hash
- Applied in changeset trunk|r58891.
----------
erb.rb: Add ERB#result_with_hash
[ruby-core:55985] [Feature #8631] [fix GH-1623] -
03:37 PM Feature #8631: Add a new method to ERB to allow assigning the local variables from a hash
- I discussed about this with Seki-san.
For name, I rethought that "result_with_locals" sounds to use caller's local variables. Since "result_with_hash" doesn't seem to mean it and is shorter, we agreed "result_with_hash" is the best.
... -
05:43 PM Feature #13574: Method redefinition warning
- > What do you mean?
> ...
Yes. Using remove_method + define_method, a concurrent thread may get a NoMethodError. In contrast, using alias_method + define_method, while the other thread could obviously call either the old or new definiti... -
09:32 AM Feature #13574: Method redefinition warning
- matthewd (Matthew Draper) wrote:
> apart from removing the method first, which isn't atomic
What do you mean?
That remove_method + new definition is not atomic? -
03:43 PM Revision 20a82f88 (git): NEWS: Add entry for ERB#result_with_hash
- See r58891.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:38 PM Revision eb1652b5 (git): erb.rb: Add ERB#result_with_hash
- [ruby-core:55985] [Feature #8631] [fix GH-1623]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:33 PM Bug #13315 (Closed): Single "%" at the end of `printf` format string appears in the result
- Applied in changeset trunk|r58890.
----------
Raise ArgumentError if sprintf format string ends with %
* Add tests and specs. See ruby/spec#401.
Patch by Yuta Iwama and Shintaro Morikawa.
[ruby-core:80153] [Bug #13315] [Fix GH-1560] -
03:33 PM Revision fd8df3ab (git): Raise ArgumentError if sprintf format string ends with %
- * Add tests and specs. See ruby/spec#401.
Patch by Yuta Iwama and Shintaro Morikawa.
[ruby-core:80153] [Bug #13315] [Fix GH-1560]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 03:14 PM Revision e779eee9 (git): * 2017-05-26
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:14 PM Revision a2b4979b (git): hash.c: docs for Hash#transform_values
- * hash.c: [DOC] fix return value in call-seq of Hash#transform_values;
other small fixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:08 PM Feature #11624 (Rejected): ERB deserves its own commenting token
- This syntax only adds a support for comments that include "%>" or "%%>". I think the major use case of such kind of feature is just ad-hoc disabling partial template and it's not for a normal permanent comment, which can be done in "<%#"...
-
01:35 PM Feature #13563: Implement Hash#choice method.
- babanba-n (matzbara masanao) wrote:
> I feel that Hash#slice is wrong name and Hash#pick is better name.
> ...
I prefer Hash#pick over Hash#choice.
I would expect the missing keys to return whatever the default value of the hash is... -
12:24 PM Feature #12694: Want a String method to remove heading substr
- I've created a PR https://github.com/ruby/ruby/pull/1632 with a name String#**remove_prefix**.
I will merge if the name is acceptable. -
11:41 AM Revision a270c90e (git): insns.def: [DOC] Fix description of tostring
- rb_obj_as_string() calls not #to_str (idTo_str) but #to_s (idTo_s).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:14 AM Revision 592c3f9b (git): string.c: Optimize String#concat when argc is 1
- Optimize performance regression introduced in r56021.
* Benchmark (i7-4790K @ 4.00GH, x86_64 GNU/Linux)
Benchmark.ips do |x|
x.report("String#concat (1)") { "a".concat("b") }
if RUBY_VERSION >= "2.4.0"
x.report("String#concat (... -
09:15 AM Bug #13390 (Closed): MinGW build test-all SEGV, issue in test framework or error recovery?
- Closing per OP request
-
09:04 AM Bug #13312: String#casecmp raises TypeError instead of returning nil
- stomar (Marcus Stollsteimer) wrote:
> I also added a NEWS entry and updated the specs with a version guard for 2.5 (I do not know how this would be handled in case the change should be backported).
Thanks, r58839 looks great.
In c... -
08:58 AM Bug #13598 (Closed): mutex_m: Missing info in the doc
- The doc for Mutex_m should remind the user of the necessity of calling super() in *each* class that includes Mutex_m.
The average user will do:
~~~
require 'mutex_m'
class A
include Mutex_m
def initialize myval
@myva... -
08:34 AM Revision 4bc4403b (git): dir.c: document base keyword argument of Dir.glob
- * dir.c: [DOC] document the new `base` keyword argument of Dir.glob
[Feature #13056]; also improve docs for Dir.glob and Dir[].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:50 AM Revision 135c7a53 (git): dir.c: docs for Dir.each_child and Dir.children
- * dir.c: [DOC] fix examples for Dir.each_child and Dir.children.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:36 AM Revision 7e323b5d (git): vm_insnhelper.c: remove redefinitions and undefine after used
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:29 AM Revision 7db534a2 (git): vm_insnhelper.c: rb_eql_opt should call eql?
- * vm_insnhelper.c (rb_eql_opt): should call #eql? on Float and
String, not #==.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:25 AM Bug #13447 (Closed): Improve performance of rb_eql()
- Applied in changeset trunk|r58881.
----------
Improve performance of rb_eql()
This improvement is similar with https://github.com/ruby/ruby/pull/1552
internal.h: add declaration of rb_eql_opt() API.
vm_insnhelper.c (rb_eql_opt): add ... -
04:25 AM Bug #13365 (Closed): Improve performance of rb_equal() with special constants
- Applied in changeset trunk|r58880.
----------
Improve performance of rb_equal()
* object.c (rb_equal): add optimized path to compare the objects using
rb_equal_opt(). Previously, if not same objects were given, rb_equal() would
... -
04:25 AM Revision b827fdff (git): Improve performance of rb_eql()
- This improvement is similar with https://github.com/ruby/ruby/pull/1552
internal.h: add declaration of rb_eql_opt() API.
vm_insnhelper.c (rb_eql_opt): add rb_eql_opt() API which provides optimized
path for #eql? method such as rb_e... -
04:25 AM Revision 6e0e067d (git): Improve performance of rb_equal()
- * object.c (rb_equal): add optimized path to compare the objects using
rb_equal_opt(). Previously, if not same objects were given, rb_equal() would
call `==' method via rb_funcall() which took a long time.
rb_equal_opt() has... -
02:50 AM Feature #11302 (Closed): Dir.entries and Dir.foreach without [".", ".."]
- Applied in changeset trunk|r58879.
----------
dir.c: Dir.each_child and Dir.children
* dir.c (dir_s_each_child, dir_s_children): Dir.each_child and
Dir.children which are similar to Dir.foreach and Dir.entries
respectively, except ... -
02:50 AM Revision 944c455b (git): dir.c: Dir.each_child and Dir.children
- * dir.c (dir_s_each_child, dir_s_children): Dir.each_child and
Dir.children which are similar to Dir.foreach and Dir.entries
respectively, except to exclude "." and "..". [Feature #11302]
git-svn-id: svn+ssh://ci.ruby-lang.org/rub... -
02:50 AM Revision 5a302b30 (git): test_dir.rb: test Dir.entries
- * test/ruby/test_dir.rb (test_entries): test class singleton
method Dir.entries too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:14 AM Feature #13056 (Closed): base option to Dir.glob
-
01:46 AM Revision bf463442 (git): dir.c: dir_each_entries
- * dir.c (dir_each_entries): expand entries without method calls.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:08 AM Bug #13594: Segfault in gc_sweep_step 2.4.1
- I've found a similar result. https://travis-ci.org/sferik/rails_admin/jobs/124039186
This issue seems to be related #13305 and fixed at r57971.
Could you try latest trunk ruby or patched 2.4 with r57971?
05/24/2017
- 09:26 PM Revision 2079b710 (git): string.c: fix String#crypt leak introduced in r58866
- * string.c (rb_str_crypt): define LARGE_CRYPT_DATA when allocating
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:40 PM Misc #12529: LEGAL file covering all the license information within Ruby - @hsbt I do not have any other considerations or concerns right now.
-
06:15 PM Misc #12529: LEGAL file covering all the license information within Ruby
- I think this issue is already resolved without UCD license.
@jaruga
Is there another consideration about LEGAL file with original your request? -
07:31 PM Bug #13597: Does read_nonblock call remalloc for the buffer if does it just set the size attribute
- emily@mongodb.com wrote:
> Hello
> ...
Correct. We do not realloc here since there is a good chance
the buffer can be reused soon after and need the larger size.
realloc can be very expensive.
> I see this request to allow an off... -
05:06 PM Bug #13597 (Closed): Does read_nonblock call remalloc for the buffer if does it just set the size attribute
- Hello
I've observed that a lot of memory gets allocated and wasted when read_nonblock is called for a number of bytes much larger than is actually read from the socket.
This line https://github.com/ruby/ruby/blob/0130bb01baed404c0e3c... - 06:59 PM Revision daf14f71 (git): * 2017-05-25
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:59 PM Revision 410362f6 (git): thread_pthread: retry timer thread creation w/o attr on EINVAL
- Setting a small stack size can fail due to having 3rd-party
libraries (e.g. libkqueue) loaded, if those libraries use
thread-local-storage (__thread) heavily. This causes
pthread_create to fail with small stacks; even if our
timer_threa... -
02:26 PM Revision de5e3475 (git): dir.c: prefer NAMLEN to d_name
- * dir.c (glob_helper): prefer NAMLEN, do not assume d_name is NUL
terminated everywhere.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:30 PM Revision c31de52f (git): test_http.rb: fix r58855
- * test/net/http/test_http.rb (test_s_start): git rid of error when
failed to start a connection.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:07 AM Bug #13596 (Closed): Segfault when catching SystemStackError in eval
-
06:46 AM Bug #13596: Segfault when catching SystemStackError in eval
- Updated description to add a successful testcase.
-
06:12 AM Bug #13596: Segfault when catching SystemStackError in eval
- Here's a GDB trace with VMDEBUG=1 for a Ruby 2.4.1 checkout. It appears that the crash occurs when setting up the frame in iseq_compile_each, when the application tries to access rsp+8 (0x7fffff7fed50+8). This lands in the redzone page, ...
-
03:31 AM Bug #13596 (Closed): Segfault when catching SystemStackError in eval
- This minimal testcase will crash most ruby versions with a SIGSEGV (though it's likely that other constructions could trigger the same behavior). Effectively, after the first SystemStackError that is caught from eval, a subsequent stack ...
-
08:00 AM Bug #13592 (Closed): Enumerable#reduce with symbol does not respect method visibility
- Applied in changeset trunk|r58871.
----------
enum.c: respect method visibility
* enum.c (ary_inject_op): should respect method visibility, do not
optimize uncallable method. [ruby-core:81349] [Bug #13592] -
06:35 AM Bug #13592: Enumerable#reduce with symbol does not respect method visibility
- i think you still mix reduce(&:+) with reduce(:+)
both are two totally different ways to call this method.
(the later doesn't go the way with a Proc object)
because reduce("+") works too -
01:06 AM Bug #13592: Enumerable#reduce with symbol does not respect method visibility
- This is exactly what I am saying.
This behavior of `reduce` is unpredictable and different of the another `Enumerable` methods.
Users will expect that symbol argument is converted in proc and then applied to object.
`reduce` (si... -
08:00 AM Revision 5e25bfa2 (git): enum.c: respect method visibility
- * enum.c (ary_inject_op): should respect method visibility, do not
optimize uncallable method. [ruby-core:81349] [Bug #13592]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:57 AM Revision da9d5db8 (git): test_enum.rb: test_inject_array_op_redefined
- * test/ruby/test_enum.rb (test_inject_array_op_redefined): test
other operators too. [Bug#12178]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:57 AM Revision 73d797ad (git): assertions.rb: AllFailures#foreach
- * test/lib/test/unit/assertions.rb (AllFailures#foreach):
shortcircuit for `each` and `AllFailures#for`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:11 AM Revision d7015ae4 (git): duplicate method
- * test/ruby/test_enum.rb (assert_float_equal): remove overridden
definition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:57 AM Bug #13553 (Closed): Improve performance in where push the element into non shared Array object
- Applied in changeset trunk|r58867.
----------
Improve performance in where push the element into non shared Array object
* array.c (ary_ensure_room_for_push): use rb_ary_modify_check() instead of
rb_ary_modify() to check whether th... -
06:57 AM Revision 044257c0 (git): Improve performance in where push the element into non shared Array object
- * array.c (ary_ensure_room_for_push): use rb_ary_modify_check() instead of
rb_ary_modify() to check whether the object can be modified for non shared
Array object. rb_ary_modify() has the codes for shared Array object too.
In... -
06:55 AM Revision 92261511 (git): string.c: for small crypt_data
- * string.c (rb_str_crypt): struct crypt_data defined in
missing/crypt.h is small enough.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:46 AM Revision 9e1624cf (git): Add debug counters.
- * debug_counter.h: add the following counters to measure object types.
obj_free: freed count
obj_str_ptr: freed count of Strings they have extra buff.
obj_str_embed: freed count of Strings they don't have extra buff.
obj_str_shar... - 03:01 AM Revision 144e0670 (git): string.c (rb_str_crypt): fix excessive stack use with crypt_r
- "struct crypt_data" is 131232 bytes on x86-64 GNU/Linux,
making it unsafe to use tiny Fiber stack sizes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:00 AM Bug #13593: Addrinfo#== behaves oddly
- Accurate observation. It does not define equality so falls back to Object's definition, which compares identity.
I guess this is not by design; just no one had seriously needed yet. -
02:37 AM Bug #13595 (Closed): rb_alloc_tmp_buffer2 broken when: elsize % sizeof(VALUE) == 0
- Here is the function in full as of current trunk (r58863):
~~~c
static inline void *
rb_alloc_tmp_buffer2(volatile VALUE *store, long count, size_t elsize)
{
size_t cnt = (size_t)count;
if (elsize % sizeof(VALUE) == 0) {
... -
12:40 AM Bug #13594: Segfault in gc_sweep_step 2.4.1
- This seems to be caused by some interaction with the `simplecov` gem. I don't understand why, yet, and I have not yet been able to create a simple reproduction case.
- 12:34 AM Revision 2e87ef8b (git): rubyspec/core/io/popen_spec: avoid lingering "ruby -e sleep" process
- The ruby_cmd helper blindly escapes code blocks passed to it,
causing "sleep" to be quoted in the command-line. This quoting
results in IO.popen using a subshell (/bin/sh) to run the given
string command instead of invoking the Ruby exe...
05/23/2017
-
07:56 PM Bug #13592: Enumerable#reduce with symbol does not respect method visibility
- reduce(&:+) is different from
reduce(:+), this one has nothing to do with :+.to_proc
reduce/inject with symbol param does call the method internally without checking if its private or not -
04:08 PM Bug #13592 (Open): Enumerable#reduce with symbol does not respect method visibility
-
03:53 PM Bug #13592 (Feedback): Enumerable#reduce with symbol does not respect method visibility
- Please, reconsider. Look this example:
~~~
irb(main):092:0> :puts.to_proc.call("")
NoMethodError: private method `puts' called for "":String
~~~
nobu (Nobuyoshi Nakada) wrote:
> The proc returned by `Symbol#to_proc` is equiva... -
03:04 PM Bug #13592 (Rejected): Enumerable#reduce with symbol does not respect method visibility
- The proc returned by `Symbol#to_proc` is equivalent to `proc {|recv, *args| recv.__send__(self, *args)}`.
So it can call private methods too. -
02:43 PM Bug #13592: Enumerable#reduce with symbol does not respect method visibility
- Sorry, ignore the IRB thing. But my question about the reduce still valid.
-
02:37 PM Bug #13592 (Closed): Enumerable#reduce with symbol does not respect method visibility
- When use reduce with symbol, I expect the symbol is called in object but respecting the method visibility.
Example with source code written in a file.
~~~ruby
Fixnum.instance_eval do
private :+
end
p [1,2,3].reduce(:+)
~~~... -
07:19 PM Bug #13594 (Closed): Segfault in gc_sweep_step 2.4.1
- In ruby 2.4.1 I am seeing segfaults in `gc_sweep_step`. These do not occur when I use the same commands in ruby 2.3.4.
These are accompanied by error messages such as the following:
error for object 0x1: pointer being freed was not... -
05:47 PM Feature #13568: File#path for O_TMPFILE fds has no meaning
- I think an exception is the best way to be clear about the problem here, nil or a fake path are most likely to raise exceptions, but later and in a harder to debug way.
Moreover, this only happens for O_TMPFILE files, so it seems reason... -
05:41 PM Feature #13576: File#to_path shall be deleted
- This could break methods which take a pathname-like object and call #to_path when a File is passed to them (e.g. File.delete(file), etc).
I am not saying it is good practice, but I think it should be evaluated for compatibility.
Mayb... -
05:33 PM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- MSP-Greg (Greg L) wrote:
> Given that spec tests are not currently included in appveyor, do you know if the test ['defaults to UTC when bad zones given'](https://github.com/ruby/ruby/blob/trunk/spec/rubyspec/core/time/zone_spec.rb#L65-L... -
03:39 PM Bug #13591: spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Using a MinGW build, ENV['TZ'] seemed to have no affect on Time, and [time zone spec tests](https://msp-greg.github.io/file.mingw_test-all.html#mspec-1-failure) failed.
I had previously been looking at 'Microsoft Time Zone Index Value... -
02:29 PM Bug #13591 (Rejected): spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- MSVCRT uses `TZ`.
See https://msdn.microsoft.com/en-us/library/w4ddyt9h.aspx -
02:15 PM Bug #13591 (Closed): spec/rubyspec/core/time/zone_spec - Windows does not support ENV['TZ']
- Windows does not support ENV['TZ'], so it should be removed from rspec tests.
See [GitHub PR 1627](https://github.com/ruby/ruby/pull/1627) -
04:57 PM Bug #13438: Fix heap overflow due to configure.in not being updated for HEAP_* -> HEAP_PAGE_* variable renaming
- ko1 (Koichi Sasada) wrote:
> > we may want to drop OpenBSD <5.2 support
> ...
I think we should drop OpenBSD <5.2 support. I doubt anyone running such an old version of OpenBSD would want to run ruby 2.5+. The OpenBSD project only su... - 04:51 PM Revision 86c9a6d4 (git): * 2017-05-24
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:51 PM Revision 6a153781 (git): skip on Solaris 11
- On Solaris 11, MSG_OOB is in readfds?
http://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20170523T152403Z.fail.html.gz
http://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20170523T152503Z.fail... -
03:30 PM Bug #13593 (Rejected): Addrinfo#== behaves oddly
- It appears as if Addrinfo is using object identity. `Addrinfo#==` doesn't appear to work as one might expect, given the same instantiation:
~~~
> irb
2.4.0 :001 > require 'socket'
=> true
2.4.0 :002 > Addrinfo.tcp('0.0.0.0', 123... -
02:34 PM Revision 6d06aadd (git): Dir as base option
- * dir.c (glob_helper): support Dir instance as `base` option.
[Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:54 PM Revision 58b6c422 (git): test_dir.rb: sort
- * test/ruby/test_dir.rb (test_glob_base): sort the globbed result
to compare.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:47 PM Revision 52419a6e (git): Dir.glob base option
- * dir.c (dir_s_aref, dir_s_glob): add new optional keyword
argument, `base`. [Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:18 PM Revision 2ba68008 (git): readonly srcdir
- .travis.yml: make srcdir unwritable during build and tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:42 PM Revision 08ef146e (git): out-of-place on travis
- * .travis.yml (before_script, script): out-of-place build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:38 PM Revision 0a254684 (git): fix FD leaks
- * test/net/http/test_http.rb (test_s_start): finish connections to
get rid of FD leaks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:11 PM Revision cffb09aa (git): LABEL_FORMAT
- * compile.c (LABEL_FORMAT): extract format string for labels.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:35 AM Revision dfc11063 (git): unused member
- * vsnprintf.c (__sFILE): _lbfsize is not used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
10:43 AM Feature #13588: Add Encoding#min_char_size, #max_char_size, #minmax_char_size
- phluid61 (Matthew Kerwin) wrote:
> I hope there are no encodings where valid characters might not be a multiple of the minimum size.
Me too :) it works for now... the only encodings on Ruby 2.4.1 with `min_enc_len` > 1 are UTF-16 and... -
10:31 AM Feature #13588: Add Encoding#min_char_size, #max_char_size, #minmax_char_size
- haines (Andrew Haines) wrote:
>
> ...
I hope there are no encodings where valid characters might not be a multiple of the minimum size. -
10:05 AM Feature #13588: Add Encoding#min_char_size, #max_char_size, #minmax_char_size
- I'm implementing a tar archive reader that takes an arbitrary stream (`StringIO`, `File`, `Zlib::GzipReader`, ...) and yields the individual files in the archive. I'd like the yielded file reader to conform as closely as possible to the ...
-
09:17 AM Feature #13588 (Feedback): Add Encoding#min_char_size, #max_char_size, #minmax_char_size
- haines (Andrew Haines) wrote:
> When implementing an IO-like object, I'd like to handle encoding correctly.
This should be possible without knowing the minimum and maximum length of characters in the encoding.
> ...
It may be that... -
09:11 AM Bug #13590 (Closed): Change max byte length of UTF-8 to 4 bytes to conform to definition of UTF-8
- This seems to be a leftover of issue #11094.
Keeping the max byte length of UTF-8 at 6 seems to only potentially create some inconsistencies and inefficiencies, for no benefit.
I have assigned this issue to me, and will implement i... - 06:02 AM Revision 80a4084b (git): Use test-unit 3.2.4
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:44 AM Bug #13579 (Closed): Net::IMAP#append blocks when a NO response is received
- Fixed in r58792 and r58844.
-
03:45 AM Bug #13589 (Rejected): unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash
- Error messages are not Markdown.
Use multiline code block to quote them. -
12:19 AM Bug #13589: unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash
- domaio (Dorian M) wrote:
> Looking at error.c in general, it seems like a rather intentional
Yes. I bekieve this is how quotation marks in English works. I don't like the idea to change our error messages only because wild Markdown ... -
01:04 AM Revision b532c83e (git): readonly srcdir
- appveyor.yml: make srcdir unwritable during build and tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:04 AM Revision bd765ce2 (git): appveyor.yml: remove unused UNICODE_DATA_DIR
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
05/22/2017
- 11:41 PM Revision 40a99224 (git): * 2017-05-23
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:41 PM Revision 2ab82704 (git): variable.c (autoload_sleep_done): avoid needless list_node init
- We do not need list_del_init in ensure callbacks, only list_del,
since it can only ever be called after list_del_init in
autoload_reset. So avoid the needless re-initialization.
* variable.c (autoload_sleep_done): s/list_del_init/list_... -
09:09 PM Bug #13589: unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash
- Thought about it when trying to explain Struct vs OpenStruct on Stack Overflow :) https://stackoverflow.com/a/44121818/407213
-
09:06 PM Bug #13589 (Rejected): unmatched opening backtick / closing quote in NoMethodError: undefined method `name' for {}:Hash
- From [`error.c`](https://github.com/ruby/ruby/blob/trunk/error.c#L1953-L1964):
~~~ c
/*
* Document-class: NoMethodError
*
* Raised when a method is called on a receiver which doesn't have it
* defined and also fails to res... -
06:35 PM Feature #8631: Add a new method to ERB to allow assigning the local variables from a hash
- I'm actually fine with whatever name you prefer. result_with_locals and render_with_locals are both fine to me. Thanks a lot!
-
03:50 AM Feature #8631: Add a new method to ERB to allow assigning the local variables from a hash
- > Or maybe ERB.new(str, locals: {a: b}).result?
For this case, it would have the same problem as ERB.new(str).result(locals: {a: b}) because it can have both binding and locals. In that case, adding locals to given binding is hard to ... -
04:15 PM Bug #13582 (Closed): IMAPTest#test_append_fail always errors on Windows
- shugo (Shugo Maeda) wrote:
> r58840 で対策してみましたがどうでしょうか?
手元で何度か試行してみた感じでは、大丈夫っぽく見えます。
rubyciでも問題が出なくなっているようです。
というわけで、とりあえずcloseとしておきます。
ありがとうございました。 -
06:14 AM Bug #13582: IMAPTest#test_append_fail always errors on Windows
- usa (Usaku NAKAMURA) wrote:
> r58792で追加されたテストですが、Windowsでは毎回Errorになります。
> ...
r58840 で対策してみましたがどうでしょうか?
-
02:25 PM Revision 35695788 (git): source directory may not be writable
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:11 PM Feature #13588: Add Encoding#min_char_size, #max_char_size, #minmax_char_size
- Seems sensible to me. Guess someone from the ruby core team or matz should chime in and perhaps comment - or someone may do this in the next internal ruby dev team meeting. :)
-
12:10 PM Feature #13588 (Feedback): Add Encoding#min_char_size, #max_char_size, #minmax_char_size
- When implementing an IO-like object, I'd like to handle encoding correctly. To do so, I need to know the minimum and maximum character sizes for the encoding of the stream I'm reading. However, I can't find a way to access this informati...
-
11:36 AM Feature #13568: File#path for O_TMPFILE fds has no meaning
- nobu (Nobuyoshi Nakada) wrote:
> Once #13576 is introduced, this issue becomes stale.
> ...
OK, I see your opinion over File#path. I have different opinion though. I agree with sorah here; a file created using O_TMPFILE can never hav... -
11:25 AM Feature #13568: File#path for O_TMPFILE fds has no meaning
- Once #13576 is introduced, this issue becomes stale.
It doesn't make sense to change `File#path`. -
08:26 AM Feature #13568: File#path for O_TMPFILE fds has no meaning
- nobu (Nobuyoshi Nakada) wrote:
> ```sh
> ...
Why are you ignoring #13576, after I repeatedly mentioned in this thread? -
08:17 AM Feature #13568: File#path for O_TMPFILE fds has no meaning
- ```sh
$ ./x86_64-linux/bin/ruby -e 'f = open(File.expand_path("/tmp"), File::RDWR|File::TMPFILE); p open(f).read'
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from -e:1:in `open'
-e:1:in `to_path': unnamed tempor... -
07:49 AM Feature #13568: File#path for O_TMPFILE fds has no meaning
- shyouhei (Shyouhei Urabe) wrote:
> nobu (Nobuyoshi Nakada) wrote:
> ...
`File#path` is not relevant to that situation at all.
`Digest.file` just opens the argument, and `open` calls `to_path` method on it to implicit conversion.
``... -
05:01 AM Feature #13568: File#path for O_TMPFILE fds has no meaning
- nobu (Nobuyoshi Nakada) wrote:
> shyouhei (Shyouhei Urabe) wrote:
> ...
Yes, I'm talking about `File#path`. Situations like [ruby-core:81167](#change-64819) is in my mind. `#to_path` is a separate issue.
> > Do you think `nil` is ... -
11:24 AM Bug #13524 (Third Party's Issue): miniruby: [BUG] Segmentation fault at 0x0055e487e00230 ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-li
- Took me time for several reasons:
1. Had temporarily ran out of my docker hosts and had to prepare new one. This is my fault.
2. The ruby:2.4-alpine's Dockerfile you linked kindly deletes compiler and other toolchains from the image... -
11:23 AM Feature #13576: File#to_path shall be deleted
- Agree, it has no meanings.
- 07:36 AM Revision cbedbaf9 (git): lib/net/protocol.rb: account read_bytes before caller sees it
- Users may modify the chunk yielded to them in Net::HTTPResponse#read_body.
This will allow users to reduce memory usage by calling
String#clear on the buffer once they're done using it.
* lib/net/protocol.rb (read): increment read_bytes... -
07:13 AM Revision 5565fed8 (git): hash.c: [DOC] fix docs for Hash#transform_values!
- Hash#transform_values! returns the receiver rather than a new Hash
object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:13 AM Revision 27fb27ff (git): net/imap: separate @continuation_request_exception from @exception
- Otherwise literal data will be sent even if NO response is returned
because @exception is set to nil in receive_responses.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:04 AM Bug #12670: Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2
- It reproduced "incorrect checksum for freed object", with a fix.
```diff
- Data_Wrap_Struct(rb_cData, NULL, dummy_free, destroy_pixel);
+ Data_Wrap_Struct(rb_cData, NULL, destroy_pixel, pixel);
``` -
05:05 AM Bug #12670: Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2
- nobu (Nobuyoshi Nakada) wrote:
> > ```c
> ...
I'm sorry that it is not RMagick but MY bug.
Please let me try it again. -
04:36 AM Bug #12670: Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2
- > ```c
Data_Wrap_Struct(rb_cData, NULL, dummy_free, &i);
```
Wrapping the pointer to a local variable?
Obviously it is a bug.
If it is the thing what happens in RMagick, it's a bug in object lifetime management of RMagick. -
12:29 AM Bug #12670: Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2
- I reduced repro codes, segv.c and segv.rb.
They cause assertion failure with RGENGC_CHECK_MODE=1.
```
ruby 2.5.0dev (2017-05-21 trunk 58832) [x86_64-linux]
creating Makefile
linking shared-object segv.so
0
1
2
3
4
5
6
7
8... -
04:10 AM Revision c45a52af (git): downloader.rb: true symlink on cygwin
- * tool/downloader.rb (Downloader.link_cache): on Cygwin, make true
symlink only, which is provided by the OS. as mingw/mswin ruby
can't follow cygwin's pseudo symlink, it will fail on the same
source tree.
git-svn-id: svn+ssh://c... -
03:56 AM Bug #12074 (Closed): [PERF] bm_app_erb.rb slower
- Applied in changeset trunk|r58842.
----------
erb.rb: Skip creating regexp
if stags and etags are not changed from default.
:putobject insn (of regexp) will be used instead of :toregexp insn.
This means that the regexp won't be compil... -
03:56 AM Revision 72fb1e16 (git): erb.rb: Skip creating regexp
- if stags and etags are not changed from default.
:putobject insn (of regexp) will be used instead of :toregexp insn.
This means that the regexp won't be compiled for every
`SimpleScanner#scan` call.
It may not be a good idea to apply t... -
03:18 AM Revision 7a14ffbf (git): fix r58833
- * tool/downloader.rb (Downloader.download): just link to the cache
when downloaded to the cache but not the target file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e