Граф коммитов

22024 Коммитов

Автор SHA1 Сообщение Дата
ko1 e213a7228f * gc.c (rb_node_newnode): use newobj_of() instead of rb_newobj().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 18:07:12 +00:00
nobu 0f3206c65b * ChangeLog: revert the line accidentally removed at r40763.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 17:37:55 +00:00
akr a84c2941c2 * ext/socket/depend: Add a dependency for ifaddr.o.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 17:04:03 +00:00
nobu fa827c8b5a common.mk, Makefile.sub: fix build failure on mswin
* common.mk (verconf.h): $< cannot be used in explicit rules with
  nmake.
* win32/Makefile.sub (CONFIG_H): create verconf.in instead of
  verconf.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 16:44:55 +00:00
tenderlove 4616913dc5 * ext/psych/lib/psych/visitors/yaml_tree.rb: only emit warnings when
-w is enabled.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 16:25:39 +00:00
nobu 85ed9ca7e0 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 10:31:05 +00:00
ko1 f1ccdf98ca * gc.c (newobj): rename to `newobj_of' and accept additional
three parameters v1, v2, v3. newobj_of() do OBJSETUP() and
  fill values with v1, v2, v3.
* gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):
  use newobj_of().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 10:26:22 +00:00
nobu 1ad7cbbf64 configure.in: move RUBY_PLATFORM to config.h
* configure.in (RUBY_PLATFORM): move to config.h as needed by
  version.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 08:56:28 +00:00
ko1 4a9ec30601 * gc.c: add an additional RGENGC_PROFILE mode (2).
Profiling result can be check by GC.stat.
* gc.c (type_name): separate from obj_type_name().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 08:07:30 +00:00
nobu b38e3f953c configure.in: shvar_to_cpp in ruby
* configure.in: save configured load path values into verconf.in.
* common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb.
* tool/shvar_to_cpp.rb: turn shell variables into C macros.
  [Bug #7959]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 07:58:28 +00:00
nobu 57531305bc loadpath.c: split
* loadpath.c: split load path staffs from version.c.
* dmyloadpath.c: miniruby has no builtin load paths, so verconf.h is
  not needed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 07:56:39 +00:00
tenderlove 3f51cff4f9 * ext/psych/lib/psych/visitors/yaml_tree.rb: adding backwards
compatible YAMLTree.new method

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 18:57:23 +00:00
nagachika 9ecdb32144 * ChangeLog: remove incorret lines of r40668.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 18:28:13 +00:00
tenderlove 7ceafcbdf5 * ext/psych/lib/psych.rb: Adding Psych.safe_load for loading a user
defined, restricted subset of Ruby object types.
* ext/psych/lib/psych/class_loader.rb: A class loader for
  encapsulating the logic for which objects are allowed to be
  deserialized.
* ext/psych/lib/psych/deprecated.rb: Changes to use the class loader
* ext/psych/lib/psych/exception.rb: ditto
* ext/psych/lib/psych/json/stream.rb: ditto
* ext/psych/lib/psych/nodes/node.rb: ditto
* ext/psych/lib/psych/scalar_scanner.rb: ditto
* ext/psych/lib/psych/stream.rb: ditto
* ext/psych/lib/psych/streaming.rb: ditto
* ext/psych/lib/psych/visitors/json_tree.rb: ditto
* ext/psych/lib/psych/visitors/to_ruby.rb: ditto
* ext/psych/lib/psych/visitors/yaml_tree.rb: ditto
* ext/psych/psych_to_ruby.c: ditto
* test/psych/helper.rb: ditto
* test/psych/test_safe_load.rb: tests for restricted subset.
* test/psych/test_scalar_scanner.rb: ditto
* test/psych/visitors/test_to_ruby.rb: ditto
* test/psych/visitors/test_yaml_tree.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 17:26:41 +00:00
tenderlove d7f06a665c * test/psych/helper.rb: envutil is not available outside Ruby, so
port the functions from envutil to the test helper.

* test/psych/test_deprecated.rb: ditto

* test/psych/test_encoding.rb: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 17:07:51 +00:00
usa a6df3a98ab * ChangeLog: typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 15:53:31 +00:00
usa ccf07bde23 * signal.c: need to include unistd.h for write(2).
unistd.h is now included via ruby/defines.h, but should implicitly
  include here.  (suggested by kosaki)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 15:44:14 +00:00
akr 1e5a64261f * ext/socket/.document: Add ifaddr.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 14:48:00 +00:00
nobu 5ec5c6d52c socket: fix build error and warnings on mingw
* ext/socket/extconf.rb: check for if_nametoindex() for
  i686-w64-mingw32, and check for declarations of if_indextoname() and
  if_nametoindex().
* ext/socket/ifaddr.c (ifaddr_ifindex): not-implement unless
  if_nametoindex() is available.
* ext/socket/rubysocket.h: declare if_indextoname() and
  if_nametoindex() if available but not declared.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 14:24:42 +00:00
nagachika c7d7ff45f1 * ext/dl/lib/dl/func.rb (DL::Function#call): check tainted when
$SAFE > 0.
* ext/fiddle/function.c (function_call): check tainted when $SAFE > 0.
* test/fiddle/test_func.rb (module Fiddle): add test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 11:06:58 +00:00
kazu 912c16db3d fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 09:15:33 +00:00
nobu f83c42d970 win32.h: fix for VC9
* include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): split
  from intptr_t and uintptr_t, since VC9 defines the latters only in
  crtdefs.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 05:52:06 +00:00
usa 77753bd9ec * win32/win32.c (NET_LUID): mingw may have NET_LUID and not defined
_IFDEF_.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 03:22:06 +00:00
nobu bb5212d395 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 01:54:48 +00:00
kazu b4d0f63529 fix a typo and remove "file (func):" only duplicated of upper entry
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-14 00:37:39 +00:00
ko1 f254b689f2 * string.c (rb_str_new_frozen): remove debug print.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:34:10 +00:00
ko1 b8c0ff86d5 * include/ruby/ruby.h: enable to generate write barrier protected
arrays (T_ARRAY).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:23:35 +00:00
ko1 5016b37ae4 * include/ruby/ruby.h: enable to generate write barrier protected
objects (T_STRING).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:22:17 +00:00
ko1 305382bd69 * include/ruby/ruby.h: enable to generate write barrier protected
objects (T_OBJECT).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:21:32 +00:00
ko1 1829147fb5 * include/ruby/ruby.h: enable to generate write barrier protected
objects for numeric types (Float, Complex, Rational, Bignum).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:19:30 +00:00
ko1 9b6b3672cc * include/ruby/ruby.h: enable RGENGC (USE_RGENGC)
but no type creates write protected (sunny) objects
  (RGENGC_WB_PROTECTED_* == 0).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:14:01 +00:00
ko1 4f401816ff * gc.c: support RGENGC. [ruby-trunk - Feature #8339]
See this ticet about RGENGC.
* gc.c: Add several flags:
* RGENGC_DEBUG: if >0, then prints debug information.
* RGENGC_CHECK_MODE: if >0, add assertions.
* RGENGC_PROFILE: if >0, add profiling features.
  check GC.stat and GC::Profiler.
* include/ruby/ruby.h: disable RGENGC by default (USE_RGENGC == 0).
* array.c: add write barriers for T_ARRAY and generate sunny objects.
* include/ruby/ruby.h (RARRAY_PTR_USE): added. Use this macro if
  you want to access raw pointers. If you modify the contents which
  pointer pointed, then you need to care write barrier.
* bignum.c, marshal.c, random.c: generate T_BIGNUM sunny objects.
* complex.c, include/ruby/ruby.h: add write barriers for T_COMPLEX
  and generate sunny objects.
* rational.c (nurat_s_new_internal), include/ruby/ruby.h: add write
  barriers for T_RATIONAL and generate sunny objects.
* internal.h: add write barriers for RBasic::klass.
* numeric.c (rb_float_new_in_heap): generate sunny T_FLOAT objects.
* object.c (rb_class_allocate_instance), range.c:
  generate sunny T_OBJECT objects.
* string.c: add write barriers for T_STRING and generate sunny objects.
* variable.c: add write barriers for ivars.
* vm_insnhelper.c (vm_setivar): ditto.
* include/ruby/ruby.h, debug.c: use two flags
  FL_WB_PROTECTED and FL_OLDGEN.
* node.h (NODE_FL_CREF_PUSHED_BY_EVAL, NODE_FL_CREF_OMOD_SHARED):
  move flag bits.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 18:07:47 +00:00
ko1 7958c71ee5 * gc.c: remove rb_objspace_t::marked_num.
We can use `objspace_live_num()' instead of removed `marked_num'
  if it is after `after_gc_sweep()' function call.
* gc.c (after_gc_sweep): use objspace_live_num() instead of removed
  rb_objspace_t::marked_num.
* gc.c (gc_mark_ptr, gc_marks): remove rb_objspace_t::marked_num code.
* gc.c (gc_prepare_free_objects): do not call set_heaps_increment()
  with checking objspace->heap.marked_num. At this point, we only
  need to check availability of free-cell.
* gc.c (gc_prepare_free_objects):
* gc.c (lazy_sweep): call after_gc_sweep() if there are no sweep_able entry.
* gc.c (rest_sweep, gc_prepare_free_objects): remove after_gc_sweep() call.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 17:02:50 +00:00
ko1 b597df707e * gc.c: disable GC_PROFILE_MORE_DETAIL (fix last commit).
* gc.c (gc_prof_set_malloc_info): fix "objspace->heap.live_num" to
  "objspace_live_num(objspace)". There is no such member variable.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 16:52:49 +00:00
ko1 7d0a90e9b4 * gc.c: refactoring GC::Profiler.
* gc.c (gc_prof_sweep_timer_start/stop): removed because
  they doesn't support lazy sweep.
* gc.c (gc_prof_sweep_slot_timer_start/stop): added.
  redefine `sweeping time' to accumulated time of all of
  slot_sweep().
* gc.c (rb_objspace_t::profile::count): renamed to
  rb_objspace_t::profile::next_index. `counter' seems ambiguous.
  increment it when next record is acquired.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 16:34:25 +00:00
ko1 89e6910f04 * include/ruby/ruby.h: constify RRational::(num,den) and
RComplex::(real,imag).
  Add macro to set these values:
* RRATIONAL_SET_NUM()
* RRATIONAL_SET_DEN()
* RCOMPLEX_SET_REAL()
* RCOMPLEX_SET_IMAG()
  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
  TODO: API design. RRATIONAL_SET(rat,num,den) is enough?
  TODO: Setting constify variable with cast has same issue of r40691.
* complex.c, rational.c: use above macros.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 15:55:09 +00:00
kazu b86ebc1fd4 fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 13:39:21 +00:00
akr 2ad4c65b54 * ext/socket/extconf.rb: Check socketpair again.
It is required on Unix.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 12:51:38 +00:00
usa dd4687313c * win32/win32.c (getipaddrs): use alternamtive interface name if
available, because if_nametoindex() requires them.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 12:21:53 +00:00
usa cb3fcdcdc3 * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]
emulate getipaddrs(3) on Unix.

* win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above
  function.

* include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't
  substitute for any function, so use non-prefixed name.

* ext/socket/extconf.rb (socketpair); follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 11:29:32 +00:00
ko1 f1eadb0fb4 * iseq.c (prepare_iseq_build): remove additional line braek.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 11:11:53 +00:00
ko1 83aba04862 * include/ruby/ruby.h: constify RBasic::klass and add
RBASIC_CLASS(obj) macro which returns a class of `obj'.
  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].
* object.c: add new function rb_obj_reveal().
  This function reveal interal (hidden) object by rb_obj_hide().
  Note that do not change class before and after hiding.
  Only permitted example is:
  klass = RBASIC_CLASS(obj);
  rb_obj_hide(obj);
  ....
  rb_obj_reveal(obj, klass);
  TODO: API design. rb_obj_reveal() should be replaced with others.
  TODO: modify constified variables using cast may be harmful for
  compiler's analysis and optimizaton.
  Any idea to prohibt inserting RBasic::klass directly?
  If rename RBasic::klass and force to use RBASIC_CLASS(obj),
  then all codes such as `RBASIC(obj)->klass' will be
  compilation error. Is it acceptable? (We have similar
  experience at Ruby 1.9,
  for example "RARRAY(ary)->ptr" to "RARRAY_PTR(ary)".
* internal.h: add some macros.
* RBASIC_CLEAR_CLASS(obj) clear RBasic::klass to make it internal
  object.
* RBASIC_SET_CLASS(obj, cls) set RBasic::klass.
* RBASIC_SET_CLASS_RAW(obj, cls) same as RBASIC_SET_CLASS
  without write barrier (planned).
* RCLASS_SET_SUPER(a, b) set super class of a.
* array.c, class.c, compile.c, encoding.c, enum.c, error.c, eval.c,
  file.c, gc.c, hash.c, io.c, iseq.c, marshal.c, object.c,
  parse.y, proc.c, process.c, random.c, ruby.c, sprintf.c,
  string.c, thread.c, transcode.c, vm.c, vm_eval.c, win32/file.c:
  Use above macros and functions to access RBasic::klass.
* ext/coverage/coverage.c, ext/readline/readline.c,
  ext/socket/ancdata.c, ext/socket/init.c,
* ext/zlib/zlib.c: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 10:49:11 +00:00
ko1 aacd771046 * *.c, parse.y, insns.def: use RARRAY_AREF/ASET macro
instead of using RARRAY_PTR().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 09:56:22 +00:00
ko1 12bf73637b * include/ruby/ruby.h: add new utility macros to access
Array's element.
* RARRAY_AREF(a, i) returns i-th element of an array `a'
* RARRAY_ASET(a, i, v) set i-th element of `a' to `v'
  This change is a part of RGENGC branch [ruby-trunk - Feature #8339].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 09:41:48 +00:00
ko1 c8fc37a99c * ChangeLog: add a comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 06:43:08 +00:00
ko1 b6b85f6eaf * object.c (rb_obj_setup): added.
* include/ruby/ruby.h (OBJSETUP): ues rb_obj_setup() instead of
  a macro.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 06:33:48 +00:00
ko1 8ac05ae500 * gc.c (rb_data_object_alloc): check klass only if klass is not 0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 06:25:33 +00:00
ko1 925c936bb1 * gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):
use NEWOBJ_OF() instead of NEWOBJ().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 06:03:00 +00:00
nobu 0824f9f224 proc.c: Kernel#singleton_method
* proc.c (rb_obj_singleton_method): new method Kernel#singleton_method
  which returns a Method object of the singleton method.
  non-singleton method causes NameError, but not aliased or zsuper
  method, right now.
  [ruby-core:54914] [Feature #8391]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 05:52:03 +00:00
nobu 3048508014 vm_method.c: rb_method_entry_at
* vm_method.c (rb_method_entry_at): return the method entry for id at
  klass, without ancestors.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 05:51:14 +00:00
nobu 609c7420d7 class.c: rb_singleton_class_get
* class.c (rb_singleton_class_get): get the singleton class if exists,
  or nil.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 05:50:38 +00:00
yugui ee22fad45d * ext/openssl/ossl_ssl.c: Disabled OpenSSL::SSL::SSLSocket if
defined(OPENSSL_NO_SOCK).

  This fixes a linkage error on platforms which do not have socket.
  OpenSSL itself is still useful as a set of cryptographic functions
  even on such platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 02:08:59 +00:00
zzak 0dc6dcfb6a * hash.c: Hash[] and {} are not equivalent by @eam [Fixes GH-301]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 01:31:27 +00:00
zzak 4813d8713c * random.c: Document Random::DEFAULT by @eLobato [Fixes GH-304]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 01:07:50 +00:00
nagachika 00096bdf0d * ChangeLog: fix a typo of r40667.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 13:51:54 +00:00
nobu d2b4011a94 ruby.h: OFFT2NUM redefinition
* include/ruby/ruby.h (OFFT2NUM): RUBY_REPLACE_TYPE also defines macro
  to convert int type to VALUE if found.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 12:13:01 +00:00
kazu fa1e2d957e fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 09:47:02 +00:00
kosaki 2b881310f8 * include/ruby/intern.h (rb_iv_set, rb_iv_get): removed. Bcause
ruby.h has a declaration for that.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 09:02:10 +00:00
kosaki f3c9bb063e * include/ruby/intern.h (rb_uint2big, rb_int2big, rb_uint2inum)
(rb_int2inum, rb_ll2inum, rb_ull2inum): removed because ruby.h
  has a declaration for these.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 09:01:57 +00:00
kosaki 6591e26eb2 * configure.in: removes 'ac_cv_func_fseeko=yes' form MinGW
specific definitions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:53:40 +00:00
kosaki 96ffcf557b * file.c (rb_file_s_truncate): use correct type. chsize takes
a long.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:30 +00:00
kosaki 93d061a8fd * process.c: move '#define SPAWNV 1' to win32/Makefile.sub.
* win32/Makefile.sub: see above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:19 +00:00
kosaki 82330e919b * configure.in: removes AC_CHECK_FUNCS(setitimer) because it's
unsed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:09 +00:00
kosaki 3f6b5aa2f8 * configure.in: removes AC_CHECK_FUNCS(pause) because it's unused.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:57 +00:00
kosaki c0a30fcbf9 * signal.c (rb_f_kill): fixes typo. s/HAS_KILLPG/HAVE_KILLPG/.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:46 +00:00
kosaki 59a3943a67 * configure.in: abort if gettimeofday doesn't exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:36 +00:00
kosaki 05628d3b6d * configure.in: removes AC_CHECK_FUNC(ftruncate64).
* configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating
  NUM2OFFT.
* file.c (rb_file_truncate): use correct type. chsize() take
  a long.
* include/ruby/ruby.h (NUM2OFFT): use a definition created by
  a configure script by default.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:24 +00:00
kosaki e79f790798 * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,
ftello64). They are not used from anywhere.

* win32/win32.c (fseeko): removes.
* win32/win32.c (rb_w32_ftello): removes.
* include/ruby/win32.h: removes declarations of rb_w32_ftello and
  rb_w32_fseeko.
* win32/Makefile.sub: removes '#define HAVE_FTELLO 1'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:12 +00:00
kosaki 2d0c7e37bf * configure.in: remove AC_CHECK_FUNC(close). It is not used from
anywhere.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:59 +00:00
kosaki f15d3ff927 * configure.in: adds comments for setjmp check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:47 +00:00
kosaki a79cccb5c6 * configure.in: move clock_gettime() check into regular place.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:35 +00:00
kosaki 7776ca930b * configure.in: add getenv() declaration check.
* dln_find.c: add HAVE_DECL_GETENV test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:24 +00:00
kosaki fa5db01644 * configure.in: sorts AC_CHECK_FUNCS()s as alphabetical order.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:12 +00:00
kosaki 2f6cab0f59 * bignum.c: remove redundant decl for big_lshift() big_rshift().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:00 +00:00
naruse 5aa618819b * ext/socket/rubysocket.h (rsock_inspect_sockaddr): as r40646
check HAVE_TYPE_STRUCT_SOCKADDR_DL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 07:09:26 +00:00
kazu 7da6744329 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 02:33:48 +00:00
naruse 037ce7f6bc * ext/socket/rubysocket.h (HAVE_TYPE_STRUCT_SOCKADDR_DL):
MSVC has struct sockadddr_dl, but its content is broken.
  http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130511T103938Z.log.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11 14:07:20 +00:00
akr 975e43b8cb * test/rinda/test_rinda.rb: Socket.getifaddrs may returns an interface
which #addr method returns nil for venet0 in OpenVZ.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11 13:08:59 +00:00
akr 26cb14f846 * ext/socket/raddrinfo.c (rsock_inspect_sockaddr): Add casts to
suppress warnings.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11 13:04:39 +00:00
akr b323d7d54c * ext/socket: New method, Socket.getifaddrs, implemented.
[ruby-core:54777] [Feature #8368]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11 08:32:26 +00:00
akr b1dd4c92ce * gc.h (SET_MACHINE_STACK_END): Add !defined(_ILP32) to a defining
condition to avoid compilation error on x32.
  https://sites.google.com/site/x32abi/



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 15:49:56 +00:00
nobu ecddb96785 parse.y: invalid name as mere string
* parse.y (parser_peek_variable_name): treat invalid global, class,
  and instance variable names as mere strings rather than errors.
  [ruby-core:54885] [Bug #8375]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 14:56:40 +00:00
akr 980bf275fa * configure.in: Move library checks into "Checks for libraries." part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 11:24:06 +00:00
akr 695ad02d1b * configure.in: Reformat arguments of AC_CHECK_HEADERS and
AC_CHECK_FUNCS to track modifications easily.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 10:33:18 +00:00
akr 093beeda90 * configure.in: Don't link librt if clock_gettime is available in
the main C library.
  glibc 2.17 moves clock_* from librt to the main C library.
  http://sourceware.org/ml/libc-announce/2012/msg00001.html



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 03:01:51 +00:00
akr 2ffbe0345d * ext/socket/ancdata.c (bsock_sendmsg_internal): controls_num should
not be negative.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 13:01:08 +00:00
akr bfb334eefa * file.c, ext/etc/etc.c, ext/socket/unixsocket.c,
ext/openssl/ossl.h, ext/openssl/openssl_missing.c: Use
  HAVE_AGGREGATE_MEMBER instead of HAVE_ST_MEMBER.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 12:12:17 +00:00
akr adb575e21e * ext/socket/ancdata.c (bsock_sendmsg_internal): Always set
controls_num to raise NotImplementedError appropriately.
  (bsock_recvmsg_internal): Raise NotImplementedError if
  :scm_rights=>true is given on platforms which don't have
  4.4BSD style control message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 11:48:29 +00:00
akr a5e6d48dfb * ext/socket/rubysocket.h, ext/socket/unixsocket.c,
ext/socket/ancdata.c: Use HAVE_STRUCT_MSGHDR_MSG_CONTROL instead
  of HAVE_ST_MSG_CONTROL.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 03:08:58 +00:00
zzak 029ad63b0b * string.c: Add call-seq alias for String#=== [Bug #8381]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 02:30:47 +00:00
zzak 119f675189 * doc/contributing.rdoc: Add guide for contributing to CRuby
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-09 02:15:24 +00:00
akr 18646d74dd * configure.in: Check socket library again. shutdown() is used in
io.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 19:57:37 +00:00
akr 6d313a387a * configure.in: Don't check socketpair. socketpair is not used in
ruby command itself.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 16:52:16 +00:00
nobu e8bdef657a class.c: include modules only
* class.c (rb_mod_included_modules): should not include non-modules.
  [ruby-core:53158] [Bug #8025]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 16:05:50 +00:00
nobu 3fd0000c0c class.c: exclude original module
* class.c (rb_mod_included_modules): should not include the original
  module itself.  [ruby-core:53158] [Bug #8025]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 13:47:11 +00:00
naruse 4834aa5307 * io.c (rb_io_ext_int_to_encs): ignore internal encoding if external
encoding is ASCII-8BIT. [Bug #8342]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 08:47:26 +00:00
naruse ce573f3166 * ext/json/generator/generator.c (isArrayOrObject): cast char to
unsigned char. [Bug #8378]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 05:00:02 +00:00
naruse 279c7bdd88 * ext/json/generator/depend: fix dependencies [Bug #8379]
* ext/json/parser/depend: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 04:59:52 +00:00
nobu 85280f4b55 parse.y: fail if invalid name
* parse.y (parser_yylex): fail if $, @, @@ are not followed by a valid
  name character.  [ruby-core:54846] [Bug #8375].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 04:07:22 +00:00
nobu b8bcd92059 ruby.h: ISGRAPH
* include/ruby/ruby.h (ISGRAPH): add missing macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 04:06:34 +00:00
naruse bbcf97fad6 * ext/socket/socket.c (socket_s_ip_address_list): fix wrongly filled
sin6_scope_id on KAME introduced by r40593 for OpenIndiana.
  KAME uses fe80:<scope_id>::<interface id> for link-local address
  internally.
  Setting sin6_scope_id causes it leaked.
  see also comments of sockaddr_obj().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 22:51:16 +00:00
akr 4264240759 * ext/readline/readline.c (insert_ignore_escape): Add a cast to
unsigned char * before dereference.
  This suppress a warning on Cygwin.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 13:15:13 +00:00
akr 593c24f87c * ext/socket/ancdata.c (bsock_recvmsg_internal): Add a cast to
suppress warning.
  Bionic defines socklen_t as int.
  Bionic defines msg_controllen as unsigned int (__kernel_size_t)
  instead of socklen_t as POSIX.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:19:52 +00:00
akr cb2f3c1b87 * ext/socket/ancdata.c (ancillary_inspect): Don't call
anc_inspect_ipv6_pktinfo if !HAVE_TYPE_STRUCT_IN6_PKTINFO.
  anc_inspect_ipv6_pktinfo is not defined in the case.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:14:47 +00:00
akr 2b792abd69 * ext/socket/socket.c (socket_s_ip_address_list): Cast EXTRA_SPACE as
int.  This suppress a warning.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:12:32 +00:00
akr 301821bd45 * ext/socket/extconf.rb: Set close_fds false for Cygwin.
Cygwin doesn't support fd passing.
  This enables socket extension library cross-compilable by default.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:10:46 +00:00
akr 570015a18b * pack.c (swap32): Don't redefine it if it is already defined.
Bionic defines it.
  (swap64): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-07 03:09:15 +00:00
akr 9e08404b8a * ext/socket/socket.c (socket_s_ip_address_list): Fill sin6_scope_id
if getifaddrs() returns an IPv6 link local address which
  sin6_scope_id is zero, such as on OpenIndiana SunOS 5.11.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-06 11:51:07 +00:00
kazu 912f9dcc22 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-06 01:22:37 +00:00
nobu babae04960 insns.def: refactor by wanabe
* insns.def (defined): use vm_search_superclass() like as normal super
  call.  based on a patch <https://gist.github.com/wanabe/5520026> by
  wanabe.
* vm_insnhelper.c (vm_search_superclass): return error but not raise
  exceptions.
* vm_insnhelper.c (vm_search_super_method): check the result of
  vm_search_superclass and raise execptions on error.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-05 09:57:02 +00:00
nobu 08fbd2cee2 insns.def: method entry from method frame
* insns.def (defined): get method entry from the method top level
  frame, not block frame.  [ruby-core:54769] [Bug #8367]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-05 07:29:44 +00:00
nobu 36de5e4db5 ruby.pc.in: rubyarchhdrdir
* template/ruby.pc.in (Cflags): use rubyarchhdrdir for multiarch.
  [Bug #7874]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-05 04:29:01 +00:00
kazu 4bbd1d9df7 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-05 02:40:33 +00:00
zzak 5835461b16 * doc/security.rdoc: Add note about reporting security vulns
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 22:21:34 +00:00
kosaki 9b89888dda * include/ruby/defines.h (RUBY_ATTR_ALLOC_SIZE): New for
attribute((alloc_size(params))).

* include/ruby/defines.h (xmalloc, xmalloc2, xcalloc)
(xrealloc, xrealloc2): Annotated by RUBY_ATTR_ALLOC_SIZE.
* include/ruby/ruby.h (rb_alloc_tmp_buffer): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 21:03:58 +00:00
xibbar b35529bb4e * lib/cgi/util.rb: class methods modulize for using like a function.
[Feature #8354]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 11:23:23 +00:00
akr 86d4511fe6 * ext/socket/extconf.rb: Make default_ipv6 true for Cygwin.
Cygwin supports IPv6 since Cygwin 1.7.1 (2009-12).
  http://cygwin.com/ml/cygwin-announce/2009-12/msg00027.html



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 05:11:06 +00:00
nobu 8202d6266f {getaddrinfo,getnameinfo}.c: fix for old platforms
* ext/socket/{getaddrinfo,getnameinfo}.c: define socklen_t if not
  defined, e.g., older VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:35:37 +00:00
nobu 3b62e8e78b win32.h: INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX
* include/ruby/win32.h (INTPTR_MAX, INTPTR_MIN, UINTPTR_MAX): also
  should be defined when defining intptr_t and uintptr_t.
  bigdecimal.c requires the former two now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:29:18 +00:00
nobu 6d32a4e32b win32.c: fix build error
* win32/win32.c (poll_child_status): fix build error on older mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-03 04:22:24 +00:00
ayumin b5d877e62c * common.mk: remove timestamp in distclean-ext realclean-ext.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 15:22:27 +00:00
nobu a58c224dcf object.c: skip prepending modules
* object.c (rb_obj_is_kind_of): skip prepending modules.
  [ruby-core:54742] [Bug #8357]
* object.c (rb_class_inherited_p): ditto.
  [ruby-core:54736] [Bug #8357]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 14:23:56 +00:00
nobu 908e701851 irb: dead code
* bin/irb: remove dead code from sample/irb.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 13:11:55 +00:00
nobu 5e79c1a543 marshal.c: no overwriting ivars
* marshal.c (copy_ivar_i): get rid of overwriting already copied
  instance variales.  c.f. [Bug #8276]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 08:32:48 +00:00
nobu 31457774a8 thread.c: id locals
* thread.c (id_locals): use cached ID.
* vm.c (ruby_thread_init): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 07:55:50 +00:00
nobu 97982e823f id.def: predefined IDs
* defs/id.def: add more predefined IDs used in core.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 07:54:17 +00:00
ryan f8e5c7c79e Imported minitest 4.7.4 (r8483)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 04:48:43 +00:00
usa 50cc7057af * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now
we can test it.

* test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 03:34:15 +00:00
usa 25acda257c * win32/win32.c (poll_child_status): [experimental] set the cause of
a child's death to status if its exitcode seems to be an error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 02:34:11 +00:00
zzak 0b9b99c12c * lib/yaml.rb: nodoc EngineManager, add History doc #8344
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 02:24:33 +00:00
akr a4460ddb48 * time.c (localtime_with_gmtoff_zone): musl libc may return NULL for
tm_zone.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 12:12:25 +00:00
eregon bd14f5bf94 * enum.c (Enumerable#chunk): fix grammar of error message
for symbols beginning with an underscore [Bug #8351]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 10:04:21 +00:00
nobu f0a5e1fc3c curses/extconf.rb: simplify
* ext/curses/extconf.rb (curses_version): try once for each tests, a
  function or a variable.  fallback to variable for old SVR4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 07:48:06 +00:00
nobu 262669e6c6 extmk.rb: always dynamic non-install extensions
* ext/extmk.rb (extmake): extensions not to be installed should not
  make static libraries, but make dynamic libraries always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 07:17:53 +00:00
zzak bb35edf33c * lib/rake/version.rb: Fix RDoc warning with :include: [Bug #8347]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 03:21:45 +00:00
nobu 7ef7a65df6 eval.c: use predefined IDs
* eval.c (frame_func_id): use predefined IDs.
* vm.c (rb_vm_control_frame_id_and_class): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 02:40:41 +00:00
nobu 9644f9b572 proc.c: use predefined IDs
* defs/id.def (predefined): add "idProc".
* proc.c (mnew, mproc, mlambda): use predefined IDs.
* vm.c (Init_VM): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-01 02:38:44 +00:00
zzak c322f10ad9 * lib/benchmark.rb: Update Benchmark results on newer CPU
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-30 14:19:20 +00:00
nobu 787cdae5df proc.c: frozen core methods
* proc.c (mproc, mlambda): use frozen core methods instead of plain
  global methods, so that methods cannot be overridden.
  [ruby-core:54687] [Bug #8345]
* vm.c (Init_VM): define proc and lambda on the frozen core object.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-30 03:31:43 +00:00
nobu 3a0641a896 intern.h: rb_block_lambda
* include/ruby/intern.h (rb_block_lambda): add declaration instead of
  deprecated rb_f_lambda.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-30 03:30:23 +00:00
naruse ecf017a9a0 * ext/nkf/nkf-utf8/nkf.h: Bionic libc doesn't have locale.
[Feature #8338]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-29 08:05:13 +00:00
nobu 6fb5140dd6 ossl_bn.c: reduce alloca/malloc
* ext/openssl/ossl_bn.c (ossl_bn_initialize): no need of alloca for
  small fixed size array.
* ext/openssl/ossl_bn.c (ossl_bn_initialize): check overflow first,
  and use alloca for small size input.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 21:58:36 +00:00
eregon bdc8087f33 * lib/yaml.rb: Clarify documentation about YAML being always Psych.
Give a tip about using Syck. See #8344.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 15:40:53 +00:00
eregon 253f49dbc2 * lib/yaml.rb: Use another trick to define the YAML module.
https://twitter.com/n0kada/status/328342207511801856

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 14:34:22 +00:00
zzak 531d47d6c1 * lib/pp.rb: Update PP module overview by @geopet
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 14:19:18 +00:00
shirosaki be4aa33037 ossl_bn.c: fix ossl_bn_initialize bug with integer
* ext/openssl/ossl_bn.c (ossl_bn_initialize): fix buffer overflow on
  x64 Windows and memory leak when initializing with integer.
  [ruby-core:54615] [Bug #8337]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 13:20:11 +00:00
nobu 66c0e01220 README.EXT: update note
* README.EXT: correct method name to be used.  [Bug #7982]
* README.EXT.ja: add notes too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 03:38:27 +00:00
zzak 9ef25d883d * object.c: With feedback from Steve Klabnik, reverted a change to
#untrusted? and #tainted?. Also adjusted grammar for $SAFE levels


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 01:35:56 +00:00
zzak 2068f3cedb * lib/yaml.rb: Disable setting YAML const twice [ruby-core:54642]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 01:11:55 +00:00
zzak 6fe3e9e488 * object.c: Documentation for taint and trust [Bug #8162]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 00:51:46 +00:00
zzak e731627526 * README.EXT: Copy note from r40505 for rb_sprintf() [Bug #7982]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-28 00:42:10 +00:00
zzak 7e70b8ac52 * ext/curses/curses.c: Update Curses::Window example for nicer output
Patch by Michal Suchanek [Bug #8121] [ruby-core:53520]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 23:30:11 +00:00
zzak e781aeef96 * README.EXT: Update note from r40504, by Jeremy Evans [Bug #7982]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 23:11:19 +00:00
zzak 817dda53ed * README.EXT: Add note to warn use of %i in Exceptions [Bug #7982]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 23:04:12 +00:00
akr d7b32fb4c1 * configure.in: Fix a typo. Should check endgrent() instead of
endgrnam().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 17:48:28 +00:00
akr 1a67580eb5 * process.c (obj2gid): Don't call endgrnam() if not exist.
Bionic (Android's libc) don't have endgrnam().

* configure.in: Check endgrnam function.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 15:38:36 +00:00
charliesome b5e8e33ddc * lib/yaml.rb: add security warning to YAML documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 14:54:37 +00:00
zzak 3e1fad843e * lib/yaml.rb: Documentation for YAML module [Bug #8213]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 14:26:20 +00:00
akr ab750920b9 * thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
This fixes a compilation failure while cross-compiling for Tensilica
  Xtensa Processor.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 11:21:10 +00:00
eregon 5c1d4c2ade * thread.c: fix typos and documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 10:33:44 +00:00
akr 5cbc3e15d8 * sparc.c: Use __asm__ instead of asm for gcc.
gcc doesn't provide asm keyword if -ansi option is given.
  http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 10:06:20 +00:00
akr ef215077bc * ext/socket/extconf.rb: Redundant test removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 08:23:21 +00:00
akr fbbd7e29e7 * ext/socket/extconf.rb (test_recvmsg_with_msg_peek_creates_fds):
Extracted.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 07:00:26 +00:00
akr d907adecd9 * internal.h (SIGNED_INTEGER_TYPE_P): New macro.
(SIGNED_INTEGER_MAX): Ditto.
  (SIGNED_INTEGER_MIN): Ditto.
  (UNSIGNED_INTEGER_MAX): Ditto.
  (TIMET_MAX): Use SIGNED_INTEGER_MAX and UNSIGNED_INTEGER_MAX.
  (TIMET_MIN): Use SIGNED_INTEGER_MIN.

* thread.c (TIMEVAL_SEC_MAX): Use SIGNED_INTEGER_MAX.
  (TIMEVAL_SEC_MIN): Use SIGNED_INTEGER_MIN.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 06:52:17 +00:00
akr e88a692a88 * thread.c (TIMEVAL_SEC_MAX, TIMEVAL_SEC_MIN): Consider environments,
sizeof(time_t) is smaller than sizeof(tv_sec), such as
  OpenBSD 5.2 (amd64).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 03:30:50 +00:00
kou 4e44eeaeb1 * lib/rexml/text.rb (REXML::Text.normalize): Fix a bug that all
entity filters are ignored. [ruby-dev:47278] [Bug #8302]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/test_entity.rb (EntityTester#test_entity_filter): Add
  a test of the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 14:36:30 +00:00
kou 562648e48c * lib/rexml/element.rb (REXML::Attributes#to_a): Support
namespaced attributes. [ruby-dev:47277] [Bug #8301]
  Patch by Ippei Obayashi. Thanks!!!
* test/rexml/test_attributes.rb
  (AttributesTester#test_to_a_with_namespaces): Add a test of the
  above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 13:56:34 +00:00
kou b486e50434 * lib/rss/atom.rb (RSS::Atom::Entry): Fix indent of document comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 12:48:59 +00:00
kou 2df0d9a181 * lib/rss/maker.rb (RSS::Maker): Fix indent of document comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 12:21:45 +00:00
akr 56e982d447 * ext/socket/extconf.rb: Use a block of enable_config() for
--{enable,disable}-close-fds-by-recvmsg-with-peek configure option



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 09:42:14 +00:00
akr 847fe27e31 * dir.c (dir_set_pos): Fix a compilation error when seekdir() is not
exist.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 09:16:14 +00:00
akr ed9e1f9ad9 * thread_pthread.c (ruby_init_stack): Add STACK_GROW_DIR_DETECTION.
This fixes a compilation failure while cross-compiling for ARM.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 08:43:37 +00:00
zzak 1eb5004660 * lib/rss/atom.rb: Documentation for RSS::Atom based on a patch by
Michael Denomy
* lib/rss/maker.rb: Documentation for RSS::Maker also by @mdenomy


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 05:36:51 +00:00
akr a36cd96c2a * ext/curses/extconf.rb: Test linkability of curses_version at first.
* ext/socket/extconf.rb: Test the behavior of fd passing with MSG_PEEK
  only if recvmsg(), msg_control member, AF_UNIX and SCM_RIGHTS are
  available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 03:43:19 +00:00
shirosaki 93ed9f08ad ring.rb: specify multicast interface
* lib/rinda/ring.rb (Rinda::RingServer#initialize): accept array
  arguments of address to specify multicast interface.

* lib/rinda/ring.rb (Rinda::RingServer#make_socket): add optional
  arguments for multicast interface.

* test/rinda/test_rinda.rb
  (TestRingFinger#test_ring_server_ipv4_multicast,
   TestRingFinger#test_ring_server_ipv6_multicast): add tests for
  above change.

* test/rinda/test_rinda.rb
  (TestRingServer#test_make_socket_ipv4_multicast,
   TestRingServer#test_make_socket_ipv6_multicast): change bound
  interface address because multicast address is not allowed on Linux
  or Windows.
  [ruby-core:53692] [Bug #8159]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 15:43:22 +00:00
shirosaki b721c38f34 ring.rb: add a socket to @sockets in make_socket()
* lib/rinda/ring.rb (Rinda::RingServer#initialize): add a socket
  to @sockets in make_socket() to close sockets on shutdown even if
  make_socket() is called after initialize.

* lib/rinda/ring.rb (Rinda::RingServer#make_socket): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 15:36:33 +00:00
shirosaki e9c8509e87 test_rinda.rb: Use KILL on Windows
* test/rinda/test_rinda.rb (TupleSpaceProxyTest#test_take_bug_8215):
  use KILL on Windows since TERM doen't work and ruby process remains
  after test-all on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 15:36:30 +00:00
akr 5e9dc52be5 * ext/curses/extconf.rb: Implement
--with-curses-version={function,variable} configure option for
  cross-compiling.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 14:17:33 +00:00
akr a0fa43b094 * ext/socket/extconf.rb: Don't use WIDE getaddrinfo by default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 09:17:54 +00:00
akr 0ff2e1d531 * ext/socket/extconf.rb: Remove obsolete options: ---with-ipv6-lib and
--with-ipv6-libdir.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 08:57:15 +00:00
akr 79b807118f * ext/socket/extconf.rb: Implement
--{enable,disable}-close-fds-by-recvmsg-with-peek configure option
  for cross-compiling.
  Make --{enable,disable}-wide-getaddrinfo configure option
  cross-compiling friendly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 08:45:58 +00:00
nobu 91fb5bc889 io.c: conversion from bom encoding
* io.c (rb_io_ext_int_to_encs, parse_mode_enc): bom-prefixed name is
  not a real encoding name, just a fallback.  so the proper conversion
  should take place even if if the internal encoding is equal to the
  bom-prefixed name, unless actual encoding is equal to the internal
  encoding.  [ruby-core:54563] [Bug #8323]
* io.c (io_set_encoding_by_bom): reset extenal encoding if no BOM
  found.  [ruby-core:54569]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 07:11:20 +00:00
naruse 8b29525dad * ext/openssl/ossl_bn.c (ossl_bn_initialize): allow Fixnum and Bignum.
[ruby-core:53986] [Feature #8217]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 07:02:31 +00:00
naruse 4a50d447d9 * lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.
It gets encoding argument to specify the character encoding.
  It now allows loose percent encoded strings, but denies ;-separator.
  [ruby-core:53475] [Bug #8103]

* lib/uri/common.rb (URI.decode_www_form): follow current URL Standard.
  It gets encoding argument to convert before percent encode.
  Now UTF-16 strings aren't converted to UTF-8 before percent encode
  by default.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 05:27:41 +00:00
charliesome 5d7b5481ca * benchmark/bm_hash_shift.rb: add benchmark for Hash#shift
* hash.c (rb_hash_shift): use st_shift if hash is not being iterated to
  delete element without iterating the whole hash.

* hash.c (shift_i): remove function

* include/ruby/st.h (st_shift): add st_shift function

* st.c (st_shift): ditto

[Bug #8312] [ruby-core:54524] Patch by funny-falcon

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 05:03:30 +00:00
akr ed33fcae5a * ext/socket/extconf.rb: Extract C programs as toplevel constants.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-25 03:03:59 +00:00
nobu 2667cb2d98 configure.in: RUBY_RM_RECURSIVE
* configure.in (RUBY_RM_RECURSIVE): this hack is needed by only
  autoconf 2.69 or earlier on darwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 17:23:36 +00:00
nobu 096d52733b tracer.rb: File.readlines
* lib/tracer.rb (get_line): simply read by File.readlines.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 16:22:44 +00:00
nobu 181a4ea8c6 debug.rb: Fix debug listing
* lib/debug.rb (script_lines): get source lines from SCRIPT_LINES__ or
  read from the file.
* lib/debug.rb (display_list): use script_lines instead of recursion.
  [Bug #8318]
* lib/debug.rb (line_at): use script_lines same as display_list.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 16:21:54 +00:00
nobu 9e97f6ca63 debug.rb: Fix debug listing
* lib/debug.rb (display_list): Fix debug listing when called from the
  same file it has been required.  patch by Dario Bertini <berdario AT
  gmail.com> [Bug #8318] [fix GH-280]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 16:19:00 +00:00
akr 66ad210df8 describe the reason to check mblen().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 13:22:27 +00:00
akr 4ddce7a68b * configure.in: Check mblen().
* eval_intern.h (CharNext): Don't use mblen() is not available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 12:52:26 +00:00
kosaki 6edde68b5d * io.c (rb_fd_fix_cloexec): use rb_update_max_fd().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 05:15:56 +00:00
zzak 704abdc3d2 * numeric.c: Fix wiki link on Float imprecision in overview, patched
by Makoto Kishimoto [Bug #8304] [ruby-dev:47280]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 05:08:47 +00:00
nobu 531329a291 parse.y: disallow $-
* parse.y (parser_yylex): disallow $- without following identifier
  character.  [ruby-talk:406969]
* parse.y (is_special_global_name): mere $- is not a valid global
  variable name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 05:04:01 +00:00
zzak 6dc1ee17c5 * string.c: Document String#setbyte return value by @gjmurakami-10gen
[Fixes GH-294]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 04:55:07 +00:00
zzak 0b4214ad9b * class.c: Example of Object#methods by @windwiny [Fixes GH-293]
* ruby.c: Document return values of Kernel #sub, #gsub, and #chop


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 04:47:31 +00:00
zzak 360843ef75 * ext/socket/lib/socket.rb: Doc typos by @vipulnsward [Fixes GH-292]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 03:55:02 +00:00
zzak 00ecebe6a9 * array.c: Fix documentation for Array#index and #replace aliases
Based on a patch by @phiggins [Fixes GH-282]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 03:28:06 +00:00
naruse a5fadaadd3 * string.c (rb_str_inspect): refix r40413, on Ruby 1.9 usual character
escape uses hex/Unicode escapes, so fix to use Unicode escape on
  Unicode strings and hex on others. [ruby-core:54458] [Bug #8290]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-23 12:24:56 +00:00