Project

General

Profile

Activity

From 12/28/2017 to 01/03/2018

01/03/2018

11:05 PM Revision 778d2028 (git): * 2018-01-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:05 PM Revision af597321 (git): compile.c: fix disasm dump
* compile.c (DECL_ANCHOR): initialize as anchor type, which is not
a valid iseq element.
* compile.c (BADINSN_DUMP): dump from the first element, excluding
the anchor itself.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61584 ...
nobu (Nobuyoshi Nakada)
09:01 PM Bug #14279 (Closed): Modifying splat argument causes segmentation fault
Using Docker Ruby images ruby:2.2 through ruby:rc as of 2018-01-03, this little bit of code causes a segmentation fault:
~~~
class A
def x(*args)
args = 13
super
end
end
A.new.x
~~~
I'm not sure what the behavi...
coreycerovsek (Corey Cerovsek)
07:57 PM Feature #14276: Ruby core debugger API
> Developing production code without an available debugger
> ...
This appears to be somewhat opinionated since I do just
fine without a debugger (except for pp, just as tenderlove
once said that he is a puts debugger, I am a pp debugg...
shevegen (Robert A. Heiler)
02:52 AM Feature #14276 (Open): Ruby core debugger API
I would like to propose the creation of a ruby core minimal API for a Debugger.
Historically we have been relying on gems as providers of debug functionality.
This has caused problems with debugger APIs being broken and the debugger ...
dsferreira (Daniel Ferreira)
07:53 PM Feature #14278 (Open): Ambiguous Exception for OpenSSL::HMAC.digest
The `OpenSSL::HMAC.digest` shows unclear and ambiguous exception when key is nil.
~~~ ruby
require 'openssl'
key = nil
OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), key, 'RubyRuby')
TypeError: no implicit conversion of n...
KINGSABRI (KING SABRI)
07:03 PM Feature #14277: Improve strings vs symbols ambiguity
Hi Robert and remaining active participants of the conversation,
It is hard to reply to all your considerations.
The subject seems to be very complex to be discussed in a linear way.
I created this new issue in order to understand w...
dsferreira (Daniel Ferreira)
12:49 PM Feature #14277: Improve strings vs symbols ambiguity
Since not everyone here knows Sequel, let me give an example on how strings and symbols are treated differently in that library.
~~~ ruby
DB[:users].select(:name).sql == %q{SELECT "name" FROM "users"}
DB[:users].select('name').sql =...
rosenfeld (Rodrigo Rosenfeld Rosas)
12:31 PM Feature #14277: Improve strings vs symbols ambiguity
For those saying that typing two "'" is about the same effort as a ":", you didn't actually understand the real issue. Most savings happens with the hash syntax. I take much less time to type "{a: 1}" than "{'a' => 1}". rosenfeld (Rodrigo Rosenfeld Rosas)
10:06 AM Feature #14277: Improve strings vs symbols ambiguity
jeremyevans0 (Jeremy Evans) wrote:
> Just because there some cases where you can use either a string or a symbol does not imply that you can use a string in all cases where you can use a symbol, or vice-versa.
True. In some cases ...
dsferreira (Daniel Ferreira)
09:58 AM Feature #14277: Improve strings vs symbols ambiguity
> I use the term "Ambiguity" to emphasise the grey area where ruby developers
> ...
This is a general problem.
I personally think that ruby would be simpler without ... Symbols. :)
But people have been using symbols and symbols we...
shevegen (Robert A. Heiler)
09:47 AM Feature #14277: Improve strings vs symbols ambiguity
the difference from Symbol vs String was from a time long ago before frozen String literals where added
in 99% of the cases, use Symbol if you care about the name, like keys in a hash, key parameters, or method names, or 'enum' values...
Hanmac (Hans Mackowiak)
09:37 AM Feature #14277: Improve strings vs symbols ambiguity
duerst (Martin Dürst) wrote:
> And just in case somebody cares, I have a library where the distinction between Symbol and String is crucial (and easy to understand). So I'm not supporting such a change, even if the general transition ...
dsferreira (Daniel Ferreira)
09:32 AM Feature #14277: Improve strings vs symbols ambiguity
duerst (Martin Dürst) wrote:
> Koichi has given a challenge, most probably because he thinks it's very difficult if not impossible. Koichi only wrote "we can consider again".
Koichi is a very busy man like most of us.
I hope he ca...
dsferreira (Daniel Ferreira)
09:30 AM Feature #14277: Improve strings vs symbols ambiguity
duerst (Martin Dürst) wrote:
> So are you saying we should disallow
> ...
As a ruby developer when I use an API I tend to expect that both strings and symbols are accepted since that has become the standard way of doing things in rub...
dsferreira (Daniel Ferreira)
09:16 AM Feature #14277: Improve strings vs symbols ambiguity
jeremyevans0 (Jeremy Evans) wrote:
> To say strings and symbols are ambiguous is to imply that it is not possible to differentiate the two.
Ambiguity definition: _"doubtfulness or uncertainty of meaning or intention: to speak with...
dsferreira (Daniel Ferreira)
09:05 AM Feature #14277: Improve strings vs symbols ambiguity
jeremyevans0 (Jeremy Evans) wrote:
> If you look at ruby code in the wild, is_a?(Symbol) seems even more common than case Symbol, and sometimes in places where symbol behavior differs from string behavior by design.
If the transiti...
dsferreira (Daniel Ferreira)
05:49 AM Feature #14277: Improve strings vs symbols ambiguity
jeremyevans0 (Jeremy Evans) wrote:
> If you need to have symbols anyway, then the only reason to use the symbol syntax for strings is to save a single character. In which case it would be better to introduce a new terser form of stri...
duerst (Martin Dürst)
05:43 AM Feature #14277: Improve strings vs symbols ambiguity
dsferreira (Daniel Ferreira) wrote:
> Can we discuss here what are the rules that would allow the transition path solution to be accepted?
Koichi has given a challenge, most probably because he thinks it's very difficult if not imp...
duerst (Martin Dürst)
05:43 AM Feature #14277: Improve strings vs symbols ambiguity
duerst (Martin Dürst) wrote:
> So are you saying we should disallow
> ...
I would also support deprecating passing strings to methods which internally convert the strings to symbols, and raising `TypeError` in Ruby 3. However, I don't ...
jeremyevans0 (Jeremy Evans)
05:36 AM Feature #14277: Improve strings vs symbols ambiguity
dsferreira (Daniel Ferreira) wrote:
> This is the ambiguity:
> ...
This is not ambiguity. The methods are designed to be used with symbols. The methods also accept strings in order to be a little easier to use in some situations.
...
jeremyevans0 (Jeremy Evans)
05:27 AM Feature #14277: Improve strings vs symbols ambiguity
dsferreira (Daniel Ferreira) wrote:
> This is the ambiguity:
> ...
So are you saying we should disallow
```ruby
alias_method "foo", "bar"
```
I definitely would support that (after some depreciation period).
duerst (Martin Dürst)
04:06 AM Feature #14277 (Rejected): Improve strings vs symbols ambiguity
This is the ambiguity:
```ruby
alias_method :foo, :bar
alias_method "foo", "bar"
```
Ruby developers are using strings and symbols interchangeably as if they were the same thing.
This is happening in ruby core, in ruby gems and...
dsferreira (Daniel Ferreira)
06:15 PM Bug #14247: Thread#fetch raise KeyError without key and receiver
ruby_2_5 r61583 merged revision(s) 61507. naruse (Yui NARUSE)
06:14 PM Revision ba5b7136 (git): merge revision(s) 61507: [Backport #14247]
Fix KeyError#{key,receiver} of Thread#fetch
[ruby-core:84508] [Bug #14247]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@61583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
06:12 PM Bug #14248: configure fails to detect fd_mask type on OS X
ruby_2_5 r61582 merged revision(s) 61500. naruse (Yui NARUSE)
06:12 PM Revision de6c5ae9 (git): merge revision(s) 61500: [Backport #14248]
fix fd mask detection on os x
This was broken in r59440 (3215b27a9abd8de793cf517f32d8901fd421eb1c)
[Bug #14248]
From: Stefan Kaes <skaes@railsexpress.de>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/rub...
naruse (Yui NARUSE)
06:11 PM Bug #14243: Comments inside ERB tags broken
ruby_2_5 r61581 merged revision(s) 61497. naruse (Yui NARUSE)
06:11 PM Revision 887dced4 (git): merge revision(s) 61497: [Backport #14243]
erb.rb: preserve the behavior for invalid syntax
comment. Fix regression at r58948.
I even don't want to deprecate it because deprecation needs to lex all
embedded Ruby script using Ripper and it would be slow. ...
naruse (Yui NARUSE)
06:04 PM Bug #14236: rb_autoload の可視性が変更された結果、特定のgemを使用するとランタイム時に落ちるようになった
ruby_2_5 r61580 merged revision(s) 61479. naruse (Yui NARUSE)
06:03 PM Revision dc96b227 (git): merge revision(s) 61479: [Backport #14236]
variable.c: public rb_autoload
* variable.c (rb_autoload): restore the visibility for backward
compatibility. [ruby-core:84454] [Bug #14236]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@61580 b2dd03c...
naruse (Yui NARUSE)
06:02 PM Bug #14231: __uint128_t check in hash.c is broken, use
ruby_2_5 r61579 merged revision(s) 61471,61472. naruse (Yui NARUSE)
06:02 PM Revision 364f62a0 (git): merge revision(s) 61471,61472: [Backport #14231]
Use UINT128_T support flag from configure
Current check for __uint128_t in hash.c is not valid, since it ignores
compilers other than gcc. We hit this on lcc on e2k platform.
Configure script properly checks fro...
naruse (Yui NARUSE)
01:58 PM Revision 6bc72d25 (git): compile.c: label sp
* compile.c (dump_disasm_list_with_cursor): show stack depth for
each label.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:19 AM Revision 44cf5baa (git): dln.c: dln_incompatible_library_p
* dln.c (dln_incompatible_library_p): renamed as the error message
with dln prefix, since it is not bound to xmalloc restrictively.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:18 AM Feature #14275: GC not aggressive enough
> Sometimes a well-placed String#clear has a good effect, but
> ...
I myself have been slowly starting to make use of .dup more
since I also tend to use frozen string set to true.
While my ruby code "appears" to be faster than befor...
shevegen (Robert A. Heiler)
01:52 AM Feature #14275 (Open): GC not aggressive enough
Ruby memory usage has always been a thorn in my side, more so than (lack of)
speed. I sometimes take vacations into Perl5 or C to escape from it.
Sometimes a well-placed String#clear has a good effect, but I'm not sure
if it's acce...
normalperson (Eric Wong)
09:05 AM Revision 21a2146e (git): dln.c: xmalloc_mismatch_p with dlopen
* dln.c (xmalloc_mismatch_p): define only when using dlopen,
otherwise dlsym is not available too, and should be used then.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:28 AM Feature #14274: Merge Std-Lib Time Class into Core
`time` requires `date`, so this would either require `date` be moved from stdlib to core (including `Date` and `DateTime`). While `time` itself only uses `Date._parse` and `Date._strptime`, people could be requiring `time` to use featur... jeremyevans0 (Jeremy Evans)
01:19 AM Feature #14274: Merge Std-Lib Time Class into Core
I do not use rails, but I somewhat agree with you in the general
sense. I never remember the difference between date and time
offhand, for instance.
> I fail to see what makes the Std-Lib version of that class so
> ...
I do not kno...
shevegen (Robert A. Heiler)
02:53 AM Bug #14226: Revert line number of "return", "b-return" and "end" events
The new issue has been created: [Ruby core debugger API](https://bugs.ruby-lang.org/issues/14276) dsferreira (Daniel Ferreira)
01:43 AM Revision 96d19b6c (git): delete extra #undef [ci skip]
Sorry, this was a garbage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)

01/02/2018

11:27 PM Feature #14274 (Open): Merge Std-Lib Time Class into Core
Please excuse me if this is a duplicate or already asked-and-answered. I won't be offended by an automatic close.
I personally find it confusing when to use the Core version of the `Time` class versus the Std-Lib `require "time"` vers...
ecbrodie (Evan Brodie)
10:48 PM Bug #14234: Failed to build on CentOS 6.9
Do we know when the next version of ruby is likely to be released, and if it will include this patch? I'm trying to build ruby 2.5.0 for CentOS 6 and running into this same issue. ewaters (Evan Waters)
09:51 PM Revision 7bbff604 (git): variable.c: fix autoload stack space regression
r61560 ("offsetof(type, foo.bar) is (arguably) a GCCism")
introduced 16 bytes of stack overhead on 64-bit systems.
Remove that overhead and cast, instead. While we're at it,
restore the "waitq" name to clarify the purpose of the field.
...
Eric Wong
09:23 PM Revision 2244bf57 (git): thread_pthread.c: use container_of
It's easier to read this macro from ccan than open-coding pointer
arithmetic.
thread_pthread.c (ubf_wakeup_all_threads): use container_of
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
08:40 PM Bug #14273 (Closed): Stack Consistency Error from return in loop
```ruby
def foo(x)
unless x
while !x
return nil
end
end
end
foo(nil)
```
```
(irb):18: [BUG] Stack consistency error (sp: 100, bp: 101)
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]
-- Cras...
ccutrer (Cody Cutrer)
03:29 PM Revision 751c64f8 (git): * 2018-01-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:29 PM Revision cff48e44 (git): check an existence of block.
* gc.c (rb_raw_obj_info): check block before using it.
* vm_core.h (vm_block_iseq): r61565 introduced NULL check but this
check is only needed by `rb_raw_obj_info()` and it is called at GC
debug mode. Above fix for `rb_raw_obj_info(...
ko1 (Koichi Sasada)
02:31 PM Bug #14269: backport r61562, r61563, r61566, r61568, r61569 (fix SEGV touching uninitialized memory)
r61566 については ruby_2_3 では switch 文に default 節があるため未初期化のままアクセスされることはなく SEGV は発生しないと思いますが、初期化しておいて悪いことはないと思い REQUIRED のチケットに含めました。しかし backport は不要かもしれませんので最終判断は usa さんにお任せします。 nagachika (Tomoyuki Chikanaga)
12:51 PM Bug #14269 (Closed): backport r61562, r61563, r61566, r61568, r61569 (fix SEGV touching uninitialized memory)
backport 管理用チケットです。 nagachika (Tomoyuki Chikanaga)
02:24 PM Bug #14272 (Closed): backport r61561 (fix memory leak (FOUND BY A COMPILER WARNING))
backport 管理用のチケットです。 nagachika (Tomoyuki Chikanaga)
02:09 PM Bug #14271 (Closed): Random TestIO_Console#test_oflush failure
From time to time, I observe the following test suite error:
~~~
1) Failure:
TestIO_Console#test_oflush [/builddir/build/BUILD/ruby-2.5.0/test/io/console/test_io_console.rb:215]:
Expected ["b", "ab"] to include "a".
~~~
vo.x (Vit Ondruch)
12:57 PM Bug #14270 (Closed): backport r61564, r61565, r61571 (fix SEGV touching uninitialized memory)
backport 管理用チケットです。 nagachika (Tomoyuki Chikanaga)
10:59 AM Feature #11473: Immutable String literal in Ruby 3
FWIW, Rubocop suggests now in recent versions that you use the "unary plus" as the "one-character" approach to thaw a frozen string: http://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Performance/UnfreezeString
More details in the PR th...
perlun (Per Lundberg)
08:53 AM Feature #14268 (Closed): [PATCH] net/protocol: optimize large read case
```
Any comment? Will commit in a few days if none.
net/protocol: optimize large read case
There are several places where rbuf_consume is called with
@rbuf.size as its length arg; simplify that case by avoiding
the slow String#...
normalperson (Eric Wong)
06:59 AM Bug #14260: test failure related with proc arity on 32-bit environment (e.g. Solaris 10 with 32-bit compile)
ngoto (Naohisa Goto) wrote:
> >> ビットフィールドのデフォルトは unsigned int というのがCの規格にて定められていますが、
> ...
調査していただいてありがとうございました。そのような状況であれば裸のintの利用は控えてsignedかunsignedを明示したほうが良さそうですね。修正は妥当そうだと思いました。
shyouhei (Shyouhei Urabe)
06:52 AM Feature #14045: Lazy Proc allocation for block parameters
> Don't report a bug on a closed feature, report it as a new bug (and link to the feature), thanks.
Thanks, I wasn't aware which way was preferred. I've opened #14267 to report this as a new bug.
> ...
Agreed, but when dealing wit...
myronmarston (Myron Marston)
01:10 AM Feature #14045: Lazy Proc allocation for block parameters
myronmarston (Myron Marston) wrote:
> This change introduces a bug in RSpec. I'm working on a work around for RSpec (and hope to cut a release with a fix soon) but users running Ruby 2.5 with an older RSpec version will be affected, an...
duerst (Martin Dürst)
06:47 AM Feature #14267 (Closed): Lazy proc allocation introduced in #14045 creates regression
The following script consistently prints `Proc equality: true` on versions of Ruby before 2.5, but prints `Proc equality: false` on Ruby 2.5:
``` ruby
# regression.rb
def return_proc(&block)
block
end
def return_procs(&block)...
myronmarston (Myron Marston)
06:46 AM Revision 6faadd78 (git): include missing header
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:42 AM Revision 5b184f27 (git): fix SEGV inspecting uninitialized objects
obj_info() assumes the given object is alive. OTOH
gc_writebarrier_incremental is called before or in middle of
object initialization. Can casue SEGV.
(lldb) run
Process 48188 launched: './miniruby' (x86_64)
Process 48188 stopped
* th...
shyouhei (Shyouhei Urabe)
06:42 AM Revision 1d4129d9 (git): fix SEGV inspecting already freed objects
obj_info() assumes the given object is alive. Passing freed
objects to it results in SEGV.
(lldb) run
Process 29718 launched: './miniruby' (x86_64)
Process 29718 stopped
* thread #1: tid = 0x3082c5, 0x00000001000bfaab miniruby`pathobj_...
shyouhei (Shyouhei Urabe)
06:42 AM Revision 13af45c0 (git): fix uninitialized variable
Likewise this can easily be noticed if you read the warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:42 AM Revision 54983030 (git): fix SEGV touching uninitialized local variable
This imemo_name is used uninitialized because the switch
above does not cover all possible imemo types.
(lldb) run
Process 26068 launched: './miniruby' (x86_64)
Process 26068 stopped
* thread #1: tid = 0x14ba96, 0x00007fff8a402132 libsy...
shyouhei (Shyouhei Urabe)
06:42 AM Revision 20389994 (git): fix SEGV touching uninitialized memory
This function can be called from rb_data_typed_object_zalloc().
No assumption can be made about object internals.
(lldb) run
Process 22135 launched: './miniruby' (x86_64)
Process 22135 stopped
* thread #1: tid = 0x14a3af, 0x000000010008...
shyouhei (Shyouhei Urabe)
06:42 AM Revision 9aabe5a5 (git): fix SEGV touching uninitialized memory
This function can be called from Init_VM().
No assumption can be made about object internals.
(lldb) run
Process 15734 launched: './miniruby' (x86_64)
Process 15734 stopped
* thread #1: tid = 0x1441d4, 0x00000001000bdfcb miniruby`rb_raw...
shyouhei (Shyouhei Urabe)
06:41 AM Revision cce479d6 (git): fix SEGV touching uninitialized memory
This function can be called from InitVM_Object().
No assumption can be made about object internals.
(lldb) run
Process 10675 launched: './miniruby' (x86_64)
Process 10675 stopped
* thread #1: tid = 0x14252c, 0x00000001000bdda9 miniruby`...
shyouhei (Shyouhei Urabe)
06:41 AM Revision 58517060 (git): fix SEGV touching uninitialized memory
This function can be called from boot_defclass().
No assumption can be made about object internals.
(lldb) run
Process 2386 launched: './miniruby' (x86_64)
Process 2386 stopped
* thread #1: tid = 0x13f3b6, 0x00000001001e0b26 miniruby`rb...
shyouhei (Shyouhei Urabe)
06:41 AM Revision e5914dd4 (git): fix memory leak (FOUND BY A COMPILER WARNING)
Confusion of argument order ignores this st_free_table.
Results in garbaged table not GCed.
Easily noticable when you read the compiper warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision 5471bf9c (git): offsetof(type, foo.bar) is (arguably) a GCCism
TL;DR see http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2031.htm
Suppose we have:
struct X {
struct Y {
z_t z;
} y;
} x;
then, you _cant_ infer offsetof(struct X, y.z). The ISO C99 section
7.17 says nothing about such situa...
shyouhei (Shyouhei Urabe)
06:41 AM Revision 8dc0c7c0 (git): comparing function pointer versus void* is a GCCism
However dlsym() requires such feature so this function is non-
portable by nature. Cannot but suppress warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision 1f76918a (git): label as lvalue is a GCCism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision a6b50f37 (git): statement experssion is a GCCism
should mark as such.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision a5a5714b (git): enum value grater than int is a GCCism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision 8ebe5da2 (git): _Static_assert is a C11ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision db5d556f (git): bit-fields other than int is a C99ism
To be precise C90 says "A bit-field may have type int, unsigned
int, or signed int". It is clear that char or enum are NG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision b8f8c202 (git): initializer paren-string `{("str")}` is a C99ism
First, `"str"` is a string constant but `("str")` is not. It is a
random expression whose type happen to be const char*. Second,
non-constant initializer element is forbidden in C90. Mixture of
these two results in the fact that `{("s...
shyouhei (Shyouhei Urabe)
06:41 AM Revision dfb24be6 (git): string literal longer than 509 characters is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision 11c19de7 (git): flexible array member is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision 91715ee5 (git): long long is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision 1836af76 (git): comma at the end of enum is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision 67b547d0 (git): __VA_ARGS__ is a C99ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision ef19834e (git): long long is a C99sim
Don't assume 8-bytes integers == "long long".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision f6f1cfcb (git): string literal longer than 509 characters is a C99ism
Should avoid such thing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision 76091d43 (git): "%z" printf format specifier is a C99ism
PRIxSIZE is also. But shimmed in ruby.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision f03146dd (git): int (*)(void) is incompatible with void*
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shyouhei (Shyouhei Urabe)
06:41 AM Revision 3f1ef729 (git): rb_insn_func_t is incompatible with void*
Why not just use void* ?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision b6a2d63e (git): explicit cast to void* required for %p
These functions take variadic arguments so no automatic type
promotion is expected. You have to do it by hand.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
06:41 AM Revision b4b0e8bd (git): suppress warning for clang
In this function, "volatile" is specified twice in macro-expanded
`VAR_INITIALIZED(cont)` part. That is a problem in fact. However
I don't want to touch this line because it is already a messy
workaround for clang SEGV. Let me just ig...
shyouhei (Shyouhei Urabe)
04:24 AM Revision 035db929 (git): parse.y: fix typo
* parse.y (singleton): fix typo, show the expression.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
04:20 AM Bug #14265 (Third Party's Issue): Possible bug in OpenSSL library
Duplicate of [Bug #12561]. Current versions of Ruby/OpenSSL raise an exception:
$ ruby a.rb
plaintext: 030fa889aa00fc6554023a9aad8c9ca1776861746576730000000000000000000000000000000000000000000000000000000000000000000000000000000000...
rhenium (Kazuki Yamaguchi)
03:00 AM Revision 58d01fc1 (git): * 2018-01-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:00 AM Revision 6e2ceaf0 (git): parse.y: code end position
* parse.y (parser_yyerror): use the given location as the end of
erred code, instead of the current position.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:24 AM Bug #14266 (Closed): Set#clone(freeze: false) makes frozen internal hash
```
% irb -r irb/completion --simple-prompt
>> require 'set'
=> true
> ...
=> #<Set: {}>
>> set.frozen?
=> false
> ...
=> true
```
In `Set#initialize_clone`, clone hash without freeze keyword argument.
But I think there is no...
znz (Kazuhiro NISHIYAMA)

01/01/2018

09:52 PM Bug #14265 (Third Party's Issue): Possible bug in OpenSSL library
Hi,
I'm not sure if this is a bug or not, but there is a difference between Ruby and
Python when using Blowfish encryption in ECB mode. Using the same algorithm parameters, and the same input, the encrypted output is completely diff...
careta (Dumb Thomas)
08:31 PM Feature #14045: Lazy Proc allocation for block parameters
For those who are interested, the work around I've implemented in RSpec is [here](
https://github.com/rspec/rspec-core/pull/2497/commits/84670489bb4943a62e783bd65f96e4b55360b141):
``` patch
From 84670489bb4943a62e783bd65f96e4b55360b...
myronmarston (Myron Marston)
08:14 PM Feature #14045: Lazy Proc allocation for block parameters
This change introduces a bug in RSpec. I'm working on a work around for RSpec (and hope to cut a release with a fix soon) but users running Ruby 2.5 with an older RSpec version will be affected, and the slight change in semantics introd... myronmarston (Myron Marston)
07:41 PM Feature #9145: Queue#pop(true) return nil if empty instead of raising ThreadError
How about a block form where the block is called with the popped element? The method would return false if called with non_block set to true if the queue is empty.
q = Queue.new
q << 1
q << 2
q << 3
while q.pop(true){|x| p x}
uwe@kubosch.no (Uwe Kubosch)
05:41 PM Bug #14263: Array Intersection does not seem to use hash
> If two instances are .eql? but their hashes are not
Then `eql?` or `hash` are ill-defined. The definition of `hash` is that any two objects that are `eql?` must have identical `hash` values. Note that objects that are not `eql?` may...
marcandre (Marc-Andre Lafortune)
03:23 PM Bug #14264 (Closed): RDoc comment of warn does not mention uplevel:
`Kernel#warn` support uplevel keyword argument since 2.5.0, but rdoc does not mention it.
https://github.com/ruby/ruby/blob/691b05e83c41d089c4f6c7a8bbac9dd63f36a144/error.c#L309-L325
znz (Kazuhiro NISHIYAMA)
01:18 PM Revision 691b05e8 (git): vm_core.h: make the algorithm of get_insn_info selectable
Currently, VM_INSN_INFO_TABLE_IMPL == 0 means linear search, and
VM_INSN_INFO_TABLE_IMPL == 1 means binary search. I plan to add
succinct bitvector algorithm later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61537 b2dd03c8-39d4-...
mame (Yusuke Endoh)
12:51 PM Revision 295838e6 (git): iseq.h: Extract position array from iseq_insn_info_entry
This makes TracePoint a bit fast by reducing cache misses of
`get_insn_info_binary_search`.
Also, I plan to use succinct bitvector algorithm for `get_insn_info`
instead of binary search. This change will make it easy.
git-svn-id: svn+...
mame (Yusuke Endoh)
09:30 AM Revision e1fce44c (git): iseq.c: fix build error when VM_CHECK_MODE is enabled
Follow up of r61534. Sorry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mame (Yusuke Endoh)
09:16 AM Revision fd950df7 (git): vm_core.h: refactoring of insns_info
This factors rb_iseq_constant_body#insns_info and #insns_info_size to
struct iseq_insn_info.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mame (Yusuke Endoh)
01:04 AM Revision d4764ef6 (git): parse.y: highlight yyerror
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:13 AM Revision da0c6035 (git): [DOC] doc/NEWS-2.5.0: remove trailing comma [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)

12/31/2017

11:29 PM Revision 447fdd42 (git): Removed debug code. It is inconsistency in rubygems upsteream.
Revert r58657, r58660, r58692, r58723.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
09:59 PM Bug #14263 (Closed): Array Intersection does not seem to use hash
According to the documentation for Array#&, comparison is done using hash and eql? However, this does not seem to be the case in 2.5.0.
If two instances are .eql? but their hashes are not, an array & should be empty:
~~~ ruby
([Va...
gkellogg (Gregg Kellogg)
04:28 PM Bug #14260: test failure related with proc arity on 32-bit environment (e.g. Solaris 10 with 32-bit compile)
>> ビットフィールドのデフォルトは unsigned int というのがCの規格にて定められていますが、
> ...
ご指摘のとおり、元の記述は間違いでした。
正しくは implementation-defined でしたので訂正します。ご指摘ありがとうございました。
原本は私も手元には無いのですが、C99 では 6.7.2.1 に書かれているとのことです。
参考にしたページ: http://en.cppreference.com/w/c/lang...
ngoto (Naohisa Goto)
01:22 PM Bug #14260: test failure related with proc arity on 32-bit environment (e.g. Solaris 10 with 32-bit compile)
> ビットフィールドのデフォルトは unsigned int というのがCの規格にて定められていますが、
ごめんなさい、いま家にいてCの規格にアクセスできないのですが、そのような規定があった記憶がないです。どこのセクションに書いてありましたでしょうか?
shyouhei (Shyouhei Urabe)
11:46 AM Bug #14260: test failure related with proc arity on 32-bit environment (e.g. Solaris 10 with 32-bit compile)
問題の bit field は r59358 で(2017-07-18)導入されていたものなので 2.5 のみ REQUIRED にしておきます。 nagachika (Tomoyuki Chikanaga)
03:05 PM Revision 5ceb1370 (git): parse.y: yyerror1
* parse.y (yyerror1): pass location to parser_yyerror.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:00 PM Revision 374e7c79 (git): * 2018-01-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:00 PM Revision 862189c7 (git): parse.y: yylloc at yyerror
* parse.y (parser_yyerror): consider the case first_loc and
last_loc point different lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:15 PM Revision c5f4c44f (git): error.c: limit depth
* error.c (rb_warn_m): limit backtrace depth to reduce objects to
be created but not used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:12 PM Revision 487efc80 (git): test_exception.rb: more assertions
[ruby-core:84568] [Bug #14262]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:01 PM Bug #14262 (Closed): ArgumentError (negative level (-1)) when `warn "test message", uplevel: -2`
Applied in changeset trunk|r61525.
----------
error.c: negative uplevel
* error.c (rb_warn_m): negative uplevel is not allowed.
[ruby-core:84568] [Bug #14262]
nobu (Nobuyoshi Nakada)
10:33 AM Bug #14262 (Closed): ArgumentError (negative level (-1)) when `warn "test message", uplevel: -2`
When `uplevel: -2`, error message says `negative level (-1)`.
When `uplevel: -1`, no exception occur.
What is expected behavior?
```
% irb -r irb/completion --simple-prompt
>> warn("test", uplevel: -1)
(irb):1: warning: test
=> ...
znz (Kazuhiro NISHIYAMA)
01:01 PM Revision fa2e4a20 (git): error.c: negative uplevel
* error.c (rb_warn_m): negative uplevel is not allowed.
[ruby-core:84568] [Bug #14262]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:21 PM Revision d0afbff3 (git): prelude.c.tmpl: get rid of warnings on old gcc
* template/prelude.c.tmpl: ignore missing-field-initializers on
old gcc, e.g. 4.4, which does not support pushing/popping
diagnostics.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:50 AM Bug #14261: invalid syntax segfaults: "x, true"
I can reproduce SEGV with 2.5.0.
I cannot reproduce with 2.4.3 but I cannot say with confidence that the recent changes cause the SEGV.
I'd like to do `bisect` when I have a time.
nagachika (Tomoyuki Chikanaga)
11:25 AM Bug #14261 (Closed): invalid syntax segfaults: "x, true"
Applied in changeset trunk|r61523.
----------
parse.y: assignable_error
* parse.y (assignable_gen): should return valid NODE always even
on errors. [ruby-core:84565] [Bug #14261]
nobu (Nobuyoshi Nakada)
11:25 AM Revision 45752157 (git): parse.y: assignable_error
* parse.y (assignable_gen): should return valid NODE always even
on errors. [ruby-core:84565] [Bug #14261]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:53 AM Revision 59845bd4 (git): parse.y: yylloc at yyerror
* parse.y (parser_yyerror): utilize the location given by bison.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:40 AM Bug #14226: Revert line number of "return", "b-return" and "end" events
> I propose you create a new feature for this
Thanks Martin.
I will create it.
dsferreira (Daniel Ferreira)
12:06 AM Revision fb112a8c (git): fix reset order.
* lib/rdoc/test_case.rb (setup): call `RDoc::Markup::PreProcess.reset`
at the end of `setup` method.
`RDoc::RDoc.new` requires `rdoc/generator/darkfish`
and requires `rdoc/tom_doc.rb` at last. It add post_proecssor
(at `add_post_...
ko1 (Koichi Sasada)

12/30/2017

11:06 PM Revision a9170f0d (git): increase test timeout.
* test/ruby/test_thread.rb (test_signal_at_join): increase timeout.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
11:03 PM Bug #14259: Integer#pow returns an invalid result with large modulo
Another example:
~~~
2.pow(61, 9213693951) # => 1
~~~
Expected following result:
~~~
(2 ** 61) % 9213693951 # => 5432161352
~~~
andrykonchin (Andrew Konchin)
02:50 PM Bug #14259 (Closed): Integer#pow returns an invalid result with large modulo
Applied in changeset trunk|r61517.
----------
numeric.c: Fix Integer#pow with a large Fixnum modulo
* numeric.c: Fix Integer#pow with a large Fixnum modulo
[Bug #14259] [ruby-core:84562]
* test/ruby/test_numeric.rb: add assertions f...
mrkn (Kenta Murata)
02:24 PM Bug #14259 (Closed): Integer#pow returns an invalid result with large modulo
```
irb(main):020:0> 12.pow(1, 10000000000)
=> 1
irb(main):021:0> 12.pow(1, 10000000001)
=> 1
irb(main):022:0> 12.pow(1, 10000000002)
=> 1
```
These results should be `12`.
mrkn (Kenta Murata)
10:19 PM Bug #14261 (Closed): invalid syntax segfaults: "x, true"
The `item' arg passed to list_append_gen is NULL, so it segfaults.
It happens on both x86 (32-bit) and x86-64 Linux.
I'm not familiar with the parser, so I will let a parser expert fix this.
```
./miniruby -e "x, true"
-e:1: Can...
normalperson (Eric Wong)
08:34 PM Feature #14235: Merge MJIT infrastructure with conservative JIT compiler
I should have watched/read your great "Just-In-Time Compiler for MRI" presentation first:
https://www.youtube.com/watch?v=Ti4a7SXGWig
https://speakerdeck.com/k0kubun/just-in-time-compiler-for-mri
That clearly explains how LLRB, YARV...
Eregon (Benoit Daloze)
04:38 PM Bug #14260 (Closed): test failure related with proc arity on 32-bit environment (e.g. Solaris 10 with 32-bit compile)
Applied in changeset trunk|r61518.
----------
bit fields treating negative values should be declared as signed int
* internal.h (struct vm_ifunc_argc): Bit fields are unsigned by default.
For storing nagative values to bit fields, th...
ngoto (Naohisa Goto)
04:23 PM Bug #14260 (Closed): test failure related with proc arity on 32-bit environment (e.g. Solaris 10 with 32-bit compile)
おそらく r59358 以降、sparc の Solaris 10 上の Oracle Developer Studio (Oracle Solaris Studio) 12.x にて 32ビットでコンパイルした際、
make test-all にて以下のような failure が出るようになりました。
(以下は r61515 での結果)
~~~
1) Failure:
TestLazyEnumerator#test_each_cons_limit [...
ngoto (Naohisa Goto)
04:38 PM Revision 5c600fd5 (git): * 2017-12-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:38 PM Revision 2adf2815 (git): bit fields treating negative values should be declared as signed int
* internal.h (struct vm_ifunc_argc): Bit fields are unsigned by default.
For storing nagative values to bit fields, they must be declated as
signed int. Fix multiple test failure observed by 32-bit binaries
compiled with Oracle Dev...
ngoto (Naohisa Goto)
02:50 PM Revision f9292492 (git): numeric.c: Fix Integer#pow with a large Fixnum modulo
* numeric.c: Fix Integer#pow with a large Fixnum modulo
[Bug #14259] [ruby-core:84562]
* test/ruby/test_numeric.rb: add assertions for reproducing this bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61517 b2dd03c8-39d4-4d8f-9...
Kenta Murata
01:29 PM Bug #14246: Inconsistent C source code indentation
I think that guidelines are `.editorconfig` for most editors, `misc/ruby-style.el` for `Emacs`, and `.indent.pro` for `indent`. znz (Kazuhiro NISHIYAMA)
12:10 PM Revision d83e0201 (git): drb: use \A and \z
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
07:51 AM Bug #14226: Revert line number of "return", "b-return" and "end" events
dsferreira (Daniel Ferreira) wrote:
> I take the chance to ask here about something I have been thinking for a very long time.
> ...
That's something more general than this issue. I propose you create a new feature for this, so that it...
duerst (Martin Dürst)
04:37 AM Feature #13890: Allow a regexp as an argument to 'count', to count more interesting things than single characters
Python allows to count strings, as follows:
`str.count(sub[, start[, end]])`
Return the number of non-overlapping occurrences of `substring` `sub` in the range `[start, end]`. Optional arguments `start` and `end` are interpreted as i...
duerst (Martin Dürst)
03:09 AM Feature #14225: untaint hash key strings
> https://bugs.ruby-lang.org/issues/14225

Proposed patch here:
https://80x24.org/spew/20171230025109.1946-1-e@80x24.org/raw
normalperson (Eric Wong)
01:06 AM Feature #12009 (Rejected): [PATCH] psych: pre-freeze string keys for hashes
To be solved in a more general manner [Feature #14225].
(Partially solved for untainted data in [Feature #13725])
normalperson (Eric Wong)
12:00 AM Feature #14258 (Closed): [PATCH] hash literal deduplicates like Hash#[]=
Applied in changeset trunk|r61514.
----------
hash literal deduplicates like Hash#[]=
From: Eric Wong <e@80x24.org>
* hash.c (rb_hash_key_str): new function
(hash_aset_str): use rb_hash_key_str
* internal.h: add rb_hash_key_str
* st...
Anonymous
12:00 AM Revision ff9a3de4 (git): * 2017-12-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:00 AM Revision fc939f66 (git): hash literal deduplicates like Hash#[]=
From: Eric Wong <e@80x24.org>
* hash.c (rb_hash_key_str): new function
(hash_aset_str): use rb_hash_key_str
* internal.h: add rb_hash_key_str
* st.c (st_stringify): use rb_hash_key_str
* test/ruby/test_hash.rb (test_NEWHASH_fstring_ke...
Eric Wong

12/29/2017

02:24 PM Feature #14235: Merge MJIT infrastructure with conservative JIT compiler
@k0kubun Thank you for the clarification!
> I understand "a variant of MJIT" means "method JIT compiler that generates C code from ISeq".
Yes, that's exactly what I meant.
I think running https://github.com/noahgibbs/rails_ruby_...
Eregon (Benoit Daloze)
03:31 AM Feature #14235: Merge MJIT infrastructure with conservative JIT compiler
> Should the performance of MJIT be evaluated in more details before merging?
Definitely true. This ticket was made in hurry for December Ruby Developers Meeting in Japan, so I did only benchmarks which are easy to run at that moment....
k0kubun (Takashi Kokubun)
12:19 PM Bug #14257 (Closed): the chomp option removes newlines in additon to the provided separator for String#each_line and String#lines
Applied in changeset trunk|r61513.
----------
string.c: chomp rs at the end
* string.c (rb_str_enumerate_lines): should chomp record separator
only, but not a newline, at the end of the receiver as well as
middle, if the separator ...
nobu (Nobuyoshi Nakada)
10:37 AM Bug #14257: the chomp option removes newlines in additon to the provided separator for String#each_line and String#lines
I wanted to have a look but to my surprise, the documentation at:
https://ruby-doc.org/core-2.5.0/String.html#method-i-lines
does not seem to indicate more than one agument to this method?
Either way, could someone perhaps add a...
shevegen (Robert A. Heiler)
12:19 PM Revision 634a48c5 (git): string.c: chomp rs at the end
* string.c (rb_str_enumerate_lines): should chomp record separator
only, but not a newline, at the end of the receiver as well as
middle, if the separator is given.
[ruby-core:84552] [Bug #14257]
git-svn-id: svn+ssh://ci.ruby-lang...
nobu (Nobuyoshi Nakada)
08:51 AM Feature #14258 (Closed): [PATCH] hash literal deduplicates like Hash#[]=
```
We should reuse the same hash key deduplication logic
as Hash#[]= when creating hash literals using the newhash
VM instruction.
* hash.c (rb_hash_key_str): new function
(hash_aset_str): use rb_hash_key_str
* internal.h: add...
normalperson (Eric Wong)
06:47 AM Revision 18640bf9 (git): test/ruby/test_hash: minor test cleanup
Prep work for proposed behavior change:
https://bugs.ruby-lang.org/issues/14225
* test/ruby/test_hash.rb (test_tainted_string_key): assert_predicate
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61512 b2dd03c8-39d4-4d8f-98ff-823fe6...
Eric Wong
06:47 AM Feature #14223: Refinements で定義した #to_proc が &hoge 時に呼ばれないのを緩和する提案
nobu (Nobuyoshi Nakada) wrote:
> 賛成です。
返信して頂き、ありがとうございます。
> ...
ありがとうございます。修正しました。
これで問題ないでしょうか。
osyo (manga osyo)

12/28/2017

11:11 PM Bug #14257 (Closed): the chomp option removes newlines in additon to the provided separator for String#each_line and String#lines
I'm not entirely sure this is a bug but I had a hard time finding anything that indicated that the change was on purpose.
The `chomp` option would remove the provided separator from each line. Now it does that and it also removes newl...
AaronLasseigne (Aaron Lasseigne)
10:45 PM Feature #14022: String#surround
> But for this really frequent case surround() still feels more elegant.
Agreed. It is not so frequent for my case, to be honest; but I like
the use case that sawa described since that is similar to ones I
experienced too, in regard...
shevegen (Robert A. Heiler)
10:31 PM Feature #14235: Merge MJIT infrastructure with conservative JIT compiler
Eregon (Benoit Daloze) wrote:
> Merging the MJIT infrastructure means choosing MJIT as the MRI JIT, right?
Taking a closer look at the PR, it seems mostly infrastructure for a MJIT-like JIT.
On the other hand, mjit_compile.c is co...
Eregon (Benoit Daloze)
10:09 PM Feature #14235: Merge MJIT infrastructure with conservative JIT compiler
Should the performance of MJIT be evaluated in more details before merging?
Merging the MJIT infrastructure means choosing MJIT as the MRI JIT, right?
If so, it would be good to have performance numbers on other larger benchmarks, no...
Eregon (Benoit Daloze)
08:09 PM Feature #14250 (Closed): Make `$SAFE` process global state and allow to set 0 again
Applied in changeset trunk|r61510.
----------
`$SAFE` as a process global state. [Feature #14250]
* vm_core.h (rb_vm_t): move `rb_execution_context_t::safe_level` to
`rb_vm_t::safe_level_` because `$SAFE` is a process (VM) global sta...
ko1 (Koichi Sasada)
02:32 AM Feature #14250: Make `$SAFE` process global state and allow to set 0 again
FYI: by using [gem-codesearch](https://github.com/akr/gem-codesearch), I have briefly searched the gems using $SAFE:
```
$ csearch -f '.*\.rb' '^\s*[^\s#].*\$SAFE *=' | wc -l
147
```
Much less than I thought... The full list is...
mame (Yusuke Endoh)
08:09 PM Revision ccbd6ee5 (git): * 2017-12-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:09 PM Revision c39bdb79 (git): `$SAFE` as a process global state. [Feature #14250]
* vm_core.h (rb_vm_t): move `rb_execution_context_t::safe_level` to
`rb_vm_t::safe_level_` because `$SAFE` is a process (VM) global state.
* vm_core.h (rb_proc_t): remove `rb_proc_t::safe_level` because `Proc`
objects don't need to ...
ko1 (Koichi Sasada)
04:40 PM Bug #13774: for methods defined from procs, the binding of the resulting bound_method.to_proc does not have access to the original proc's closure environment
nobu (Nobuyoshi Nakada) wrote:
> I think it is not a bug.
> ...
You are accessing a local variable in the method (which does not exist until the method is invoked), whereas I am accessing a variable outside the method, captured by the ...
bughit (bug hit)
08:21 AM Bug #13774: for methods defined from procs, the binding of the resulting bound_method.to_proc does not have access to the original proc's closure environment
I think it is not a bug.
Local variables are not set up in the context of a binding from a method.
```ruby
$ ruby -e 'def m(v=12);v;end; p method(:m).to_proc.binding.eval("v")'
Traceback (most recent call last):
2: from -e:1:in...
nobu (Nobuyoshi Nakada)
08:28 AM Revision 67850e8a (git): proc.c: empty iseq names
* proc.c (proc_binding): unified the name and realpath of an empty
iseq.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:53 AM Feature #14255 (Closed): Deprecate $SAFE support in ERB
Changed from ruby-dev to ruby-core https://bugs.ruby-lang.org/issues/14256 k0kubun (Takashi Kokubun)
05:35 AM Feature #14255 (Closed): Deprecate $SAFE support in ERB
See https://bugs.ruby-lang.org/issues/14250.
Proc-level $SAFE change does no longer make sense. This should be deprecated and then removed. But the problem is that the position of safe_level argument is in the middle of argument list ...
k0kubun (Takashi Kokubun)
05:51 AM Feature #14256 (Closed): Deprecate $SAFE support in ERB and let ERB.new take keyword arguments for it
See https://bugs.ruby-lang.org/issues/14250.
Proc-level $SAFE change does no longer make sense. This should be deprecated and then removed. But the problem is that the position of safe_level argument is in the middle of argument list ...
k0kubun (Takashi Kokubun)
05:07 AM Revision 9006d059 (git): erb.rb: let's remove constant deprecated at 2.5
(r59497).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
03:27 AM Bug #14254 (Closed): vagrant add box not working
i tried running the following command (vagrant box add centos65-base centos65.box) but encountered the error below. I have reinstall Vagrant, VirtualBox and Ruby but no success. Any help would be really useful.
λ vagrant box add cento...
felixtheflex (felix felix)
03:05 AM Bug #14252: Refined Method Visibility Lost with Dynamic Dispatch and Reflection
I, personally, do not care so much about the reflection APIs, as I was just using them to confirm what I thought was happening, but I would like to at least see `Kernel#public_send` act similarly to `Kernel#send`, so I think it makes sen... sonnym (Sonny Michaud)
02:28 AM Bug #14252: Refined Method Visibility Lost with Dynamic Dispatch and Reflection
sonnym (Sonny Michaud) wrote:
> This works perfectly well for the static `Protected.print` call, but has a number of surprises when trying to do anything more advanced. Namely:
> ...
Reflection APIs do not honor refinements.
If you b...
shugo (Shugo Maeda)
01:32 AM Bug #14252 (Closed): Refined Method Visibility Lost with Dynamic Dispatch and Reflection
Consider the following simple objects, one with a protected class method and another with a public class method calling on the protected method. This is accomplished using a refinement that marks the method as public on the singleton cl... sonnym (Sonny Michaud)
03:01 AM Bug #14251 (Rejected): String insert changing value of other string
This behavior is expected. Except for purely functional programming languages, the difference between references and values is important to understand in every programming language, even if at first, it may be surprising. duerst (Martin Dürst)
12:58 AM Bug #14251: String insert changing value of other string
I advise you to put this “issues” you find as questions in ruby talk before opening ruby core bugs.
In ruby objects are mutable and passed by reference.
When you do `bar = bar + 'ccc'`
you are allocating a new reference to bar obj...
dsferreira (Daniel Ferreira)
12:47 AM Bug #14251: String insert changing value of other string
Because if you do
~~~ ruby
foo = 'aaa'
bar = foo
bar = bar + 'ccc' #here references of foo doesn't changes
puts foo #aaa
pubs bar #aaaccc
~~~
As I can see, ruby only for string as reference when I call string methods, like:...
ricardovsilva (Ricardo Silva)
02:55 AM Bug #14253 (Closed): CSV.generate doesn't wrap a string anymore
linking with: https://github.com/ruby/csv/pull/13/files ahorek (Pavel Rosický)
12:00 AM Bug #14247 (Closed): Thread#fetch raise KeyError without key and receiver
Applied in changeset trunk|r61507.
----------
Fix KeyError#{key,receiver} of Thread#fetch
[ruby-core:84508] [Bug #14247]
Anonymous
12:00 AM Revision 220d2a71 (git): Fix KeyError#{key,receiver} of Thread#fetch
[ruby-core:84508] [Bug #14247]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
 

Also available in: Atom