1048 Commits

Author SHA1 Message Date
nobu
5ddce4f7bc * eval.c (ev_const_defined, ev_const_get), variable.c
(rb_const_get_at, rb_const_get, rb_mod_remove_const): use Qundef
  as autoload marker.  [ruby-dev:18103], [ruby-dev:18184]

* eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
  Module#autoload, Module#autoload?.

* variable.c (rb_autoload, rb_autoload_load, rb_autoload_p):
  manage autoload constants per classes/modules.

* variable.c (rb_const_defined_at, rb_const_defined): return false
  for autoloading constants.

* class.c (rb_define_class, rb_define_module), eval.c (rb_eval),
  variable.c (rb_mod_const_at, rb_const_assign): removed autoload
  stuff.

* intern.h: prototypes; rb_autoload, rb_autoload_load,
  rb_autoload_p.

* lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
  do not treat unmatched argument as an option.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-29 00:11:11 +00:00
nobu
dc2bab2207 * eval.c, util.c: removed duplicated includes/defines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-27 11:33:46 +00:00
matz
b4fd4d6018 * eval.c (Init_Proc): Block/Proc separation. [huge change]
* eval.c (block_arity): returns exact arity number for Procs out
  of methods. also gives 1 for {|a|..}.

* string.c (rb_str_match): revert use of String#index for
  invocation like string =~ string.

* eval.c (rb_Array): move Object#to_a exclusion hack from
  splat_value().  need to be in eval.c for a while.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-26 08:22:33 +00:00
nobu
8a82c68e5b * eval.c (rb_longjmp): wrong jump.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-23 09:39:13 +00:00
nobu
0cc87df01c * eval.c (rb_longjmp): get rid of reentering while debug warning.
(ruby-bugs-ja:PR473)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-23 09:34:09 +00:00
matz
cec20793cb * eval.c (ruby_finalize): turn off ruby_debug flag before calling
at_exit procs and finalizers. (ruby-bugs-ja:PR473)

* ext/tcltklib/tcltklib.c (lib_mainloop_core): OK to block if
  there's no other thread. (ruby-bugs:PR#861)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-23 08:11:21 +00:00
matz
df62bb4fc9 * eval.c (rb_define_alloc_func): need not to disable
rb_call_super() for allocation functions. [ruby-core:1065]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-22 07:45:53 +00:00
nobu
d547df4c53 * eval.c (rb_eval): splat NODE_RESTARY. [ruby-dev:20268]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-21 17:46:42 +00:00
nobu
874eca3c04 * eval.c (rb_thread_fd_close): raise for writing threads.
[ruby-dev:20269]

* io.c (rb_io_close, io_reopen): ditto.

* io.c (io_reopen): keep stdio objects for stdin, stdout,
  and stderr.  [ruby-dev:19442]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-21 17:42:56 +00:00
matz
062351e6bb * error.c (syserr_initialize): prohibit specifying errno for
subclasses of SystemCallError.  in addition, if initialize is
  called for SystenCallError instance, its class be changed.
  [ruby-dev:20257]

* gc.c (run_final): to protect thread context switch, finalizers
  are wrapped in DEFER_INTS/ENABLE_INTS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-21 08:48:05 +00:00
matz
bec6d3b1b9 * eval.c (rb_thread_save_context): prohibit rb_gc_force_recycle()
on thread saved ruby_dyna_vars. [ruby-dev:20236]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-20 10:02:06 +00:00
matz
82cf98939f * eval.c (rb_yield_0): give warning for multiple values for a
block parameter.

* eval.c (rb_yield_values): a function to yield multiple values.

* array.c (sort_1): use rb_yield_values.

* enum.c (min_ii, max_ii): ditto.

* hash.c (rb_hash_update_block_i, delete_if_i, select_i,
  each_pair_i, env_each, env_reject_bang, env_select,
  env_update_i): ditto.

* struct.c (rb_struct_each_pair): ditto.

* eval.c (top_include): should include module in the current self,
  not ruby_top_self. [ruby-dev:20198]

* eval.c (top_include): stop inclusion to ruby_wrapper; give
  warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-20 06:29:23 +00:00
nobu
7f425b216b * eval.c (rb_f_missing): create exception instance by ordinal
method.

* error.c (rb_name_error, rb_sys_fail): ditto.

* error.c (exc_to_s, exit_status, name_err_name,
  nometh_err_args, syserr_errno, syserr_eqq): access
  attributes.

* error.c (name_err_initialize, nometh_err_initialize,
  syserr_initialize): initialize attributes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-20 01:51:32 +00:00
matz
7e35911e10 * ext/pty/pty.c (pty_finalize_syswait): join (using Thread#value)
before detach pid. [ruby-talk:71519]

* eval.c (PUSH_FRAME): save outer ruby_block. [ruby-list:37677],
  [ruby-dev:20202]

* eval.c (BEGIN_CALLARGS): restore outer block by using
  ruby_block->outer.

* eval.c (block_pass): do not alter block->prev, but block->outer.

* array.c (get_inspect_tbl): warning on wrong condition.

* eval.c (localjump_xvalue): renamed exitstatus to exit_value
  since it's not exit "status" after all.

* eval.c (localjump_error): add reason to LocalJumpError.

* compar.c (rb_cmpint): raise error via rb_cmperr(), if cmp value
  is nil. now take new 2 arguments.

* time.c (time_cmp): 2003-05-16 fix was incomplete.
  (ruby-bugs-ja:PR#458)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 15:45:46 +00:00
matz
6e52d10fe6 * object.c (init_copy): rename copy_object as initialize_copy,
since it works as copy constructor.

* eval.c (rb_add_method): initialize_copy should always be
  private, like initialize.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 05:41:08 +00:00
matz
f4ff7ccddf * array.c (get_inspect_tbl): check whether inspect_tbl value is a
valid array. (ruby-bugs-ja PR#65)

* array.c (inspect_ensure,rb_protect_inspect,rb_inspecting_p):
  use get_inspect_tbl().

* eval.c (rb_f_abort): call exit(1) if exception is raised.  This
  patch was made by Nobuyoshi Nakada <nobu.nokada@softhome.net> on
  2002-05-30.  (ruby-bugs-ja PR#236)

* signal.c: disable Ruby's interrupt handler at the beginning.
  (ruby-bugs-ja PR#236)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-19 04:52:55 +00:00
matz
6cbcafb9b9 * eval.c (block_pass): chain previous block to the pushing block.
* time.c (time_cmp): does not compare with numbers for
  interchangeability. (ruby-bugs-ja PR#458)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-16 05:13:17 +00:00
matz
5e8a9873a2 * eval.c (error_pos): use $deferr for output instead of stderr
directly.

* eval.c (error_print,error_handle,rb_longjmp,rb_thread_schedule):
  ditto.

* io.c (Init_IO): new variable $deferr which is default output
  port of error messages.

* io.c (rb_warn_m): new method "warn". [new]

* error.c (warn_print): use $deferr.

* error.c (rb_bug): ditto.

* error.c (err_append): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 05:53:08 +00:00
matz
776e2693e7 * string.c (rb_str_ljust): now takes optional argument to specify
pad string. [ruby-talk:70482]

* string.c (rb_str_rjust): ditto.

* string.c (rb_str_center): ditto.

* string.c (rb_str_justify): utility function.

* eval.c (rb_add_method): call singleton_method_added or
  method_added for every method definition (after ruby_running).
  [ruby-talk:70471]

* array.c (rb_ary_reverse_bang): Array#reverse! should not return
  nil even for arrays sized less than 2.

* io.c (argf_eof): should not block after reading all argument
  files. (ruby-bugs-ja PR#449)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-02 06:41:33 +00:00
matz
a268f439f2 * eval.c (splat_value): split splat_value() and avalue_splat().
* io.c: there's no way to set non-IO value to current_file, thus
  no need for argf_forward().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-25 09:20:51 +00:00
matz
d47be39735 * eval.c (proc_invoke): Proc#yield should pass through retry and
break like keyword yield. [ruby-talk:70034]

* eval.c (proc_invoke): orphan Proc now raises LocalJumpError for
  break and retry again.

* eval.c (rb_eval): ARGSCAT should splat the argument.

* eval.c (splat_value): splat operation function.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-25 08:54:52 +00:00
matz
e74149056b * variable.c (rb_mod_name): always return empty string for
anonymous class/module.  (ruby-bugs-ja PR#424)

* config.sub: stop forcing addition of -gnu to -linux.

* variable.c (classname): refactoring.

* variable.c (rb_class_path): __tmp__classpath__ handling moved
  from classname().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-10 08:37:12 +00:00
nobu
ae6b9ced18 * eval.c (rb_obj_is_method): indefinite return value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-09 16:52:28 +00:00
matz
8e09f5b907 * variable.c (rb_obj_remove_instance_variable): better message.
[ruby-talk:68987]

* variable.c (rb_mod_remove_const): ditto.

* object.c (rb_obj_ivar_get): ditto.

* object.c (rb_obj_ivar_set): ditto.

* parse.y (yylex): ditto.

* eval.c (rb_mod_define_method): Allow UnboundMethod as
  parameter.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-09 15:06:57 +00:00
matz
5cb4133e67 * bignum.c (BIGZEROP): macro to determine if x is a bignum zero.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-09 06:44:34 +00:00
matz
ed0b577108 * eval.c (Init_Proc): make Method and UnboundMethod independent.
They are like instance and its class. [ruby-core:00941]

* parse.y (yylex): disallow global variables like "$1ve".
  [ruby-core:00945]

* marshal.c (marshal_dump): Marshal.dump(0, false) should cause an
  error. (ruby-bugs-ja PR#421)

* regex.c (re_compile_pattern): warn if '-' is the edge of
  character range.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-08 05:40:29 +00:00
matz
e11f6de3c5 * ext/socket/socket.c (sock_s_unpack_sockaddr_in): remove struct
size check.  getnameinfo(3) can handle. [ruby-dev:19967]

* io.c (io_read): do not call rb_sys_fail() when required data
  length is zero. (ruby-bugs-ja PR#420)

* eval.c (umethod_proc): should raise TypeError, instead of
  returning error causing Proc.  Following the principle of "fail
  early".  [ruby-core:00927]

* pack.c (pack_pack): small but serious typo.

* eval.c (backtrace): skip internal allocator frame.
  (ruby-bugs-ja PR#416)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-07 06:58:31 +00:00
matz
79557dcbb0 * eval.c (assign): should prepare mrhs by svalue_to_mrhs().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-04 05:12:19 +00:00
matz
c94187bce0 * eval.c (rb_f_missing): use "inspect" for T_OBJECT as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-03 05:25:00 +00:00
matz
fec60bc7c4 * eval.c (avalue_to_svalue): use rb_check_array_type() again.
Clarify how "to_ary" and "to_a" work. [ruby-talk:68155]

* eval.c (svalue_to_avalue): ditto.

* eval.c (svalue_to_mrhs): ditto.

* eval.c (rb_eval): unary splat to use to_a, but we need a hack to
  exclude Object#to_a until it's removed.

* object.c (rb_Array): check obj.respond_to?("to_a").  Currently
  all object respond_to "to_a", but Object#to_a will be removed.

* range.c (Init_Range): undefine to_ary.

* re.c (Init_Regexp): ditto.

* regex.c (re_compile_pattern): do not warn if "-" is at the top
  or last of character class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-29 02:56:18 +00:00
matz
e9b5878c41 * eval.c (avalue_splat): new function to do unary * (splat)
operator.

* eval.c (avalue_to_svalue,svalue_to_avalue,svalue_to_mrhs): do
  not use implicit "to_ary" conversion.

* ext/curses/curses.c (GetWINDOW,GetMOUSE): add taint check.

* ext/curses/curses.c (curses_init_screen): ditto.

* ext/curses/curses.c (window_initialize): ditto.

* gc.c (os_each_obj): prohibit ObjectSpace#each_object in safe
  mode ($SAFE >= 4).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-26 07:01:14 +00:00
matz
0cd7c01c6a * eval.c (rb_yield_0): call avalue_to_mrhs() to assign block
parameter |a|. [ruby-dev:19897]

* ruby.c (ruby_set_argv): freeze argument strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-25 08:26:08 +00:00
matz
d4db9e9c60 * io.c (rb_io_initialize): should check rb_secure(4).
* dir.c (dir_s_getwd): should check rb_secure(4).

* object.c (rb_obj_infect): function version of OBJ_INFECT().

* eval.c (rb_secure_update): new function to check object update.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-25 03:11:27 +00:00
matz
ece972717b security enhancement of dl library (need test).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-24 09:38:37 +00:00
matz
1714176963 * regex.c (re_compile_pattern): give warning for unescaped square
brackets and minus in character class. [ruby-dev:19868]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-21 14:37:32 +00:00
nobu
dfb2c7aa14 * eval.c (bmcall): missing type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-21 09:12:25 +00:00
matz
85dd7bb0ef * eval.c (load_dyna): clear ruby_errinfo. (ruby-bugs-ja PR#409)
* io.c (read_all): make str empty if given. (ruby-bugs-ja PR#408)

* io.c (io_read): ditto.

* io.c (rb_io_sysread): ditto.

* range.c: do not override min and max.

* sprintf.c (remove_sign_bits): octal left most digit for negative
  numbers may be '3'. (ruby-bugs-ja PR#407)

* sprintf.c (rb_f_sprintf): should prefix sign bits if bignum is
  negative, using sign_bits().

* eval.c (avalue_to_mrhs): split argument passing and assignment
  conversion.

* eval.c (svalue_to_mrhs): ditto.

* eval.c (avalue_to_svalue): avalue_to_svalue([[1,2]]) should be
  [[1,2]], not [1,2] to wrap-around.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-20 06:27:22 +00:00
akr
5782e5b000 * eval.c (bmcall): add volatile to avoid GC problem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-20 01:48:42 +00:00
matz
2abf664151 * eval.c (massign): remove unnecessary array unpacking; it should
be handled before massign() by svalue_to_mrhs().

* eval.c (svalue_to_mrhs): '*a = v' value conversion to avalue
  (i.e. [1] => [[1]], [1,2] => [1,2]).

* eval.c (rb_eval): use svalue_to_mrhs.

* eval.c (rb_yield_0): ditto.

* eval.c (proc_invoke): break from "Proc#yield" is legal.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-10 23:03:06 +00:00
matz
bb544954b2 * file.c (rb_find_file): need world writable directory check for
relative paths too.

* file.c (rb_find_file): world writable directory check if
  $SAFE >= 1 (was $SAFE >= 2).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-10 15:05:18 +00:00
nobu
e4f5562f17 * eval.c (massign): fix a bug not to expand in assigment to sole
lhs.  [ruby-dev:19766]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-08 02:31:02 +00:00
matz
9d77639f30 * parse.y (dsym): :"symbol string" style should not contain `\0'.
* process.c (proc_detach): new method Proc#detach(pid) which
  create background watcher thread to issue waitpid. [new]

* process.c (rb_detach_process): utility function to detach
  process from C code.

* ext/pty/pty.c (pty_finalize_syswait): terminate watcher thread,
  and detach child process (by creating new idle waitpid watcher
  thread).

* ext/pty/pty.c (pty_syswait): may lost signal stopped child.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-07 05:59:42 +00:00
matz
e5c5576aeb * string.c (str_new): need no MEMZERO().
* numeric.c (fix_gt): use rb_num_coerce_cmp() instead of
  rb_num_coerce_bin.

* numeric.c (fix_ge, fix_lt, fix_le): ditto.

* numeric.c (flo_gt, flo_ge, flo_lt, flo_le): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-27 08:04:32 +00:00
eban
5527d3ae59 * eval.c (rb_f_require): do not need to abort if a DLEXT file
is not found.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-21 08:25:18 +00:00
matz
8fc299e8bc * eval.c (rb_thread_remove): back outt changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-21 03:33:29 +00:00
matz
2cd6d0f597 * eval.c (rb_thread_remove): thread may die in the process of
rb_thread_die().  this change was suggested by Rudi Cilibrasi
  <cilibrar@drachma.ugcs.caltech.edu>.

* eval.c (rb_thread_start_0): main thread swapped by fork() may
  terminate rb_thread_start_0() successfully. call ruby_stop(0);
  this change too was suggested by Rudi.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-20 10:09:31 +00:00
nobu
2e13a4ff37 *** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-20 06:23:39 +00:00
matz
d88376b135 * parse.y (clhs): allow "Foo::Bar = x".
* parse.y (primary): "self[n]=x" can be legal even when "[]=" is
  private.  changes submitted in [ruby-talk:63982]

* parse.y (aryset): ditto.

* parse.y (attrset): "self.foo=x" can be legal even when "foo="
  is private.

* eval.c (is_defined): private "[]=" and "foo=" support.

* eval.c (rb_eval): ditto.

* eval.c (assign): ditto.

* eval.c (rb_eval): "foo=" should not always be public.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-20 03:35:44 +00:00
nobu
afca4f0cfd * eval.c (rb_thread_restore_context): inhibit interrupts in
critical section while context switching.  [ruby-talk:64785]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-19 16:27:47 +00:00
nobu
884efe7c5e * node.h (nd_cpath): nested class/module declaration.
[EXPREIMENTAL]

* eval.c (rb_eval): ditto.

* gc.c (rb_gc_mark_children): ditto.

* parse.y (cpath): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-02-19 09:27:49 +00:00