* eval.c (rb_thread_save_context): should not recycle scope object used
in a thread. fixed: [ruby-dev:28177]
6 lines of code changed in:
* ext/syck/rubyext.c: attribute name was truncated with Rev1.64.
14 lines of code changed in:
* 2005-12-31
3 lines of code changed in:
* lib/generator.rb: (Generator#initialize): should kill @loop_thread
before starting new thread. (occurs when called via Generator#rewind)
[ruby-dev:28184]
8 lines of code changed in:
Sorry again, incorrent exception propagation.
1 lines of code changed in:
Sorry, reverted. Mutex is damn slow.....
30 lines of code changed in:
* lib/generator.rb: uses Mutex instead of Thread.critical.
[ruby-dev:28184]
36 lines of code changed in:
* win32/Makefile.sub: VC++8 support.
15 lines of code changed in:
* gc.c (garbage_collect): mark objects refered from aborting threads.
[ruby-dev:28190]
16 lines of code changed in:
* lib/generator.rb: (Generator#initialize) ensured to stop @loop_thread.
Mr. Tanaka pointed out one Thread.pass is not enough. [ruby-dev:28185]
8 lines of code changed in:
* lib/generator.rb: (Generator#initialize) fixed dead lock. this occured
when end? was called before @loop_thread was stopped. [ruby-core:7029]
6 lines of code changed in:
declare rb_gc_abort_threads.
2 lines of code changed in:
unused function uscore_get removed.
0 lines of code changed in:
avoid a GC problem with RUBY_ALWAYS_GC= ./ruby -e ''.
3 lines of code changed in:
* lib/generator.rb: should work with another thread. (more robust code)
[ruby-dev:28177]
17 lines of code changed in:
* 2005-12-30
3 lines of code changed in:
* eval.c (rb_gc_mark_threads): keep unmarked threads which won't wake
up alone, and mark threads in the loading table. [ruby-dev:28154]
* eval.c (rb_gc_abort_threads), gc.c (gc_sweep): kill unmarked
threads. [ruby-dev:28172]
43 lines of code changed in:
fix "-e:1: undefined method `sub' for main:Object (NoMethodError)"
1 lines of code changed in:
* eval.c (rb_mod_define_method): should save safe_level in the
proc object. [ruby-dev:28146]
* test/drb/drbtest.rb (DRbService::self.ext_service): increase
timeout limit. a patch from Kazuhiro NISHIYAMA
<zn at mbf.nifty.com>. [ruby-dev:28132]
* eval.c (ev_const_get): fixed a bug in constant reference during
instance_eval. [yarv-dev:707]
* eval.c (ev_const_defined): ditto.
* lib/yaml.rb (YAML::add_domain_type): typo fixed. a patch from
Joel VanderWerf <vjoel at path.berkeley.edu>.
[ruby-talk:165285] [ruby-core:6995]
* ext/digest/sha2/sha2.c (ULL): support AIX C. a patch from
Kailden <kailden at gmail.com>. [ruby-core:06984]
* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory
leak.
* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory
leak by explicit symbol allocation.
* lib/delegate.rb (Delegator::method_missing): should delegate
block as well.
* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to
use Tempfile. A fix from Zev Blut <rubyzbibd at ubit.com>.
[ruby-core:06076]
* string.c: remove global functions work on $_.
338 lines of code changed in:
* eval.c (rb_mod_define_method): should save safe_level in the
proc object. [ruby-dev:28146]
* test/drb/drbtest.rb (DRbService::self.ext_service): increase
timeout limit. a patch from Kazuhiro NISHIYAMA
<zn at mbf.nifty.com>. [ruby-dev:28132]
* eval.c (ev_const_get): fixed a bug in constant reference during
instance_eval. [yarv-dev:707]
* eval.c (ev_const_defined): ditto.
* lib/yaml.rb (YAML::add_domain_type): typo fixed. a patch from
Joel VanderWerf <vjoel at path.berkeley.edu>.
[ruby-talk:165285] [ruby-core:6995]
* ext/digest/sha2/sha2.c (ULL): support AIX C. a patch from
Kailden <kailden at gmail.com>. [ruby-core:06984]
* ext/syck/rubyext.c (rb_syck_compile): avoid potential memory
leak.
* ext/syck/rubyext.c (syck_set_ivars): avoid potential memory
leak by explicit symbol allocation.
* lib/delegate.rb (Delegator::method_missing): should delegate
block as well.
* lib/cgi.rb (CGI::QueryExtension::MorphingBody): fix criteria to
use Tempfile. A fix from Zev Blut <rubyzbibd at ubit.com>.
[ruby-core:06076]
* string.c: remove global functions work on $_.
7 lines of code changed in:
* test/ruby/envutil.rb (EnvUtil.rubybin): search "ruby" instead of
"miniruby". [ruby-dev:28140]
9 lines of code changed in:
* 2005-12-29
3 lines of code changed in:
* lib/generator.rb: reimplemented Generator class with Thread instead of
callcc, in order to fix memory leak. [ruby-dev:28142]
45 lines of code changed in:
* ia64.s: remove .pred.safe_across_calls directive.
reported by WATANABE Tetsuya. [ruby-dev:28141]
5 lines of code changed in:
* eval.c (struct thread): add bstr_max.
(rb_thread_save_context): use realloc instead of REALLOC_N
to avoid GC.
19 lines of code changed in:
* 2005-12-28
3 lines of code changed in:
* lib/optparse.rb (CompletingHash#match): fix for 1.9.
5 lines of code changed in:
update previous change.
7 lines of code changed in:
add ML ref.
2 lines of code changed in:
* configure.in: define IA64 for portability. (HP aC++/ANSI C doesn't
define __ia64__.)
don't check libunwind stuff.
check __libc_ia64_register_backing_store_base.
* defines.h: declare rb_ia64_bsp and rb_ia64_flushrs.
(flush_register_windows): call rb_ia64_flushrs on IA64.
* ia64.s: new file for IA64.
it is separated from C program files because
Intel C++ Compiler for IA64 doesn't support inline assembly.
* common.mk (ia64.$(OBJEXT)): new target.
* ruby.h (RUBY_INIT_STACK): defined.
(ruby_init_stack): declared for RUBY_INIT_STACK.
* main.c (main): precedes RUBY_INIT_STACK before ruby_init.
* gc.c (rb_gc_register_stack_start): new global variable on IA64.
(garbage_collect): simplify register stack marking code.
don't use libunwind.
(Init_stack): initialize rb_gc_register_stack_start.
(ruby_init_stack): new function for RUBY_INIT_STACK.
* eval.c (struct thread): add bstr_pos member for original position of
register stack.
(rb_thread_save_context): simplify register stack saving code.
don't use libunwind.
(rb_thread_restore_context_0): new function. moved from
rb_thread_restore_context except the stack position checking code.
don't use libunwind for IA64 register stack.
(register_stack_extend): new function.
(stack_extend): make it self-recursive with
the stack position checking code in old rb_thread_restore_context.
(rb_thread_restore_context): just call stack_extend.
(flush_register_windows): removed.
262 lines of code changed in:
* process.c: new method Process.exec. [ruby-dev:28107]
6 lines of code changed in:
* 2005-12-27
3 lines of code changed in:
* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):
treat wildcard character in commonName. [ruby-dev:28121]
8 lines of code changed in:
* 2005-12-26
3 lines of code changed in:
* added an old entry.
4 lines of code changed in:
(rb_f_test): fix document. [ruby-dev:28087]
11 lines of code changed in:
* file.c (w32_io_info): should return handle because FileIndex is
valid only while file is open. [ruby-dev:28088]
21 lines of code changed in:
* 2005-12-21
3 lines of code changed in:
* test/pathname/test_pathname.rb (test_kernel_open): use
File.identical?.
[ruby-talk:171804]
7 lines of code changed in:
* eval.c (eval_under_i): evaluate source in caller's frame.
[ruby-dev:28076]
9 lines of code changed in:
* ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility
with previous Ruby versions, documents are no longer headless.
6 lines of code changed in:
* ext/syck/rubyext.c (syck_node_transform): ruby object holding
explicitly freed SyckNode caused SEGV. [ruby-dev:28067]
... I think syck GC problem was solved now!
9 lines of code changed in:
* 2005-12-20
3 lines of code changed in:
* io.c (rb_f_backquote): fix a GC problem on
IA64 with gcc 4.0.3 20051216 (prerelease) -O3.
7 lines of code changed in:
no message
2 lines of code changed in:
* parse.y (rb_symname_p): fixed wrong validation. [ruby-dev:28047]
34 lines of code changed in:
* Makefile.in (XCFLAGS): separated as well as win32/Makefile.sub.
* main.c (always_gc): dllimport is required for VC to import a DLL
symbol. fixed: [ruby-dev:28051]
12 lines of code changed in:
* ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is
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.
74 lines of code changed in:
* st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert
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.
19 lines of code changed in:
simplify previous change.
2 lines of code changed in:
* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): activate only
before gcc 4.0.3 on SPARC and IA64.
23 lines of code changed in:
* 2005-12-19
3 lines of code changed in:
* ext/syck/rubyext.c: sorry, I reverted my "should set newly
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)
13 lines of code changed in:
* ext/syck/rubyext.c (syck_emitter_reset): should initialize
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)
25 lines of code changed in:
* 2005-12-17
3 lines of code changed in:
* bignum.c (rb_big_rshift): fix a GC problem on
IA64 with gcc 4.0.3 20051216 (prerelease).
7 lines of code changed in:
* eval.c (bmcall): fix a GC problem by tail call on
IA64 with gcc 4.0.3 20051216 (prerelease).
9 lines of code changed in:
* ext/syck/rubyext.c (rb_syck_compile): fixed memory leak.
* ext/syck/rubyext.c: should protect global variable from GC.
9 lines of code changed in:
revert previous change.
2 lines of code changed in:
refine "unknown data type" message.
2 lines of code changed in:
* ext/syck/rubyext.c (syck_scalar_value_set): should set newly
allocated memory instead of RString's internal storage.
3 lines of code changed in:
* 2005-12-16
3 lines of code changed in:
* ext/syck/rubyext.c (syck_resolver_tagurize): fixed memory leak.
* 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.
20 lines of code changed in:
* lib/tmpdir.rb: merged RDoc patch from Eric Hodel <drbrain at
segment7.net>. [ruby-core:06894]
10 lines of code changed in:
require tempdir instead of tempfile.
1 lines of code changed in:
* 2005-12-15
3 lines of code changed in:
* ext/zlib/zlib.c (zstream_run): fix a GC problem by tail call on
x86_64 with gcc 4.0.3 20051111 (prerelease) (Debian 4.0.2-4)
6 lines of code changed in:
* lib/rdoc/parsers/parse_c.rb (find_class_comment): fix for class
document with prototypes. [ruby-core:06863]
6 lines of code changed in:
* dir.c (has_magic): glob names contain alphabets to enable case fold
search. [ruby-dev:27735]
* dir.c (Init_Dir): FNM_SYSCASE which is default case fold flag.
[ruby-dev:23296]
32 lines of code changed in:
* 2005-12-14
3 lines of code changed in:
* marshal.c (r_object0): fix a GC problem for reading a bignum on
IA64 with gcc 3.3.5 (Debian 1:3.3.5-13).
6 lines of code changed in:
* re.c (rb_reg_regcomp): fix a GC problem on x86_64 with
gcc 3.3.5 (Debian 1:3.3.5-13).
7 lines of code changed in:
* array.c (rb_ary_diff): fix a GC problem on IA64 with
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.
10 lines of code changed in:
* 2005-12-13
3 lines of code changed in:
* sprintf.c (rb_str_format): fix a GC problem.
[ruby-dev:28001]
7 lines of code changed in:
* test/openssl/test_ssl.rb (test_parallel): call GC.start to close
unused files. [ruby-dev:27981]
6 lines of code changed in:
remove unused variables.
0 lines of code changed in:
* 2005-12-12
3 lines of code changed in:
indent "if" body.
3 lines of code changed in:
precedes registering global VALUE variables before initializing it.
11 lines of code changed in:
* range.c (range_cover): new method Range#cover? added. the
method name might be changed. thanks to takano32 at
http://www.rubyist.net/~matz/20051210.html#c08 for name
suggestion. [ruby-talk:167182]
40 lines of code changed in:
* ext/digest/digest.c (rb_digest_base_s_digest): add volatile to
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]
73 lines of code changed in:
* ext/tk/lib/tkextlib/SUPPORT_STATUS: update to support libraries in
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.
266 lines of code changed in:
* 2005-12-11
3 lines of code changed in:
(test_remote_array_and_hash): pseudo remote objects are protected
against GC. [ruby-dev:27911]
11 lines of code changed in:
* lib/matrix.rb: add Matrix#determinant_e, Matrix#rank_e.
[ruby-dev:27820] and related thread.
143 lines of code changed in:
* eval.c (calling_scope_t): gave names to magic numbers for rb_call().
[ruby-dev:27978]
37 lines of code changed in:
* 2005-12-10
3 lines of code changed in:
remove unused variable `tmp'.
0 lines of code changed in:
* lib/rexml/encoding.rb (encoding=): give priority to particular
conversion to iconv. [ruby-core:06520]
62 lines of code changed in:
* 2005-12-09
3 lines of code changed in:
* range.c (range_include): return false unless included in numeric
range. fixed: [ruby-dev:27975]
9 lines of code changed in:
* eval.c (umethod_bind): adjust invoking class for module method.
[ruby-dev:27964]
21 lines of code changed in:
* 2005-12-08
3 lines of code changed in:
* eval.c (call_trace_func): klass parameter should be a
class/module that defines calling method. [ruby-talk:169307]
7 lines of code changed in:
* sprintf.c (rb_f_sprintf): [ruby-dev:27967]
* 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.
57 lines of code changed in:
* sprintf.c (rb_str_format): integer overflow check added.
* sprintf.c (GETASTER): ditto.
16 lines of code changed in:
* ext/tk/tcltklib.c: forgot to update RELEASE_DATE.
* ext/tk/lib/tk.rb: ditto.
* ext/tk/sample/demos-en/menu.rb: commit miss.
12 lines of code changed in:
* 2005-12-07
3 lines of code changed in:
* ext/tk/README.macosx-aqua: [new document] tips to avoid the known
bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.
* ext/tk/tcltklib.c: fix bug on switching threads and waiting on the
deleted interpreter on vwait and tkwait command.
* ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk
interpreter.
* ext/tk/sample/demos-jp/image3.rb: [bug fix] wrong argument.
* ext/tk/sample/demos-en/image3.rb: ditto.
* ext/tk/sample/demos-jp/menu.rb: fix message for MacOS X.
* ext/tk/sample/demos-jp/menu8x.rb: ditto.
* ext/tk/sample/demos-en/menu.rb: ditto.
* ext/tk/sample/demos-jp/widget; update version-info.
* ext/tk/sample/demos-en/widget; ditto.
203 lines of code changed in:
ChangeLog fix.
0 lines of code changed in:
* gc.c (ruby_xmalloc2): change check for integer overflow.
[ruby-dev:27399]
* gc.c (ruby_xrealloc2): ditto.
* eval.c (exec_under): avoid accessing ruby_frame->prev.
[ruby-dev:27948]
54 lines of code changed in:
* 2005-12-02
3 lines of code changed in:
* dir.c (Compare): should not fold double byte alphabet on win9x.
5 lines of code changed in: