aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * vm_trace.c (rb_suppress_tracing): Fix initialization of stacktmm12013-12-042-0/+8
| | | | | | | | allocated rb_trace_arg_t structure. Without this patch, sometimes INTERNAL_EVENT_GC would be skipped accidentally inside rb_threadptr_exec_event_hooks_orig(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (fstr_update_callback): Improve implementation in r43968tmm12013-12-042-13/+21
| | | | | | | | based on feedback from @nagachika. In the existing case, we can return ST_STOP to prevent any hash modification. In the !existing case, set both key and value to the fstr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-12-04svn2013-12-041-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* delegate.rb: ignore unset targetnobu2013-12-043-6/+39
| | | | | | | | | | | * lib/delegate.rb (Delegator#method_missing): ignore the target if not set, and delegate to global methods. [ruby-core:58572] [Bug #9155] * lib/delegate.rb (Delegator#respond_to_missing): ditto. * lib/delegate.rb (SimpleDelegator#__getobj__): yield and return if not delegated but a block is given, like as Hash#fetch. * lib/delegate.rb (DelegateClass#__getobj__): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: use malloc_sizenobu2013-12-034-2/+16
| | | | | | | * configure.in: check malloc_size() available on BSD. * gc.c: use malloc_size() with malloc/malloc.h on BSD. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_obj_clone): don't copy FL_WB_PROTECTED of anari2013-12-032-1/+6
| | | | | | original object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: same hash value for similar constructsnobu2013-12-034-3/+87
| | | | | | | | | * hash.c (rb_hash_recursive): make similar (recursive) constructs return same hash value. execute recursively, and rewind to the topmost frame with an object which .eql? to the recursive object, if recursion is detected. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: detect recursion for allnobu2013-12-036-80/+53
| | | | | | | * hash.c (rb_hash): detect recursion for all `hash' methods. each `hash' methods no longer need to use rb_exec_recursive(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c: rb_catch_protectnobu2013-12-033-3/+20
| | | | | | | | * vm_eval.c (rb_catch_protect): new function similar to rb_catch_obj(), but protect from all global jumps like as rb_load_protect(), rb_protect(), etc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/smtp.rb: [DOC] Fix typoa_matsuda2013-12-031-1/+1
| | | | | | | s/raies/raises/ [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: complement the intentionnobu2013-12-031-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_obj_clone): Protect FL_PROMOTED and FL_WB_PROTECTEDnari2013-12-032-1/+6
| | | | | | flags of a destination object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_hash_rehash): use hash_alloc() instead of rb_hash_new().glass2013-12-032-1/+6
| | | | | | [Bug #9187] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (features_index_add_single): Move loaded_features_index array ↵tmm12013-12-033-4/+15
| | | | | | | | | | | values off the ruby heap. [Bug #9201] [ruby-core:58805] * load.c (loaded_features_index_clear_i): Clean up off-heap array structure. * vm.c (rb_vm_mark): Remove unnecessary mark_tbl for loaded_features_index. This improves minor GC time by 15% in a large application. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (struct RClass): Add wrapper struct aroundtmm12013-12-038-24/+83
| | | | | | | | | | | | | | | | | | | | | | | | RClass->m_tbl with serial. This prevents double marking method tables, since many classes/modules can share the same method table. This improves minor mark time in a large application by 30%. * internal.h (struct method_table_wrapper): Define new wrapper struct with additional serial. * internal.h (RCLASS_M_TBL_INIT): New macro for initializing method table wrapper and st_table. * method.h (void rb_sweep_method_entry): Rename rb_free_m_table to rb_free_m_tbl for consistentcy * .gdbinit (define rb_method_entry): Update rb_method_entry gdb helper for new method table structure. * class.c: Use RCLASS_M_TBL_WRAPPER and RCLASS_M_TBL_INIT macros. * class.c (rb_include_class_new): Share WRAPPER between module and iclass, so serial can prevent double marking. * eval.c (rb_prepend_module): ditto. * eval.c (rb_using_refinement): ditto. * gc.c: Mark and free new wrapper struct. * gc.c (obj_memsize_of): Count size of additional wrapper struct. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add a description about string-scrub.gem to NEWSnaruse2013-12-031-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rubyoptions.rb (TestRubyOptions::SEGVTest::ExpectedStderr):nobu2013-12-031-1/+1
| | | | | | ignore fault address. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_uniq_bang): remove duplicate code.glass2013-12-032-34/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (ary_add_hash): set and return values because string keysglass2013-12-033-6/+60
| | | | | | | | | | | | | | | | will be frozen. [ruby-core:58809] [Bug #9202] * array.c (rb_ary_uniq_bang): ditto. * array.c (rb_ary_or): ditto. * array.c (rb_ary_uniq): ditto. * test/ruby/test_array.rb: tests for above. The patch is from normalperson (Eric Wong). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_fstring): Use st_update instead of st_lookup +tmm12013-12-032-15/+29
| | | | | | | st_insert. * string.c (fstr_update_callback): New callback for st_update. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rdoc/constant.rb: reapply r43006 for workaround ofnobu2013-12-032-1/+14
| | | | | | | | NoMethodError * lib/rdoc/constant.rb (RDoc::Constant#documented?): workaround for NoMethodError when the original of alias is not found. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c: fault addressnobu2013-12-031-3/+8
| | | | | | * signal.c (sigbus, sigsegv): show fault address in the bug message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (w32_getenv): should be static.nobu2013-12-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/buffering.rb: Return ASCII-8BIT strings fromdrbrain2013-12-033-1/+21
| | | | | | | | SSLSocket methods. [ruby-trunk - Bug #9028] * test/openssl/test_ssl.rb: Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-12-03svn2013-12-031-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rdoc: Update to RDoc master 900de99. Changes include:drbrain2013-12-035-12/+26
| | | | | | | | | | | Fixed documentation display of constants Fixed handling of unknown parsers * test/rdoc: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (getenv): fixed test failures introduced by r43950.usa2013-12-022-1/+7
| | | | | | | [ruby-core:58774] [Bug #9195] reported by phasis68 (Heesob Park). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_rehash): make temporary st_table under the controlglass2013-12-023-27/+47
| | | | | | | | of GC. [Bug #9187] * test/ruby/test_hash.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * variable.c (rb_mod_constants): when calling Module#constants withcharliesome2013-12-022-4/+29
| | | | | | | inherit=false, there is no need to use a hashtable to deduplicate constant names. [Feature #9196] [ruby-core:58786] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/csv.rb: [DOC] Fix typosa_matsuda2013-12-021-7/+7
| | | | | | | | s/occurrs/occurs/, s/interation/iteration/, s/intetionally/intentionally/, s/modfied/modified/, s/axception/exception/, s/curcuit/circuit/ [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/smtp.rb (Net::SMTP#critical): Always return adrbrain2013-12-023-1/+21
| | | | | | | | | Net::SMTP::Response. Patch by Pawel Veselov. [ruby-trunk - Bug #9125] * test/net/smtp/test_smtp.rb: Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems: Update to RubyGems master baa965b. Notable changes:drbrain2013-12-013-6/+20
| | | | | | | | | | Copy directories to lib/ when installing extensions. This completes the fix for [ruby-trunk - Bug #9106] * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_case.rb (test_nomethoderror):sorah2013-12-012-0/+13
| | | | | | Add test related to r43913, r43914 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-12-02svn2013-12-011-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (getenv): use ANSI codepage version of getenv() for minirubyusa2013-12-012-1/+17
| | | | | | | | on Windows. [ruby-core:58732] [Bug #9189] reported by phasis68 (Heesob Park). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributors.rdoc: [DOC] Import contributors from redmine wikizzak2013-12-012-0/+789
| | | | | | | | | | | | Many wiki pages have become outdated and spam-ridden, we will import these to trunk and begin maintaining them in ruby-trunk. This will also allow new contributors to easily contribute patches to update these pages, where previously a redmine account with wiki access was required. Another bonus is having a contributors file to show thanks to all of the people who have submitted a patch to Ruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/maintainers.rdoc: [DOC] Current maintainers of Rubyzzak2013-12-012-0/+328
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributing.rdoc: [DOC] Current branch maintainerszzak2013-12-012-0/+25
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributing.rdoc: [DOC] Reporting other (ruby-lang.org) issueszzak2013-12-012-0/+17
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributing.rdoc: [DOC] Current platform maintainerszzak2013-12-012-0/+32
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * doc/contributing.rdoc: [DOC] Reporting downstream distro issueszzak2013-12-012-0/+14
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_to_a): specify array capa.glass2013-12-012-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * hash.c (rb_hash_rehash): fix to free new st_table when exceptionglass2013-12-012-7/+37
| | | | | | is raised in do_hash(). [Bug #9187] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/open3.rb: [DOC] Fix typo (s/thumnail/thumbnail/)a_matsuda2013-12-011-3/+3
| | | | | | [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/openssl/lib/openssl/buffering.rb: Fix warning in copyrightzzak2013-12-012-15/+20
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems: Update to RubyGems master 66e5c39. Notable changes:drbrain2013-11-3031-26/+598
| | | | | | | | | | | Implement gem.deps.rb (Gemfile) .lock support Fixed `gem uninstall` for a relative directory in GEM_HOME. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2013-12-01svn2013-11-301-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_gc.rb (test_gc_reason): Force minor GC by consumingtmm12013-11-302-1/+7
| | | | | | free slots to fix test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/fileutils.rb: [DOC] Fix typo (s/perserve/preserve/)a_matsuda2013-11-301-1/+1
| | | | | | [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c: check unknown keywordsnobu2013-11-303-4/+19
| | | | | | | * dir.c (dir_initialize): check unknown keywords. [ruby-dev:47152] [Bug #8060] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e