7524 Commits

Author SHA1 Message Date
matz
d16c035975 * variable.c (rb_const_get_0): skip ruby_wrapper in const search
to give it lower priority (just above Object).  need not to
  change rb_const_defined_0() since it's only a precedence matter;
  they are defined anyway.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 16:08:08 +00:00
eban
110a9f783d * 2006-02-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 16:05:07 +00:00
matz
3442be4e84 * lib/tracer.rb: merged a minor clarification patch from Daniel
Berger <Daniel.Berger at qwest.com>.  [ruby-core:07376]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 15:40:32 +00:00
matz
ccf99b9ce6 * eval.c (ev_const_get): simplified using rb_const_get_fallback().
* eval.c (ev_const_defined): adopt to ev_const_get() using
  rb_const_defined_fallback().

* variable.c (rb_const_get_fallback): new function to implement
  constant search.

* variable.c (rb_const_defined_fallback): new function to
  implement constant definition check.

* variable.c (rb_const_get_0): adopt to new behavior.  constants
  are looked up in the order of: current class, super classes (but
  Object), lexically external classes/modules, and Object.

* variable.c (rb_const_defined_0): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 08:40:52 +00:00
ocean
d0a3c64fb4 * util.c (ruby_strtod): Float("1e") should fail. [ruby-core:7330]
* pack.c (EXTEND32): unpack("l") did not work where sizeof(long) != 4.
  [ruby-talk:180024]

* pack.c (pack_unpack): fixed integer overflow on template "w".
  [ruby-talk:180126]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 02:21:39 +00:00
usa
dd0fa838d9 * 2006-02-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 01:10:23 +00:00
matz
4839151263 * eval.c (rb_thread_wait_for): sleep should always sleep for
specified amount of time.  [ruby-talk:180067]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-17 01:06:48 +00:00
matz
8f5278b525 * eval.c (rb_eval): NODE_OP_ASGN1 should allow splat in its
argument list.  [ruby-core:07366]

* parse.y (arg): avoid unnecessary extra argument.
  [ruby-core:07366]

* eval.c (rb_eval): honor visibility on OP_ASGN1 and
  OP_ASGN2. [ruby-core:07366]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-15 08:46:55 +00:00
matz
a95a1eff20 * eval.c (error_line): remove void control path. [ruby-dev:28335]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-15 06:22:13 +00:00
matz
7d863d5c97 * eval.c (yield_under_i): should not pass self as an argument to
the block for instance_eval.  [ruby-core:07364]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-15 01:24:20 +00:00
usa
ba8954361d * 2006-02-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-15 01:17:39 +00:00
matz
c3f5a736a8 * eval.c (rb_obj_instance_eval): should no singleton classes for
true, false, and nil.  [ruby-dev:28186]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-15 00:26:14 +00:00
matz
d4cecea858 * enumerator.c (enumerator_each): return self if no block is
given.  [yarv-dev:882]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 12:36:11 +00:00
ocean
7621057054 * string.c: fixed typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 11:38:29 +00:00
matz
14afb53073 * eval.c (DMETHOD_P): accessing wrong frame. [ruby-dev:28181]
* eval.c (proc_invoke): preserve FRAME_DMETH flag.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 10:12:21 +00:00
ocean
3770f98992 * ext/zlib/zlib.c: supress warning on test/zlib. [ruby-dev:28323]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 06:17:24 +00:00
usa
f0ab5bdea2 * win32/win32.c (rb_w32_utime): drop read-only attribute before
changing file time.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 04:49:01 +00:00
usa
8fe090790d * win32/Makefile.sub (config.h): should define HAVE_LONG_LONG with
VC++8.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 04:39:32 +00:00
usa
45ccbcc078 * ChangeLog: typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 02:52:26 +00:00
usa
fd2660d9c3 * 2006-02-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 02:48:28 +00:00
usa
93ff2adbed * time.c (search_time_t): support non 32bit time_t environments.
* win32/Makefile.sub (config.h): VC++8 have ``long long'' type.

* win32/Makefile.sub (config.h): VC++8's time_t is 64bit value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-14 02:48:08 +00:00
matz
3d0c93a907 * eval.c (copy_node_scope): remove duplicated semicolons at end.
a patch from KIMURA Koichi <kimura.koichi at canon.co.jp>.
  [ruby-dev:28332]

* eval.c (VIS_MODE): remove unnecessary argument.
  [ruby-dev:28332]

* parse.y (parser_parse_string): mention "regexp" in a error
  message.  a patch from Mauricio Fernandez <mfp at acm.org>
  [ruby-core:07340]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-13 09:07:57 +00:00
matz
7f72360259 * parse.y (parser_parse_string): mention "regexp" in a error
message.  a patch from Mauricio Fernandez <mfp at acm.org>
  [ruby-core:07340]

* eval.c (rb_f_autoload): check if ruby_cbase is nil (during
  instance_eval for objects cannot have singleton classes,
  e.g. fixnums and symbols).  [ruby-dev:28178]

* gc.c (rb_gc_call_finalizer_at_exit): turn on during_gc while
  invoking finalizers.

* gc.c (rb_gc_finalize_deferred): ditto.

* io.c (rb_write_error2): use fwrite(3) if rb_stderr is not
  updated or is already freed.  [ruby-dev:28313]

* eval.c (error_line): include the class name of a surrounding
  method in error position description.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-13 04:53:22 +00:00
kosako
c37c5419d2 merge Oniguruma 4.0.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-12 15:05:19 +00:00
eban
1232adbcf9 * 2006-02-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-11 13:03:29 +00:00
suke
9a59edfb4e add WIN32OLE.create_guid.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-11 13:00:46 +00:00
usa
898f5b315c * 2006-02-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-09 02:22:36 +00:00
usa
910a436d33 * eval.c (rb_obj_instance_exec): fixed typo of rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-09 02:22:00 +00:00
eban
49125bd07c * 2006-02-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-07 14:43:47 +00:00
ocean
0a8f5ad543 * ext/zlib/zlib.c: should not access ruby objects in finalizer.
[ruby-dev:28286]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-07 14:05:55 +00:00
ocean
488b3d6819 * file.c: commit miss?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:26:16 +00:00
eban
b29ad4cd95 * file.c (cygwin_flock): save old errno.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:13:53 +00:00
eban
895778951e * file.c (rb_thread_flock): ERROR_NOT_LOCKED is not an error on Cygwin.
In such situation, flock() should return 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 07:06:22 +00:00
eban
3007dab16f * gc.c (gc_sweep): typo fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-06 02:49:37 +00:00
eban
9f69352c97 * 2006-02-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 15:31:17 +00:00
matz
6458906292 * enum.c (enum_find_index): a new method Enumerable#find_index.
[ruby-talk:178495]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 15:26:53 +00:00
akr
84aa2febd6 test small structs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 15:10:01 +00:00
akr
4f245852bc fix previous commit.
don't use FL_USER0 because FL_SINGLETON.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 15:06:41 +00:00
akr
ed0fd02796 * ruby.h (struct RStruct): embed 3 or less elements structs.
(RSTRUCT_LEN): defined for accessing struct members.
  (RSTRUCT_PTR): ditto.

* struct.c: use RSTRUCT_LEN and RSTRUCT_PTR.
  (struct_alloc): allocate small structs in embedded format.
  (rb_struct_init_copy): ditto.

* gc.c (gc_mark_children): use RSTRUCT_LEN and RSTRUCT_PTR.
  (obj_free): ditto.

* marshal.c (w_object): use RSTRUCT_LEN and RSTRUCT_PTR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 14:40:01 +00:00
matz
2746f3352b * ChangeLog: update ML number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 14:31:34 +00:00
ocean
08cb01f073 * numeric.c (fix_to_s): removed workaround for radix 2. Historically,
rb_fix2str can only handle radix 8, 10, 16. (Rev1.37) But for now,
  it can handle radix 2..36. [ruby-Bugs#3438]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 12:09:31 +00:00
aamine
0ff14af9fa * lib/net/http.rb (add_field, get_fields): keep 1.8.2 compatibility. This patch is contributed by Rob Pitt.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 09:50:38 +00:00
eban
13d62dfa79 * 2006-02-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 09:42:05 +00:00
ocean
258f80c82f * lib/mkmf.rb (create_makefile): Kernel#sub! was removed on HEAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 07:37:38 +00:00
ocean
4f4ea9db28 * lib/pstore.rb: should return default value if name is not found.
[ruby-core:7304]

* lib/pstore.rb: should raise PStore::Error if not in transaction.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-05 05:28:11 +00:00
akr
1d2a56a60a * eval.c: apply the FreeBSD getcontext/setcontext workaround
only before FreeBSD 7-CURRENT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-04 13:54:53 +00:00
matz
086e235f03 * oniguruma.h: merge Oniguruma 4.0.0 [ruby-dev:28290]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-04 12:31:19 +00:00
usa
f0432871fd * win32/win32.c (LK_ERR): ERROR_NOT_LOCKED is not an error.
In such situation, flock() should return 0.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-04 12:21:55 +00:00
eban
a98d2cd4a9 * 2006-02-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-04 07:04:37 +00:00
ocean
4c9c7a82ac * numeric.c (fix_to_s): (2**32).to_s(2) fails with exception where
sizeof(int) == 4 < sizeof(long). [ruby-core:7300]

  I think the function name of rb_int2big is quite misleading.
  This should be "rb_long2big".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-04 06:58:43 +00:00