Activity
From 12/02/2015 to 12/08/2015
12/08/2015
-
11:48 PM Revision ec74d507 (git): test_generic.rb: fix assertion
- * test/uri/test_generic.rb (test_to_s): use assert_not_predicate.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:48 PM Bug #11792 (Closed): Backport r52199 (pthread_getattr_np is broken on AIX)
- This is a ticket to manage back-porting r52199 to 2.1 and 2.2.
-
11:41 PM Revision cf183a58 (git): string.c: use rb_id_encoding
- * string.c (rb_str_init): rb_id_encoding() returns same ID with
caching.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:24 PM Bug #11790: [PATCH] ANSI alias rules fix
- Does CAS work?
~~~c
/* THREAD_ATOMIC_START; */
{
FreeNode *n = FreeNodeList, *n0;
while (IS_NOT_NULL(n) && (n0 = ATOMIC_PTR_CAS(FreeNodeList, n, n->next)) != n)
n = n0;
if (IS_NOT_NULL(n)) return (Node* )n;... -
04:32 PM Bug #11790 (Closed): [PATCH] ANSI alias rules fix
- line 70 in file regparse.h:
~~~c
#define SET_NTYPE(node, ntype) (node)->u.base.type = (ntype)
~~~
needs to be changed to conform with ANSI alias rules
Line 70 as it is can lead to errors in compiling in regparse.c
~~~c
... -
09:55 PM Feature #11791 (Feedback): The literal quotes should accept more quote characters (aka more unicode characters)
- I frequently use literal quoting, aka %q[], %w[], %i[]
I'd like to suggest that the set of quoting characters should be extended.
I believe that some pairs of unicode character should also be allowed as paired quoting characters.
... -
09:38 PM Bug #11759: URI breaks with frozen strings
- [email protected] wrote:
> > I prefer String.new() to "".dup because the former describes intention (of creating a buffer).
>
> Ok. I've attached a rev3 patch that uses `String.new` instead of `''.dup`.
Thanks. Committed as ... -
09:30 PM
Bug #11759 (Closed): URI breaks with frozen strings
- Applied in changeset r52981.
----------
lib/uri/generic.rb: enable frozen_string_literal
* lib/uri/generic.rb: enable frozen_string_literal
(split_userinfo): remove explicit .freeze for string literals
(check_path): ditto
(query)... - 09:28 PM Revision f2b9563b (git): lib/uri/generic.rb: enable frozen_string_literal
- * lib/uri/generic.rb: enable frozen_string_literal
(split_userinfo): remove explicit .freeze for string literals
(check_path): ditto
(query): ditto
(fragment): ditto
(to_s): ditto
[ruby-core:71910] [Bug #11759]
Patch-by: Col... - 09:27 PM Revision 0df938d5 (git): test/uri/test_generic.rb (to_s): new test
- Ensure URI::Generic#to_s continues to return mutable strings to
prevent breakage when we enable frozen string literals in future
commits.
[ruby-core:71820]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52980 b2dd03c8-39d4-4d8f-98ff... -
05:38 PM Feature #11782: String#+@ and String#-@
- how about splitting strings like this?
~~~
long_string = 'first part ' +
'second part ' +
'last part'
~~~
Should long_string be optimized by the compiler to generate 'first part second part last part' as a frozen string, or... -
01:05 AM Feature #11782: String#+@ and String#-@
- Quoted from DevelopersMeeting20151021Japan log:
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20151021Japan https://docs.google.com/document/d/1axnQv1A2SdRExw--_RzXXJAPrRyvN7MCIB0WrKcZaSE/pub
> matz: i have another i... -
05:28 PM Revision a8fb40db (git): gc.c: NULL check at memsize
- * gc.c (rb_objspace_data_type_memsize): consider NULL data uses no
memory without calling dsize function as well as other functions.
fix SEGV in test/objspace with RUBY_ISEQ_DUMP_DEBUG=to_binary.
git-svn-id: svn+ssh://ci.ruby-lang.o... -
05:19 PM Revision e78bf797 (git): * compile.c (ibf_dump_memsize): should check NULL.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
05:11 PM Bug #11784: [PATCH] insns.def (opt_case_dispatch): check Float#=== redefinition
- Backported into `ruy_2_2` branch at r52977.
-
05:10 PM Revision 4beed07c (git): merge revision(s) 52928: [Backport #11784]
- * insns.def (opt_case_dispatch): check Float#=== redefinition
* test/ruby/test_optimization.rb (test_opt_case_dispatch): new
[ruby-core:71920] [Bug #11784]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_... -
04:49 PM Feature #11785 (Closed): add `encoding:` optional argument to `String.new`
- Applied in changeset r52976.
----------
* string.c (rb_str_init): now accepts new option parameter `encoding'.
[Feature #11785] -
03:50 PM Feature #11785: add `encoding:` optional argument to `String.new`
- Agreed. I prefer `String.new("", encoding: 'utf-8')`.
Matz.
-
09:41 AM Feature #11785: add `encoding:` optional argument to `String.new`
- Another idea, `Encoding#string`, came in my mind.
~~~diff
diff --git a/encoding.c b/encoding.c
index eb777c9..f0001b3 100644
--- a/encoding.c
+++ b/encoding.c
@@ -1171,6 +1171,38 @@ enc_names(VALUE self)
/*
* call-seq:
+... -
02:33 AM Feature #11785 (Closed): add `encoding:` optional argument to `String.new`
- I propose to add `encoding:` optional argument to `String.new`.
Ruby doesn't have the syntax to specify the encoding of a string literal.
So we're using `String#force_encoding` for the purpose when writing m17n script, just like:
... - 04:48 PM Revision 4466d4ba (git): * string.c (rb_str_init): now accepts new option parameter `encoding'.
- [Feature #11785]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:47 PM Bug #11775: Backport r52892 (fix the argument order of ATOMIC_SIZE_CAS)
- Backported into `ruby_2_2` branch at r52975.
-
02:54 AM Bug #11775: Backport r52892 (fix the argument order of ATOMIC_SIZE_CAS)
- ruby_2_1 r52934 merged revision(s) 52892.
-
04:47 PM Revision 3bec9a87 (git): merge revision(s) 52892: [Backport #11775]
- * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
InterlockedCompareExchange64. new value and then old value is
the last.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@52975 b2dd03c8-39d4... -
04:45 PM Bug #11760: Encoding is tainted unexpectedly by Marshal.load
- Backported into `ruby_2_2` branch at r52974.
-
02:51 AM Bug #11760: Encoding is tainted unexpectedly by Marshal.load
- ruby_2_1 r52933 merged revision(s) 52856,52906.
-
04:44 PM Revision bd4364ac (git): merge revision(s) 52856,52906: [Backport #11760]
- * encoding.c (enc_m_loader): defer finding encoding object not to
be infected by marshal source. [ruby-core:71793] [Bug #11760]
* marshal.c (r_object0): enable compatible loader on USERDEF
class. the loader... -
04:26 PM Bug #11733: Compile of ruby 2.2.3 fails on AIX 6.1 TL07 SP03
- Backported into `ruby_2_2` branch at r52973.
-
04:25 PM Revision 4cd4556f (git): merge revision(s) 50423: [Backport #11733]
- * ext/-test-/file/fs.c: need to include sys/statvfs.h
to use statvfs().
* ext/-test-/file/extconf.rb: check the existence of
sys/statvfs.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@52973... -
04:17 PM Revision f679a6b1 (git): envutil.rb: improve message
- * test/lib/envutil.rb (assert_ruby_status): show also outputs at
normal exit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:59 PM Revision 745c63e9 (git): compile.c: suppress warning
- * compile.c (ibf_dump_overwrite): cast to unsigned long to
suppress sign-compare warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:52 PM Revision 46df9c42 (git): file.c: call get_stat only once
- * file.c (rb_stat_wr, rb_stat_ww): call get_stat only once and
reduce checking struct. patch by Yuki Kurihara in
[ruby-core:71949]. [Misc #11789]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52970 b2dd03c8-39d4-4d8f-98ff-823f... -
03:44 PM Feature #11777: Change NameError#local_variables to return the list of local variables where the method is raised
- Yes, this method is only for did_you_mean gem.
-
12:34 PM Feature #11777: Change NameError#local_variables to return the list of local variables where the method is raised
- NEWS does not mention about this feature.
Is it intended? -
05:27 AM Feature #11777 (Closed): Change NameError#local_variables to return the list of local variables where the method is raised
- Applied in changeset r52942.
----------
error.c: name_err_local_variables
* error.c (name_err_local_variables): new method
NameError#local_variables for internal use only.
[Feature #11777] -
03:30 PM Revision ddba2014 (git): * compile.c (iseq_ibf_dump): dump extra data just string length.
- * sample/iseq_loader.rb: add using
RubyVM::InstructionSequence.from_binary_format_extra_data method
(commented out).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:26 PM Revision 278d90a2 (git): compile.c: fix extra_str
- * compile.c (iseq_ibf_load_extra_data): fix offset and
length of extra_str, which is not NUL-terminated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 03:23 PM Revision 3ba62bde (git): gems/bundled_gems: Upgrade the did_you_mean gem to 1.0.0.rc1
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:18 PM Revision 34cfdd2f (git): * compile.c (ibf_load_setup): cast to int.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:14 PM Revision d0d0898c (git): * compile.c (ibf_setup_load): rename to ibf_load_setup().
- * compile.c (iseq_load_setup): check binary format.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
03:10 PM Bug #11199: IO.copy_stream degrade that can't call pathname to pathname
- Thank you all!
-
03:07 PM Revision bb4d72c5 (git): make local symbols static
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:05 PM Misc #11789 (Closed): [PATCH] Refactor File::Stat#world_readable? and #world_writable?
- I fix to call **get_stat()** only once.
- 03:05 PM Revision bd7e04e4 (git): * 2015-12-09
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:05 PM Revision 0a2b471d (git): fix indent [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:05 PM Revision 122ee7d4 (git): Add ticket numbers [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:50 PM Revision 2c3f0749 (git): free ibf_dump at exception
- * compile.c (iseq_ibf_dump): wrap ibf_dump to free tables at
exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:49 PM Revision c01f1655 (git): fix typos [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:47 PM Revision 433a5b46 (git): compile.c: make opt a string value
- * compile.c (iseq_ibf_dump): rb_check_string_type() returns nil if
the object does not have to_str method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:33 PM Revision d573666e (git): * test/io/console/test_io_console.rb (run_pty): Avoid waiting twice
- for a process. Fix Errno::ECHILD in TestIO_Console#test_close and
TestIO_Console#test_sync.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:33 PM Revision 6ee61d4b (git): check loading object index range
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:12 PM Revision 6a105387 (git): suppress warnings
- * compile.c (iseq_ibf_dump): check lenght overflow.
* vm_core.h (rb_iseq_check): suppress unused-value warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:06 PM Revision b8574cdc (git): * compile.c (iseq_ibf_dump): fix for clang type checker.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:05 PM Revision 23124ffb (git): * iseq.c (iseq_s_load): fix mysterious bug.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:03 PM Revision 99c89fa5 (git): fix a typo [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 01:59 PM Revision d0f29abb (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 01:59 PM Revision c49cb7fe (git): * remove trailing spaces.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:59 PM Feature #11788 (Closed): New ISeq serialize binary format
- Applied in changeset r52949.
----------
* introduce new ISeq binary format serializer/de-serializer
and a pre-compilation/runtime loader sample.
[Feature #11788]
* iseq.c: add new methods:
* RubyVM::InstructionSequence#to_binary_... -
12:55 PM Feature #11788: New ISeq serialize binary format
- Good question. I never take notice about that.
Try resolv.rb with use to_a/load_iseq.
```
user system total real
compile 10.590000 0.270000 10.860000 ( 11.452102)
compile 10.580000 0... -
11:48 AM Feature #11788: New ISeq serialize binary format
- [email protected] wrote:
> * RubyVM::InstructionSequence#to_binary_format returns binary format data as String object.
> * RubyVM::InstructionSequence.from_binary_format(data) de-serialize it.
Why a new custom binary format instead of ... -
10:56 AM Feature #11788 (Closed): New ISeq serialize binary format
- # Abstract
I wrote a new RubyVM::InstructionSequence (ISeq) object serializer and de-serializer binary format.
Matz had approved to introduce this feature to Ruby 2.3 as *experimental* feature.
So I'll commit them.
There are two ... -
01:58 PM Revision 3dbb3901 (git): * introduce new ISeq binary format serializer/de-serializer
- and a pre-compilation/runtime loader sample.
[Feature #11788]
* iseq.c: add new methods:
* RubyVM::InstructionSequence#to_binary_format(extra_data = nil)
* RubyVM::InstructionSequence.from_binary_format(binary)
* RubyVM::Instruc... -
01:26 PM Revision 8f620b9b (git): retry IO#getpass
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:20 PM Bug #10398: Server Name Indication support broken when reusing a (dead) session
- #11401 solves this issue.
-
12:31 PM Revision dc331ca5 (git): mention about Enumerator::Lazy#grep_v in NEWS
- * NEWS: mention about Enumerator::Lazy#grep_v.
[ruby-core:71845] [Feature #11773]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:20 PM Revision 5f7d6c0c (git): Revert r52907 "* configure.in: add missing x."
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:25 AM Misc #11783: Do you have any idea if you have a budgets?
- Martin Dürst wrote:
> > I should note that mswin CI will be given up just after Ruby 2.3 release because I can never keep its cost.
> ...
The former. It costs about $130 per month. -
06:15 AM Misc #11783: Do you have any idea if you have a budgets?
- Usaku NAKAMURA wrote:
> I should note that mswin CI will be given up just after Ruby 2.3 release because I can never keep its cost.
Does this mean cost of infrastructure (which can be paid for) or cost of your work (which may be ve... -
10:54 AM Revision 958e153c (git): Revert r52902,r52903,r52910,r52911,r52937,r52939
- Reject IO::Console#getpass because it can't test portablly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:36 AM Revision d9c6135c (git): string.c: removed unused variable
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
08:28 AM Feature #11786: [PATCH] micro-optimize case dispatch even harder
- SASADA Koichi <[email protected]> wrote:
> On 2015/12/08 13:53, Eric Wong wrote:
> >> > how to mark literal objects?
> > Take ideas from nobu (r52708 :)
>
> I meant marking, not for freeing a table.
Oops :x I added rb_mark_set to... -
05:48 AM Feature #11786: [PATCH] micro-optimize case dispatch even harder
- On 2015/12/08 13:53, Eric Wong wrote:
>> > how to mark literal objects?
> Take ideas from nobu (r52708 :)
I meant marking, not for freeing a table.
For example, bignum objects should mark from this table.
```ruby
case nil
w... -
05:18 AM Feature #11786: [PATCH] micro-optimize case dispatch even harder
- Full v2 patch including leak fix with wrapper object:
http://80x24.org/spew/20151208050811.6803-1-e%4080x24.org/t/raw
Slightly smaller improvements with leak fix, but it could be noise
for the small cases.
2015-12-08 05:06:17 ... -
04:58 AM Feature #11786: [PATCH] micro-optimize case dispatch even harder
- SASADA Koichi <[email protected]> wrote:
> On 2015/12/08 12:43, Eric Wong wrote:
> > Oops, I forgot to free the table when iseq is destroyed :x
> > Update coming...
>
> how to mark literal objects?
Take ideas from nobu (r52708 :)
... -
03:58 AM Feature #11786: [PATCH] micro-optimize case dispatch even harder
- On 2015/12/08 12:43, Eric Wong wrote:
> Oops, I forgot to free the table when iseq is destroyed :x
> Update coming...
>
how to mark literal objects?
BTW, I'm writing new iseq dumper and loader.
it is some tough timing such ... -
03:48 AM Feature #11786: [PATCH] micro-optimize case dispatch even harder
- Oops, I forgot to free the table when iseq is destroyed :x
Update coming... -
03:36 AM Feature #11786 (Open): [PATCH] micro-optimize case dispatch even harder
- I noticed these optimizations while working on r52931.
By using a bare hash table, we avoid the overhead of rb_hash_*
functions as well as the cost of translating FIX2INT for jump
labels.
This also reduces GC overhead, as the ise... -
07:31 AM Bug #11787: rb_inspect() should check Encoding.default_internal instead of Encoding.default_external
- Shugo Maeda wrote:
> Encoding.default_internal should be check instead.
I've attached a patch.
-
07:24 AM Bug #11787 (Closed): rb_inspect() should check Encoding.default_internal instead of Encoding.default_external
- rb_inspect() checks Encoding.default_external even if Encoding.default_internal is specified.
```
$ cat t.rb
puts "\u3042"
p "\u3042"
$ ruby -E windows-31j:utf-8 t.rb
あ
t.rb:2:in `p': inspected result must be ASCII only or use t... -
07:24 AM Feature #11773 (Closed): Enumerator::Lazy#grep_v
- Applied in changeset r52943.
----------
enumerator.c: lazy_grep_v
* enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well
as Enumerable, to enumerate lazily.
[ruby-core:71845] [Feature #11773] -
07:23 AM Revision 7d0b7fb4 (git): enumerator.c: lazy_grep_v
- * enumerator.c (lazy_grep_v): add Enumerator::Lazy#grep_v as well
as Enumerable, to enumerate lazily.
[ruby-core:71845] [Feature #11773]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:41 AM Bug #11718: Constant access on `nil`
- @Koichi: good that you classify it, for a moment i thought that might be an feature ;P
-
05:27 AM Revision 506b25aa (git): error.c: name_err_local_variables
- * error.c (name_err_local_variables): new method
NameError#local_variables for internal use only.
[Feature #11777]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 05:21 AM Revision cb3b463a (git): * array.c: Improve and fix documentation for Array#dig
- [#11776]
* hash.c: ditto
* struct.c: ditto
* test_hash.rb: Add basic test for user defined `dig`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:20 AM Revision 1fadd438 (git): marshal.c: skip internal names
- * marshal.c (w_objivar): skip internal instance variables in
T_OBJECT too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:12 AM Revision 95184065 (git): test_io_console.rb: separate master and slave
- * test/io/console/test_io_console.rb (test_getpass): separate
master side and slave side in each threads. r52937 deadlocked
on OS X. [Bug #11780] [ruby-dev:49412]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52939 b2dd03c8-39... - 04:32 AM Revision f2a7ca74 (git): compile.c (iseq_build_from_ary_body): avoid rb_ary_dup for CDHASH
- This reverts r16587
("compile.c (iseq_build_body): remove side effect from
VM::InstructionSequence.load."
as that change was obsoleted by r48705 ("mostly fix rb_iseq_load")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52938 b2dd0... -
04:04 AM Bug #11780 (Closed): TestIO_Console#test_getpass failed on Solaris
- Applied in changeset r52937.
----------
* test/io/console/test_io_console.rb (test_getpass): s.getpass
should be tested. Narrow ensure block. This reverts r52911.
[Bug #11780] [ruby-dev:49412] -
04:03 AM Revision 14c46e5f (git): * test/io/console/test_io_console.rb (test_getpass): s.getpass
- should be tested. Narrow ensure block. This reverts r52911.
[Bug #11780] [ruby-dev:49412]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:03 AM Bug #11762: Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- Here is my suggested documentation on how `Hash#dig` should behave as part of a general `dig` protocol. The patch includes equivalent changes to the documentation for `Array#dig`.
~~~
* Extracts a nested value by navigating the giv... -
03:09 AM Bug #11762: Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- The current doc also gives examples that should return raise an error, if I understand correctly:
a = [[1, [2, 3]]]
a.dig(0, 0, 0) #=> nil
Since `1.dig(0)` is invalid (and 1 is not `nil`), that should r... -
01:35 AM Bug #11762: Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- > I'd guess, like Colin, that returning nil is probably the best. Makes debugging harder when writing new code, but makes backward compatibility easier, since old code using dig wouldn't bomb if the data layout changes in the future.
... -
01:33 AM Bug #11762 (Open): Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- Reopening, since \the following should raise an error:
{a: 'hello'}.dig(:a, :b) # => nil, should raise an Error
Right? -
03:43 AM Feature #9098: Indent heredoc against the left margin by default when "indented closing identifier" is turned on.
- This change actually introduces a syntactic incompatibility. Is this okay? I have not seen any real-life use-case that suffers from this incompatibility, though.
~~~
def foo
42
end
BAR = -10
p foo <<~BAR
~~~
~~~
$ ruby -... -
12:10 AM Feature #9098: Indent heredoc against the left margin by default when "indented closing identifier" is turned on.
- Hey, nobu, write NEWS!!
- 03:20 AM Revision be801955 (git): * tool/merger.rb: get user's attention by using colored message when requiring operation.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:11 AM Bug #8543: new rb_iseq_load crash
- 2.0/2.1 use different code about r51816.
So they don't have this problem, I think. -
03:08 AM Revision 10952d16 (git): NEWS: indented heredoc [ci skip]
- * NEWS: mention about indented here document. [Feature #9098]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 02:54 AM Revision 682e86be (git): merge revision(s) 52892: [Backport #11775]
- * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
InterlockedCompareExchange64. new value and then old value is
the last.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52934 b2dd03c8-39d4... - 02:51 AM Revision f0680bde (git): merge revision(s) 52856,52906: [Backport #11760]
- * encoding.c (enc_m_loader): defer finding encoding object not to
be infected by marshal source. [ruby-core:71793] [Bug #11760]
* marshal.c (r_object0): enable compatible loader on USERDEF
class. the loader... - 01:47 AM Revision 45a6f637 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
01:47 AM
Feature #11769 (Closed): optimize case / when for `nil`
- Applied in changeset r52931.
----------
compile optimized case dispatch for nil/true/false
nil/true/false are special literals just like floats, integers,
literal strings, and symbols. Optimize when statements with
them by using a jum... -
12:28 AM Feature #11769: optimize case / when for `nil`
- Eric Wong <[email protected]> wrote:
> Cool. Might be worth it to do the same for `true` and `false`,
> too, since we have space for them.
Sythetic benchmark shows a 3x speedup on top of r52928:
http://80x24.org/spew/201512... - 01:46 AM Revision 4ebab10b (git): compile optimized case dispatch for nil/true/false
- nil/true/false are special literals just like floats, integers,
literal strings, and symbols. Optimize when statements with
them by using a jump table, too.
target 0: a (ruby 2.3.0dev (2015-12-08 trunk 52928) [x86_64-linux]) at "/home/... -
01:19 AM Revision c84e62cd (git): optparse.rb: Fix typo [ci skip]
- * lib/optparse.rb: fix double word typo in the document.
[Misc #10608] [Fix GH-1126]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:03 AM Revision 08753137 (git): date_core.c: missing argument check
- * ext/date/date_core.c (d_lite_lshift): should check the argument
before negation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
12/07/2015
-
11:57 PM
Bug #11784 (Closed): [PATCH] insns.def (opt_case_dispatch): check Float#=== redefinition
- Applied in changeset r52928.
----------
insns.def (opt_case_dispatch): check Float#=== redefinition
The missing check for Float#=== redefinition was noticed while
working on enhancing optimized case dispatch for nil/true/false
in [ruby... -
11:54 PM Bug #11784 (Closed): [PATCH] insns.def (opt_case_dispatch): check Float#=== redefinition
- insns.def (opt_case_dispatch): check Float#=== redefinition
The missing check for Float#=== redefinition was noticed while
working on enhancing optimized case dispatch for nil/true/false
in [ruby-core:71818] https://bugs.ruby-lang.o... - 11:56 PM Revision 4d2ce0cb (git): insns.def (opt_case_dispatch): check Float#=== redefinition
- The missing check for Float#=== redefinition was noticed while
working on enhancing optimized case dispatch for nil/true/false
in [ruby-core:71818] https://bugs.ruby-lang.org/issues/11769
So no, I don't normally redefine core classes li... -
09:18 PM Bug #11733: Compile of ruby 2.2.3 fails on AIX 6.1 TL07 SP03
- r50423 will be soon back-ported to the 2.2 branch.
In the meantime, I believe you can avoid the compile error by the following patch.
~~~diff
--- ruby-2.2.3/ext/-test-/file/fs.c 2015-05-23 10:15:12.000000000 -0700
+++ ../Cont... -
05:08 PM Bug #11733 (Closed): Compile of ruby 2.2.3 fails on AIX 6.1 TL07 SP03
- 07:01 PM Revision d0ea0389 (git): * properties.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
07:01 PM Revision 7476be4d (git): * test/lib/iseq_loader_checker.rb: add iseq dumper/loader checker.
- If you enable this checker (remove `#' in test/runner.rb),
you can see comparison results between an original iseq disassembed
result and dumped and loaded iseq disassembed result.
There are several bugs around there, because of i... - 06:49 PM Revision b401937c (git): doc/extension.rdoc: warn about kwargs performance in C [ci skip]
- This existing API seems doomed performance-wise, and writing
things in Ruby is nicer anyways. So discourage folks from
using it.
[Feature #11339]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52925 b2dd03c8-39d4-4d8f-98ff-823fe69b... -
06:46 PM Revision 8dce6b15 (git): * iseq.c (iseq_load): disable peephole optimization option
- because apply it multiple times change the sequence.
(iseq != peephole_optimize(load(iseq.to_a)))
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:44 PM Revision 21366b17 (git): * compile.c (rb_iseq_build_from_ary): do not allocate table
- if table_size is 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 06:39 PM Revision 889f5022 (git): socket: expand docs+tests for recv_io/send_io
- * ext/socket/unixsocket.c (unix_send_io): document args
(unix_recv_io): ditto
* test/socket/test_unix.rb (test_fd_passing_class_mode): added
I was working on these when I encountered the problem in
with BasicSocket.for_fd not handling... -
05:43 PM Bug #11779: Module#using does not make sense as a method
- Yukihiro Matsumoto wrote:
> Providing a feature by a method does not imply dynamic scoping, for example, Module#private etc. work in lexical scope.
> ...
actually `private` is more dynamic than `using`, here's an example of private wor... -
05:21 PM Bug #11779: Module#using does not make sense as a method
- Yukihiro Matsumoto wrote:
> Providing a feature by a method does not imply dynamic scoping, for example, Module#private etc. work in lexical scope.
> ...
Well, since it's an established pattern, one has to just accept it. It does seem... -
05:00 PM Bug #11779: Module#using does not make sense as a method
- Providing a feature by a method does not imply dynamic scoping, for example, Module#private etc. work in lexical scope.
Matz.
-
04:09 PM Bug #11779: Module#using does not make sense as a method
- Yukihiro Matsumoto wrote:
> Can elaborate what do you want if `using` should not be a method.
> ...
I don't know what possibilities there are, it just struck me that it was not behaving at all as a method, methods affect their dynamica... -
06:52 AM Bug #11779 (Feedback): Module#using does not make sense as a method
- Can elaborate what do you want if `using` should not be a method.
Considering a new keyword would break existing code, I don't think it's a good idea.
Matz.
-
05:23 PM Revision 6757d13e (git): * iseq.c (iseq_translate): at the end of constructing an iseq,
- call RubyVM::InstructionSequence.translate(iseq) if this method
is defined. If the return value is also an object of
RubyVM::InstructionSequence, then use it instead of created one.
For example, this method is useful to test iseq ... -
05:03 PM Bug #11771: unable to pass keyargs to []=
- I don't say anything about 3.0 for now.
But things are more complicated than you imagine.
Matz.
-
04:02 PM Bug #11771: unable to pass keyargs to []=
- Yukihiro Matsumoto wrote:
> Pending, for several reasons:
> ...
`def []=(k,opt={},v)` feels wrong because you're taking a dependency on incorrect behavior (method dispatch that puts a positional arg after the keyargs) Why not correct ... -
07:03 AM Bug #11771 (Closed): unable to pass keyargs to []=
- Pending, for several reasons:
(1) compatibility. `a[a,foo:1]=v` is valid code. changing behavior may crash existing code.
(2) you can delegate to other method e.g.
```ruby
def opt_aset(k,v,option:nil)
...
end
def []=(k,opt... -
04:58 PM Revision a34e45fd (git): * ext/psych/*: update psych to 2.0.16
- * test/psych/*: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:30 PM Revision 56367e25 (git): add a NEWS entry for r52917
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:59 PM Bug #11759: URI breaks with frozen strings
- > I prefer String.new() to "".dup because the former describes intention (of creating a buffer).
Ok. I've attached a rev3 patch that uses `String.new` instead of `''.dup`.
> ...
I had a question about that but I saw it answered els... -
07:19 AM Bug #11759: URI breaks with frozen strings
- I prefer `String.new()` to `"".dup` because the former describes intention (of creating a buffer).
In fact, my best choice is introducing `String#+` that returns a mutable copy of a string.
For the size of byte code and performance, ... -
03:19 PM Feature #11782: String#+@ and String#-@
- The purpose of this proposal is to encourage frozen string literals and provide better way than `"foo".dup`. So that `String#-@` can be redundancy.
-
03:14 PM Feature #11782 (Assigned): String#+@ and String#-@
- Endo-san pointed out that `+foo.upcase!` is evaluated as `+(foo.upcase!)`.
It can be problem. But any practical examples?
Mutate operations such as `str = +'foo' << bar << baz` works (because +@ is stronger than <<).
Evaluation wi... -
03:10 PM Feature #11782 (Closed): String#+@ and String#-@
- Applied in changeset r52917.
----------
* string.c: introduce String#+@ and String#-@ to control
String mutability.
[Feature #11782] -
02:05 PM Feature #11782: String#+@ and String#-@
- +1
--
Yusuke Endoh <[email protected]> -
12:58 PM Feature #11782: String#+@ and String#-@
- It's OK if we don't have strong objection.
Matz.
-
10:13 AM Feature #11782 (Closed): String#+@ and String#-@
- Matz said
> In fact, my best choice is introducing `String#+` that returns a mutable copy of a string.
[ruby-core:71879] [Ruby trunk - Bug #11759]
So that this is a ticket for that.
I'll commit it ASAP to check this methods bef... -
03:19 PM Feature #9098: Indent heredoc against the left margin by default when "indented closing identifier" is turned on.
- Ah, for some reason I was under the impression that the plan was to use the indentation from the first non-blank line to determine how much to dedent the entire string.
If the plan instead is to use the least-indented non-blank line f... -
02:40 PM Feature #9098 (Closed): Indent heredoc against the left margin by default when "indented closing identifier" is turned on.
- Applied in changeset r52916.
----------
parse.y: indented hereoc
* parse.y: add heredoc <<~ syntax. [Feature #9098] -
06:45 AM Feature #9098: Indent heredoc against the left margin by default when "indented closing identifier" is turned on.
- Alternative 2 looks good to me.
Matz.
- 03:10 PM Revision 59c3a2f8 (git): * 2015-12-08
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:10 PM Revision 6d8bf54c (git): * string.c: introduce String#+@ and String#-@ to control
- String mutability.
[Feature #11782]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:39 PM Revision 9a28a29b (git): parse.y: indented hereoc
- * parse.y: add heredoc <<~ syntax. [Feature #9098]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:19 PM Feature #11735: Porting String#squish and String#squish! from Ruby on Rails' Active Support
- nobu's patch seems to be the better way to implement this feature without having to use regular expression. Much more efficient.
I guess I should try to think outside the box the next time I try to write something in C.
+1 to nobu'... -
07:51 AM Feature #11735: Porting String#squish and String#squish! from Ruby on Rails' Active Support
- https://github.com/ruby/ruby/compare/trunk...nobu:feature/11735-squish
-
02:14 PM Revision 9f51e95f (git): fix a typo [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:08 PM
Bug #11730 (Closed): read_nonblock's call-seq missing options
- Applied in changeset r52914.
----------
add missing options to call-seq of IO#read_nonblock
* prelude.rb (IO#read_nonblock): [DOC] add missing options to
call-seq. [ruby-core:71627] [Bug #11730] -
02:08 PM Revision f373be86 (git): add missing options to call-seq of IO#read_nonblock
- * prelude.rb (IO#read_nonblock): [DOC] add missing options to
call-seq. [ruby-core:71627] [Bug #11730]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:47 AM Misc #11783: Do you have any idea if you have a budgets?
- Koichi Sasada wrote:
> > nurse: VPS severs for CI are welcome. Especially for Azure.
I should note that mswin CI will be given up just after Ruby 2.3 release because I can never keep its cost. -
10:29 AM Misc #11783 (Closed): Do you have any idea if you have a budgets?
- Do you have any idea about Ruby interpreter implementation to do with budgets?
# Background
Now, we are summarizing many contributions from many people, organizations and companies.
https://docs.google.com/document/d/1y1sQc40qeu... -
11:22 AM Feature #11737: Pass in expression to then block in `case expression`
- Thank you. I appreciate your consideration.
-
07:41 AM Feature #11737 (Rejected): Pass in expression to then block in `case expression`
- It's not worth adding special expression or variable for retrieving the when value.
Just use assignment.
Matz.
-
11:13 AM Feature #11781: Would it be possible to alias .prepend() towards .unshift() for class Array by default?
- `prepend` is already a keyword in the Ruby language for prepending a module in the ancestry chain: http://ruby-doc.org/core-2.2.3/Module.html#method-i-prepend
-
10:12 AM Feature #11781 (Open): Would it be possible to alias .prepend() towards .unshift() for class Array by default?
- Hello.
For Strings we can do:
abc = 'world!'
abc[0,0] = 'Hello '
abc # => "Hello world!"
For Arrays we can do:
abc = ['world!']
abc[0,0] = 'Hello '
abc # => ["Hello ", "world!"]
This is nice.
... -
10:54 AM Bug #11742: lib/webrick/utils.rb:196:in `register': ERROR RuntimeError: can't add a new key into hash during iteration
- yuzo san が担当者一覧に見つかんなかったので、nahi さんにとりあえず振っておきます。
すみませんが、適切な方に delegate して頂けると。 -
10:51 AM Bug #11718: Constant access on `nil`
- * This is a bug, so that anyone should not rely on this behavior.
* This is a bug, so that this bug should be fixed
* But not critical, so 2.3 can remain this behavior. It should be fix in a future. -
09:15 AM Bug #11780 (Closed): TestIO_Console#test_getpass failed on Solaris
- Solaris 10 にて、TestIO_Console#test_getpass が以下のエラーで失敗します。
~~~
1) Error:
TestIO_Console#test_getpass:
Errno::EINVAL: Invalid argument
/XXXXX/test/io/console/test_io_console.rb:190:in `getpass'
/XXXXX/test/io/console/test_... -
08:52 AM Misc #11770: [PATCH] $KCODEへの代入時にwarningが発生することのテストを追加
- ありがとうございます:)
-
07:26 AM Misc #11770: [PATCH] $KCODEへの代入時にwarningが発生することのテストを追加
- OK.
Matz.
-
07:24 AM Misc #11770: [PATCH] $KCODEへの代入時にwarningが発生することのテストを追加
- ご自分でコミットなさるのがよいのではないでしょうか。
よいですよね>matz
redmineのruby-coreグループには追加したので、その他の手続きお願いします>しばたさん
-
07:52 AM Feature #11734 (Closed): Improved ternary operator
-
07:43 AM Bug #11736: Float(arg) not consistent with documentation
- Document is wrong.
Zack, could you fix it? -
07:33 AM Bug #11740: ObjectSpace.each_object exposes internal metaclasses
- I'll fix it.
-
07:29 AM Feature #11747 (Rejected): "bury" feature, similar to 'dig' but opposite
- It's not clear to generate either Hash, Array, or Struct (or whatever) to bury a value.
So it's better to reject now.
Matz.
-
07:28 AM Bug #11743 (Closed): r52758 以降 config.guess がダウンロードできない
-
07:23 AM Feature #11758: Add keyword assignment syntax
- discuss for 2.4 and later
-
07:08 AM Feature #11761 (Rejected): `Hash#default_set` and `Hash#default_proc_set`
- Use `tap`. Methods with side-effect should be handled with care. Making it chainable has little benefit.
Matz.
-
07:06 AM Bug #11762 (Rejected): Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- I believe `dig` should only ignore nil receiver as its description.
Hiding argument/type error is not a good idea, I think.
Matz.
-
07:03 AM Bug #11765 (Third Party's Issue): Trouble using fiddle to call Fortran from C
-
06:53 AM Bug #11776: dig and custom objects
- Confirmed. ;-)
Matz.
-
06:50 AM Revision e924e657 (git): .gitignore: added cygwin*.def for Cygwin
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:49 AM Misc #11757 (Closed): test_string.rbから不要なコードを削除する
-
05:26 AM Feature #11777: Change NameError#local_variables to return the list of local variables where the method is raised
- It's OK to add. But I think we should mark it as 'internal use' in the reference.
Matz.
-
05:16 AM Feature #11773: Enumerator::Lazy#grep_v
- Agreed. the patch LGTM.
Matz. - 03:12 AM Revision 52439760 (git): * 2015-12-07
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:11 AM Revision b5c0ca49 (git): temporally remove prompt to pass the test
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
12/06/2015
-
09:40 PM Bug #11779 (Feedback): Module#using does not make sense as a method
- 1. it can't be called from another method
2. the receiver must be self
3. since refinements are lexically scoped the self receiver must match the currently open class
#3 is particularly curious
```ruby
module Refinement
refin... -
08:48 PM Feature #11588: Implement structured warnings
- #3 is a big deal IMHO. Having finer-grained control over which warnings are
shown is long overdue.
On Tue, Oct 13, 2015 at 11:25 AM <[email protected]> wrote:
> Issue #11588 has been reported by Daniel Berger.
>
> ------------... -
04:21 AM Feature #11588: Implement structured warnings
- Matz, warnings may not affect control flow, but I've seen enough real world application logs filled with warnings we couldn't control to dispute your assertion that they don't need to be handled by machines. And right now they can't real...
-
02:27 PM Bug #11778 (Closed): recv_io with mode breaks when klass arg is kind of BasicSocket
- Following test show the failure in the second recv_io call.
I was writing additional tests for FD passing when I noticed this.
I'm not sure if BasicSocket.for_fd should do with the mode flag if
we change its arity...
~~~
--- a/t... -
01:18 PM Feature #11664: [PATCH] introduce rb_autoload_value to replace rb_autoload
- [email protected] wrote:
> I don't think there is good enough reason to deprecate `rb_autoload`.
Who uses rb_autoload from C extensions?
It is not performance-critical.
I'd like to make the C API smaller so we can have less to ... -
12:30 PM Feature #11664: [PATCH] introduce rb_autoload_value to replace rb_autoload
- I don't think there is good enough reason to deprecate `rb_autoload`.
-
12:28 PM
Feature #11664 (Closed): [PATCH] introduce rb_autoload_value to replace rb_autoload
- Applied in changeset r52909.
----------
introduce rb_autoload_str to replace rb_autoload
rb_autoload_str may be safer by preventing premature GC. It
can also be more efficient by passing a pre-frozen string that
can be deduped using r... -
12:43 PM Feature #11777: Change NameError#local_variables to return the list of local variables where the method is raised
- Do you want to **add** `NameError#local_variables`?
-
06:15 AM Feature #11777 (Closed): Change NameError#local_variables to return the list of local variables where the method is raised
- Sasada-san and I talked about this briefly a few weeks ago, but I also wanted to let others know about this.
This change will make it possible to pull out the list of local variables where the exception is raised without TracePoint. T... -
12:41 PM Revision 51cb462f (git): test_io_console.rb: wait
- * test/io/console/test_io_console.rb (test_getpass): wait slave
thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 12:28 PM Revision a2e025a7 (git): introduce rb_autoload_str to replace rb_autoload
- rb_autoload_str may be safer by preventing premature GC. It
can also be more efficient by passing a pre-frozen string that
can be deduped using rb_fstring. Common autoload callers (e.g.
rubygems, rdoc) already use string literals as th... -
12:13 PM Revision f534bc2e (git): hash.c: fix rubyspec failure
- * hash.c (env_fetch): yield coerced string.
* hash.c (env_assoc): return coerced string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
11:53 AM Bug #11776: dig and custom objects
- There is already a spec for this behavior though :)
https://github.com/ruby/rubyspec/blob/master/core/hash/dig_spec.rb -
05:18 AM Bug #11776 (Closed): dig and custom objects
- Although currently undocumented and untested, it is possible to `dig` objects of any class that implements `dig`:
class Foo
def dig(x, *)
40 + x
end
end
{hello: Foo.new}.dig(:hello, 2) # => 42
... -
10:04 AM Revision dfe923cd (git): * configure.in: add missing x.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
09:38 AM Revision 80b3529f (git): fix a typo [ci skip]
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
- 09:28 AM Revision 52047a14 (git): * test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): gave up the test
- of binary path info test on Windows because the test had passed
occasionally as the comment said.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 07:22 AM Revision 9fc965ee (git): * test/fileutils/test_fileutils.rb: add debug output to investigate the error that occur at random on Windows CI.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
06:30 AM Revision 1ad0d8ec (git): console.c: prompt to stderr
- * ext/io/console/console.c (console_getpass): print prompt to
stderr when reading from stdin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:25 AM Revision 187de924 (git): console.c: console_getpass
- * ext/io/console/console.c (console_getpass): add IO#getpass
method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:10 AM Bug #11774: OpenSSL::PKey.read produces ArgumentError on invalid passphrases
- Seems that OpenSSL doesn't tell what kind failure happened.
-
05:11 AM Bug #11762: Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- I feel that either `dig` should be safe only against `nil` somewhere in the digging path (a bit like `&.`), or it's should always safe, even when digging through unexpected objects or indices.
Currently:
{a: 'hello'}.dig(:a, :b... -
04:37 AM Bug #11772: Implicit conversion of Array in String interpolation does not call to_str
- ~~~ruby
class A
undef :to_s
def to_str
"hello world"
end
end
"#{A.new}"
#NoMethodError: undefined method `to_s' for #<A:0x00000000dbea70>
"" + A.new
# => "hello world"
~~~
Using `+` to call `to_str` feels like... -
03:13 AM Feature #9451: Refinements and unary & (to_proc)
- Is there any update on this feature? In Ruby 2.2.3 I still run into a problem where the unary & can not be used when the method was added with a refinement, such as the following:
```ruby
module Example
refine String do
def p... -
03:12 AM Revision 33a05904 (git): test_env.rb: escape
- * test/ruby/test_env.rb (TestEnv#test_utf8): escape non-ASCII
string with \u explicitly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
12/05/2015
- 11:41 PM Revision 8f91b46d (git): * 2015-12-06
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
11:40 PM Revision 1f1e3d12 (git): * ext/json/json.gemspec: bump version to json 1.8.3. CRuby already contained
- upstream changes.
https://github.com/ruby/ruby/commit/4d059bf9f5f10f3d3088de49fc87e5555db7770d
https://github.com/flori/json/commit/d4c99de78905d96c3f301f48b2c789943bb3f098
* ext/json/lib/json/version.rb: ditto.
git-svn-id: svn+ssh:... -
07:01 PM Bug #11775 (Closed): Backport r52892 (fix the argument order of ATOMIC_SIZE_CAS)
- このチケットはバックポート管理用です。
r52892 で修正されている InterlockedCompareExchange64() を使った ATOMIC_SIZE_CAS() の修正部分は 2.0.0〜2.2 も同様なのでバックポート必要そうです。 -
04:54 PM Bug #11774 (Third Party's Issue): OpenSSL::PKey.read produces ArgumentError on invalid passphrases
- If we try to read out an RSA encrypted key with an invalid passphrase like so:
```ruby
require 'openssl'
OpenSSL::PKey.read(File.read("#{ENV['HOME']}/.ssh/id_rsa"), 'invalid')
```
We get an argument error:
```
ArgumentError: C... -
04:32 PM Bug #11762: Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- > I think it should return nil in this case.
Anyone else have an opinion? -
04:20 PM Bug #11759: URI breaks with frozen strings
- > Outputs:
> ...
That is more significant than I thought. `''.dup` wins.
> No, we shouldn't worry about performance with older versions of Ruby
> ...
Good to have that confirmed. Then we should definitely leave the magic comment at... -
10:47 AM Misc #11770: [PATCH] $KCODEへの代入時にwarningが発生することのテストを追加
- > 将来的には$KCODEの特別扱いをなしにしたい
$KCODEを削除するという意味でしょうか?
現時点ではwarningがでることをテストしておいてもいいのかなと思っています。
> ...
誤解していました、ありがとうございます。
`test_KCODE_warning`と`test_ignorecase_warning`に分割します。
また細かい修正になりますが、以下のテストの3・4番目のasserttionを`test_ignorecase`に切... -
08:48 AM Revision bf52a8b6 (git): Fix cross build
- * tool/fake.rb: Fix cross build when srcdir is an absolute path.
* Makefile.in: PREP dependency is needed when cross build too, not
"-r$(arch)-fake" to be used before created. [Fix GH-1125]
git-svn-id: svn+ssh://ci.ruby-lang.org/rub... -
08:33 AM Revision 80bedec6 (git): assertions.rb: fallback encoding error
- * test/lib/test/unit/assertions.rb (message): fallback when
outputs from different encoding commands mixed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:26 AM Bug #8822 (Closed): Incorrect encoding for ENV in Windows
- Applied in changeset r52896.
----------
hash.c: env encoding fallback on Windows
* hash.c (env_str_new, env_path_str_new): make default string
UTF-8 for the case conversion is not possible. [Bug #8822]
* hash.c (get_env_cstr): conve... -
08:26 AM Revision 5e3467c4 (git): hash.c: env encoding fallback on Windows
- * hash.c (env_str_new, env_path_str_new): make default string
UTF-8 for the case conversion is not possible. [Bug #8822]
* hash.c (get_env_cstr): convert non-ASCII string to UTF-8 string.
* hash.c (ruby_setenv): use wide char version ... -
07:58 AM Feature #11537 (Closed): Introduce "Safe navigation operator"
- Applied in changeset r52895.
----------
node.c: NODE_QCALL
* node.c (dump_node): dump NODE_QCALL. [Feature #11537]
http://twitter.com/watson1978/status/673042429931446272 -
07:58 AM Revision 613737ee (git): node.c: NODE_QCALL
- * node.c (dump_node): dump NODE_QCALL. [Feature #11537]
http://twitter.com/watson1978/status/673042429931446272
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:33 AM Feature #11773 (Closed): Enumerator::Lazy#grep_v
- `Enumerable#grep_v` was introduced in #11049.
But `Enumerator::Lazy` doesn't have the method.
I've attached a patch that adds `grep_v` to `Enumerator::Lazy`.
-
05:54 AM Bug #11772 (Closed): Implicit conversion of Array in String interpolation does not call to_str
- As (implicitly) requested at ruby-core:71843.
-
05:32 AM Bug #11772: Implicit conversion of Array in String interpolation does not call to_str
- My main point here is that anything that happens within String interpolation is "implicitly" going to be a String. So shouldn't it call `to_str` before `to_s` on anything given?
~~~ruby
class B
def to_str
"Hello from B"
e... -
05:22 AM Bug #11772 (Closed): Implicit conversion of Array in String interpolation does not call to_str
- While providing an example in https://bugs.ruby-lang.org/issues/10930#note-7 I found that the implicit changing of an Array calls to_s without trying to_str first. Isn't String interpolation "implicitly" converting items to strings?
... -
04:53 AM Feature #10930: Allow splat operator to work for string interpolation
- To better demonstrate the pain point here.
~~~ruby
class Example
def method_missing m, *a
puts "Method #{m} called with arguments ", *a
end
end
Example.new.foo :bar, :baz
#Method foo called with arguments
#bar
#baz... -
03:23 AM Bug #9715: ENV data yield ASCII-8BIT encoded strings under Windows with unicode username
- Agreed: although Ruby 2.2 appears to be trying to use locale to determine the encoding for environment vars, it's not producing reasonable results on Windows. (E.g. w32_getenv() in hash.c, and also putenv() in hash.c)
Its current beh... -
02:57 AM Revision b8172ec9 (git): Makefile.in: set CONFIGURE_TTY directly
- * Makefile.in (reconfig-exec-0): set CONFIGURE_TTY without
intermediate variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:56 AM Revision e65f38b9 (git): ruby_atomic.h: fix old value type of ATOMIC_CAS
- * ruby_atomic.h (ATOMIC_CAS): old value to be swapped should be
same as the destination. immediate value may need type
promotion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:25 AM Revision c5d2ef80 (git): ruby_atomic.h: fix the argument order
- * ruby_atomic.h (ATOMIC_SIZE_CAS): fix the argument order of
InterlockedCompareExchange64. new value and then old value is
the last.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:23 AM Revision 4a1b9786 (git): random.c: fix filling size
- * random.c (fill_random_seed): fix the size to be filled, not the
size of element, but the whole size of array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
12/04/2015
-
11:43 PM Feature #11737: Pass in expression to then block in `case expression`
- ~~~ruby
case 4 # __case__ = 4
when 4 # 4 === __case__
puts "Success! #{__case__} is what we wanted!" # __case__ not defined! ... where did it go?
end
~~~ -
11:14 PM Bug #11771: unable to pass keyargs to []=
- Eric Wong wrote:
> Affects back to 2.0 (when keyword args were introduced),
> ...
The problem here is that the []= syntax compiled into a method dispatch where positional value arg is passed last, after keyargs, something you can't eve... -
08:38 PM Bug #11771: unable to pass keyargs to []=
- Affects back to 2.0 (when keyword args were introduced),
so this doesn't seem to be an optimization bug introduced in 2.1/2.2
I'm actually not sure about the specs and if there's some special case
for kwargs interacting with aref/a... -
07:42 PM Bug #11771 (Closed): unable to pass keyargs to []=
- ```ruby
module Foo
def self.[]=(key, val, option: nil)
end
end
Foo[:key] = 1 # ok
Foo[:key, option: 1] = 1 # wrong number of arguments (3 for 2)
```
if you declare the []= params using *
```ruby
module Bar
... - 09:08 PM Revision 1e2a4575 (git): vm.c: make ruby_vm_*_ptr static
- No point in wasting space until we get MVM (if ever).
* vm.c (ruby_vm_verbose_ptr): make static
(ruby_vm_debug_ptr): ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:37 PM Bug #9715: ENV data yield ASCII-8BIT encoded strings under Windows with unicode username
- Dāvis Mosāns wrote:
> looks like same as bug #8822 and seems it's still wrong even with latest Ruby 2.2
Yes, I just ran my own set of tests on the latest 2.2 release and I'm getting #<Encoding:IBM437> for ENV entries despite internal... -
04:27 PM Bug #9715: ENV data yield ASCII-8BIT encoded strings under Windows with unicode username
- looks like same as bug #8822 and seems it's still wrong even with latest Ruby 2.2
-
02:09 PM Bug #9715: ENV data yield ASCII-8BIT encoded strings under Windows with unicode username
- Trying to bump this. Even just some feedback on what an acceptable change would be and I could try to produce a patch.
-
05:28 PM Revision a560f2a4 (git): compile.c: no extra parentheses
- * compile.c (COMPILE_ERROR): remove extra parentheses to enclose
variadic arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:26 PM Revision 650f8905 (git): compile.c: just append compile error message
- * compile.c (append_compile_error, prepare_compile_error): simply
append messages to the same SyntaxError exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e - 03:59 PM Revision d7d265cd (git): * 2015-12-05
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
03:59 PM Revision bc9ac3ab (git): * include/ruby/ruby.h (RB_OBJ_TAINT): follow-up of r52881.
- Turn into void expression not to use unexpected result.
Fix "operands have incompatible types" error with
Oracle Solaris Studio 12.x on Solaris.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52886 b2dd03c8-39d4-4d8f-98ff-823fe6... -
02:31 PM Feature #9713: __FILE__ return unexpected encoding - breaks Dir.glob
- Usaku NAKAMURA wrote:
> What can I say now is that we are planning to use UTF-8 as filesystem encoding on Windows at Ruby 3.0.
That's very promising to hear. I'll keep an eye out for that.
Though, Ruby 3 is quite a bit away, isn't i... -
02:15 PM Feature #9713: __FILE__ return unexpected encoding - breaks Dir.glob
- What can I say now is that we are planning to use UTF-8 as filesystem encoding on Windows at Ruby 3.0.
-
01:35 PM Feature #9713: __FILE__ return unexpected encoding - breaks Dir.glob
- Revisiting this issue again. Is there a resolution to what can be done to improve this and still satisfy compatibility concerns?
- 10:53 AM Revision c949208d (git): * remove trailing spaces.
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
10:52 AM Revision e1f69b39 (git): enc/iso_8859_13.c: Added three missing lower/upper-case
- character pairs (from Kimihito Matsui)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:57 AM Revision dddbd864 (git): enc/iso_8859_4.c: Added missing lower/upper-case character
- pair (U+014A and U+014B, LATIN CAPITAL/SMALL LETTER ENG)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:48 AM Revision cae3905e (git): string.c: should not taint fstring
- * string.c (rb_obj_as_string): fstring should not be infected.
re-apply r52872 and fix a typo.
TODO: other frozen strings also may not be.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:32 AM Revision 7eb6942d (git): ruby.h: make flag setting macros void
- * include/ruby/ruby.h (RB_FL_{SET,UNSET,REVERSE,INFECT,FREEZE}):
turn into void expressions not to use unexpected results. these
macros were statements till 2.2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52881 b2dd03c8-39d4... -
06:21 AM Revision e2cf71a0 (git): * lib/rubygems: Update to RubyGems 2.5.0+ HEAD(fdab4c4).
- this version includes #1396, #1397, #1398, #1399
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:01 AM Misc #11770: [PATCH] $KCODEへの代入時にwarningが発生することのテストを追加
- どちらかと言えば、将来的には`$KCODE`の特別扱いをなしにしたい気持ちがあるので、ちょっと微妙な印象です。
それと、`$=`は`$KCODE`とは別です。 -
02:11 AM Misc #11770 (Closed): [PATCH] $KCODEへの代入時にwarningが発生することのテストを追加
- testケースがなかったので、追加します。
-
05:42 AM Revision e4c15e31 (git): KNOWNBUGS.rb: assertion failure
- * KNOWNBUGS.rb: add test for r52872, assertion failure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:28 AM Feature #11768: Add a polymorphic inline cache
- Aaron Patterson <[email protected]> wrote:
> Probably OT for this list, but do you have sequel installed as a gem?
> If so, can you try running against rubygems master? I've put some
> patches on RubyGems master that *should*... -
03:40 AM Feature #11768: Add a polymorphic inline cache
- Thank you for your patch.
Comments:
Implementation:
* Did you run some big application with your patch? it seems to have a bug. cc->aux also depends on cc->call, so that you need to duplicate the aux field.
* Sliding is one goo... -
03:08 AM Feature #11768: Add a polymorphic inline cache
- On Fri, Dec 04, 2015 at 02:28:57AM +0000, Eric Wong wrote:
> Aaron Patterson <[email protected]> wrote:
> > On Thu, Dec 03, 2015 at 10:51:08PM +0000, Eric Wong wrote:
> > > Perhaps you can simplify the code so the existing mon... -
02:38 AM Feature #11768: Add a polymorphic inline cache
- Aaron Patterson <[email protected]> wrote:
> On Thu, Dec 03, 2015 at 10:51:08PM +0000, Eric Wong wrote:
> > Perhaps you can simplify the code so the existing monomorphic cache is
> > just: POLYMORPHIC_CACHE_SIZE == 1
>
> Ye... -
04:10 AM Revision f2532ab8 (git): Revert r52872 "string.c: should not taint fstring"
- This reverts commit b887c7c20ab81b50ed7cb8c7db3218c443985d6b.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:38 AM Feature #11769: optimize case / when for `nil`
- [email protected] wrote:
> I've attached a patch that adds `nil` to the optimized case such that
> the above code will use `opt_case_dispatch`. My patch defines `===`
> on `nil`, then adds nil to the list of "optimizable lite... - 02:23 AM Revision 8068925a (git): * 2015-12-04
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:22 AM Revision 0ada28f9 (git): thread.c: name must be ascii-compatible
- * thread.c (rb_thread_setname): name must be ascii-compatible, as
pthread APIs do not accept legacy wide char strings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:56 AM Bug #11767: Range#to_s and Range#inspect are not infected by the receiver
- ruby_2_1 r52875 merged revision(s) 52868.
- 01:56 AM Revision 0399a3d4 (git): merge revision(s) 52868: [Backport #11767]
- * range.c (range_to_s): should be infected by the receiver.
str2 infects by appending. [ruby-core:71811] [Bug #11767]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:08 AM Feature #11664: [PATCH] introduce rb_autoload_value to replace rb_autoload
- Eric Wong <[email protected]> wrote:
> [email protected] wrote:
> > We used to append `_str` in many cases, IIRC.
>
> So rename rb_autoload_value => rb_autoload_str?
Did that, I'd like to commit the following, soon:
http...
12/03/2015
-
11:58 PM Feature #11768: Add a polymorphic inline cache
- On Thu, Dec 03, 2015 at 10:51:08PM +0000, Eric Wong wrote:
> [email protected] wrote:
> > I haven't run every benchmark that's checked in, but this patch speeds
> > up the polymorphic call benchmark by about 20%.
>
> Nice!
... -
10:58 PM Feature #11768: Add a polymorphic inline cache
- [email protected] wrote:
> I haven't run every benchmark that's checked in, but this patch speeds
> up the polymorphic call benchmark by about 20%.
Nice!
> The down side of this patch is that it increases memory usage bec... -
07:25 PM Feature #11768 (Closed): Add a polymorphic inline cache
- Hi,
I've attached a patch that adds a PIC to the existing Mono IC struct.
I haven't run every benchmark that's checked in, but this patch speeds up the polymorphic call benchmark by about 20%. Here is the benchmark *before* my pat... -
11:48 PM Bug #11759: URI breaks with frozen strings
- [email protected] wrote:
> Compared to the surrounding code in the full method, would the extra
> ...
64 bytes on ruby 2.3.0dev (2015-12-03 trunk 52872) [x86_64-linux].
~~~ruby
require 'objspace'
iseq = RubyVM::InstructionSequence
... -
05:20 AM Bug #11759: URI breaks with frozen strings
- > Yes, but I prefer to avoid String.new because the constant lookup
> ...
Compared to the surrounding code in the full method, would the extra constant lookup make a measurable difference in code size?
> But maybe String.new is sligh... -
09:43 PM Feature #11769 (Closed): optimize case / when for `nil`
- Hi,
I've noticed that when there are certain values in a case / when statement it gets optimized to a hash lookup. For example, code like this:
~~~
def foo socket
case str = socket.read_nonblock(10, exception: false)
when :... -
07:55 PM Bug #11766: sprintf formatting Rationals as floats produces garbage
- Backported into `ruby_2_2` branch at r52874.
-
06:33 AM Bug #11766 (Closed): sprintf formatting Rationals as floats produces garbage
- Applied in changeset r52869.
----------
sprintf.c: fix garbage inserted with Rational
* sprintf.c (rb_str_format): fix wrong shifting position in
Rational conversion when not at the beginning of the result.
[ruby-core:71806] [Bug #... -
12:43 AM Bug #11766: sprintf formatting Rationals as floats produces garbage
- Another case:
~~~
"ABC%8.1fDEF" % [1r]
~~~
Expected:
~~~
"ABC 1.0DEF"
~~~
Actual result:
~~~
"ABC \u0000\u0000\u0000DEF"
~~~ -
12:39 AM Bug #11766 (Closed): sprintf formatting Rationals as floats produces garbage
- Test case:
~~~
"%8.1f %8.1f" % [1r, 1r]
~~~
Expected:
~~~
" 1.0 1.0"
~~~
Actual result:
~~~
" \u0000\u0000\u0000"
~~~
-
07:55 PM Revision f50d0b98 (git): merge revision(s) 52869: [Backport #11766]
- * sprintf.c (rb_str_format): fix wrong shifting position in
Rational conversion when not at the beginning of the result.
[ruby-core:71806] [Bug #11766]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@5... -
05:57 PM Bug #11767: Range#to_s and Range#inspect are not infected by the receiver
- Backported into `ruby_2_2` branch at r52873.
-
05:22 AM Bug #11767 (Closed): Range#to_s and Range#inspect are not infected by the receiver
- Applied in changeset r52868.
----------
range.c: infected by the receiver
* range.c (range_to_s): should be infected by the receiver.
str2 infects by appending. [ruby-core:71811] [Bug #11767] -
04:16 AM Bug #11767 (Closed): Range#to_s and Range#inspect are not infected by the receiver
- In general, `to_s` and `inspect` on a tainted object should result a tainted string.
`Range` seems the only exception.
## code
~~~ruby
p ("0".taint.."1").to_s.tainted?
p ("0".."1".taint).to_s.tainted?
p ("0".."1").taint.to_s.tain... -
05:56 PM Revision c35409c2 (git): merge revision(s) 52868: [Backport #11767]
- * range.c (range_to_s): should be infected by the receiver.
str2 infects by appending. [ruby-core:71811] [Bug #11767]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@52873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:02 AM Revision b887c7c2 (git): string.c: should not taint fstring
- * string.c (rb_obj_as_string): fstring should not be infected.
TODO: other frozen strings also may not be.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:39 AM Revision e2977fc8 (git): * lib/scanf.rb: fixed double words typo.
- [ci skip][fix GH-1123] Patch by @jwworth
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:38 AM Revision e1d28384 (git): * test/ruby/test_mixed_unicode_escapes.rb: fixed typo.
- [fix GH-1122] Patch by @davydovanton
* test/ruby/test_object.rb: ditto.
* test/socket/test_tcp.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:33 AM Revision 77e9edc3 (git): sprintf.c: fix garbage inserted with Rational
- * sprintf.c (rb_str_format): fix wrong shifting position in
Rational conversion when not at the beginning of the result.
[ruby-core:71806] [Bug #11766]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52869 b2dd03c8-39d4-4d8f-98ff-... -
05:22 AM Revision f7fb4e00 (git): range.c: infected by the receiver
- * range.c (range_to_s): should be infected by the receiver.
str2 infects by appending. [ruby-core:71811] [Bug #11767]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
04:08 AM Feature #11607: [PATCH] fiddle: release GVL for ffi_call
- [email protected] wrote:
> After r52723, SEGV occurred during Fiddle::TestFunc#test_qsort1 test/fiddle/test_func.rb:83 on Solaris 10 i386 on RubyCI.
>
http://rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20151123T224815Z.fa... -
03:14 AM Feature #11607: [PATCH] fiddle: release GVL for ffi_call
- After r52723, SEGV occurred during Fiddle::TestFunc#test_qsort1 test/fiddle/test_func.rb:83 on Solaris 10 i386 on RubyCI.
(r52725) http://rubyci.s3.amazonaws.com/unstable10x/ruby-trunk/log/20151123T224815Z.fail.html.gz
Because this... -
04:07 AM Feature #11737: Pass in expression to then block in `case expression`
- Nobuyoshi Nakada wrote:
> It reminded me a rejected proposal:
> ...
Is the proposal [ ruby-dev:17615 ] ?
Or other? - 02:57 AM Revision 1c7f7579 (git): * 2015-12-03
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
02:57 AM Revision dfe27428 (git): configure.in: split SET_THREAD_NAME
- * configure.in: separate SET_CURRENT_THREAD_NAME, which can set
the name of current thread only, and SET_ANOTHER_THREAD_NAME,
which can set the name of other threads.
* thread.c (rb_thread_setname): use SET_ANOTHER_THREAD_NAME. OS X...
12/02/2015
-
11:36 PM Feature #11747: "bury" feature, similar to 'dig' but opposite
- Tsuyoshi Sawada wrote:
> > inferred from the what the user is passing (such as a symbol or string for a hash or an integer for an array)
> ...
I agree. I should clarify that I was assuming the class of the receiver (`data`) was known ... -
09:38 PM Bug #11759: URI breaks with frozen strings
- [email protected] wrote:
> Isn't it sufficient to initialize the string buffer with String.new?
Yes, but I prefer to avoid String.new because the constant lookup
requires an inline cache lookup + storage entry in the iseq.
Here's ... -
07:11 AM Bug #11759: URI breaks with frozen strings
- Isn't it sufficient to initialize the string buffer with String.new?
I've attached a patch that also includes the magic comment to indicate that this file has been converted.
-
04:10 AM Bug #11759: URI breaks with frozen strings
- Don't mix optimization and incompatible change.
Incompatible change should be separated to another feature ticket.
Don't assume global "mode" for frozen-string-literal: true/false.
This comment is specified for each file.
So, what ... -
03:56 AM Bug #11759: URI breaks with frozen strings
- Hey Eric, thanks for the alternative! I was under the impression that we should assume strings to be frozen in this mode but if that's not the case I'd be happy to update the attached patch.
-
01:48 AM Bug #11759: URI breaks with frozen strings
- Hi David, a new problem is to_s now returns a frozen string.
This has the potential to break many existing callers of to_s.
Perhaps the following (untested) one-liner is enough?
~~~patch
--- a/lib/uri/generic.rb
+++ b/lib/uri/ge... -
01:30 AM Bug #11759: URI breaks with frozen strings
- I just realized that the patch contained many cosmetic updates, so I reverted them to maintain the existing style. Sorry about that.
-
01:18 AM Bug #11759: URI breaks with frozen strings
- I've attached a patch you can try out. It will avoid string mutation in URI#to_s, though I'm not sure it's optimal to generate so many new strings in this way. I'm happy to edit as necessary.
-
12:01 AM Bug #11759 (Closed): URI breaks with frozen strings
- It appears URI uses String mutation and breaks frozen string mode.
~~~
$ RUBYOPT="--enable-frozen-string-literal" bundle exec rake
/Users/mike/.rubies/ruby-2.3.0-preview1/lib/ruby/2.3.0/uri/generic.rb:1344:in `to_s': can't modify fr... -
08:35 PM Bug #11765: Trouble using fiddle to call Fortran from C
Found a bug in my Fortran file, it works now.-
08:11 PM Bug #11765 (Third Party's Issue): Trouble using fiddle to call Fortran from C
Hi, I tried to transfer my project from Mac to Linux, but have trouble to use fiddle to call
the dynamic library which I generated using same Fortran and C codes I used in Mac. I used same
version of Ruby both in Mac and Linux. To na...-
01:58 PM Revision 2962b6e0 (git): * vm_core.h, iseq.h: remove rb_iseq_t::variable_body.
- Fields in rb_iseq_t::variable_body are contained by
rb_iseq_t::body::mark_ary (hidden Array object).
Index 0 to 2 of mark_ary are reserved by these objects.
* iseq.c: catch up this fix.
* compile.c (rb_iseq_original_iseq): trivial... -
09:47 AM Feature #11761: `Hash#default_set` and `Hash#default_proc_set`
- Resetting the default value/proc for a Hash multiple times seems a rather special case, could you illustrate why you want to do this?
Hash#merge is not affected by the default values, isn't it?
If it's more like Python setdefault, ... -
06:55 AM Feature #11761: `Hash#default_set` and `Hash#default_proc_set`
- `Kernel#tap` has been added for such purpose, I think.
-
06:48 AM Feature #11761: `Hash#default_set` and `Hash#default_proc_set`
- Or, perhaps there should be just one method `Hash#default_set` that can take either an argument or a block:
h.default_set(default_value)...
h.default_set{default_proc_value}... -
06:34 AM Feature #11761 (Rejected): `Hash#default_set` and `Hash#default_proc_set`
- I often want to assign a default value or proc to an existing hash `h` and chain method after it. The way I do it is:
Hash.new(default_value).merge(h)...
Hash.new{default_proc_value}.merge(h)...
It would be convenient if I... -
09:17 AM Revision afd564ee (git): thread.c: rb_thread_setname on OS X
- * thread.c (rb_thread_setname): pthread_setname_np() on OS X takes
the name only and sets the current thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
09:17 AM Revision bc6e31ee (git): missing.h: __STDC_WANT_LIB_EXT1__
- * include/ruby/missing.h: get rid of redefinition of
__STDC_WANT_LIB_EXT1__.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:20 AM Revision cfd1157f (git): * iseq.h: introduce ISEQ_ORIGINAL_ISEQ() and
- ISEQ_ORIGINAL_ISEQ_ALLOC() macro.
* compile.c: use them to access original iseq buffer.
* iseq.c: ditto.
* vm_core.h: rename iseq field to support this fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52862 b2dd03c8-39d4-4d8... -
08:11 AM Revision a9c0cf4f (git): * iseq.h: introduce ISEQ_FLIP_CNT_INCREMENT() macro.
- * compile.c (iseq_compile_each): use it.
* vm_core.h: rename flip_cnt field to support this fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
08:05 AM Revision 417240b7 (git): * iseq.h: introduce ISEQ_COVERAGE() and ISEQ_COVERAGE_SET() macro.
- * compile.c: use them.
* iseq.c: ditto.
* iseq.c (rb_iseq_coverage): added.
* thread.c (update_coverage): use rb_iseq_coverage().
* vm_core.h: rename coverage field name to support this fix.
git-svn-id: svn+ssh://ci.ruby-lang.org... -
08:00 AM Revision e86f66b3 (git): encoding.c: make fstring
- * encoding.c (enc_name, rb_enc_name_list_i, rb_enc_aliases_enc_i):
make fstring instead of making each copies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:52 AM Bug #11764 (Closed): ext/tk/lib/multi-tk.rb: fix three typos.
- * ext/tk/lib/multi-tk.rb: fix three typos.
-
07:52 AM Revision 7afefea5 (git): * iseq.h: introduce ISEQ_COMPILE_DATA() macro.
- * compile.c, iseq.c: use ISEQ_COMPILE_DATA().
* vm_core.h: rename compile_data field to support this fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:38 AM Bug #11763 (Closed): gc.c: fix two typos.
- * gc.c: fix two typos.
-
07:38 AM Bug #11762 (Closed): Array#dig can raise TypeError: no implicit conversion of Symbol/String into Integer
- If you try to `dig` in an Array using a symbol or string, a `TypeError` exception will be raised:
irb> ['zero', 'one', 'two'].dig(:first)
TypeError: no implicit conversion of Symbol into Integer
from (irb):1:in `dig'
from (... -
07:31 AM Revision e917af64 (git): compile.c: fix the element
- * compile.c (iseq_set_sequence): fix the element for line number
to rb_compile_bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
07:27 AM Bug #11760 (Closed): Encoding is tainted unexpectedly by Marshal.load
- Applied in changeset r52856.
----------
encoding.c: defer finding encoding
* encoding.c (enc_m_loader): defer finding encoding object not to
be infected by marshal source. [ruby-core:71793] [Bug #11760]
* marshal.c (r_object0): enab... -
06:26 AM Bug #11760 (Closed): Encoding is tainted unexpectedly by Marshal.load
- By `Marshal.load`ing tainted source, `Encoding` object will be tainted.
## code to reproduce
~~~ruby
e = Encoding::UTF_8
p e.tainted?
p e == Marshal.load(Marshal.dump(e).taint)
p e.tainted?
~~~
## expected results
`false`, `... -
07:27 AM Revision 2a66cc55 (git): encoding.c: defer finding encoding
- * encoding.c (enc_m_loader): defer finding encoding object not to
be infected by marshal source. [ruby-core:71793] [Bug #11760]
* marshal.c (r_object0): enable compatible loader on USERDEF
class. the loader function is called with ... -
06:50 AM Revision a497ed37 (git): marshal.c: lookup and remove
- * marshal.c (r_fixup_compat): delete compatible object with
lookup.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:48 AM Revision 4bef8cff (git): encoding.c: use rb_check_arity
- * encoding.c (enc_dump): use rb_check_arity to just check number
of arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
06:14 AM Bug #11751: allow --with-libedit to work when a path is specified
- ruby_2_1 r52853 merged revision(s) 52795.
- 06:14 AM Revision 1745d258 (git): merge revision(s) 52795: [Backport #11751]
- * ext/readline/extconf.rb: call dir_config("libedit")
if --enable-libedit is spcified. [Bug #11751]
patched by John Hein
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52853 b2dd03c8-39d4-4d8f-98ff-82... -
06:13 AM Bug #11698 (Closed): Fix a bad double-negative comment
- Applied in changeset r52852.
----------
* configure.in: Fixed double negative comments.
[Bug #11698][ruby-core:71506] -
06:12 AM Revision bf072364 (git): * configure.in: Fixed double negative comments.
- [Bug #11698][ruby-core:71506]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
05:56 AM Revision b875b1c3 (git): * test/ruby/test_string.rb: removed non executing tests.
- [Misc #11757][ruby-dev:49397]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:40 AM Revision b14f4209 (git): csv.rb: fix encoding
- * lib/csv.rb: encoding must be plased at the first line except for
shebang. [fix GH-1116]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:36 AM Revision 97fe4014 (git): explicit_bzero.c: fix typos
- * missing/explicit_bzero.c (explicit_bzero): fix typos, probably.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
02:28 AM Feature #11339: [PATCH] io.c: avoid kwarg parsing in C API
- [email protected] wrote:
> https://bugs.ruby-lang.org/issues/11339
For OpenSSL connect_nonblock/accept_nonblock, it seems to be not worth
the effort for a 1% improvement given the overheads of various parts of
OpenSSL. But I'... -
02:23 AM Revision aed0db8b (git): * lib/csv.rb: enable frozen_string_literal.
- [fix GH-1116] Patch by @marshall-lee
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:50 AM Revision 4a7dedf7 (git): missing.h: __STDC_WANT_LIB_EXT1__
- * include/ruby/missing.h: __STDC_WANT_LIB_EXT1__ is necessary for
memset_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:36 AM Revision d1decf0d (git): * ext/bigdecimal/bigdecimal.c: Fix double word typo.
- [ci skip][fix GH-1120] Patch by @jwworth
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:55 AM Revision 9849555a (git): explicit_bzero.c: fix comments
- * missing/explicit_bzero.c: fix comments. Microsoft Visual Studio
does not provide memset_s() in 12.0 at least.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:45 AM Revision 0167fc15 (git): string.c: adjust argument qualifier
- * string.c (str_make_independent_expand): adjust argument
qualifier to get rid of a VC bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
12:03 AM Revision bb5bd52a (git): undef for tha case missing.h defines it as macro
- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e