Граф коммитов

1821 Коммитов

Автор SHA1 Сообщение Дата
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 e3f7536501 * eval.c (compile_error): must not clear ruby_sourcefile here.
(ruby-bugs:PR#364).

* eval.c (rb_longjmp): set ruby_sourcefile before making
  backtrace.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 22:58:45 +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
keiju b604386fad * lib/rational.rb(Rational#hash): modify algorism for hash-function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 07:36:35 +00:00
suke 8d330378ca ole_invoke: retry when calling by reference is fail.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-13 12:07:33 +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
knu 510c93caac * ruby.c (set_arg0): Correct the position of #endif.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-12 13:39:22 +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 66f8f8691b * bignum.c (rb_big_cmp): raise for NaN. (ruby-bugs-ja:PR#284).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-12 07:21:25 +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
suke d1bdb139ea * win32ole.c(WIN32OLE#ole_methods): list up all methods.
* win32ole.c(WIN32OLE#ole_method_help): get all method information.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-10 12:19:16 +00:00
eban e402358a33 * ext/Win32API/extconf.rb: check existence of <windows.h>.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-09 04:36:46 +00:00
nobu 8f6b1e000a * lib/optparse.rb (String): must provide conversion block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-08 00:38:28 +00:00
nobu 8a7fbc6fec * lib/optparse.rb (OptionParser::Switch::parse_arg): require block
always.

* lib/optparse.rb (NilClass): must provide conversion block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 23:48:47 +00:00
nobu 11cfb7e0f4 * lib/optparse/time.rb: prior time.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 13:13:44 +00:00
nobu e20d6139f4 * optparse.rb (OptionParser::Completion::convert): returned all
values not first one.

* optparse.rb (OptionParser::Switch::parse): return values as is.

* optparse.rb (OptionParser::order): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 13:00:10 +00:00
nobu 0a85c65859 * lib/optparse/uri.rb: require standard uri module. thanks to
Minero Aoki.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-07 00:47:41 +00:00
aamine 30bc60cfe4 * ext/racc/cparse/cparse.c: reduce goto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 23:42:04 +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 616a47c579 typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 06:20:07 +00:00
eban 20479bfd81 * ext/racc/cparse/cparse.c (parse_main): avoid GCC 3 warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-06 04:35:00 +00:00
aamine cceff0f4b4 * MANIFEST: add lib/racc/parser.rb.
* ext/racc/cparse/cparse.c: code refine.
* ext/racc/cparse/MANIFEST: add depend.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-05 13:38:49 +00:00
ttate 9dab5bc3b0 Multiple call of the initialize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-05 01:24:13 +00:00
ttate 45a08a4296 Conform to the allocation framework.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-04 13:49:13 +00:00
nobu 14859cdf94 * ext/curses/curses.c: follow allocation framework.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-04 13:32:15 +00:00
nobu dfa40855bd * eval.c (rb_eval): set constant in cbase scope.
* eval.c (assign): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-03 12:27:33 +00:00
eban ebe2d10c43 * configure.in: remove initstate checking.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-02 15:14:02 +00:00
aamine 61eaf40b4a * ext/strscan/strscan.c: follow allocation framework.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-02 00:10:19 +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 5e6634ce67 * parse.y (tokadd_string): ignore backslashed spaces in %w.
* enum.c (enum_find): do not use rb_eval_cmd(); should not accept
  a string for if_none.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-01 09:42:38 +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
ttate 2a31a00fd9 Get rid of "return".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 22:55:51 +00:00
nobu d4b764c2cf sorry, ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 11:11:53 +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
nobu f94534efbc * misc/ruby-mode.el (ruby-accurate-end-of-block): restrict search
region.

* misc/ruby-mode.el (ruby-parse-partial): reversed wrong patch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 10:54:33 +00:00
michal af7ca8b51b range.c: small-cleanup [ruby-core:276]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 10:22:32 +00:00
nobu e1b56ea429 * misc/ruby-mode.el (ruby-accurate-end-of-block): incomplete block
caused infinite loop.

* misc/ruby-mode.el (ruby-parse-partial): returns nil unless
  delimiters found.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 08:23:31 +00:00
eban 7f2348488f * ext/tcltklib/stubs.c (ruby_tcltk_stubs): win32_getenv returns
the same address always, so allocate string by ruby_strdup.

* win32/win32.c: prototype; rb_w32_open_osfhandle().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 06:34:27 +00:00
aamine fd98af4c65 * eval.c (rb_thread_join_m): add parameter type declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-30 00:13:56 +00:00
aamine 62395a335d * eval.c (localjump_error): add parameter type declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-29 23:34:43 +00:00
eban e38f8b5cdc * ext/extmk.rb.in: always use File.expand_path for $top_srcdir.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-29 07:06:34 +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
matz 89dbf99bac * numeric.c (num_to_int): default to_int implementaion for every
numeric class.

* re.c (rb_reg_quote): initial part of the string was never copied
  to the quoted string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-29 06:14:10 +00:00
gotoken 448610abec * mkconfig.rb: unexpected `"ruby".sub("$","17") == "ruby"'
because of recent change in string.c:get_pat().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-29 05:59:46 +00:00
nobu ce84517f2c * eval.c (rb_eval): no need to convert to string twice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 14:12:26 +00:00
nobu 5384316f5b * misc/ruby-mode.el (ruby-expr-beg): wrong indent at modifiers
after ?.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 09:33:39 +00:00
eban 52ecaae5b6 * sample/mkproto.rb: ditto and fix bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 07:47:50 +00:00
eban d365d1f568 * ext/extmk.rb.in (create_makefile): use Regexp in gsub.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 07:05:40 +00:00
eban e301edc1c5 * random.c (N, M): undef for <winnt.h> on MinGW.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 06:56:30 +00:00
matz afb222575d * random.c: replace with Mersenne Twister RNG.
* eval.c (jump_tag_but_local_jump): preserve retval in
  LocalJumpError exceptions.

* parse.y (command): no more check for "super outside of method".

* eval.c (rb_mod_define_method): should set last_class and
  last_func in the block->frame.

* eval.c (error_handle): should handle TAG_THROW as well.

* parse.y (yylex): new decimal notation '0d4567'.

* parse.y (yylex): new octal notation '0o777'.

* parse.y (string_content): every string_content node should
  return string only.  use NODE_EVSTR to coercing.

* eval.c (rb_eval): NODE_EVSTR support.

* re.c (rb_reg_quote): avoid unnecessary string allocation.

* string.c (get_pat): quote metachracters before compiling a
  string into a regex.

* string.c (rb_str_split_m): special treatment of strings of size
  1, but AWK emulation.  now uses get_pat().

* string.c (rb_str_match_m): quote metacharacters.

* string.c (rb_str_match2): ditto.

* ext/socket/socket.c (sock_addrinfo): make all 3 versions of
  getaddrinfo happy.  [ruby-core:00184]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 06:17:44 +00:00