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

38788 Коммитов

Автор SHA1 Сообщение Дата
hsbt 05d1196203 * array.c: document that first element is kept when using
Array#uniq and #uniq! [fix GH-845][ci skip]
  Patch by @riffraff

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 00:36:09 +00:00
hsbt 6271eea522 * thread.c: Mutex#owned? is no longer experimental since 2.1.0
[fix GH-839][ci skip] Patch by @takiy33

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 00:28:06 +00:00
svn 1c8a6c685f * 2015-03-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 00:18:57 +00:00
hsbt fe46bec769 * tool/merger.rb: Added documentation to version method.
[fix GH-847][ci skip] Patch by @magikid

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-07 00:18:46 +00:00
ko1 9113098e65 * class.c (rb_prepend_module): need a WB for klass -> origin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 13:51:27 +00:00
ko1 d84f9b1694 * fix namespace issue on singleton class expressions. [Bug #10943]
* vm_core.h, method.h: remove rb_iseq_t::cref_stack. CREF is stored
  to rb_method_definition_t::body.iseq_body.cref.
* vm_insnhelper.c: modify SVAR usage.
  When calling ISEQ type method, push CREF information onto method
  frame, SVAR located place. Before this fix, SVAR is simply nil.
  After this patch, CREF (or NULL == Qfalse for not iseq methods)
  is stored at the method invocation.
  When SVAR is requierd, then put NODE_IF onto SVAR location,
  and NDOE_IF::nd_reserved points CREF itself.
* vm.c (vm_cref_new, vm_cref_dump, vm_cref_new_toplevel): added.
* vm_insnhelper.c (vm_push_frame): accept CREF.
* method.h, vm_method.c (rb_add_method_iseq): added. This function
  accepts iseq and CREF.
* class.c (clone_method): use rb_add_method_iseq().
* gc.c (mark_method_entry): mark method_entry::body.iseq_body.cref.
* iseq.c: remove CREF related codes.
* insns.def (getinlinecache/setinlinecache): CREF should be cache key
  because a different CREF has a different namespace.
* node.c (rb_gc_mark_node): mark NODE_IF::nd_reserved for SVAR.
* proc.c: catch up changes.
* struct.c: ditto.
* insns.def: ditto.
* vm_args.c (raise_argument_error): ditto.
* vm_eval.c: ditto.
* test/ruby/test_class.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 12:24:58 +00:00
kazu e0f5a6ab48 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 12:13:29 +00:00
nobu fe2440261c ruby-mode.el: fix regexp syntax
* misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): division
  operator can't follow '{' and '|' too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 12:12:11 +00:00
ko1 3859d767e1 * test/webrick/test_filehandler.rb: on vboxsf (on VirtualBox
on Windows 7), file name and permissions are strange (can access
  by short file name and so on).
  Simply skip on such tests on such FS. To detect strange FS, this
  patch use a part of code `File.executable?(__FILE__)`.
  Please correct them if there are better ways.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 09:22:21 +00:00
ko1 4bb910816e * test/ruby/test_beginendblock.rb: do not change directory.
Run system command in the directory mounted by vboxfs on Windows 7
  and get warning like that "warning: Insecure world writable dir...".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 08:34:40 +00:00
nobu b6dbffcd89 driver.rb: load-rawdata
* benchmark/driver.rb: add --load-rawdata option to load dumped
  rawdata and just output it without actual benchmark.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 01:33:43 +00:00
nobu db6a84b9cf driver.rb: rawdata format
* benchmark/driver.rb (show_results): dump the rawdata in some
  formats, yaml, json, and pretty_inspect.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 01:33:39 +00:00
nobu 3e557a979e vm_eval.c: next super class from the original
* vm_eval.c (vm_call_super): search next super class from the
  original class, to get rid of infinite recursion with
  prepending.  a patch by Seiei Higa <hanachin AT gmail.com> at
  [ruby-core:68434].  [ruby-core:68093] [Bug #10847]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-06 01:31:03 +00:00
marcandre b81950f480 * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.
[Fixes GH-802]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 23:45:42 +00:00
usa ce85cd55c6 * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_command_line_glob_with_dir):
test for r49859.  see [ruby-core:68430] [Bug #10941]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 23:03:35 +00:00
ko1 01c6f50495 * gc.c (obj_info): show node name too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 22:34:10 +00:00
ko1 b4d1c024de add Changelog
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 22:22:18 +00:00
ko1 8f88ff4e37 * internal.h: remove struct method_table_wrapper.
struct method_table_wrapper was introduced to avoid duplicate marking
  for method tables.
  For example, `module M1; def foo; end; end` make one method table
  (mtbl) contains a method `foo`. M1 (T_MODULE) points mtbl.
  Classes C1 and C2 includes M1, then two T_ICLASS objects are created
  and they points mtbl too. In this case, three objects (one T_MODULE
  and two T_ICLASS objects) points same mtbl. On marking phase, these
  three objects mark same mtbl. To avoid such duplication, struct
  method_table_wrapper was introduced.
  However, created two T_ICLASS objects have same or shorter lifetime
  than M1 (T_MODULE) object. So that we only need to mark mtbl from M1,
  not from T_ICLASS objects. This patch tries marking only from M1.
  Note that one `Module#prepend` call creates two T_ICLASS objects.
  One for refering to a prepending Module object, same as
  `Module#include`. We don't nedd to care this T_ICLASS.
  One for moving original mtbl from a prepending class. We need to
  mark such mtbl from this T_ICLASS object. To mark the mtbl,
  we need to use `RCLASS_ORIGIN(klass)` on marking from a prepended
  class `klass`.
* class.c: ditto.
* eval.c (rb_using_refinement): ditto.
* gc.c: ditto.
* include/ruby/ruby.h: define m_tbl directly. The definition of
  struct RClass should be moved to (srcdir)/internal.h.
* method.h: remove decl of rb_free_m_tbl_wrapper().
* object.c: use RCLASS_M_TBL() directly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 22:20:14 +00:00
usa 908c25341e * dir.c (replace_real_basename): need to check the return value of
GLOB_REALLOC().
  [ruby-core:68430] [Bug #10941]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 17:51:02 +00:00
svn 7f342f5e99 * 2015-03-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 17:28:19 +00:00
usa c529554548 * dir.c (replace_real_basename): shouldn't create Ruby object before
the object system is loaded.
  [ruby-core:68430] [Bug #10941]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 17:28:07 +00:00
kazu 5dac166fb2 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 14:36:05 +00:00
kazu 4a371d69d4 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 14:34:37 +00:00
nobu 71a352f0a7 driver.rb: name width
* benchmark/driver.rb (BenchmarkDriver#adjusted_results):
  calculate max width of names at last.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 08:17:26 +00:00
gogotanaka 744a858bd2 * hash.c: [DOC] #delete method actually returns nil, if the key
is not found. [fix GH-844][ci skip] Patch by @ivdma

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 08:00:14 +00:00
nobu a161bdf6f3 driver.rb: fix index
* benchmark/driver.rb (show_results): fix index of results.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 07:01:26 +00:00
nobu 418d915f7b remove GEM directories at exit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 05:07:39 +00:00
gogotanaka 55473aea5c * math.c: refactoring: remove unnecessary variable d0 to unify code
appearance.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 03:29:37 +00:00
shugo f403624a6f * vm_eval.c (eval_string_with_cref): A binding should keep
refinements activation information and the refinements should be
  activated in subsequent eval calls with the binding.
  [ruby-core:67945] [Bug #10818]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 02:56:03 +00:00
nobu e5eb9a16df driver.rb: plain text table
* benchmark/driver.rb (show_results): support plain text style
  table format output.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 02:39:09 +00:00
nobu d816b8e4e6 driver.rb: suffix
* benchmark/driver.rb: add suffix to default output file name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 02:38:54 +00:00
shugo 36a18bb54a * test/ruby/test_refinement.rb: There is no need anymore to supress
warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 02:20:25 +00:00
nobu 376ece8f01 .travis.yml: no check for diagnostic reports
* .travis.yml (after_failure): remove false positive check by
  diagnostic reports.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 01:01:02 +00:00
nobu 589436f417 driver.rb: MarkDown table
* benchmark/driver.rb (show_results): support MarkDown style table
  format output.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-05 00:14:02 +00:00
svn fb5a0b68a8 * 2015-03-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 23:45:10 +00:00
odaira 270630c628 * random.c (random_raw_seed): Avoid calling fill_random_bytes()
if the requested size is 0. AIX returns -1 for 0-byte read from
/dev/urandom, while other UNIX returns 0. With this change,
Random.raw_seed(0) consistently retuns "" in any UNIX.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 23:44:59 +00:00
gogotanaka 1d00e40e0c * test/ruby/test_math.rb (assert_float_and_int): Refactor test cases
by introducing assert_float_and_int. [misc #10810]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 03:47:06 +00:00
nobu 5cd98697f8 symbol.c: make dsym_fstrs an identity hash
* symbol.c (Init_sym): make dsym_fstrs a hash compared by identity
  as the keys are unique fstrings, to get rid of running hash and
  compare methods and causing new object allocation during garbage
  collection phase.  [ruby-dev:48891] [Bug #10933]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 02:52:32 +00:00
nobu d7628fcfd3 rbinstall.rb: set umask 077
* tool/rbinstall.rb: default umask to prohibit group/others from
  reading/writing/executing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 01:34:11 +00:00
nobu 83a27c8703 envutil.rb: no need to sleep
* test/lib/envutil.rb (assert_in_out_err): remove sleep to catch
  the just time, and it is unnecessary as diagnostic_reports waits
  for 3 seconds.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 01:22:01 +00:00
hsbt 5f4f28d669 * enum.c: Fix typo in slice_after's exception message.
[fix GH-842][ci skip] Patch by @jsyeo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 01:17:02 +00:00
hsbt c5e9d76221 * doc/syntax/methods.rdoc: add some missing spaces and
fix a grammatical error in method docs.
  [fix GH-843][ci skip] Patch by @nikolas

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 01:15:43 +00:00
nobu 49117ae29a envutil.rb: diagnostic_reports for SIGTRAP
* test/lib/envutil.rb (EnvUtil.diagnostic_reports): SIGTRAP also
  generate diagnostic report file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-04 00:24:06 +00:00
usa bca791ae60 * tool/redmine-backporter.rb (backport_command_string): pick up only
when the revision exists in trunk.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 17:14:22 +00:00
nobu f6ed283fd5 mkmf/base.rb: clean up tmpdir
* test/mkmf/base.rb (TestMkmf#assert_separately): call teardown to
  clean up temporary directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 17:01:13 +00:00
nobu 36ba828dac rbinstall.rb: gems dir_mode
* tool/rbinstall.rb (DirPackage#extract_files): set directories
  permission of gems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 16:27:34 +00:00
nobu e6b0653406 thread.c: volatile inside EXEC_TAG
* thread.c (rb_thread_io_blocking_region): assigned variables
  inside EXEC_TAG() should be volatile.
* thread.c (rb_thread_s_handle_interrupt): ditto.
* thread.c (exec_recursive): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 15:45:00 +00:00
nobu f18951abda .travis.yml: no diagnostic reports
* .travis.yml (script): no diagnostic reports files should be
  left.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 15:37:47 +00:00
svn 70e0a56c89 * 2015-03-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 15:32:21 +00:00
usa 6aff861d60 * tool/redmine-backporter.rb: now can specify shorten form of commands.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03 15:30:54 +00:00