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

598 Коммитов

Автор SHA1 Сообщение Дата
matz 62261ccb47 * object.c (rb_str2cstr): warn if string contains \0 and length
value is ignored.

* class.c (rb_singleton_class_clone): should copy class constant
  table as well.

* class.c (rb_include_module): sometimes cache was mistakenly left
  uncleared - based on the patch by K.Kosako.

* ruby.h: all Check_SafeStr()'s are replaced by SafeStr() to
  ensure 'to_str' be always effective.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-28 08:43:25 +00:00
eban 6771ffa971 * win32/Makefile.sub: disable global optimization.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-28 00:54:48 +00:00
matz b60a365763 * eval.c (rb_mod_define_method): should have clear method cache.
* eval.c (rb_mod_define_method): should have raised exception for
  type error.

* ruby.h: changed "extern INLINE" to "static inline".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-27 07:10:58 +00:00
eban 2559f0d90d * time.c (rb_strftime): check whether strftime returns empty string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 14:29:57 +00:00
shugo 253f65aa4e * lib/net/imap.rb: added example.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 12:32:38 +00:00
shugo 2d32e4dd6d * lib/net/imap.rb: supports response handlers and multiple commands.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 12:29:50 +00:00
eban 4beca99d16 * ext/md5/md5init.c (md5i_new): remove rb_scan_args().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 09:27:18 +00:00
matz de51a663b4 * eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash.
* file.c (rb_file_flock): do not trap EINTR.

* missing/flock.c (flock): returns the value from lockf(2)
  directly.

* eval.c (ev_const_defined): should ignore toplevel cbase (Object).

* eval.c (ev_const_get): ditto.

* ext/md5/md5.h: replace by independent md5 implementation
  contributed by L. Peter Deutsch (thanks).

* ext/md5/md5init.c: adopted to Deutsch's md5 implementation.

* pack.c (pack_unpack): string from P/p should be tainted.

* ext/curses/curses.c: curses on Mac OS X public beta does not
  have _maxx etc.

* marshal.c (w_object): should truncate trailing zero short for
  bignums.

* object.c (sym_intern): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 08:57:16 +00:00
matz 44f754bd87 * eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash.
* ext/Win32API/Win32API.c: remove Init_win32api().

* file.c (rb_file_flock): do not trap EINTR.

* missing/flock.c (flock): returns the value from lockf(2)
  directly.

* eval.c (ev_const_defined): should ignore toplevel cbase (Object).

* eval.c (ev_const_get): ditto.

* ext/md5/md5.h: replace by independent md5 implementation
  contributed by L. Peter Deutsch (thanks).

* ext/md5/md5init.c: adopted to Deutsch's md5 implementation.

* pack.c (pack_unpack): string from P/p should be tainted.

* ext/curses/curses.c: curses on Mac OS X public beta does not
  have _maxx etc.

* marshal.c (w_object): should truncate trailing zero short for
  bignums.

* object.c (sym_intern): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1279 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 08:54:06 +00:00
eban c8e0e1114a * ext/Win32API/Win32API.c: remove Init_win32api().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-26 05:11:18 +00:00
eban 9c33e4e6b4 * ext/Win32API/extconf.rb: add -fno-omit-frame-pointer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-22 13:23:36 +00:00
matz 9123ec551d * eval.c (rb_mod_nesting): should not include Object at the
toplevel.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-22 09:19:57 +00:00
matz 285cb99ba4 * ruby.h: better inline function support.
* configure.in (NO_C_INLINE): check if inline is available for the
  C compiler.

* marshal.c (r_object): len calculation patch was wrong for
  machines SIZEOF_BDIGITS == SIZEOF_SHORT.

* gc.c: alloca prototype reorganized for C_ALLOCA machine.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-22 08:59:26 +00:00
eban 22198c30b1 * win32/win32.c (isUNCRoot): multibyte character support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-21 15:18:05 +00:00
eban 424c3fb43d * win32/win32.c (win32_stat): WinNT/2k "//host/share" support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-21 14:12:09 +00:00
eban 7aaceb6d9a rb_iglob -> rb_globi
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-21 04:18:10 +00:00
matz 9ea56f8efe * ruby.h: rb_sys_stat -> stat
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-21 03:51:23 +00:00
matz 9910feef4f * gc.c (id2ref): sometimes confused symbol and reference.
* dir.c (glob_helper): breaks loop after calling recusive
  glob_helper; all wild cards should be consumed; no need for
  further match.

* dir.c (dir_s_glob): gives warning if no match found.

* object.c (sym_inspect): did allocate extra byte space.

* marshal.c (shortlen): shortlen should return number of bytes
  written.

* eval.c (ev_const_defined): need not to check if cbase->nd_class
  is rb_cObject.

* eval.c (ev_const_get): ditto.

* time.c (time_zone): return "UTC" for UTC time objects.

* eval.c (THREAD_ALLOC): flags should be initialized.

* signal.c (rb_f_kill): should use FIX2INT, not FIX2UINT.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-21 03:41:45 +00:00
usa 98e25a542a * win32/dir.h: replace missing/dir.h .
* win32/win32.h: ditto.
* win32/win32.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-20 23:10:05 +00:00
eban a84d087d3c * win32/win32.c (win32_stat): UNC support.
* dir.c (extract_path): fix "./*" problem.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-20 14:50:43 +00:00
matz 1f904eed44 * dir.c (glob_helper): replace lstat() by stat() to follow symlink
in the case like 'symlink/*'.

* dir.c (glob_helper): gave warning too much.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-19 03:20:24 +00:00
wakou aa6fa0c75d very sorry check miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-18 01:20:56 +00:00
wakou ad813911ab sorry erase miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-18 01:07:00 +00:00
wakou 20d29693ac Sun Mar 18 08:58:18 2001 Wakou Aoyama <wakou@fsinet.or.jp>
* lib/net/cgi.rb: // === '' --> //.match('')

	* lib/net/cgi.rb: cgi#header(): improvement for mod_ruby.

	* lib/net/cgi.rb: cgi#rfc1123date(): improvement.
	  thanks to TADA Tadashi <sho@spc.gr.jp>.

	* lib/net/cgi.rb: cgi#rfc1123date(): document bug fix.
	  thanks to Kazuhiro NISHIYAMA <zn@mbf.nifty.com>.

	* lib/net/cgi.rb: cgi#header(): bug fix.
	  thanks to IWATSUKI Hiroyuki <don@na.rim.or.jp>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-18 00:01:57 +00:00
matz b842d5f571 * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-16 08:30:09 +00:00
knu 7f74a38b72 * configure.in: Set SOLIBS properly for all ELF and
FreeBSD/NetBSD/OpenBSD a.out platforms so that the shlib
  dependencies are recorded in the libruby shlib.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-16 08:17:44 +00:00
matz 1fd502ccc1 * eval.c (rb_thread_schedule): raise FATAL just once to
THREAD_TO_KILL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-14 08:39:13 +00:00
matz 53ff8df72f * eval.c (rb_yield_0): 0 (= Qfalse) is a valid value, so that
default self should be checked by klass == 0.

* bignum.c (rb_cstr2inum): should disallow '++1', '+-1', etc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-14 04:45:46 +00:00
matz a22cbaa697 * eval.c (ev_const_defined): add new parameter self for special
const fallback.

* eval.c (ev_const_get): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 09:00:01 +00:00
eban 037dacc510 * dir.c (rb_glob_helper): fix drive letter handling on DOSISH.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 07:58:07 +00:00
aamine 390a12cf4c garvage is included.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 06:01:45 +00:00
eban 3d1cd3c5b4 * parse.y: warn -> rb_warn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 06:00:50 +00:00
aamine 1a7cb01d64 aamine
* lib/net/http.rb: add HTTPRequest#basic_auth.
* lib/net/smtp.rb: raise if only account or password is given.
* lib/net/protocol.rb: WriteAdapter#<< returns self.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 05:48:58 +00:00
matz e502549be1 * io.c (argf_seek_m): wrong calling sequence of rb_io_seek().
* parse.y (cond0): no special treatment of string literal in
  condition.

* math.c: add acos, asin, atan, conh, sinh, tanh and hypot to Math.

* configure.in: check hypot availablility.

* missing/hypot.c: public domain rewrite of hypot.

* parse.y (warn_unless_e_option): warning condition was wrong.

* parse.y (warning_unless_e_option): ditto.

* enum.c (enum_all): new method 'all?', which returns true if
  block returns true for all elements.

* enum.c (enum_any): new method 'any?', which returns true if
  block retruns true for any of elements.

* marshal.c (marshal_load): do not give warning unless explicitly
  set to verbose.

* eval.c (rb_exit): give string value "exit" to SystemExit.

* ruby.c (proc_options): -v should not print version if
  proc_options called via moreswitches().

* parse.y (stmt): while/until modifier must work for empty body.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-13 05:45:13 +00:00
eban 8fc5876485 * lib/mkmf.rb (create_makefile): save/restore $libs and $LIBPATH.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-12 10:20:01 +00:00
eban 118ff27661 * lib/mkmf.rb (install_rb): fix handling of destination path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-10 16:03:56 +00:00
eban 15d67fba62 * math.c (math_log, math_log10): use nan() instead of 0.0/0.0 on Cygwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-09 17:49:31 +00:00
aamine 4dae731bbd aamine
* lib/net/protocol.rb: one write(2) per one line.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-08 08:39:40 +00:00
eban fc07b3b0ad * math.c (math_log, math_log10): should return NaN if x < 0.0
on Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-07 05:43:11 +00:00
shugo 93868607a2 * lib/monitor.rb: fixed the example code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-06 09:03:59 +00:00
matz a36e0c78c9 * parse.y (primary): rescue and ensure clauses should be allowed
to appear in singleton method body.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-06 08:17:54 +00:00
matz 4a7d313e4a * eval.c (proc_eq): compare Procs using blocktag equality.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-05 08:33:16 +00:00
eban ea201e7eb0 2001-03-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-05 08:29:30 +00:00
eban 551ab77c38 * win32/win32.c (gettimeofday): use GetLocalTime() instead of ftime()
for high-resolution timing.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-05 08:29:01 +00:00
knu 76fa4a8216 Fill a missed ChangeLog entry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-04 11:56:01 +00:00
eban d08f28d839 * string.c (trnext): support backslash escape in String#tr.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-03-04 09:46:08 +00:00
eban b3902727d5 2001-02-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-28 08:54:57 +00:00
matz b27393d6ca * string.c (rb_str_delete_bang): delete! should take at least 1
argument.

* ruby.c (load_file): add rb_gc() after loading to avoid
  extraordinary memory growth.

* dir.c (rb_glob_helper): "./foo" should match "foo", not "./foo".

* eval.c (ev_const_get): retrieve Object's constant if no current
  class is available (e.g. defining singleton class for Fixnums).

* eval.c (ev_const_defined): check Object's constant if no current
  class is available (e.g. defining singleton class for Fixnums).

* time.c (time_timeval): negative time interval shoule not be
  allowed.

* eval.c (proc_call): ignore block to `call' always, despite of
  being orphan or not.

* eval.c (rb_yield_0): should check based on rb_block_given_p()
  and rb_f_block_given_p().

* configure.in (frame-address): --enable-frame-address to allow
  __builtin_frame_address() to be used.

* eval.c (stack_length): use __builtin_frame_address() based on
  the macro USE_BUILTIN_FRAME_ADDRESS.

* gc.c (rb_gc): ditto.

* gc.c (Init_stack): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-28 06:30:03 +00:00
eban 4fd84b6f2e 2001-02-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-27 09:15:18 +00:00
matz 64fb417473 * time.c (time_timeval): negative time interval shoule not be
allowed.

* eval.c (proc_call): ignore block to `call' always, despite of
  being orphan or not.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-02-27 07:52:11 +00:00