nobu
d5639df795
* eval.c (rb_gc_mark_threads): leave 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-29 15:00:15 +00:00
nobu
89eb20764e
* eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS,
...
NEW_VALIAS), parse.y (fitem): allow dynamic symbols to
NODE_UNDEF and NODE_ALIAS.
backported from trunk. fixed: [ruby-dev:28105]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-26 13:33:14 +00:00
matz
ccf3fff6ed
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-26 08:18:33 +00:00
nobu
f1f2012312
* eval.c (eval_under_i): evaluate source in caller's frame.
...
[ruby-dev:28076]
* eval.c (rb_call_super): use original method name on exception.
[ruby-dev:28078]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-20 13:41:47 +00:00
akr
76be880cfd
* eval.c (bmcall): fix a GC problem by tail call on
...
IA64 with gcc 4.0.3 20051216 (prerelease).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-16 18:34:57 +00:00
akr
f7d72f1e65
precedes registering global VALUE variables before initializing it.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-12 03:36:49 +00:00
matz
e585523a2b
* 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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-12 00:36:54 +00:00
nobu
d0e78ab05d
* eval.c (umethod_bind): adjust invoking class for module method.
...
[ruby-dev:27964]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-07 17:08:40 +00:00
matz
250d6dfcb4
* eval.c (call_trace_func): klass parameter should be a
...
class/module that defines calling method. [ruby-talk:169307]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-07 15:46:49 +00:00
matz
80f356ac53
* eval.c (exec_under): avoid accessing ruby_frame->prev.
...
[ruby-dev:27948]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-06 07:48:31 +00:00
nobu
0ee3c7b1d7
* eval.c (rb_funcall2): allow to call protected methods.
...
fixed: [ruby-dev:27890]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-30 15:51:05 +00:00
matz
90509da425
* eval.c (rb_call_super): should call method_missing if super is
...
called from Kernel method.
* eval.c (exec_under): frame during eval should preserve external
information.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-01 13:45:00 +00:00
matz
222ee5ee46
* rubysig.h (CHECK_INTS): prevent signal handler to run during
...
critical section. [ruby-core:04039]
* eval.c (load_wait): need not to call rb_thread_schedule()
explicitly. [ruby-core:04039]
* eval.c (rb_thread_schedule): clear rb_thread_critical.
[ruby-core:04039]
* st.c (st_free_table): do not call free() but xfree().
[ruby-core:06205]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-19 14:12:04 +00:00
nobu
fa50f60316
* eval.c, gc.c, time.c: made internal symbols static. [ruby-dev:27435]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-18 17:36:20 +00:00
nobu
edecc47890
* eval.c (rb_obj_respond_to): check if obj responds to the given
...
method with the given visibility. [ruby-dev:27408]
* eval.c (rb_respond_to): conform to Object#respond_to?. [ruby-dev:27411]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-11 12:42:50 +00:00
nobu
5480e9e4d7
* eval.c (Init_Binding): add Binding#dup method. [yarv-dev:666]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-08 11:05:08 +00:00
nobu
c269ff0776
* evalc. (rb_f_send): underscores need to be escaped.
...
fixed by Doug Kearns. [ruby-core:06053]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-28 22:22:44 +00:00
nobu
79958f7c74
* eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when
...
autoload succeeded.
* variable.c (rb_autoload_load): now return true if autoload
succeeded. fixed: [ruby-dev:27331]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-28 15:58:32 +00:00
matz
81b728c243
* eval.c (set_trace_func): add rb_secure(4) to prevent adding
...
tracing function.
* lib/delegate.rb: document update from James Edward Gray II
<james@grayproductions.net>. [ruby-core:05942]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-26 13:59:47 +00:00
akr
2aac24ebf4
* eval.c (unknown_node): show more information. [ruby-dev:26196]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-24 15:20:06 +00:00
akr
b160528bbb
* eval.c (thread_mark): mark th->last_status. [ruby-dev:27179]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-20 09:26:35 +00:00
nobu
9a7b502846
* eval.c (BEGIN_CALLARGS): pop halfly pushed status.
...
fixed: [ruby-dev:26881]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-13 12:47:43 +00:00
matz
2ca6c3a16a
* eval.c (rb_call0): prohibit calling tainted method (>2) when
...
$SAFE == 0.
* sprintf.c (rb_f_sprintf): warn "too many argument" on verbose
mode (-v/-w); backported from 1.9. [ruby-dev:26963]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-09 13:15:16 +00:00
nobu
9e23e9a078
* eval.c (rb_thread_switch): convert all exceptions to
...
SystemExit. fixed: [ruby-core:05724]
* eval.c (rb_thread_terminated): show backtrace before propagate
exceptions to main thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-07 01:45:40 +00:00
matz
36aa5671aa
* eval.c (rb_call0): wrong condition for $SAFE restoration.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-01 08:13:30 +00:00
matz
c704c569d5
* eval.c (method_arity): should return proper arity value.
...
[ruby-dev:26390]
* eval.c (rb_add_method): preserve safe level in the environment
where a method is defined .
* eval.c (rb_call0): restore preserved safe level in the method
execution.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-01 06:56:07 +00:00
nobu
e89058bcaa
* eval.c (rb_rescue2): intialization miss. fixed: [ruby-dev:26917]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-30 14:06:55 +00:00
nobu
0b7d1b404f
* eval.c (terminate_process): take String message.
...
* eval.c (rb_thread_switch): propagate the exception caused thread
termination directly. fixed: [ruby-core:05552]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-17 14:58:47 +00:00
nobu
5e8b113d4d
* eval.c (rb_mod_autoload_p, rb_f_autoload_p): added rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-16 03:43:44 +00:00
nobu
6794aead0d
* eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE.
...
[ruby-dev:26800]
* range.c (range_check, range_init): reduce uselse exceptions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-14 15:39:39 +00:00
nobu
b54022b752
* eval.c (rb_block_pass): distinguish current block from others.
...
fixed: [ruby-dev:26274]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 09:52:06 +00:00
nobu
c970cc64e4
* eval.c (rb_yield_0): push yielded node instead of yielding.
...
fixed: [yarv-dev:549]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-29 01:00:07 +00:00
matz
38d5918439
* gc.c (obj_free): make message formant consistent with one from
...
gc_mark(). [ruby-talk:149668]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 14:29:13 +00:00
matz
a12c1e4bd2
revered all LLP64 modifies due to portability reason.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 03:07:02 +00:00
matz
f933f9d3a5
* gc.c (id2ref): must not assign pointers to long int. use
...
LONG_LONG instead if SIZEOF_LONG < SIZEOF_VOIDP.
[ruby-talk:149645]
* ruby.h: use LONG_LONG to simplify the change.
[ruby-talk:149645]
* eval.c (rb_f_throw): replace all '0x%lx' by '%p'.
[ruby-talk:149553]
* missing/vsnprintf.c (BSD_vfprintf): '%p' need to handle 64bit
size pointer. [ruby-talk:149553]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 02:42:16 +00:00
matz
bdb357e0d2
* error.c (syserr_initialize): add 1 byte for snprintf() size for
...
NUL at the end. [ruby-dev:26574]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 14:59:01 +00:00
matz
5b7e24d744
* io.c (rb_io_inspect): replace sprintf() with "%s" format all
...
over the place by snprintf() to avoid integer overflow.
* sample/svr.rb: service can be stopped by ill-behaved client; use
tsvr.rb instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 08:25:39 +00:00
ocean
a2fca56499
* eval.c (rb_call0): make the pointer to NODE volatile
...
instead of NODE itself.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-18 12:41:18 +00:00
akr
7633fee306
* eval.c (rb_call0): make body volatile to avoid optimization problem.
...
[ruby-dev:26195]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-18 05:41:03 +00:00
nobu
30be8467ce
* eval.c (rb_thread_save_context): must not switch contexts during
...
re-allocating stack. fixed: [ruby-core:05219]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-05 14:28:00 +00:00
akr
179a0025aa
* defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
...
(flush_register_windows): declare flush_register_windows.
* eval.c (flush_register_windows): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-02 09:10:06 +00:00
matz
04f006aea3
* eval.c (rb_eval): pre-evaluate argument for unambiguous
...
evaluation order. [ruby-dev:26383]
* lib/delegate.rb (Delegator::method_missing): forward unknown
method to the destination. suggested by
<christophe.poucet@gmail.com>. [ruby-talk:146776]
* process.c (detach_process_watcher): terminate process watcher
thread right after rb_waitpid() succeed. [ruby-talk:146430]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-30 06:20:09 +00:00
ocean
477187defd
* dir.c, eval.c, hash.c, process.c, ruby.c: avoid warning "unused
...
variable" [ruby-dev:26387]
(patch from Kazuhiro NISHIYAMA)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-28 13:09:58 +00:00
akr
b3f139fb96
* eval.c (FUNCTION_CALL_MAY_RETURN_TWICE): DUMMY_SETJMP is replaced
...
because setjmp is not enough to fix getcontext and SPARC register
window problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-20 10:00:23 +00:00
matz
f87aa95e94
* signal.c (sigexit): call rb_thread_signal_exit() instead of
...
rb_exit(). [ruby-dev:26347]
* eval.c (rb_thread_signal_exit): a new function to exit on main
thread.
* eval.c (rb_thread_switch): exit status should be retrieved from
ruby_errinfo.
* eval.c (rb_f_exit): ensure exit(0) should call
exit(EXIT_SUCCESS).
* missing/mkdir.c: remove. [ruby-core:05177]
* lib/delegate.rb (SimpleDelegator::__setobj__): need check for
recursive delegation. [ruby-core:04940]
* misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-12 16:58:43 +00:00
akr
4456e39dc5
* eval.c (ruby_longjmp): new macro to call longjmp, setcontext, etc.
...
(ruby_setjmp): new macro to call setjmp, getcontext, etc.
(ruby_setjmp): call setjmp before getcontext to avoid IA64 register
stack problem.
[ruby-talk:144939]
* gc.c (Init_stack): remove IA64_MAGIC_STACK_LIMIT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-09 11:18:31 +00:00
nobu
aac8fbf09f
* enum.c (enum_min_by, enum_max_by): return nil if no iteration.
...
fixed: [ruby-dev:26245]
* eval.c (rb_need_block): ensure a block is given.
* eval.c (backtrace): skip successive frames sharing same node.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 23:33:51 +00:00
nobu
fc2d1043b9
* ChangeLog: fix entry format.
...
* eval.c (ruby_init): fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-25 23:09:05 +00:00
nobu
a5f61654e9
* dir.c (glob_helper): get rid of using String. [ruby-dev:26180]
...
* dir.c (push_braces): should skip balanced braces.
* eval.c (ruby_options), win32/win32.c (NtInitialize): move argument
intialization back. [ruby-dev:26180]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-18 14:39:27 +00:00
usa
a39febbf84
* eval.c (unknown_node): add volatile directive to prototype.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-13 02:30:15 +00:00