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

1081 Коммитов

Автор SHA1 Сообщение Дата
H_Konishi 5738d62912 * replace of check EPIPE error(in getc()) rutine on bcc32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 13:03:22 +00:00
eban 80caadabe9 * file.c (rb_file_s_expand_path): accept drive letter on Cygwin.
* file.c (is_absolute_path): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 10:42:57 +00:00
matz c8c55db68a * io.c (rb_io_putc): output via rb_io_write().
* re.c (rb_reg_initialize_m): frozen check should be moved here
  from rb_reg_initialize().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-20 07:36:01 +00:00
nobu e0c5eed65c * misc/inf-ruby.el (inf-ruby-keys): ruby-send-definition
conflicted with ruby-insert-end.

* misc/inf-ruby.el (inferior-ruby-mode): compilation-minor-mode.

* misc/inf-ruby.el (ruby-send-region): send as here document to
  adjust source file/line.  [ruby-talk:47113], [ruby-dev:17965]

* misc/inf-ruby.el (ruby-send-terminator): added to make unique
  terminator.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 10:07:06 +00:00
matz b818cdfaf3 * array.c (sort_2): comparison should be done as signed long.
* array.c (sort_2): should return int, not VALUE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 06:41:02 +00:00
matz ae23000c0e * array.c (sort_2): *a - *b may overflow.
* array.c (ary_new): len*sizeof(VALUE) may be a positive value.

* array.c (rb_ary_initialize): ditto.

* object.c (rb_class_allocate_instance): move singleton class
  check from rb_obj_alloc().

* re.c (rb_reg_initialize): should not modify frozen Regexp.

* ext/tcltklib/tcltklib.c (ip_init): allocation framework.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 05:56:09 +00:00
nobu 71a202fc01 particular symbol for win32_exception_list.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 03:41:00 +00:00
nobu 11e7d457d6 * eval.c (rb_thread_save_context, rb_thread_restore_context):
save/restore SEH chain on MS-Windows at thread switch.
  [ruby-win32:273]

* eval.c (win32_get_exception_frame, win32_set_exception_frame):
  added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-19 00:37:16 +00:00
eban 4f60a534cd * io.c (NOFILE): define NOFILE as 64 if not defined.
* signal.c (sighandler_t): rename to sh_t on dietlibc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-16 07:23:04 +00:00
nobu c27d662f50 * bignum.c (rb_cstr_to_inum): new decimal and octal string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-16 06:39:27 +00:00
nobu 2229b70615 * io.c (rb_io_fread): renamed from io_fread and made extern.
* marshal.c (r_bytes0): check if successfully read, use
  rb_io_fread() instead of fread() to be preemptive.
  (ruby-bugs-ja:PR#294, 295)

* rubyio.h (rb_io_fread): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-16 02:52:25 +00:00
nobu 3d923fb928 commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-08-15 23:00: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
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
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
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
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
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
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
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
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
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
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
matz 7194b66fb2 * 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@2654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 06:12:39 +00:00
aamine d5dc032e33 * parse.y (yylex): modify to accept a code like "m (a){...}".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-26 03:13:06 +00:00
nobu abfbbcf8e3 * misc/ruby-mode.el (ruby-delimiter): include here document.
* misc/ruby-mode.el (ruby-deep-arglist): skips spaces after
  parenthesis when 'space.

* misc/ruby-mode.el (ruby-imenu-create-index): fix for nested
  classes.

* misc/ruby-mode.el (ruby-accurate-end-of-block): added.  scan a
  block in the order.

* misc/ruby-mode.el (ruby-expr-beg): support for here document.

* misc/ruby-mode.el (ruby-parse-partial): splitted from
  ruby-parse-region.

* misc/ruby-mode.el (ruby-move-to-block): skips RD style comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-25 00:09:03 +00:00
shugo 03b60c7068 * lib/net/ftp.rb (set_socket): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-18 02:52:48 +00:00
aamine 55a65fd4e9 * parse.y (yylex): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-17 21:49:40 +00:00
aamine 141d0c380f * parse.y (heredoc_identifier): modify typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-07-15 01:33:36 +00:00