aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer isocean2005-12-193-93/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NULL or not before S_FREE. * ext/syck/rubyext.c (syck_parser_assign_io): rb_check_string_type can return new RString. if so, it becomes unreachable from GC after returns syck_parser_assign_io, and can be freed by GC. (dangling in syck io system) so extends its life time till syck_parse is called. * ext/syck/rubyext.c (syck_parser_s_alloc): always allocates bonus, so no need to check if NULL, and "volatile VALUE hash" is not needed. (bonus->port was not protected in syck_emitter_reset) * ext/syck/rubyext.c (syck_mark_parser): ditto. * ext/syck/rubyext.c (syck_parser_load): ditto. * ext/syck/rubyext.c (syck_parser_load_documents): ditto. * ext/syck/rubyext.c (syck_emitter_s_alloc): ditto. * ext/syck/rubyext.c (syck_mark_emitter): ditto. * ext/syck/rubyext.c (syck_emitter_reset): ditto. * ext/syck/rubyext.c (syck_scalar_value_set): "should set newly allocated memory instead of RString's internal storage" stuff again. by this, should call syck_free_node instead of rb_syck_free_node. * ext/syck/rubyext.c (syck_node_type_id_set): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insertocean2005-12-192-24/+19
| | | | | | | | | in gram.c to insert node from rb_syck_bad_anchor_handler into SyckParser's hash table. if GC occurs in st_insert, it's not under SyckParser's mark system yet. so RString can be released wrongly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* simplify previous change.akr2005-12-191-4/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): activate onlyakr2005-12-192-0/+23
| | | | | | | before gcc 4.0.3 on SPARC and IA64. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-19eban2005-12-191-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c: sorry, I reverted my "should set newlyocean2005-12-192-5/+13
| | | | | | | | | | | | | allocated memory instead of RString's internal storage" stuff. node allocated in rubyext.c seems to be freed by rb_syck_free_node not syck_free_node, and it won't free data.str->ptr and type_id. (I still think this is unsafe because RString(foo)->ptr becomes dangling pointer when RString is modified or freed, but anyway I misunderstood, so go back to original code for now) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c (syck_emitter_reset): should initializeocean2005-12-172-2/+25
| | | | | | | | | | emitter->bonus->oid. otherwise rb_gc_mark crashes. * ext/syck/rubyext.c (syck_mark_parser): should mark anchor nodes because they hold ruby objects. (ie: rb_syck_bad_anchor_handler) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-17eban2005-12-171-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_big_rshift): fix a GC problem onakr2005-12-162-1/+7
| | | | | | | IA64 with gcc 4.0.3 20051216 (prerelease). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (bmcall): fix a GC problem by tail call onakr2005-12-162-1/+9
| | | | | | | IA64 with gcc 4.0.3 20051216 (prerelease). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c (rb_syck_compile): fixed memory leak.ocean2005-12-162-1/+9
| | | | | | | * ext/syck/rubyext.c: should protect global variable from GC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert previous change.akr2005-12-161-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* refine "unknown data type" message.akr2005-12-161-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c (syck_scalar_value_set): should set newlyocean2005-12-162-1/+3
| | | | | | | allocated memory instead of RString's internal storage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-16eban2005-12-161-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/syck/rubyext.c (syck_resolver_tagurize): fixed memory leak.ocean2005-12-162-8/+20
| | | | | | | | | | * ext/syck/rubyext.c (syck_node_type_id_set): should set newly allocated memory instead of RString's internal storage. ... these fixes won't fix [ruby-dev:27839]. more work is needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain atmatz2005-12-154-1/+10
| | | | | | | segment7.net>. [ruby-core:06894] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* require tempdir instead of tempfile.akr2005-12-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-15eban2005-12-141-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call onakr2005-12-142-0/+6
| | | | | | | x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rdoc/parsers/parse_c.rb (find_class_comment): fix for classnobu2005-12-142-1/+6
| | | | | | | document with prototypes. [ruby-core:06863] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * dir.c (has_magic): glob names contain alphabets to enable case foldnobu2005-12-142-7/+32
| | | | | | | | | | search. [ruby-dev:27735] * dir.c (Init_Dir): FNM_SYSCASE which is default case fold flag. [ruby-dev:23296] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-14eban2005-12-141-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * marshal.c (r_object0): fix a GC problem for reading a bignum onakr2005-12-142-1/+6
| | | | | | | IA64 with gcc 3.3.5 (Debian 1:3.3.5-13). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (rb_reg_regcomp): fix a GC problem on x86_64 withakr2005-12-132-2/+7
| | | | | | | gcc 3.3.5 (Debian 1:3.3.5-13). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * array.c (rb_ary_diff): fix a GC problem on IA64 withakr2005-12-122-1/+10
| | | | | | | | | gcc 3.3.5 (Debian 1:3.3.5-13). When rb_ary_push is called, there was no register which contains `hash' but `&RHASH(hash)->tbl' instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-13eban2005-12-121-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sprintf.c (rb_str_format): fix a GC problem.akr2005-12-122-1/+7
| | | | | | | [ruby-dev:28001] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_ssl.rb (test_parallel): call GC.start to closegotoyuzo2005-12-122-0/+6
| | | | | | | unused files. [ruby-dev:27981] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove unused variables.akr2005-12-121-3/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-12eban2005-12-121-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* indent "if" body.akr2005-12-121-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* precedes registering global VALUE variables before initializing it.akr2005-12-124-12/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (range_cover): new method Range#cover? added. thematz2005-12-122-0/+40
| | | | | | | | | method name might be changed. thanks to takano32 at http://www.rubyist.net/~matz/20051210.html#c08 for name suggestion. [ruby-talk:167182] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/digest/digest.c (rb_digest_base_s_digest): add volatile tomatz2005-12-1215-88/+73
| | | | | | | | | | | protect temporary context object. [ruby-dev:27979] * ext/iconv/iconv.c (Init_iconv): rb_gc_register_address() should be called before actual variable initialization. [ruby-dev:27986] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/tk/lib/tkextlib/SUPPORT_STATUS: update to support libraries innagai2005-12-115-6/+266
| | | | | | | | | | ActiveTcl8.4.12.0. * ext/tk/lib/tkextlib/tile/tnotebook.rb: add Tk::Tile::TNotebook#insert. * ext/tk/sample/tkextlib/tile/demo.rb: improve the look of a part of the demo. * ext/tk/sample/scrollframe.rb: add a new sample. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-11eban2005-12-111-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* (test_remote_array_and_hash): pseudo remote objects are protectedseki2005-12-112-2/+11
| | | | | | | against GC. [ruby-dev:27911] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/matrix.rb: add Matrix#determinant_e, Matrix#rank_e.keiju2005-12-092-12/+143
| | | | | | | [ruby-dev:27820] and related thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (calling_scope_t): gave names to magic numbers for rb_call().nobu2005-12-092-26/+37
| | | | | | | [ruby-dev:27978] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-10eban2005-12-091-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove unused variable `tmp'.akr2005-12-091-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rexml/encoding.rb (encoding=): give priority to particularnobu2005-12-095-33/+62
| | | | | | | conversion to iconv. [ruby-core:06520] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-09eban2005-12-091-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * range.c (range_include): return false unless included in numericnobu2005-12-092-5/+9
| | | | | | | range. fixed: [ruby-dev:27975] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (umethod_bind): adjust invoking class for module method.nobu2005-12-072-6/+21
| | | | | | | [ruby-dev:27964] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2005-12-08eban2005-12-071-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (call_trace_func): klass parameter should be amatz2005-12-073-2/+7
| | | | | | | class/module that defines calling method. [ruby-talk:169307] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sprintf.c (rb_f_sprintf): [ruby-dev:27967]matz2005-12-075-17/+58
| | | | | | | | | | | | * range.c (range_include): use discrete membership for non Numeric values, for example, String. * numeric.c (num_scalar_p): new method. [ruby-dev:27936] * lib/complex.rb (Complex#scalar?): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * sprintf.c (rb_str_format): integer overflow check added.matz2005-12-072-3/+16
| | | | | | | * sprintf.c (GETASTER): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e