aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * lib/webrick/server.rb: Invoke setup_shutdown_pipe in start methodakr2015-03-103-2/+36
| | | | | | | | | instead of listen method. [ruby-core:68476] [Bug #10956] Reported by Shintaro Kojima. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_math.rb: to_f testsnobu2015-03-101-5/+12
| | | | | | | * test/ruby/test_math.rb (test_{fixnum,bignum,rational}_to_f): refine to_f tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (thread_join): Fixnum (except TAG_FATAL) andko12015-03-102-3/+13
| | | | | | | | NODE should not be reached here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-10svn2015-03-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* math.c: fix tgamma on mingwnobu2015-03-101-0/+10
| | | | | | | * math.c (mingw_tgamma): tgamma(3) on mingw returns a NaN for a big number, not infinity. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (ep_cref): rename to lep_cref() because it should beko12015-03-092-2/+7
| | | | | | | | local ep. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* stringio.c: don't raise after closenobu2015-03-093-5/+7
| | | | | | | * ext/stringio/stringio.c (strio_close): don't raise on dobule close for consistent to IO#close. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* suppress warningsnobu2015-03-091-3/+1
| | | | | | * test/ruby/beginmainend.rb: suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* complex.c: suppress warnings on FreeBSDnobu2015-03-091-2/+2
| | | | | | * complex.c (safe_mul): get rid of assignments in a macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_beginendblock.rb: assert_in_out_errnobu2015-03-092-124/+54
| | | | | | | * test/ruby/test_beginendblock.rb (TestBeginEndBlock): simplify with assert_in_out_err. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: duplicate codenobu2015-03-091-1/+0
| | | | | | * io.c (rb_io_close_m): remove duplicate check. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c, vm.c: fix implicit conversionsnobu2015-03-082-3/+3
| | | | | | | | | * proc.c (rb_mod_define_method): fix implicit conversion of visibility type. erred by -Werror=shorten-64-to-32. * vm.c (vm_define_method): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.h: define struct SVAR for SVAR.ko12015-03-083-18/+34
| | | | | | | | | This data type is also same layout of NODE (NODE_IF). * vm_insnhelper.c: catch up this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (lep_svar_set): add WBs.ko12015-03-082-4/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h: define rb_cref_t and change to use it.ko12015-03-0816-100/+181
| | | | | | | | | rb_cref_t is data type of CREF. Now, the body is still NODE. It is easy to understand what is CREF and what is pure NODE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.h (COPY_CREF_OMOD): fix translation miss.ko12015-03-082-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-09svn2015-03-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h: define CREF accessor macros.ko12015-03-0812-85/+113
| | | | | | | | | | | | | | | | | | * CREF_CLASS(cref) * CREF_NEXT(cref) * CREF_VISI(cref) * CREF_VISI_SET(cref, v) * CREF_REFINEMENTS(cref) * CREF_PUSHED_BY_EVAL(cref) * CREF_PUSHED_BY_EVAL_SET(cref) * CREF_OMOD_SHARED(cref) * CREF_OMOD_SHARED_SET(cref) * CREF_OMOD_SHARED_UNSET(cref) This is process to change CREF data type from NODE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/zlib/zlib.c (rb_gzfile_close): Don't raise on doubleakr2015-03-083-1/+32
| | | | | | | | close for consistent to IO#close. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c: glob short namesnobu2015-03-085-8/+55
| | | | | | | | | * dir.c (glob_helper): match patterns against legacy short names too, not only ordinary names. [ruby-core:67954] [Bug #10819] * win32/dir.h (struct direct): add short name members. * win32/win32.c (opendir_internal, readdir_internal): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* miniinit.c: minimum built-in encodings in minirubynobu2015-03-084-3/+12
| | | | | | | | | * common.mk (MINIOBJS): no longer need dmyenc.o. * miniinit.c (Init_enc): declare minimum built-in encodings so that these Encoding constants will be available in miniruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_extlibs.rb: skip excluded librariesnobu2015-03-081-4/+20
| | | | | | | * test/ruby/test_extlibs.rb (TestExtLibs.check_existence): ignore tests for explicitly excluded libraries. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.sub: RUBY_PROGRAM_VERSIONnobu2015-03-081-0/+1
| | | | | | | * win32/Makefile.sub (config.status): now RUBY_PROGRAM_VERSION is necessary for fake.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2015-03-08svn2015-03-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* GNUmakefile.in: fix dependencynobu2015-03-081-1/+1
| | | | | | | * cygwin/GNUmakefile.in: fix dependency, win32.o should be under win32 directory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* make-snapshot: follow previous commitsnobu2015-03-071-3/+5
| | | | | | | * tool/make-snapshot (package): set @ruby_version@ and BOOTSTRAPRUBY. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fake.rb.in: RUBY_PATCHLEVELnobu2015-03-071-1/+4
| | | | | | | * template/fake.rb.in: add RUBY_PATCHLEVEL and include it in RUBY_DESCRIPTION. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: same fake.rbnobu2015-03-074-26/+6
| | | | | | | * common.mk (fake.rb): generate from same template on all platforms including win32. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* expand-config.rb: without fake.rbnobu2015-03-072-5/+31
| | | | | | | | * win32/Makefile.sub (ruby_pc): without fake.rb. * tool/expand-config.rb: no longer depends on fake.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkconfig.rb: without fake.rbnobu2015-03-074-13/+20
| | | | | | | * tool/mkconfig.rb: use arguments instead of built-in constants to work without fake.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: BOOTSTRAPRUBYnobu2015-03-075-3/+7
| | | | | | | * configure.in (BOOTSTRAPRUBY): baseruby if cross compiling or miniruby, anyway runnable ruby command. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby-additional.el: monkey-patching ruby-mode.elnobu2015-03-071-0/+5
| | | | | | | * misc/ruby-additional.el: monkey-patch ruby-mode.el in Emacs 24, to fix regexp parsing as r49872. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c: document that first element is kept when usinghsbt2015-03-072-0/+10
| | | | | | | 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
* * thread.c: Mutex#owned? is no longer experimental since 2.1.0hsbt2015-03-072-1/+5
| | | | | | [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-07svn2015-03-071-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/merger.rb: Added documentation to version method.hsbt2015-03-072-0/+7
| | | | | | [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
* * class.c (rb_prepend_module): need a WB for klass -> origin.ko12015-03-062-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * fix namespace issue on singleton class expressions. [Bug #10943]ko12015-03-0616-131/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* fix typos [ci skip]kazu2015-03-061-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby-mode.el: fix regexp syntaxnobu2015-03-061-1/+1
| | | | | | | * 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
* * test/webrick/test_filehandler.rb: on vboxsf (on VirtualBoxko12015-03-062-5/+21
| | | | | | | | | | | | 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
* * test/ruby/test_beginendblock.rb: do not change directory.ko12015-03-062-3/+10
| | | | | | | | | 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
* driver.rb: load-rawdatanobu2015-03-061-1/+31
| | | | | | | * 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
* driver.rb: rawdata formatnobu2015-03-061-3/+17
| | | | | | | * 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
* vm_eval.c: next super class from the originalnobu2015-03-063-1/+20
| | | | | | | | | * 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
* * lib/matrix.rb: Add Vector#round. Patch by Jordan Stephens.marcandre2015-03-055-0/+26
| | | | | | [Fixes GH-802] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rubyoptions.rb ↵usa2015-03-051-0/+8
| | | | | | | | | (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
* * gc.c (obj_info): show node name too.ko12015-03-052-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add Changelogko12015-03-051-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * internal.h: remove struct method_table_wrapper.ko12015-03-058-55/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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