It's typically not a support option.
[ci skip][fix GH-990] Patch by @eam
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
CREFs should not be shared by methods between `using'.
[Bug #11247]
* vm_insnhelper.c (vm_cref_replace_with_duplicated_cref): ditto.
* vm.c (vm_cref_dup): should copy refinements correctly.
* eval.c: use rb_vm_cref_replace_with_duplicated_cref().
* eval_intern.h: add a decl. of
rb_vm_cref_replace_with_duplicated_cref().
* vm_eval.c (eval_string_with_cref): do not need to pass
scope's CREF because VM can find out CREF from stack frames.
* test/ruby/test_refinement.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This improves method detection for Ruby source files;
making output of "git diff" and "git log -p -W" more
readable for git users looking at our Ruby code.
git will automatically notice this file and start using
it when generating diff output.
See the gitattributes(5) manpage for more details.
Ruby pattern definitions reside in userdiff.c of the
git sources at git://git.kernel.org/pub/scm/git/git.git
* .gitattributes: new file for git users
[ruby-core:71578] [Feature #11713]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
buffer fullness is more robust to detect the message is too big for
the buffer.
AIX 7.1 recvmsg doesn't set MSG_TRUNC for rflags when MSG_PEEK is
given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
even if it is GC.disable'd.
* test/ruby/test_gc.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c (ruby_prog_init): [DOC] ARGV does not contain the name of
the executable. [ruby-core:71561] [Bug #11711]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
this version includes #1114, #1314, #1322, #1375, #1383, #1387
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c (process_options): set instruction compilation options at
once, and set disabled options to false explicitly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_tailcall_optimize): apply tail call optimization
before conversion to specialized instructions. when looking
back from `leave` instruction, `send` instructions have been
translated already.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because POSIX platforms just do so. fixes test errors revealed by
r52647.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nil on Solaris 10 which have no HAVE_STRUCT_MSGHDR_MSG_CONTROL.
Reported by Naohisa Goto. [ruby-core:71557] [Bug #11709]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RCLASS_CALLABLE_M_TBLs of all sub-classes (T_ICLASS).
RCLASS_CALLABLE_M_TBL() caches complemented method entries.
It should be cleared when the modules are cleared.
On previous version clears only for direct children.
It is enough for normal modules because corresponding T_ICLASSes
are direct children.
However, refinements create complex data structure. So that
we need to clear all children (and descendants).
[ruby-core:71423] [Bug #11672]
* vm_method.c (rb_clear_method_cache_by_class): rb_mKernel
doesn't call rb_class_clear_method_cache, so that
clear child T_ICLASSes.
* test/ruby/test_refinement.rb: enable disabled test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RCLASS_CALLABLE_M_TBL() instead of accessing a filed directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rb_method_definition_t::complemented_count to count shared method
entries because of complemented method entries and separate from
alias_count.
Shared `def' only by complemented method entries should not prevent
method re-definition warning.
* METHOD_ENTRY_COMPLEMENTED(me) to represent complemented method entry.
* METHOD_ENTRY_COMPLEMENTED_SET(me) to check it as complemented me.
* vm_insnhelper.c (aliased_callable_method_entry): should also
check me->def->complemented_count.
* vm_method.c (method_definition_addref_complement): add to count
complemented method entries number.
* vm_method.c (rb_method_definition_release): release `def' iff
alias_count == 0 and complemented_count == 0.
* test/ruby/test_module.rb: add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_peephole_optimize): eliminate always/never
branches after a literal object. this sequence typically
appears by defined? operator for a method call on a local
variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_peephole_optimize): check element type before
checking insn_id which is valid only for INSN elements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
when EMSGSIZE occurs on non HAVE_STRUCT_MSGHDR_MSG_CONTROL platforms
(such as, Windows). fixes a test error revealed by r52625.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/ancdata.c (bsock_recvmsg_internal): use 4096 as
default size to match pre-r52610, which also maps to a common
page size.
Oops; absolutely no idea why I made this typo...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
recent changes.
[ci skip] [ruby-core:71466] [Misc #11681] Patch by James Adam
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: add additional flag variable descriptions, which
are appended to common flags, e.g., CFLAGS, CPPFLAGS, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e