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

1341 Коммитов

Автор SHA1 Сообщение Дата
knu 9ec0a96ad4 * MANIFEST, lib/README, lib/ipaddr.rb: Add ipaddr.rb from rough.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-23 17:07:49 +00:00
usa ec827b7112 * ext/dbm/dbm.c (fdbm_alloc): allocator takes only one argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-21 19:08:50 +00:00
usa b469f3155a * array.c (ary_alloc), dir.c (dir_s_alloc), eval.c (thgroup_s_alloc),
file.c (rb_stat_s_alloc), hash.c (hash_alloc), io.c (io_alloc),
  object.c (rb_module_s_alloc, rb_class_allocate_instance),
  re.c (match_alloc, rb_reg_s_alloc), string.c (str_alloc),
  time.c (time_s_alloc), ext/digest/digest.c (rb_digest_base_alloc),
  ext/tcltklib/tcltklib.c (ip_alloc),
  ext/win32ole/win32ole.c (fole_s_allocate, fev_s_allocate)
  : add prototype to get rid of VC++ warnings.

* ext/sdbm/init.c (fsdbm_alloc): allocator takes only one argument.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-21 18:02:01 +00:00
eban a36b7eea8a * lib/mkmf.rb (create_makefile): accept pure ruby libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-21 15:42:10 +00:00
nobu d0527b05d8 * misc/ruby-mode.el (ruby-parse-partial): keywords must not be
preceded by @ or $.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 22:27:30 +00:00
nobu 85ce703fab ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 11:30:13 +00:00
nobu 3780ede6ef * ext/curses/curses.c, ext/digest/digest.c, ext/dl/handle.c,
ext/dl/ptr.c, ext/dl/sym.c, ext/gdbm/gdbm.c, ext/iconv/iconv.c,
  ext/stringio/stringio.c, ext/strscan/strscan.c,
  ext/tcltklib/tcltklib.c, ext/win32ole/win32ole.c:
  use rb_define_alloc_func().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 11:23:40 +00:00
nobu 5b615c70eb * io.c (rb_io_fwrite): separated from io_write().
* marshal.c (w_byten): use rb_io_fwrite() to support non-blocking
  IO, and added error check.

* rubyio.h: prototypes; rb_io_fwrite


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 09:29:41 +00:00
matz 71ef585f4e * object.c (Init_Object): should not remove Class#allocate.
* lib/profiler.rb: separate profiling functions, without
  trace_func and at_exit setting.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 09:00:10 +00:00
matz bc49bc7c6b * parse.y (do_block): split "do" block and tLBRACE_ARG block.
* parse.y (cmd_brace_block): new tLBRACE_ARG block rule

* parse.y (command): can take optional cmd_brace_block; use %prec
  to resolve shift/reduce conflict. (ruby-bugs-ja PR#372)

* eval.c (ruby_finalize): trace_func should be cleared here (after
  executing exit procs and finalizers).

* eval.c (rb_define_alloc_func): new allocation framework, based
  on Nobu's work [ruby-dev:19116].  "allocate" method is no longer
  used for object allocation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-20 08:33:17 +00:00
knu c3cd615aa4 * lib/README, lib/cgi/ftplib.rb, lib/telnet.rb: Delete ftplib.rb
and telnet.rb.  It has been quite some time sinc they were
  obsoleted and made to emit warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 20:08:43 +00:00
knu 9c95229c73 * lib/tempfile.rb: Embed Rdoc style comments.
* lib/tempfile.rb: Add length as an alias for size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 20:00:19 +00:00
knu 8451053741 Add Tempfile#close!() as a shorthand for Tempfile#close(true).
Add Tempfile#{unlink,delete}().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 19:01:59 +00:00
knu d9fbdddb59 Delete final.rb, which was obsoleted long ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 18:55:32 +00:00
nobu 5f4f0807e9 * re.c (rb_reg_match_pre, rb_reg_match_post, match_to_a,
match_select): return instances of same class as the original
  string.  [ruby-dev:19119]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 15:21:01 +00:00
usa 32145b0652 * numeric.c (DBL_EPSILON): fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 13:56:28 +00:00
nobu 98ecd65d9a [BUG] not SEGV.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 13:39:48 +00:00
nobu cf5ecdfcbb * eval.c (assign): avoid SEGV at multiple attribute assignment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 13:38:47 +00:00
matz baa00aa250 * numeric.c (num_step): use DBL_EPSILON.
* array.c (rb_check_array_type): new function: return an array
  (convert if possible), or nil.

* string.c (rb_check_string_type): new function: return a string
  (convert if possible), or nil.

* numeric.c (rb_dbl_cmp): returns nil if values are not
  comparable.

* numeric.c (fix_cmp,flo_cmp): use rb_num_coerce_cmp()

* bignum.c (rb_big_cmp): ditto.

* numeric.c (rb_num_coerce_cmp): new coercing function for "<=>",
  which does not raise TypeError.

* numeric.c (do_coerce): can be supress exception now.

* object.c (rb_mod_cmp): should return nil for non class/module
  objects.

* re.c (rb_reg_eqq): return false if the argument is not a
  string.  now returns boolean value.

* class.c (rb_include_module): argument should be T_MODULE, not
  T_class, nor T_ICLASS.

* eval.c (is_defined): "defined?" should return "assignment" for
  attribute assignment (e.g. a.foo=b) and indexed assignment
  (e.g. a[2] = 44).

* parse.y (aryset): use NODE_ATTRASGN.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-19 09:20:20 +00:00
knu b54b4b79ec Add a missing ||.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-18 19:22:46 +00:00
nobu f8c8a38d30 * string.c (rb_str_dup_frozen): handle tail shared string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-18 11:50:49 +00:00
nobu f4b8bbb143 * string.c (rb_str_new4): handle tail shared string.
(ruby-bugs-ja:PR#370)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-17 18:20:46 +00:00
nobu 49fc21f31e * re.c (rb_reg_nth_match): tail sharing.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-17 12:15:45 +00:00
nobu 86db656415 * node.h (NODE_ATTRASGN): new node, assignment to attribute.
[ruby-core:00637].

* eval.c (is_defined, rb_eval): ditto.

* parse.y (attrset, node_assign): ditto.

* string.c (rb_str_substr): tail sharing.  [ruby-core:00650]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-17 10:34:30 +00:00
akr 3a20ed532b * lib/open-uri.rb: new file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-16 19:06:36 +00:00
usa d46991c6de * file.c (utimbuf): need to define for VC++.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-16 15:30:00 +00:00
nobu 65f3eef1ee * parse.y (nextc): get rid of overrun. (pointed out by akr
[ruby-list:36773])


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-16 06:56:33 +00:00
eban 0e1b92874b * lib/mkmf.rb (init_mkmf): add $(topdir) to $LIBPATH if $extmk.
remove adding $(archdir) to $LIBPATH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-15 12:20:34 +00:00
uema2 b19e36a214 * configure.in, defines.h, dir.c, dir.h, dln.c, error.c,
eval.c, file.c, hash.c, io.c, main.c, missing.c,
      process.c, ruby.c, rubysig.h, signal.c, st.c, util.c, util.h,
      bcc/Makefile.sub, win32/Makefile.sub, win32/win32.h,
      ext/Win32API/Win32API.c, ext/socket/getaddrinfo.c,
      ext/socket/getnameinfo.c, ext/socket/socket.c,
      ext/tcltklib/stubs.c
      : replace "NT" with "_WIN32", add DOSISH_DRIVE_LETTER
* wince/exe.mak : delete \r at the end of lines.
* wince/mswince-ruby17.def : delete rb_obj_become


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-15 03:18:08 +00:00
nobu c476b6e05c * parse.y (dispose_string): dispose String object.
* parse.y (heredoc_restore, here_document): fix memory leak.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-15 02:48:40 +00:00
uema2 009f78761d * wince/sys : add stat.c, stat.h, timeb.c, timeb.h,
types.h, utime.c, utime.h
* wince/dll.mak : object file name changed.
* wince/io.c : add empty dup2().
* wince/io.h : add dup2 definition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-14 05:27:35 +00:00
eban c79e877836 * ext/dbm/extconf.rb (rb_check): support for GNU dbm 1.8.3.
(-with-dbm-type=gdbm_compat). link against -lgdbm_compat
  and -lgdbm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-13 17:14:18 +00:00
eban 3d4298a3c4 * ext/dbm/extconf.rb (db_check): check existence of the function
in the specified library before checking it in libc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-13 14:54:24 +00:00
nobu a35365d96d * parse.y (expr): rescue clause was ignored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-13 03:35:03 +00:00
eban b60172917f * configure.in (RUBY_PROG_GNU_LD): add $CFLAGS, $CPPFLAGS, $LDFLAGS
to the option of $CC.

* configure.in: set LIBRUBYARG to '-l$(RUBY_SO_NAME)' if the
  target os is cygwin and --disable-shared option is supplied.

* lib/mkmf.rb (init_mkmf): expand config["LIBRUBY"] and
  config["LIBRUBY_A"].  don't link $LIBRUBYARG_STATIC if
  --disable-shared option is supplied.

* configure.in (RUBY_CPPOUTFILE): should be a better message.

* ext/Win32API/extconf.rb: join with a space.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-12 10:21:41 +00:00
matz f744cfd8d7 * re.c (rb_reg_hash): define Regexp#hash to make regexps to be
hash keys.

* re.c (Init_Regexp): define Regexp#eql? (alias to Regexp#==).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-12 09:17:32 +00:00
nobu e6c77e4c4c * marshal.c (r_object0): singleton class instance can't be loaded. (ruby-bugs-ja:PR#366)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-12 07:29:14 +00:00
eban 3d70ef2648 * ext/extmk.rb (create_makefile): -no-undefined -> --no-undefined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-11 15:12:52 +00:00
matz 2498da0ea0 * io.c (io_read): takes optional second argument to specify a
string to be written.  the string should not be frozen.

* io.c (rb_io_sysread): ditto.

* lib/getoptlong.rb (GetoptLong::Error): provide a common ancestor
  for GetoptLong error classes (RCR#129).

* re.c (rb_reg_copy_object): fixed memory leak.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-11 09:32:41 +00:00
nobu 1b19c063b8 * ext/digest/digest.c (rb_digest_base_copy): renamed "become".
* ext/stringio/stringio.c (strio_copy): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-11 02:31:59 +00:00
akr 9be47132af * pack.c (utf8_limits): fix the limit of 4 bytes UTF-8 sequence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-10 08:32:54 +00:00
matz 60b2446bea * sprintf.c (rb_f_sprintf): preceding ".." for negative numbers
still left;  removed.

* sprintf.c (rb_f_sprintf): should not prepend '0' if width > prec
  for example "%5.3d".

* process.c (Init_process): add Process.exit and Process.abort

* pack.c (utf8_to_uv): raise ArgumentError for malformed/redundant
  UTF-8 sequences.

* process.c (last_status_set): add pid attribute to Process::Status.

* pack.c (uv_to_utf8): limit maximum length of the encoded string
  to 6 bytes, even when the platform supports 8 bytes long integers.

* pack.c (utf8_to_uv): do not decode sequences longer than 6 bytes.

* object.c (copy_object): use "copy_object" method, not "become".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-10 06:23:44 +00:00
nobu df8833203e * eval.c (mnew): original class of method defined in module should
be the module not intermediate class.  [ruby-dev:19040]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-10 06:19:21 +00:00
matz a526e3fe02 * object.c (copy_object): copy finalizers as well if any.
* gc.c (rb_gc_copy_finalizer): new function to copy finalizers.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-04 07:39:32 +00:00
akr 96f82b243f * lib/pp.rb (PP.singleline_pp): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-02 16:16:05 +00:00
matz e193fd8d66 * pack.c (utf8_to_uv): added checks for malformed or redundant
UTF-8 sequences.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-02 07:13:56 +00:00
nobu 96986a7a90 * lib/optparse.rb (OptionParser::new): same as OptionParser#on but
returns new OptionParser::switch.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-01 14:10:51 +00:00
nobu c405dbf692 * win32/win32.c (rb_w32_stat): empty path is invalid, and return
ENOENT rather than EBADF in such case.  [ruby-talk:57177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-01 13:47:06 +00:00
knu 5d6af6910d * lib/mkmf.rb: Avoid the use of "clean::" in favor of "clean:" in
order not to let make(1) choke if there is another dependency on
  the target added in a depend file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-28 03:12:23 +00:00
knu ba9627f0da * lib/mkmf.rb: Make sure to dig the destination directory before
installing a file there.  Formerly "make install" could fail
  depending on make(1)'s mood of the moment, especially when -jN
  is given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-11-27 17:51:27 +00:00