Activity
From 10/03/2019 to 10/09/2019
10/09/2019
-
11:53 PM Revision 25100c46 (git): lhs of pattern matching expression of should have a value
-
04:08 PM Revision 42edb056 (git): extracted declare_under
-
03:59 PM Revision 8dc5fe6e (git): Simplify rb_define_module_id
- 03:14 PM Revision ecf6c040 (git): * 2019-10-10 [ci skip]
-
03:13 PM Revision 9b919885 (git): fix memory corruption in old GCC
- This typo introduced memory corruption when __builtin_add_overflow
is not available but uint128_t is. GCC before 5 are one of such
situatins.
See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/2019100... -
02:46 PM Revision bb71a128 (git): Prefer st_is_member over st_lookup with 0
- The st_is_member DEFINE has simpler semantics, for more readable code.
-
02:39 PM Revision 29e6782f (git): Share ruby_sighandler_t definition
-
02:22 PM Revision 891cbd66 (git): signal.c: save the original sighandlers for fatal signals
- On Android, a signal handler that is not SIG_DFL is set by default for
SIGSEGV. Ruby's install_sighandler inserts Ruby's handler only when the
signal has no handler, so it does not insert Ruby's SEGV report handler,
which caused some te... -
02:02 PM Revision dd477df4 (git): error.c (rb_bug_for_fatal_signal): renamed from rb_bug_context
- Just refactoring.
The name "rb_bug_context" is completely unclear for me.
(Can you see that "context" means "machine register context"?)
The context is available only when a fatal signal (sigbus, sigsegv, or
sigill) is received; in fact... -
01:57 PM Revision b9cf58d2 (git): signal.c (ruby_abort): move the definition for refactoring
- The three functions for fatal signals, sigbus, sigsegv, and sigill, are
a family. The definition of ruby_abort had interrupted them for no
reason. This change just moves the definition after the family. -
11:16 AM Feature #16246: require with an optional block that is evaluated when requiring fails
- :)
I kind of like the idea (ok ok a bit of self-patting by me, so ...).
I think my primary objective was more my laziness, though.
For example, nobu had shown examples which are a common idiom like:
require 'foo' rescue Lo... -
05:54 AM Feature #16246 (Open): require with an optional block that is evaluated when requiring fails
- I have some code like this:
```ruby
begin
require "foo"
rescue LoadError
puts "You need to install foo in order to have the function A work."
...
end
```
I request to allow `require` to take a block which is executed w... -
11:00 AM Feature #16245: Add interfaces to count and measure size all IMEMO objects
- I like this API more, however `RubyVM` has been under discussion in https://bugs.ruby-lang.org/issues/15752 regarding implementation specific exposure of experimental API and / or insights. These 2 issues are in a way strongly coupled.
... -
10:49 AM Feature #16245: Add interfaces to count and measure size all IMEMO objects
- To be honest I think the best spot for this is `RubyVM.stat`
perhaps:
```
RubyVM.stat
{
:global_method_state=>143,
:global_constant_state=>1369,
:class_serial=>8768,
:imemo_ment_count,
:imemo_iseq_count,
... -
10:52 AM Misc #16232: DevelopersMeeting20191017Japan
- [Feature #16245] Add interfaces to count and measure size all IMEMO objects (Sam Saffron)
- Would love to see this included in 2.7, refined proposal does not add any new APIs. -
08:46 AM Revision 6f11c3b3 (git): Check '[ci skip]' at job level
-
08:21 AM Bug #16008: Ripper hshptn node drops information
- It works in this case, but not generic.
My WIP patch is https://github.com/nobu/ruby/tree/ripper.value -
06:52 AM Feature #16244: Add a Time#before? and Time#after? method
- I think the answer to the question 'which is clearer, more obvious, etc.' cannot be answered objectively. Sawa's example is evidence; he sees his preferred expressions as clearer; I find them quite a bit *less* clear. It all depends on h...
-
05:03 AM Revision d0e30fc9 (git): vm_eval.c (rb_adjust_argv_kw_splat): avoid memcpy with zero length
- A method call is often with `argc = 1` and `argv = &v` where v is a
VALUE, and some functions shift the arguments by `argc-1` and `argv+1`
(for example, rb_sym_proc_call). I'm unsure whether it is safe or not
to pass a pointer `argv+1` ... -
03:41 AM Revision b439ee1b (git): Remove uselsess shebang
- as the file is not executable anyway.
-
03:25 AM Revision 12d05537 (git): Update required_ruby_version to 2.4.0
-
03:25 AM Revision 2d001003 (git): Improve performance of Array#sum with float elements (#1555)
- The declaration of local variable in loop, it will initialize local variable for each run of the loop with clang generated code.
So, it shouldn't declare the local variable in heavy loop.
Array#sum with float elements will be faster aro... -
03:12 AM Revision a14cc07f (git): avoid returning NULL from xrealloc
- This changeset is to kill future possibility of bugs similar to
CVE-2019-11932. The vulnerability occurs when reallocarray(3)
(which is a variant of realloc(3) and roughly resembles our
ruby_xmalloc2()) returns NULL. In our C API, rub... -
03:12 AM Revision 7e0ae169 (git): avoid overflow in integer multiplication
- This changeset basically replaces `ruby_xmalloc(x * y)` into
`ruby_xmalloc2(x, y)`. Some convenient functions are also
provided for instance `rb_xmalloc_mul_add(x, y, z)` which allocates
x * y + z byes. -
03:12 AM Revision a220410b (git): annotate malloc-ish functions
- Make them gcc friendly. Note that realloc canot be __malloc__
attributed, according to the GCC manual. -
03:12 AM Revision 2f3b4029 (git): fix arity mismatch
- Seems nobody has actually used this macro. Such an obvious typo.
- 12:08 AM Revision 59cfa2d1 (git): * 2019-10-09 [ci skip]
-
12:08 AM Revision e078352a (git): lldb_cruby.py: fixed inspecting string [ci skip]
- Show the size of String.
To see the whole contents even after NUL char:
```
(lldb) rp str
(const char [5]) $1 = "x"
(lldb) memory read -s1 --format x --count `sizeof($1)` -- &$1 ... -
12:08 AM Revision 98131f14 (git): lldb_cruby.py: fixed embedded string ptr [ci skip]
- Use GetLocation to get the address of embedded array.
10/08/2019
-
11:34 PM Feature #16029: Expose fstring related APIs to C-extensions
- I think when it gets called it expects to reuse the memory allocated by the cstr eventually
https://github.com//blob/96753e8475ee69537134ab3d966c3d25cb5c467c/string.c#L287-L292
So if your library is in charge of the memory for the... -
11:07 AM Feature #16029: Expose fstring related APIs to C-extensions
- @sam.saffron Unless I'm missing something, that's exactly what `rb_fstring_new / rb_fstring_cstr` does.
```
VALUE rb_fstring_new(const char *ptr, long len);
VALUE rb_fstring_cstr(const char *str);
```
AFAICT It does allocate an ... -
11:26 PM Feature #16244: Add a Time#before? and Time#after? method
- sawa (Tsuyoshi Sawada) wrote:
>You should not be writing like that. You should either do somthing like
> ...
In your example, your coercing the dates to Floats and then comparing integers. Part of the reason I think `before?`/`after?... -
09:35 PM Feature #15323: [PATCH] Proposal: Add Enumerable#filter_map
- jonathanhefner (Jonathan Hefner) wrote:
> Eregon (Benoit Daloze) wrote:
> ...
What if `record.send(field)` returns `nil`?
Then the only way is:
```ruby
records.filter { |record| record.valid? }.map { |record| record.send(field) }
`... -
07:28 PM Feature #16245: Add interfaces to count and measure size all IMEMO objects
- Do you think it would be possible for this new API to not rely on whether there is bytecode/iseqs?
That way, it could be implemented on other Ruby implementations.
Is the main purpose to be able to estimate memory used by loaded Ruby... -
05:55 PM Feature #16245: Add interfaces to count and measure size all IMEMO objects
- Personally I love introspection so I am all in favour of giving ruby people
lots of tools to play with internal. I also liked oldschool evi.rb. :)
I guess this is for koichi to comment e. g. how stable he considers the
gem/code; an... -
04:38 PM Bug #16008: Ripper hshptn node drops information
- I believe this issue comes from `new_unique_key_hash`, which expects the `kw_args` member of the `hshptn` node to be in a certain format (see https://github.com/ruby/ruby/blob/master/parse.y#L811). If you modify the size of the array, i...
-
02:56 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- > Good call :)
> ...
Yes, first let's try it.
> My original interest to Drone CI mainly comes from the Solaris environment capability. Because of [Misc #15347], having GitHub-integrated CI of Oracle Developer Studio 12.x would be hel... -
01:33 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- > We might be able to run arm32 (ARM 32-bit) using multilib on arm64 (ARM 64-bit) on Travis too, as we have already been running i686 (Intel 32-bit) case on x86_64 (Intel 64-bit) on Travis.
Good call :)
For Arm CI, let's try it when ... -
11:25 AM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- > That's a nice feature. Possibly we can drop Drone to simplify the situation if we can give up arm32 support (not sure).
Yeah, it's a nice feature. We can drop Drone CI, if Travis works well with "arch: arm64". We might be able to ru... -
02:17 AM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- > There is "Azure pipelines" CI too.
We already dropped that in favor of GitHub Actions.
> ...
That's a nice feature. Possibly we can drop Drone to simplify the situation if we can give up arm32 support (not sure).
> By the way,... -
02:31 PM Bug #11275 (Closed): RFC3986_Parser accepts invalid URIs containing %
- Applied in changeset commit:git|7909f06212ae8df6ba7203f8152292a190b2b33a.
----------
Check for invalid hex escapes in URI#query=
Fixes [Bug #11275] -
02:30 PM Revision 7909f062 (git): Check for invalid hex escapes in URI#query=
- Fixes [Bug #11275]
-
08:04 AM Revision 8feb8c9b (git): Packed delayed token elements
-
02:21 AM Revision 11b6ff12 (git): more use of RbConfig::LIMITS
- `8 * RbConfig::SIZEOF` ... is not straight.
-
12:28 AM Bug #9822 (Closed): Ruby doesn't respect system OpenSSL configuration
- After some research by @ioquatix, OpenSSL 1.1.0+ should now work correctly and we should not need this setting. If this doesn't work for you with OpenSSL 1.1.0+, or you would like like Ruby to support older versions of OpenSSL with this...
- 12:06 AM Revision dd0c75fd (git): Import changes from ruby/bigdecimal (#2531)
- Sync to ruby/bigdecimal@92356ba71c6bd325b0ab618c634a7aecf8cdc767
10/07/2019
-
11:34 PM Feature #16244: Add a Time#before? and Time#after? method
- Jeremy Evans is right about this.
But I agree that your second example
```
birthday > thirteen_years_ago
```
is a bit hard to comprehend. However,
```
birthday.after? thirteen_years_ago
```
is as hard to comprehend. Yo... -
07:43 PM Feature #16244: Add a Time#before? and Time#after? method
- jeremyevans0 (Jeremy Evans) wrote:
> I would guess the `>` and `<` symbols are probably more understandable to people whose native language is not English, at least.
It's hard to speak for all non-native English speakers one way ... -
05:07 PM Feature #16244: Add a Time#before? and Time#after? method
- stevendaniels (Steven Daniels) wrote:
> Comparing times using `>` and`<` can be pretty confusing.
This is subjective. I don't find such Time comparisons confusing. I would guess the `>` and `<` symbols are probably more understandab... -
04:47 PM Feature #16244 (Open): Add a Time#before? and Time#after? method
- Comparing times using `>` and`<` can be pretty confusing.
I'd like to propose `Time#before?` and `Time#after?` methods for aliasing `Time#<` and `Time#>`
These method aliases would make the code more readable. :)
Current syntax... -
10:52 PM Feature #16245: Add interfaces to count and measure size all IMEMO objects
- sam.saffron (Sam Saffron) wrote:
> Koichi introduced an experimental gem: https://github.com/ko1/iseq_collector
> ...
I worked on `imemo_memsize` some time ago to correctly reflect the type sizes in https://github.com/ruby/ruby/commit/... -
10:07 PM Feature #16245: Add interfaces to count and measure size all IMEMO objects
- An alternative design could be to add 1 extra object to the heap
RubyVM::NonMaterializedInstructionSequences (sizeof all IMEMOS that are not wrapped)
Then `each_object` could include it and we could use that to measure size of all... -
10:02 PM Feature #16245 (Open): Add interfaces to count and measure size all IMEMO objects
- Koichi introduced an experimental gem: https://github.com/ko1/iseq_collector
It allows:
ObjectSpace.each_iseq{|iseq| ...}
ObjectSpace.count_iseq #=> Integer
ObjectSpace.memsize_of_all_iseq (should not generate RubyVM::Instruction... -
10:41 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- Just for your information.
This is today's blog from Travis CI. It's about supporting ARM 64-bit.
https://blog.travis-ci.com/2019-10-07-multi-cpu-architecture-support
The syntax is unlike existing "os: linux-ppc64le", but "arch: a... -
10:30 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- There is "Azure pipelines" CI too.
> BTW, I feel that we have too many CIs currently. Too many CIs brings too many notifications. Their formats are not uniform, which makes it harder to grasp the status.
Agree. Many CIs. Is there n... -
10:25 PM Feature #16029: Expose fstring related APIs to C-extensions
- I think the larger change here is allowing for a new type of API.
From a performance perspective the people using the new API would like to avoid allocating an RVALUE unless needed, the current fstring APIs require an RVALUE unless y... -
09:27 PM Bug #7021 (Closed): WEBrick::HTTPUtils.parse_header "normalizing" white space of cookie values.
- Pull request merged: https://github.com/ruby/webrick/pull/23
-
09:25 PM Bug #8542 (Closed): BigMath::exp modifies its first argument
- Pull request was merged: https://github.com/ruby/bigdecimal/pull/150
-
09:24 PM Bug #8274 (Closed): No tests for PKCS7::write_smime
- Pull request was merged: https://github.com/ruby/openssl/pull/268
-
08:51 PM Revision 59c3b1c9 (git): Add section to extension.rdoc for backwards compatibility macros [ci skip]
- These macros should make it easier to C extensions to switch to
the Ruby 2.7 C-API *_kw functions, but still have the code work
correctly on older Ruby versions. -
08:51 PM Revision c0eae130 (git): Note RB_PASS_EMPTY_KEYWORDS and RB_SCAN_ARGS_EMPTY_KEYWORDS will be removed
- There is no need for these in Ruby 3.0, and the plan is to
remove them. -
07:56 PM Revision 055a85d3 (git): Update NEWS with Module#ruby2_keywords and a few other things
-
07:28 PM Revision 6abcd357 (git): Do not free too many pages.
- Sweep step checks `heap_pages_freeable_pages`, so compaction should do
the same. -
07:10 PM Revision 058db33c (git): Move empty pages to the tomb
- I think we need to be moving empty pages to the tomb after they become
empty. -
06:35 PM Feature #16147: List Comprehensions in Ruby
- sammomichael (Samuel Michael) wrote:
> I also have added rudimentary support for nested comprehensions.
> ...
> # Build Matrix from nested loop
> ...
> # Flatten Matrix with nested loop
> ...
`$l[for x in 1..10 do for... -
01:01 PM Feature #16147: List Comprehensions in Ruby
- I also have added rudimentary support for nested comprehensions.
# Build Matrix from nested loop
`p $l[[for x in 1..10 do end], for x in 2..20 do x end] ` #=> does (1..10).map{(2..20).map{|x|x}
# Flatten Matrix with nested loop
... -
05:57 PM Revision 0a2f04e1 (git): Eliminate second GC pass for eliminating T_MOVED
- `T_MOVED` is a linked list, so we can just iterate through the `T_MOVED`
objects, clearing them out and adding them to respective free lists. - 03:00 PM Revision d8b6f585 (git): * 2019-10-08 [ci skip]
-
03:00 PM Revision 7abb0277 (git): Fix typo [ci skip]
- pointed out by ruby-trunk-changes
-
02:37 PM Revision 468184a9 (git): Allow ruby2_keywords to be used with bmethods
- There are libraries that use define_method with argument splats
where they would like to pass keywords through the method. To
more easily allow such libraries to use ruby2_keywords to handle
backwards compatibility, it is necessary for r... -
10:33 AM Revision 3374e145 (git): Write yaml and json under destdir and print to stdout
-
10:05 AM Revision 96753e84 (git): Create info.yml and info.json
- - `info.yml` is for ruby/www.ruby-lang.org/_data/releases.yml
- `info.json` is meta data for users of snapshot -
10:03 AM Revision bb86611c (git): Remove `-s3` option
- It will not use in `ruby/actions`, and `default=tmp` is not correct.
-
08:58 AM Bug #16243: case/when is slower than if on MRI
- The original benchmark allocates quite a bit, if we change it to just sum elements, the difference is around 20%:
```
Warming up --------------------------------------
deep_dup_case 44.804k i/100ms
deep_dup_if 5... -
06:47 AM Bug #16243: case/when is slower than if on MRI
- Interesting.
I tried a couple approaches, but couldn't get significant results.
* `checkmatch` with call cache
https://github.com/nobu/ruby/pull/new/feature/checkmatch-cache
* replace simple `checkmatch` with `:===` call
https:/... -
07:14 AM Revision f4252f64 (git): Version 0.0.3
-
07:04 AM Feature #16155 (Closed): Add an Array#intersection method
-
06:57 AM Feature #16155: Add an Array#intersection method
- Implementation is currently based on `Array#&`, which is elegant but might end up allocating a whole bunch of arrays holding intermediate results. If needed I can implement `Array#intersection` so it only allocates the result array once,...
-
05:18 AM Feature #16155: Add an Array#intersection method
- Hi all,
I've added an initial implementation of this based on `Array#&` on github (https://github.com/ruby/ruby/pull/2533).
One thing that stands out to me is the naming inconsistency between `rb_ary_and` and `rb_ary_intersection_m... -
06:59 AM Revision c8542ab4 (git): Add: Array#intersection method
- 05:16 AM Revision d4ec37f6 (git): * 2019-10-07 [ci skip]
-
05:15 AM Revision a9e9cd20 (git): Flush console just after printing
-
05:15 AM Revision 13611681 (git): Use built-in Win32API on JRuby
- It's fixed for JRuby dedicatedly.
-
05:15 AM Revision 309f6a77 (git): Swap expected and actual correctly
-
02:23 AM Feature #13683: Add strict Enumerable#single
- +1
I actually have this as `single` in my own code, but `only` sounds fine also. I'd want a non-raising version (perhaps via a `raise` keyword arg?), as my usage tends to be like this:
```ruby
if match = filenames.select{ |f| f.st... -
12:44 AM Feature #16240 (Rejected): Are all objects and methods marshalable
- see https://redmine.ruby-lang.org/issues/4818
10/06/2019
-
11:14 PM Feature #16231: Add #location to Net::HTTPResponse
- Seems like a good first issue, I'd like to take this up if there's any interest in having it.
-
08:43 PM Feature #15323: [PATCH] Proposal: Add Enumerable#filter_map
- Eregon (Benoit Daloze) wrote:
> but to me it sounds surprising that a method with `filter` in its name filters differently than `Enumerable#filter` (which removes both false and nil values).
Yes, I suppose that is surprising too... ... -
07:22 PM Feature #15323: [PATCH] Proposal: Add Enumerable#filter_map
- Isn't `enum.filter_map { |e| ... }` supposed to be (according to the name) the same as `enum.map { |e| ... }.filter { |e| e }`?
I'm not completely sure what is better, but to me it sounds surprising that a method with `filter` in its ... -
07:16 PM Feature #15323: [PATCH] Proposal: Add Enumerable#filter_map
- nobu (Nobuyoshi Nakada) wrote:
> IIRC, at the last meeting (20190522), the conclusion was that this method should select non-nil values only, like as `Array#compact`.
> ...
Checking master, it looks like this was not addressed. I agre... -
08:14 PM Feature #13683: Add strict Enumerable#single
- matz (Yukihiro Matsumoto) wrote:
> Hmm, I don't like the name `single`. Besides that, I think it may be useful for database access, but I don't see the use-case of this method for generic Enumerable.
I use (monkey-patched) `Enumerabl... -
04:41 PM Feature #16146: Array .difference allow custom comparison
- Dan0042 (Daniel DeLorme) wrote:
> What you're asking for is a O(n²) operation. I'm not sure it's a good idea to make that so easy and transparent as a core method.
Although the given example specified a two-argument block, the origin... -
04:15 PM Bug #16243 (Closed): case/when is slower than if on MRI
- This comes from a discussion on a PR on Sidekiq: https://github.com/mperham/sidekiq/pull/4303
This benchmark:
```ruby
# frozen_string_literal: true
require "benchmark/ips"
def deep_dup_case(obj)
case obj
when Integer, Floa... -
09:20 AM Bug #16161: tailcall_optimization may be disabled after r67315
- Oh I've pushed wrong commit on https://github.com/ruby/ruby/pull/2528 .
I retry to push my working branch on https://github.com/ruby/ruby/pull/2529 .
Sorry! -
07:00 AM Bug #16161: tailcall_optimization may be disabled after r67315
- I created Pull-Request https://github.com/ruby/ruby/pull/2528
-
08:01 AM Revision ddf5020e (git): Revert "tailcall optimization again (#2528)"
- This reverts commit f62f90367fc3bce6714e7c34cbd040e14e43fe07.
-
07:56 AM Feature #15824: respond_to pattern for pattern match
- The implementation can be very simple.
(I don't know whether `NODE_METHREF` is suitable.)
```diff
diff --git a/compile.c b/compile.c
index 7a88f81daa..f6eafb0ac2 100644
--- a/compile.c
+++ b/compile.c
@@ -5888,6 +5888,11 @@ iseq... -
07:52 AM Revision f62f9036 (git): tailcall optimization again (#2528)
- This is follow up of r67315.
-
07:33 AM Bug #16242 (Closed): Refinements method call to failed
- Refinements method call to failed with `prepend`.
## No problem
```ruby
module M
# Methods that you want to call only within this context
refine M do
def refine_method
"refine_method"
end
end
using M... -
06:30 AM Feature #15747 (Rejected): `(..1).last(2)` should return array but raise TypeError
- Now, I think this proposal doesn't make sense.
So I reject it. thank you. -
06:23 AM Revision 6525d3bc (git): test/dtrace/helper.rb: Etc.getgrnam may return nil on some platforms
- 02:49 AM Revision 2ca353c2 (git): * 2019-10-06 [ci skip]
-
02:39 AM Revision 2409667a (git): time.c: Fix some bugs about WIDEVALUE
- WIDEVALUE differs from VALUE in 32bit platform, but some codes assume
that they are the same.
There is `#define STRUCT_WIDEVAL` mode to check the consistency.
This change allows to build with STRUCT_WIDEVAL.
10/05/2019
-
10:53 PM Misc #16235: ENV.assoc spec test does not test invalid name
- https://github.com/ruby/ruby/pull/2527
-
07:08 PM Misc #16235: ENV.assoc spec test does not test invalid name
- Have put this up as a PR, so we're done here.
-
10:40 PM Feature #16241: Shorter syntax for anonymous refinements
- Hmm. I think there was another suggestion some months ago that also suggested
simplifications or "beautification" in regards to refinements.
In general I like ideas that try to make the refinement feature more accessible.
Syntax h... -
10:05 PM Feature #16241: Shorter syntax for anonymous refinements
- I believe that is really super-good thing. As I've written elsewhere in this tracker, the most useful case for refinements is "in current module, I want some shortcuts for my code to look cleaner". For example, [here](https://github.com/...
-
07:04 PM Feature #16241 (Open): Shorter syntax for anonymous refinements
- The original discussion is here https://bugs.ruby-lang.org/issues/14344.
tl;dr
- Refinements are often used in-place with anonymous modules
- Having shorter syntax could lower the barrier of entry for Rubyist wanting to explore this... -
03:34 PM Feature #16240 (Rejected): Are all objects and methods marshalable
As I work with objects, some of them are not marshaled. Maybe there should be a method to tell whether an object is marshalable or not.
See below example:
hash = Hash.new {|h,k| k * 2}
this hash can't be marshaled because it ...-
10:08 AM Revision 06a04a1a (git): ext/openssl/ossl_ssl.c: Use const declaration if LibreSSL >= 2.8.0
- to suppress a warning in OpenBSD.
```
ossl_ssl.c:938:31: warning: incompatible pointer types passing 'SSL_SESSION *(SSL *, unsigned char *, int, int *)' (aka 'struct ssl_session_st *(struct ssl_st *, unsigned char *, int, int *)') to pa... -
09:28 AM Revision 96452373 (git): ext/json/parser/prereq.mk: use `if $. == 1` instead of a hacky code
-
08:54 AM Revision 70e3fda2 (git): ext/json/parser/prereq.mk: keep line numbers of ext/json/parser/parser.c
- Follow up of 5717e55e9a7790c938afa694a9bf558c0e54bb83.
Adding a header with newline broke linenos. -
02:30 AM Revision 3e3cc088 (git): Now keyword parameter warnings are suppressed by 871005bdd204
- This reverts commits:
* 2a490d5660ac869f8f2bbcec4887b1dc2950643f
Suppress assert_match warnings.
* d4a86e407ec2057c2c7ad757aa76dad757f34c3a
Assert warnings message for the last argument is keyword parameter. -
02:04 AM Revision 212da9a6 (git): Added dependencies on prerequisite makefiles
-
01:50 AM Revision 6dfe0c9d (git): [rubygems/rubygems] The date might have advanced since TODAY has been set
- https://bugs.ruby-lang.org/issues/16189
https://github.com/rubygems/rubygems/commit/e331222163 - 01:50 AM Revision 7d4ab8bb (git): [rubygems/rubygems] Use dependency.identity in available_specs
- https://github.com/rubygems/rubygems/commit/bde88f00a1
- 01:50 AM Revision b659c1b9 (git): [rubygems/rubygems] Add Gem::Dependency#identity method
- https://github.com/rubygems/rubygems/commit/05146bb2fd
-
01:50 AM Revision 871005bd (git): [rubygems/rubygems] Suppress keywords warning in ruby 2.7
- https://github.com/rubygems/rubygems/commit/892bfc11fe
-
01:50 AM Revision caa9d0bd (git): [rubygems/rubygems] Always pass an encoding option to Zlib::GzipReader.wrap
- The arity of this method has been -1 since the import, so the
option has been passed always, even if Zlib::GzipReader#initialize
does not take the option. Actually it takes the option since 1.9.
https://github.com/rubygems/rubygems/com... -
01:50 AM Revision 39e8d5e1 (git): [rubygems/rubygems] Use dedicated assertion methods
- For better messages at failures.
https://github.com/rubygems/rubygems/commit/971455b16e -
01:50 AM Revision f8104d9e (git): [rubygems/rubygems] Fixed assertion arguments
- It is `assert_eqal(expected, actual)`.
https://github.com/rubygems/rubygems/commit/1d6197a090
10/04/2019
-
10:37 PM Revision 170d1540 (git): signal.c: Use MINSIGSTKSZ by casting to int
- MINSIGSTKSZ is unsigned int in OpenBSD, which makes a warning of
comparison:
```
signal.c:535:14: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
if (size < MINSIGSTKSZ)
~~~~ ^ ~... -
10:00 PM Revision 417c64b9 (git): ext/json/parser/parser.rl: Use "signed" char to contain negative values
- char is not always signed. In fact, it is unsigned in arm.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20191004T181708Z.log.html.gz
```
compiling parser.c
parser.rl: In function ‘unescape_unicode’:
parser... -
10:00 PM Revision 5717e55e (git): ext/json/parser/prereq.mk: Add a "automatically generated" header
- to parser.c.
-
09:34 PM Revision 076d3d75 (git): ext/json/parser/parser.rl: Update the source code of parser.c
- There have been some direct changes in parser.c which is automatically
generated from parser.rl. This updates parser.rl to sync the changes:
* 91793b8967e0531bd1159a8ff0cc7e50739c7620
* 79ead821dd4880725c9c6bb9645b3fad71715c5b
* 80b5a0... -
09:03 PM Bug #16237 (Closed): Set#union performance issue
- This is a spec. The reason is because `Set#union` duplicates self and then merges the argument, which makes your "set" implementation O( n^2 ). You may want to use `Set#merge` instead of `Set#union` in this case.
```
def set2
re... -
12:17 PM Bug #16237 (Closed): Set#union performance issue
- I've discovered a very large difference in performances between Set#union and the use of a hash to compute this union.
The issue can be shown with the code below.
Here are the benchmark results:
```
user system to... -
07:02 PM Revision bd4b65f4 (git): IMEMO objects don't have a class, so return early
- IMEMO objects don't have a class field to update, so we need to return
early, otherwise it can cause a segv. -
06:11 PM Revision a20ed056 (git): Don't allocate objects in `gc_compact`
- I'd like to call `gc_compact` after major GC, but before the GC
finishes. This means we can't allocate any objects inside `gc_compact`.
So in this commit I'm just pulling the compaction statistics allocation
outside the `gc_compact` fun... -
06:11 PM Bug #16239 (Third Party's Issue): Crash when accessing postgresql-12
- This crash happens inside the pg gem. It's either caused by the pg gem, libpq (PostgreSQL), or one of the internal Mac OS libraries listed.
```
7 ??? 0x0000000200000000 0 + 8589934592
8 com.apple.secu... -
05:59 PM Bug #16239 (Third Party's Issue): Crash when accessing postgresql-12
- This may have been caused by a recent upgrade to postgresql 12 on my local machine (running OS X Mojave). pgAdmin 4 is also giving me an error.
I am running a rails console, and as soon as I try to do anything with ActiveRecord that a... - 06:07 PM Revision cbf88064 (git): * 2019-10-05 [ci skip]
-
06:02 PM Revision cbbe198c (git): Fix potential memory leaks by `rb_imemo_tmpbuf_auto_free_pointer`
- This function has been used wrongly always at first, "allocate a
buffer then wrap it with tmpbuf". This order can cause a memory
leak, as tmpbuf creation also can raise a NoMemoryError exception.
The right order is "create a tmpbuf then... -
05:57 PM Feature #14145: Proposal: Better Method#inspect
- Thanks a ton for the proposal and feature. I love the idea of getting source location info by default!
-
04:17 PM Feature #16131: Remove $SAFE, taint and trust
- I've rebased my pull request against master and fixed the conflicts (https://github.com/ruby/ruby/pull/2476). I've also removed mentions of $SAFE and taint from the documentation.
Due to the extent of the changes, I don't want to wai... -
03:34 PM Bug #16238: Publish new WEBrick version to rubygems.org
- I have added a short notice for people interested to https://stdgems.org/webrick/#notes
Btw, do you use a tool assisting with merging the upstream changes? If not I'd offer to build one (not totally automated, but might be helpful for... -
01:58 PM Bug #16238: Publish new WEBrick version to rubygems.org
- That was quick, thanks!
-
01:53 PM Bug #16238 (Closed): Publish new WEBrick version to rubygems.org
- Done
https://rubygems.org/gems/webrick/versions/1.5.0 -
01:41 PM Bug #16238 (Assigned): Publish new WEBrick version to rubygems.org
- I'm working on it now. I need to triage the changeset from ruby/ruby master.
Please wait a few days. -
01:21 PM Bug #16238 (Closed): Publish new WEBrick version to rubygems.org
- The latest security releases of Ruby include some fixes in the webrick default gem:
- https://www.ruby-lang.org/en/news/2019/10/01/webrick-regexp-digestauth-dos-cve-2019-16201/
- https://www.ruby-lang.org/en/news/2019/10/01/http-resp... -
03:02 PM Bug #16236: Cannot handle logrotate on Windows when one file is written from multi process/thread
- Log rotation relies on renaming the current log file (`app.log` -> `app.log.0`) and the reopening the log file (`app.log`). This does not work on Windows in a multi-process environment because you cannot rename a file open by another pr...
-
06:30 AM Bug #16236 (Third Party's Issue): Cannot handle logrotate on Windows when one file is written from multi process/thread
- ### TL;DR
This issue occurred in Windows version of Fluentd.
It uses ServerEngine and its logger functionality delegates into Ruby logger library.
Fluentd's logrotate functionality is originated from Ruby logger library,
Then, I fo... -
12:30 PM Revision c8a18e25 (git): iseq.c (rb_iseq_compile_on_base): Removed
- ko1 cannot remember why he introduced the function. And it is not used.
After it is removed, the argument "base_block" of
rb_iseq_compile_with_option is always zero. -
11:06 AM Feature #16233: winruby UTF8 Fallback for no CodePage
- duerst (Martin Dürst) wrote:
> If codepage 720 is not supported, then we should look at supporting it.
fair point, however investigation on this Puppet ticket: https://tickets.puppetlabs.com/browse/PA-2191 concluded that falling back... -
04:44 AM Feature #16233: winruby UTF8 Fallback for no CodePage
- If codepage 720 is not supported, then we should look at supporting it.
-
07:07 AM Revision 113bef69 (git): array.c (rb_mem_clear): remove "register" from arguments
- to suppress the following warning:
```
compiling cxxanyargs.cpp
In file included from cxxanyargs.cpp:1:
In file included from ../../.././include/ruby/ruby.h:2150:
../../.././include/ruby/intern.h:56:19: warning: 'register' storage class... -
01:15 AM Revision 5be2af5f (git): Remove call-seq for method that doesn't exist (#2521)
- ```
$ ruby -ve 'IO.popen("ls"){}; $?.to_int'
ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-darwin18]
Traceback (most recent call last):
-e:1:in `<main>': undefined method `to_int' for #<Process::Status: pid 33989 SIGPIPE (signal 13)... -
12:58 AM Misc #16235: ENV.assoc spec test does not test invalid name
- Got it, thanks. Will update the diff.
10/03/2019
-
11:56 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- Just FYI: There are other CIs that are created and maintained by ourselves.
* http://ci.rvm.jp/
* It tests Ruby under a variety of configurations (JIT, assertions enabled, parallel testing, etc.)
* It is the fastest CI: a notifi... -
10:48 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- Thanks for merging quickly!
I am looking forward to seeing ARM / Solaris / FreeBSD / OpenBSD / NetBSD CIs in .drone.yml or .drone.star :)
-
09:14 PM Misc #16234 (Closed): Enabling ARM 64/32-bit cases by Drone CI
- Naruse enabled the Drone CI and merged your PR commit:bdbf8de4980ef54f466809ee27a9f2a00614b0f0.
-
07:24 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- I've never tried that, but the capability looks good. If the Solaris environment has Oracle Developer Studio, that'd be really nice. Even if not, ARM / FreeBSD / OpenBSD / NetBSD CIs would be nice to have, in addition to RubyCI's ones.
... -
07:20 PM Misc #16234: Enabling ARM 64/32-bit cases by Drone CI
- Now ARM 64-bit: success, ARM 32-bit: failed on the latest master branch again. :)
https://cloud.drone.io/junaruga/ruby/4
-
06:41 PM Misc #16234 (Closed): Enabling ARM 64/32-bit cases by Drone CI
- Currently ruby project has 4 CIs on GitHub.
1. Travis CI: linux cases with flags and compilers.
2. GitHub Actions: macros, windows, ubuntu
3. Wercker: Ruby JIT cases
4. Appveyor: windows
I like to suggest 5th CI: Drone CI for AR... -
11:30 PM Misc #16232: DevelopersMeeting20191017Japan
- * [Bug #10314] Default argument lookup fails in Ruby 2.2 for circular shadowed variable names (jeremyevans)
* Do we want to change `def foo(bar=bar)` from warning to SyntaxError using the patch?
* [Bug #11055] autoload resets private... -
10:02 AM Misc #16232: DevelopersMeeting20191017Japan
- * [Feature #16029] Expose fstring related APIs to C-extensions (byroot)
* Apparently the current implementation is complicated to expose, but no details were provided.
* Is there something I or others could change to the implementa... -
06:34 AM Misc #16232 (Closed): DevelopersMeeting20191017Japan
- Please comment on your favorite ticket numbers you want to ask to discuss with your *SHORT* comment or summary.
(your summary/comment will help us because we don't need to read all of the ticket comments)
*DO NOT* discuss then on thi... -
11:07 PM Misc #16235: ENV.assoc spec test does not test invalid name
- burdettelamar@yahoo.com (Burdette Lamar) wrote:
> Method :reserve_names fails if any name is already in use:
> ...
`reserve_names` is called in a `before :each` block. When it fails, the `after :each` block is called. That block call... -
09:54 PM Misc #16235: ENV.assoc spec test does not test invalid name
- Method :reserve_names fails if any name is already in use:
```
def reserve_names(*names)
@reserved = names
@reserved.each do |name|
fail "Name #{name} is already in use" if ENV.include?(name)
end
end
```
So, not a... -
09:31 PM Misc #16235: ENV.assoc spec test does not test invalid name
- It appears if `reserve_names` is called with a name that is already an environment variable, `release_names` will remove that name from the environment, which seems like a bug. Now, that issue exists in the current code (environment var...
-
09:05 PM Misc #16235 (Open): ENV.assoc spec test does not test invalid name
- The most important thing here is an added test for an invalid name argument to ENV.assoc, which should raise TypeError.
I've also added to spec_helper.rb:
- Methods :reserve_names and :release_names, to reserve and release names us... -
10:58 PM Revision 7db83b04 (git): Revert "Simplify bin_path_spec.rb guard"
- This reverts commit a56d742e69aa8a3a1fe92fc515d93f6e51cf5fbc.
I was checking the CI result of the wrong revision. It actually worked
fine https://ci.appveyor.com/project/ruby/ruby/builds/27866303. Never
mind... -
10:33 PM Revision a56d742e (git): Simplify bin_path_spec.rb guard
- For some reason the guard_not seems not working as expected
https://ci.appveyor.com/project/ruby/ruby/builds/27866153/job/v6wa6q6p7b7n7r37 -
10:15 PM Revision ac69a051 (git): Ignore arm32 failure for now
-
09:25 PM Revision 182336cc (git): bin_path_spec.rb has failed from the beginning
- for mswin. This spec is not valid for mswin platform.
https://ci.appveyor.com/project/ruby/ruby/builds/27748774/job/85khngfpc806m5lj -
09:17 PM Revision 804672e7 (git): Try disabling build on trunk
-
09:13 PM Revision 9f24e8fd (git): Document *_kw functions added to include/ruby/ruby.h [ci skip]
- Also documents the non-*_kw functions if they were not already
documented. -
09:13 PM Revision c7715a49 (git): Add documentation regarding keyword argument separation [ci skip]
-
09:13 PM Revision 12e27a41 (git): Minor updates to methods and calling_methods documentation [ci skip]
- 09:12 PM Revision bdbf8de4 (git): Enable Drone CI for ARM 64/32-bit cases. (#2520)
- https://bugs.ruby-lang.org/issues/16234
-
07:16 PM Misc #15723: Reconsider numbered parameters
- Dan0042 (Daniel DeLorme) wrote:
> ```ruby
> ...
That’s actually really beautiful. And by extension, `.` alone would be the param itself.
```ruby
ary.map { meth(.) }
ary.map { meth . } # same
ary.map { meth _0 } # same
```
-
05:35 PM Revision c3dd3b95 (git): iseq.c (rb_iseq_compile_with_option): dummy parent_iseq for the parser
- The parsing of `RubyVM::InstructionSequence.compile` does not support an
outer scope currently. So it specified NULL as parent_iseq for the
parser. However, it resulted in the following false-positive warning.
```
RubyVM::InstructionS... -
05:34 PM Revision b732a9f8 (git): parse.y: use "struct rb_iseq_struct" instead of rb_iseq_t
- typedef was not declared in parse.y. Sorry.
- 05:30 PM Revision bb9604e1 (git): * 2019-10-04 [ci skip]
-
05:30 PM Revision b43afa0a (git): Make parser_params have parent_iseq instead of base_block
- The parser needs to determine whether a local varaiable is defined or
not in outer scope. For the sake, "base_block" field has kept the outer
block.
However, the whole block was actually unneeded; the parser used only
base_block->iseq.... -
05:30 PM Revision 711c40eb (git): Refactor parser_params by removing "in_main" flag
- The relation between parser_param#base_block and #in_main were very
subtle.
A main script (that is passed via a command line) was parsed under
base_block = TOPLEVEL_BINDING and in_main = 1.
A script loaded by Kernel#require was parsed un... -
03:32 PM Feature #15912: Allow some reentrancy during TracePoint events
- I tried my idea and, while it seemed [not hard to implement](https://github.com/ruby/ruby/commit/ed0fd5d015860f5b2fa190d9287506d5b5142230), it's not going to work, because many many more event would be generated and that breaks `byebug` ...
-
11:51 AM Feature #16231: Add #location to Net::HTTPResponse
- Seems ok to me.
-
03:53 AM Feature #16231 (Open): Add #location to Net::HTTPResponse
- # Abstract
Add a location convenience method to the `Net::HTTPRedirection` class.
# Background
When developers receive 3xx responses, we tend to do one of two things: follow the redirect or pass the redirect location onto the co... -
10:14 AM Revision 8f7fca78 (git): make-snapshot: touch updated files after prepared
- Align mtime of files updated by `make prepare-package` to make
packages reproducible. -
10:12 AM Revision 8142a9b4 (git): make-snapshot: suppress make error messages unless failed
-
10:09 AM Revision 47d143be (git): make-snapshot: copy cache files instead of linking
- To get rid of setting mode and mtime of the original cache files.
-
10:07 AM Revision b7ae26e2 (git): vcs.rb: fix to export git-svn version
- * Use the given branch name instead of implicit 'HEAD".
* Format like as git-svn when `from` or `to` is SVN revision
number. -
09:32 AM Revision ad67adb5 (git): [ruby/fileutils] Use pend instead of skip
- https://github.com/ruby/fileutils/commit/ba2c24e2d7
-
09:32 AM Revision c14755e9 (git): [ruby/fileutils] improve the compatibility of minitest
- https://github.com/ruby/fileutils/commit/f16f5a0dd6
-
07:29 AM Feature #16233 (Closed): winruby UTF8 Fallback for no CodePage
- This is to deal specifically with setting the Region to Arabic which
sets the codepage to 720. This codepage isn't recognised by Ruby which
causes it to fail during initialisation when setting up LOCALE.
This patch to Ruby is necess... -
06:24 AM Revision 3ffd98c5 (git): add debug counters for vm_search_method_slowpath()
- Implemented fine-grained inspection of cache misshits. Handy for
counting the reasons why an inline method cache was evicted. -
06:24 AM Revision 84fc1de5 (git): use bind_call for test-all --gc-stress
- This one allocation of Method object is worth avoiding. We don't
want to test UnboundMethod#bind right here. GC need not run. - 04:44 AM Revision 1c999952 (git): Resolve unused local variable reported by LGTM
- LGTM reports that the value assigned to local variable 'shared' is never
used:
https://lgtm.com/projects/g/ruby/ruby/snapshot/f319a5d064627c6641817ec2ed16b97b4d215148/files/misc/lldb_cruby.py#x6512c0281581a470:1
This problem was introdu... - 03:48 AM Revision a515e3f9 (git): * 2019-10-03 [ci skip]
- 03:48 AM Revision 7e060d50 (git): * expand tabs. [ci skip]
- Tabs were expanded because previously the file did not have any tab indentation.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook. -
03:45 AM Revision eb92159d (git): Revert https://github.com/ruby/ruby/pull/2486
- This reverts commits: 10d6a3aca7 8ba48c1b85 fba8627dc1 dd883de5ba
6c6a25feca 167e6b48f1 7cb96d41a5 3207979278 595b3c4fdd 1521f7cf89
c11c5e69ac cf33608203 3632a812c0 f56506be0d 86427a3219 .
The reason for the revert is that we observe AB... - 02:27 AM Revision f9981d79 (git): Bump version
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e