YIELD_FUNC_LAMBDA which avoids automatic `avalue' conversion for
arguments. This fixes a bug where [1,[2,3]].map(&:object_id)
fails.
* intern.h, object.c: Hide rb_proc_new() from intern.h. It should
not be considered an official API function yet.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c (sym_to_proc), test/ruby/test_symbol.rb: Add back
Symbol#to_proc, now that it passes the tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
backported from matzruby / 1.9.
* eval.c (rb_frame_this_func), intern.h: New internal function.
* intern.h (RETURN_ENUMERATOR): Use rb_frame_this_func() instead
of rb_frame_last_func(), to accommodate the behavior to that of
1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add a new exception class StopIteration, which breaks Kernel#loop
iteration when raised; backported from 1.9.
* enumerator.c (enumerator_next, enumerator_rewind): Implement
#next and #rewind using the "generator" library.
* lib/generator.rb: Implement Enumerable::Enumerator#next and
#rewind.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
__builtin_setjmp, _setjmp over setjmp and sigsetjmp.
[ruby-core:16023], [ruby-core:16086]
* configure.in (--with-setjmp-type): new option to override the
default rule in the above.
* eval.c (ruby_setjmp, ruby_longjmp), gc.c (rb_setjmp),
node.h (rb_jmpbuf_t): use RUBY_SETJMP, RUBY_LONGJMP and
RUBY_JMP_BUF.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
condition has been evaluated, not before; submitted by Rocky
Bernstein in #18722.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c, gc.c (setjmp): do not use _setjmp if sigsetjmp is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
define/undef on a signleton class. [ruby-core:09959]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
any live threads are waiting. [ruby-dev:30653]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
with a BeOS system function. [ruby-core:10830]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
inherited from the creating thread. [ruby-core:10607]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
it's invoked from within lambda body. [ruby-talk:248136]
* eval.c (proc_invoke): handle TAG_NEXT which would be caused by
next in the lambda body as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
block. [ruby-core:10609]
* test/ruby/test_beginendblock.rb (test_should_propagate_exit_code):
test for exit in END block. [ruby-core:10760]
* test/ruby/test_beginendblock.rb (test_should_propagate_signaled):
test for signal in END block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (ruby_cleanup): re-send signal. [ruby-dev:30516]
* eval.c (rb_thread_interrupt): instantiate SignalException.
* eval.c (rb_thread_signal_raise): now takes signal number instead
of signal name.
* intern.h (rb_thread_signal_raise, ruby_default_signal): prototypes.
* signal.c (esignal_init): takes a signal number and an optional
signal name.
* signal.c (interrupt_init): pass SIGINT always.
* signal.c (ruby_default_signal): invoke system default signal
handler.
* signal.c (rb_signal_exec, trap): handle SIGTERM. [ruby-dev:30505]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
.rb files, and not search actual library type. [ruby-dev:30414]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
load_wait, search_required, rb_require_safe), ext/extmk.rb: Fix
a bug where a statically linked extension cannot be autoloaded.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
it's called for the target class (ruby_cbase).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e