Activity
From 01/23/2019 to 01/29/2019
01/29/2019
-
09:25 PM Bug #15572 (Closed): `RubyVM::InstructionSequence` doesn't work with `extend`.
- For some reason,`RubyVM::InstructionSequence.extend` doesn't seem to work as expected.
```ruby
module Loader
def load_iseq(path)
puts path
return compile_file(path)
end
end
# This doesn't work?
# RubyVM::Instruct... -
09:21 PM Feature #15567: Allow ensure to match specific situations
- So, @jeremyevans0, I agree with everything you say.
That being said, this proposal goes beyond just that single case. For example, there is no easy way to capture `retry` or `redo` exiting a block.
Looking at your example, e.g.
... -
06:46 PM Feature #10370: [PATCH] We don't need to check whether rb_block_call exists
- Been a while but Hiroshi put it on the next upcoming developer meeting so I
guess this may be discussed in a few days. -
05:35 PM Feature #15571 (Open): Add methods: iroot, root, and roots
- **Proposal**
The rubygem `roots` provides a few methods to find the numerical roots
of real, complex, and integer numbers. This proposal requests including the
following three (3) methods into Ruby.
https://rubygems.org/gems/roots... -
01:57 PM Bug #14972: Net::HTTP inconsistently raises EOFError when peer closes the connection
- I checked the code again and I noticed I wrote a code which depends current behavior before.
It is to resume with the partially downloaded result.
I consider something like this code with a option or changing the behavior with migrat... -
12:05 PM Bug #15570 (Closed): rb_int2big signature change #14036 breaks VIM on 32b arches
- It was recently pointed out by VIM maintainer in Fedora [1], that VIM fails to build with Ruby 2.6 with the following error:
~~~
gcc -c -I. -DDYNAMIC_RUBY_DLL=\"libruby.so.2.6\" -DDYNAMIC_RUBY_VER=26 -I/usr/include -I/usr/include -DR... -
10:42 AM Feature #11076: Enumerable method count_by
- For this kind of method, I wish we would implement it in Ruby even in MRI: it's much simpler, more readable, and every Ruby implementation could use it.
-
02:52 AM Feature #11076: Enumerable method count_by
- https://github.com/nobu/ruby/pull/new/feature/11076-Enumerable%23tally
As `Hash#[]=` copies string keys, the `object_id` will be unique unless the item is frozen. -
01:04 AM Feature #11076: Enumerable method count_by
- mame (Yusuke Endoh) wrote:
> I have learnt the word "tally" in this thread. Thank you. It looks good to me, a non-native speaker. I have put this on the agenda of the next developers' meeting.
> ...
Answer 1: I would say the first, b... -
09:19 AM Bug #15555: Dir.mktmpdir checks permissions and raise ArgumentError after yielding to block (ensure) & leaks allocated tempdir
- ruby_2_6 r66941 merged revision(s) 66909.
-
09:19 AM Revision fdca654c (git): merge revision(s) 66909: [Backport #15555]
- tmpdir.rb: permission of user given directory
* lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the
parent directory only when using the default temporary
directory, and no check against user given d... -
05:36 AM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
- ruby_2_6 r66940 merged revision(s) 66708.
-
05:31 AM Bug #15499 (Closed): Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
- Applied in changeset ruby_2_6|r66940.
----------
merge revision(s) 66708: [Backport #15499]
thread.c (call_without_gvl): spawn thread for UBF iff single-threaded
We need another native thread to call some unblocking functions
which... -
05:31 AM Revision fbad5b97 (git): merge revision(s) 66708: [Backport #15499]
- thread.c (call_without_gvl): spawn thread for UBF iff single-threaded
We need another native thread to call some unblocking functions
which aren't RUBY_UBF_IO or RUBY_UBF_PROCESS. Instead of a
permanent thread i... -
05:00 AM Bug #15488: const_defined?("File::NULL") の挙動
- ruby_2_6 r66939 merged revision(s) 66938.
-
04:39 AM Revision bf8cc37b (git): merge revision(s) 66938: [Backport #15488]
- Fix `Module#const_defined?` on inherited constants
[Fix GH-2061]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
01/28/2019
-
07:22 PM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
- I recommend to backport only r66708 for ruby 2.6.1 now.
Honestly speaking I don't understand why it is needed, but eric should know more so I want to believe.
r66712 has several problem so we need discuss more.
-
07:20 PM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
- Sorry I didn't check this ticket (because it seems difficult).
> r66708
I'm not sure why another thread is needed. could you explain about it?
> ...
`rb_nogvl` seems not good name.
Maybe Microsoft will name it `rb_thread_call_w... -
06:38 PM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
- I think you missed an important point here. Like @fxn said above:
> First and foremost, I'd like to be very straightforward saying that if Kernel#autoload is killed tomorrow, that would be fine with me. I'd shutdown Zeitwerk and Rails... -
04:22 PM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
- Hi, this is a discussion which I'm pretty much interested in and I'd like to add a few comments.
It seems to me that there are basically two reasons why people rely on autoload:
1. to achieve fast boot;
2. for convenience (not hav... -
05:06 PM Feature #15563: #dig that throws an exception if a key doesn't exist
- My scenario would be similar to k0kubuns scenario.
```Ruby
# The connection translates the request to JSON and parses the response
# from JSON into the correct objects. In this case a nested hash structure.
response = connection.se... -
03:15 PM Bug #15569 (Closed): TestResolvDNS#test_no_server always fails on usa's mswin environment
- Every week @usa reports a test failure on his mswin environment like this:
```
[ 9/135] TestResolvDNS#test_no_server = 5.00 s
1) Error:
TestResolvDNS#test_no_server:
Timeout::Error: execution expired
C:/Users/usa/develop/r... -
01:52 PM Feature #15373 (Closed): Proposal: Enable refinements to `#method` and `#instance_method`
-
01:49 PM Bug #15488 (Closed): const_defined?("File::NULL") の挙動
-
01:32 PM Revision 7fa16fd9 (git): Fix `Module#const_defined?` on inherited constants
- [Fix GH-2061]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:53 AM Revision dd4fdb32 (git): added assertion with method ref operator
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 11:45 AM Revision b5f90613 (git): * expand tabs.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:45 AM Revision 2a4c87dc (git): Add refinements support to method/instance_method.
- [Fix GH-2034]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:04 AM Revision 2210709b (git): io.c: use fcopyfile(3) in IO.copy_stream if available
- fixed r66930.
* io.c (nogvl_copy_stream_func): use fcopyfile(3) in IO.copy_stream if available
* configure.ac: check copyfile.h and fcopyfile(3)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:32 AM Feature #15562: `String#split` option to suppress the initial empty substring
- I believe an initial empty string should often be useful and significant, so it is a reasonable default to include one. String#split is used for splitting strings like `key=value` and `/path/components`, not to mention CSV, where `key=`...
-
02:46 AM Feature #15562: `String#split` option to suppress the initial empty substring
- > (shevegen (Robert A. Heiler):) This reminds me a bit of Dir['*'] versus Dir.entries(Dir.pwd). The latter
also has . and .. entries
Actually, I had the same thing in mind. I have never felt the initial `""` in `String#split` useful ...
01/27/2019
-
09:46 PM Revision 774c6095 (git): Revert "io.c: use fcopyfile(3) in IO.copy_stream if available"
- This reverts commit bd670062c4e3a3c9fdfaaaf7bd3c232442a26a4c.
It fails on rubyspec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 08:55 PM Revision 0c7768e6 (git): * 2019-01-28
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 08:55 PM Revision f1a3be35 (git): * expand tabs.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
08:55 PM Revision bd670062 (git): io.c: use fcopyfile(3) in IO.copy_stream if available
- * io.c (nogvl_copy_stream_func): use fcopyfile(3) in IO.copy_stream if available
* configure.ac: check copyfile.h and fcopyfile(3)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:28 PM Feature #13821: Allow fibers to be resumed across threads
- bascule (Tony Arcieri) wrote:
> There's a simple solution to this: track if a given fiber is holding mutexes (e.g. keep a count of them) and if it is, make Fiber#resume raise an exception if it is resumed in a different thread from the ... -
04:12 PM Feature #15330: autoload_relative
- I think `autoload_relative` should be added.
At present, opinion seems to be that `autoload` cannot be removed.
Additionally (and a separate discussion), if `autoload_relative` is added to 2.7, might it provide a path to deprecatin... -
01:12 PM Revision 42921458 (git): Update to ruby/spec@e57f49c
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:22 AM Feature #15557: A new class that stores a condition and the previous receiver
- zverok (Victor Shepelev) wrote:
> > `Enumerable#grep`
> ...
I meant an example of condition and processing by one method.
```ruby
something.grep(->(x) { x.odd? }) {|x| do_odd_thing(x)}
```
> ...because they write
> ...
`Enumerab... -
02:42 AM Feature #15567: Allow ensure to match specific situations
- ioquatix (Samuel Williams) wrote:
> One more thing to bear in mind is that you can avoid this feature if you don't like it. Because it's for some very specific situations. It doesn't affect existing code in any way. But for situations l... -
02:42 AM Misc #10233: iseq.cのget_line_info()でバイナリサーチを使うように修正するか
- このチケットを全く知りませんでした(すみません)が、2.5 で二分探索にしました。さらにその後 2.6 では簡潔ビットベクトルで O(1) にしました。
-
12:02 AM Misc #15568: TracePoint(:raise)#parameters raises RuntimeError
- > Having the ability to get the parameters in a raise context would be very useful for debugging.
I agree. I can't say whether this means that trace.parameters exist but I agree that it may be
useful in debugging/introspection.
> ...
01/26/2019
-
11:43 PM Feature #15456: Adopt some kind of consistent versioning mechanism
- Ok, maybe I'm not confused.
Assume gem a-1.8 exists with a lower Ruby version constraint of >= 2.0, and a-1.9 exists with a lower Ruby version constraint of >= 2.2.
If one has pessimistic versioning of major.minor, RubyGems will ... -
11:25 PM Feature #15456: Adopt some kind of consistent versioning mechanism
- I'm confused. I'll use major.minor.teeny
> Next year, Mr.A drops Ruby 2.0 support and released a1.gem as 2.0.
> ...
No mention as to whether the releases contain breaking API changes. If not, why a new 'major' release, vs a 'mino... -
10:05 PM Feature #15456: Adopt some kind of consistent versioning mechanism
- Just one example where a popular gem was basically forced to keep compatibility with older versions, or needs a major version increase:
https://github.com/ruby-concurrency/concurrent-ruby/issues/768
I'd guess there are many other sim... -
11:05 AM Feature #15456: Adopt some kind of consistent versioning mechanism
- My understanding of semantic versioning is that what you depend on is not part of your public API. So, if you drop versions of Ruby, you can release new minor version, it's good enough.
-
11:30 PM Feature #15567: Allow ensure to match specific situations
- One more thing to bear in mind is that you can avoid this feature if you don't like it. Because it's for some very specific situations. It doesn't affect existing code in any way. But for situations like mine where I have a handful of us...
-
11:26 PM Feature #15567: Allow ensure to match specific situations
- @shevegen - thanks for your feedback.
> The reason why I dislike it is partially due to the syntax verbosity
With regards to syntax, it should use existing keywords, otherwise it can cause more problems. The reason for `not` is alr... -
12:03 PM Feature #15567: Allow ensure to match specific situations
- I was about to write a long comment, but then I noticed that my reply would be too long, so I shortened
this. So just a few key statements:
I don't like the proposed syntax suggestion here in particular:
```ruby
ensure when not r... -
10:59 AM Feature #15567: Allow ensure to match specific situations
- @eregon - thanks for your response.
> `Ensure` should always be executed no matter the circumstances IMHO, so I don't like to make it conditional with extra syntax.
This isn't about not executing `ensure`, but allowing user to hand... -
09:51 AM Feature #15567: Allow ensure to match specific situations
- I think the workaround using a variable set after `yield` (`success = true`) is not too bad, and clear enough. And the performance would be fine in this case (i.e. there would be no overhead if the JIT profiles the branch and only one br...
-
08:31 AM Feature #15567 (Rejected): Allow ensure to match specific situations
- There are some situations where `rescue Exception` or `ensure` are not sufficient to correctly, efficiently and easily handle abnormal flow control.
Take the following program for example:
```
def doot
yield
ensure
# Did the ... -
09:10 PM Misc #15568 (Open): TracePoint(:raise)#parameters raises RuntimeError
- Currently trying to get the `trace.parameters` of a method in a `raise` event will lead to a RuntimeError. I would contend that it should not, and that it would be perfectly valid to ask for the parameters in the case of an exception.
... -
09:03 PM Feature #14915: Deprecate String#crypt
- eregontp@gmail.com wrote:
> If we want to remove a feature, we deprecate and warn first, that has always been the case in MRI.
I prefer no removals.
> @normalperson If you disagree, please start a general discussion about warning... -
02:35 PM Feature #15563: #dig that throws an exception if a key doesn't exist
- Personally I've hit a real-world use-case of this feature many times.
I often manage structured configs with nested YAML files and load them from Ruby. With current Ruby, to avoid an unhelpful exception `NoMethodError`, I assert the e... -
01:54 PM Feature #15563: #dig that throws an exception if a key doesn't exist
- I am against `dig!` for this purpose. When we have two versions of a method (`foo` and `foo!`), the bang version should be more dangerous than the non-bang version. `dig!` is not the case.
And with whatever name, we need the real-worl... -
01:14 PM Feature #15563: #dig that throws an exception if a key doesn't exist
- shevegen (Robert A. Heiler) wrote:
> I have no particular pro or con against the feature itself as such; I myself do not use or need .dig so I
> ...
There is a well-established convention in Ruby, when you have a pair of methods that d... - 01:43 PM Revision a53ee213 (git): * 2019-01-26
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:43 PM Revision 60023cf4 (git): parse.y: trim newline in erred code
- * parse.y (parser_yyerror): trim a newline at the end of the erred
code which was replaced with an extra space in the succeeding
cursor line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:06 AM Feature #14844: Future of RubyVM::AST?
- I started playing around with `parser` gem, and I actually found it really great too. I think I'll use the parser gem going forward, since it works on many versions of Ruby. That being said, exposing Ruby's AST is also really fun.
-
11:02 AM Feature #14975: String#append without changing receiver's encoding
- @naruse do you think we can make some progress on this issue for 2.7 or not?
-
11:01 AM Feature #15560: Add support for read/write offsets.
- Also, rather than using a keyword argument, it could be a 3rd argument after buffer, since buffer must be supplied in order for this to work.
-
08:30 AM Feature #15560: Add support for read/write offsets.
- It is useful for read when user wants to read some data, and it wasn't enough (e.g. implementing `gets`) so you need to read some more at the end of what you already have.
-
08:35 AM Misc #15546: DevelopersMeeting20190207Japan
- * [Feature #15567] Allow ensure to match specific situations. (ioquatix)
* Could we discuss whether this is a good idea or not?
* [Feature #15560] Add support for read/write offsets. (ioquatix)
* Can we get consensus on whether we... -
08:02 AM Bug #15521: encoding is missed when using `CSV.generate`
- ruby_2_6 r66926 merged revision(s) 66922.
-
08:02 AM Revision df7ac8af (git): merge revision(s) 66922: [Backport #15521]
- Upgrade CSV to 3.0.4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:59 AM Bug #15489: SEGV when using refinements and `&:` syntax
- ruby_2_6 r66925 merged revision(s) 66658.
-
07:59 AM Revision eb1d5ab5 (git): merge revision(s) 66658: [Backport #15489]
- vm_args.c: search symbol proc in super classes
* vm_args.c (refine_sym_proc_call): traverse ancestors to search
inherited methods for symbol proc.
[ruby-dev:50741] [Bug #15489]
git-svn-id: svn+ssh://ci.ruby-... -
07:59 AM Bug #15548: Fix MJIT on OpenBSD when GCC is used to compile
- ruby_2_6 r66924 merged revision(s) 66823,66869.
-
07:59 AM Revision 66be165f (git): merge revision(s) 66823,66869: [Backport #15548]
- Revert "mjit_worker.c: try passing -nostdlib to AIX"
This reverts commit b32fb23083912c37a2601c66531ed786a7c9f3e5.
This didn't work on AIX.
mjit_worker.c: do not use GCC_NOSTDLIB_FLAGS for OpenBSD
Open...
01/25/2019
-
11:36 PM Feature #15565: Circular dependency warnings - suggestions/ideas to improve the output from ruby
- (The output here on redmine is a bit different to how I wrote it in a local editor - sorry for some of the
overflowing lines; I tried to align it to ~80 characters. I am not sure how to edit the first thread, only
replies to an issue.) -
11:33 PM Feature #15565 (Open): Circular dependency warnings - suggestions/ideas to improve the output from ruby
- Hello ruby folks (and everyone else) reading this suggestion.
I will start with a mini-summary first, a TL;DR - this proposal suggests
to "make it easier/better for us ruby users to solve/resolve/handle
circular dependency warnings"... -
08:16 PM Bug #15564: Pathname#+(pathpart) returns pathpart when pathpart is absolute
- Also affects #/
Also affects #join -
08:11 PM Bug #15564 (Rejected): Pathname#+(pathpart) returns pathpart when pathpart is absolute
- ```
abs = Pathname.new("/abs/dir")
my = Pathname.new("/my/path")
# actual
my/abs # => #<Pathname:/abs/dir>
# expected
my/abs # => #<Pathname:/my/dir/abs/dir>
```
While this behavior is desirable in #expand_path, here I beli... -
07:35 PM Feature #15563: #dig that throws an exception if a key doesn't exist
- I have no particular pro or con against the feature itself as such; I myself do not use or need .dig so I
can not speak much about it. But I believe one problem with the proposal here is the name.
I think a name such as "dig_e" would... -
05:48 PM Feature #15563: #dig that throws an exception if a key doesn't exist
- I just discovered that `#dig` also call private methods. I updated the provided examples to do the same.
```Ruby
hash = { b: 'b' }
hash.singleton_class.send(:private, :dig)
{ a: hash }.dig(:a, :b)
#=> 'b'
``` -
05:07 PM Feature #15563 (Open): #dig that throws an exception if a key doesn't exist
- Ruby 2.3.0 introduced `#dig` for `Array`, `Hash` and `Struct`. Both `Array` and `Hash` have `#fetch`, which works the same way as `#[]`, but instead of returning the default value, raises an exception (unless a second argument or block i...
-
04:03 PM Feature #15557: A new class that stores a condition and the previous receiver
- > `Enumerable#grep`
Well, it is not "it accepts callable", it is a part of "it accepts any pattern (including Proc)", and passing Proc into `grep` makes sense only in "polymorphic pattern situation" (we have a pattern variable, which ... -
03:47 PM Feature #15557: A new class that stores a condition and the previous receiver
- zverok (Victor Shepelev) wrote:
> The problem with @nobu's one, though, that it is pretty rarely seen in core Ruby to pass callable object instead of just a block (though, it exists, like @nobu pointed in another ticket, for example in ... -
02:09 PM Revision 0a5b4c13 (git): vm.inc now in C99
- This changeset modifies the VM generator so that vm.inc is written in
C99. Also added some comments in _insn_entry.erb so that the
intention of each parts to be made more clear. I think this improves
overall readability of the generate... -
01:36 PM Misc #10233 (Closed): iseq.cのget_line_info()でバイナリサーチを使うように修正するか
- たまたまGitHubで見かけて、現状のtrunkには適用できない状態になっていたので、closeします。
-
12:07 PM Feature #15562: `String#split` option to suppress the initial empty substring
- > Isn't the new option name too long? I'd use .drop_while(&:empty?).
I personally agree with your observation here; but I think that
.drop_while(&:empty?) is also not ideal. I'd then actually prefer
sawa's longer variant than the co... -
12:06 PM Feature #15562: `String#split` option to suppress the initial empty substring
- This reminds me a bit of Dir['*'] versus Dir.entries(Dir.pwd). The latter
also has . and .. entries such as:
=> ["foobar.md", "..", "."]
To me the . and .. entries were never useful. I ended up switching to Dir[]
consistently... -
11:33 AM Feature #15562: `String#split` option to suppress the initial empty substring
- Isn't the new option name too long? I'd use `.drop_while(&:empty?)`.
-
11:08 AM Feature #15562: `String#split` option to suppress the initial empty substring
- An example of a frequent use case of `split("a", initial_empty_string: false)` is when we have a text like `text` in the following, and want to extract the paragraphs that follow `SECTION`:
```ruby
text = <<~_
SECTION
Lorem ips... -
09:51 AM Feature #15562: `String#split` option to suppress the initial empty substring
- znz (Kazuhiro NISHIYAMA) wrote:
> `String#split` with `-1` does not remove empty strings.
> ...
I (particularly) want `["b"]`.
-
09:04 AM Feature #15562: `String#split` option to suppress the initial empty substring
- `String#split` with `-1` does not remove empty strings.
```
>> "aba".split("a", -1)
=> ["", "b", ""]
> ...
=> ["", "b", "", ""]
``` -
07:19 AM Feature #15562 (Open): `String#split` option to suppress the initial empty substring
- `String#split` returns an empty substring if any at the beginning of the original string, even though it does not return an empty substring at the end of the original string:
```ruby
"aba".split("a") # => ["", "b"]
```
This is pr... -
06:52 AM Bug #15521: encoding is missed when using `CSV.generate`
- I've updated `lib/csv` in r66922.
@naruse Could you backport the revision? - 06:49 AM Revision 24b57b10 (git): Upgrade CSV to 3.0.4
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:35 AM Revision cdca14e7 (git): * 2019-01-25
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 06:35 AM Revision cee0c36a (git): Upgrade RSS to 0.2.8
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
04:14 AM Feature #15559: Logical XOR (^^) operator
- Unlike `&&` and `||`, which involve short-circuit evaluation, and hence are keywords rather than methods, the proposed `^^` will not involve short-circuit evaluation. Which is the intended proposal: as a keyword, or as a method?
-
12:11 AM Feature #11076: Enumerable method count_by
- enumerable-statistics provides `value_counts` method.
https://github.com/mrkn/enumerable-statistics/blob/master/ext/enumerable/statistics/extension/statistics.c#L1651-L1668
It is designed to follow pandas’s `Series.value_counts`.
01/24/2019
-
08:04 PM Misc #15546: DevelopersMeeting20190207Japan
- * [Feature [#14344](/issues/14344)] refine at class level (kddeisz)
* Shorter refinement syntax proposed based on common use cases. Proposed either `refine_class` or `using` blocks for shorthand. What do you think?
* [Feature [#14680... -
02:08 PM Misc #15546: DevelopersMeeting20190207Japan
- * [Feature #11076] Enumerable method count_by
* A new name "tally" is proposed. "Tally" is: | → || → ||| → |||| → ~~||||~~. Looks good to me. What do you think? -
04:22 PM Bug #15561 (Rejected): What is Keto Tone? This result of keto tone
-
07:44 AM Bug #15561 (Rejected): What is Keto Tone? This result of keto tone
- What is Keto Tone? This result of keto tone is an enhancement that is exceptionally detailed to copy the fat consuming impacts of real ketosis for brief timeframes. Thusly, it permits you (in principle) to appreciate the advantages of ke...
-
02:21 PM Feature #11076: Enumerable method count_by
- I have learnt the word "tally" in this thread. Thank you. It looks good to me, a non-native speaker. I have put this on the agenda of the next developers' meeting.
By the way, what is the precise semantics of the method?
Question... -
04:22 AM Feature #11076: Enumerable method count_by
- A histogram refers to counts of items in ranges of otherwise continuous data. But this function is more general than that, so I think `histogram` is too specific a term.
For this native English speaker, `tally` is the most precisely f... -
12:36 PM Feature #15538: Erb indenting / unindenting
- Most of "foo"-"bar" examples seem to be indented strangely. I guess you meant the following one for all like this ("f" and "b" start with the same column), right?
```
3: foo
bar
```
Now, you introduced 4 different new tokens ... -
12:04 PM Feature #15538: Erb indenting / unindenting
- Fixed the 2 -> 4 indentation in the bad example and added the "stop indenting" closing tag `|%>` which would be fine by me.
`<%|=` inside `<%|` would result in:
example code:
```
1
<%|- (2..3).each do |num| -%>
<%= num %>: <%... -
12:36 PM Revision 6375c68f (git): parse.y: function parser_mixed_error & parser_mixed_escape
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
12:21 PM Feature #15549: Enumerable#to_reader (or anything enumerable, Enumerator, lazy enums, enum_for results)
- I'm open for other names (#to_readable_stream perhaps?). Important is to acknowledge the validity of this use-case, as there are some constraints depending of where it is used.
For instance, responding to #read is a sufficient require... -
11:43 AM Revision 7e68efbc (git): parse.y: remove an extra error message
- * parse.y (parse_string): bail out when word-list meets end of
input not to show an extra "unexpected" error message after the
preceding error.
$ ruby -e "%w["
-e:1: unterminated string meets end of file
-e:1: synt... -
10:19 AM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
- Let me add a couple of things.
In case const_missing is discussed, these are the reasons why implementing autoloading based on const_missing doesn't fly (from memory):
1) The nesting is unknown.
2) Whether the missing constant was... -
10:10 AM Revision c6fb7c1f (git): eval_error.c: should not escapce newline and tab
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:06 AM Bug #15500: Behavior of require method in 2.5 is different from 2.4 and 2.6
- @hsbt
I've confirmed that Ruby 2.5 with r66867 loads bigdecimal installed by gem, correctly. -
01:00 AM Bug #15500: Behavior of require method in 2.5 is different from 2.4 and 2.6
- ruby_2_6 r66913 merged revision(s) 66867.
-
05:30 AM Bug #15537 (Closed): Numeric#step doesn't iterate under some conditions
- Applied in changeset trunk|r66914.
----------
numeric.c: Fix negative step with float components
* numeric.c (ruby_float_step): fix negative step with float components.
* test/ruby/test_numeric.c (test_step_bug15537): add tests.
* te... -
02:22 AM Bug #15537 (Assigned): Numeric#step doesn't iterate under some conditions
- 05:30 AM Revision e6084020 (git): * 2019-01-24
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 05:30 AM Revision 4bcfccdd (git): * expand tabs.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 05:30 AM Revision 161ece47 (git): numeric.c: Fix negative step with float components
- * numeric.c (ruby_float_step): fix negative step with float components.
* test/ruby/test_numeric.c (test_step_bug15537): add tests.
* test/ruby/test_range.c (test_step_bug15537): add tests.
[Bug #15537] [ruby-core:91101]
From: shuuji... -
02:26 AM Feature #15559: Logical XOR (^^) operator
- > Would it be possible to have logical ^^ in addition to the bitwise ^ for XOR?
I think it is possible, but we need a good reason to do so. Do you have any use case? -
02:20 AM Feature #15559: Logical XOR (^^) operator
- I think `!=` is easier to understand than `^^`.
-
02:18 AM Feature #15559: Logical XOR (^^) operator
- You can write `expr1 ^^ expr2` as `!expr1 != !expr2` in the current Ruby.
If both `expr1` and `expr2` are boolean, you can write `expr1 != expr2`.
I think `^^` can be useful for the case that both `expr1` and `expr2` are not boolean.... -
01:29 AM Feature #15560: Add support for read/write offsets.
- I can imagine it is useful for TCPSocket#write to accept only a part of a buffer crafted by somebody else. But I cannot think of any actual use case when #read is useful with that extension. Do you have one?
-
01:00 AM Revision ad6e91de (git): merge revision(s) 66867: [Backport #15500]
- Revert r58345 and r58371.
These changes break the behavior of default gems. Bug #13428 says
r58345 is reasonable because gemspec file is installed by `to_ruby_for_cache`
method. But I revert `to_ruby_for_ca...
01/23/2019
-
10:31 PM Bug #15469: Ruby2.6 included `bundler` does not handle specified `csv` gem.
- Should Bundler be a bundled gem (and not a default gem)?
I think this would help a lot, and allow uninstalling the preinstalled bundler if needed.
As mentioned above, it would also keep the Bundler implementation simple by being able... -
02:46 PM Bug #15469: Ruby2.6 included `bundler` does not handle specified `csv` gem.
- I have found out the root cause of this.
# Root Cause
* Bundler has become a built-in gem since Ruby 2.6.
* `$LOAD_PATH` required for bundler is moved from custom gem path ( e.g. `lib/ruby/gems/2.5.0/gems/bundler-1.17.2/lib` ) to ... -
09:47 PM Feature #15553: Addrinfo.getaddrinfo supports timeout
- > Why hrtime.h is included?
It's unnecessary. I'll remove it. -
02:13 PM Feature #15553: Addrinfo.getaddrinfo supports timeout
- Why hrtime.h is included?
-
09:41 PM Bug #15468: Net::Protocol::BufferedIO#write raises NoMethodError when sending large multi-byte string
- Can we please fast track the release of this? It's breaking a ton of stuff.
Stepping back a little bit from this issue, I think we see a picture of Ruby where:
- Handling binary data can cause bugs like this (mismatch between binar... -
09:39 PM Feature #15560 (Closed): Add support for read/write offsets.
- It would be nice if read/write/send/recv/etc methods could accept an offset argument.
e.g.
```
socket = Socket.new(...)
buffer = String.b
socket.read(1024, buffer)
socket.read(1024, buffer, offset: buffer.bytesize)
```
Th... -
05:17 PM Feature #15559 (Open): Logical XOR (^^) operator
- Currently we have bitwise `&` and logical `&&`, and bitwise `|` and logical `||`. Would it be possible to have logical `^^` in addition to the bitwise `^` for XOR?
-
05:10 PM Feature #15541: Add alias symbolize_keys for symbolize_names kwarg for JSON.parse
- shevegen (Robert A. Heiler) wrote:
> Personally I think that alias name would make sense. With a new alias the backwards
> ...
An alias would probably be best as otherwise it would cause breaking changes, and I think we'd rather avoid ... -
04:18 PM Bug #15558 (Closed): Should Exception#exception copy the backtrace?
- Currently it does not on MRI:
```
ruby -e 'begin raise "foo"; rescue => e; c=e.exception "bar"; p c.backtrace; end'
nil
```
But it does on JRuby 9.2.5.0 and TruffleRuby 1.0.0-rc11:
```
truffleruby -e 'begin raise "foo"; rescue =... -
02:14 PM Bug #14634: Queue#push seems to crash after fork
- ruby_2_5 r66912 merged revision(s) 62934,63210,63215,63309.
-
02:14 PM Revision 63d9ab33 (git): merge revision(s) 62934,63210,63215,63309: [Backport #14634]
- thread_sync.c: avoid reaching across stacks of dead threads
rb_ensure is insufficient cleanup for fork and we must
reinitialize all waitqueues in the child process.
Unfortunately this increases the footprint of ... -
01:39 PM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
- Hey! I am the author of Zeitwerk, let me do a quick followup here.
First and foremost, I'd like to be very straightforward saying that if Kernel#autoload is killed tomorrow, that would be fine with me. I'd shutdown Zeitwerk and Rails ... -
10:55 AM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
- It would be good to have a definite choice on this thread, I'll add it to the developer meeting (#15546).
I think at the last RubyKaigi during the Q/A, it was becoming clear removing #autoload would be a huge breaking change and there a... -
10:19 AM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
- rafaelfranca (Rafael França) wrote:
> @matz when taking in consideration deprecation/removal of autoload I'd like you to consider that Rails built and plan to use a thread-safe code loader based on `autoload`. See https://medium.com/@fx... -
10:24 AM Feature #15557: A new class that stores a condition and the previous receiver
- Normally I love sawa's suggestions. :)
However had, in this case, I am a little bit biased, which I may explain.
First, I should start here by agreeing with sawa in regards to the use case noted on top is quite common -
I use it m... -
10:21 AM Feature #15557: A new class that stores a condition and the previous receiver
- I played a bit with idea similar to @nobu's, with this syntax:
```ruby
then_if(condition) { action }
then_if(-> { condition }) { action }
```
Explanations:
* boolean vs callable: sometimes, static conditions are useful, sligtly r... -
09:27 AM Feature #15557: A new class that stores a condition and the previous receiver
- What about:
```ruby
foo = default_definition
.when(->(foo) {some_condition(foo)}) {|foo| some_method(foo)}
.when(->(foo) {another_condition(foo)}) {|foo| another_method(foo)}
```
-
09:15 AM Feature #15557 (Open): A new class that stores a condition and the previous receiver
- I often see code like this:
```ruby
foo = default_definition
foo = some_method(foo) if some_condition(foo)
foo = another_method(foo) if another_condition(foo)
...
```
It would be nice if we can write this as a method chain. S... -
09:39 AM Revision c56f6116 (git): parse.y: token name of tSTRING_DEND
- * parse.y (rb_yytnamerr): show single-quoted single char as-is, to
show a quoted closing brace as tSTRING_DEND. e.g.:
$ ./ruby -e '"#{true'
-e:1: syntax error, unexpected end-of-input, expecting '}'
git-svn-id: svn+ssh:/... -
09:33 AM Feature #13807 (Closed): A method to filter the receiver against some condition
-
09:18 AM Feature #13807: A method to filter the receiver against some condition
- I came up with an idea better than this (https://bugs.ruby-lang.org/issues/15557).
So I withdraw this proposal. Please close it. -
09:25 AM Bug #14353: $SAFE should stay at least thread-local for compatibility
- Just FTR, as per this discussion:
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/V234THAZ2ETTFVLJZXJYPH2QO5W7A3KL/
The global $SAFE breaks gettext testsuite:
https://github.com/ruby-gettex... -
09:08 AM Revision 71342a46 (git): parse.y: token names
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:06 AM Bug #15555 (Closed): Dir.mktmpdir checks permissions and raise ArgumentError after yielding to block (ensure) & leaks allocated tempdir
- Applied in changeset trunk|r66909.
----------
tmpdir.rb: permission of user given directory
* lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the
parent directory only when using the default temporary
directory, and no che... -
06:06 AM Revision 1fae154c (git): tmpdir.rb: permission of user given directory
- * lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the
parent directory only when using the default temporary
directory, and no check against user given directory. the
security is the user's responsibility in that case.
...