* eval.c (set_method_visibility): should have clear cache forq
updated visibility.
* numeric.c (flo_to_s): default format precision to be "%.16g".
* util.c (ruby_strtod): use own strtod(3) implementation to avoid
locale hell. Due to this change "0xff".to_f no longer returns 255.0
* eval.c (avalue_to_yvalue): new function to distinguish yvalue
(no-arg == Qundef) from svalue (no-arg == Qnil).
* eval.c (rb_yield_0): use avalue_to_yvalue().
* eval.c (assign): warn if val == Qundef where it means rhs is
void (e.g. yield without value or call without argument).
* parse.y (value_expr): need not to warn for WHILE and UNTIL,
since they can have return value (via valued break).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
also be detected.
* eval.c (rb_eval_cmd): cbase should not be NULL; it should be
either ruby_wrapper or Object.
* enum.c (enum_each_with_index): should return self.
* process.c (proc_setpgrp): should return value for non-void function.
* process.c (proc_getpgid): should raise exception if getpgid() return -1.
* string.c (rb_str_ljust): should return a duplicated string.
* string.c (rb_str_rjust): ditto.
* string.c (rb_str_center): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
lastline and lastmatch in the thread struct for later restore.
* eval.c (rb_thread_save_context): restore lastline and lastmatch.
* numeric.c (flo_to_s): should handle negative float value.
* class.c (rb_include_module): should check whole ancestors to
avoid duplicate module inclusion.
* string.c (trnext): should check backslash before updating "now"
position.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: get --enable-shared to work on MacOS X.
* Makefile.in: make $(LIBRUBY_SO) depend on miniruby properly.
Now `make -jN' should work without a problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: Link libc_r against the ruby executable on
FreeBSD, which is the first attempt to work around a certain
problem regarding pthread on FreeBSD. It should make ruby/libruby
happy when it loads an extention to a library compiled and linked
with -pthread. Note, however, that libruby is _not_ linked with
libc_r so as not to mess up pthread unfriendly stuff including
apache+mod_ruby and vim6+ruby_interp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (rb_gc_call_finalizer_at_exit): clear klass member of
terminating object.
* eval.c (rb_call): raise exception for terminated object.
* bignum.c (bigdivrem): t2 might be too big for signed long; do
not use rb_int2big(), but rb_uint2big().
* error.c (rb_load_fail): new func to report LoadError.
* ruby.c (load_file): use rb_load_fail.
* eval.c (ruby_finalize): should enclosed by PUSH_TAG/POP_TAG.
* gc.c (rb_gc_mark): link 2 of NODE_IFUNC should not be explicitly
marked. it may contain non object pointer.
* re.c (reg_s_last_match): Regexp::last_match(nth) returns nth
substring of the match (alternative for $& and $<digit>).
* eval.c (rb_mod_define_method): wrong comparison for blocks.
* gc.c (id2ref): should handle Symbol too.
* gc.c (id2ref): should print original ptr value
* eval.c (rb_iterate): NODE_CFUNC does not protect its data
(nd_tval), so create new node NODE_IFUNC for iteration C
function.
* eval.c (rb_yield_0): use NODE_IFUNC.
* gc.c (rb_gc_mark): support NODE_IFUNC.
* gc.c (mem_error): prohibit recursive mem_error().
(ruby-bugs-ja:PR#36)
* eval.c (rb_thread_fd_writable): should not switch context if
rb_thread_critical is set.
* eval.c (rb_thread_wait_fd): ditto.
* eval.c (rb_thread_wait_for): ditto.
* eval.c (rb_thread_select): ditto.
* eval.c (rb_thread_join): join during critical section causes
deadlock.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12 b2dd03c8-39d4-4d8f-98ff-823fe69b080e