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

28935 Коммитов

Автор SHA1 Сообщение Дата
shugo 3a6dec0c5d * include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppress
warnings for unused variables.

* ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to
  suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 03:09:22 +00:00
svn 14d72e6685 * 2012-12-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 02:28:02 +00:00
ko1 33fedef5a5 * method.h: remove "VM_METHOD_TYPE__MAX" from rb_method_type_t.
rb_method_type_t is not a number and "_MAX" causes misunderstanding.
* proc.c (rb_method_entry_arity): ditto.
* vm_eval.c (vm_call0_body): ditto.
* vm_insnhelper.c (vm_call_method): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 02:27:58 +00:00
nobu 6f8bce9eff tmpdir.rb: not expand tilde
* lib/tmpdir.rb (Dir::Tmpname#create): deal with a prefix name which
  starts with tilde as a plain name, not expanding as home directory.
  [ruby-core:50793] [Bug #7547]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 12:40:51 +00:00
nobu 0a577a1ce0 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 10:56:24 +00:00
naruse 43f6fdfb42 * ext/json: merge JSON 1.7.5.
fix tests and other fixes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 10:51:49 +00:00
naruse 395d7bb346 Suppress warning: too long path
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 10:06:29 +00:00
shugo 75bed271f0 * class.c (rb_prepend_module): move refined methods from the origin
of a class to the class, because refinements should have priority
  over prepended modules.

* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 09:35:50 +00:00
nobu a773539d3a time.c: st_update
* time.c (zone_str): lookup or insert by using st_update() at once.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 09:27:12 +00:00
naruse 486795d951 * configure.in: add -fno-omit-frame-pointer if libexecinfo is used.
At least on FreeBSD ruby will crash on getting C backtrace
  when it is compiled with other than -O0.

* vm_dump.c: enable backtrace on FreeBSD even if with optimizations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 07:36:32 +00:00
nobu b3f491d3cb test_rdoc_rdoc.rb: use File::NULL
* test/rdoc/test_rdoc_rdoc.rb (TestRDocRDoc#test_normalized_file_list_non_file_directory):
  use File::NULL for portability if possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 07:08:06 +00:00
nobu 3c4f8ce092 method.h: NOEX_SAFE_SHIFT_OFFSET
* method.h (rb_method_flag_t): name a magic number for NOEX_SAFE and
  NOEX_WITH as NOEX_SAFE_SHIFT_OFFSET.
* method.h (rb_method_type_t, method_optimized_type): C89 forbids a
  comma after the last element in enum.
* proc.c (rb_method_entry_arity), vm_eval.c (vm_call0_body),
  vm_insnhelper.c (vm_call_method): add VM_METHOD_TYPE__MAX case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 07:07:25 +00:00
nobu 9354b05e5c proc.c: move misplaced case
* proc.c (rb_method_entry_arity): move misplaced case added at r38236.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 07:06:14 +00:00
drbrain 182ce60f75 * lib/rdoc/class_module.rb: Added RDoc::ClassModule#documented? which
checks comment_location.  Hide RDoc::ClassModule#comment=.
* test/rdoc/test_rdoc_class_module.rb:  Test for above.

* lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml:
  Fix display of the table of contents in the sidebar.

* lib/rdoc/generator/template/darkfish/table_of_contents.rhtml:
  Use #comment_location when displaying classes or modules.

* test/rdoc/test_rdoc_store.rb:  Use comment_location.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 05:16:53 +00:00
nobu f92db3dd73 vm_insnhelper.c: no warnings for non-object
* vm_insnhelper.c (vm_getivar): no uninitialized instance variables
  warnings for non-object if attr method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 04:40:55 +00:00
nobu dcb6e73306 vm_insnhelper.c: common code
* vm_insnhelper.c (vm_getivar, vm_setivar): unify common code
  irrelevant to the condition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 04:39:48 +00:00
naruse 34fb7d7830 Specify rlimits_core to prevent making core file
Stable fix for r38041.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 03:12:37 +00:00
naruse a52c63e420 Experimental fix for r38041
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 00:42:26 +00:00
eregon 0314f93ef4 * iseq.c (rb_iseq_parameters): fix limit for optional arguments.
* test/ruby/test_keyword.rb: tests for above.
* vm_core.h (struct rb_iseq_struct): update documentation
  with keyword arguments. [Bug #7540] [ruby-core:50735]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 21:44:49 +00:00
naruse 64bbd55c85 Experimental: don't use $.*s of fprintf
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 21:17:37 +00:00
nobu 63d0ea4c03 vm.c: pass exceptions while handling an exception
* vm.c (vm_exec): pass exceptions while handling an exception.
* vm_trace.c (rb_threadptr_exec_event_hooks): propagate exceptions.
  revert r38293 partially.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 18:45:43 +00:00
nobu 8dafe8c88d test.rb: show messages in one line
* sample/test.rb (Progress#initialize): add --verbose option and show
  messages in one line unless --verbose is given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 18:09:10 +00:00
naruse a6455f2994 Experimentally recommit of r38041: specify smaller max length
* vm_dump.c (rb_vm_bugreport): get rid of calling methods in sigsegv
  handler.  based on a patch by charliesome (Charlie Somerville)
  [ruby-core:49573] [Bug #7402]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 17:13:18 +00:00
shugo b5e9c6cb90 * eval.c (rb_using_refinement): make the method table of an iclass
for a refinement that of the refinement, not that of the origin of
  the refinement, which is set by rb_include_class_new().  This
  change is needed to make module prepend into a refinement work
  properly.

* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 16:48:21 +00:00
naruse 9f69bef99b * tool/make-snapshot: add --disable-rubygem to both MINIRUBY and RUBY.
On making miniprelude.c, it seems use MINIRUBY. this fixes #7541
  but rubygems also needs to be fixed for older rubies.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 16:18:01 +00:00
ngoto a1a5c879f7 * test/dl/test_func.rb (test_name_with_block, test_bind, test_qsort1): call unbind to release the callback closure because maximum number of callbacks is limited to DL::MAX_CALLBACK (== 5) with pure DL without Fiddle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 15:44:22 +00:00
svn ef12c29f3c * 2012-12-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 15:24:35 +00:00
ngoto 1fcde7c2e2 * ext/dl/lib/dl/func.rb (DL::Function#unbind, #bound?): suppress NoMethodError when Fiddle is available. [ruby-core:50756] [Bug #7543]
* test/dl/test_func.rb (test_bound*, test_unbind*): tests for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 15:24:31 +00:00
kazu 80e1f46ff0 fix a typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 12:38:42 +00:00
ngoto 3e6a624a83 * ext/fiddle/function.c (Fiddle::Function.new): new keyword argument :name to set the name attribute.
* ext/fiddle/lib/fiddle/import.rb (import_function, bind_function): set function name by using the :name keyword argument.
  Re-fixes r38243. [ruby-core:50566]
* test/fiddle/test_function.rb (test_name): test for the :name keyword argument and Fiddle::Function#name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 10:41:00 +00:00
kazu 16af9a107e fix typos for r38298
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 09:31:26 +00:00
drbrain 52d4a465a8 * common.mk: Added --pages-dir to rdoc creation. Now doc/ items show
up at top-level.
* .document:  Moved doc/* entries to doc/.document
* doc/.document:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 07:57:56 +00:00
drbrain b65b75bf2c * lib/rdoc/options.rb: Added --page-dir option for moving pages in
doc/ to the top-level.
* lib/rdoc/rdoc.rb:  ditto.
* test/rdoc/test_rdoc_options.rb:  Test for the above.
* test/rdoc/test_rdoc_rdoc.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 07:44:56 +00:00
drbrain d5ba73e0d9 * ext/pathname/lib/pathname.rb: Hide private methods from RDoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 06:25:56 +00:00
naruse 10c014b06d * tool/make-snapshot (BASERUBY): add --disable-gem to avoid load gems.
[Bug #7541] [ruby-core:50736]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 06:13:43 +00:00
naruse 55058e3583 Revert r38301
"* common.mk ($(MINIPRELUDE_C)): -I may break make dist."

This didn't solve the issue.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 06:13:41 +00:00
nobu b949447a49 probes_helper.h: RUBY_DTRACE_HOOK
* probes_helper.h (RUBY_DTRACE_HOOK): surround with do..while.

* vm.c (vm_exec): supply semicolon.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 03:37:19 +00:00
nobu 4a0cda64b2 test_settracefunc.rb: envutil
* test/ruby/test_settracefunc.rb: EnvUtil is required for
  assert_normal_exit when running solely.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 03:37:16 +00:00
naruse addefaa6a3 * ext/dl/win32/extconf.rb: Fix typo
by Santiago Pastorino <santiago@wyeworks.com>
  https://github.com/ruby/ruby/pull/221 fix GH-221

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 03:02:04 +00:00
naruse 0ab057280c Experimentally revert r38041
"vm_dump.c: no methods in segv handler"
It may cause segv:
http://fb.rubyci.org/~chkbuild/ruby-trunk/log/20121130T090301Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 02:58:54 +00:00
naruse 381b72da12 * common.mk ($(MINIPRELUDE_C)): -I may break make dist.
patched by Vit Ondruch [Bug #7541] [ruby-core:50736]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 02:38:20 +00:00
naruse 20d68c92ca Revert r38296 and r38301
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 02:32:35 +00:00
naruse 4eb272e83c More debug print for r38296
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 16:57:23 +00:00
marcandre 8aac5f48fc * lib/matrix: alias {row|column}_size to {row|column}_count and use the latter.
[Bug #7369] [ruby-core:49409]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 16:53:57 +00:00
svn 4c02cff191 * 2012-12-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 16:05:50 +00:00
shugo 7ef16d224a * fix the behavior when a module is included into a refinement.
This change is a little tricky, so it might be better to prohibit
  module inclusion to refinements.

* include/ruby/ruby.h (RMODULE_INCLUDED_INTO_REFINEMENT): new flag
  to represent that a module (iclass) is included into a refinement.

* class.c (include_modules_at): set RMODULE_INCLUDED_INTO_REFINEMENT
  if klass is a refinement.

* eval.c (rb_mod_refine): set the superclass of a refinement to the
  refined class for super.

* eval.c (rb_using_refinement): skip the above superclass (the
  refined class) when creating iclasses for refinements.  Otherwise,
  `using Refinement1; using Refinement2' creates iclasses:
  <Refinement2> -> <RefinedClass> -> <Refinement1> -> RefinedClass,
  where <Module> is an iclass for Module, so RefinedClass is
  searched before Refinement1.  The correct iclasses should be
  <Refinement2> -> <Refinement1> -> RefinedClass.

* vm_insnhelper.c (vm_search_normal_superclass): if klass is an
  iclass for a refinement, use the refinement's superclass instead
  of the iclass's superclass.  Otherwise, multiple refinements are
  searched by super.  For example, if a refinement Refinement2
  includes a module M (i.e., Refinement2 -> <M> -> RefinedClass,
  and if refinements iclasses are <Refinement2> -> <M>' ->
  <Refinement1> -> RefinedClass, then super in <Refinement2> should
  use Refinement2's superclass <M> instead of <Refinement2>'s
  superclass <M>'.

* vm_insnhelper.c (vm_search_super_method): do not raise a
  NotImplementError if current_defind_class is a module included
  into a refinement.  Because of the change of
  vm_search_normal_superclass(), the receiver might not be an
  instance of the module('s iclass).

* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 16:05:45 +00:00
shugo fa7c4ab408 * vm_method.c (rb_method_entry_without_refinements): use
rb_resolve_refined_method() to search superclasses if
  me->def->orig_me is 0.  This change fixes make test-all
  TESTS="json ruby/test_refinement.rb".

* test/ruby/test_refinement.rb: related test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 13:02:54 +00:00
naruse a263a8567a Add debug print to debug make dist error on rubyci FreeBSD
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 09:27:28 +00:00
nobu 0e7fd84774 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 09:03:17 +00:00
usa f9aa334b5b * ext/fiddle/win32/*: library ports from DL to Fiddle.
* ext/dl/win32/extconf.rb: check fiddle.  often case dl compiled prior
  to fiddle, so this change is no meaning.  in most cases, simply
  fiddle/win32 overwrite dl/win32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 09:01:27 +00:00