nobu
3da52c987f
* eval.c (rb_mod_autoload_p, rb_f_autoload_p): added rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-16 03:43:44 +00:00
nobu
e117437005
* 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/trunk@8988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-14 15:39:39 +00:00
nobu
3b602c7a74
* eval.c (rb_block_pass): distinguish current block from others.
...
fixed: [ruby-dev:26274]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 09:52:06 +00:00
nobu
0c624c4bf2
* eval.c (formal_assign): let default values override
...
arguments to zsuper. fixed: [ruby-dev:26743]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-09 12:53:38 +00:00
nobu
09d57b8e0c
* parse.y (f_block_arg), eval.c (rb_yield_0): deal with dynamic
...
variable lambda arguments. [ruby-core:05540]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-08 23:24:29 +00:00
nobu
779f4383aa
* eval.c (assign): deal with new block argument.
...
fixed: [ruby-core:05536]
* eval.c (rb_node_arity): follow change of NODE_ARGS.
fixed: [ruby-dev:26761]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-08 13:14:08 +00:00
matz
aa2de9e3e0
* eval.c (return_jump): fix "can't across thread" error message
...
when no thread associated.
http://www.namikilab.tuat.ac.jp/~sasada/diary/200507.html#d31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-05 00:50:46 +00:00
nobu
710b99a16b
* eval.c (formal_assign): returns position of rest arguments variable.
...
* parse.y (f_rest_arg): use anonymous variable for rest arguments.
fixed: [ruby-dev:26647]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 15:18:38 +00:00
nobu
c83d6db61b
* enumerator.c (Init_Enumerator): provided features should have
...
extensions.
* eval.c (rb_feature_p): returns type of the feature instead of
extension.
* eval.c (search_required): ruby library should be prior to statically
linked extentions. fixed: [ruby-dev:26711]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 15:09:03 +00:00
nobu
0ee34e24e3
* 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/trunk@8864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-29 01:00:07 +00:00
nobu
396e297f2d
* eval.c (rb_call0): fix calling zsuper from a method with anonymous
...
rest argument. [ruby-dev:26639]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-29 00:58:14 +00:00
matz
759a63b6a3
* parse.y (lambda): Perl6 style -> lambda expression. [NEW]
...
[VERY EXPERIMENTAL]
* 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]
* dir.c (dir_each): rewinddir(3) before iteration.
[ruby-talk:149628]
* 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/trunk@8847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-27 07:27:19 +00:00
nobu
80914a2666
* eval.c (rb_fd_select): the all three fd_sets must be long enough for
...
select. fixed: [ruby-talk:149059]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-23 02:46:41 +00:00
nobu
6524f34a26
* sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String,
...
using missing/vsnprintf.c. [ruby-dev:26580]
* missing/vsnprintf.c: made the output changeable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-23 01:02:18 +00:00
matz
7af1a11438
* 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/trunk@8802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 14:59:01 +00:00
matz
30434d4078
* error.c (syserr_initialize): need to allocate an additional byte
...
for NUL at the end. [ruby-dev:26574]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 13:52:42 +00:00
matz
2031602787
* signal.c (trap): remove sigexit(); handle "EXIT" via sig_exec().
...
[ruby-dev:26440]
* io.c (rb_io_inspect): replace sprintf() with "%s" format all
over the place by snprintf() to avoid integer overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-19 08:31:04 +00:00
ocean
c2eeec8fd4
* eval.c (rb_call0): make the pointer to NODE volatile
...
instead of NODE itself.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-18 12:41:18 +00:00
akr
06f6c2d355
* eval.c (rb_call0): make body volatile to avoid possible optimization
...
problem.
[ruby-dev:26195]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-18 05:43:13 +00:00
nobu
27ca40e36a
* eval.c, intern.h (rb_proc_call, rb_obj_method, rb_method_call):
...
export.
* ext/enumerator/enumerator.c (enumerator_with_index): [EXPERIMENTAL]
added a new method Enumerator#with_index. [ruby-talk:147728]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-11 14:50:42 +00:00
nobu
a327eb95d9
* 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/trunk@8726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-05 14:28:00 +00:00
akr
ef87757c10
fix indent.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-02 08:20:25 +00:00
akr
7215b72363
* defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64.
...
(flush_register_windows): declare flush_register_windows.
* eval.c (flush_register_windows): new function.
* ruby.h (NOINLINE): move up to be effective in defines.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-02 08:11:24 +00:00
akr
12bed479ec
* configure.in: check select_large_fdset.
...
* eval.c: use select_large_fdset to support large file descriptors
on Solaris. [ruby-dev:26404]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-02 06:22:14 +00:00
matz
639bd5e78f
* 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/trunk@8676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-30 06:20:09 +00:00
ocean
08133b1344
* dir.c, eval.c, parse.y, process.c, ruby.c: avoid warning "unused
...
variable" [ruby-dev:26387]
* dir.c (glob_helper): avoid warning "enumeration value `RECURSIVE'
not handled in switch" [ruby-dev:26392]
(patch from Kazuhiro NISHIYAMA)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-28 13:08:32 +00:00
akr
258f9f49d6
* 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/trunk@8651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-20 10:00:23 +00:00
matz
8db3dc39d6
* 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]
* hash.c (env_aset): do not treat nil as key-removing value.
[ruby-list:40865]
* parse.y (method_call): allow aref expression ([]) to take a
block.
* parse.y (block_dup_check): a function to check duplication of
a block argument and an actual block.
* lib/delegate.rb (SimpleDelegator::__setobj__): need check for
recursive delegation. [ruby-core:04940]
* lib/cgi.rb: add underscore aliases CGI::escape_html,
CGI::unescape_html, CGI::escape_element, CGI::unescape_element.
[ruby-core:05058]
* misc/ruby-mode.el (ruby-expr-beg): fix looking point drift.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-12 16:56:06 +00:00
akr
86aeca931c
* eval.c (rb_gc_mark_threads): curr_thread may not be part of the
...
thread list.
[ruby-dev:26312]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-12 16:23:08 +00:00
akr
dececad56c
* eval.c (unknown_node): show more information. [ruby-dev:26196]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-10 14:57:37 +00:00
akr
27c228d681
* 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/trunk@8601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-09 11:18:31 +00:00
akr
48f2d3a72d
* configure.in, eval.c, gc.c: use libunwind only on HP-UX.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-09 09:34:31 +00:00
nobu
17920c7a9e
* 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/trunk@8590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-07 23:33:51 +00:00
nobu
c9d126aec9
* intern.h (rb_fdset_t): deal with fd bit sets over FD_SETSIZE.
...
fixed: [ruby-dev:26187]
* eval.c (rb_fd_init, rb_fd_term, rb_fd_zero, rb_fd_set, rb_fd_clr,
rb_fd_isset, rb_fd_copy): ditto.
* io.c (rb_io_wait_readable, rb_io_wait_writable, rb_f_select): ditto.
* ext/io/wait/wait.c (io_wait): ditto.
* ext/socket/socket.c (wait_connectable, unix_recv_io): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-03 14:23:17 +00:00
nobu
0d5b973720
* vms/vmsruby_private.c, vms/vmsruby_private.h: private routines
...
for VMS port are added.
* eval.c (ruby_init): change to call VMS private intialization routine.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-25 23:35:25 +00:00
nobu
b272844547
* dir.c (glob_helper): get rid of using String. [ruby-dev:26180]
...
* 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/trunk@8476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-18 02:08:00 +00:00
nobu
8726077bc1
* eval.c (unknown_node): add volatile directive to prototype.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-13 14:33:02 +00:00
nobu
058df1f632
* eval.c (unknown_node): ignore broken NODE to get rid of accessing
...
possibly inaccessible address. fixed: [ruby-dev:26122]
should emit more useful information like [ruby-dev:26126], though.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-11 16:25:24 +00:00
matz
6fcad7f1c5
* eval.c (break_jump): break should not cross functions.
...
[ruby-list:40818]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-11 07:00:32 +00:00
nobu
c3aa92a921
* eval.c (TMP_ALLOC): use macro NEW_NODE() to get rid of warnings on
...
platforms which have no alloca(). fixed: [ruby-talk:141301]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-10 16:04:52 +00:00
nobu
1ec656e349
* eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at
...
parser. fixed: [ruby-dev:26113]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-01 00:15:25 +00:00
nobu
27a9df2a6b
* configure.in (RUBY_FUNC_ATTRIBUTE): check for function attribute.
...
[ruby-dev:26109]
* eval.c, gc.c: moved noinline to configure.in.
* rubyio.h (DEPRECATED): moved to configure.in.
* ruby.h (DEPRECATED, NOINLINE): default definition.
* win{32,ce}/Makefile.sub (config.h): deprecated and noinline for
__declspec() are available for VC++7 or later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-30 02:59:44 +00:00
nobu
7b81c9d7a3
* eval.c (rb_provided): should check also path name to be loaded.
...
fixed: [ruby-dev:26093]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-23 02:45:38 +00:00
nobu
e313b6a9f1
* eval.c (search_required): deal with features with path too.
...
* intern.h (rb_file_expand_path): prototype. fixed: [ruby-dev:26082]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-19 14:02:48 +00:00
nobu
07eead8071
* eval.c (search_required): handle static linked extensions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8353 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-18 23:38:16 +00:00
nobu
8121738943
* eval.c (search_required, rb_require_safe): expand path in
...
rb_features. [ruby-dev:26079]
* file.c (rb_find_file_ext): return absolute path.
* ext/extmk.rb: expand path for ext/**/extconf.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-18 15:01:21 +00:00
matz
ce3eb0b204
* eval.c (rb_attr): attribute name check added.
...
* numeric.c (flo_plus): small typo fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-18 06:38:30 +00:00
shugo
9961c29c25
* eval.c (rb_call0): "return" event hook should be always executed
...
if event_hooks is set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-07 08:38:05 +00:00
shugo
9606ff514f
* eval.c (rb_call0): call_cfunc() should be protected.
...
* eval.c (rb_add_event_hook): use K&R style.
* eval.c (rb_remove_event_hook): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 14:02:21 +00:00
shugo
1aeb9b93c2
* eval.c (rb_add_event_hook): new function to add a hook function for
...
interpreter events.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 13:05:46 +00:00