Commit graph

3924 commits

Author SHA1 Message Date
nobu
87c2982847 2002-08-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-24 14:17:45 +00:00
eban
cb8f50c4b5 2002-08-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-23 09:10:04 +00:00
eban
022d1f123c 2002-08-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-21 08:32:09 +00:00
eban
514aa4d976 2002-08-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 10:47:49 +00:00
nobu
3b2209d410 2002-08-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 00:38:51 +00:00
nobu
800452957d 2002-08-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 22:59:10 +00:00
nobu
92ca6c7773 * eval.c (ruby_current_node) : added to set sourceline on demand.
* eval.c (error_pos, error_print, rb_longjmp, assign): set source
  file/line.

* eval.c (rb_eval): store current node instead of file/line, and
  preserve it at return.

* eval.c (module_setup): ditto.

* eval.c (struct thread): store node instead of file/line.

* eval.c (rb_thread_raise): ditto.

* intern.h (ruby_current_node): added.

* intern.h (ruby_set_current_source): added.

* parse.y (stmt, arg): not fix position of assignment.

* parse.y (node_assign): ditto.

* parse.y (yycompile): clear current node.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 11:49:40 +00:00
matz
cf5d04f663 * hash.c (rb_hash_replace): should copy ifnone.
* hash.c (rb_hash_dup): should preserve HASH_PROC_DEFAULT and
  HASH_DELETED flags.

* hash.c (rb_hash_shift): shift from empty hash should not return
  its default proc.

* hash.c (rb_hash_default_proc): new method. [new]

* array.c (rb_ary_aref): no need for Bignum check.

* array.c (rb_ary_aset): explicit Bignum check removd.

* numeric.c (fix_aref): normalize bignum before bit-op.

* bignum.c (rb_big_rand): max may be Bignum zero.

* bignum.c (rb_cstr_to_inum): should normalize bignums, to avoid
  returning fixable bignum value.

* bignum.c (rb_uint2big): there should be no zero sized bignum.

* ext/extmk.rb.in: extmake() that works properly for both tkutil
  (tk/tkutil.so) and digest/sha1.

* hash.c (rb_hash_equal): should check HASH_PROC_DEFAULT too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-13 09:21:18 +00:00
matz
1f99d95729 * bignum.c (rb_big_cmp): use dbl2big() for Floats, instead of
big2dbl().

* bignum.c (Init_Bignum): rb_big_zero_p() removed.  There may be
  Bignum zero.

* eval.c (rb_call0): new argument added for original method name.
  preserve original method name in frame->orig_func.

* eval.c (is_defined): use frame->orig_func, not last_func.

* eval.c (rb_eval): ditto.

* eval.c (method_call): supply data->oid also to rb_call0().

* object.c (rb_class_allocate_instance): call rb_obj_alloc() when
  called from alias, thus invoke original "allocate".

* eval.c (remove_method): removing allocate from classes should
  cause NameError.

* hash.c (rb_hash_equal): should check default values.

* ext/socket/socket.c (s_recvfrom): update RSTRING len.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-12 07:39:12 +00:00
nobu
91d884b86e * eval.c (rb_eval): set line number from all nodes.
* eval.c (proc_to_s): show source file/line if available.

* marshal.c (r_object): register TYPE_BIGNUM regardless real type.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-11 00:36:38 +00:00
usa
fc2a1ad79f * string.c (rb_str_rindex): must return -1 if unmatched.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 06:20:43 +00:00
nobu
a38b04836e 2002-08-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-01 14:00:00 +00:00
matz
2b98e10419 * eval.c (rb_undef): undef should be done for klass, not ruby_class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-31 05:18:43 +00:00
nobu
c67865a2b7 2002-07-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 11:01:52 +00:00
eban
ff954d7e17 2002-07-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-29 06:50:26 +00:00
nobu
1d132e648d 2002-07-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 03:31:58 +00:00
nobu
5c1ef150d2 2002-07-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-13 11:31:42 +00:00
nobu
bc8d214f76 2002-07-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-11 15:10:43 +00:00
nobu
93602810e9 2002-07-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-05 10:31:47 +00:00
nobu
d8fdb2bfde 2002-07-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-02 10:45:14 +00:00
eban
39e205994c * configure.in (seekdir, telldir): add ac_cv_func_telldir=yes,
ac_cv_func_seekdir=yes for MinGW.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-30 09:07:54 +00:00
usa
2f2143a2be * io.c (pipe_finalize, pipe_popen): two-way pipe support for win32.
* win32/win32.c (ChildRecord, FindFreeChildSlot): ditto.

* win32/win32.c, win32/win32.h (pipe_exec): new function for two-way
  pipe support for win32.

* win32/win32.c, win32/win32.h (FindPipedChildSlot, rb_w32_popen,
  rb_w32_pclose): removed functions for two-way pipe support for win32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-28 18:26:01 +00:00
usa
cd6cffa7b6 * pack.c (pack_unpack): change names of local variables because their
names are overlapped.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-28 14:53:03 +00:00
nobu
0fdfc0bbef * parse.y (words, qwords): word list literal rules.
* parse.y (parse_string): ditto.

* parse.y (yylex): %W: word list literal with interpolation. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-26 08:01:00 +00:00
nobu
6037d1cf3d 2002-06-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-25 09:59:03 +00:00
nobu
33061b45b4 * eval.c (rb_eval): NODE_EVSTR is no longer used.
* eval.c (eval): not enforce to make assigned variables dynamic.

* parse.y (string): split rules to strings/xstring/regexp to allow
  arbitrary statements inside string interpolation.

* parse.y (here_document): splitted into three phases.

* parse.y (literall_append, literal_concat): added.
  append/concatinate string literals.

* sample/test.rb (valid_syntax): adjust line number for BEGIN.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-24 07:20:42 +00:00
eban
8d8af5225d * configure.in (__NO_ISOCEXT): add for mingw-runtime 2.0-2.
* configure.in (__MSVCRT__): removed because it is defined
  in the GCC specs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-20 10:25:11 +00:00
eban
fa1f7befa9 * ext/extmk.rb, lib/mkmf.rb (xsystem): open the log file if xsystem is called.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-19 05:54:24 +00:00
nobu
12c00312aa * parse.y (yylex): should pushback proper char after '<<'.
* parse.y (range_op, cond0, cond): get rid of doubled warnings.

* parse.y (value_expr): reduce recursion level.

* parse.y (logop): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-18 03:53:23 +00:00
nobu
7ed607e902 2002-06-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-17 02:00:56 +00:00
knu
3a6168af5b 2002-06-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-15 10:25:08 +00:00
nobu
9e1473541d 2002-06-14
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-14 06:48:32 +00:00
eban
561c59bf64 2002-06-13
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-13 06:44:00 +00:00
eban
5838e5bc4e 2002-06-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-12 09:33:40 +00:00
eban
65caf01223 2002-06-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-11 07:27:22 +00:00
nobu
10d0deaa99 2002-06-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-10 10:18:24 +00:00
eban
c0eea52326 2002-06-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-04 07:35:48 +00:00
nobu
2263dbe022 * parse.y (here_document): check if identifier is terminated.
(ruby-bugs-ja:PR#239)

* parse.y (yylex): should pushback proper char after '**'.
  (ruby-bugs-ja:PR#240)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-06-02 22:16:55 +00:00
eban
95a5a67142 2002-05-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-30 06:14:02 +00:00
matz
4ab1577db3 * parse.y: yyparse #defines moved from intern.h
* ruby.c (proc_options): access prefixed "ruby_yydebug".

* applied modifies to pacify some of gcc -Wall warnings.

* parse.y (arg): no more ugly hack for "**", so that "-2**2" to be
  parsed as "(-2)**2", whereas "- 2**2" or "-(2)**2" to be parsed
  as "-(2**2)".

* parse.y (yylex): '-2' to be literal fixnum. [new]

* time.c (time_succ): new method for Range support.

* time.c (time_arg): nil test against v[6] (usec).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-29 05:20:39 +00:00
nobu
ff3d6d201d * eval.c (scope_node): trick to keep the node has a scope.
* eval.c (rb_eval): NODE_EVSTR: write back local_tbl to the node.

* eval.c (rb_eval): NODE_SCOPE: hold the scope node in ruby_scope.

* eval.c (module_setup): ditto.

* eval.c (rb_call0): ditto.

* node.h (NEW_DASGN, NEW_DASGN_CURR): remove surplus semicolons.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-28 03:20:04 +00:00
matz
6e87a54aec * ruby.c (proc_options): removed "-*-" support for #! line.
* io.c (rb_io_s_sysopen): new method to get a raw file
  descriptor. [new]

* ext/socket/socket.c (tcp_sysaccept): new method to return an
  accepted socket fd (integer). [new]

* ext/socket/socket.c (unix_sysaccept,sock_sysaccept): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-23 05:35:32 +00:00
nobu
ce3ea1911a 2002-05-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-22 07:51:15 +00:00
matz
edbe98d848 * object.c (Init_Object): should do exact match for Module#==.
* compar.c (cmp_eq): returns 'false' if <=> returns 'nil'.

* compar.c (cmp_gt,cmp_ge,cmp_lt,cmp_le,cmp_between): ditto.

* pack.c (pack_pack): should propagate taintedness.

* pack.c (pack_unpack): ditto.

* eval.c (rb_thread_schedule): need to preserve errno before
  calling rb_trap_exec().

* regex.c (calculate_must_string): a bug in charset/charset_not
  parsing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-21 05:39:19 +00:00
nobu
077d92a044 2002-05-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-20 04:39:50 +00:00
eban
d8a615ed3d 2002-05-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-16 06:17:05 +00:00
eban
c5d6a1ba48 * gc.c (is_pointer_to_heap): avoid GCC 3.1 warnings.
* missing/strftime.c (timezone): it should take no argument on Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-14 05:59:35 +00:00
eban
caba4b3d94 2002-05-12
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-11 19:32:59 +00:00
nobu
592f838016 2002-05-11
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-11 13:21:57 +00:00
nobu
868d104b49 2002-05-10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-05-09 17:02:36 +00:00