From 816803095da12023293cbd2793e22de52a751849 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 4 Aug 2003 08:31:24 +0000 Subject: * doc/NEWS, doc/ChangeLog-1.8.0: added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- doc/ChangeLog-1.8.0 | 23877 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/NEWS | 462 +- 2 files changed, 24144 insertions(+), 195 deletions(-) create mode 100644 doc/ChangeLog-1.8.0 (limited to 'doc') diff --git a/doc/ChangeLog-1.8.0 b/doc/ChangeLog-1.8.0 new file mode 100644 index 0000000000..6acb8ff20f --- /dev/null +++ b/doc/ChangeLog-1.8.0 @@ -0,0 +1,23877 @@ +Mon Aug 4 17:21:19 2003 Yukihiro Matsumoto + + * class.c (class_instance_method_list): methods defined in + singleton class and extended modules should be included. + [ruby-dev:21119] + +Mon Aug 4 13:05:57 2003 Yukihiro Matsumoto + + * eval.c (method_proc): should specify YIELD_FUNC_SVALUE. + [ruby-dev:21107] + + * marshal.c (w_object): should not call w_extended for USRMARSHAL + dump. [ruby-dev:21106] + +Mon Aug 4 10:42:00 2003 Nathaniel Talbott + + * lib/test/unit/ui/console/testrunner.rb: Flushed io in the + Console::TestRunner so that it will output immediately. + +Mon Aug 4 10:27:22 2003 Nobuyoshi Nakada + + * util.h: remove unnecessary parentheses. [ruby-dev:20879] + +Mon Aug 4 10:00:47 2003 Shugo Maeda + + * lib/net/imap.rb (receive_responses): raise exception to + client_thread. Thanks to William Webber. + +Mon Aug 4 09:22:53 2003 William Webber + + * lib/net/imap.rb: convert RD to RDoc. + +Mon Aug 4 02:34:05 2003 NAKAMURA Usaku + + * win32/win32.c (rb_w32_utime): never use utime() of C runtime. + [ruby-talk:77782] + +Sun Aug 3 23:56:50 2003 Nobuyoshi Nakada + + * eval.c (rb_call_super): should propagate previous block for + super call. [ruby-talk:77884] + +Sun Aug 3 19:25:28 2003 Nobuyoshi Nakada + + * eval.c (call_trace_func): clear exception flag temporarily. + [ruby-dev:21090] + +Sun Aug 3 18:03:44 2003 WATANABE Hirofumi + + * regex.h (re_mbctab): should refer to RUBY_EXPORT. [ruby-ext:02199] + + * lib/un.h (help): new. % ruby -run -e help cp + +Sun Aug 3 02:45:06 2003 Koji Arai + + * numeric.c (flo_to_s): get rid of buffer overflow. + +Sat Aug 2 23:51:52 2003 Yukihiro Matsumoto + + * io.c (appendline): clearerr(3) before raising exception, since + exception may be captured by rescue. [ruby-talk:77794] + +Sat Aug 2 20:59:38 2003 GOTOU Yuuzou + + * lib/webrick/https.rb: change an option name. + :SSLCertStore -> :SSLCertificateStore. + +Sat Aug 2 19:18:40 2003 Minero Aoki + + * lib/net/smtp.rb: respond_to? needs 2nd argument. + Thanks Jim Bob. [ruby-talk:77796] + +Sat Aug 2 15:11:54 2003 WATANABE Hirofumi + + * ext/extmk.rb (--no-undefined): annoying option removed. + +Sat Aug 2 14:53:55 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (pkg_config): get configuration by pkg-config. [new] + + * ext/openssl/extconf.rb: use pkg_config. + +Sat Aug 2 13:45:17 2003 Yukihiro Matsumoto + + * gc.c: add "#pragma weak" for __libc_ia64_register_backing_store_base. + [ruby-dev:21072] + +Sat Aug 2 14:02:39 2003 Nobuyoshi Nakada + + * variable.c (classname): find regular class name if not set. + [ruby-dev:20496] + +Sat Aug 2 03:30:25 2003 Yukihiro Matsumoto + + * class.c (rb_obj_singleton_methods): should not go up to + ancestors unless the recursive flag is set. [ruby-list:38007] + + * eval.c (rb_yield_0): expand [] to nil if avalue is set. + [ruby-dev:21058] + + * hash.c (env_each_key): use env_keys to avoid environment modify + on the fly. + + * hash.c (env_each_value): use env_values for safety. + + * hash.c (env_each): allocate environment array first. + +Fri Aug 2 03:20:00 2003 why the lucky stiff + + * lib/yaml/store.rb (YAML::Store#initialize): filename is first + argument. Thanks Kent Dahl. + +Sat Aug 2 00:49:31 2003 Minero Aoki + + * lib/net/http.rb: refine document. + +Fri Aug 1 23:57:45 2003 Nobuyoshi Nakada + + * gc.c (rb_gc_mark_locations): no need to swap arguments. + + * gc.c (STACK_LENGTH): insufficient for growing up stack + architectures. + + * gc.c (rb_gc, Init_stack) ditto. + +Fri Aug 1 23:33:36 2003 Masatoshi Seki + + * rubytest.rb: set dldpath on darwin. + +Fri Aug 1 23:07:38 2003 Minero Aoki + + * lib/net/http.rb: convert RD to RDoc. Thanks William Webber. + [ruby-doc:456] + +Fri Aug 1 19:48:56 2003 Yukihiro Matsumoto + + * ext/syck/rubyext.c (syck_emitter_write_m): forgot to declare + "self", making it default to "int". + + * ext/syck/rubyext.c (syck_emitter_simple_write): ditto. + + * gc.c (rb_gc): should mark backing store region on IA64. + +Fri Aug 1 17:13:23 2003 Nobuyoshi Nakada + + * ext/openssl/extconf.rb: should replace literally. + +Fri Aug 1 16:22:57 2003 Nobuyoshi Nakada + + * io.c (rb_io_check_readable, rb_io_check_writable): ensure not + closed at first. + + * io.c (rb_io_getline): check readable always. (ruby-bugs:PR#1069) + + * io.c (rb_io_each_byte): ditto. + +Fri Aug 1 16:02:46 2003 Nobuyoshi Nakada + + * io.c (READ_DATA_PENDING_PTR): cast to get rid of warnings. + + * ext/socket/socket.c (unix_send_io, unix_recv_io): ditto. + +Fri Aug 1 15:53:24 2003 NAKAMURA Usaku + + * win32/win32.c (isInternalCmd): shouldn't return if find end of str. + [ruby-talk:77678] + +Fri Aug 1 13:45:14 2003 Nobuyoshi Nakada + + * eval.c (rb_call_super): propagate previous block if a block is + given. [ruby-talk:77577] + +Fri Aug 1 09:54:38 2003 Yukihiro Matsumoto + + * array.c (rb_ary_fill): array length may be changed during the + block execution. [ruby-talk:77579] + + * array.c (rb_ary_zip): ditto. + + * array.c (rb_ary_fill): ditto. + + * hash.c (env_reject_bang): length may be changed during the block + execution. + + * hash.c (env_clear): ditto. + +Fri Aug 1 00:52:58 2003 Yukihiro Matsumoto + + * gc.c (Init_stack): IA64 requires STACK_LEVEL_MAX to be less than + magic number when optimizer turned on, regardless of rlimit + values. + +Thu Jul 31 23:44:00 2003 Masatoshi SEKI + + * lib/erb.rb: import erb-2.0.4b4. + +Thu Jul 31 23:02:47 2003 NAKAMURA Usaku + + * ext/etc/etc.c: revert getenv()'s prototype. use it only when _WIN32 + is not defined. + +Thu Jul 31 15:25:12 2003 NAKAMURA Usaku + + * array.c (rb_ary_collect): must get length of array for each + iteration. reported on [ruby-talk:77500], and fixed by + K.Sasada on [ruby-talk:77504] + +Thu Jul 31 14:11:54 2003 GOTOU Yuuzou + + * ext/openssl/extconf.rb: move gmake specific features + into GNUmakefile. + +Thu Jul 31 12:36:11 2003 Masatoshi SEKI + + * bin/erb, lib/erb.rb: add explicit trim mode. + +Thu Jul 31 04:59:10 2003 Yukihiro Matsumoto + + * numeric.c (rb_num_coerce_relop): export function. + +Thu Jul 31 08:18:00 2003 Nathaniel Talbott + + * lib/test/unit.rb: A useful return code is now set if tests fail when + running automatically using the Console::TestRunner. + +Thu Jul 31 00:17:19 2003 Shugo Maeda + + * lib/net/ftp.rb (return_code): obsolete. + + * lib/net/ftp.rb (last_response_code): new method. lastresp is now + alias to last_response_code. + + * lib/net/ftp.rb (last_response): new method. + +Wed Jul 30 23:55:44 2003 Yukihiro Matsumoto + + * marshal.c (w_object): check has been dropped. "_dump must return + string." [ruby-dev:21024] + +Wed Jul 30 22:35:19 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (dir_config): allow multiple directories separated + by File::PATH_SEPARATOR. + + * lib/mkmf.rb (create_makefile): DLDFLAGS include $LDFLAGS again. + [ruby-talk:76894] + + * lib/mkmf.rb (init_mkmf): not default $LDFLAGS to LDFLAGS for + ruby itself, but default $DLDFLAGS to DLDFLAGS. + +Wed Jul 30 16:17:06 2003 Yukihiro Matsumoto + + * marshal.c (w_object): marshal_dump should not take any + argument. + +Wed Jul 30 15:54:04 2003 GOTOU Yuuzou + + * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): should initialize + instance variables. [ruby-talk:77362] + +Wed Jul 30 15:39:54 2003 Yukihiro Matsumoto + + * ruby.c (proc_options): -F set compiled regular expression to $;. + [ruby-talk:77381] + + * string.c (Init_String): no setter type check for $; + +Wed Jul 30 15:10:02 2003 Nobuyoshi Nakada + + * error.c (rb_raise): snprintf() termination moved to + win32/win32.c. + + * win32/win32.c (valid_filename, str_grow): unused. + + * win32/win32.c (NTLoginName, ChildRecord): make static. + + * win32/win32.c (CreateChild): argument check. + + * win32/win32.c (kill): should not call CloseHandle() when + OpenProcess() failed. + + * win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): ensure buffer + terminated. [ruby-talk:69672] + +Wed Jul 30 10:54:10 2003 Shugo Maeda + + * lib/net/ftp.rb (get): fix wrong argument name. Thanks to William + Webber. + +Wed Jul 30 10:31:37 2003 Nobuyoshi Nakada + + * ext/iconv/iconv.c (iconv_convert): append unchanged portion + after overflow. [ruby-dev:21006] + + * ext/iconv/extconf.rb: check if iconv() 2nd argument is const. + +Wed Jul 30 09:31:55 2003 Nobuyoshi Nakada + + * configure.in (os2-emx): renamed from os2_emx, add flags to + CFLAGS and LDFLAGS, and remove lib prefix. [ruby-dev:20993] + + * file.c (rb_file_s_rename): retry with removing new file on + DOSISH. [ruby-dev:21007] + + * ext/socket/extconf.rb (sendmsg, recvmsg): check functions. + + * ext/socket/socket.c (unix_send_io, unix_recv_io): raise + NotImplementedError unless system calls are available. + + * ext/socket/socket.c (sock_initialize): rename from sock_init() + to get rid of conflict with OS/2 socket library. + +Wed Jul 30 02:37:12 2003 Yukihiro Matsumoto + + * marshal.c (w_object): if object responds to 'marshal_dump', + Marshal.dump uses it to dump object. unlike '_dump', + marshal_dump returns any kind of object. + + * marshal.c (r_object0): restore instance by calling + 'marshal_load' method. unlike '_load', it's an instance + method, to handle cyclic reference. + + * marshal.c (marshal_load): all objects read from file should be + tainted. [ruby-core:01325] + +Wed Jul 30 01:47:51 2003 Hugh Sasse + + * lib/timeout.rb (Timeout::timeout): execute immediately if sec is + zero. + +Wed Jul 30 01:36:18 2003 Aron Griffis + + * ext/socket/socket.c (socks_init): typo fixed. [ruby-talk:77232] + +Wed Jul 30 00:48:43 2003 Yukihiro Matsumoto + + * ext/socket/extconf.rb: the default value for --enable-socks is + taken from ENV["SOCKS_SERVER"]. [ruby-talk:77232] + + * ruby.c (proc_options): add -W option. -W0 to shut up all warning + messages. [ruby-talk:77227] + + * error.c (rb_warn): no message will be printed if the value of + $VERBOSE is "nil", i.e. perfect silence. + + * ruby.c (verbose_setter): $VERBOSE value is either true, false, + or nil. + + * io.c (Init_IO): no "read" check for $stdin. in addition some + function names has been changed. + +Tue Jul 29 23:10:19 2003 Yoshida Masato + + * regex.c (re_match_exec): incorrect multibyte match. + +Tue Jul 29 22:36:50 2003 Minero Aoki + + * lib/net/smtp.rb (send0): do taint check only when $SAFE > 0 + +Tue Jul 29 19:20:34 2003 WATANABE Hirofumi + + * lib/fileutils.rb (install): support preserve timestamp. + + * instruby.rb (install): use FileUtils::install preserve mode. + + * lib/un.rb: new. % ruby -run -e cp -- -p foo bar + + * lib/mkmf.rb: use un.rb instead of ftools.rb. + + * MANIFEST: add lib/un.rb. + + * ext/extmk.rb (INSTALL_PROG, INSTALL_DATA): modify verbose messages. + +Tue Jul 29 18:55:22 2003 Minero Aoki + + * lib/net/smtp.rb: unify coding style. + + * lib/net/http.rb: ditto. + +Tue Jul 29 17:27:59 2003 NAKAMURA Usaku + + * ruby.h (LLONG_MIN): fix typo. + +Tue Jul 29 16:38:44 2003 Yukihiro Matsumoto + + * lib/net/smtp.rb (Net::SMTP::send0): add taint check. + +Tue Jul 29 15:41:02 2003 WATANABE Hirofumi + + * instruby.rb (install): preserve the timestamp for Mac OS X ranlib + problem. + +Tue Jul 29 01:14:51 2003 Rick Ohnemus + + * ruby.h (LLONG_MIN): wrong value. + +Mon Jul 28 22:57:52 2003 Yukihiro Matsumoto + + * io.c (rb_f_getc): $stdin may not be IO. [ruby-dev:20973] + +Tue Jul 29 12:22:28 2003 why the lucky stiff + + * ext/syck/token.c: prefixed many constants and definitions + with YAML_ to avoid name clash. + + * ext/syck/gram.c: ditto. + + * ext/syck/gram.h: ditto. + +Tue Jul 29 12:15:37 2003 NAKAMURA Usaku + + * ext/etc/etc.c: add real prototype to getenv(). + + * win32/win32.h: add arguments to definitions of functions if possible. + +Tue Jul 29 04:22:08 2003 why the lucky stiff + + * ext/syck/syck.h: Added 'syck' yacc prefixes. + + * ext/syck/gram.c: ditto. + + * ext/syck/token.c: ditto. + + * ext/syck: Added ruby.h reference to source files. + +Tue Jul 29 03:53:28 2003 GOTOU Yuuzou + + * ext/openssl/lib/net/https.rb (use_ssl=): raise ProtocolError if + connection is set up already. + +Mon Jul 28 23:23:08 2003 Nobuyoshi Nakada + + * file.c (Init_File): IO should include File::Const. + [ruby-dev:20964] + +Mon Jul 28 18:53:03 2003 WATANABE Hirofumi + + * ext/openssl/extconf.rb: check again after pkg-config for MinGW on + Cygwin. + +Mon Jul 28 15:32:04 2003 Yukihiro Matsumoto + + * ext/stringio/stringio.c (strio_gets): only "gets" should set $_. + + * ext/stringio/stringio.c (strio_getline): should not set $_ here. + + * io.c (argf_to_s): argf.to_s returns "ARGF". + + * io.c (set_defout_var, set_deferr_var): make $defout and $deferr + obsolete. + + * io.c (set_input_var, set_output_var): allow $stdin, $stdout, + $stderr not to be instance of IO. + + * io.c (rb_f_readline): forward method to current_file. gets, + readline, readlines, getc, readchar, tell, seek, pos=, rewind, + fileno, to_io, eof, each_line, each_byte, binmode, and closed? + as well. + + * io.c (argf_forward): utility function to forward method to + current_file. + +Mon Jul 28 03:08:47 2003 Akinori MUSHA + + * lib/set.rb: each() should return self. + +Mon Jul 28 01:35:32 2003 Yukihiro Matsumoto + + * string.c (rb_str_chomp_bang): defer rb_str_modify() to actual + modify point. other methods, replace, tr, delete, squeeze, + lstrip, and rstrip as well. + + * string.c (rb_str_rstrip_bang): remove trailing '\0' at the end + of string. + + * string.c (rb_str_lstrip_bang): do not strip '\0' from the left. + +Sun Jul 27 21:16:30 2003 WATANABE Hirofumi + + * ext/openssl/extconf.rb: better support MinGW. add + dir_config("kerberos") and with_config("pkg-config"). + + * mkconfig.rb: initialize global variables to avoid warnings. + +Sun Jul 27 14:43:37 2003 NAKAMURA, Hiroshi + + * lib/debug.rb: fix breakpoint parameter parsing/checking. + (?:(file|class):)(line_number|method) + +Sun Jul 27 10:21:28 2003 Masatoshi SEKI + + * lib/drb/unix.rb: add UNIXFileOwner, UNIXFileGroup. + +Sun Jul 27 03:10:43 2003 Nobuyoshi Nakada + + * io.c (io_reopen): avoid dup2() equal handles not to close itself and + to get rid of a msvcrt bug. [ruby-dev:20919] + +Sun Jul 27 00:37:16 2003 WATANABE Hirofumi + + * lib/tmpdir.rb: use GetWindowsDirectory, not GetSystemDirectory. + [ruby-talk:77073] + +Sat Jul 26 21:25:21 2003 NAKAMURA Usaku + + * io.c (rb_fdopen): set errno if it's zero on win32 platforms. + + * ext/openssl/ossl_ssl.c (TO_SOCKET): define special version when + _WIN32 is defined. this is ruby's problem, not OpenSSL. + + * win32/win32.c: remove some old comments. + +Sat Jul 26 14:26:57 2003 Yukihiro Matsumoto + + * ext/tk/lib/tk.rb (TkCore::chooseDirectory): back up wrongly + removed method. + +Sat Jul 26 14:14:12 2003 Nobuyoshi Nakada + + * ext/stringio/stringio.c: includes Enumerable as well as IO. + [ruby-talk:77058] + +Sat Jul 26 07:00:53 2003 Masatoshi SEKI + + * lib/erb.rb: fix % line. + +Sat Jul 26 05:31:09 2003 GOTOU Yuuzou + + * ext/openssl/ossl.h: fix comment. + + * ext/openssl/ossl.c (ossl_debug): should enable if no va-args + macro supplied. + +Sat Jul 26 04:04:36 2003 GOTOU Yuuzou + + * ext/openssl/extconf.rb: refine va-args macro detection. + [ruby-talk:76983] + +Sat Jul 26 01:33:51 2003 NAKAMURA Usaku + + * ext/openssl/ossl_ssl.c (ossl_ssl_setup): need to pass the real + socket to SSL_get_fd on native win32 platforms. + +Sat Jul 26 01:20:29 2003 Yukihiro Matsumoto + + * variable.c (rb_mod_const_missing): "const_missing" should not + appear in the caller(); add call frame adjustment. + + * eval.c (rb_method_missing): simplify call frame adjustment. + +Fri Jul 26 00:04:25 2003 NAKAMURA, Hiroshi + + * ext/openssl/sample: add samples. + - cert2text.rb: dump certificate file as text. + - crlstore.rb: CRL store implementation. Fetch CRL via HTTP when + http-access2 is installed. + - certstore.rb: certificate store implementation. + - cert_store_view.rb: certificate store viewer with FXRuby. Uses + c_rehash.rb, crlstore.rb and certstore.rb. + +Fri Jul 25 15:47:39 2003 GOTOU Yuuzou + + * ext/openssl/extconf.rb: add check for BN_rand_range() and + BN_pseudo_rand_range(). + + * ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise + NotImplementedError if BN_rand_range() wan not defined. + + * ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise + NotImplementedError if BN_pseudo_rand_range() wan not defined. + + * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_s_encrypt): avoid compiler + warning for OpenSSL-0.9.6. + + * ext/openssl/ossl_pkcs7.c (ossl_pkcs7si_initialize): ditto. + +Fri Jul 25 14:34:55 2003 Yukihiro Matsumoto + + * ext/socket/socket.c (tcp_s_gethostbyname): was using + uninitialized size_t value. [ruby-talk:76946] + +Fri Jul 25 13:38:38 2003 Nobuyoshi Nakada + + * re.c (rb_reg_options_m): use rb_reg_options() to mask internal + flags. + + * re.c (rb_reg_initialize_m): allow nil as third argument and + ignore, and mask code flags if the argument is given. + [ruby-dev:20885] + + * re.c (rb_reg_options): get common flags directly. + +Fri Jul 25 03:52:21 2003 why the lucky stiff + + * lib/yaml/dbm.rb: replace indexes with values_at. + +Fri Jul 25 02:55:59 2003 GOTOU Yuuzou + + * ext/openssl/extconf.rb: add check for libsocket and libnsl. + + * ext/openssl/extconf.rb: use pkg-config to build CFLAGS and LDFLAGS. + +Fri Jul 25 01:27:59 2003 why the lucky stiff + + * ext/syck/emitter.c (syck_emitter_flush): accepts count + of bytes to flush. anchor offsets now functional. + + * ext/syck/syck.h (syck_emitter_flush): ditto. + + * ext/syck/rubyext.c: ditto. + + * ext/syck/token.c: URI escaping now supported. + +Thu Jul 24 16:41:31 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (have_type): check if a type is defined. + + * lib/mkmf.rb (check_sizeof): check size of a type. + + * ext/dbm/extconf.rb: check if type DBM is defined. + [ruby-talk:76693] + +Thu Jul 24 16:18:40 2003 Nobuyoshi Nakada + + * ChangeLog (add-log-time-format): "%c" contains timezone on + XEmacs. + +Thu Jul 24 16:05:22 2003 Nobuyoshi Nakada + + * configure.in (AC_C_VOLATILE): check if volatile works. + + * defines.h (volatile): removed. + + * eval.c (rb_thread_group): Thread#group. [new] + +Thu Jul 24 15:50:42 2003 GOTOU Yuuzou + + * ext/openssl/extconf.rb: add check for win32 OpenSSL libraries. + + * ext/openssl/extconf.rb: add check for __VA_ARGS__. + + * ext/openssl/ossl.h: avoid non C99 compiler errors. + +Thu Jul 24 13:32:56 2003 Yukihiro Matsumoto + + * eval.c (thgroup_add): no warning for terminated threads. + +Thu Jul 24 13:09:26 2003 Tanaka Akira + + * lib/pathname.rb: added. + +Thu Jul 24 11:21:10 2003 Nobuyoshi Nakada + + * ext/io/wait/extconf.rb: removed unnecessary backward + compatibility stuff. + +Thu Jul 24 11:09:10 2003 WATANABE Hirofumi + + * ext/openssl/extconf.rb: revert use of dir_config. + +Thu Jul 24 09:58:32 2003 NAKAMURA Usaku + + * ext/Win32API/lib/win32/resolv.rb: added. + + * lib/resolv.rb: support Win32 platforms. based on Tietew's work + [ruby-dev:15573]. + +Thu Jul 24 04:05:46 2003 GOTOU Yuuzou + + * ext/openssl/ssl.h: undef X509_NAME and PKCS7_SIGNER_INFO to + avoid name confliction on mswin32. + + * ext/openssl/ssl.c (ossl_protect_obj2bio): avoid VC++ warnings + in function prototype. + + * ext/openssl/ssl.c (ossl_protect_membio2str): ditto. + + * ext/openssl/ssl.c (ossl_protect_x509_ary2sk): ditto. + +Thu Jul 24 03:44:04 2003 Michal Rokos + + * ext/openssl/extconf.rb: cut check for OpenSSL version + +Thu Jul 24 03:41:30 2003 NAKAMURA Usaku + + * ext/tcltklib/tcltklib.c (ip_init): need at least one statement after + label. + +Thu Jul 24 01:48:03 2003 Yukihiro Matsumoto + + * lib/cgi.rb (CGI::QueryExtension::[]): should return StringIO (or + Tempfile) for multipart/form. + + * variable.c (rb_define_const): give warning for non constant + name. [ruby-core:01287] + +Thu Jul 24 01:51:08 2003 GOTOU Yuuzou + + * lib/webrick: imported. + + * MANIFEST: added webrick files. + +Thu Jul 24 01:32:04 2003 WATANABE Hirofumi + + * lib/tmpdir.rb (tmpdir): new method. remove TMPDIR. + use GetSystemWindowsDirectory(GetSystemDirectory), not GetTempPath. + +Thu Jul 24 01:08:43 2003 GOTOU Yuuzou + + * ext/openssl: imported. + +Wed Jul 23 23:06:59 2003 WATANABE Hirofumi + + * file.c (DOSISH): better Cygwin support. + +Wed Jul 23 19:13:21 2003 Yukihiro Matsumoto + + * string.c (rb_str_split_m): the receiver may be empty string. + +Wed Jul 23 18:43:00 2003 Masatoshi SEKI + + * lib/erb.rb: import erb-2.0.4b1. + +Wed Jul 23 18:21:52 2003 Nobuyoshi Nakada + + * ext/io/wait: imported. + +Wed Jul 23 15:49:01 2003 Yukihiro Matsumoto + + * string.c (rb_str_lstrip_bang): strip NUL along with white + spaces. [ruby-talk:76659] + + * string.c (rb_str_rstrip_bang): ditto. + +Wed Jul 23 14:19:17 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (log_src, checking_for, create_header): + Logging.message is printf like format. + +Wed Jul 23 10:11:15 2003 Nobuyoshi Nakada + + * ext/iconv/iconv.c (check_iconv): check if Iconv instance. + + * ext/iconv/iconv.c (iconv_convert): stringify argument. + +Tue Jul 22 19:16:40 2003 Tanaka Akira + + * ext/iconv/iconv.c (iconv_failure_initialize): limit + inspect message. [ruby-dev:20785] + + * ext/iconv/iconv.c (rb_str_derive): share with original + string if possible. [ruby-dev:20785] + +Tue Jul 22 17:22:34 2003 Yukihiro Matsumoto + + * variable.c (rb_mod_const_missing): new method. [ruby-core:00441] + + * variable.c (rb_const_get_at): allow "const_missing" hook. + + * variable.c (rb_const_get_0): ditto. + + * eval.c (method_missing): rename from rb_undefined to clarify. + + * eval.c (ruby_finalize_0): update exit status if any of END proc + raises SystemExit. [ruby-core:01256] + + * signal.c (rb_trap_exit): wrap rb_eval_cmd + + * eval.c (rb_exec_end_proc): reduce rb_protect(). + +Tue Jul 22 17:15:57 2003 WATANABE Hirofumi + + * MANIFEST (lib/cgi/session/pstore.rb, lib/yaml/baseemitter.rb): + added. + +Tue Jul 22 10:52:19 2003 NAKAMURA Usaku + + * lib/tmpdir.rb: remove charcters after "\000" and regularize path. + +Tue Jul 22 02:22:45 2003 Yukihiro Matsumoto + + * numeric.c (num_equal): should not use rb_equal(). + + * string.c (rb_str_equal): should return nil for non string + operand to conform comparable convention. [ruby-dev:20759] + +Tue Jul 22 00:19:19 2003 Yukihiro Matsumoto + + * lib/tmpdir.rb: new library to get temporary directory path, + using GetTempPath on Win32 environment. + + * lib/tempfile.rb: now uses tmpdir.rb. + + * lib/cgi/session.rb, ib/drb/unix.rb: ditto. + +Mon Jul 21 01:53:43 2003 Yukihiro Matsumoto + + * string.c (rb_string_value_cstr): check null byte in the string + before retrieving C ptr. accessed via macro StringValueCStr. + + * file.c: use StringValueCStr to retrieve paths to system calls. + + * file.c (sys_fail2): raise error for two operand system calls + such as rename, link, symlink. (ruby-bugs PR#1047) + +Sun Jul 20 11:03:25 2003 UENO Katsuhiro + + * ext/zlib/zlib.c (gzfile_read_header): gz->z.input may be nil after + finishing reading a gzip header. + +Sat Jul 19 22:25:47 2003 Yukihiro Matsumoto + + * string.c (rb_str_match2): add warning to "~string". + [ruby-list:37751] + + * lib/net/ftp.rb (Net::FTP::open): takes block. suggested by Gavin + Sinclair in [ruby-core:01237]. + +Sat Jul 19 19:03:24 2003 Takaaki Uematsu + + * wince/stdlib.c: add bsearch(). + +Sat Jul 19 12:34:45 2003 David Black + + * lib/scanf.rb: import. + +Sat Jul 19 11:27:25 2003 Yukihiro Matsumoto + + * lib/xmlrpc: import. + + * eval.c (thgroup_add): should return group for terminated thread + case. + + * eval.c (thgroup_add): do not raise ThreadError on terminated + thread addition for compatibility. just warning. + +Sat Jul 19 04:50:56 2003 Nobuyoshi Nakada + + * ext/iconv/charset_alias.rb, ext/iconv/extconf.rb: make wrapper + script which maps charset names. [ruby-dev:20625] + + * ext/iconv/iconv.c (charset_map): charset name map. + + * ext/iconv/iconv.c (iconv_dfree): no exception while + finalization. + + * ext/iconv/iconv.c (iconv_s_conv): new method Iconv.conv. + [ruby-dev:20588] + +Sat Jul 19 03:09:18 2003 NAKAMURA Usaku + + * ext/Win32API/lib/win32/registry.rb (Win32::Registry::Error): + inherit StandardError instead of SystemCallError. + +Sat Jul 19 02:00:39 2003 Nobuyoshi Nakada + + * eval.c (rb_attr): extra calls of method_added. [ruby-talk:76361] + +Fri Jul 18 18:44:22 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (init_mkmf): clear $INSTALLFILES. [ruby-dev:20727] + +Fri Jul 18 17:34:39 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (rm_f): use FileUtils. + + * lib/mkmf.rb (modified?): return mtime of the target if + it exists and newer than times. + + * lib/mkmf.rb (install_files): add a current directory + file even if it does not exist yet. + + * lib/mkmf.rb (configuration): do not add $LDFLAGS to + DLDFLAGS. + + * ext/extmk.rb (extmake): check whether Makefile is newer + than depend and MANIFEST. + +Fri Jul 18 14:57:19 2003 NAKAMURA Usaku + + * win32/win32.c (make_cmdvector): recognize quote within string. + based on Nobu's patch ([ruby-win32:450]). [ruby-talk:75853] + +Fri Jul 18 13:04:36 2003 Yukihiro Matsumoto + + * eval.c (rb_f_missing): VCALL is called only for LOCAL_ID. no + check required. + + * parse.y (primary): primary:tFID generates NODE_FCALL. + [ruby-dev:20641] + +Thu Jul 17 18:50:26 2003 Yukihiro Matsumoto + + * re.c (match_captures): rename from "groups". + +Thu Jul 17 17:57:32 2003 Yukihiro Matsumoto + + * eval.c (rb_clear_cache_by_class): check both klass and origin. + +Thu Jul 17 13:46:25 2003 Yukihiro Matsumoto + + * eval.c (ruby_init): set ruby_running to true after + initialization. + +Thu Jul 17 13:42:53 2003 WATANABE Hirofumi + + * lib/ftools.rb (File::makedirs): do not handle "//" as a directory. + +Wed Jul 16 16:23:58 2003 Yukihiro Matsumoto + + * eval.c (rb_proc_new): call svalue_to_avalue for yield argument. + +Wed Jul 16 00:31:00 2003 Yukihiro Matsumoto + + * eval.c (rb_disable_super, rb_enable_super): deprecate. + + * eval.c (thgroup_s_alloc): re-implement group struct. + + * eval.c (thgroup_add): add check for enclose and frozen status. + +Tue Jul 15 19:50:49 2003 Nobuyoshi Nakada + + * eval.c (rb_add_method, rb_alias): need to clear cache by + ID when method defined in parent class is cached for + grand child classes. [ruby-dev:20672] + +Tue Jul 15 14:38:21 2003 Yukihiro Matsumoto + + * lib/matrix.rb: remove elements conversion to_f, to_i, to_r. + + * lib/cgi/session/pstore.rb: add new file. + +Tue Jul 15 03:30:41 2003 why the lucky stiff + + * ext/syck/rubyext.c (syck_mark_emitter): forgot to rb_gc_mark the + outgoing IO object. + +Sun Jul 13 14:55:36 2003 Koji Arai + + * process.c (proc_getgroups, proc_setmaxgroups): fix typo. + +Sat Jul 12 17:01:28 2003 NAKAMURA Usaku + + * struct.c (struct_entry): add prototype to avoid VC++ warnings. + +Sat Jul 12 04:43:57 2003 why the lucky stiff + + * ext/syck/emitter.c: new emitter code. + + * ext/syck/rubyext.c: Emitter class. + + * lib/yaml.rb: Load Syck emitter, if available. + + * lib/yaml/stream.rb: ditto. + + * lib/yaml/baseemitter.rb: underlying class for all emitters. + + * lib/yaml/rubytypes.rb: use BaseEmitter abstraction. + + * lib/yaml/emitter.rb: ditto. + +Sat Jul 12 04:23:13 2003 Nobuyoshi Nakada + + * eval.c (rb_undef): need to clear cache for inherited class. + (rubicon/builtin/TestModulePrivate.rb:test_undef_method) + +Sat Jul 12 01:21:54 2003 Nobuyoshi Nakada + + * eval.c (avalue_to_svalue): typo. + + * eval.c (rb_load): rb_prohibit_interrupt must not underflow. + + * parse.y (NODE_STRTERM, tokadd_string, parse_string): moved + string nest level from a static variable to NODE_STRTERM, to + preserve it from word to word in %W/%w. + +Fri Jul 11 22:37:18 2003 Nobuyoshi Nakada + + * configure.in (aix): needs ruby.imp even with gcc. + (ruby-bugs:PR#1007) + +Fri Jul 11 18:37:37 2003 WATANABE Hirofumi + + * instruby.rb: do not handle directories. [ruby-dev:20613] + +Fri Jul 11 16:09:09 2003 Yukihiro Matsumoto + + * util.c (ruby_strtod): exp should be less than MDMAXEXPT. + +Thu Jul 10 14:42:02 2003 WATANABE Hirofumi + + * math.c (math_log): nan takes a dummy argument on Cygwin 1.5.0. + +Wed Jul 9 23:50:46 2003 Nobuyoshi Nakada + + * regex.c (mbctab_sjis): 0x80 is not shift jis first byte. + [ruby-dev:20516] + +Wed Jul 9 15:38:28 2003 WATANABE Hirofumi + + * instruby.rb: do not install shared libraries as man pages. + + * mkconfig.rb: support text-mount on Cygwin. + +Wed Jul 9 11:09:57 2003 NAKAMURA Usaku + + * re.c (match_entry): add prototype to avoid VC++ warnings. + +Wed Jul 9 03:48:27 2003 Yukihiro Matsumoto + + * eval.c (rb_load): put rb_load_file() in a thread critical + section. [ruby-dev:20490] + + * eval.c (compile): put rb_compile_string() in a thread critical + section. + +Tue Jul 8 02:35:41 2003 Yukihiro Matsumoto + + * variable.c (rb_const_get_0): should not warn if constant is not + defined. (ruby-bugs-ja PR#509) + + * bignum.c (rb_big2dbl): give a warning on overflow. + (ruby-bugs-ja PR#510) + + * util.c (ruby_strtod): change MDMAXEXPT from 511 to 308. + + * pack.c (utf8_to_uv): long is sufficient. LONG_LONG is not + required. + +Tue Jul 8 01:43:16 2003 Koji Arai + + * bignum.c (rb_big2str): support 32 bit (without `long long' type) + machines. (ruby-bugs-ja PR#512) + +Mon Jul 7 10:22:46 2003 WATANABE Hirofumi + + * ext/dbm/extconf.rb (gdbm_compat, qdbm): add check for gdbm_compat + and qdbm. + +Mon Jul 7 01:34:49 2003 Yukihiro Matsumoto + + * eval.c (rb_call_super): k->super maybe NULL if klass is Kernel. + [ruby-dev:20519] + + * gc.c (obj_free): clear method cache when freeing class/module. + +Sat Jul 5 23:32:06 2003 Yukihiro Matsumoto + + * eval.c (rb_mod_remove_method): allow "remove_method" to accept + multiple arguments. + +Sat Jul 5 00:22:59 2003 Yukihiro Matsumoto + + * node.h (NEW_NODE): cast arguments to rb_node_newnode(). + +Fri Jul 4 21:48:44 2003 Nobuyoshi Nakada + + * ext/syck/rubyext.c, ext/syck/syck.c, ext/syck/syck.h, + ext/syck/token.c: C++ style comments are not allowed. + (ruby-bugs:PR#1008) + +Thu Jul 3 23:41:30 2003 Tanaka Akira + + * lib/timeout.rb: add optional exception argument for compatibility + function. + +Thu Jul 3 14:22:46 2003 Yukihiro Matsumoto + + * array.c (rb_values_at): extract common procedure from + rb_ary_values_at. follow DRY principle. + + * re.c (match_values_at): values_at should understand ranges. + + * struct.c (rb_struct_values_at): ditto. + + * struct.c (inspect_struct): inspect format changed; add "struct " + at the top. + + * sprintf.c (rb_f_sprintf): "%p" specifier for inspect output. + (RCR#69) + + * eval.c (rb_mod_undef_method): allow "undef_method" to accept + multiple arguments. (RCR#146) + + * lib/timeout.rb: put timeout in Timeout module. (RCR#121) + [ruby-talk:61028] + + * re.c (match_groups): new method added. (RCR#139) + + * variable.c (rb_mod_const_of): should exclude constant defined + in Object, unless retrieving constants of Object. + +Thu Jul 3 12:13:05 2003 WATANABE Hirofumi + + * lib/mkmf.rb (VPATH): convert from Windows form to Unix form on + MinGW. This fixes the build with GNU make 3.80-1 for Cygwin. + +Wed Jul 2 23:27:34 2003 Yukihiro Matsumoto + + * string.c (rb_str_new4): do not allocate new string if original + is frozen or already have copy-on-write entry. [ruby-talk:74940] + +Wed Jul 2 13:22:39 2003 Yukihiro Matsumoto + + * string.c (rb_str_shared_replace): clear flags before copy. + + * string.c (rb_str_replace): ditto. + + * eval.c (rb_yield_0): override visibility mode for module_eval + etc. (ruby-bugs-ja PR#505) + +Wed Jul 2 11:45:34 2003 Minero Aoki + + * lib/net/smtp.rb: synchronize document with source code. + + * lib/net/pop.rb: ditto. + +Wed Jul 2 11:39:50 2003 Minero Aoki + + * lib/net/smtp.rb: unify SMTP and SMTPCommand. + + * lib/net/smtp.rb: new exception class SMTPError. + + * lib/net/smtp.rb: new exception class SMTPAuthenticationError. + + * lib/net/smtp.rb: new exception class SMTPServerBusy. + + * lib/net/smtp.rb: new exception class SMTPSyntaxError. + + * lib/net/smtp.rb: new exception class SMTPFatalError. + + * lib/net/smtp.rb: new exception class SMTPUnknownError. + + * lib/net/smtp.rb: change critical section protect algorithm. + + * lib/net/smtp.rb (SMTP#do_start): check authentication args + before all. + + * lib/net/smtp.rb: new method send_message (alias send_mail). + + * lib/net/smtp.rb: new method open_message_stream (alias ready). + + * lib/net/pop.rb: POPBadResponse is a POPError. + + * lib/net/pop.rb (POPMail#pop): ban ReadAdapter. + + * lib/net/pop.rb (POPMail#top): ditto. + + * lib/net/pop.rb (POP3Command): change critical section protect + algorithm. + + * lib/net/pop.rb (POP3Command#auth): USER and PASS should be one + critical block. + + * lib/net/pop.rb (POP3Command#retr): ban `dest' argument using + iterator. + + * lib/net/pop.rb (POP3Command#top): ditto. + + * lib/net/protocol.rb: #read_message_to -> #each_message_chunk + + * lib/net/protocol.rb: #D -> #LOG + + * lib/net/protocol.rb: #D_off -> #LOG_off + + * lib/net/protocol.rb: #D_on -> #LOG_on + +Wed Jul 2 11:10:47 2003 Minero Aoki + + * lib/net/http.rb: set old class aliases for backward + compatibility. [ruby-talk:74863] + + * lib/net/protocol.rb: ditto. + +Wed Jul 2 01:32:40 2003 WATANABE Hirofumi + + * lib/net/pop.rb (Net::POP3#start): typofix. + +Tue Jul 1 19:02:12 2003 WATANABE Hirofumi + + * parse.y (rb_intern): should use mbclen instead of mblen. + +Tue Jul 1 10:36:19 2003 Nobuyoshi Nakada + + * class.c (rb_define_class, rb_define_module): also set constant under + Object. [ruby-dev:20445] + + * object.c (boot_defclass): ditto. + + * variable.c (rb_const_get_at, rb_const_get_0, rb_mod_const_at, + rb_const_defined, mod_av_set, rb_const_assign): toplevel constants + are now under Object, rb_class_tbl remains for GC. + +Mon Jun 30 17:53:06 2003 Nobuyoshi Nakada + + * eval.c (mnew): ignore metaclasses have no influence, for rklass. + [ruby-talk:74706] + +Sun Jun 29 06:59:07 2003 Masatoshi SEKI + + * lib/drb/drb.rb, lib/drb/invokemethod.rb: import drb-2.0.4 + (use LocalJumpError#reason) + +Sat Jun 28 12:28:54 2003 Nobuyoshi Nakada + + * configure.in (rb_cv_stack_grow_dir): check stack growing direction. + + * eval.c (rb_thread_restore_context): prior configuration macro. + + * gc.c (ruby_stack_length): always return the address of lower edge. + + * gc.c (rb_gc_mark_locations): remove margin. [ruby-dev:20462] + + * gc.c (rb_gc, Init_stack): prior configuration macro. + + * gc.c (Init_stack): add safety margin. + +Fri Jun 27 14:41:22 2003 Nobuyoshi Nakada + + * string.c (rb_str_split_m): remove white spaces on the head of + the last element, when limit is specified. [ruby-talk:74506] + +Fri Jun 27 03:24:54 2003 Nobuyoshi Nakada + + * io.c (io_fflush): need to check if closed after thread switch. + [ruby-dev:20351] + + * io.c (fptr_finalize): ditto. + + * string.c (rb_str_rindex_m): fixed wrong fix. should move backward + first only when matching from the end. + +Thu Jun 26 21:34:49 2003 Nobuyoshi Nakada + + * class.c (class_instance_method_list): get rid of warning about + arguement type mismatch, and inline method_list(). + [ruby-core:01198] + +Wed Jun 25 12:52:58 2003 Matthew Dempsky + + * class.c (rb_generic_class_instance_methods): merge argument + check (and warning) into one function; following DRY principle. + [ruby-core:01193] + +Wed Jun 25 00:14:30 2003 Yukihiro Matsumoto + + * variable.c (autoload_delete): should delete Qundef from iv_tbl. + (ruby-bugs-ja PR#504) + +Tue Jun 24 14:22:41 2003 why the lucky stiff + + * lib/yaml/types.rb: replaced Kernel::Hash reference with Object::Hash + from [ruby-talk:74270] + +Tue Jun 24 17:59:30 2003 Nobuyoshi Nakada + + * eval.c (rb_yield_0): show yielded block position not only yielding + point. [ruby-dev:20441] + +Tue Jun 24 16:47:07 2003 Minero Aoki + + * lib/net/http.rb (HTTPHeader#proxy_basic_auth): missing `@'. + Thanks Douglas Koszerek. (ruby-bugs:PR975) + +Tue Jun 24 14:31:17 2003 Minero Aoki + + * config.guess: have wrongly returned "alphaev56-unknown-linux-" + on Linux/Alpha. [ruby-dev:20434] + +Tue Jun 24 04:54:46 2003 Minero Aoki + + * configure.in: always add -mieee for gcc/alpha. [ruby-dev:20429] + +Tue Jun 24 02:40:09 2003 Nobuyoshi Nakada + + * array.c (rb_ary_unshift_m): need to check number of arguments. + [ruby-talk:74189] + +Mon Jun 23 23:59:56 2003 Minero Aoki + + * io.c (io_close): missing prototype. [ruby-dev:20422] + + * ext/socket/socket.c (bsock_do_not_rev_lookup_set): ditto. + + * ext/win32ole/win32ole.c (foletype_guid, foletype_progid): ditto. + + * error.c (syserr_initialize): length argument of sprintf() is an + int. + +Mon Jun 23 23:28:14 2003 WATANABE Hirofumi + + * MANIFEST: add wince files. + + * ext/tk/MANIFEST: add sample/tkmenubutton.rb. + +Mon Jun 23 17:40:58 2003 Nobuyoshi Nakada + + * dir.c (find_dirsep): get rid of warnings. + + * eval.c (error_print): temporary value might be disposed by GC. + + * hash.c (env_has_value, env_index): should not increment NULL. + + * io.c (io_read, rb_io_sysread): not read when length is 0. + + * io.c (rb_io_reopen): ensure initialized IO. + + * io.c (rb_io_init_copy): sychronize file pointer. + + * io.c (rb_io_s_pipe): make exception proof. + + * string.c (rb_str_rindex_m): Fixnum 0 matched end of string. + +Mon Jun 23 16:18:12 2003 Tanaka Akira + + * io.c (rb_open_file): initialize flags. + + * time.c (time_arg): initialize v[6] even when argc is 10 to + avoid valgrind error. + +Mon Jun 23 08:24:01 2003 Florian Frank + + * string.c (rb_str_upto): generate sequence according to "succ" + order. formerly check was done by dictionary order. + [ruby-talk:74138] + +Mon Jun 23 00:27:32 2003 Yukihiro Matsumoto + + * string.c (rb_string_value): fill constant empty string along + with setting ELTS_SHARED if str->ptr is NULL. [ruby-core:01179] + + * string.c (rb_string_value_ptr): ditto. + + * string.c (rb_check_string_type): ditto. + +Sun Jun 22 23:42:20 2003 Nobuyoshi Nakada + + * string.c (str_gsub): move END(0) check before mbclen2(). + + * string.c (scan_once): reduce END(0) check. + + * io.c (rb_io_initialize): accept fixnum mode. + + * eval.c (error_print): replace strchr() by memchr(), einfo may + contain "\0". + + * pack.c (pack_unpack): range check for "@" move; initialize check + for "m". + + * error.c (syserr_initialize): avoid buffer overflow. + + * file.c (rb_file_s_readlink): expand buffer until readlink + succeed. + +Sat Jun 21 23:15:08 2003 Yukihiro Matsumoto + + * eval.c (proc_invoke): should not propagate distination tag if + tag is already handled in this level. (ruby-bugs-ja PR#501) + + * object.c (str_to_id): check for empty string before intern. + [ruby-talk:74006] + +Sat Jun 21 13:56:09 2003 Takaaki Uematsu + + * wince/Makefile.sub: undefine HAVE__SETJMP. + + * wince/resource.rb: include winver.h in wince3.0. + +Fri Jun 20 23:28:27 2003 Yukihiro Matsumoto + + * eval.c (proc_invoke): should not propagate TAG_BREAK and + TAG_RETURN from orphan Proc object. [ruby-core:01148] + +Fri Jun 20 15:04:28 2003 NAKAMURA Usaku + + * defines.h (PATH_ENV): name of PATH environment. [new]. + + * defines.h (ENV_IGNORECASE): define for case insensitive platforms + to access environment variables. + + * dln.c (dln_find_exe): use PATH_ENV instead of "PATH". + + * hash.c (env_delete, rb_f_getenv, env_fetch, rb_env_path_tainted, + env_aset): ditto. + + * ruby.c (proc_options): ditto. + +Fri Jun 20 03:09:21 2003 Yukihiro Matsumoto + + * parse.y (new_yield): distinguish "yield 1,2" and "yield [1,2]". + [ruby-dev:20360] + + * eval.c (rb_eval): support new_yield() change. + + * variable.c (rb_const_get_0): warn for Foo::BAR when BAR is a + toplevel constant (i.e. a constant defined under Object). + [ruby-list:36935] + + * parse.y (no_blockarg): separate no block argument check and + ret_args argument processing. + +Fri Jun 20 00:45:19 2003 NAKAMURA, Hiroshi + + * lib/csv.rb: import csv module. + +Thu Jun 19 22:51:41 2003 Masatoshi SEKI + + * lib/drb.rb, lib/drb/drb.rb, lib/drb/eq.rb, + lib/drb/extserv.rb, lib/drb/extservm.rb, lib/drb/gw.rb, + lib/drb/invokemethod.rb, lib/drb/observer.rb, + lib/drb/timeridconv.rb, lib/drb/unix.rb: import drb-2.0.4b3 + +Thu Jun 19 16:13:54 2003 WATANABE Hirofumi + + * rubytest.rb: add library path to include standard libraries. + +Thu Jun 19 13:13:10 2003 NAKAMURA Usaku + + * hash.c (env_delete, rb_f_getenv, env_fetch): case insensitive to + access environment variables on DOSISH platforms. + +Thu Jun 19 00:51:47 2003 NAKAMURA, Hiroshi + + * range.c (rb_range_beg_len): out_of_range check after adjusting + end point. [ruby-dev:20370] + +Wed Jun 18 23:59:11 2003 Guy Decoux + + * parse.y (call_args): the first argument to arg_cancat() should + be NODE_LIST. [ruby-core:01151] + +Wed Jun 18 23:41:27 2003 Marc Cartright + + * ext/zlib/zlib.c (zstream_run): In a particular situation, + deflate/inflate will return Z_BUF_ERROR, even though another call + is required by the zlib library. + +Wed Jun 18 13:50:06 2003 Yukihiro Matsumoto + + * eval.c (rb_eval): should dispatch based on ID type. + +Wed Jun 18 12:53:42 2003 Minero Aoki + + * eval.c (rb_yield_0): should restore scope_vmode during yield. + [ruby-dev:20361] + +Wed Jun 18 01:13:36 2003 why the lucky stiff + + * ext/syck/rubyext.c (rb_syck_load_handler): merge key implemented. + + * ext/syck/rubyext.c (transfer_find_i): removed use of String#=~ in favor + of Regexp#match. + + * lib/yaml.rb: YAML::try_implicit returns. + + * lib/yaml/rubytypes.rb: Regexps added for type matching. + + * lib/yaml/emitter.rb: fix String + nil error. + +Tue Jun 17 17:01:08 2003 why the lucky stiff + + * ext/syck/gram.c: added grammar for certain empty sequence entries. + + * ext/syck/handler.c, ext/syck/syck.c, ext/syck/syck.h: track bad anchors. + + * ext/syck/token.c: added pause token, tag possible circular references. + + * lib/yaml/rubytypes.rb: parsing YMD time as Date instance. + + * ext/syck/rubyext.c: ditto. DomainType, PrivateType, BadAlias classes. + +Tue Jun 17 21:28:27 2003 Ariff Abdullah + + * win32/win32.c (rb_w32_opendir): need to set errno. [ruby-talk:73761] + +Mon Jun 16 19:01:25 2003 Yukihiro Matsumoto + + * eval.c: remove rb_cBlock. + +Mon Jun 16 18:06:33 2003 WATANABE Hirofumi + + * numeric.c (rb_fix2uint): renamed from rb_fix2int on IA64. + +Mon Jun 16 17:02:57 2003 Nobuyoshi Nakada + + * eval.c (proc_invoke): format the message for localjump_error(). + +Mon Jun 16 16:23:56 2003 NAKAMURA Usaku + + * ext/dl/dl.c (rb_dl_callback): use rb_block_proc() instead of + rb_block_new(). + + * ext/win32ole/win32ole.c (ev_on_event): ditto. + +Mon Jun 16 16:06:47 2003 Yukihiro Matsumoto + + * eval.c (proc_alloc): re-unification of Block and Proc. Block + class is no longer available. + +Mon Jun 16 14:43:14 2003 WATANABE Hirofumi + + * bcc32/Makefile.sub: undefine HAVE_GETGROUPS. + +Sat Jun 14 16:58:41 2003 Guy Decoux + + * regex.c (calculate_must_string): should handle option_set + properly. [ruby-talk:73481] + + * regex.c (re_compile_fastmap): a bug in flag manipulation. + [ruby-talk:73549] + +Sat Jun 14 17:59:59 2003 Guy Decoux + + * eval.c (method_arity): should handle NODE_BMETHOD and + NODE_DMETHOD. [ruby-core:01138] + +Fri Jun 13 09:24:39 2003 Shugo Maeda + + * lib/net/ftp.rb (storebinary): seek correctly. Thanks, William Webber. + + * lib/net/ftp.rb (putbinaryfile): rescue FTPPermError. + +Tue Jun 10 14:26:30 2003 why the lucky stiff + + * ext/syck/token.c: preserve newlines prepended to a block. + + * ext/syck/implicit.c (syck_match_implicit): added !merge and !default. + + * lib/yaml/constants.rb: remove '\z' escape. + + * lib/yaml/emitter.rb: ensure reset of @seq_map shortcut flag. + + * lib/yaml/encoding.rb: remove Unicode translation methods. + + * lib/yaml/rubytypes.rb: improved round-tripping of Strings. + [ruby-core:1134] + +Tue Jun 10 01:07:54 2003 Yukihiro Matsumoto + + * lib/irb.rb (IRB::Irb::eval_input): warn and exit if $SAFE >=3 + after input evaluation. + + * lib/irb.rb (IRB::Irb::eval_input): untaint input string. now + irb works for levels 1 and 2. + +Mon Jun 9 19:02:33 2003 Nobuyoshi Nakada + + * configure.in: checks presence of grp.h and setgroups(). + + * process.c (proc_getgroups, proc_setgroups): raise + NotImplementedError unless available. [ruby-talk:73014] + +Sun Jun 8 13:37:21 2003 Takaaki Uematsu + + * wince/setup.mak: set SUBSYSTEM in each platform. + + * wince/stdlib.c: fix mblen() bug. + +Sat Jun 7 22:22:03 2003 Yukihiro Matsumoto + + * ext/syck/rubyext.c (syck_loader_transfer): should not use + rb_cProc directly, since type_proc may be Proc, Block, or + Method. + + * parse.y (value_expr0): class and module statements should not be + warned for "void value expression". [ruby-talk:72989] + +Sat Jun 7 01:46:41 2003 Yukihiro Matsumoto + + * gc.c (add_final): should determine type by respond_to? + + * gc.c (define_final): ditto. + + * io.c (rb_io_ctl): should not depend on respond_to? + + * range.c (range_step): rb_check_string_type(). + +Fri Jun 6 20:29:14 2003 Nobuyoshi Nakada + + * eval.c (error_print): needs to be exception proof. + + * eval.c (error_handle, rb_longjmp): bails out when exception + reentered. (ruby-bugs-ja:PR#487), [ruby-core:01119], + [ruby-core:01122] + + * eval.c (Init_Proc): pre-allocates critical error objects. + +Fri Jun 6 20:29:14 2003 Nobuyoshi Nakada + + * parse.y (cmd_brace_block, do_block, brace_block): initialize block + variables at the beginning of the block. [ruby-talk:72521] + +Fri Jun 6 18:49:11 2003 Yukihiro Matsumoto + + * process.c (proc_setgroups): new functions. + +Fri Jun 6 18:33:27 2003 Yukihiro Matsumoto + + * gc.c (define_final): eliminate rb_f_lambda() call. + + * class.c (rb_scan_args): ditto. + + * signal.c (sig_trap): ditto. + + * hash.c (rb_hash_initialize): ditto. + + * variable.c (rb_f_trace_var): ditto. + + * ext/dl/dl.c (rb_dl_callback): ditto. + + * ext/win32ole/win32ole.c (ev_on_event): ditto. + +Fri Jun 6 16:10:01 2003 Minero Aoki + + * lib/net/http.rb: define Net::HTTPResponse#to_ary for backward + compatibility. [ruby-talk:72927] + + * lib/net/protocol.rb: add warning. + +Fri Jun 6 13:30:57 2003 Yukihiro Matsumoto + + * eval.c (ruby_cleanup): $SAFE is turned off in the finalization. + Each END proc should preserve its own $SAFE level. [ruby-core:01119] + + * marshal.c (marshal_load): remove unused variable "hash". + [ruby-core:01120] + + * hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860] + + * array.c (rb_ary_first): optional argument to retrieve first n + elements. + + * array.c (rb_ary_last): optional argument to retrieve last n + elements. + +Thu Jun 5 21:31:55 2003 Takaaki Uematsu + + * wince/stdlib.c: add mblen(). + +Thu Jun 5 18:33:46 2003 WATANABE Hirofumi + + * ext/curses/curses.c (window_s_allocate,curses_finalize): + avoid VC++ warnings. + +Thu Jun 5 17:44:11 2003 why the lucky stiff + + * ext/syck/rubyext.c (syck_parser_mark): was a bit heavy on the GC. + + * lib/yaml.rb (YAML::transfer): added. + +Thu Jun 5 16:11:50 2003 NAKAMURA Usaku + + * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub + (MISSING): link with missing/erf.c. + + * missing.h (erf, erfc): fix prototype. + + * missing/erf.c: new. [ruby-list:37753] + +Thu Jun 5 15:09:06 2003 Yukihiro Matsumoto + + * math.c (math_erf,math_erfc): new function. [ruby-list:37753] + +Thu Jun 5 14:49:43 2003 why the lucky stiff + + * ext/syck/rubyext.c: using GC nodes caused segfault. [ruby-core:1071] + +Thu Jun 5 13:48:57 2003 why the lucky stiff + + * ext/syck/token.c: directives choked on a period. + + * ext/syck/gram.y: anchors work above a collection. [ruby-core:1071] + + * ext/syck/handler.c, ext/syck/syck.c: ensure a fresh strtable between + parser iterations. + +Wed Jun 4 12:06:59 2003 Yukihiro Matsumoto + + * eval.c (ruby_finalize): no longer need to turn off $DEBUG in the + finalizer. (ruby-bugs-ja PR#473) + +Tue Jun 3 22:20:49 2003 Yukihiro Matsumoto + + * eval.c (rb_call_super): should search superclass method based on + orig_func, not last_func. + +Tue Jun 3 09:59:27 2003 Yukihiro Matsumoto + + * eval.c (rb_call_super): inheritance line adjustment moved from + rb_call(). [ruby-core:01113] + + * eval.c (rb_eval): use rb_call_super() to follow DRY principle. + +Mon Jun 2 02:20:52 2003 Yukihiro Matsumoto + + * array.c (push_values_at): Array#values_at should work with + ranges too. + + * range.c (rb_range_beg_len): length calculation was wrong. + + * eval.c (rb_call): should set T_ICLASS in the frame->last_class. + [ruby-core:01110] + +Sun Jun 1 21:50:01 2003 WATANABE Hirofumi + + * configure.in: should not use def file, use ld with + --export-all-symbols option on Cygwin/MinGW. + + * defines.h: ditto. + + * cygwin/GNUmakefile.in: ditto. + + * ext/digest/defs.h: avoid warnings on Cygwin. + +Sun Jun 01 13:33:49 2003 Takaaki Uematsu + + * wince/string_wce.c: add strpbrk() for hpcpro support. + + * wince/setup.mak: add hpcpro(CE2.11) & armv4t(CE.NET) support. + + * wince/resource.rb: ditto. + + * wince/Makefile.sub: ditto. + +Sun Jun 1 10:38:28 2003 Nobuyoshi Nakada + + * variable.c (rb_autoload_load): autoloaded constants under a module + belong to the module. [ruby-core:01094], [ruby-dev:20309] + +Sat May 31 04:36:54 2003 Nobuyoshi Nakada + + * parse.y (rb_intern): should handle multibyte name. + +Fri May 30 23:18:01 2003 why the lucky stiff + + * ext/syck/rubyext.c (rb_syck_mktime): seconds calculated wrong. + + * ext/syck/gram.c: flexibility to anchors and transfer methods on + collections. + + * ext/syck/token.c: hex escapes. + + * lib/yaml/basenode.rb: YamlNode references changed to YAML::BaseNode. + +Fri May 30 22:28:04 2003 Nobuyoshi Nakada + + * numeric.c (rb_num2uint, rb_fix2int): new function to convert + values over INT_MAX. [ruby-core:01099] + + * ruby.h (NUM2UINT, FIX2INT): ditto. + +Fri May 30 15:01:05 2003 why the lucky stiff + + * ext/syck/token.c: preserve any indentation past an explicit + indentation. + +Fri May 30 14:55:44 2003 Nobuyoshi Nakada + + * eval.c (rb_Array): exclude Kernel#to_a instead of Object#to_a. + (ruby-bugs-ja:PR#483) + + * lib/optparse.rb (OptionParser::Switch#parse_arg): not splat. + + * lib/optparse.rb (OptionParser::Switch#conv_arg): splat if no + conversion supplied. + + * lib/optparse.rb (OptionParser::Switch::PlacedArgument#parse): + override next switch after argument conversion. + +Fri May 30 14:41:34 2003 why the lucky stiff + + * ext/syck/handler.c, ext/syck/syck.h: removed syck_fold_format(). + + * ext/syck/gram.c: flexibility for aliases and anchors. + + * ext/syck/token.c: folding now handled in the tokenizer. + +Fri May 30 06:21:18 2003 Nobuyoshi Nakada + + * variable.c (rb_autoload_load): should delete autoloaded + symbol itself before load. [ruby-core:01097] + + * variable.c (rb_mod_remove_const): must not return Qundef. + +Thu May 29 14:59:10 2003 WATANABE Hirofumi + + * win32/win32.c (_CRTIMP): redefine _CRTIMP on MinGW. + + * configure.in: remove '-D__USE_CRTIMP' from XCFLAGS on MinGW. + + * win32/win32.c (NtMakeCmdVector): handle quotes only if not instring. + +Thu May 29 09:11:01 2003 Nobuyoshi Nakada + + * eval.c (ev_const_defined, ev_const_get), variable.c + (rb_const_get_at, rb_const_get, rb_mod_remove_const): use Qundef + as autoload marker. [ruby-dev:18103], [ruby-dev:18184] + + * eval.c (rb_mod_autoload, rb_mod_autoload_p): new method; + Module#autoload, Module#autoload?. + + * variable.c (rb_autoload, rb_autoload_load, rb_autoload_p): + manage autoload constants per classes/modules. + + * variable.c (rb_const_defined_at, rb_const_defined): return false + for autoloading constants. + + * class.c (rb_define_class, rb_define_module), eval.c (rb_eval), + variable.c (rb_mod_const_at, rb_const_assign): removed autoload + stuff. + + * intern.h: prototypes; rb_autoload, rb_autoload_load, + rb_autoload_p. + + * lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse): + do not treat unmatched argument as an option. + +Wed May 28 08:44:26 2003 Yukihiro Matsumoto + + * io.c (rb_f_syscall): type dispatch should be based on + rb_check_string_type(), not FIXNUM_P(), because values may be a + bignum. [ruby-talk:72257] + +Tue May 27 20:33:18 2003 Nobuyoshi Nakada + + * eval.c, util.c: removed duplicated includes/defines. + + * ext/socket/socket.c (sock_addrinfo): get rid of SEGV at NULL ptr + String. increase buffer size for 64bit platforms. + +Tue May 27 02:34:14 2003 Yukihiro Matsumoto + + * eval.c (rb_call0): should pass the current klass value to + block_invoke, which may be called via "super". [ruby-core:01077] + + * eval.c (block_invoke): now takes 4th argument "klass". + + * eval.c (block_alloc): should propagate BLOCK_PROC to + ruby_block. + +Mon May 26 23:51:38 2003 Yukihiro Matsumoto + + * marshal.c (r_object0): should not use "yield" method, use "call" + instead. (ruby-bugs-ja PR#476) + +Mon May 26 21:39:46 2003 MoonWolf + + * lib/mkmf.rb, lib/optparse.rb, lib/tracer.rb: use Method#to_block + instead of deprecated Method#to_proc. (ruby-bugs-ja:PR#477) + +Mon May 26 21:21:20 2003 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser::Switch::parse, + OptionParser::order): use {Block,Proc}#call instead of deprecated + #yield. + +Mon May 26 16:39:10 2003 Yukihiro Matsumoto + + * eval.c (Init_Proc): Block/Proc separation. [huge change] + + * eval.c (block_arity): returns exact arity number for Procs out + of methods. also gives 1 for {|a|..}. + + * string.c (rb_str_match): revert use of String#index for + invocation like string =~ string. + + * eval.c (rb_Array): move Object#to_a exclusion hack from + splat_value(). need to be in eval.c for a while. + +Sun May 25 23:48:21 2003 Nobuyoshi Nakada + + * bignum.c (rb_quad_pack): should negate negative bignum. + (ruby-bugs-ja:PR#474) + +Sun May 25 03:27:25 2003 Minero Aoki + + * lib/net/smtp.rb: support LOGIN authentication, based on + the patch by Kazuhiko Izawa. [ruby-talk:78981] + +Sat May 24 18:19:51 2003 Takaaki Uematsu + + * wince/Makefile.sub: add eMbedded Visual C++ 4.0 support. + + * wince/resource.rb: ditto. + + * wince/setup.mak: ditto. + + * wince/configure.bat: ditto. + + * wince/mkexports.rb: delete japanese comments. + +Fri May 23 18:34:05 2003 Nobuyoshi Nakada + + * eval.c (rb_longjmp): get rid of reentering while debug warning. + (ruby-bugs-ja:PR473) + +Fri May 23 15:16:16 2003 Nobuyoshi Nakada + + * pack.c (pack_unpack): sign-extend if sizeof long is bigger than + 32. (ruby-bugs-ja:PR#472) + +Fri May 23 14:19:29 2003 Yukihiro Matsumoto + + * eval.c (ruby_finalize): turn off ruby_debug flag before calling + at_exit procs and finalizers. (ruby-bugs-ja:PR473) + + * ext/tcltklib/tcltklib.c (lib_mainloop_core): OK to block if + there's no other thread. (ruby-bugs:PR#861) + +Thu May 22 18:07:46 2003 why the lucky stiff + + * ext/syck/token.c: single- and double-quoted root-level fix. + + * lib/yaml.rb (YAML::object_maker): can create object attributes (such as + found in Exception class) + + * lib/yaml/rubytypes.rb: roundtripping of Exception and subclasses. + +Fri May 23 01:26:26 2003 Yukihiro Matsumoto + + * object.c (rb_obj_clone): defer copying freezing state after + calling initialize_copy(). [ruby-dev:20276] + +Thu May 22 17:12:10 2003 Yukihiro Matsumoto + + * gc.c (run_final): use rb_thread_critical instead of DEFER_INTS. + [ruby-dev:20272] + + * marshal.c: try to make ArgumentError and TypeError consistent. + [ruby-core:01068] + +Thu May 22 15:46:37 2003 Yukihiro Matsumoto + + * eval.c (rb_define_alloc_func): need not to disable + rb_call_super() for allocation functions. [ruby-core:1065] + +Thu May 22 06:21:33 2003 why the lucky stiff + + * ext/syck/rubyext.c (rb_syck_err_handler): raise ArgumentError on + malformed YAML. + + * lib/yaml/rubytypes.rb: String#to_yaml was missing space indicators at + the end of a line. + +Thu May 22 05:43:24 2003 why the lucky stiff + + * ext/syck/rubyext.c (syck_parser_load): root-level false was returning + nil. + + * ext/syck/token.c: root-level transfer method bug. + + * ext/syck/gram.c: root-level empty gave a parse error. + + * lib/yaml/rubytypes.rb: Symbol#to_yaml generating method call error. + +Thu May 22 02:46:38 2003 Nobuyoshi Nakada + + * eval.c (rb_eval): splat NODE_RESTARY. [ruby-dev:20268] + + * eval.c (rb_thread_fd_close): raise for writing threads. + [ruby-dev:20269] + + * io.c (rb_io_close, io_reopen): ditto. + + * io.c (io_reopen): keep stdio objects for stdin, stdout, + and stderr. [ruby-dev:19442] + +Thu May 22 01:11:15 2003 Nobuyoshi Nakada + + * parse.y (strings, word_list): must create new instance always. + http://yowaken.dip.jp/tdiary/20030521.html#p02 + + * parse.y (yylex): slight optimization. + +Wed May 21 23:07:08 2003 Yukihiro Matsumoto + + * error.c (rb_sys_fail): should not specify errno explicitly. + [ruby-dev:20264] + +Wed May 21 20:51:47 2003 Nobuyoshi Nakada + + * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, + wince/Makefile.sub: update dependencies. + +Wed May 21 17:44:16 2003 Yukihiro Matsumoto + + * error.c (syserr_initialize): prohibit specifying errno for + subclasses of SystemCallError. in addition, if initialize is + called for SystenCallError instance, its class be changed. + [ruby-dev:20257] + + * gc.c (run_final): to protect thread context switch, finalizers + are wrapped in DEFER_INTS/ENABLE_INTS. + +Wed May 21 13:26:08 2003 Nobuyoshi Nakada + + * lib/optparse.rb: get rid of warnings. + +Tue May 20 18:59:54 2003 Yukihiro Matsumoto + + * eval.c (rb_thread_save_context): prohibit rb_gc_force_recycle() + on thread saved ruby_dyna_vars. [ruby-dev:20236] + +Tue May 20 17:39:15 2003 Yukihiro Matsumoto + + * object.c (init_copy): call initialize_copy at the end of copy + process. + +Tue May 20 17:15:55 2003 Nobuyoshi Nakada + + * error.c (syserr_initialize): use Errno constants as default + errno for subclasses. [ruby-dev:20241] + +Tue May 20 15:26:25 2003 WATANABE Hirofumi + + * st.h: define ST_DATA_T_DEFINED for portability. + + * ext/syck/syck.h: add typedef, st_data_t for Ruby 1.6. + + * ext/syck/syck.c (syck_st_free_nodes): return int. + + * ext/syck/syck.c (syck_add_sym): cast the data to st_data_t + to avoid error on bcc32. + + * ext/syck/syck.c (syck_lookup_sym): ditto. + + * ext/syck/syck.c (syck_free_parser): NULL is not integer. + +Tue May 20 13:29:04 2003 NAKAMURA Usaku + + * win32/win32.c (kill): set errno after calling raise(). + +Tue May 20 10:51:26 2003 Nobuyoshi Nakada + + * eval.c (rb_f_missing): create exception instance by ordinal + method. [ruby-dev:20033] + + * error.c (rb_name_error, rb_sys_fail): ditto. + + * error.c (exc_to_s, exit_status, name_err_name, + nometh_err_args, syserr_errno, syserr_eqq): access + attributes. + + * error.c (name_err_initialize, nometh_err_initialize, + syserr_initialize): initialize attributes. + +Tue May 20 10:26:56 2003 Yukihiro Matsumoto + + * eval.c (rb_yield_0): give warning for multiple values for a + block parameter. + + * eval.c (rb_yield_values): a function to yield multiple values. + + * array.c (sort_1): use rb_yield_values. + + * enum.c (min_ii, max_ii): ditto. + + * hash.c (rb_hash_update_block_i, delete_if_i, select_i, + each_pair_i, env_each, env_reject_bang, env_select, + env_update_i): ditto. + + * struct.c (rb_struct_each_pair): ditto. + + * eval.c (top_include): should include module in the current self, + not ruby_top_self. [ruby-dev:20198] + + * eval.c (top_include): stop inclusion to ruby_wrapper; give + warning. + +Mon May 19 18:54:30 2003 why the lucky stiff + + * ext/syck/token.c, ext/syck/implicit.c: expanded character set to + allow UTF-8, other Ruby encodings. + +Mon May 19 16:47:00 2003 why the lucky stiff + + * ext/syck/syck.c, ext/syck/syck.h, ext/syck/token.c, ext/syck/gram.c: + count line numbers only if line pointer has increased. + +Tue May 20 00:45:40 2003 Yukihiro Matsumoto + + * dir.c (push_braces): do not push_braces() unless rbrace is found. + (ruby-bugs-ja:PR#469) + +Tue May 20 00:09:41 2003 Yukihiro Matsumoto + + * ext/pty/pty.c (pty_finalize_syswait): join (using Thread#value) + before detach pid. [ruby-talk:71519] + +Mon May 19 23:02:10 2003 Yukihiro Matsumoto + + * eval.c (PUSH_FRAME): save outer ruby_block. [ruby-list:37677], + [ruby-dev:20202] + + * eval.c (BEGIN_CALLARGS): restore outer block by using + ruby_block->outer. + + * eval.c (block_pass): do not alter block->prev, but block->outer. + + * array.c (get_inspect_tbl): warning on wrong condition. + +Mon May 19 16:13:57 2003 Minero Aoki + + * class.c: add #include "version.h". + + * hash.c: ditto. + + * string.c: ditto. + +Mon May 19 15:33:27 2003 Yukihiro Matsumoto + + * eval.c (localjump_xvalue): renamed exitstatus to exit_value + since it's not exit "status" after all. + + * eval.c (localjump_error): add reason to LocalJumpError. + + * compar.c (rb_cmpint): raise error via rb_cmperr(), if cmp value + is nil. now take new 2 arguments. + + * time.c (time_cmp): 2003-05-16 fix was incomplete. + (ruby-bugs-ja:PR#458) + +Mon May 19 14:42:50 2003 Yukihiro Matsumoto + + * object.c (rb_mod_cmp): stupid comparison fixed. + + * io.c (Init_IO): ARGF.path added (alias to ARGF.filename). + [ruby-dev:20197] + +Mon May 19 13:58:03 2003 Yukihiro Matsumoto + + * object.c (init_copy): rename copy_object as initialize_copy, + since it works as copy constructor. + + * eval.c (rb_add_method): initialize_copy should always be + private, like initialize. + +Mon May 19 13:51:50 2003 Minero Aoki + + * re.c (rb_reg_quote): \n \r \f \v quoting was wrong. + [ruby-dev:20203] + + * re.c (rb_reg_quote): rb_reg_quote(" ") should be "\\ ", not + "\\s". + +Mon May 19 08:08:51 2003 Tadayoshi Funaba + + * lib/date.rb: use warn() instead of $stderr.puts(). + + * sample/cal.rb: ditto. + +Sat May 17 12:02:25 2003 Yukihiro Matsumoto + + * array.c (get_inspect_tbl): check whether inspect_tbl value is a + valid array. (ruby-bugs-ja PR#65) + + * array.c (inspect_ensure,rb_protect_inspect,rb_inspecting_p): + use get_inspect_tbl(). + +Sat May 17 11:50:26 2003 Yukihiro Matsumoto + + * eval.c (rb_f_abort): call exit(1) if exception is raised. This + patch was made by Nobuyoshi Nakada on + 2002-05-30. (ruby-bugs-ja PR#236) + + * signal.c: disable Ruby's interrupt handler at the beginning. + (ruby-bugs-ja PR#236) + +Sat May 17 02:17:42 2003 Nobuyoshi Nakada + + * lib/rational.rb (Integer::denominator): fixed typo. + (ruby-bugs-ja:PR#466) + +Sat May 17 00:18:11 2003 Nobuyoshi Nakada + + * ext/socket/socket.c (ruby_connect): connect() after EINPROGRESS + returns EINVAL on some platforms, need to check true error + status. [ruby-core:01037] + +Sat May 17 00:21:51 2003 Yukihiro Matsumoto + + * object.c (rb_class_allocate_instance): singleton class check + moved to rb_obj_alloc(). (ruby-bugs-ja PR#345) + +Fri May 16 23:55:50 2003 Yukihiro Matsumoto + + * re.c (rb_reg_quote): should escape white space characters, + \t, \f, \n, \r. (ruby-bugs-ja PR#231) + +Fri May 16 12:40:40 2003 Yukihiro Matsumoto + + * eval.c (block_pass): chain previous block to the pushing block. + [ruby-list:37677] + + * time.c (time_cmp): does not compare with numbers for + interchangeability. (ruby-bugs-ja:PR#458) + +Thu May 15 21:55:54 2003 why the lucky stiff + + * ext/syck/gram.c: fixes to one-line documents and end of stream + documents. + + * ext/syck/syck.c, ext/syck/syck.h: add root_on_error to parser + struct, specifying the symbol to be returned on a parse error. + +Thu May 15 18:44:31 2003 Tanaka Akira + + * lib/open-uri.rb (OpenURI::Redirect#initialize): call super to + initialize mesg. + + * lib/open-uri.rb (OpenURI::Meta#charset): call block to guess charset + if block is given and charset is not given. + +Thu May 15 16:55:16 2003 Yukihiro Matsumoto + + * object.c (rb_mod_le): returns nil if two classes/modules are not + in class-superclass relationship. + + * object.c (rb_mod_cmp): uses new rb_mod_le() behavior. + +Thu May 15 07:45:30 2003 why the lucky stiff + + * ext/syck/rubyext.c, ext/syck/implicit.c: timestamp repairs to + timezone and milliseconds. + + * ext/syck/syck.c (syck_parser_reset_levels): duplicate string literal + to avoid warning. + +Thu May 15 13:26:48 2003 Yukihiro Matsumoto + + * class.c (rb_class_instance_methods): default will be changed in + 1.8.1. + + * io.c (set_stdio): better message. + +Thu May 15 13:18:11 2003 Yukihiro Matsumoto + + * io.c (set_stdio): $stdin, $stdout, $stderr now became read-only. + + * variable.c (readonly_setter): message changed. + +Thu May 15 09:50:51 2003 NAKAMURA Usaku + + * ext/syck/syck.c (syck_parser_pop_level): add prototype. + + * ext/syck/syck.c (syck_strndup): should return value. + +Thu May 15 09:32:25 2003 NAKAMURA Usaku + + * win32/win32.c (kill): fix typo and add signal 0 support. + +Wed May 14 20:09:26 2003 why the lucky stiff + + * ext/syck/gram.c: sequence-in-map shortcut, transfer methods on + sequence-in-sequence, memory leak in mapping merge. + + * ext/syck/syck.c: memory leak in domain anchoring. + + * lib/yaml/rubytypes.rb, lib/yaml/types.rb: eliminated 1.6.x code. + +Wed May 14 19:56:43 2003 NAKAMURA Usaku + + * ext/syck/rubyext.c: add prototypes to avoid VC++ warnings. + +Wed May 14 12:23:46 2003 Minero Aoki + + * lib/net/http.rb (Net::HTTP#start): should check whether HTTP + session is opened before finishing. (ruby-bugs-ja:PR#463) + +Wed May 14 09:12:55 2003 Minero Aoki + + * lib/net/http.rb: reduce warning. (ruby-bugs-ja:PR#462) + +Tue May 13 22:31:04 2003 why the lucky stiff + + * lib/yaml/rubytypes.rb, lib/yaml/types.rb: using Object#object_id + rather than deprecated Object#id. + + * ext/syck/token.c: changed ASCII escapes to octal notation. + + * ext/Setup*: added entries for static linking of Syck extension. + +Tue May 13 20:31:58 2003 WATANABE Hirofumi + + * configure.in: add '--Wl,--enable-auto-import' to DLDFLAGS + on Cygwin/MinGW. + + * configure.in: add '-D__USE_CRTIMP' to XCFLAGS on MinGW. + + * ext/syck/handler.c: add proper casts. + + * ext/syck/syck.c: ditto. + +Tue May 13 17:58:08 2003 NAKAMURA Usaku + + * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define + HAVE_FSYNC. + + * win32/win32.h (fsync): define as _commit(). + +Tue May 13 15:35:35 2003 Yukihiro Matsumoto + + * regex.c (re_match_exec): \Z changed to be consistent with new $ + (endbuf) behavior. + +Tue May 13 14:48:07 2003 Yukihiro Matsumoto + + * eval.c (error_pos): use $deferr for output instead of stderr + directly. + + * eval.c (error_print,error_handle,rb_longjmp,rb_thread_schedule): + ditto. + +Tue May 13 06:34:19 2003 why the lucky stiff + + * lib/yaml/rubytypes.rb: object and struct loading + + * lib/yaml.rb: YAML::detect_implicit will discover typing for a Ruby + string + + * ext/syck/: Fixed portable comments, misuse of NULL and methods without + return VALUEs. + +Mon May 12 18:08:21 2003 Yukihiro Matsumoto + + * io.c (Init_IO): new variable $deferr which is default output + port of error messages. + + * io.c (rb_warn_m): new method "warn". [new] + + * error.c (warn_print): use $deferr. + + * error.c (rb_bug): ditto. + + * error.c (err_append): ditto. + +Sun May 11 13:50:12 2003 Tanaka Akira + + * lib/pp.rb: refine to_s test. + + * lib/pp.rb (PP::ObjectMixin#pretty_print): refine to_s handling. + +Sun May 11 06:32:13 2003 why the lucky stiff + + * ext/syck/implicit.c, ext/syck/rubyext.c: transfer methods applied to + native loading + + * ext/syck/token.c: fix for transfer methods on same indentation as nested + mapping + + * lib/yaml/rubytypes.rb: all type names in lowercase + +Sat May 10 19:55:18 2003 why the lucky stiff + + * ext/syck/gram.c ext/syck/handler.c ext/syck/implicit.c + ext/syck/node.c ext/syck/rubyext.c ext/syck/syck.c + ext/syck/syck.h ext/syck/token.c: updated to Syck 0.27 + + * lib/yaml/loader.rb: new YAML::Loader class + + * lib/yaml.rb: loading of type families leverages YAML::DefaultLoader + +Sat May 10 19:00:08 2003 Takaaki Uematsu + + * wince/string.c: file removed. + + * wince/stdlib.c: file added. + +Sat May 10 16:17:02 2003 Shugo Maeda + + * lib/net/imap.rb (decode_utf7): new method. + + * lib/net/imap.rb (encode_utf7): new method. + +Fri May 9 21:25:50 2003 why the lucky stiff + + * ruby/ext/syck, ruby/lib/yaml: Initial checkin of YAML substances. + +Fri May 9 16:38:30 2003 Yukihiro Matsumoto + + * io.c (rb_io_reopen): It should be possible to reopen closed IO. + [ruby-talk:70941] + + * io.c (rb_io_reopen): inherit original file mode unless specified. + +Thu May 8 18:44:09 2003 Yukihiro Matsumoto + + * gc.c (rb_gc): check odd alignment stack on m68k machines. + +Thu May 8 12:56:04 2003 Nobuyoshi Nakada + + * compar.c (rb_cmperr): raise comparison failure. + + * intern.h: prototype; rb_cmperr + + * numeric.c (flo_gt, flo_ge, flo_lt, flo_le, fix_gt, fix_ge, + fix_lt, fix_le): should fail unless the argument is comparable. + (ruby-bugs-ja:PR#456) + + * numeric.c (int_upto, int_downto): should fail unless the + argument is comparable. (ruby-bugs-ja:PR#454) + +Wed May 7 13:30:11 2003 Masahiro TANAKA + + * numeric.c (num_step): better error treatment of float values. + +Tue May 6 17:51:54 2003 Minero Aoki + + * lib/net/pop.rb: rename method: POP3#mail_size -> n_mails + + * lib/net/pop.rb: rename method: POP3#bytes -> n_bytes + +Tue May 6 17:21:01 2003 Minero Aoki + + * ext/bigdecimal/.cvsignore: new file. + + * ext/zlib/.cvsignore: new file. + +Tue May 6 14:39:36 2003 Yukihiro Matsumoto + + * object.c (rb_obj_methods): list singleton methods if recur + argument is false; list all methods otherwise. + +Mon May 5 21:19:25 2003 Koji Arai + + * ext/gdbm/gdbm.c (fgdbm_values_at): new method to replace + select(index..). + + * ext/sdbm/init.c (fsdbm_values_at): ditto. + + * ext/dbm/dbm.c (fdbm_values_at): ditto. + + * ext/dbm/dbm.c (DBM::VERSION): defined. + + * ext/gdbm/testgdbm.rb: replace select with values_at. + + * ext/sdbm/testsdbm.rb: ditto. + + * ext/dbm/testdbm.rb: ditto. + + * ext/dbm/testdbm.rb (setup): DBM.open(path, 0400) cause EACCESS + on Berkeley DB[234]. + +Mon May 5 22:57:07 2003 Tadayoshi Funaba + + * sample/cal.rb: use values_at instead of select. + + * sample/biorhythm.rb: ditto. + +Mon May 5 18:59:45 2003 WATANABE Hirofumi + + * sample/test.rb: substitute 'select' with 'values_at'. + + * lib/date.rb: ditto. + + * lib/parsedate.rb: ditto. + +Mon May 5 00:46:10 2003 Yukihiro Matsumoto + + * array.c (rb_ary_values_at): new method to replace select(index..). + + * hash.c (rb_hash_values_at,env_values_at): ditto. + + * re.c (match_values_at): ditto. + + * struct.c (rb_struct_values_at): ditto. + + * re.c (match_select): add iterator behavior. + +Sun May 4 19:08:53 2003 Tadayoshi Funaba + + * lib/date/format.rb: synchronized with date2 3.3.2. + +Sun May 4 15:21:18 2003 Minero Aoki + + * lib/net/smtp.rb: ESMTP -> SMTP transition wrongly fails. + +Sun May 4 15:06:37 2003 Minero Aoki + + * lib/net/pop.rb: APOP did not work. [ruby-dev:20149] + +Sat May 3 21:14:29 2003 Johan Holmberg + + * ext/curses/curses.c, ext/digest/sha2/sha2.c, ext/iconv/iconv.c, + ext/racc/cparse/cparse.c: include "ruby.h" at the top to shut up + "_FILE_OFFSET_BITS redefined" warning on Solaris. + +Sat May 3 11:00:12 2003 Yukihiro Matsumoto + + * class.c (rb_class_protected_instance_methods): now gives + warnings to show migration path. The default will be reversed + on Jan 2004. + +Sat May 3 00:58:53 2003 Yukihiro Matsumoto + + * object.c (rb_obj_methods): now accepts recurse parameter. + + * lib/delegate.rb (Delegator::initialize): instance_methods + etc. now recurse by default. need to specify false. + +Sat May 3 00:22:00 2003 Minero Aoki + + * lib/net/protocol.rb: reintroduce Protocol.protocol_param. + + * lib/net/http.rb: ditto. + + * lib/net/pop.rb: ditto. + + * lib/net/smtp.rb: ditto. + +Fri May 2 23:29:53 2003 Minero Aoki + + * lib/net/protocol.rb: remove Protocol class. + + * lib/net/smtp.rb (SMTP): ditto. + + * lib/net/pop.rb (POP3): ditto. + + * lib/net/http.rb (HTTP): ditto. + + * lib/net/protocol.rb: remove Command class. + + * lib/net/smtp.rb (SMTPCommand): ditto. + + * lib/net/pop.rb (POP3Command): ditto. + + * lib/net/pop.rb: remove APOPCommand class. + + * lib/net/protocol.rb: remove Code class and its all subclasses. + + * lib/net/protocol.rb: remove Response class and its all + subclasses. + + * lib/net/pop.rb (POPMail): new method unique_id (alias uidl). + +Fri May 2 18:17:37 2003 Yukihiro Matsumoto + + * compar.c (cmp_gt): raises ArgumentError when "<=>" give nil. + inspired by discussion on comp.lang.python. + +Fri May 2 17:37:01 2003 Yukihiro Matsumoto + + * lib/cgi/session.rb (CGI::Session::initialize): updated to + support 2003-04-23 change in cgi.rb [ruby-core:1002] + +Fri May 2 17:21:02 2003 Yukihiro Matsumoto + + * class.c (method_list): classify methods based on nearest + visibility. [ruby-dev:20127] + + * class.c (rb_class_instance_methods): recurse by default. other + method listing methods as well. + +Fri May 2 09:38:06 2003 Warren Brown + + * string.c (rb_str_ljust): now takes optional argument to specify + pad string. [ruby-talk:70482] + + * string.c (rb_str_rjust): ditto. + + * string.c (rb_str_center): ditto. + + * string.c (rb_str_justify): utility function. + +Fri May 2 04:10:59 2003 Yukihiro Matsumoto + + * eval.c (rb_add_method): call singleton_method_added or + method_added for every method definition (after ruby_running). + [ruby-talk:70471] + + * array.c (rb_ary_reverse_bang): Array#reverse! should not return + nil even for arrays sized less than 2. + +Thu May 1 23:18:01 2003 Yukihiro Matsumoto + + * io.c (argf_eof): should not block after reading all argument + files. (ruby-bugs-ja PR#449) + +Fri May 2 15:10:41 2003 Minero Aoki + + * lib/fileutils.rb: use hashes to pass options. + + * lib/fileutils.rb: new option mkdir(:mode), mkdir_p(:mode). + + * instruby.rb: follow fileutils.rb feature change. + +Thu May 1 08:24:00 2003 Yukihiro Matsumoto + + * regex.c (re_match_exec): $ _always_ matches at the end of string. + +Wed Apr 30 14:12:00 2003 wanowa.kimura@nifty.ne.jp (kimura wataru) + + * net/imap.rb: support THREAD extension. + +Sun Apr 27 23:13:20 2003 Nobuyoshi Nakada + + * string.c (rb_str_to_i): disallow negative radix. + [ruby-dev:20087] + +Sat Apr 26 23:34:42 2003 Yukihiro Matsumoto + + * parse.y (open_args): warning message changed to "don't put space + before argument parentheses". + +Sat Apr 26 14:25:00 2003 Takaaki Uematsu + + * wince/ : files removed. + (config, dll.mak, exe.mak, mswince-ruby17.def, + io.c, process.c, signal.c, string.c, time.c) + + * wince/ : files added. + (assert.c, Makefile.sub, mkexports.rb, io_wce.c, + process_wce.c, signal_wce.c, string_wce.c, + time_wce.c) + + * wince/configure.bat : like mswin32 style. + + * wince/direct.c : remove "static" at _currentdir. + + * wince/io.h : change definition. + + * wince/stdio.c : _fdopen -> fdopen. + + * wince/process.h : add _P_OVERLAY. + + * wince/time.h : change definition. + + * wince/wincemain.c : add wce_SetCurrentDir. + + * wince/wince.c : add wce_SetCurrentDir and wce_fopen. + fix GetModuleFileNameA to return correct "lpFileName". + + * wince/wince.h : remove #ifdef. + + * wince/sys/utime.h, utime.c : rename _utime to utime. + + * wince/sys/stat.c : expand relative directory in stat. + +Sat Apr 26 06:33:04 2003 Yukihiro Matsumoto + + * io.c (argf_read): ARGF.read() should read all argument files. + +Fri Apr 25 18:46:00 2003 Takaaki Uematsu + + * gc.c: STACK_LEVEL_MAX=65535 on mswince. + +Fri Apr 25 18:40:07 2003 Yukihiro Matsumoto + + * io.c (argf_read): read should not span two files. [ruby-dev:20073] + +Fri Apr 25 18:19:03 2003 Yukihiro Matsumoto + + * eval.c (splat_value): split splat_value() and avalue_splat(). + + * io.c: there's no way to set non-IO value to current_file, thus + no need for argf_forward(). + +Fri Apr 25 02:03:25 2003 Yukihiro Matsumoto + + * eval.c (proc_invoke): Proc#yield should pass through retry and + break like keyword yield. [ruby-talk:70034] + + * eval.c (proc_invoke): orphan Proc now raises LocalJumpError for + break and retry again. + + * eval.c (rb_eval): ARGSCAT should splat the argument. + + * eval.c (splat_value): splat operation function. + +Thu Apr 24 23:37:02 2003 Dave Thomas + + * lib/matrix.rb (Matrix#minor): Used Range#size, which no longer + exists. + + * lib/complex.rb (new!): Complex.new had been made private, but + Kernel#Complex called it. Re-exposed as new!. + + * lib/matrix.rb (Matrix.row_vector): Fix method name typo + +Thu Apr 24 19:40:02 2003 WATANABE Hirofumi + + * ext/extmk.rb: add -Wl,--no-undefined to LDSHARED only + if GNU ld is 2.11 or later. + +Wed Apr 23 14:05:40 2003 Dave Thomas + + * lib/ipaddr.rb (include?): Support non-IPAddr parameters. + [ruby-core:00980] + +Wed Apr 23 13:31:10 2003 Yukihiro Matsumoto + + * lib/cgi.rb (CGI::QueryExtension::[]): always return Value + object. + +Wed Apr 23 08:39:27 2003 Nobuyoshi Nakada + + * ext/zlib/extconf.rb: bccwin32 is win32 too. + +Tue Apr 22 20:58:00 2003 Takaaki Uematsu + + * ruby.c: don't call VirtualQuery in ruby_init_loadpath() + on mswince. + +Tue Apr 22 19:08:53 2003 Nobuyoshi Nakada + + * marshal.c (save_mantissa, load_mantissa): for interoperability + should count cut-down bit from topmost. + +Tue Apr 22 09:20:40 2003 Yukihiro Matsumoto + + * parse.y (arg_ambiguous): hopefully better message. + + * lib/cgi.rb (CGI::QueryExtension::initialize_query): to_ary + removed. + +Tue Apr 22 06:06:22 2003 Tanaka Akira + + * lib/resolv.rb (Resolv::DNS::Resource#hash): use XOR to accumulate + hash value. + + * lib/tsort.rb (TSort#each_strongly_connected_component): don't use + block argument. + (each_strongly_connected_component_from): ditto. + +Mon Apr 21 21:59:48 2003 Nobuyoshi Nakada + + * marshal.c: one more digit for decimal point. [ruby-talk:69808] + +Mon Apr 21 21:25:59 2003 Nobuyoshi Nakada + + * numeric.c (flo_is_finite_p): use finite() if available. + + * win32/win32.h (isinf, isnan): define as macro. + [ruby-win32:00533] + + * bcc32/Makefile.sub, win32/Makefile.sub: no longer use + missing/isinf.c, missing/isnan.c. + +Mon Apr 21 18:36:28 2003 Nobuyoshi Nakada + + * bignum.c (rb_cstr_to_inum): unnecessarily long buffer was used + for radix 9. [ruby-dev:20057] + +Mon Apr 21 17:44:34 2003 Nobuyoshi Nakada + + * parse.y (block_append, value_expr0, assign_in_cond, + warn_unless_e_option, warning_unless_e_option, range_op, + cond0): adjust line number in warning. + +Mon Apr 21 00:47:42 2003 WATANABE Hirofumi + + * sample/test.rb: avoid the MSVCRT *printf problem(float). + [ruby-dev:20037] + +Mon Apr 21 00:11:15 2003 Nobuyoshi Nakada + + * marshal.c (w_float): append least mantissa bits to get rid + of roundoff problem. [ruby-talk:69518] + + * marshal.c (r_object0): load least mantissa bits. + +Sun Apr 20 23:24:25 2003 WATANABE Hirofumi + + * win32/win32.c (NtInitialize): set the floating-point control word + on bcc32. + + * win32/win32.h, bcc32/Makefile.sub: use missing/isinf.c, should not + use _finite() because it returns 0 if NaN. + +Sun Apr 20 03:09:30 2003 WATANABE Hirofumi + + * parse.y (void_expr0): node might become NULL after calling + remove_begin(). + +Sat Apr 19 21:55:10 2003 Akinori MUSHA + + * ext/Setup*: Add zlib and remove bogus and obsolete entries. + +Sat Apr 19 14:47:07 2003 Yukihiro Matsumoto + + * gc.c (rb_gc): use rb_gc_mark_maybe() to mark registered C + addresses. C variables may not hold valid reference to Ruby + objects. [ruby-core:00975] + +Sat Apr 19 00:56:13 2003 Yukihiro Matsumoto + + * struct.c (rb_struct_eql): should compare values with "eql?". + +Fri Apr 18 23:29:08 2003 Yukihiro Matsumoto + + * range.c (range_check): <=> returns nil for invalid values; + should check. + +Fri Apr 18 15:26:50 2003 NAKAMURA Usaku + + * error.c (rb_raise): workaround for some implementations of + vsnprintf. + +Fri Apr 18 02:23:42 2003 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): should not set RE_OPTIMIZE_ANCHOR, + if anychar_repeat is enclosed by parentheses. + +Fri Apr 18 01:49:18 2003 Nobuyoshi Nakada + + * util.c (ruby_strtod): improved conversion accuracy. + +Thu Apr 17 14:39:23 2003 NAKAMURA Usaku + + * ext/dbm/dbm.c (each_pair): add prototype to avoid VC++ warnings. + + * ext/readline/readline.c (Init_readline): follow readline 4.2 + prototype. + +Thu Apr 17 14:22:36 2003 Nobuyoshi Nakada + + * parse.y (cond0): warn only range literals whose both side are + literals. [ruby-core:00964] + +Thu Apr 17 11:10:59 2003 WATANABE Hirofumi + + * ext/readline/readline.c: add the defined operator for bcc32. + +Wed Apr 16 00:14:06 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-special-char-p): should test at the + point if no argument. fixed by Michael Scholz + . + +Tue Apr 15 19:35:08 2003 Minero Aoki + + * lib/fileutils.rb: rm_r should raise Errno::ENOENT if file + does not exist ([ruby-core:958]). Thanks Johan Holmberg. + +Tue Apr 15 19:12:21 2003 Nobuyoshi Nakada + + * struct.c (rb_struct_hash): new methods Struct#hash, Struct#eql?. + (ruby-bugs:PR#758) + +Tue Apr 15 16:05:11 2003 Nobuyoshi Nakada + + * numeric.c (rb_fix2str): buffer was insufficient. + (ruby-bugs-ja:PR#431) + +Mon Apr 14 19:45:56 2003 Nobuyoshi Nakada + + * file.c (file_expand_path): root must follow buf when + reallocated. [ruby-talk:69339], [ruby-dev:20025] + +Mon Apr 14 03:22:33 2003 Yukihiro Matsumoto + + * rubyio.h (struct OpenFile): add noraise flag to finalizer. + + * io.c (Init_IO): define $/, $-0, and $\ as string-only + variables. + + * string.c (rb_str_split_m): does not generate empty string if + the receiver is empty. + + * io.c (fptr_finalize): should raise error on EBADF for readable + IOs as well. + +Mon Apr 14 15:54:18 2003 Nobuyoshi Nakada + + * bignum.c (rb_cstr_to_inum, rb_big2str): allow 2-36 as radix. + + * numeric.c (rb_fix2str): ditto. + + * string.c (rb_str_to_i): ditto. + +Sun Apr 13 03:20:31 2003 WATANABE Hirofumi + + * lib/mkmf.rb (try_func): remove COMMON_HEADERS at first for + performance. + +Sat Apr 12 20:59:40 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-beginning-of-arg): substitute + ruby-backward-arg. + + * misc/ruby-mode.el (ruby-calculate-indent): fixed wrong + indentation in brace block and parentheses. + + * misc/ruby-mode.el (ruby-forward-sexp, ruby-backward-sexp): + support special char literal, and negative arguments. + +Sat Apr 12 17:52:47 2003 Yukihiro Matsumoto + + * file.c (rb_stat): use rb_check_convert_type() to retrieve IO. + +Fri Apr 11 19:00:14 2003 Nobuyoshi Nakada + + * win32/win32.c (rb_w32_stat): check arguments. [ruby-dev:20007] + [ruby-win32:535] + +Fri Apr 11 15:56:08 2003 Nobuyoshi Nakada + + * numeric.c (coerce_rescue): prevent inspected String from GC. + + * numeric.c (flo_eq, rb_dbl_cmp, flo_gt, flo_ge, flo_lt, flo_le, + flo_eql): correct NaN comparison. (ruby-bugs:PR#744) + + * sample/test.rb: NaN comparison test. + +Fri Apr 11 14:48:47 2003 Yukihiro Matsumoto + + * file.c (rb_stat): dereference using StringValuePtr(). + + * file.c (rb_file_s_stat): use rb_stat(). [ruby-dev:20007] + +Fri Apr 11 10:51:08 2003 Nobuyoshi Nakada + + * lib/benchmark.rb (Benchmark::bm): get rid of warning. + [ruby-talk:69124] + +Fri Apr 11 02:41:35 2003 Nobuyoshi Nakada + + * io.c (set_stdin): assigned value must respond to "read" and + "getc". + + * io.c (set_outfile): assigned value must respond to "write". + (ruby-bugs-ja:PR#425) + +Thu Apr 10 21:12:19 2003 Minero Aoki + + * lib/net/pop.rb: Exception line was accidentaly removed. + [ruby-dev:19989] + +Thu Apr 10 18:42:13 2003 Tadayoshi Funaba + + * array.c (rb_ary_times): added some checks for request size. + +Thu Apr 10 03:22:38 2003 Yukihiro Matsumoto + + * variable.c (rb_mod_name): always return empty string for + anonymous class/module. (ruby-bugs-ja PR#424) + + * config.sub: stop forcing addition of -gnu to -linux. + + * variable.c (classname): refactoring. + + * variable.c (rb_class_path): __tmp__classpath__ handling moved + from classname(). + +Thu Apr 10 01:52:24 2003 Nobuyoshi Nakada + + * eval.c (rb_obj_is_method): indefinite return value. + +Thu Apr 10 00:39:32 2003 Tanaka Akira + + * regex.c (re_compile_pattern): /[\--\-]/ was warned. warn /]/. + + * mkconfig.rb: escape `]' in regexp. + +Thu Apr 10 00:27:07 2003 Nobuyoshi Nakada + + * time.c (time_strftime): RSTRING(format)->ptr might become NULL. + +Wed Apr 9 23:54:50 2003 Yukihiro Matsumoto + + * variable.c (rb_obj_remove_instance_variable): better message. + [ruby-talk:68987] + + * variable.c (rb_mod_remove_const): ditto. + + * object.c (rb_obj_ivar_get): ditto. + + * object.c (rb_obj_ivar_set): ditto. + + * parse.y (yylex): ditto. + +Wed Apr 9 21:51:20 2003 Dave Thomas + + * eval.c (rb_mod_define_method): Allow UnboundMethod as + parameter. + +Wed Apr 9 18:30:58 2003 Yukihiro Matsumoto + + * eval.c (top_include): include module to wrapper module if + wrapper is present. experimental. [ruby-list:37539] + +Wed Apr 9 17:24:21 2003 Yukihiro Matsumoto + + * gc.c (rb_gc_mark_children): introduce this function again; this + is required when stack was very tight. [ruby-talk:68916] + +Wed Apr 9 15:49:30 2003 Yukihiro Matsumoto + + * bignum.c (bigdivmod): small typo. + +Wed Apr 9 15:35:04 2003 NAKAMURA Usaku + + * ext/readline/readline.c: include only when + HAVE_UNISTD_H is defined. + +Wed Apr 9 14:05:00 2003 Nobuyoshi Nakada + + * marshal.c (w_object): preserve extended module on struct. + (ruby-bugs-ja:PR#422) + +Wed Apr 9 03:43:14 2003 Yukihiro Matsumoto + + * bignum.c (BIGZEROP): macro to determine if x is a bignum zero. + +Tue Apr 8 11:49:31 2003 Yukihiro Matsumoto + + * eval.c (Init_Proc): make Method and UnboundMethod independent. + They are like instance and its class. [ruby-core:00941] + + * parse.y (yylex): disallow global variables like "$1ve". + [ruby-core:00945] + + * marshal.c (marshal_dump): Marshal.dump(0, false) should cause an + error. (ruby-bugs-ja PR#421) + + * regex.c (re_compile_pattern): warn if '-' is the edge of + character range. + +Mon Apr 7 15:49:09 2003 Yukihiro Matsumoto + + * ext/socket/socket.c (sock_s_unpack_sockaddr_in): remove struct + size check. getnameinfo(3) can handle. [ruby-dev:19967] + +Mon Apr 7 01:33:31 2003 Yukihiro Matsumoto + + * io.c (io_read): do not call rb_sys_fail() when required data + length is zero. (ruby-bugs-ja PR#420) + + * eval.c (umethod_proc): should raise TypeError, instead of + returning error causing Proc. Following the principle of "fail + early". [ruby-core:00927] + +Sun Apr 6 18:29:21 2003 UENO Katsuhiro + + * ext/zlib/zlib.c: the return value of GzipReader#getc must be + unsigned. + +Sun Apr 6 00:35:37 2003 Tanaka Akira + + * sample/exyacc.rb: use Regexp in gsub!. + +Sat Apr 5 23:41:28 2003 Yukihiro Matsumoto + + * pack.c (pack_pack): small but serious typo. + +Sat Apr 5 04:23:05 2003 Warren Brown + + * sprintf.c (rb_f_sprintf): was decrementing width even if there + is no sign character. + +Sat Apr 5 01:41:28 2003 Yukihiro Matsumoto + + * eval.c (backtrace): skip internal allocator frame. + (ruby-bugs-ja PR#416) + +Fri Apr 4 10:53:22 2003 Yukihiro Matsumoto + + * eval.c (assign): should prepare mrhs by svalue_to_mrhs(). + +Wed Apr 2 15:11:23 2003 Nobuyoshi Nakada + + * README.EXT, README.EXT.ja (3.3): clarified -1 as free for + Data_Wrap_Struct(). [ruby-dev:19881] + +Mon Mar 31 11:11:36 2003 Yukihiro Matsumoto + + * eval.c (rb_f_missing): use "inspect" for T_OBJECT as well. + +Mon Mar 31 10:50:48 2003 Yukihiro Matsumoto + + * hash.c (env_reject_bang): untaint key string. + + * hash.c (env_delete_m): execute block only if deleting key does + not exist. + +Sat Mar 29 17:54:46 2003 Yukihiro Matsumoto + + * pack.c (pack_pack): do not call rb_str_buf_cat() with NULL ptr, + which causes SEGV; jump to grow instead. [ruby-dev:19944] + +Sat Mar 29 15:19:48 2003 Tanaka Akira + + * instruby.rb, ext/extmk.rb, lib/benchmark.rb, lib/cgi.rb, + lib/debug.rb, lib/getoptlong.rb, lib/optparse.rb, lib/time.rb, + lib/date/format.rb, lib/irb/ruby-lex.rb lib/uri/common.rb: revert + escape for `-' in character class. + +Sat Mar 29 09:48:35 2003 Yukihiro Matsumoto + + * eval.c (avalue_to_svalue): use rb_check_array_type() again. + Clarify how "to_ary" and "to_a" work. [ruby-talk:68155] + + * eval.c (svalue_to_avalue): ditto. + + * eval.c (svalue_to_mrhs): ditto. + + * eval.c (rb_eval): unary splat to use to_a, but we need a hack to + exclude Object#to_a until it's removed. + + * object.c (rb_Array): check obj.respond_to?("to_a"). Currently + all object respond_to "to_a", but Object#to_a will be removed. + + * range.c (Init_Range): undefine to_ary. + + * re.c (Init_Regexp): ditto. + +Sat Mar 29 09:47:52 2003 Nobuyoshi Nakada + + * MANIFEST (ext/aix_mksym.rb): remove obsolete file. + +Fri Mar 29 06:21:24 2003 UENO Katsuhiro + + * ext/zlib: merge from rough. + +Fri Mar 28 19:33:39 2003 Nobuyoshi Nakada + + * variable.c (rb_class_path): hold temporary class path in a + instance variable to get rid of GC. [ruby-dev:19932] + + * variable.c (classname): remove temporary class path when exact + name found. + +Fri Mar 28 18:29:23 2003 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): do not warn if "-" is at the top + or last of character class. + +Thu Mar 27 12:10:15 2003 Tanaka Akira + + * regex.c (re_compile_pattern): fix [:name:] handling. + /[\[:digit:]]/ was treated as /[[:digit:]]/. + /[[:-@]/ was treated as /[\[:\-@]/. + /[%-[:digit:]]/ was treated as /[%-\[:digit:]\]/. + +Thu Mar 27 03:26:40 2003 Nobuyoshi Nakada + + * string.c (rb_str_capitalize_bang): check length before upcase + first character. (ruby-bugs:PR#697) + +Wed Mar 26 20:25:10 2003 Nobuyoshi Nakada + + * dln.c (dln_find_1): break if path list end, even for too long + path names. (ruby-bugs-ja:PR#412) + +Wed Mar 26 13:19:32 2003 Yukihiro Matsumoto + + * eval.c (avalue_splat): new function to do unary * (splat) + operator. + + * eval.c (avalue_to_svalue,svalue_to_avalue,svalue_to_mrhs): do + not use implicit "to_ary" conversion. + + * ext/curses/curses.c (GetWINDOW,GetMOUSE): add taint check. + + * ext/curses/curses.c (curses_init_screen): ditto. + + * ext/curses/curses.c (window_initialize): ditto. + + * gc.c (os_each_obj): prohibit ObjectSpace#each_object in safe + mode ($SAFE >= 4). + +Tue Mar 25 23:26:02 2003 Yukihiro Matsumoto + + * signal.c (trap): return "DEFAULT" and "IGNORE" respectively for + previous sighandler SIG_DFL and SIG_IGN. [ruby-talk:67860] + +Tue Mar 25 12:24:15 2003 Yukihiro Matsumoto + + * eval.c (rb_yield_0): call avalue_to_mrhs() to assign block + parameter |a|. [ruby-dev:19897] + + * ruby.c (ruby_set_argv): freeze argument strings. + +Tue Mar 25 12:01:54 2003 Yukihiro Matsumoto + + * io.c (rb_io_initialize): should check rb_secure(4). + + * dir.c (dir_s_getwd): should check rb_secure(4). + + * object.c (rb_obj_infect): function version of OBJ_INFECT(). + + * eval.c (rb_secure_update): new function to check object update. + +Tue Mar 25 10:18:05 2003 Minero Aoki + + * ext/strscan/strscan.c: should infect also return values of + #inspect. + + * ext/strscan/strscan.c: use snprintf() instead of sprintf(). + +Mon Mar 24 16:55:04 2003 Takaaki Tateishi + + * ext/dl/dl.c: added rb_secure(4). (Thanks to Minero Aoki) + + * ext/dl/sym.c: ditto. + + * ext/dl/ptr.c: ditto. + +Mon Mar 24 00:09:02 2003 Nobuyoshi Nakada + + * parse.y (block_append): warn unused literal. + +Sun Mar 23 22:22:04 2003 WATANABE Hirofumi + + * lib/jcode.rb (tr!, delete!, szueeze!): add empty string checking. + +Sun Mar 23 19:54:53 2003 Nobuyoshi Nakada + + * gc.c (rb_gc_call_finalizer_at_exit): use free() if dfree is -1. + +Sat Mar 22 15:50:29 2003 Tanaka Akira + + * time.c (make_time_t): try search_time_t if mktime/timegm is failed. + +Sat Mar 22 13:26:33 2003 Tanaka Akira + + * lib/optparse.rb, lib/jcode.rb, ext/tk/lib/tk.rb: reorder character + class /[\]\[]/ to /[\[\]]/ for readability. + +Sat Mar 22 12:44:15 2003 Tanaka Akira + + * lib/date/format.rb, lib/uri/common.rb: escape `[', `]', `-' in + character class in regexp to avoid warning. + +Sat Mar 22 07:39:32 2003 Ulf Betlehem + + * io.c (rb_io_fread): may lose data on nonblocking read. + +Fri Mar 21 23:40:41 2003 Tanaka Akira + + * regex.c (re_compile_pattern): fix previous change. + + * instruby.rb, ext/extmk.rb, ext/tk/lib/tk.rb, lib/benchmark.rb, + lib/cgi.rb, lib/debug.rb, lib/getoptlong.rb, lib/jcode.rb, + lib/optparse.rb, lib/time.rb, lib/date/format.rb, + lib/irb/ruby-lex.rb: escape `[', `]', `-' in character class in + regexp to avoid warning. + +Fri Mar 21 23:23:45 2003 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): give warning for unescaped square + brackets and minus in character class. [ruby-dev:19868] + +Fri Mar 21 18:12:20 2003 Nobuyoshi Nakada + + * eval.c (bmcall): missing type. + +Fri Mar 21 01:29:35 2003 Yukihiro Matsumoto + + * sprintf.c (rb_f_sprintf): copy sign bits only if value is + negative. + + * missing.h: include or if HAVE_VSNPRINTF + is not defined. + +Thu Mar 20 18:31:37 2003 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser#order!): follow recent change + of proc argument. + +Thu Mar 20 16:12:53 2003 Yukihiro Matsumoto + + * numeric.c (flo_to_s): change format specifier to "%.15g" to + avoid unnecessary 9s (e.g. 99.59999999999999). (ruby-bugs-ja PR#406) + +Thu Mar 20 16:03:18 2003 Nobuyoshi Nakada + + * parse.y (stmt, primary): get rid of SEGV at empty or invalid + condition. (ruby-bugs-ja:PR#410) + + * parse.y (cond_negative): negate condition node when NODE_NOT. + +Thu Mar 20 10:45:29 2003 Tanaka Akira + + * eval.c (bmcall): add volatile to avoid GC problem. + +Thu Mar 20 10:10:49 2003 Yukihiro Matsumoto + + * eval.c (load_dyna): clear ruby_errinfo. (ruby-bugs-ja PR#409) + +Wed Mar 19 23:05:30 2003 NAKAMURA, Hiroshi + + * lib/tracer.rb (trace_func): save and recover Thread.critical state. + Fixed by Fukumoto Atsushi [ruby-dev:19830] + +Wed Mar 19 02:55:46 2003 Yukihiro Matsumoto + + * io.c (read_all): make str empty if given. (ruby-bugs-ja PR#408) + + * io.c (io_read): ditto. + + * io.c (rb_io_sysread): ditto. + +Tue Mar 18 18:24:03 2003 Yukihiro Matsumoto + + * range.c: do not override min and max. + +Sun Mar 16 12:29:55 2003 Tanaka Akira + + * lib/pp.rb (object_address_group): use to_s instead of name + to get name of class. + +Fri Mar 14 08:53:29 2003 Yukihiro Matsumoto + + * sprintf.c (remove_sign_bits): octal left most digit for negative + numbers may be '3'. (ruby-bugs-ja PR#407) + + * sprintf.c (rb_f_sprintf): should prefix sign bits if bignum is + negative, using sign_bits(). + +Wed Mar 12 16:48:19 2003 WATANABE Hirofumi + + * io.c (prep_stdio): set binmode only if the file descriptor + is not connected to a terminal on Cygwin. + +Wed Mar 12 11:23:49 2003 Yukihiro Matsumoto + + * eval.c (avalue_to_mrhs): split argument passing and assignment + conversion. + + * eval.c (svalue_to_mrhs): ditto. + + * eval.c (avalue_to_svalue): avalue_to_svalue([[1,2]]) should be + [[1,2]], not [1,2] to wrap-around. + +Tue Mar 11 21:00:59 2003 Minero Aoki + + * lib/net/smtp.rb: Digest string wrongly included '\n' when user + name is too long (ruby-bugs-ja:PR#404). + +Tue Mar 11 20:07:01 2003 Minero Aoki + + * lib/net/http.rb: speeding up by avoiding extra flush. + (suggested by Brian Candler [ruby-talk:66516]) + +Tue Mar 11 04:30:12 2003 Yukihiro Matsumoto + + * eval.c (massign): remove unnecessary array unpacking; it should + be handled before massign() by svalue_to_mrhs(). + + * eval.c (svalue_to_mrhs): '*a = v' value conversion to avalue + (i.e. [1] => [[1]], [1,2] => [1,2]). + + * eval.c (rb_eval): use svalue_to_mrhs. + + * eval.c (rb_yield_0): ditto. + + * eval.c (proc_invoke): break from "Proc#yield" is legal. + +Mon Mar 10 23:19:29 2003 Yukihiro Matsumoto + + * file.c (rb_find_file): need world writable directory check for + relative paths too. + +Mon Mar 10 11:23:00 2003 Yukihiro Matsumoto + + * file.c (rb_find_file): world writable directory check if + $SAFE >= 1 (was $SAFE >= 2). + +Mon Mar 10 01:59:47 2003 Minero Aoki + + * lib/net/pop.rb: do not dispatch LIST when a mailbox is empty. + + * lib/net/pop.rb: merge the 'STAT' patch from Frank S.Fejes + , with modifications (listed below). + + * lib/net/pop.rb: new method Net::POP#mail_size. + + * lib/net/pop.rb: new method Net::POP#bytes. + + * lib/net/pop.rb: new method Net::POPCommand#stat. + +Sun Mar 9 19:30:25 2003 WATANABE Hirofumi + + * lib/fileutils.rb (mkdir, mkdir_p): revert. + + * instruby.rb (umask): umask 0022, not 0. + +Sun Mar 9 17:09:40 2003 WATANABE Hirofumi + + * lib/fileutils.rb (mkdir, mkdir_p): set mode to 0755. + + * Makefile.in (fake.rb): set ALT_SEPARATOR to the default value. + +Sat Mar 8 11:30:59 2003 Nobuyoshi Nakada + + * eval.c (massign): fix a bug not to expand in assignment to sole + lhs. [ruby-dev:19766] + +Fri Mar 7 21:57:25 2003 Tanaka Akira + + * lib/pp.rb (Kernel.pp): module function. + (MatchData#pretty_print): new method. + +Fri Mar 7 20:27:19 2003 Nobuyoshi Nakada + + * ext/tcltklib/extconf.rb (find_tcl, find_tk): return true if + non-versioned found. [ruby-dev:19759] + +Fri Mar 7 15:05:35 2003 WATANABE Hirofumi + + * ext/dbm/extconf.rb: add QDBM support. + +Fri Mar 7 12:59:39 2003 Nobuyoshi Nakada + + * eval.c (massign): deal with sole lhs, assign rest args from + converted array. [ruby-dev:19751] + +Fri Mar 7 03:31:36 2003 Yukihiro Matsumoto + + * parse.y (dsym): :"symbol string" style should not contain `\0'. + + * process.c (proc_detach): new method Process.detach(pid) which + create background watcher thread to issue waitpid. [new] + + * process.c (rb_detach_process): utility function to detach + process from C code. + + * ext/pty/pty.c (pty_finalize_syswait): terminate watcher thread, + and detach child process (by creating new idle waitpid watcher + thread). + + * ext/pty/pty.c (pty_syswait): may lost signal stopped child. + +Fri Mar 7 00:30:33 2003 WATANABE Hirofumi + + * ext/Win32API/Win32API.c: no longer use inline-asms. + + * ext/Win32API/extconf.rb: no need to add gcc options. + +Thu Mar 6 13:02:10 2003 Yukihiro Matsumoto + + * parse.y (reswords): fix reswords list. + +Wed Mar 5 12:13:21 2003 WATANABE Hirofumi + + * configure.in: better YACC support on HP-UX. + +Wed Mar 5 05:55:20 2003 Yukihiro Matsumoto + + * string.c (rb_str_cat): remove ptr NULL check and MEMZERO(). ptr + must be non NULL. + +Tue Mar 4 23:12:07 2003 Nobuyoshi Nakada + + * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define + RUBY_EXPORT to export symbols. + + * defines.h: use RUBY_EXTERN instead of EXTERN. + + * intern.h, re.h, ruby.h, rubysig.h: ditto. + + * win32/win32.h: remove EXTERN definition. + +Tue Mar 4 17:54:30 2003 Yukihiro Matsumoto + + * array.c (rb_ary_aref): raise TypeError if index is a symbol. + [ruby-list:37217] + + * array.c (rb_ary_aset): ditto. + +Tue Nov 13 14:39:11 2001 WATANABE Tetsuya + + * missing/strftime.c: HP-UX support. + +Tue Mar 4 15:08:08 2003 WATANABE Hirofumi + + * configure.in: better HP-UX support. + + * missing/strftime.c: ditto. + +Tue Mar 4 10:11:32 2003 Yukihiro Matsumoto + + * io.c (rb_io_popen): do not call rb_io_close() directly, call + "close" method instead. [ruby-dev:19717] + + * io.c (rb_io_s_open): ditto. + + * hash.c (rb_any_hash): remove DEFER_INTS. all do_hash() calls in + st.c are at the top of functions. No reentrant problem. + +Tue Mar 4 01:19:21 2003 Akinori MUSHA + + * ext/dl/MANIFEST: Exclude .cvsignore. [found by: eban] + +Tue Mar 4 01:17:08 2003 Akinori MUSHA + + * ext/Win32API/MANIFEST: Belatedly add lib/win32/registry.rb. + [found by: eban] + +Tue Mar 4 00:33:04 2003 Akinori MUSHA + + * MANIFEST: Belatedly add Test::Unit files. D'oh! + +Sun Mar 2 09:51:47 2003 Nobuyoshi Nakada + + * marshal.c (w_nbyte): should output always via rb_io_write(). + + * marshal.c (dump_ensure): ditto. + + * marshal.c (marshal_dump): should call "binmode" method, if it + responds to. + + * marshal.c (r_byte): should input always via "getc" method. + + * marshal.c (r_bytes0): should input always via "read" method. + + * marshal.c (marshal_load): need not to set up FILE* fp; + +Mon Mar 3 11:29:04 2003 Yukihiro Matsumoto + + * parse.y (arg): parse 'lhs = a rescue b' as 'lhs=(a rescue b)'. + +Mon Mar 3 02:53:52 2003 Yukihiro Matsumoto + + * io.c (rb_io_fread): should not clearerr() if there's no filled + buffer (i.e. rb_io_fread() returning zero). + +Mon Mar 3 01:42:35 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-expr-beg): escaped char syntax. + + * misc/ruby-mode.el (ruby-parse-partial): ditto. + + * misc/ruby-mode.el (ruby-parse-partial): no deep indent for + block. + + * misc/ruby-mode.el (ruby-backward-arg): skip arguments backward. + + * misc/ruby-mode.el (ruby-calculate-indent): too deep indentation. + +Fri Feb 28 23:50:32 2003 NAKAMURA Usaku + + * win32/win32.c (map_errno): map OS error to errno. [new] + + * win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid, + kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime): use + map_errno() instead of using GetLastError() directly. + + * win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind, + rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname, + rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv, + rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt, + rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr, + rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname, + rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport, + rb_w32_fclose, rb_w32_close): map winsock error to errno. + +Fri Feb 28 22:54:10 2003 Nobuyoshi Nakada + + * win32/win32.c (flock): supports larger files, and maps error + code. + + * win32/win32.c (rb_w32_asynchronize): returns errno from child + thread. + + * win32/win32.c (rb_w32_fclose, rb_w32_close): ensures unlocked. + +Wed Feb 26 17:38:16 2003 Tanaka Akira + + * lib/open-uri.rb: replace Kernel.open as well. + +Tue Feb 25 23:03:08 2003 NAKAMURA, Hiroshi + + * lib/debug.rb (DEBUGGER__::Context#debug_command): bp filename must + be the basename of it. [ruby-talk:65644] + +Mon Feb 24 17:49:35 2003 Nobuyoshi Nakada + + * parse.y (yycompile): zero clear ruby_eval_tree_begin if + compilation failed. + +Mon Feb 24 08:06:29 2003 Yukihiro Matsumoto + + * string.c (str_new): need no MEMZERO(). + +Sun Feb 23 17:57:06 2003 WATANABE Hirofumi + + * lib/fileutils (fu_stream_blksize): wrong logical condition. + (and -> or). + +Sat Feb 22 03:12:56 2003 Yukihiro Matsumoto + + * numeric.c (fix_gt): use rb_num_coerce_cmp() instead of + rb_num_coerce_bin. + + * numeric.c (fix_ge, fix_lt, fix_le): ditto. + + * numeric.c (flo_gt, flo_ge, flo_lt, flo_le): ditto. + +Sat Feb 22 02:45:20 2003 Yukihiro Matsumoto + + * eval.c (rb_thread_create): may called from place higher than + rb_gc_stack_start. + + * gc.c (Init_stack): update rb_gc_stack_start if it is lower (or + higher if stack grows down) than the previous value. + +Fri Feb 21 21:03:41 2003 Minero Aoki + + * lib/fileutils.rb: new method FileUtils#copy_stream. + + * lib/fileutils.rb: new method FileUtils#compare_file. + + * lib/fileutils.rb: new method FileUtils#compare_stream. + + * lib/fileutils.rb: new method FileUtils#rmtree (alias of rm_rf). + +Fri Feb 21 17:19:27 2003 WATANABE Hirofumi + + * eval.c (rb_f_require): do not need to abort if a DLEXT file + is not found. + +Fri Feb 21 13:39:25 2003 Yukihiro Matsumoto + + * string.c (rb_str_cmp_m): should use LONG2NUM(). + +Fri Feb 21 12:45:50 2003 Yukihiro Matsumoto + + * string.c (rb_str_cmp_m): two small bugs fixed. + +Fri Feb 21 08:03:09 2003 Yukihiro Matsumoto + + * gc.c (rb_gc_mark): inline rb_gc_mark_children(). + + * gc.c (gc_sweep): new tactics to increase malloc_limit mildly. + +Fri Feb 21 05:16:14 2003 Yukihiro Matsumoto + + * string.c (rb_str_cmp_m): return nil if str2 does not respond to + both "to_str" and "<=>". + + * compar.c (cmp_gt): return nil if "<=>" returns nil (means + incomparable). + + * compar.c (cmp_ge, cmp_lt, cmp_le): ditto. + + * compar.c (cmp_between): use RTEST(), since cmp_lt and cmp_gt may + return nil. + +Thu Feb 20 19:05:51 2003 Yukihiro Matsumoto + + * eval.c (rb_thread_start_0): main thread swapped by fork() may + terminate rb_thread_start_0() successfully. call ruby_stop(0); + this change was suggested by Rudi Cilibrasi + . + +Thu Feb 20 18:44:51 2003 Nobuyoshi Nakada + + * file.c (file_expand_path): fix wrong behavior for root file. + expand_path("..", "//machine/share") => "//machine/share" + expand_path("..", "c:/a") => "c:/" + expand_path("..", "/a") => "/" + +Thu Feb 20 18:11:01 2003 Nobuyoshi Nakada + + * file.c (file_expand_path): should not upward beyond share name. + +Thu Feb 20 15:45:33 2003 WATANABE Hirofumi + + * missing.h (strtoul): fix prototype of strtoul. + +Thu Feb 20 10:11:30 2003 Yukihiro Matsumoto + + * parse.y (clhs): allow "Foo::Bar = x". + +Thu Feb 20 04:07:06 2003 Nobuyoshi Nakada + + * parse.y (primary): "self[n]=x" can be legal even when "[]=" is + private. changes submitted in [ruby-talk:63982] + + * parse.y (aryset): ditto. + + * parse.y (attrset): "self.foo=x" can be legal even when "foo=" + is private. + + * eval.c (is_defined): private "[]=" and "foo=" support. + + * eval.c (rb_eval, assign): ditto. + +Thu Feb 20 03:58:34 2003 Yukihiro Matsumoto + + * eval.c (rb_eval): "foo=" should not always be public. + +Thu Feb 20 01:23:59 2003 Nobuyoshi Nakada + + * eval.c (rb_thread_restore_context): inhibit interrupts in + critical section while context switching. [ruby-talk:64785] + +Wed Feb 19 18:27:42 2003 Nobuyoshi Nakada + + * node.h (nd_cpath): nested class/module declaration. + [EXPERIMENTAL] + + * eval.c (rb_eval): ditto. + + * gc.c (rb_gc_mark_children): ditto. + + * parse.y (cpath): ditto. + +Tue Feb 18 21:39:27 2003 Yukihiro Matsumoto + + * eval.c (rb_call0): should not report uninitialized warning by + attribute reader method. + + * variable.c (rb_attr_get): new function to get instance variable + without uninitialized warning. + + * io.c (argf_to_io): should prefetch argv. + +Tue Feb 18 00:13:50 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-comment-column): customize comment + column. [new] + + * misc/ruby-mode.el (ruby-deep-indent-paren): deep indentation + parentheses. [new] + + * misc/ruby-mode.el (ruby-expr-beg): fix for / after $?. + + * misc/ruby-mode.el (ruby-parse-partial, ruby-calculate-indent): + deep indentation support. + + * misc/ruby-mode.el (ruby-forward-sexp, ruby-backward-sexp): + move forward/backward across one balanced expression. [new] + + * misc/ruby-mode.el (ruby-indent-exp): indent balanced + expression. [new] + + * misc/ruby-mode.el (ruby-electric-brace): indent before + show matching parenthesis. (contributed by NABEYA Kenichi) + +Mon Feb 17 14:36:56 2003 Nobuyoshi Nakada + + * win32/win32.c (rb_w32_opendir, rb_w32_utime): need parens. + +Mon Feb 17 14:13:25 2003 NAKAMURA Usaku + + * win32/win32.c (link): implement with CreateHardLink(). + + * win32/win32.c, win32/win32.h (rb_w32_utime): enable utime() to + directory if on NT. [new] (ruby-bugs-ja:PR#393) + +Mon Feb 17 13:28:51 2003 Nobuyoshi Nakada + + * file.c (file_expand_path): strip last slash when path is + root. + +Sun Feb 16 19:22:31 2003 Nobuyoshi Nakada + + * file.c (file_expand_path): buffer might be reallocated while + expanding default directory. + + * file.c (file_expand_path): default directory was being + ignored if path was full path with no drive letter, under + DOSISH. + +Sun Feb 16 03:14:33 2003 WATANABE Hirofumi + + * io.c (prep_stdio, Init_io): always set binmode on Cygwin. + +Sat Feb 15 01:01:45 2003 Nobuyoshi Nakada + + * file.c (file_expand_path): fix surplus path separators while + expanding at root directory. [ruby-dev:19572] + +Fri Feb 14 14:25:24 2003 akira yamada + + * lib/uri/generic.rb, lib/uri/ldap.rb, lib/uri/mailto.ldap: all foo=() + returns arguments passed by caller. + + * lib/uri/generic.rb (Generic#to_str, Generic#to_s): removed to_str. + Suggested by Tanaka Akira at [ruby-dev:19475]. + + * lib/uri/generic.rb (Generic#==): should not generate an URI object + from argument. Suggested by Tanaka Akira at + [ruby-dev:19475]. + +Thu Feb 13 11:54:50 2003 Nobuyoshi Nakada + + * ruby.c (ruby_init_loadpath): ensures buffer terminated + before use strncpy(). + + * ruby.c (proc_options): avoid SEGV at -S with no arguments. + script argument is in effect only when -e is not given. + (ruby-bugs-ja:PR#391) + +Thu Feb 13 01:30:10 2003 Nobuyoshi Nakada + + * eval.c (rb_thread_schedule): current thread may be dead when + deadlock. (ruby-bugs:PR#588) + +Thu Feb 13 00:28:52 2003 Yukihiro Matsumoto + + * range.c (range_step): step might be float 0 < x < 1. + + * eval.c (rb_thread_schedule): pause if no runnable thread when + there's only one thread. + +Thu Feb 13 00:09:47 2003 Nobuyoshi Nakada + + * file.c (strrdirsep): ignore trailing directory separators. + + * file.c (rb_file_s_expand_path): File.expand_path(".","/") should + return "/". (ruby-bugs-ja:PR#389) + + * file.c (rb_file_s_basename): also ignore trailing directory + separators, in compliance with SUSv3. (ruby-bugs-ja:PR#390) + + * file.c (rb_file_s_dirname, rb_file_s_extname): ditto. + + * file.c (rb_file_s_dirname): append "." if drive only. + + * file.c (rb_file_s_split): get rid of converting twice. + +Mon Feb 10 20:55:15 2003 WATANABE Hirofumi + + * ext/extmk.rb (parse_args): add '-n' to $mflags BEFORE "--". + do not add DESTDIR if already included in $mflags. + +Mon Feb 10 19:54:30 2003 Minero Aoki + + * lib/fileutils.rb (FileUtils#uptodate?): use mtime for + comparison. + +Mon Feb 10 10:14:26 2003 Yukihiro Matsumoto + + * array.c (rb_ary_to_a): return value should be an Array if the + receiver is an instance of subclass of Array. + + * string.c (rb_str_to_s): return value should be a String if the + receiver is an instance of subclass of String. + +Mon Feb 10 03:33:42 2003 WATANABE Hirofumi + + * io.c (rb_file_sysopen): rb_file_sysopen_internal() needs four + arguments. + +Sun Feb 9 15:16:04 2003 Nobuyoshi Nakada + + * intern.h (HAVE_RB_DEFINE_ALLOC_FUNC, RB_CVAR_SET_4ARGS): + define to 1. + + * ruby.h (NORETURN_STYLE_NEW): ditto. + +Sun Feb 9 12:28:18 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (init_mkmf): add libdir to LIBPATH unless cross + compiling. + +Sun Feb 9 08:34:45 2003 Minero Aoki + + * lib/net/http.rb: 4xx raises Net::ProtoServerError, 5xx raises + Net::ProtoFatalError (for backward compatibility). + +Sun Feb 9 07:07:26 2003 Minero Aoki + + * lib/fileutils.rb: new method FileUtils.pwd (really). + + * lib/fileutils.rb: FileUtils.pwd, cmp, identical?, uptodate? does + not accept any option. + +Sat Feb 8 18:35:30 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-forward-string): fixed void variable + error. + +Sat Feb 8 16:23:11 2003 NABEYA Kenichi + + * misc/ruby-mode.el (ruby-font-lock-keywords): method name can + be delimited by tab. + +Sat Feb 8 03:57:32 2003 Akinori MUSHA + + * lib/irb/workspace.rb, lib/irb/ext/math-mode.rb, + lib/irb/ext/multi-irb.rb, lib/irb/lc/error.rb, + lib/irb/lc/help-message, lib/irb/lc/ja/error.rb, + lib/shell/command-processor.rb, lib/shell/error.rb, + lib/shell/filter.rb: Fix typos and grammos. [approved by: keiju] + +Sat Feb 8 03:34:28 2003 Akinori MUSHA + + * intern.h (HAVE_RB_DEFINE_ALLOC_FUNC): New boolean macro to make + it easier to write extensions that work with both ~1.6 and 1.8~. + + * intern.h (RB_CVAR_SET_4ARGS): Ditto. + + * ruby.h (NORETURN_STYLE_NEW): Ditto. + +Sat Feb 8 00:47:24 2003 Yukihiro Matsumoto + + * eval.c (rb_call): calls method_missing when superclass method + does not exist. + + * eval.c (rb_f_missing): now handles "no super" case. + + * object.c (rb_obj_ivar_get): Object#instance_variable_get: new + method to get instance variable value without eval(). [new] + + * object.c (rb_obj_ivar_set): Object#instance_variable_set: new + method to set instance variable value without eval(). [new] + +Fri Feb 7 15:35:21 2003 Nobuyoshi Nakada + + * intern.h, re.c (rb_memsearch): returns long. + + * string.c (rb_str_index): should return offset position. + +Fri Feb 7 15:30:15 2003 Nobuyoshi Nakada + + * eval.c (proc_invoke): should propagate self to super + methods. [ruby-dev:19510] + +Thu Feb 6 19:04:32 2003 Yukihiro Matsumoto + + * re.c (rb_reg_initialize_m): should not preset "kcode" unless + encoding is explicitly specified. + +Thu Feb 6 19:01:32 2003 Minero Aoki + + * lib/fileutils.rb: new method FileUtils.pwd. + + * lib/fileutils.rb: default label is ''. + + * lib/fileutils.rb: using module_eval again, to avoid ruby's bug. + + * lib/fileutils.rb: fix wrong examples in rdoc. + +Thu Feb 6 17:43:56 2003 Yukihiro Matsumoto + + * lib/complex.rb (Complex#==): should not raise error by type + mismatch. + + * lib/rational.rb (Rational#==): ditto. + +Thu Feb 6 11:44:40 2003 MoonWolf + + * re.c (rb_reg_initialize_m): 3rd argument was ignored. + +Thu Feb 6 01:09:05 2003 Yukihiro Matsumoto + + * string.c (rb_str_count): return 0 for empty string (was + returning nil). + +Wed Feb 5 19:41:37 2003 Tanaka Akira + + * lib/open-uri.rb: dispatch code restructured to make it openable + that has `open' method. + + * lib/open-uri.rb: Location: field may has a relative URI. + pointed out by erik eriksson . + +Wed Feb 5 17:11:02 2003 Yukihiro Matsumoto + + * parse.y (yylex): no . float literal anymore. + +Tue Feb 4 16:11:30 2003 Yukihiro Matsumoto + + * array.c (rb_ary_equal): a == b is true when b is non T_ARRAY + object, if b has "to_ary" and b == a. + + * hash.c (rb_hash_equal): a == b is true when b is non T_HASH + object, if b has "to_hash" and b == a. + + * string.c (rb_str_equal): a == b is true when b is non T_STRING + object, if b has "to_str" and b == a. + +Mon Feb 3 23:46:48 2003 Yukihiro Matsumoto + + * io.c (argf_getline): should not increment lineno at EOF. + +Mon Feb 3 16:49:19 2003 Yukihiro Matsumoto + + * object.c (Init_Object): default Object#=== now calls "==" + internally. + + * re.c (rb_reg_initialize_m): should honor option status of + original regexp. + + * array.c (rb_ary_equal): ary2 should be T_ARRAY (no to_ary + conversion). + + * array.c (rb_ary_eql): ditto. + + * string.c (rb_str_equal): str2 should be T_STRING (no to_str + conversion). + +Mon Feb 3 16:32:52 2003 Nobuyoshi Nakada + + * re.c (rb_memsearch): a little improvement. + +Mon Feb 3 13:18:05 2003 Yukihiro Matsumoto + + * re.c (rb_memsearch): algorithm body of String#index. + + * error.c (Init_Exception): "to_str" removed. + + * eval.c (eval): should not rely on Exception#to_str + + * eval.c (compile_error): ditto. + + * error.c (err_append): ditto. + +Sat Feb 1 23:56:29 2003 Yukihiro Matsumoto + + * hash.c (rb_hash_merge): Hash#merge, non destructive "update". + now there's also Hash#merge! which is an alias to "update". + +Fri Jan 31 14:16:59 2003 Yukihiro Matsumoto + + * string.c (rb_str_index): search using Karp-Rabin algorithm. + +Fri Jan 31 12:45:11 2003 Yukihiro Matsumoto + + * variable.c (rb_obj_classname): new function. + + * string.c (rb_str_dup): should preserve original's class (but not + hidden singleton class). + + * string.c (rb_str_substr): ditto. + + * parse.y: backout EXPR_CMDARG removal. + +Fri Jan 31 09:40:07 2003 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser::List::accept): default + pattern must not be nil. + + * lib/optparse.rb (OptionParser::make_switch): NoArgument doesn't + override other styles. + +Thu Jan 30 16:46:43 2003 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser::Switch::PlacedArgument): added. + if the next argument doesn't start with '-', use it as the + value. + + * lib/optparse.rb (OptionParser::make_switch): fixed a bug of + pattern. + + * lib/optparse.rb (Array): no need to guard. + +Thu Jan 30 08:27:19 2003 Nobuyoshi Nakada + + * file.c (rb_file_s_expand_path): removed a sludge. + +Wed Jan 29 03:24:39 2003 Michal Rokos + + * dir.c (glob_helper): memory leak fixed. + +Tue Jan 28 04:45:03 2003 Akinori MUSHA + + * instruby.rb (parse_args), ext/extmk.rb (parse_args): Prepend a + hyphen to the first argument of MAKEFLAGS only if appropriate. + Remove wrong comments. + +Mon Jan 27 03:30:06 2003 NAKAMURA Usaku + + * error.c (get_syserror): use snprintf() instead of sprintf(). pointed + out by knu. + +Mon Jan 27 02:06:38 2003 NAKAMURA Usaku + + * error.c (get_syserror): some Windows' errno have 5 digits. pointed + out by znz. + +Sun Jan 26 19:23:10 2003 NAKAMURA Usaku + + * instruby.rb ($mflags.set?): Check $make instead of $nmake, since + there is no such a variable. + + * instruby.rb ($mflags.set?), ext/extmk.rb ($mflags.set?): Return + false if unmatched. + +Sun Jan 26 19:08:30 2003 Akinori MUSHA + + * lib/shellwords.rb: Embed rdoc style comments. + + * lib/shellwords.rb (shellwords): Use String#lstrip!. + + * lib/shellwords.rb (shellwords): Recognize an object that + responds to to_str() by using String.new(). + +Sun Jan 26 17:53:04 2003 Akinori MUSHA + + * instruby.rb (parse_args), ext/extmk.rb (parse_args): Detect -n + and emulate a dry run. Use 'make' in case no --make argument is + given. + +Sun Jan 26 07:18:42 2003 Nobuyoshi Nakada + + * instruby.rb: re-define individual methods verbosely rather than + including FileUtils::Verbose, in order to suppress messages from + FileUtils#cmp. + + * instruby.rb (makedirs): make same directory only once even if + dryrun. + + * lib/fileutils.rb (FileUtils::Verbose, FileUtils::NoWrite): + re-define methods with define_method instead of module_eval. + +Sun Jan 26 03:37:18 2003 Akinori MUSHA + + * instruby.rb, ext/extmk.rb, Makefile.in, win32/Makefile.sub, + bcc32/Makefile.sub: Replace the complicated MFLAGS/MAKEFLAGS + parser with something plain and comprehensible. This fixes a + bug where make flags were wrongly reordered and the resulted + command line often did not make sense especially when BSD make + is used with extra arguments given. Tested with FreeBSD and + Linux by me and mswin32, bccwin32 and mingw by usa. + +Fri Jan 24 18:15:33 2003 Yukihiro Matsumoto + + * parse.y: tMINUS should have lower precedence than tPOW. + +Fri Jan 24 05:12:55 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): deal + with escaped $ and ? at the end of strings. [ruby-talk:62297] + + * misc/ruby-mode.el (ruby-font-lock-keywords): added defined?. + +Thu Jan 23 17:25:04 2003 Yukihiro Matsumoto + + * eval.c (rb_eval): do not warn discarding already undefined + method. + + * lib/rational.rb: undef quo before replacing. + +Thu Jan 23 15:49:57 2003 Nobuyoshi Nakada + + * parse.y (arg): missing arguments. + +Thu Jan 23 14:56:52 2003 Yukihiro Matsumoto + + * lib/rational.rb: modified to support "quo". + + * numeric.c (num_quo): should return most exact quotient value, + i.e. float by default, rational if available. + + * numeric.c (num_div): "div" should return x.divmod(x)[0]. + +Thu Jan 23 13:24:18 2003 Yukihiro Matsumoto + + * time.c (time_arg): was accessing garbage argv value. + +Thu Jan 23 06:37:01 2003 Nobuyoshi Nakada + + * instruby.rb: should not contain destdir in shebang line. + +Wed Jan 22 23:19:57 2003 NAKAMURA Usaku + + * win32/win32.c (pipe_exec): remove unnecessary SetStdHandle(). + +Wed Jan 22 20:20:59 2003 Yukihiro Matsumoto + + * parse.y (arg): syntaxify tPOW negative number hack. + + * parse.y (negate_lit): new function to negate literal numeric + values in compile time. + +Wed Jan 22 15:36:54 2003 Yukihiro Matsumoto + + * regex.c (re_match_exec): charset info may be stored in MBC + region when $KCODE != NONE. + +Wed Jan 22 14:22:53 2003 Yukihiro Matsumoto + + * error.c (set_syserr): should preserve duplicated error names. + +Tue Jan 21 20:29:31 2003 Michal Rokos + + * mkmf.rb: make possible to add files to clean and distclean targets + +Tue Jan 21 18:05:25 2003 Nobuyoshi Nakada + + * bcc32/Makefile.sub (LIBRUBY_A): link dmyext. + +Tue Jan 21 16:59:18 2003 NAKAMURA Usaku + + * instruby.rb: use real interpreter pathname at shebang line. + [ruby-dev:19370] + +Tue Jan 21 16:22:32 2003 Yukihiro Matsumoto + + * parse.y (arg): put back old ** behavior for negative number + right operand. + +Tue Jan 21 14:46:12 2003 Tanaka Akira + + * lib/pp.rb: Use Test::Unit. + + * lib/prettyprint.rb: Ditto + + * lib/time.rb: Ditto + + * lib/tsort.rb: Ditto + +Tue Jan 21 04:15:50 2003 Tanaka Akira + + * lib/pp.rb: Use redefined `to_s' as well as `inspect'. + Useless `pretty_print' methods removed. + (PP::ObjectMixin#pretty_print_inspect): new method. + +Mon Jan 20 21:48:43 2003 Akinori MUSHA + + * configure.in (MANTYPE): Detect if the system's nroff(1) groks + mdoc. Provide a new option --with-mantype={doc|man} in case the + check does not work as expected. + + * Makefile.in (MANTYPE): Define MANTYPE and pass it to + instruby.rb. + + * instruby.rb: Convert mdoc manpages to man for systems which + nroff(1) does not grok mdoc. + +Mon Jan 20 21:25:18 2003 Akinori MUSHA + + * lib/tempfile.rb (self.open): If a block is given, call it with + tempfile as an argument and automatically close the tempfile + when the block terminates. + +Mon Jan 20 21:02:50 2003 Akinori MUSHA + + * mdoc2man.rb: Properly put nested braces, parentheses and angles. + + * mdoc2man.rb: Add support for .An and .Aq/.Ao/.Ac. + + * mdoc2man.rb: Add support for .Dl. + + * mdoc2man.rb: Make .Pf macro actually work. + + * mdoc2man.rb: Properly handle .Os. + + * mdoc2man.rb: Correctly omit spaces around punctuation + characters. + +Mon Jan 20 19:43:41 2003 Akinori MUSHA + + * mdoc2man.rb: Make this work as a library. + +Mon Jan 20 18:22:40 2003 Nobuyoshi Nakada + + * eval.c (rb_f_require): purge too many goto's. + +Mon Jan 20 17:50:05 2003 Akinori MUSHA + + * mdoc2man.rb (parse_macro): Understand .Ux. + +Mon Jan 20 17:32:56 2003 Akinori MUSHA + + * mdoc2man.rb: New file. A mdoc to man converter ported from + Perl. + +Mon Jan 20 15:40:15 2003 Akinori MUSHA + + * ruby.1: Properly close .Bl with .El. + +Mon Jan 20 04:14:17 2003 Nobuyoshi Nakada + + * lib/mkmf.rb (egrep_cpp): use inspect to show options. + + * lib/mkmf.rb (dir_config): prior configured directories to + defaults. + + * lib/mkmf.rb (dir_config): extract first word to determine + make command type. + +Mon Jan 20 02:15:53 2003 Nobuyoshi Nakada + + * ext/aix_mksym.rb: no longer used. + +Mon Jan 20 00:17:16 2003 Matt Armstrong + + * file.c (eaccess): under windows, make eaccess() just call + access(). [ruby-core:716], [ruby-bugs:PR#556] + +Sun Jan 19 23:08:18 2003 Akinori MUSHA + + * lib/shellwords.rb (shellwords): A backslash ('\') in single + quotes should not be regarded as meta character. This bug or + maybe feature was inherited from Perl's shellwords.pl. + +Sun Jan 19 14:01:12 2003 UENO Katsuhiro + + * regex.c (is_in_list): should work well with UTF-8. + + * regex.c (re_match_exec): ditto. + +Sat Jan 18 14:53:49 2003 Nobuyoshi Nakada + + * bignum.c (rb_cstr_to_inum): should not erase all 0s, but + squeeze into one. [ruby-dev:19377] + +Fri Jan 17 03:33:42 2003 Akinori MUSHA + + * sprintf.c (rb_f_sprintf): Fix a bug caused by an uninitialized + variable v, that a bignum unexpectedly gets converted into a + string with its higher figures all filled with ./f/7/1, + depending on the base. This bug seems to have been introduced + in rev.1.27. + + * sprintf.c (rb_f_sprintf): Use switch instead of a sequence of + else-if's. + +Wed Jan 15 15:18:38 2003 moumar + + * configure.in (ARCHFILE): set even unless --enable-shared on + AIX. [ruby-talk:61466] + + * marshal.c (math.h): should be included after ruby.h on AIX. + [ruby-talk:61366] + +Tue Jan 14 21:47:56 2003 Nobuyoshi Nakada + + * eval.c (rb_f_require): do not search adding .rb/.so suffixes if + the suffix specified. [ruby-dev:18702] + http://moonrock.jp/~don/d/200211.html#d08_t1 + +Tue Jan 14 18:36:41 2003 Yukihiro Matsumoto + + * enum.c (enum_all): now works without block. + + * enum.c (enum_any): ditto. + +Tue Jan 14 01:21:32 2003 Nobuyoshi Nakada + + * io.c (next_argv): not always set binmode. + +Mon Jan 13 20:45:19 2003 Guy Decoux + + * parse.y (list_append): avoid O(n) search using node->nd_next->nd_end. + + * parse.y (list_concat): ditto. + + * eval.c (rb_eval): NODE_ARRY nd_end adoption. + +Mon Jan 13 02:22:11 2003 WATANABE Hirofumi + + * ext/dl/lib/dl/win32.rb: eliminate unnecessary "A" adding. + +Sun Jan 12 16:07:17 2003 WATANABE Hirofumi + + * io.c (next_argv): inherit binmode from $defout. + +Sat Jan 11 22:50:47 2003 WATANABE Hirofumi + + * ext/dl/lib/dl/win32.rb: compatibility improvement. + +Sat Jan 11 01:44:16 2003 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_IO_NEED): added more tests. + + * io.c (rb_io_check_readable): seek after synchronized write. + +Fri Jan 10 01:23:45 2003 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): syntax + classes are not allowed inside character classes. + [ruby-talk:60996] + +Thu Jan 9 23:28:01 2003 Nobuyoshi Nakada + + * configure.in: AC_MSG_FAILURE is a new macro in 2.54b or later. + +Thu Jan 9 17:05:24 2003 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_IO_NEED): check whether fseek() and + fflush() are needed. + + * io.c (flush_before_seek): flush write stream only. + + * io.c (rb_io_check_readable): seek instead of flush if the last + operation was write. + + * io.c (rb_io_check_writable): seek instead of flush if the last + operation was read. + + * bcc32/Makefile.sub, win32/Makefile.sub: needs to seek between + R/W. + +Thu Jan 9 16:31:51 2003 Yukihiro Matsumoto + + * eval.c (rb_eval): should not discard nested NODE_BLOCK. + +Thu Jan 9 15:12:30 2003 Yukihiro Matsumoto + + * parse.y (stmt): NODE_NOT elimination for if/unless/while/until node. + + * parse.y (primary): ditto. + +Thu Jan 9 13:26:18 2003 Akinori MUSHA + + * st.h, st.c: Back out the introduction of st_*_func_t. Some + compilers complain about function type mismatch. + +Thu Jan 9 02:10:44 2003 Yukihiro Matsumoto + + * eval.c (rb_eval): reduce recursive rb_eval() call by using sort + of continuation passing style. + +Wed Jan 8 17:10:32 2003 NAKAMURA Usaku + + * ext/Win32API/lib/win32/registry.rb: added. [new] + +Wed Jan 8 15:54:05 2003 Yukihiro Matsumoto + + * eval.c: remove ruby_last_node and assignments seems to be + unnecessary + + * intern.h: debug does not run if ID_ALLOCATOR is zero. + +Wed Jan 8 15:04:11 2003 Yukihiro Matsumoto + + * range.c (range_each): treat fixnums specially to boost. + + * numeric.c (num_step): remove rb_scan_args() for small speedup. + +Tue Jan 7 17:56:08 2003 Yukihiro Matsumoto + + * eval.c (svalue_to_avalue): should return converted array. + +Tue Jan 7 07:48:01 2003 Nobuyoshi Nakada + + * eval.c (rb_f_local_variables): skip $_, $~ and flip states in + dynamic variables. [ruby-core:00681] + +Tue Jan 7 02:46:29 2003 Yukihiro Matsumoto + + * hash.c (env_clear): new Hash compatible method. + + * hash.c (env_shift, env_invert, env_replace, env_update): ditto. + +Mon Jan 6 23:36:29 2003 Akinori MUSHA + + * st.h, st.c: Introduce new conventional typedef's, st_data_t, + st_compare_func_t, st_hash_func_t and st_each_func_t. + + * st.h, st.c: Do explicit function declarations and do not rely on + implicit declarations. + + * class.c, eval.c, gc.c, hash.c, marshal.c, parse.y, variable.c: + Add proper casts to avoid warnings. + +Mon Jan 6 20:44:43 2003 Akinori MUSHA + + * intern.h (rb_check_array_type): Declare rb_check_array_type(). + + * ext/digest/md5/md5ossl.c: Include stdio.h for sprintf() and + string.h for memcmp(). + + * ext/dl/ptr.c: Include ctype.h for isdigit(). + +Mon Jan 6 18:43:17 2003 NAKAMURA Usaku + + * file.c: improve DOSISH drive letter support. + +Mon Jan 6 18:31:45 2003 WATANABE Hirofumi + + * lib/fileutils.rb (ln): add ' -f' in the verbose message. + + * lib/fileutils.rb (cp_r): add 'p' in the verbose message. + +Mon Jan 6 16:44:52 2003 Yukihiro Matsumoto + + * array.c (rb_ary_join): dispatch based on "to_str". + + * array.c (rb_ary_times, rb_ary_equal): ditto. + +Mon Jan 6 13:26:35 2003 NAKAMURA Usaku + + * process.c (proc_exec_v): follow to proc_spawn_v(). call do_aspawn() + on Win32. + + * process.c (rb_proc_exec): call do_spawn() on Win32. + + * win32/win32.c, win32/win32.h (do_spawn, do_aspawn): add mode flag. + + * process.c (proc_spawn_v, rb_f_system): follow above change. + +Mon Jan 6 05:11:15 2003 Nobuyoshi Nakada + + * ext/extmk.rb: make $0 normal variable. + +Mon Jan 6 02:32:46 2003 Nobuyoshi Nakada + + * struct.c (make_struct): needs meta class. + +Sun Jan 5 22:54:05 2003 WATANABE Hirofumi + + * lib/fileutils.rb (ln): `argv' is not a argument. + +Sun Jan 5 17:44:37 2003 Nobuyoshi Nakada + + * ext/extmk.rb (extmake): set $0 temporarily while loading + extconf.rb. + +Sun Jan 5 14:46:46 2003 WATANABE Hirofumi + + * instruby.rb: need paren in regexp(make -n install). + + * ext/extmk.rb (sysquote): do not need to quote on mswin/bccwin/mingw. + + * ext/extmk.rb ($mflags): uniq items and remove '-' and '--'. + move options to the lead. + + * lib/fileutils.rb (install): model on the real install + command(message). + +Sun Jan 5 09:36:46 2003 Nobuyoshi Nakada + + * ruby.c (ruby_init_loadpath): under Windows, get the module + path from an internal address instead of hard coded library + name. + + * cygwin/GNUmakefile.in, bcc32/Makefile.sub, + win32/Makefile.sub (CPPFLAGS): removed LIBRUBY_SO macro. + + * bcc32/Makefile.sub, win32/Makefile.sub (config.h): no longer + depends on makefiles. + +Sun Jan 5 04:17:05 2003 Akinori MUSHA + + * gc.c (SET_STACK_END): Issue a FLUSH_REGISTER_WINDOWS here too. + This fixes make test on FreeBSD/sparc64. + +Sun Jan 5 03:43:47 2003 Akinori MUSHA + + * defines.h (FLUSH_REGISTER_WINDOWS): Make the flushw call an + inline function so it can be used as an expression. + + * eval.c (EXEC_TAG, THREAD_SAVE_CONTEXT): Consistently call + FLUSH_REGISTER_WINDOWS before calling setjmp(). (I suspect that + every setjmp() implementation should take care of register + windows, though) + +Sun Jan 5 03:12:32 2003 NAKAMURA Usaku + + * file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32. + + * win32/Makefile.sub (LIBS): use oldnames.lib. + + * win32/win32.c (rb_w32_getcwd): follow above change. + + * win32/win32.h: ditto. + + * wince/direct.c, wince/direct.h (getcwd): ditto. + + * wince/io.h: ditto. + + * wince/string.c, wince/wince.h (stricmp, strnicmp): ditto. + +Sat Jan 4 15:18:50 2003 NAKAMURA Usaku + + * process.c (rb_proc_exec): use same logic as DJGPP on win32 ports. + + * process.c (rb_f_system): ditto. + + * win32/win32.c, win32/win32.h (do_aspawn): [new]. for arrayed + arguments. + + * win32/win32.c (CreateChild): add new argument for real filename of + executing process. + + * win32/win32.c (NtHasRedirection, pipe_exec): follow above change. + +Sat Jan 4 14:29:52 2003 NAKAMURA Usaku + + * configure.in: set rb_cv_need_io_flush_between_seek=yes. + + * win32/Makefile.sub (config.h): define NEED_IO_FLUSH_BETWEE_SEEK. + (pointed out by moriq [ruby-dev:19299]) + +Sat Jan 4 03:12:14 2003 Yukihiro Matsumoto + + * eval.c (umethod_bind): exact class match is not required. relax + the restriction to subclasses. + +Sat Jan 4 01:33:40 2003 Nobuyoshi Nakada + + * file.c (rb_file_s_lchmod): get rid of gcc-3 -O3 warning. + +Fri Jan 3 22:26:07 2003 Nobuyoshi Nakada + + * process.c (rb_proc_times): need to initialize first. + +Fri Jan 3 01:10:17 2003 Yukihiro Matsumoto + + * eval.c (rb_eval): call "inherited" before executing class body. + + * class.c (rb_define_class): call "inherited" after defining the + constant. + + * class.c (rb_define_class_under): ditto. + +Thu Jan 2 19:37:30 2003 Yukihiro Matsumoto + + * eval.c (massign): expand first element if RHS is an array and + its size is 1, and LHS has concrete assignment target (i.e. LHS + has target(s) other than *var). + + * eval.c (massign): avoid unnecessary avalue/svalue conversion. + + * eval.c (rb_yield_0): ditto + + * array.c (rb_ary_update): do not allocate unused array if rpl is + nil (i.e. merely removing elements). + +Thu Jan 2 13:55:08 2003 Mathieu Bouchard + + * io.c (io_read): should resize supplied string if it's shorter + than expected. + +Thu Jan 2 11:01:20 2003 Nobuyoshi Nakada + + * eval.c (bmcall): arguments should be an array. + +Wed Jan 1 18:18:45 2003 WATANABE Hirofumi + + * configure.in: better DJGPP support. add GNUmakefile. + + * djgpp/GNUmakefile: new. + +Wed Jan 1 04:16:18 2003 Akinori MUSHA + + * node.h (struct RNode): Change argc from int to long. Otherwise + NEW_CFUNC() sets argc to a wrong value on platforms where + sizeof(int) != sizeof(long) and the byte order is big-endian. + This fixes breakage on FreeBSD/sparc64. + +Tue Dec 31 23:22:50 2002 Yukihiro Matsumoto + + * eval.c (massign): removed awkward conversion between yvalue, + mvalue, etc. + + * eval.c (rb_yield_0): new parameter added to tell whether val is + an array value or not. + + * parse.y (yield_args): restructuring: new nodes: NODE_RESTARY2, + NODE_SVALUE; removed node: NODE_RESTARGS. + +Tue Dec 31 21:13:51 2002 WATANABE Hirofumi + + * Makefile.in, {win32,bcc32}/Makefile.sub: add new target: + what-where, no-install. + + * mkconfig.rb: add const: CROSS_COMPILING. + + * ext/extmk.rb: no-install support. add MAKEDIRS macro. + + * lib/mkmf.rb: add !ifdef .. !endif for Borland make. + + * process.c: improve DJGPP support. system "ls", "-l". + +Tue Dec 31 20:16:37 2002 Akinori MUSHA + + * ext/socket/addrinfo.h (NI_MAXHOST): Define NI_MAXHOST and + NI_MAXSERV only if they are not defined yet. This fixes build + on such platforms as OpenBSD. + +Tue Dec 31 20:07:49 2002 Akinori MUSHA + + * ext/tcltklib/extconf.rb (find_tcl, find_tk): Look for both + lib{tcl,tk}M.N and lib{tcl,tk}MN on all platforms. *BSD have + Tcl/Tk libraries named this way. + +Tue Dec 31 19:48:21 2002 Akinori MUSHA + + * configure.in: Improve OpenBSD support. [obtained from: OpenBSD + ports] + + * dln.c (FUNCNAME_PATTERN): Ditto. + +Tue Dec 31 19:21:02 2002 Akinori MUSHA + + * array.c (rb_ary_transpose): Properly declare ary as a VALUE. + + * file.c (rb_file_s_chmod): Do not directly cast an int to void * + to avoid a warning. + + * defines.h (FLUSH_REGISTER_WINDOWS): Add support for + FreeBSD/sparc64. miniruby still coredumps in a different place, + though. + +Tue Dec 31 07:47:15 2002 Nobuyoshi Nakada + + * parse.y (parse_string): readjusted. + + * parse.y (heredoc_identifier): readjusted. + + * parse.y (here_document): make EOL codes of single-quoted + here-documents consistent. + + * parse.y (yylex): reduced unnecessary conditionals. + +Tue Dec 31 04:49:51 2002 Akinori MUSHA + + * ruby.1: mdoc'ify. + +Tue Dec 31 01:30:29 2002 WATANABE Hirofumi + + * parse.y (yylex): do not accept " __END__\n". ([ruby-dev:19245]) + +Mon Dec 30 21:10:59 2002 WATANABE Hirofumi + + * parse.y (yylex): use strncmp instead of strcmp. + accept "__END__\r\n". ([ruby-dev:19241]) + +Mon Dec 30 20:32:14 2002 Yukihiro Matsumoto + + * gc.c (rb_gc_mark_frame): should mark frame->node. + +Mon Dec 30 19:10:30 2002 Nobuyoshi Nakada + + * ext/extmk.rb: split --make argument contains options, assume + the first word of --make-flags is always options even unless + preceded by -, and ignore letter-case of options if nmake. + + * instruby.rb: extract -n option also from --make and + --make-flags. + + * bcc32/Makefile.sub, win32/Makefile.sub: not prepend - to + $(MFLAGS) + +Mon Dec 30 16:44:14 2002 Nobuyoshi Nakada + + * string.c (rb_str_substr): should share the shared string if + present, instead of the original string. (ruby-bugs:PR#528) + +Mon Dec 30 05:10:00 2002 Nobuyoshi Nakada + + * ext/socket/socket.c (tcp_svr_init): local host to + init_inetsock() is VALUE but not pointer. + + * ext/socket/socket.c (sock_s_unpack_sockaddr_in): get rid of + gcc-3 -O3 warning. + +Sun Dec 29 23:45:53 2002 Nobuyoshi Nakada + + * gc.c (gc_sweep): adjust GC trigger. + + * dln.c (init_funcname_len): get rid of gcc-3 -O3 warning. + + * eval.c (copy_node_scope): ditto. + + * hash.c (rb_hash_foreach, delete_if_i, select_i, each_value_i, + each_key_i, each_pair_i, envix): ditto. + + * range.c (range_each_func): ditto. + + * file.c (rb_file_s_chmod): ditto. + +Sun Dec 29 15:30:37 2002 Minero Aoki + + * lib/fileutils.rb (fu_parseargs): should not inherit ftools.rb's + misfeature. + +Sun Dec 29 05:08:13 2002 NAKAMURA Usaku + + * lib/fileutils.rb (cmp): return false if file size differs. + +Sat Dec 28 19:21:24 2002 WATANABE Hirofumi + + * instruby.rb: remove junk args. + + * lib/mkmf.rb (create_makefile): remove a trouble library + before making a shared library. + + * win32/Makefile.sub: invoke instruby.rb with the --make-flags option. + +Sat Dec 28 03:09:58 2002 Wakou Aoyama + + * lib/cgi.rb (CGI#[]): improvement. thanks to Kazuhiro NISHIYAMA + + +Sat Dec 28 00:34:03 2002 WATANABE Hirofumi + + * {win32,bcc32}/Makefile.sub: remove `=' from --make-flags options. + nmake quotes args if included `=' in args. + + * instruby.rb: use getopts.rb. + + * ext/dbm/extconf.rb (-DDBM_HDR): substitute ' with " to avoid + a error on Win32. + + * ext/gdbm/gdbm.c: add prototypes to avoid VC++ warnings. + +Fri Dec 27 21:41:57 2002 Nobuyoshi Nakada + + * bcc32/setup.mak, win32/setup.mak(-prologue-): move srcdir from + CPP input or UNC path will be removed as a comment. + +Fri Dec 27 17:55:00 2002 Takaaki Uematsu + + * wince/config, wince/configure.bat: replace 1.7 with 1.8 + in macros. + +Fri Dec 27 13:28:14 2002 Minero Aoki + + * instruby.rb: fileutils.rb accepts only one argument. + +Fri Dec 27 13:23:29 2002 Minero Aoki + + * lib/fileutils.rb (fu_parseargs): reject illegal options + correctly. + + * lib/fileutils.rb (uptodate?): parameter declaration was wrong. + + * lib/fileutils.rb: change coding styles. + +Fri Dec 27 09:25:22 2002 ABE Shigeru + + * process.c (rb_proc_times): avoid WindowsXP crash using volatile + variables. + +Fri Dec 27 02:56:58 2002 Nobuyoshi Nakada + + * instruby.rb: check only `-' option, and use fileutils instead of + ftools. + +Fri Dec 27 02:45:17 2002 Wakou Aoyama + + * lib/net/telnet.rb: Telnet#print not add "\n". + + * lib/cgi.rb: cgi['key'] is equal cgi['key'][0] + +Thu Dec 26 22:33:18 2002 WATANABE Hirofumi + + * ext/extmk.rb (create_makefile): check only `-' option. + + * configure.in: cleanups for MinGW. remove -D__NO_ISOCEXT in $CFLAGS. + + * win32/win32.h: prototypes for isinf, isnan are not needed on MinGW. + +Thu Dec 26 19:22:00 2002 YOSHIDA Kazuhiro + + * win32/setup.mak (-prologue-): moved srcdir macro definition. + [ruby-win32:420]. + +Wed Dec 25 18:26:44 2002 K.Kosako + + * regex.c (re_match): fixed wrong \G behavior. (ruby-bugs-ja:PR#377) + +Wed Dec 25 16:41:16 2002 Yukihiro Matsumoto + + * regex.c (re_match_exec): fix odd \G behavior based on the patch + from Nobu. + +Wed Dec 25 11:05:11 2002 Nobuyoshi Nakada + + * bcc32/setup.mak (-generic-): removed garbages. + +Wed Dec 25 10:36:20 2002 NAKAMURA Usaku + + * bcc32/Makefile.sub, win32/Makefile.sub (RUBY_SO_NAME, config.h): + use $(MAJOR) and $(MINOR). based on Nobu's patch. [ruby-win32:413] + + * bcc32/setup.mak, win32/setup.mak (-prologue-): define MAJOR, MINOR + and TEENY from version.h. based on Nobu's patch. [ruby-win32:413] + + * win32/Makefile.sub (config.h): add HAVE_FLOAT_H. + + * win32/Makefile.sub (parse.obj): depend on win32/win32.h. + +Tue Dec 24 23:49:16 2002 Akinori MUSHA + + * lib/irb/completion.rb: Use Object#class rather than Object#type. + +Tue Dec 24 23:37:40 2002 TADA Tadashi + + * lib/cgi.rb (Cookie::parse), lib/cgi-lib.rb (initialize): Do not + pass to split() a bare string longer than 2 characters as + separator. + +Tue Dec 24 19:19:24 2002 Tietew + + * numeric.c (DBL_MAX_10_EXP): fix typo. [ruby-dev:19175] + +Tue Dec 24 17:02:46 2002 Yukihiro Matsumoto + + * eval.c (rb_undefined): use NoMethodError instead of fatal. + +Tue Dec 24 02:12:45 2002 Akinori MUSHA + + * lib/README: Synchronize with reality. + +Tue Dec 24 02:05:51 2002 Akinori MUSHA + + * MANIFEST, lib/README, lib/ipaddr.rb: Add ipaddr.rb from rough. + +Sun Dec 22 04:07:47 2002 NAKAMURA Usaku + + * ext/dbm/dbm.c (fdbm_alloc): allocator takes only one argument. + +Sun Dec 22 02:49:25 2002 NAKAMURA Usaku + + * 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. + +Sun Dec 22 00:36:43 2002 WATANABE Hirofumi + + * lib/mkmf.rb (create_makefile): accept pure ruby libraries. + +Sat Dec 21 23:59:42 2002 Yukihiro Matsumoto + + * class.c (ins_methods_i): should not show ID_ALLOCATOR. + + * class.c (ins_methods_prot_i): ditto. + + * class.c (ins_methods_priv_i): ditto. + + * class.c (ins_methods_pub_i): ditto. + + * eval.c (call_trace_func): ditto. + + * eval.c (rb_undefined): ditto. + +Sat Dec 21 07:27:24 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-parse-partial): keywords must not be + preceded by @ or $. + +Fri Dec 20 20:29:04 2002 Nobuyoshi Nakada + + * ext/curses/curses.c, ext/dbm/dbm.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/sdbm/init.c, ext/stringio/stringio.c, + ext/strscan/strscan.c, ext/tcltklib/tcltklib.c, + ext/win32ole/win32ole.c: use rb_define_alloc_func(). + +Fri Dec 20 18:29:04 2002 Nobuyoshi Nakada + + * 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 + +Fri Dec 20 17:40:59 2002 Yukihiro Matsumoto + + * object.c (Init_Object): should not remove Class#allocate. + + * lib/profiler.rb: separate profiling functions, without + trace_func and at_exit setting. + +Fri Dec 20 16:20:04 2002 Yukihiro Matsumoto + + * 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. + +Fri Dec 20 05:06:49 2002 Akinori MUSHA + + * 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. + +Fri Dec 20 04:58:22 2002 Akinori MUSHA + + * lib/tempfile.rb: Embed Rdoc style comments. + + * lib/tempfile.rb: Add length as an alias for size. + +Fri Dec 20 03:57:32 2002 Akinori MUSHA + + * lib/tempfile.rb: Add Tempfile#close!() as a shorthand for + Tempfile#close(true). + + * lib/tempfile.rb: Add Tempfile#{unlink,delete}(). + +Fri Dec 20 03:53:01 2002 Akinori MUSHA + + * lib/README, lib/cgi/final.rb, lib/cgi/session.rb: Delete + final.rb, which was obsoleted long ago. + +Fri Dec 20 00:16:06 2002 Nobuyoshi Nakada + + * 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] + +Thu Dec 19 22:55:49 2002 NAKAMURA Usaku + + * numeric.c (DBL_EPSILON): fix typo. + +Thu Dec 19 22:35:20 2002 Nobuyoshi Nakada + + * eval.c (assign): avoid [BUG] at multiple attribute assignment. + +Thu Dec 19 01:00:09 2002 Yukihiro Matsumoto + + * 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 suppress exception now. + + * object.c (rb_mod_cmp): should return nil for non class/module + objects. + +Thu Dec 19 04:21:10 2002 Akinori MUSHA + + * lib/open-uri.rb: add a missing ||. (found by: ruby -wc) + +Wed Dec 18 17:53:05 2002 Yukihiro Matsumoto + + * 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. + +Wed Dec 18 03:52:55 2002 Nobuyoshi Nakada + + * string.c (rb_str_new4): handle tail shared string. + (ruby-bugs-ja:PR#370) + + * string.c (rb_str_dup_frozen): ditto. + +Tue Dec 17 21:08:29 2002 Nobuyoshi Nakada + + * 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] + + * re.c (rb_reg_nth_match): ditto. + +Tue Dec 17 16:52:38 2002 Yukihiro Matsumoto + + * 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. + +Tue Dec 17 04:03:45 2002 Tanaka Akira + + * lib/open-uri.rb: new file. + +Tue Dec 17 00:28:19 2002 NAKAMURA Usaku + + * file.c (utimbuf): need to define for VC++. + +Mon Dec 16 15:53:20 2002 Nobuyoshi Nakada + + * parse.y (nextc): get rid of overrun. (pointed out by akr + [ruby-list:36773]) + +Sun Dec 15 21:16:44 2002 WATANABE Hirofumi + + * lib/mkmf.rb (init_mkmf): add $(topdir) to $LIBPATH if $extmk. + remove adding $(archdir) to $LIBPATH. + +Sat Dec 15 12:15:00 2002 Takaaki Uematsu + + * 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 + +Sun Dec 15 11:43:26 2002 Nobuyoshi Nakada + + * parse.y (dispose_string): dispose String object. + + * parse.y (heredoc_restore, here_document): fix memory leak. + +Sat Dec 14 14:25:00 2002 Takaaki Uematsu + + * 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. + +Sat Dec 14 01:51:29 2002 WATANABE Hirofumi + + * ext/dbm/extconf.rb (rb_check): support for GNU dbm 1.8.3. + (-with-dbm-type=gdbm_compat). link against -lgdbm_compat + and -lgdbm. + +Fri Dec 13 23:42:16 2002 WATANABE Hirofumi + + * ext/dbm/extconf.rb (db_check): check existence of the function + in the specified library before checking it in libc. + +Fri Dec 13 17:15:49 2002 Yukihiro Matsumoto + + * variable.c (generic_ivar_get): should always warn uninitialized + instance variables. + +Fri Dec 13 12:33:22 2002 Nobuyoshi Nakada + + * parse.y (expr): rescue clause was ignored. + +Thu Dec 12 18:19:14 2002 WATANABE Hirofumi + + * 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. + +Thu Dec 12 17:27:19 2002 Yukihiro Matsumoto + + * 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#==). + +Thu Dec 12 16:26:31 2002 Nobuyoshi Nakada + + * marshal.c (r_object0): singleton class instance can't be loaded. + (ruby-bugs-ja:PR#366) + +Wed Dec 11 23:35:43 2002 WATANABE Hirofumi + + * ext/extmk.rb (create_makefile): -no-undefined -> --no-undefined. + +Wed Dec 11 17:54:59 2002 Yukihiro Matsumoto + + * 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. + +Wed Dec 11 11:30:28 2002 Nobuyoshi Nakada + + * ext/digest/digest.c (rb_digest_base_copy): renamed "become". + + * ext/stringio/stringio.c (strio_copy): ditto. + +Wed Dec 11 00:45:00 2002 Yukihiro Matsumoto + + * lib/getoptlong.rb (GetoptLong::Error): provide a common ancestor + for GetoptLong error classes (RCR#129). + +Tue Dec 10 17:42:39 2002 K.Kosako + + * re.c (rb_reg_copy_object): fixed memory leak. + +Tue Dec 10 17:30:35 2002 Tanaka Akira + + * pack.c (utf8_limits): fix the limit of 4 bytes UTF-8 sequence. + +Tue Dec 10 12:01:15 2002 Nobuyoshi Nakada + + * eval.c (mnew): original class of method defined in module should + be the module not intermediate class. [ruby-dev:19040] + +Tue Dec 10 01:16:52 2002 Yukihiro Matsumoto + + * 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". + +Sat Dec 7 18:14:23 2002 Yukihiro Matsumoto + + * process.c (Init_process): add Process.exit and Process.abort + + * pack.c (utf8_to_uv): raise ArgumentError for malformed/redundant + UTF-8 sequences. + +Fri Dec 6 03:46:00 2002 Yukihiro Matsumoto + + * process.c (last_status_set): add pid attribute to Process::Status. + +Wed Dec 4 17:31:42 2002 Yukihiro Matsumoto + + * 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". + +Wed Dec 4 16:37:11 2002 Yukihiro Matsumoto + + * object.c (copy_object): copy finalizers as well if any. + + * gc.c (rb_gc_copy_finalizer): new function to copy finalizers. + +Tue Dec 3 01:13:41 2002 Tanaka Akira + + * lib/pp.rb (PP.singleline_pp): new method. + +Sun Dec 1 23:04:03 2002 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser::new): same as OptionParser#on but + returns new OptionParser::switch. + +Sun Dec 1 22:43:29 2002 Nobuyoshi Nakada + + * win32/win32.c (rb_w32_stat): empty path is invalid, and return + ENOENT rather than EBADF in such case. [ruby-talk:57177] + +Fri Nov 29 18:01:48 2002 Yukihiro Matsumoto + + * pack.c (utf8_to_uv): added checks for malformed or redundant + UTF-8 sequences. + +Thu Nov 28 12:08:30 2002 Akinori MUSHA + + * 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. + +Thu Nov 28 02:40:42 2002 Akinori MUSHA + + * 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. + +Wed Nov 27 17:39:38 2002 Akinori MUSHA + + * ext/syslog/syslog.c: Cut redundancy. + + * ext/syslog/syslog.c: Do not leak ident. + +Wed Nov 27 17:25:29 2002 Akinori MUSHA + + * ext/syslog/syslog.c, ext/syslog/test.rb: Syslog.close should + raise RuntimeError when not opened. + + * ext/syslog/syslog.c, ext/syslog/test.rb: + Syslog.{ident,options,facility,mask} should all return nil when + not opened. + + * ext/syslog/syslog.c, ext/syslog/test.rb: Change back the output + format of inspect(). + +Wed Nov 27 16:25:43 2002 Akinori MUSHA + + * ext/digest/test.rb: Switch from RUnit to Test::Unit. + +Wed Nov 27 16:14:12 2002 Akinori MUSHA + + * ext/syslog/syslog.c: Fix a problem where Syslog.ident was not + marked and could thus be GC'd. + +Wed Nov 27 16:11:53 2002 Akinori MUSHA + + * ext/syslog/test.rb: Switch from RUnit to Test::Unit. + + * ext/syslog/test.rb: The output format of inspect() is slightly + altered. + +Wed Nov 27 06:43:26 2002 Nobuyoshi Nakada + + * error.c (exit_initialize): add SystemExit#initialize to set + instance variable status. (ruby-bugs-ja:PR#362) + Now accepts status as optional first argument. + + * eval.c (error_handle): now SystemExit have status always. + + * eval.c (system_exit): just instantiate SystemExit without raise. + + * eval.c (rb_thread_start_0): initialize SystemExit properly. + +Tue Nov 26 10:17:04 2002 Yukihiro Matsumoto + + * dln.c (init_funcname_len): remove MAXPATHLEN dependency. + +Mon Nov 25 19:55:38 2002 WATANABE Hirofumi + + * ext/extmk.rb (extmake): return true if not dynamic and not static. + +Mon Nov 25 01:08:40 2002 WATANABE Hirofumi + + * dln.c: revert and add the MAXPATHLEN definition on mswin32/mingw32. + +Sun Nov 24 20:36:53 2002 WATANABE Hirofumi + + * dln.c: move the MAXPATHLEN definition in front. + +Fri Nov 22 22:55:01 2002 Yukihiro Matsumoto + + * sprintf.c (rb_f_sprintf): preceding ".." for negative + hexadecimal numbers should not appear if prec (e.g. %.4) is + specified. + + * pack.c (NUM2I32): support platforms which does not have 32bit + integers (e.g. Cray). + +Fri Nov 22 19:20:36 2002 Akinori MUSHA + + * instruby.rb: Install batch files on Windows. [Submitted by usa] + +Fri Nov 22 18:31:46 2002 Yukihiro Matsumoto + + * eval.c (rb_add_method): node may be NULL. + +Thu Nov 21 20:53:06 2002 Minero Aoki + + * lib/net/smtp.rb: changes coding style. + + * lib/net/pop.rb: ditto. + + * lib/net/protocol.rb: ditto. + +Thu Nov 21 20:17:08 2002 Minero Aoki + + * lib/net/http.rb: changes coding style. + +Thu Nov 21 20:04:06 2002 Minero Aoki + + * lib/net/http.rb: should not overwrite Host: header. + (This patch is contributed by sean@ruby-lang.org) + +Thu Nov 21 20:01:33 2002 Minero Aoki + + * lib/net/http.rb: support Proxy-Authorization. + (This patch is contributed by Alexander Bokovoy) + +Thu Nov 21 11:03:39 2002 Yukihiro Matsumoto + + * file.c (rb_find_file_ext): should not terminate searching with + empty path, just ignore. + + * dir.c: remove inclusion. + +Wed Nov 20 02:07:12 2002 Yukihiro Matsumoto + + * compar.c (cmp_eq,cmp_gt,cmp_ge,cmp_lt,cmp_le): check using + rb_cmpint(). + + * error.c (init_syserr): remove sys_nerr dependency. + +Wed Nov 20 01:52:21 2002 Yukihiro Matsumoto + + * numeric.c (num_cmp): added to satisfy Comparable assumption. + + * eval.c (rb_add_method): "initialize" should be public if it is a + singleton method. + +Tue Nov 19 22:37:23 2002 Yukihiro Matsumoto + + * regex.c (re_match): avoid dereferencing if size == 0. + (ruby-bugs-ja:PR#360) + +Tue Nov 19 20:40:39 2002 Yukihiro Matsumoto + + * time.c (time_cmp): should return nil if an operand is not a + number nor time. (ruby-bugs-ja:PR#359) + + * file.c (rb_stat_cmp): should return nil if an operand is not + File::Stat. + +Tue Nov 19 14:35:09 2002 Yukihiro Matsumoto + + * array.c (rb_ary_zip): iterates over items in the receiver. + zipped with nil if argument arrays are shorter. if arrays are + longer, left items are ignored. now works with blocks. + + * enum.c (zip_i): changed for new behavior. + + * array.c (rb_ary_transpose): added. [new] + +Tue Nov 19 05:12:21 2002 Akinori MUSHA + + * instruby.rb: Do not install various working files under bin/. + +Tue Nov 19 05:07:39 2002 Nobuyoshi Nakada + + * instruby.rb: not rewrite installed scripts when dry-run mode. + + * lib/ostruct.rb (OpenStruct::initialize): should symbolize keys + instead of values. + +Tue Nov 19 02:24:10 2002 Akinori MUSHA + + * instruby.rb: Rewrite installed scripts' shebang lines. + + * instruby.rb: Use File.join() where appropriate. + +Tue Nov 19 01:53:35 2002 Akinori MUSHA + + * bin/irb: Moved from sample/irb.rb. + + * instruby.rb: Install script files under bin/ with ruby's program + prefix and suffix. + +Mon Nov 18 02:13:36 2002 Akinori MUSHA + + * lib/tempfile.rb: Make this library thread safe. + + * lib/tempfile.rb: Do not pick a name which was once used and is + still scheduled for removal. + + * lib/tempfile.rb: A lock file need not and must not be scheduled + for removal. + + * lib/tempfile.rb: Compare Max_try with the number of mkdir + failures instead of the suffix counter. + + * lib/tempfile.rb: Overall cleanup and add some important notices. + +Sun Nov 17 22:57:31 2002 Nobuyoshi Nakada + + * parse.y (dsym): garbage returned. (ruby-bugs-ja:PR#358) + +Fri Nov 15 07:40:08 2002 NAKAMURA, Hiroshi + + * observer.rb: raise NoMethodError instead of NameError. + [ruby-dev:18788] + + * ostruct.rb: ditto. fix a bug in inspect which called String#+ with + Symbol. [ruby-dev:18788] + + * profile.rb: illegal use of Array#sort!. replaced it with non-bang + method. [ruby-dev:18792] + +Thu Nov 14 22:40:29 2002 Nobuyoshi Nakada + + * configure.in (LIBRUBY_A): append -static. [ruby-dev:18689] + + * configure.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED): linker + argument to link static/shared library respectively. + + * Makefile.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED): added. + + * bcc32/Makefile.sub, win32/Makefile.sub: ditto. + + * instruby.rb (LIBRUBY_A): install to libdir. + + * lib/mkmf.rb (link_command): link static library of ruby, or + try_run fails unless LIBRUBY_SO is installed. [ruby-dev:18646] + + * eval.c (call_trace_func): toplevel caller was missing. + [ruby-dev:18754] + + * eval.c (proc_to_s): adjust created line number. + + * parse.y (primary, do_block, brace_block): adjust line number of + block to beginning line, instead of the first statement inside + the block. + +Thu Nov 14 08:23:42 2002 Yukihiro Matsumoto + + * math.c (math_acos): check errno after operation. ditto for + asin, acosh, atanh, log, log10 and sqrt. + + * eval.c (rb_add_method): initialize should always be private. + + * parse.y (expr): add rescue modifier rule. + + * parse.y (command_call): return, break and next with argument is + now part of this rule. + +Wed Nov 13 16:22:38 2002 Nobuyoshi Nakada + + * configure.in (DLDFLAGS): removed -Wl,-no-undefined to + ext/extmk.rb, in order to allow references to symbols in other + extension libraries for mkmf.rb. [ruby-dev:18724] + + * ext/extmk.rb (extmake): ditto. + + * ext/extmk.rb (extmake): exit when make failed. + +Sun Nov 10 03:46:18 2002 Akinori MUSHA + + * lib/set.rb: retire contain?() and add superset?(), + proper_superset?() subset?(), and proper_subset?(). + [obtained from: Jason Voegele's set.rb] + + * lib/set.rb: define several aliases: union() for |(), + difference() for -(), and intersection() for &(). + [obtained from: Jason Voegele's set.rb] + + * lib/set.rb: deal with a s/id/object_id/ leftover. + +Sat Nov 9 16:06:57 2002 WATANABE Hirofumi + + * ext/tcltklib/stubs.c: should include "util.h" for ruby_strdup. + +Sat Nov 9 11:39:45 2002 Nobuyoshi Nakada + + * eval.c: remove ENABLE_TRACE/DISABLE_TRACE to trace child nodes of + c-call. [ruby-dev:18699] + +Fri Nov 8 04:16:55 2002 Yukihiro Matsumoto + + * parse.y (yylex): "a" in "a /5" should be considered as a local + variable. [experimental] + +Thu Nov 7 09:51:37 2002 Nobuyoshi Nakada + + * eval.c (rb_yield_0): should enable trace for non-cfunc nodes. + [ruby-dev:18645] + + * eval.c (blk_orphan): a block created in a different thread is + orphan. [ruby-dev:17471] + +Wed Nov 6 16:57:06 2002 Yukihiro Matsumoto + + * class.c (rb_define_method): do not set NOEX_CFUNC if klass is + really a module, whose methods must be safe for reciever's type. + + * eval.c (rb_eval): nosuper should not be inherited unless the + overwritten method is an undef placeholder. + +Tue Nov 5 00:46:04 2002 Akinori MUSHA + + * ext/extmk.rb: Properly pass the given target to + make(1). [pointed out by eban] + +Mon Nov 4 20:03:53 2002 NAKAMURA Usaku + + * instruby.rb, lib/mkmf.rb: use CONFIG["ENABLE_SHARED"] instead of + checking whether CONFIG["configure-args"] includes "--enable-shared". + +Mon Nov 4 16:49:14 2002 Yukihiro Matsumoto + + * parse.y (primary): allow 'when'-less case statement; persuaded + by Sean Chittenden. + +Mon Nov 4 06:28:09 2002 Akinori MUSHA + + * Makefile.in, ext/extmk.rb, bcc32/Makefile.sub, + win32/Makefile.sub: Introduce better command line syntax + (--make/--make-flags/--extstatic) to extmk.rb and instruby.rb. + Previously such command as 'make -j3 install' with pmake doesn't + fail. Formerly extmk.rb was receiving "make -j 3 -j 3" via the + command line arguments and just ended up recognizing the first + "3" as destdir. [with help of usa] + +Mon Nov 4 03:59:51 2002 Akinori MUSHA + + * lib/getopts.rb: Do not choke on characters that cannot be used + in a variable name. Replace them with `_'. Define a hash named + $OPT for convenience. + +Sat Nov 2 00:38:55 2002 Yukihiro Matsumoto + + * object.c (Init_Object): added Object#object_id, new name for + Object#id. [new] + + * object.c (rb_obj_id_obsolete): give warning for Object#id. + + * numeric.c (fix_intern): added Fixnum#to_sym. [new] + + * object.c (sym_to_sym): rename from Symbol#intern + +Fri Nov 1 14:21:06 2002 Yukihiro Matsumoto + + * enum.c (enum_zip): added Enumerable#zip. [new] + + * array.c (rb_ary_zip): added Array#zip. + +Thu Oct 31 20:10:18 2002 Yukihiro Matsumoto + + * error.c (init_syserr): remove sys_nerr dependency. + +Thu Oct 31 09:31:51 2002 K.Kosako + + * eval.c (rb_export_method): undef'ed method visibility should not + be changed. + +Wed Oct 30 17:00:47 2002 Yukihiro Matsumoto + + * eval.c (rb_mod_public_method_defined, etc.): new methods: + public_method_defined?, private_method_defined?, + protected_method_defined? + + * object.c (rb_obj_public_methods): new method + Object#public_methods. + + * class.c (ins_methods_i): Object#methods should list both public + and protected methods. + + * class.c (rb_class_public_instance_methods): new method + Module#public_instance_methods. + +Wed Oct 30 06:29:00 2002 Akinori MUSHA + + * eval.c, file.c, gc.c, io.c, object.c, ruby.c, ruby.h, struct.c, + ext/socket/socket.c: differentiate long and int; use proper + printf type specifiers and do casts where appropriate. + +Wed Oct 30 04:07:33 2002 Nobuyoshi Nakada + + * eval.c (error_print, rb_longjmp, rb_thread_schedule): flush + error message. [ruby-dev:18582] + + * eval.c (ruby_cleanup): added. just clean up without exit. + [ruby-dev:18582] + + * eval.c (ruby_exec): added. execute main evaluation tree without + exit. [ruby-dev:18582] + + * intern.h: prototypes; ruby_cleanup, ruby_exec + +Tue Oct 29 02:00:08 2002 Nobuyoshi Nakada + + * ext/extmk.rb (extmake): use dummy_makefile to create dummy + Makefile. + + * lib/mkmf.rb (find_executable0): EXEEXT is optional. + + * lib/mkmf.rb (dummy_makefile): make dummy Makefile content. + + * lib/mkmf.rb (create_makefile): define EXTLIB replacing -l. + + * lib/mkmf.rb ($bccwin): detect Borland make by help message. + + * lib/mkmf.rb (CLEANINGS): common rules to clean. + +Mon Oct 28 01:27:17 2002 WATANABE Hirofumi + + * djgpp/config.sed (@program_transform_name@): use `%', not `,'. + +Sun Oct 27 22:59:50 2002 KONISHI Hiromasa + + * ext/extmk.rb(78) : The unnecessary error when installing by bccwin32 + is controlled. + + * lib/mkmf.rb(773) : Also in the case of bccwin32, the path was added. + +Sun Oct 27 17:07:25 2002 WATANABE Hirofumi + + * djgpp/*: sync with the latest. + + * ext/extmk.rb, lib/mkmf.rb: flush $stdout. + + * io.c (READ_DATA_PENDING_COUNT, READ_DATA_PENDING_PTR): + undef these macros on DJGPP. + +Sat Oct 26 10:11:47 2002 Akinori MUSHA + + * node.h (nd_type): cast the value to int. + +Sat Oct 26 04:27:35 2002 Akinori MUSHA + + * ext/dbm/dbm.c (fdbm_indexes, fdbm_select): add a missing + argument and prevent coredump when a nonexistent key is + specified. + + * ext/sdbm/init.c (fsdbm_indexes, fsdbm_select): ditto. + +Sat Oct 26 03:28:43 2002 Akinori MUSHA + + * eval.c, gc.c: use a common set of alloca() #ifdef's. This fixes + the build with Intel C Compiler for Linux. + + * eval.c (rb_f_require): declare old_func with a real type, not + just type modifiers. + +Fri Oct 25 02:55:01 2002 Minero Aoki + + * string.c (rb_str_split_m): RSTRING(str)->ptr might become NULL. + [ruby-dev:18581] + +Thu Oct 24 21:57:02 2002 Nobuyoshi Nakada + + * configure.in (LIBPATHFLAG): avoid $ substitution. + [ruby-dev:18577] + + * ext/extmk.rb (extmake): expand $srcdir. + + * ext/win32ole/extconf.rb: should not override $CFLAGS, but + append. + + * lib/mkmf.rb (config_string): use given config hash. + + * bcc32/Makefile.sub (.rc.res): directory part may be empty in + Borland make. + +Thu Oct 24 03:38:07 2002 Nobuyoshi Nakada + + * lib/mkmf.rb (create_makefile): site-install target for backward + compatibility. + + * lib/mkmf.rb (init_mkmf): libdir prior to topdir. + + * configure.in (LIBPATHFLAG): should escape $. [ruby-dev:18572] + + * mkconfig.rb: never substitute escaped $$. + + * instruby.rb: not install LIBRUBY_SO unless enable-shared. + [ruby-dev:18569] + +Wed Oct 23 19:16:06 2002 Nobuyoshi Nakada + + * eval.c (rb_eval): added NODE_DSYM, symbol literal with + interpolation. + + * node.h: ditto. + + * intern.h: prototypes; rb_is_junk_id, rb_str_dump, rb_str_intern + + * object.c (sym_inspect): escape and quote for non-alphanumeric + symbols. + + * parse.y (dsym, tokadd_string, yylex): extended symbol literals. + + * parse.y (rb_is_junk_id): added. + + * string.c (rb_str_dump, rb_str_intern) : make extern. + + * lib/mkmf.rb (create_makefile): deffile should be removed by + distclean, not clean. + +Tue Oct 22 23:56:41 2002 WATANABE Hirofumi + + * lib/mkmf.rb (init_mkmf): add dir_config("opt"). + +Tue Oct 22 19:44:03 2002 KONISHI Hiromasa + + * bcc32/configure.bat : The command line when calling setup.mak is + corrected. + + * bcc32/readme.bcc32 : It follows up about the option of configure.bat. + +Tue Oct 22 15:23:19 2002 Nobuyoshi Nakada + + * instruby.rb: add dryrun mode. + + * ext/extmk.rb (extmake): add install: target to dummy Makefile. + + * ext/extmk.rb (extmake): avoid Borland make's quirk behavior. + + * lib/mkmf.rb (link_command): opt is not a makefile macro. + + * bcc32/Makefile.sub ($(LIBRUBY_SO) $(LIBRUBY)): EXTOBJS were not + linked. + + * bcc32/Makefile.sub (ext/extinit.obj): missing. + + * bcc32/Makefile.sub (TRY_LINK): options have to place before any + non-option arguments. + + * win32/Makefile.sub (TRY_LINK): need -link and -libpath options. + + * bcc32/Makefile.sub, win32/Makefile.sub (RANLIB): logical + operator never work with command.com. + +Tue Oct 22 00:59:59 2002 WATANABE Hirofumi + + * configure.in (RUBY_CPPOUTFILE): fix cache file bug. + + * lib/mkmf.rb (link_command): put 'opt' after conftest.c for + static linking. + +Mon Oct 21 22:53:02 2002 Nobuyoshi Nakada + + * configure.in (XCFLAGS): CFLAGS to compile ruby itself. + + * configure.in (LIBEXT): suffix for static libraries. + + * configure.in (LIBPATHFLAG): switch template to specify library + path. + + * configure.in (LINK_SO): command to link shared objects. + + * configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent + files. + + * configure.in (EXPORT_PREFIX): prefix to exported symbols on + Windows. + + * configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS): + libraries, macros and headers used in common. + + * configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode + executable name. + + * Makefile.in (CFLAGS): append XCFLAGS. + + * Makefile.in (PREP): miscellaneous system dependent files. + + * Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb. + + * Makefile.in (fake.rb): CROSS_COMPILING keeps building platform. + + * Makefile.in (MAKEFILES): depend on *.in and config.status. + + * Makefile.in (parse.c): replace "y.tab.c" with actual name for + byacc. + + * ext/extmk.rb, lib/mkmf.rb: integrated. + + * ext/extmk.rb: propagate MFLAGS. + + * ext/extmk.rb (extmake): make dummy Makefile to clean even if no + Makefile is made. + + * lib/mkmf.rb (older): accept multiple file names and Time + objects. + + * lib/mkmf.rb (xsystem): split and quote. + + * lib/mkmf.rb (cpp_include): make include directives. + + * lib/mkmf.rb (try_func): try whether specified function is + available. + + * lib/mkmf.rb (install_files): default to site-install. + + * lib/mkmf.rb (checking_for): added. + + * lib/mkmf.rb (find_executable0): just find executable file with + no message. + + * lib/mkmf.rb (create_header): output header file is variable. + + * lib/mkmf.rb (create_makefile): separate sections. + + * lib/mkmf.rb (init_mkmf): initialize global variables. + + * win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added. + + * bcc32/Makefile.sub (ARCH): fixed to i386. + + * win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not + link EXTOBJS. + + * ext/dl/extconf.rb: use try_cpp to cross compile. + + * ext/dl/extconf.rb: not modify files in source directory. + +Fri Oct 18 23:11:21 2002 Nobuyoshi Nakada + + * parse.y (value_expr0): allow return/break/next/redo/retry in rhs + of logical operator. [ruby-dev:18534] + + * parse.y (remove_begin): eliminate useless NODE_BEGIN. + [ruby-dev:18535] + +Fri Oct 18 01:02:44 2002 Akinori MUSHA + + * hash.c, eval.c: Use (*_NSGetEnviron()) instead of environ on + Darwin for namespace cleanness. [ruby-core:00537] + + * dln.c (dln_load): Fix Darwin support that has been disabled and + switch to using it on Darwin instead of the system dlopen(). + [ruby-core:00541] + +Thu Oct 17 19:17:56 2002 Nobuyoshi Nakada + + * marshal.c (w_byten): added; write n bytes from s to arg. + + * marshal.c (dump): flush buffered data. + + * marshal.c (marshal_dump, r_byte, r_bytes0, marshal_load): unify + marshaling I/O. [ruby-talk:53368] + +Thu Oct 17 12:58:24 2002 Minero Aoki + + * lib/fileutils.rb: stat.blksize might be 0/nil. + + * lib/fileutils.rb: change coding style. + +Wed Oct 16 22:35:53 2002 Nobuyoshi Nakada + + * sprintf.c (rb_f_sprintf): disallow mixed usage of numbered and + unnumbered arguments. [ruby-dev:18531] + get rid of memory leak at exception. [ruby-core:00460] + +Wed Oct 16 13:36:29 2002 Nobuyoshi Nakada + + * variable.c (rb_global_entry): not add global entry until + initialized to avoid accessing it while GC. [ruby-dev:18514] + + * variable.c (rb_alias_variable): ditto. + +Wed Oct 16 01:03:54 2002 Yukihiro Matsumoto + + * object.c (rb_str_to_dbl): RString ptr might be NULL. + + * object.c (rb_cstr_to_dbl): p pointer might be NULL. + + * bignum.c (rb_str_to_inum): RString ptr might be NULL. + + * bignum.c (rb_cstr_to_inum): str pointer might be NULL. + +Sat Oct 12 23:44:11 2002 Nobuyoshi Nakada + + * win32/win32.c (rb_w32_putc): wrong condition to fill or flush on + bccwin32. [ruby-win32:408] + +Fri Oct 11 15:58:06 2002 Yukihiro Matsumoto + + * parse.y (arg): rescue modifier is now an operator with + precedence right below assignments. i.e. "a = b rescue c" now + parsed as "a = (b rescue c)", not as "(a = b) rescue c". [new] + [experimental] + +Fri Oct 11 06:05:30 2002 Nobuyoshi Nakada + + * win32/win32.c (rb_w32_fclose, rb_w32_close): use closesocket() + for socket. [ruby-win32:382] + + * win32/win32.c (StartSockets): set NtSocketsInitialized. + + * win32/win32.h: prototypes; rb_w32_fclose, rb_w32_close + +Fri Oct 11 00:24:57 2002 Nobuyoshi Nakada + + * gc.c (ruby_xmalloc, ruby_xrealloc): restrict total allocation + size according to memories consumed by live objects. + [ruby-dev:18482] + + * gc.c (gc_sweep): estimate how live objects consume memories. + +Thu Oct 10 17:26:12 2002 WATANABE Hirofumi + + * ext/tcltklib/stubs.c (ruby_tcltk_stubs): fix memory leak. + [ruby-dev:18478] + +Thu Oct 10 15:20:18 2002 Nobuyoshi Nakada + + * lib/weakref.rb (WeakRef::@@final): use Hash#delete. + + * lib/weakref.rb (WeakRef::__getobj__): examine if alive or not by + ID_REV_MAP to deal with recycled object. [ruby-dev:18472] + + * lib/weakref.rb (WeakRef::weakref_alive?): ditto. + +Wed Oct 9 07:11:25 2002 Nobuyoshi Nakada + + * gc.c (gc_sweep): also adjust heaps_limits when free unused heap + page. [ruby-core:00526] + + * io.c (io_fflush): condition to retry can occur. + + * io.c (io_write): returned 0 wrongly if no error occurred. + +Tue Oct 8 14:19:07 2002 Nobuyoshi Nakada + + * io.c (io_write): must check returned value from fwrite() before + test with ferror(). (ruby-bugs-ja:PR#350) + +Tue Oct 8 10:55:23 2002 Tanaka Akira + + * lib/prettyprint.rb (PrettyPrint.singleline_format): new method. + +Mon Oct 7 16:43:07 2002 Yukihiro Matsumoto + + * bignum.c (bigdivrem): bignum zero's len should not be 0. + +Mon Oct 7 15:36:42 2002 Yukihiro Matsumoto + + * bignum.c (bigdivmod): wrong condition check for Bignum zero. + + * bignum.c (Init_Bignum): need to add Bignum#div. + +Sun Oct 6 00:49:15 2002 Minero Aoki + + * eval.c (rb_load): should not pass blocks to the loaded file. + [ruby-dev:18458] + +Fri Oct 4 20:25:38 2002 Nobuyoshi Nakada + + * eval.c (rb_thread_interrupt, rb_thread_signal_raise): no need to + save dead thread context. (same as [ruby-dev:18322]) + (ruby-bugs-ja:PR#349) + +Fri Oct 4 13:05:58 2002 WATANABE Hirofumi + + * configure.in (RUBY_PROG_GNU_LD): check whether the linker is GNU ld. + + * ext/extmk.rb (create_makefile): add -Wl,-no-undefined to $DLDFLAGS + on Linux if GNU ld is used and --enable-shared is specified. + +Fri Oct 4 02:21:16 2002 Yukihiro Matsumoto + + * bignum.c (rb_big_rshift): num should be initialized by carry + bits if x is negative. + + * bignum.c (bigdivmod): len for bignum zero is 1, not 0. + +Thu Oct 3 20:22:11 2002 Nobuyoshi Nakada + + * bcc32/mkexports.rb: to work on cygwin via telnet. + [ruby-win32:358] + + * ext/tcltklib/tcltklib.c (ip_invoke): requires command name + argument. [ruby-dev:18438] + + * eval.c (ruby_init, ruby_options): Init_stack() with local + location. (ruby-bugs-ja:PR#277) + + * eval.c (rb_call0): disable trace call. [ruby-dev:18074] + + * eval.c (eval, rb_load): enable trace call. [ruby-dev:18074] + + * eval.c (rb_f_require): set source file name for extension + libraries. [ruby-dev:18445] + + * gc.c (Init_stack): prefer address of argument rather than local + variable to initialize rb_gc_stack_start. + + * ruby.c (translate_char): translate a character in a string; + DOSISH only. [ruby-dev:18274] + + * ruby.c (ruby_init_loadpath): added argv[0] handling under + Human68K. [ruby-dev:18274] + + * ruby.c (proc_options): translate directory separator in $0 to + '/'. [ruby-dev:18274] + +Thu Oct 3 00:27:26 2002 Nobuyoshi Nakada + + * lib/delegate.rb (Delegator::initialize): use Object#class + instead of deprecated Object#type. + +Wed Oct 2 23:32:48 2002 Nobuyoshi Nakada + + * configure.in (RUBY_CHECK_IO_NEED_FLUSH): check whether fflush() + is needed. + + * io.c (flush_before_seek): flush before seek if buffered data + may remain. + + * io.c (rb_io_check_readable): flush if the last operation was + write. + + * io.c (rb_io_check_writable): flush if the last operation was + read. + + * rubyio.h (FMODE_RBUF): added. + +Wed Oct 2 23:09:20 2002 Nobuyoshi Nakada + + * io.c (rb_io_wait_readable): handle retryable errors. + + * io.c (rb_io_wait_writable): ditto. + + * ext/socket/socket.c (bsock_send): ditto. + + * ext/socket/socket.c (s_recvfrom): ditto. + + * ext/socket/socket.c (s_accept): ditto. + + * ext/socket/socket.c (udp_send): ditto. + + * ext/socket/getaddrinfo.c (afdl): made private structures constant. + + * rubyio.h: prototype; rb_io_wait_readable(), rb_io_wait_writable(). + +Wed Oct 2 13:03:58 2002 WATANABE Hirofumi + + * configure.in: set ac_cv_func_setitimer to "no" on Cygwin. + +Wed Oct 2 10:59:29 2002 Yukihiro Matsumoto + + * gc.c (gc_sweep): free unused heap page to reduce process size if + possible. + + * object.c (rb_obj_type): deprecated Object#type; use Object#class. + +Tue Oct 1 23:48:32 2002 Nobuyoshi Nakada + + * ext/socket/socket.c (init_sock): no need for special finalizer, + socket descriptor is no longer duplicated in 1.7. + [ruby-talk:50732] + + * win32/win32.c, win32/win32.h (rb_w32_fddup, rb_w32_fdclose): + delete. + +Mon Sep 30 20:29:10 2002 Nobuyoshi Nakada + + * io.c (rb_io_inspect): not need to raise IOError for closed + stream. [ruby-talk:51871] + +Mon Sep 30 03:48:15 2002 Yukihiro Matsumoto + + * range.c (range_check): need no Fixnum check. + +Sun Sep 29 18:30:24 2002 Nobuyoshi Nakada + + * win32/win32.c (rb_w32_open_osfhandle): adjust + rb_w32_open_osfhandle() with _open_osfhandle(). + + * win32/win32.c (rb_w32_accept, rb_w32_socket): return -1 on + error. + + * win32/win32.h: should use file descriptor instead of SOCKET. + +Sun Sep 29 06:33:03 2002 NAKAMURA Usaku + + * win32/win32.c (is_socket, rb_w32_select, rb_w32_accept, rb_w32_bind, + rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname, + rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv, + rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt, + rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr, + rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname, + rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport): + need to protect WSAGetLastError() by RUBY_CRITICAL. [ruby-talk:51778] + +Sat Sep 28 20:06:36 2002 Nobuyoshi Nakada + + * keywords: add braces around initializers. + +Sat Sep 28 13:19:29 2002 Nobuyoshi Nakada + + * hash.c (rb_hash_become): should check self-assignment after + conversion. + +Sat Sep 28 10:40:44 2002 Yukihiro Matsumoto + + * hash.c (rb_hash_become): Hash#become should check added + self-assignment. + + * class.c (rb_make_metaclass): metaclass of a superclass may be + NULL at boot time. + +Sat Sep 28 09:50:03 2002 KONISHI Hiromasa + + * ext/extmk.rb: The condition judgment without necessity was deleted. + +Fri Sep 27 18:40:42 2002 Nobuyoshi Nakada + + * eval.c (rb_thread_deadlock): more verbose message at deadlock. + + * eval.c (rb_thread_schedule): ditto. + + * eval.c (rb_thread_join): ditto. + +Fri Sep 27 13:24:35 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): Class#inherited should be called after the + execution of the class body. + +Fri Sep 27 02:41:53 2002 Akinori MUSHA + + * ext/digest/sha1: Use OpenSSL's SHA1 engine if available. It is + much faster than what we have now (sha1.[ch]). Add a knob + (--with-bundled-sha1) to extconf.rb which makes it use the + bundled one anyway. + +Fri Sep 27 02:25:14 2002 Akinori MUSHA + + * ext/digest/rmd160: Use OpenSSL's RMD160 engine if available. It + is much faster than what we have now (rmd160.[ch]). Add a knob + (--with-bundled-rmd160) to extconf.rb which makes it use the + bundled one anyway. + +Fri Sep 27 01:23:39 2002 Akinori MUSHA + + * ext/digest/md5: Use OpenSSL's MD5 engine if available. It is + much faster than what we have now (md5.[ch]). Add a knob + (--with-bundled-md5) to extconf.rb which makes it use the + bundled one anyway. + +Thu Sep 26 22:44:21 2002 Akinori MUSHA + + * ext/digest/digest.c (rb_digest_base_s_digest): Fix a double + free() bug mingled with allocation framework deployment. + + * ext/digest/digest.c (rb_digest_base_s_hexdigest): Get rid of + redundant struct allocation. + +Thu Sep 26 09:52:52 2002 Yukihiro Matsumoto + + * parse.y (primary): remove "return outside of method" check at + compile time. + +Wed Sep 25 23:51:29 2002 Nobuyoshi Nakada + + * dir.c (glob_helper): must not closedir() when exception raised + while globbing "**". + + * marshal.c (w_uclass): unused variable. + + * re.c (match_clone): unused. + + * regex.c (re_compile_pattern): get rid of implicit promotion from + plain char to int. + +Wed Sep 25 17:46:46 2002 NAKAMURA Usaku + + * lib/mkmf.rb (libpathflag): restore ENV['LIB'] when some error + occurred. + +Wed Sep 25 16:14:51 2002 Yukihiro Matsumoto + + * regex.c (re_match): p1 may exceed pend limit. + +Mon Sep 23 23:22:43 2002 Nobuyoshi Nakada + + * eval.c (rb_call0): must not clear ruby_current_node, or + backtrace cannot be generated. + + * intern.h (ruby_yyparse): rather than yyparse(). + + * parse.y (yylex): nextc() returns -1 at end of input, not 0. + + * parse.y (newline_node): reduce duplicated newline node. + + * parse.y (literal_concat): get rid of warning. + + * parse.y (new_evstr): fixed junk code. + +Mon Sep 23 19:57:52 2002 WATANABE Hirofumi + + * configure.in (RUBY_MINGW32): new macro. check for the MinGW + compiler environment. + + * lib/mkmf.rb: refactoring. + +Mon Sep 23 08:27:11 2002 Tanaka Akira + + * io.c (appendline): forget to terminate with nul. + +Mon Sep 23 02:46:29 2002 Yukihiro Matsumoto + + * eval.c (ruby_run): should set toplevel visibility again here. + + * eval.c (rb_eval): should not rely on ruby_class == rb_cObject + check. Besides allow implicit publicity for attribute set + methods. + + * parse.y (primary): need not to check class_nest, just set + whether method is an attrset or not. + +Sun Sep 22 21:49:42 2002 Nobuyoshi Nakada + + * eval.c (call_trace_func): should not call trace function while + compilation. + + * eval.c (rb_call0): also inside c-func. + + * parse.y (yycompile): ditto. + + * ruby.c (require_libraries): preserve source file/line for each + require. + +Sun Sep 22 17:08:11 2002 Tanaka Akira + + * string.c (rb_str_each_line): p might be at the top of the + string. + +Sat Sep 21 23:28:28 2002 Yukihiro Matsumoto + + * class.c (rb_make_metaclass): class of metaclass should be + metaclass of superclass, unless class itself is a metaclass; + class of metaclass of metaclass should point back to self. + eh, confusing, isn't it. + + * class.c (rb_singleton_class): check if its class is singleton + AND attached to self. + +Sat Sep 21 22:23:41 2002 Nobuyoshi Nakada + + * eval.c (rb_thread_raise): no need to save dead thread context. + [ruby-dev:18322] + +Fri Sep 20 23:02:01 2002 Nobuyoshi Nakada + + * parse.y (block_append): eliminate unused literal nodes. + + * parse.y (literal_concat): refined literal concatenation. + +Fri Sep 20 19:43:40 2002 Akinori MUSHA + + * lib/set.rb: Merge rough/lib/set.rb rev.1.5-1.15. + +Wed Sep 18 12:41:16 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): should define class/module under ruby_cbase. + + * eval.c (rb_eval): should set class/module path based on + ruby_cbase, not ruby_class. + + * eval.c (module_setup): use ruby_cbase instead of ruby_class. + +Tue Sep 17 21:06:04 2002 Nobuyoshi Nakada + + * eval.c (rb_thread_die): put thread dead state. + + * eval.c (rb_thread_atfork): free stack buffer at fork too. + +Tue Sep 17 01:13:31 2002 Yukihiro Matsumoto + + * eval.c (rb_mod_nesting): load wrapping module should appear in + Module#nesting list. (ruby-bugs-ja:PR#328) + + * eval.c (rb_thread_remove): free stack buffer on remove. + +Tue Sep 17 00:58:35 2002 Minero Aoki + + * io.c: add parameter prototype. + + * re.c: ditto. + +Sun Sep 15 21:14:22 2002 KONISHI Hiromasa + + * win32/win32.c (rb_w32_opendir, rb_w32_stat): Corresponds to + the unjust path containing ". + +Sun Sep 15 19:48:55 2002 WATANABE Hirofumi + + * configure.in (OUTFLAG, CPPOUTFILE): moved from lib/mkmf.rb. + check whether ${CPP} accepts the -o option. + + * win32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto. + + * bcc32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto. + + * djgpp/config.sed (OUTFLAG, CPPOUTFILE): ditto. + + * lib/mkmf.rb (OUTFLAG, CPPOUTFILE): use CONFIG. + make easy to understand log. + + * mkconfig.rb (val): should not strip. + +Sat Sep 14 20:13:42 2002 KONISHI Hiromasa + + * error.c(rb_sys_fail): remove case EPIPE on bcc32 . + +Fri Sep 13 23:39:49 2002 Nobuyoshi Nakada + + * dir.c (glob_func_caller): add prototype to get rid of warning. + +Fri Sep 13 18:35:12 2002 Nobuyoshi Nakada + + * eval.c (rb_eval): avoid uninitialized global/class variable + warnings at `||='. [ruby-dev:18278] + + * parse.y (stmt, arg): ditto + +Fri Sep 13 13:28:04 2002 WATANABE Hirofumi + + * lib/mkmf.rb ($INSTALLFILES): avoid warning when $VERBOSE mode. + +Thu Sep 12 23:20:10 2002 KONISHI Hiromasa + + * bcc32/setup.mak : Control of a message. + + * bcc32/makefile.sub : include resource. + +Thu Sep 12 18:10:03 2002 Nobuyoshi Nakada + + * dir.c (glob_helper): fixed freeing buffer. (ruby-bugs-ja:PR#332) + + * dir.c (glob_helper): should pass matched path. (ruby-bugs-ja:PR#333) + +Thu Sep 12 00:09:32 2002 Nobuyoshi Nakada + + * eval.c (rb_trap_eval): preserve thread status and so on. + [ruby-talk:40337], [ruby-core:00019] + +Wed Sep 11 21:25:52 2002 Tanaka Akira + + * pp.rb (ARGF.pretty_print): implemented. + (PP.pp): arguments reordered. + +Wed Sep 11 18:55:38 2002 Nobuyoshi Nakada + + * eval.c (proc_to_s): refined format. [ruby-dev:18215] + +Wed Sep 11 17:47:17 2002 NAKAMURA Usaku + + * win32/win32.c, win32/win32.h (rb_w32_getpid): negate pid under Win9x. + [ruby-dev:18262] + +Wed Sep 11 12:58:57 2002 Akinori MUSHA + + * string.c (get_pat): Add an extra argument "quote". + + * string.c (rb_str_match_m): Do not bother to convert if a regexp + is given. + +Wed Sep 11 11:33:40 2002 NAKAMURA Usaku + + * bcc32/Makefile.sub: remove unnecessary `.dll' from filename of + dll's resource file. + + * cygwin/GNUmakefile.in: ditto. [ruby-dev:17103] + + * win32/Makefile.sub: ditto. [ruby-dev:17103] + + * win32/resource.rb: ditto. [ruby-dev:17103] + +Wed Sep 11 09:59:46 2002 Nobuyoshi Nakada + + * io.c (rb_io_wait_readable): added. + + * io.c (rb_io_wait_writable): added. + + * io.c (io_read_retryable): added. + + * io.c (io_write): retry on EINTR, ERESTART and EWOULDBLOCK. + [ruby-dev:17855], [ruby-dev:17878], [ruby-core:00444] + + * io.c (rb_io_fread): ditto. + + * io.c (read_all): ditto. + + * io.c (appendline): ditto. + + * io.c (rb_io_each_byte): ditto. + + * io.c (rb_io_getc): ditto. + +Wed Sep 11 09:29:24 2002 NAKAMURA Usaku + + * win32/Makefile.sub (ext): make directory `ext' on compile dir. + [ruby-dev:18255] + +Wed Sep 11 00:41:10 2002 Nobuyoshi Nakada + + * eval.c (rb_mod_define_method): initialize orig_func too. + (ruby-bugs-ja:PR#330) + +Wed Sep 11 00:01:32 2002 Yukihiro Matsumoto + + * dir.c (glob_helper): prevent memory leak using rb_protect(). + + * string.c (rb_str_associate): no need to check freeze flag. + + * string.c (rb_str_resize): should honor STR_ASSOC flag on + resize. + + * string.c (rb_str_resize): proper STR_ASSOC handling. pointed + out by Michal Rokos. + + * string.c (rb_str_buf_cat): ditto. + + * string.c (rb_str_cat): ditto. + + * string.c (rb_str_buf_append): ditto. + + * string.c (rb_str_append): ditto. + +Tue Sep 10 23:35:46 2002 Nobuyoshi Nakada + + * parse.y (nextc): restore line number after here documents. + (ruby-bugs-ja:PR#331) + + * parse.y (heredoc_restore): ditto. + +Tue Sep 10 18:26:52 2002 WATANABE Hirofumi + + * ext/extmk.rb, lib/mkmf.rb ($INCFLAGS): new var for -I$(topdir). + + * lib/mkmf.rb: add #define WIN32_LEAN_AND_MEAN to improve compile + times. + +Tue Sep 10 17:16:14 2002 NAKAMURA Usaku + + * win32/Makefile.sub (miniruby): shouldn't link $(EXTOBJS). + [ruby-dev:17059] + + * win32/Makefile.sub ($(LIBRUBY_A), $(LIBRUBY)): avoid lib.exe's + warning. [ruby-dev:17059] + + * win32/Makefile.sub: remove unnecessary rules. [ruby-dev:17059] + + * win32/configure.bat, win32/setup.mak, win32/README.win32: enable to + pass some arguments to configure. [ruby-dev:17059] + +Mon Sep 9 23:43:33 2002 WATANABE Hirofumi + + * win32/win32.h (S_I?USR): define only if not mingw32. + +Mon Sep 9 11:21:04 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_set_string): reinitialize + properly. + + * ext/stringio/stringio.c (strio_become): added self-assign check + and experimental auto-conversion to StringIO. + + * ext/stringio/stringio.c (strio_reopen): added. + + +Sun Sep 8 21:29:25 2002 WATANABE Hirofumi + + * time.c (time_free): prototype; struct time_object -> void *. + avoid GCC warnings. + + * lib/mkmf.rb, ext/extmk.rb ($LINK, $CPP): move to lib/mkmf.rb. + +Sun Sep 8 19:02:28 2002 NAKAMURA Usaku + + * time.c: prototype; time_free() to avoid VC++ warnings. + + * ext/tcltklib/tcltklib.c: prototype; invoke_queue_handler() to avoid + VC++ warning. + + * win32/win32.c (rb_w32_stat): remove S_IWGRP and S_IWOTH bits from + st_mode. + + * win32/win32.h (S_I*): define if not defined. + +Sun Sep 8 14:38:31 2002 WATANABE Hirofumi + + * configure.in: modify program_prefix only if specified + --program-prefix. + + * configure.in: don't generate ext/extmk.rb. + + * Makefile.in: execute directly $(srcdir)/ext/extmk.rb. + remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb. + + * {win32,bccwin32}/Makefile.sub: ditto. + + * instruby.rb: ditto. + + * ext/extmk.rb: renamed from ext/extmk.rb.in. + + * lib/mkmf.rb (module Logging): create log files (mkmf.log) + in each extension module directories. + + * ext/extmk.rb: ditto. + + * lib/mkmf.rb (macro_defined?): new method. + + * ext/.cvsignore: remove extmk.rb. + + * ext/*/.cvsignore: add "*.def". + + * lib/mkmf.rb (have_struct_member): moved from ext/socket/extconf.rb. + + * ext/socket/extconf.rb: use macro_defined? instead of egrep_cpp. + + * ext/etc/extconf.rb: use have_struct_member. + + * ext/etc/etc.c: add prefix HAVE_ST_ to PW_ macros. + +Sun Sep 8 14:36:40 2002 KONISHI Hiromasa + + * bcc32/configure.bat : Control of a message. + * bcc32/makefile.sub : @(sitearch) typo. + * ext/extmk.rb.in : [bccwin32] libdir is added to a library path. + * lib/mkmf.rb : ditto. + +Sat Sep 7 23:32:56 2002 Nobuyoshi Nakada + + * misc/inf-ruby.el (inferior-ruby-error-regexp-alist): regexp + alist for error message from ruby. + + * misc/inf-ruby.el (inferior-ruby-mode): fixed for Emacs. + + * misc/inf-ruby.el (ruby-send-region): compilation-parse-errors + doesn't parse first line, so insert separators before each + evaluations. + +Sat Sep 7 19:46:57 2002 Akinori MUSHA + + * lib/set.rb: Disallow Set.new(false). Add even more tests. + [Submitted by: "Christoph" ] + +Sat Sep 7 19:23:56 2002 Akinori MUSHA + + * lib/set.rb: Fix a bug in flatten()'s recursive set detection. + [Submitted by: "Christoph" ] Some tests + against the bug are added. + + * lib/set.rb: Resurrect the test suite by putting it after + __END__ and executing `eval DATA.read'. + +Sat Sep 7 08:41:39 2002 Minero Aoki + + * parse.y (rb_gc_mark_parser): ruby_eval_tree is marked in eval.c. + +Fri Sep 6 20:01:38 2002 Nobuyoshi Nakada + + * lib/mkmf.rb ($CC): command to compile C source. + + * lib/mkmf.rb (logging): added. + + * lib/mkmf.rb (try_compile): added. + + * lib/mkmf.rb (egrep_cpp): use internal grep when pattern is + Regexp, otherwise use external egrep command but get rid of + pipe of command.com. + + * lib/mkmf.rb (have_func): local variable should be volatile not + to be eliminated by optimization. + + * lib/mkmf.rb (create_makefile): link with CONFIG["LIBS"]. + + * lib/mkmf.rb (create_makefile): emit .SUFFIXES:. + +Fri Sep 6 12:11:22 2002 Minero Aoki + + * parse.y (rb_gc_mark_parser): should mark ALL global variables + defined in parse.y. + +Fri Sep 6 01:15:23 2002 Yukihiro Matsumoto + + * gc.c (ruby_xmalloc): remove MALLOC_LIMIT to avoid frequent + garbage collection. + +Fri Sep 6 11:47:37 2002 Minero Aoki + + * parse.y (rb_gc_mark_parser): should mark global variables + defined in parse.y. + +Fri Sep 6 10:34:32 2002 Minero Aoki + + * io.c (rb_io_puts): RSTRING(line)->ptr might be NULL. + +Fri Sep 6 10:26:37 2002 Minero Aoki + + * parse.y: should not put non-NODE-VALUEs in the semantic stack. + +Fri Sep 6 05:48:26 2002 Nobuyoshi Nakada + + * file.c (rb_path_check): nothing to check under DOSISH. + [ruby-list:35772] + +Fri Sep 6 05:03:50 2002 Minero Aoki + + * gc.c (rb_gc): should mark parser. + + * parse.y (rb_gc_mark_parser): new function. + + * intern.h (rb_gc_mark_parser): added. + +Thu Sep 5 18:32:32 2002 Yukihiro Matsumoto + + * variable.c (rb_path2class): should not use rb_eval_string(). + +Thu Sep 5 17:18:22 2002 Michal Rokos + + * dln.c: fix memory leak in dln_load (ruby-core:405) and + in load_1 (ruby-core:407) + +Thu Sep 5 15:43:54 2002 Yukihiro Matsumoto + + * marshal.c (w_extended): should allow marshaling of object which + is extended by named module. + + * class.c (rb_make_metaclass): super may be T_ICLASS, need to skip. + +Thu Sep 5 13:09:22 2002 Nobuyoshi Nakada + + * eval.c (rb_eval): overriding false constant with class/module + definition should be error. (PR#327) + +Thu Sep 5 01:24:26 2002 WATANABE Hirofumi + + * extmk.rb (create_makefile): add macro MAKEDIRS, INSTALL_PROG, + INSTALL_DATA. + + * extmk.rb (create_makefile): support for building to any directory. + + * extmk.rb (xsystem): move to mkmf.rb. + + * mkmf.rb (xsystem): support for extmk.rb + + * mkmf.rb ($CPP): remove '-E' option. add CPPFLAGS. + +Wed Sep 4 16:15:17 2002 Akinori MUSHA + + * lib/set.rb: ==(o) should be aware of all the Set variant + instances, not just those of its subclasses. [Submitted by: + "Christoph" ] + + * lib/set.rb: - Fix eql?(). [ditto] + +Wed Sep 4 15:23:23 2002 Yukihiro Matsumoto + + * class.c (rb_make_metaclass): obj.meta.super.meta should be equal + to obj.meta.meta.super (ruby-bugs-ja:PR#324). + +Wed Sep 4 05:10:16 2002 Koji Arai + + * parse.y (yylex): the warning message "invalid + character syntax" was never issued (ruby-bugs-ja:PR#323). + +Wed Sep 4 01:08:45 2002 Yukihiro Matsumoto + + * marshal.c (r_bytes): do not use alloca (ruby-bugs:PR#382). + +Tue Sep 3 17:12:59 2002 WATANABE Hirofumi + + * extmk.rb: require mkmf.rb. remove duplicate methods. + use Config::CONFIG["FOO"] instead of @FOO@. + + * mkmf.rb: support for extmk.rb. + +Mon Sep 2 23:01:50 2002 Nobuyoshi Nakada + + * re.c (rb_reg_search): MatchData must be rb_cMatch. + (ruby-bugs-ja:PR#319) + +Mon Sep 2 21:21:46 2002 Minero Aoki + + * gc.c (gc_sweep): does reclaim nodes in also compile time, if we + can. + + * ruby.c (load_file): omit GC if we can. + + * parse.y (ruby_parser_stack_on_heap): new function. + + * intern.h (ruby_parser_stack_on_heap): added. + +Mon Sep 2 18:45:07 2002 Yukihiro Matsumoto + + * variable.c (rb_copy_generic_ivar): remove old generic instance + variable table if it exists. + +Sun Sep 1 15:54:33 2002 WATANABE Hirofumi + + * config.guess: fixed for Linux/PPC. + +Sat Aug 31 09:38:12 2002 Yukihiro Matsumoto + + * class.c (rb_make_metaclass): metaclass of a metaclass is a + metaclass itself. + +Fri Aug 30 22:45:16 2002 Akinori MUSHA + + * lib/set.rb: Added. + +Fri Aug 30 20:58:54 2002 KONISHI Hiromasa + + * ext/Win32API/Win32API.c (Win32API_Call): typo. + +Fri Aug 30 19:45:52 2002 Nobuyoshi Nakada + + * variable.c (rb_const_assign): st_delete() takes pointer to key. + +Fri Aug 30 19:40:28 2002 Nobuyoshi Nakada + + * ext/Win32API/Win32API.c (Win32API_Call): RSTRING()->ptr may be + NULL. + + * ext/nkf/nkf.c (rb_nkf_guess): ditto. + + * ext/readline/readline.c (readline_s_set_completion_append_character): + ditto. + + * ext/socket/socket.c (sock_s_getaddrinfo, sock_s_getnameinfo): + ditto. + + * ext/tcltklib/tcltklib.c (ip_toUTF8, ip_fromUTF8): ditto. + +Fri Aug 30 01:32:17 2002 Yukihiro Matsumoto + + * class.c (rb_singleton_class): superclass of a metaclass + should be a metaclass of superclass. + + * range.c (range_eq): two instances must belong to a same class to + be equal. + + * range.c (range_eql): ditto. + + * io.c (rb_io_taint_check): frozen check added. + + * file.c (rb_stat_become): frozen check added. + + * object.c (rb_obj_become): ditto. + + * re.c (rb_reg_become): ditto. + + * struct.c (rb_struct_become): ditto. + + * time.c (time_become): ditto. + + * array.c (rb_ary_become): should call rb_ary_modify(). + + * hash.c (rb_hash_become): should call rb_hash_modify(). + + * compar.c (cmp_equal): should not use NUM2LONG(), since <=> may + return bignum. + + * compar.c (cmp_gt, cmp_ge, cmp_lt, cmp_le, cmp_between): ditto. + +Thu Aug 29 23:34:42 2002 KONISHI Hiromasa + + * bcc32/MakeFile.sub (sitearch): add. + +Thu Aug 29 13:36:42 2002 WATANABE Hirofumi + + * io.c (read_all): should use off_t instead of long. + +Thu Aug 29 00:55:55 2002 Nobuyoshi Nakada + + * marshal.c (r_object): yield loaded objects, not intermediates. + (ruby-bugs-ja:PR#296) + +Thu Aug 29 00:06:54 2002 Yukihiro Matsumoto + + * array.c (rb_ary_become): should not free ptr if it's shared. + + * eval.c (rb_alias): prohibit making an alias named "allocate" if + klass is a metaclass. + +Wed Aug 28 23:59:15 2002 Michal Rokos + + * signal.c: remove #ifdef SIGINT for struct signals. + + * variable.c: get rid of fix length buffer in rb_class_path. + +Wed Aug 28 23:34:32 2002 Nobuyoshi Nakada + + * io.c (appendline): data was lost when raw mode. + +Wed Aug 28 22:57:34 2002 Yukihiro Matsumoto + + * string.c (rb_string_value_ptr): StringValuePtr() should never + return NULL pointer. + +Wed Aug 28 19:12:46 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_initialize): RSTRING(mode)->ptr + can be NULL. + + * ext/stringio/stringio.c (strio_ungetc): fix buffer overflow. + +Wed Aug 28 18:19:55 2002 Michal Rokos + + * file.c: fix memory leak in rb_stat_init. + +Wed Aug 28 17:45:03 2002 Nobuyoshi Nakada + + * win32/win32.c (kill): negate pid under Win9x. + +Wed Aug 28 16:36:40 2002 WATANABE Hirofumi + + * configure.in (ar): don't check ar twice. + +Wed Aug 28 15:00:29 2002 Yukihiro Matsumoto + + * string.c (rb_str_delete_bang): should check if str->ptr is 0. + + * string.c (rb_str_squeeze_bang): ditto. + + * string.c (rb_str_count): ditto. + + * string.c (rb_str_lstrip_bang): ditto. + + * string.c (rb_str_rstrip_bang): ditto. + + * string.c (rb_str_intern): ditto. + +Wed Aug 28 11:37:35 2002 NAKAMURA Usaku + + * win32/win32.h: define SIGINT and SIGKILL if not defined. + + * win32/win32.c: remove definition of SIGINT and SIGKILL. + +Tue Aug 27 19:50:27 2002 Nobuyoshi Nakada + + * ruby.c (require_libraries): prevent ruby_sourcefile from GC. + +Tue Aug 27 15:03:35 2002 Yukihiro Matsumoto + + * file.c (rb_find_file): $LOAD_PATH must not be empty. + + * file.c (rb_find_file_ext): ditto. + +Tue Aug 27 02:35:21 2002 Yukihiro Matsumoto + + * range.c (range_eq): class check should be based on range.class, + instead of Range to work with Range.dup. + + * range.c (range_eql): ditto. + +Mon Aug 26 18:17:56 2002 Yukihiro Matsumoto + + * class.c (rb_mod_dup): need to preserve metaclass and flags. + +Mon Aug 26 10:44:18 2002 Tanaka Akira + + * object.c (rb_cstr_to_dbl): had a buffer overrun. + +Sun Aug 25 20:10:32 2002 Wakou Aoyama + + * lib/cgi.rb (CGI#form): fix ruby-bugs-ja:PR#280, add default action. + +Sat Aug 24 15:32:16 2002 Nobuyoshi Nakada + + * eval.c (call_trace_func): restore source file/line, as trace + function installed in required library with -r option can be + called while parsing. (ruby-bugs:PR#372) + + * eval.c (module_setup): unused variable. [ruby-core:00358] + +Sat Aug 24 14:59:02 2002 Yukihiro Matsumoto + + * marshal.c (w_class): integrate singleton check into a function + to follow DRY principle. + + * marshal.c (w_uclass): should check singleton method. + + * object.c (rb_obj_dup): dmark and dfree functions must be match + for T_DATA type. + + * object.c (rb_obj_dup): class of the duped object must be match + to the class of the original. + +Sat Aug 24 13:57:28 2002 Tanaka Akira + + * lib/time.rb (Time.rfc2822, Time#rfc2822): preserve localtimeness. + + * lib/pp.rb: pretty_print_cycled is renamed to pretty_print_cycle. + +Fri Aug 23 23:59:57 2002 Nobuyoshi Nakada + + * eval.c (method_call): check receiver is defined. + + * eval.c (umethod_call): removed. + +Fri Aug 23 23:39:17 2002 Yukihiro Matsumoto + + * re.c (rb_reg_quote): do not escape \t, \f, \r, \n, for they are + not regular expression metacharacters. + + * time.c (time_s_alloc): use time_free instead of free (null check, + also serves for type mark). + + * time.c (time_s_at): check dfree function too. + +Fri Aug 23 17:06:48 2002 WATANABE Hirofumi + + * configure.in: RUBY_SO_NAME is msvcrt-rubyXX on mswin32/mingw32. + + * configure.in (sitearch): new var. + + * mkconfig.rb, lib/mkmf.rb (sitearch): ditto. + + * win32/Makefile.sub, win32/setup.mak (sitearch): ditto. + + * instruby.rb: ditto. + +Wed Aug 21 16:53:00 2002 Michal Rokos + + * *.c: int, long types cleanup. + + * parse.y: ditto. + + * re.h, regex.h, ruby.h: ditto. + +Wed Aug 21 16:43:19 2002 Yukihiro Matsumoto + + * eval.c (rb_thread_cleanup): should not modify the global + variable curr_thread. + +Wed Aug 21 16:14:26 2002 WATANABE Hirofumi + + * configure.in: set ac_cv_func__setjmp to "no" on Cygwin. + + * configure.in: set ac_cv_func_crypt to "no" on MinGW. + +Tue Aug 20 21:47 2002 KONISHI Hiromasa + + * io.c (rb_io_fread): remove case EPIPE on bcc32 . + + * win32/win32.c (rb_w32_getc): clear EPIPE error on bcc32. + +Tue Aug 20 19:39:03 2002 WATANABE Hirofumi + + * file.c (rb_file_s_expand_path): accept drive letter on Cygwin. + + * file.c (is_absolute_path): ditto. + +Tue Aug 20 12:12:25 2002 Tietew + + * io.c (rb_io_putc): output via rb_io_write(). + +Mon Aug 19 19:01:55 2002 Nobuyoshi Nakada + + * 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. + +Mon Aug 19 17:08:19 2002 Yukihiro Matsumoto + + * re.c (rb_reg_initialize_m): frozen check should be moved here + from rb_reg_initialize(). + +Mon Aug 19 15:38:44 2002 Yukihiro Matsumoto + + * array.c (sort_2): comparison should be done as signed long. + + * array.c (sort_2): should return int, not VALUE. + +Mon Aug 19 12:38:33 2002 Nobuyoshi Nakada + + * 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_list, win32_set_exception_list): + added. + +Sat Aug 17 23:01:25 2002 Yukihiro Matsumoto + + * array.c (sort_2): *a - *b may overflow. + +Sat Aug 17 00:25:08 2002 Yukihiro Matsumoto + + * array.c (ary_new): len*sizeof(VALUE) may be a positive value. + + * array.c (rb_ary_initialize): ditto. + +Fri Aug 16 15:58:16 2002 WATANABE Hirofumi + + * io.c (NOFILE): define NOFILE as 64 if not defined. + + * signal.c (sighandler_t): rename to sh_t on dietlibc. + +Fri Aug 16 15:37:04 2002 Nobuyoshi Nakada + + * bignum.c (rb_cstr_to_inum): new decimal and octal string. + +Fri Aug 16 13:17:11 2002 Yukihiro Matsumoto + + * object.c (rb_class_allocate_instance): move singleton class + check from rb_obj_alloc(). + +Fri Aug 16 11:47:24 2002 Nobuyoshi Nakada + + * 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. + +Fri Aug 16 07:57:26 2002 Nobuyoshi Nakada + + * eval.c (compile_error): must not clear ruby_sourcefile here. + (ruby-bugs:PR#364). + + * eval.c (rb_longjmp): set ruby_sourcefile before making + backtrace. + +Thu Aug 15 20:38:58 2002 Nobuyoshi Nakada + + * 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. + +Thu Aug 15 00:48:46 2002 Yukihiro Matsumoto + + * re.c (rb_reg_initialize): should not modify frozen Regexp. + +Tue Aug 13 18:33:18 2002 Yukihiro Matsumoto + + * ext/tcltklib/tcltklib.c (ip_init): allocation framework. + +Tue Aug 13 15:32:14 2002 Yukihiro Matsumoto + + * 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] + +Tue Aug 13 00:37:11 2002 Yukihiro Matsumoto + + * array.c (rb_ary_aref): no need for Bignum check. + + * array.c (rb_ary_aset): explicit Bignum check removed. + + * 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. + +Mon Aug 12 23:45:28 2002 Yukihiro Matsumoto + + * ext/extmk.rb.in: extmake() that works properly for both tkutil + (tk/tkutil.so) and digest/sha1. + +Mon Aug 12 22:29:35 2002 Akinori MUSHA + + * ruby.c (set_arg0): Correct the position of #endif. + +Mon Aug 12 17:25:06 2002 Yukihiro Matsumoto + + * hash.c (rb_hash_equal): should check HASH_PROC_DEFAULT too. + +Mon Aug 12 16:15:37 2002 Nobuyoshi Nakada + + * bignum.c (rb_big_cmp): raise for NaN. (ruby-bugs-ja:PR#284). + +Sun Aug 11 09:34:07 2002 Nobuyoshi Nakada + + * 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. + +Sat Aug 10 23:47:16 2002 Yukihiro Matsumoto + + * 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. + +Fri Aug 9 13:31:40 2002 WATANABE Hirofumi + + * ext/Win32API/extconf.rb: check existence of . + +Thu Aug 8 09:37:02 2002 Nobuyoshi Nakada + + * lib/optparse.rb (NilClass): must provide conversion block. + + * lib/optparse.rb (String): ditto. + +Thu Aug 8 00:45:15 2002 Yukihiro Matsumoto + + * 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. + +Wed Aug 7 22:12:54 2002 Nobuyoshi Nakada + + * lib/optparse.rb (OptionParser::Completion::convert): returned + all values not first one. + + * lib/optparse.rb (OptionParser::Switch::parse): return values as + is. + + * lib/optparse.rb (OptionParser::order): ditto. + + * lib/optparse/time.rb: prior time.rb. + + * lib/optparse/uri.rb: require standard uri module. thanks to + Minero Aoki. + +Wed Aug 7 09:51:54 2002 Yukihiro Matsumoto + + * hash.c (rb_hash_equal): should check default values. + +Wed Aug 7 08:44:32 2002 Minero Aoki + + * ext/racc/cparse/cparse.c: reduce goto. + +Tue Aug 6 15:19:39 2002 NAKAMURA Usaku + + * string.c (rb_str_rindex): must return -1 if unmatched. + +Mon Aug 5 22:41:18 2002 Minero Aoki + + * MANIFEST: add lib/racc/parser.rb. + + * ext/racc/cparse/cparse.c: code refine. + + * ext/racc/cparse/MANIFEST: add depend. + +Sun Aug 4 22:30:50 2002 Nobuyoshi Nakada + + * ext/curses/curses.c: follow allocation framework. + +Sat Aug 3 21:23:56 2002 Nobuyoshi Nakada + + * eval.c (rb_eval): set constant in cbase scope. + + * eval.c (assign): ditto. + +Fri Aug 2 09:12:32 2002 Minero Aoki + + * ext/strscan/strscan.c: follow allocation framework. + +Fri Aug 2 01:21:52 2002 Yukihiro Matsumoto + + * ext/socket/socket.c (s_recvfrom): update RSTRING len. + +Thu Aug 1 17:47:15 2002 Tachino Nobuhiro + + * parse.y (tokadd_string): ignore backslashed spaces in %w. + +Thu Aug 1 14:14:15 2002 Yukihiro Matsumoto + + * enum.c (enum_find): do not use rb_eval_cmd(); should not accept + a string for if_none. + +Wed Jul 31 14:11:43 2002 Yukihiro Matsumoto + + * eval.c (rb_undef): undef should be done for klass, not ruby_class. + +Tue Jul 30 19:48:51 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-accurate-end-of-block): restrict search + region. + + * misc/ruby-mode.el (ruby-parse-partial): reversed wrong patch. + +Tue Jul 30 17:21:13 2002 Nobuyoshi Nakada + + * 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. + +Tue Jul 30 15:24:07 2002 WATANABE Hirofumi + + * 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(). + +Tue Jul 30 09:11:07 2002 Minero Aoki + + * eval.c (rb_thread_join_m): add parameter type declaration. + +Tue Jul 30 08:37:11 2002 Minero Aoki + + * eval.c (localjump_error): add parameter type declaration. + +Mon Jul 29 16:00:54 2002 WATANABE Hirofumi + + * ext/extmk.rb.in: always use File.expand_path for $top_srcdir. + +Sat Jul 27 23:07:52 2002 Yukihiro Matsumoto + + * numeric.c (num_to_int): default to_int implementation for every + numeric class. + +Sat Jul 27 08:09:03 2002 Booker C. Bense + + * re.c (rb_reg_quote): initial part of the string was never copied + to the quoted string. + +Fri Jul 26 23:03:53 2002 Nobuyoshi Nakada + + * eval.c (rb_eval): no need to convert to string twice. + +Fri Jul 26 18:32:37 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-expr-beg): wrong indent at modifiers + after ?. + +Fri Jul 26 16:01:16 2002 WATANABE Hirofumi + + * ext/extmk.rb.in (create_makefile): use Regexp in gsub. + + * sample/mkproto.rb: ditto and fix bug. + +Fri Jul 26 14:31:06 2002 Yukihiro Matsumoto + + * random.c: replace with Mersenne Twister RNG. + +Fri Jul 26 12:14:48 2002 Minero Aoki + + * parse.y (yylex): modify to accept a code like "m (a){...}". + +Thu Jul 25 09:05:02 2002 Nobuyoshi Nakada + + * 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. + +Wed Jul 24 09:47:42 2002 Yukihiro Matsumoto + + * 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. + +Mon Jul 22 17:23:00 2002 Yukihiro Matsumoto + + * eval.c (error_handle): should handle TAG_THROW as well. + +Fri Jul 19 10:52:32 2002 Yukihiro Matsumoto + + * parse.y (yylex): new decimal notation '0d4567'. + +Thu Jul 18 11:52:02 2002 Shugo Maeda + + * lib/net/ftp.rb (set_socket): new method. + +Thu Jul 18 06:51:24 2002 Minero Aoki + + * parse.y (yylex): fix typo. + +Wed Jul 17 18:41:28 2002 Yukihiro Matsumoto + + * parse.y (yylex): new octal notation '0o777'. + +Mon Jul 15 18:36:42 2002 Yukihiro Matsumoto + + * parse.y (string_content): every string_content node should + return string only. use NODE_EVSTR to coercing. + + * eval.c (rb_eval): NODE_EVSTR support. + +Mon Jul 15 10:35:35 2002 Minero Aoki + + * parse.y (heredoc_identifier): fix typo. + +Sat Jul 13 09:30:04 2002 Nobuyoshi Nakada + + * parse.y (literal_concat_string): wrong optimization. + +Sat Jul 13 01:25:38 2002 Nobuyoshi Nakada + + * lib/resolv.rb (Resolv::DNS::open, close): new. + + * lib/optparse.rb, lib/optparse: import. + +Fri Jul 12 06:34:05 2002 Minero Aoki + + * lib/net/http.rb: rename HTTP.get_uri get_response. + + * lib/net/http.rb: HTTP.get_print accepts URI objects. + + * lib/net/http.rb: HTTP.get had not work with URI objects. + +Fri Jul 12 02:15:58 2002 Nobuyoshi Nakada + + * string.c (rb_str_match): fix for string match. + +Fri Jul 12 00:02:50 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_gets_internal): fixed for record + separator longer than 1. + +Thu Jul 11 17:59:20 2002 Yukihiro Matsumoto + + * re.c (rb_reg_quote): avoid unnecessary string allocation. + + * string.c (get_pat): quote metacharacters 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. + +Thu Jul 11 12:59:23 2002 Shugo Maeda + + * lib/resolv.rb: untaint strings read from /etc/hosts and + /etc/resolv.conf to prevent SecurityError when $SAFE==1. + +Thu Jul 11 09:00:43 2002 Yukihiro Matsumoto + + * string.c (rb_str_slice_bang): if there's no corresponding + substring, slice! should return nil without exception. + +Tue Jul 9 20:03:55 2002 Keiju Ishitsuka + + * irb 0.9 + +Sat Jul 6 07:35:02 2002 Jamie Herre + + * array.c (rb_ary_insert): type fixed. + +Fri Jul 5 09:17:00 2002 Yukihiro Matsumoto + + * string.c (rb_str_split_m): accept separator value nil as well. + +Fri Jul 5 08:59:15 2002 Michal Rokos + + * enum.c: Fix bug in enum_sort_by and some code indents + +Fri Jul 5 05:00:40 2002 Wakou Aoyama + + * lib/cgi.rb (CGI#initialize): improvement for mod_ruby. + thanks to Sean Chittenden , Shugo Maeda + + +Fri Jul 5 00:10:09 2002 Yukihiro Matsumoto + + * string.c (rb_str_become): was leaking memory. + +Thu Jul 4 23:43:26 2002 Minero Aoki + + * parse.y: remove useless function str_extend_p(). + +Wed Jul 3 14:26:40 2002 Sean Chittenden + + * lib/net/ftp.rb (get): new method. + + * lib/net/ftp.rb (putt): ditto. + + * lib/net/ftp.rb (binary): ditto. + + * lib/net/ftp.rb (binary=): ditto. + +Wed Jul 3 13:57:53 2002 Sean Chittenden + + * lib/net/ftp.rb (getbinaryfile): the second argument (localfile) + is now optional. + + * lib/net/ftp.rb (gettextfile): ditto. + +Wed Jul 3 13:45:42 2002 Shugo Maeda + + * lib/net/ftp.rb: use &block and yield for speed. + +Wed Jul 3 02:32:31 2002 Wakou Aoyama + + * lib/cgi.rb (CGI#initialize): improvement for mod_ruby. + +Tue Jul 2 14:53:10 2002 Yukihiro Matsumoto + + * class.c (rb_include_module): should not alter other + classes/modules by inclusion. by this fix, local order may not + be preserved for some cases. + + * class.c (include_class_new): module may be T_ICLASS; retrieve + original module information. + +Tue Jul 2 14:13:11 2002 Wakou Aoyama + + * lib/cgi.rb (CGI#header): accept any type as value. + +Sun Jun 30 17:05:29 2002 WATANABE Hirofumi + + * configure.in (seekdir, telldir): add ac_cv_func_telldir=yes, + ac_cv_func_seekdir=yes for MinGW. + +Sat Jun 29 01:43:32 2002 NAKAMURA Usaku + + * 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. + +Fri Jun 28 23:49:34 2002 NAKAMURA Usaku + + * pack.c (pack_unpack): change names of local variables because their + names are overlapped. + +Fri Jun 28 17:54:07 2002 Tanaka Akira + + * lib/pp.rb: fix object address. + +Thu Jun 27 23:55:50 2002 NAKAMURA Usaku + + * win32/win32.c (rb_w32_stat): fix buffer overflow. (ruby-bugs:PR#329) + +Thu Jun 27 20:57:45 2002 Tanaka Akira + + * lib/prettyprint.rb, lib/pp.rb: convenience methods added. + +Thu Jun 27 15:22:18 2002 Tanaka Akira + + * lib/prettyprint.rb: re-implemented for incremental output to handle + huge data. API is changed a bit. + + * lib/pp.rb: adapt new pretty printing API. + +Thu Jun 27 08:28:18 2002 Nobuyoshi Nakada + + * parse.y (literal_concat_string): non-string last expression in + #{} was ignored when followed by literal. + +Thu Jun 27 03:42:04 2002 Yukihiro Matsumoto + + * re.c (rb_reg_expr_str): need to process backslashes properly. + +Wed Jun 26 17:33:38 2002 Yukihiro Matsumoto + + * object.c (rb_any_to_a): declare Object#to_a to be obsolete. + + * object.c (rb_Array): do not convert nil into [] automagically. + +Wed Jun 26 15:40:00 2002 Nobuyoshi Nakada + + * parse.y (words, qwords): word list literal rules. + + * parse.y (parse_string): ditto. + + * parse.y (yylex): %W: word list literal with interpolation. [new] + +Tue Jun 25 18:53:34 2002 Nobuyoshi Nakada + + * parse.y (string1, xstring, regexp): moved lex_strnest + initialization to string_contents/xstring_contents. + +Tue Jun 25 19:24:38 2002 KONISHI Hiromasa + + * dln.c: remove definition rb_loaderror(). + +Tue Jun 25 00:34:54 2002 Yukihiro Matsumoto + + * object.c (rb_Integer): use "to_int" instead of + "to_i". [experimental] + + * object.c (nil_to_f): new method. + + * object.c (rb_Integer): Symbols and nil should cause error. + + * object.c (rb_Float): nil should cause error. + +Tue Jun 25 00:21:00 2002 KONISHI Hiromasa + + * dln.c: remark definition rb_loaderror(). + +Tue Jun 25 00:14:07 2002 Nobuyoshi Nakada + + * parse.y (string_dvar): allow back references in interpolation. + +Mon Jun 24 16:32:31 2002 Nobuyoshi Nakada + + * 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/concatenate string literals. + + * sample/test.rb (valid_syntax): adjust line number for BEGIN. + + * lib/mkmf.rb (create_makefile): get rid of nested string. + + * lib/mkmf.rb (install_rb): site-install didn't work properly. + +Sun Jun 23 00:19:10 2002 Tadayoshi Funaba + + * lib/date.rb, lib/date/format.rb, sample/cal.rb, sample/goodfriday.rb: + updated to the new version (based on date2 3.3). + +Sat Jun 22 14:41:33 2002 Guy Decoux + + * ext/socket/socket.c (sock_addrinfo): make all 3 versions of + getaddrinfo happy. [ruby-core:00184] + +Fri Jun 21 18:49:58 2002 Yukihiro Matsumoto + + * parse.y (yylex): __END__ should not be effective within + string literals. + +Thu Jun 20 21:09:37 2002 Nobuyoshi Nakada + + * ext/readline/readline.c (readline_readline): get rid of + libreadline's bug. (ruby-bugs-ja:PR#268) + +Thu Jun 20 17:10:27 2002 WATANABE Hirofumi + + * lib/ftool.rb (BUFSIZE): tuning, set buffer length to 8192. + + * configure.in (__NO_ISOCEXT): add for mingw-runtime 2.0-2. + + * configure.in (__MSVCRT__): removed because it is defined + in the GCC specs. + +Wed Jun 19 14:46:18 2002 WATANABE Hirofumi + + * ext/extmk.rb, lib/mkmf.rb (xsystem): open the log file if xsystem + is called. + +Wed Jun 19 01:01:13 2002 Yukihiro Matsumoto + + * parse.y (here_document): should be aware of __END__ within here + documents. + +Wed Jun 19 00:50:50 2002 Nobuyoshi Nakada + + * parse.y (yylex): ? followed by successive word characters is + ternary operator not numeric literal. + + * parse.y (yylex): commands after break/next/rescue can take + arguments. (ruby-bugs-ja:PR#265) + +Tue Jun 18 19:20:16 2002 NAKAMURA Usaku + + * win32/mkexports.rb: remove unnecessary exports. (ruby-dev:17418) + +Tue Jun 18 12:50:17 2002 Nobuyoshi Nakada + + * 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. + +Mon Jun 17 11:11:34 2002 Kazuhiro NISHIYAMA + + * string.c (rb_str_crypt): result need not be tainted always. + +Mon Jun 17 10:51:37 2002 Nobuyoshi Nakada + + * dln.c (dln_load): need to preserve dln_strerror() result, + calling other dl family can clear it. + +Sat Jun 15 22:56:37 2002 Yukihiro Matsumoto + + * parse.y (yylex): obsolete '?'; use '?\s', '?\n', + etc, instead. + +Sat Jun 15 18:51:13 2002 Akinori MUSHA + + * dir.c (glob_helper): Use lstat() instead of stat() so it catches + a dead symlink. Given a dead symlink named "a", Dir.glob("?") + did catch it but Dir.glob("a") somehow didn't. + +Sat Jun 15 01:59:05 2002 Yukihiro Matsumoto + + * parse.y (yylex): no here document after a dot. + + * parse.y (yylex): should have set lex_state after '`'. + + * parse.y (yylex): should have set lex_state properly after + tOP_ASGN. + +Fri Jun 14 21:01:48 2002 KONISHI Hiromasa + + * bcc32/mkexports.rb: insert sleep(1) for win9x. + + * bcc32/configure.bat: change return code LF -> CRLF for win9x. + + * win32/win32.c: fix rb_w32_open_osfhandle() + +Fri Jun 14 15:22:19 2002 Nobuyoshi Nakada + + * parse.y (read_escape): deny zero-width hexadecimal character. + (ruby-bugs-ja:PR#260) + + * parse.y (tokadd_escape): ditto. + + * regex.c (re_compile_pattern): ditto. + +Fri Jun 14 00:49:54 2002 Yukihiro Matsumoto + + * bignum.c (rb_big2dbl): return canonical HUGE_VAL for infinity. + +Thu Jun 13 09:43:37 2002 Yukihiro Matsumoto + + * eval.c (svalue_to_avalue): v may be Qundef. This fix was + suggested by Guy Decoux. + +Thu Jun 13 00:33:49 2002 takuma ozawa + + * hash.c (rb_hash_s_create): use rb_hash_aset() instead of calling + st_insert() directly, to dup&freeze string keys. + +Thu Jun 13 00:12:54 2002 Yukihiro Matsumoto + + * parse.y (yylex): proper error message for "@@0". + + * parse.y (yylex): paren to parse_string() must be zero for + unparenthesized strings. + + * parse.y (str_extend): broken string when unterminated "#{". + + * enum.c (enum_sort_by): had a bug in 1 element enumeration. + +Wed Jun 12 18:04:44 2002 akira yamada + + * uri/common.rb (REGEXP::PATTERN::X_ABS_URI): 'file:/foo' is valid. + + * uri/generic.rb (Generic#xxx=): should return substituted value. + (ruby-dev:16728.) + + * test/generic.rb (test_set_component): added tests for the above + change. + +Wed Jun 12 02:38:00 2002 Nobuyoshi Nakada + + * parse.y (stmt): fix typo. + +Wed Jun 12 01:10:55 2002 Yukihiro Matsumoto + + * parse.y (yylex): 'do' should return kDO_BLOCK on EXPR_ENDARG. + + * parse.y (singleton): "def (()).a end" dumped core. + + * parse.y (range_op): node may be null. + + * parse.y (match_gen): ditto. + +Tue Jun 11 19:20:34 2002 WATANABE Hirofumi + + * configure.in (LIBRUBY): rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW. + + * configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared + is specified. + +Tue Jun 11 17:12:04 2002 Yukihiro Matsumoto + + * parse.y (arg): void value check for "..", "...", "!", and "not". + + * parse.y (match_gen): void value check for "=~". + + * parse.y (value_expr): check NODE_AND and NODE_OR recursively. + + * parse.y (cond0): void value check added for conditionals. + +Tue Jun 11 13:18:47 2002 Shugo Maeda + + * lib/net/ftp.rb (noop): new method. + + * lib/net/ftp.rb (site): ditto. + +Tue Jun 11 13:15:41 2002 NAKAMURA Usaku + + * bcc32/Makefile.sub: set PROCESSOR_LEVEL to 6 if it's too big value. + + * win32/Makefile.sub: ditto. + +Tue Jun 11 12:37:46 2002 KONISHI Hiromasa + + * bcc32/configure.bat fix. + +Tue Jun 11 10:18:23 2002 KONISHI Hiromasa + + * new platform [bccwin32] merged. + - create new folder bcc32 + - modify any files for bccwin32 + error.c, file.c, hash.c, io.c, instruby.rb, + ext/extmk.rb.in, + lib/mkmf.rb, lib/ftools.rb, + ext/digest/defs.h, + ext/dl/depend, ext/dl/dl.c, ext/dl/sym.c, ext/dl/extconf.rb, + ext/socket/extconf.rb, + ext/pty/extconf.rb, + ext/tcltklib/extconf.rb + ext/Win32API/Win32API.c, + win32/dir.h, win32/win32.c, win32/win32.h, win32/resource.rb + +Mon Jun 10 19:02:19 2002 Nobuyoshi Nakada + + * numeric.c (fix_lshift): negative shift count means right shift. + (ruby-bugs-ja:PR#248) + + * numeric.c (fix_rshift): return -1 when left side operand is + negative. (ruby-bugs-ja:PR#247) + + * parse.y (yylex): `0_' should be an error. (ruby-bugs-ja:PR#249) + +Mon Jun 10 01:53:54 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): ruby_frame->last_func may be null, if it's + called outside of a method. + + * parse.y (arg): use INT2NUM, not INT2FIX for tUMINUS. + + * parse.y (arg): unnecessary negative tPOW treatment. + + * parse.y (tokadd_escape): wrong backslash escapement. + +Sun Jun 9 17:40:41 2002 Takaaki Tateishi + + * ext/dl: change the callback mechanism. + +Sat Jun 8 00:48:38 2002 Yukihiro Matsumoto + + * parse.y (stmt,arg): too much void value check. + + * parse.y (stmt,arg): need to check void value on rules which does + not use node_assign(). + +Thu Jun 6 19:50:39 2002 KONISHI Hiromasa + + * sample/biorhythm.rb (getPosiiton,etc) + fix at changing Date module ( Date is changed Fixnum to Rational ) + +Thu Jun 6 17:42:39 2002 Yukihiro Matsumoto + + * ext/socket/socket.c (ipaddr): need not to taint hostnames. + +Thu Jun 6 12:04:30 2002 NAKAMURA Usaku + + * win32/Makefile.sub (config.status): use sub! instead of []= because + []= causes exception. + +Thu Jun 6 11:42:15 2002 Nobuyoshi Nakada + + * lib/thread.rb (Queue::pop): get rid of race condition. + +Tue Jun 4 23:09:24 2002 Yukihiro Matsumoto + + * range.c (range_include): should be based on "<=>", whereas + member? still is based on "each". + + * range.c (range_min,range_max): redefine methods based on "<=>". + +Tue Jun 4 18:28:37 2002 WATANABE Hirofumi + + * ext/socket/extconf.rb: The IPv6 stack of Cygwin is still incomplete. + + * ext/Win32API/extconf.rb: refactoring. + +Tue Jun 4 00:45:50 2002 Nobuyoshi Nakada + + * ext/socket/addrinfo.h: typo. + + * ext/socket/getaddrinfo.c (gai_strerror): make literals const. + + * ext/socket/socket.c (init_inetsock): ensures resources are + freed at exceptions. + + * ext/socket/socket.c (init_unixsock): ditto. + + * ext/socket/socket.c (udp_connect): ditto. + +Mon Jun 3 20:39:51 2002 Masaki Suketa + + * ext/win32ole/extconf.rb : change PLATFORM with RUBY_PLATFORM. + +Mon Jun 3 07:07:07 2002 Nobuyoshi Nakada + + * 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) + +Mon Jun 3 05:56:17 2002 Yukihiro Matsumoto + + * string.c (rb_str_aset): should raise error if an indexing string + is not found in the receiver. + + * sprintf.c (rb_f_sprintf): "%d" should convert objects into + integers using Integer(). + +Sat Jun 1 19:20:07 2002 Masaki Suketa + + * ext/win32ole: merge from rough. + +Fri May 31 17:11:42 2002 Yukihiro Matsumoto + + * lib/tempfile.rb (Tempfile::size): added. + +Thu May 30 12:52:42 2002 Yukihiro Matsumoto + + * range.c (range_step): iteration done using "+" if elements are + Numeric. Otherwise using "succ". + + * range.c (range_each): iteration done using "succ". If the + elements does not respond to "succ", raise TypeError. As a + result, all Enumerable methods, e.g. collect, require elements + to respond to "succ". + + * range.c (range_member): comparison done using "each", if + elements are non-Numeric or no-"succ" objects. Otherwise + compare using "<=>". + + * range.c (Init_Range): remove "size" and "length". + +Thu May 30 09:16:36 2002 Wakou Aoyama + + * lib/cgi.rb: if StringIO is usable then use it. + +Wed May 29 18:55:47 2002 KONISHI Hiromasa + + * function renames my* and win32_* to rb_w32_* in win32/win32.c + fixed files win32/win32.c, win32/win32.h, win32/dir.h, + hash.c, rubysig.h, signal.c, ext/socket/socket.c + +Wed May 29 17:32:55 2002 WATANABE Hirofumi + + * time.c (tmcmp, search_time_t): activate unless HAVE_TIMEGM. + +Wed May 29 13:45:15 2002 Wakou Aoyama + + * lib/cgi.rb: not use const if GET, HEAD. check multipart form head. + +Tue May 28 17:56:02 2002 Sean Chittenden + + * 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. + +Tue May 28 14:07:00 2002 Yukihiro Matsumoto + + * 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] + +Tue May 28 12:13:37 2002 Nobuyoshi Nakada + + * 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. + +Fri May 24 09:06:29 2002 Yukihiro Matsumoto + + * time.c (time_arg): nil test against v[6] (usec). + +Thu May 23 16:39:21 2002 Nobuyoshi Nakada + + * ruby.c (proc_options): option parsing problem. + (ruby-bugs-ja:PR#233) + +Thu May 23 09:13:56 2002 Yukihiro Matsumoto + + * 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. + +Wed May 22 21:26:47 2002 Nobuyoshi Nakada + + * ruby.c (proc_options): -T consumes digits only. + +Wed May 22 20:18:31 2002 WATANABE Hirofumi + + * configure.in: need not link vsnprintf.o on MinGW. + +Wed May 22 18:34:23 2002 Minero Aoki + + * parse.y (yylex): Here-document label ate '-'. + +Tue May 21 13:25:18 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-font-lock-keywords): symbols end with + '_'. + +Tue May 21 04:48:37 2002 Sean Chittenden + + * lib/cgi-lib.rb: Checking for constant MOD_RUBY instead of + environment variable. Remove a mod_ruby warning and use + Apache::request.headers_out[] instead. + +Tue May 21 01:16:46 2002 Nobuyoshi Nakada + + * parse.y (bodystmt): ensure clause was executed on else clause + without rescue clause. + +Tue May 21 00:20:25 2002 Takaaki Tateishi + + * ext/dl/ptr.c: rename PtrData::alloc to PtrData::malloc. + + * ext/dl/lib/dl/struct.c: rename Struct#alloc to Struct#malloc. + +Mon May 20 14:29:14 2002 Yukihiro Matsumoto + + * 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. + +Mon May 20 13:28:52 2002 Nobuyoshi Nakada + + * io.c (rb_io_clone): writing stream was not copied properly. + +Sat May 18 21:38:11 2002 Tadayoshi Funaba + + * lib/date.rb, lib/date/format.rb, lib/parsedate.rb: + updated to the new version (based on date2 3.2.1). + +Sat May 18 21:18:00 2002 NAKAMURA Usaku + + * win32/Makefile.sub (config.h): add VC++4/5 support about noreturn + directive. + +Sat May 18 02:16:41 2002 Yukihiro Matsumoto + + * pack.c (pack_pack): should propagate taintedness. + + * pack.c (pack_unpack): ditto. + +Fri May 17 16:16:19 2002 WATANABE Hirofumi + + * sample/test.rb: use eval instead of './miniruby -c', + in order to check a syntax error. + +Thu May 16 14:46:34 2002 Nobuyoshi Nakada + + * eval.c (rb_thread_select): cleanup conditional compilation. + +Wed May 15 06:13:35 2002 Yukihiro Matsumoto + + * 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. + +Tue May 14 18:17:44 2002 Nobuyoshi Nakada + + * win32/Makefile.sub: config.h inlined. and catch up with the + latest change. + + * win32/config.h.in: no longer used. + +Tue May 14 14:49:05 2002 WATANABE Hirofumi + + * gc.c (is_pointer_to_heap): avoid GCC 3.1 warnings. + + * missing/strftime.c (timezone): it should take no argument on Cygwin. + +Tue May 14 03:07:35 2002 Yukihiro Matsumoto + + * eval.c (rb_clear_cache_by_class): new function. + + * eval.c (set_method_visibility): should have clear cache for + updated visibility. + +Mon May 13 14:38:33 2002 WATANABE Hirofumi + + * djgpp/config.hin, djgpp/config.sed: catch up with the latest change. + +Mon May 13 01:59:55 2002 Yukihiro Matsumoto + + * numeric.c (flo_to_s): default format precision to be "%.16g". + + * util.c (ruby_strtod): use own strtod(3) implementation to avoid + locale hell. Due to this change "0xff".to_f no longer returns 255.0 + +Sun May 12 03:01:08 2002 WATANABE Hirofumi + + * missing.h: add for missing/*.c. + + * ruby.h: add `#include "missing.h"'. + + * Makefile.in: add the dependency of missing.h by gcc -MM. + + * MANIFEST: add missing.h + +Sat May 11 23:24:52 2002 Takaaki Tateishi + + * ext/dl: enable dl's stack emulation for constructing function call. + +Sat May 11 10:52:09 2002 Nobuyoshi Nakada + + * dir.c (glob_helper): remove escaping backslashes. + +Sat May 11 02:46:43 2002 Yukihiro Matsumoto + + * eval.c (avalue_to_yvalue): new function to distinguish yvalue + (no-arg == Qundef) from svalue (no-arg == Qnil). + + * eval.c (rb_yield_0): use avalue_to_yvalue(). + + * eval.c (assign): warn if val == Qundef where it means rhs is + void (e.g. yield without value or call without argument). + +Fri May 10 19:00:47 2002 Nobuyoshi Nakada + + * parse.y (here_document): preserve line number begins here + document. + +Fri May 10 01:55:44 2002 Nobuyoshi Nakada + + * eval.c (rb_thread_join): added an argument to limit time to wait + the thread. + + * eval.c (rb_thread_join_m): new. and added optional argument. + +Wed May 8 23:48:40 2002 Yukihiro Matsumoto + + * parse.y (value_expr): need not to warn for WHILE and UNTIL, + since they can have return value (via valued break). + +Tue May 7 17:13:40 2002 WATANABE Hirofumi + + * configure.in: forgot to add '-Wl,' to the gcc option on Cygwin/MinGW. + +Tue May 7 15:41:33 2002 Nobuyoshi Nakada + + * ext/iconv/iconv.c (iconv_try): should initialize exceptions + properly. (ruby-bugs-ja:PR#232) + +Tue May 7 15:28:03 2002 Minero Aoki + + * eval.c (rb_yield_0): The destination of the goto jump was wrong. + +Tue May 7 09:17:51 2002 Minero Aoki + + * eval.c (superclass): undesirable "unexpected return" when the + superclass is not a Class. + +Sun May 5 06:53:45 2002 Akinori MUSHA + + * lib/mkmf.rb: exclude topdir from the system configuration + section and prevent it from being overridden. + +Fri May 3 20:19:00 2002 WATANABE Hirofumi + + * configure.in: add #include in AC_CHECK_DECLS(). + + * win32/config.h.in: define HAVE_DECL_SYS_NERR. + +Thu May 2 23:42:40 2002 Yukihiro Matsumoto + + * re.c (rb_reg_s_quote): # also should be quoted. + +Thu May 2 18:27:13 2002 WATANABE Hirofumi + + * ext/extmk.rb.in, lib/mkmf.rb: use 'do...end' instead of '{}' for + Borland make. + +Thu May 2 08:01:56 2002 Chris Thomas + + * error.c: use HAVE_DECL_SYS_NERR instead of platform names. + +Tue Apr 30 09:23:05 2002 Yukihiro Matsumoto + + * numeric.c (num_step): better iteration condition for float + values; suggested by Masahiro TANAKA . + +Tue Apr 30 05:59:42 2002 Michal Rokos + + * range.c (range_step): step (for Range#step method) <= 0 makes no + sense, thus ArgError will be raised. + + * range.c (range_each): Range#each method is special case for + Range#step(1) + +Mon Apr 29 18:46:42 2002 Yukihiro Matsumoto + + * file.c (rb_find_file): load must be done from an absolute path if + $SAFE >= 4. + +Sun Apr 28 17:01:56 2002 WATANABE Hirofumi + + * win32/win32.c (insert): fix prototype for ANSI C. + +Fri Apr 26 13:47:15 2002 Yukihiro Matsumoto + + * enum.c (enum_partition): new method. [new] + +Fri Apr 26 13:41:00 2002 Yukihiro Matsumoto + + * re.c (rb_reg_s_quote): quote whitespaces for /x cases. + +Fri Apr 26 06:48:23 2002 Takaaki Tateishi + + * ext/dl/ptr.c (cary2ary): missing break in switch statements. + +Fri Apr 26 09:35:47 2002 Nobuyoshi Nakada + + * eval.c (rb_proc_new): make Proc from C function. [new] + + * intern.h (rb_proc_new): prototype. + +Wed Apr 24 14:56:46 2002 Nobuyoshi Nakada + + * eval.c (proc_to_proc): return self. [new] + + * eval.c (block_pass): no need to convert if block is Proc. + +Wed Apr 24 14:21:41 2002 WATANABE Hirofumi + + * configure.in: set size of the initial stack from + 2MB to 32MB on MinGW/Cygwin. + +Wed Apr 24 14:06:35 2002 Yukihiro Matsumoto + + * numeric.c (num_step): try to reduce residual on Float operations. + +Wed Apr 24 06:48:31 2002 Koji Arai + + * io.c (rb_io_mode_flags): both 'r+b' and 'rb+' should be allowed. + + * io.c (rb_io_mode_modenum): ditto. + +Wed Apr 24 01:16:14 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_mark): must check if ptr is NULL + first. [ruby-talk:38873] + + * lib/mkmf.rb (create_makefile): should print depend file when + make is other than nmake. + +Wed Apr 24 00:37:12 2002 NAKAMURA Usaku + + * ext/extmk.rb.in (create_makefile): use `{$(srcdir)}' directive instead + of `$(srcdir)/' when including depend file. + + * lib/mkmf.rb (create_makefile): add `{$(srcdir)}' when including depend + file. + +Tue Apr 23 12:58:18 2002 Yukihiro Matsumoto + + * gc.c (rb_memerror): rename from mem_error, and exported. + + * gc.c (Init_GC): pre-allocate NoMemoryError instance. + + * object.c (convert_type): error message changed from "failed to + convert" to "cannot convert", since it does not try to convert + if an object does not respond to the converting method. + +Mon Apr 22 09:31:30 2002 Yukihiro Matsumoto + + * eval.c (block_pass): convert Method to Proc using + rb_check_convert_type(). + + * object.c (rb_check_convert_type): always convert T_DATA + + * eval.c (rb_thread_cleanup): should not terminate main_thread by + Fatal error. + + * regex.c (is_in_list): need to not exclude NUL and NEWLINE. + +Sat Apr 20 00:19:13 2002 Yukihiro Matsumoto + + * re.c (rb_reg_expr_str): wrong backslash escapement. + + * re.c (rb_reg_expr_str): do not escape embedded space + characters. + +Fri Apr 19 22:03:40 2002 NAKAMURA Usaku + + * win32/Makefile.sub: add -DNT to $CFLAGS instead of $CPPFLAGS. + + * win32/setup.mak: ditto. + +Fri Apr 19 17:24:22 2002 Yukihiro Matsumoto + + * marshal.c (w_object): T_DATA process patch from Joel VanderWerf + . This is temporary hack; it remains + undocumented, and it will be removed when marshaling is + re-designed. + + * marshal.c (r_object): ditto. + +Fri Apr 19 17:10:55 2002 Yukihiro Matsumoto + + * numeric.c (num_step): Integer#step is moved to Numeric#step; + Fixnum#step is merged into this method. + + * numeric.c (int_dotimes): Fixnum#times is merged. + + * numeric.c (int_upto): Fixnum#upto is merged. + + * numeric.c (int_downto): Fixnum#downto is merged. + +Fri Apr 19 16:22:55 2002 WATANABE Hirofumi + + * ext/socket/extconf.rb: include , on _WIN32. + + * win32/win32.c: include on __MINGW32__. + + * configure.in: cleanup for autoconf 2.5x. + + * configure.in: use gcc -shared instead of dllwrap on Cygwin/MinGW. + + * ext/extmk.rb, lib/mkmf.rb: get rid of "--def=". + +Fri Apr 19 14:57:44 2002 Nobuyoshi Nakada + + * re.c (rb_reg_to_s): remove redundant shy group. + +Fri Apr 19 01:08:20 2002 Yukihiro Matsumoto + + * eval.c (rb_thread_cleanup): current thread may be THREAD_STOPPED, + for example when terminated from signal handler. + +Thu Apr 18 19:03:15 2002 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): remove /p support. + + * regex.h: ditto. + + * parse.y (parse_regx): ditto. + +Thu Apr 18 17:01:43 2002 Takaaki Tateishi + + * ext/dl/ptr.c (rb_dlptr_cast): removed. + +Thu Apr 18 17:01:43 2002 Tanaka Akira + + * re.c (rb_reg_to_s): new function for Regexp#to_s. + +Wed Apr 17 23:55:34 2002 Akinori MUSHA + + * ext/Setup*, ext/bigfloat/*: Back out the import of BigFloat in + favor of its forthcoming successor, BigDecimal. + +Wed Apr 17 16:53:33 2002 Yukihiro Matsumoto + + * re.c (rb_reg_expr_str): should treat backslash specially in + escaping. + +Wed Apr 17 08:16:41 2002 Michal Rokos + + * io.c: complete off_t handling; missing argument for + fptr_finalize(); polished rb_scan_args call. + +Wed Apr 17 00:01:59 2002 Michal Rokos + + * dir.c: wrap multi-statement macro by do { } while (0) + + * eval.c, numeric,c, sprintf.c, util.c: ditto. + +Tue Apr 16 08:59:50 2002 Nobuyoshi Nakada + + * eval.c (assign): convert mrhs to mvalue. + +Mon Apr 15 18:12:57 2002 Yukihiro Matsumoto + + * bignum.c (rb_big_eq): check `y == x' if y is neither Fixnum, + Bignum, nor Float. + +Mon Apr 15 09:27:31 2002 Yukihiro Matsumoto + + * pack.c (pack_unpack): should treat 'U' in character unit, not in + byte unit. + + * error.c (exc_initialize): should clear backtrace information. + +Sat Apr 13 23:42:43 2002 Yukihiro Matsumoto + + * io.c (rb_io_fptr_cleanup): should close IO created by IO.new(fd). + + * rubyio.h: remove FMODE_FDOPEN + +Fri Apr 12 12:54:04 2002 NAKAMURA Usaku + + * win32/Makefile.sub: use missing/acosh.c. + + * win32/config.h.in: define HAVE_COSH, HAVE_SINH, and HAVE_TANH. + +Fri Apr 12 02:58:55 2002 Koji Arai + + * struct.c (rb_struct_select): fix typo. + +Fri Apr 12 00:34:17 2002 Nobuyoshi Nakada + + * MANIFEST (missing/acosh.c): added. + + * Makefile.in (missing/acosh.c): ditto. + + * Makefile.in (missing/fileblocks.c): ditto. + + * configure.in (AC_REPLACE_FUNCS): check acosh() on behalf of + inverse hyperbolic functions, asinh() and atanh(). + + * missing/acosh.c: added for acosh(), asinh() and atanh(). + +Thu Apr 11 20:01:44 2002 Masahiro Tomita + + * io.c (io_write): check error if written data is less than + specified size to detect EPIPE. + +Thu Apr 11 19:10:37 2002 WATANABE Hirofumi + + * io.c (remain_size): IO#read returns "" if file.size == 0. + + * random.c (rand_init): add check for initstate(3). + + * configure.in: ditto. + +Thu Apr 11 09:31:19 2002 Takaaki Tateishi + + * ext/dl/ptr.c: raise() -> rb_raise(). (Thanks Tetsuya Watanabe) + + * ext/dl/sym.c: ditto. + +Thu Apr 11 07:57:48 2002 Michal Rokos + + * eval.c (assign): ruby_verbose should be surrounded by RTEST(). + + * object.c (rb_str2cstr): ditto. + + * parse.y (void_expr): ditto. + + * parse.y (void_stmts): ditto. + + * variable.c (rb_ivar_get): ditto. + + * variable.c (rb_cvar_set): ditto. + + * variable.c (rb_cvar_get): ditto. + +Thu Apr 11 07:02:31 2002 Takaaki Tateishi + + * ext/dl: Add dl.txt instead of README and README.html. + +Thu Apr 11 01:55:52 2002 Wakou Aoyama + + * lib/cgi/session.rb: support for multipart form. + +Wed Apr 10 18:42:23 2002 Tachino Nobuhiro + + * dir.c (glob_helper): should have proceed link when link->path + was non existing symbolic link. + +Wed Apr 10 17:30:19 2002 Yukihiro Matsumoto + + * variable.c (rb_obj_remove_instance_variable): raise NameError if + specified instance variable is not defined. + + * variable.c (generic_ivar_remove): modified to check ivar + existence. + +Wed Apr 10 14:16:45 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-font-lock-keywords): fontify symbols for + unary operators and aset. + +Tue Apr 9 13:40:31 2002 Nobuyoshi Nakada + + * lib/mkmf.rb (try_link0): need expand macro in command, sync with + ext/extmk.rb.in. + + * lib/mkmf.rb (try_cpp): ditto. + + * lib/mkmf.rb (egrep_cpp): ditto. + +Tue Apr 9 12:44:59 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c (check_modifiable): performance + improvement. avoid calling rb_str_modify() twice. + + * ext/stringio/stringio.c (strio_ungetc): ditto. + + * ext/stringio/stringio.c (strio_putc): ditto. + + * ext/stringio/stringio.c (strio_write): ditto, and use + rb_str_cat() as possible. + +Tue Apr 9 05:17:48 2002 Akinori MUSHA + + * re.c (match_select): fix index references and make + MatchData#select actually work. + +Tue Apr 9 00:20:52 2002 Yukihiro Matsumoto + + * file.c (rb_file_s_extname): new method based on the proposal + (and patch) from Mike Hall. [new] + +Mon Apr 8 04:50:51 2002 Nobuyoshi Nakada + + * eval.c (error_handle): default to 1 unless status is set. + + * eval.c (ruby_options): guard error_handle() with PROT_NONE. + + * eval.c (ruby_stop): ditto. + +Mon Apr 8 01:22:24 2002 Yukihiro Matsumoto + + * math.c (math_acosh): added. [new] + + * math.c (math_asinh): ditto. + + * math.c (math_atanh): ditto. + + * struct.c (rb_struct_each_pair): method added. [new] + +Sat Apr 6 02:04:49 2002 Guy Decoux + + * class.c (rb_singleton_class): wrong condition; was creating + unnecessary singleton class. + +Sat Apr 6 01:09:41 2002 Yukihiro Matsumoto + + * sprintf.c (remove_sign_bits): simplifies the condition. + + * bignum.c (get2comp): calculate proper carry over. + +Fri Apr 5 05:07:28 2002 Takaaki Tateishi + + * ext/dl: Add dl/struct.rb. + +Thu Apr 4 14:08:52 2002 Takaaki Tateishi + + * ext/dl/lib/dl/import.rb: Get rid of ineffective + encoding/decoding procedures. + +Thu Apr 4 01:08:23 2002 Yukihiro Matsumoto + + * numeric.c (int_step): step may be a float less than 1. + +Wed Apr 3 20:42:34 2002 Takaaki Tateishi + + * ext/dl: Merge Nakada's patch. + + * ext/dl/dl.h: define StringValuePtr for ruby-1.6. + +Wed Apr 3 15:37:24 2002 Takaaki Tateishi + + * ext/dl: Add dl/types.rb. + +Wed Apr 3 01:54:10 2002 Nobuyoshi Nakada + + * ext/extmk.rb.in (enable_config): follow lib/mkmf.rb. + +Tue Apr 2 19:59:13 2002 Takaaki Tateishi + + * ext/dl: Merge from rough. + +Tue Apr 2 15:17:54 2002 Yukihiro Matsumoto + + * Makefile.in (CPPFLAGS): remove @includedir@. + + * lib/mkmf.rb (create_makefile): ditto. + + * ext/extmk.rb.in (create_makefile): ditto. + +Tue Apr 2 15:09:05 2002 WATANABE Hirofumi + + * ext/socket/socket.c (sock_addrinfo): should clear addrinfo hints. + +Mon Apr 1 23:48:12 2002 Takaaki Tateishi + + * lib/mkmf.rb: install any files using $INSTALLFILES. + (see also [ruby-dev:16683]) + +Mon Apr 1 17:25:50 2002 Yukihiro Matsumoto + + * io.c (rb_io_fptr_cleanup): need flush even when io will not be + closed. + + * io.c (rb_io_initialize): was calling wrong function + rb_io_mode_flags(). + +Mon Apr 1 16:52:00 2002 Nobuyoshi Nakada + + * ext/sdbm/init.c (each_pair): moved prototype before the + definition. + + * ext/racc/cparse/cparse.c (call_scaniter): ditto. + +Mon Apr 1 15:11:40 2002 NAKAMURA Usaku + + * ext/racc/cparse/cparse.c: prototype; call_scaniter(). + + * ext/sdbm/init.c: prototype; each_pair(). + + * ext/tcltklib/tcltklib.c: prototypes; _timer_for_tcl() and ip_ruby(), + Nobu's patch at [ruby-dev:14483]. + +Mon Apr 1 10:56:40 2002 Yukihiro Matsumoto + + * re.c (match_setter): it's OK to assign nil to $~. + +Mon Apr 1 03:55:46 2002 Yukihiro Matsumoto + + * io.c (rb_io_fptr_cleanup): do not close IO created by for_fd(). + + * io.c (rb_io_initialize): mark IO created by for_fd + + * ext/socket/socket.c (bsock_s_for_fd): ditto. + +Fri Mar 29 20:21:58 2002 Nobuyoshi Nakada + + * lib/mkmf.rb (create_makefile): default FLAGS to empty strings. + +Fri Mar 29 16:36:52 2002 Nobuyoshi Nakada + + * lib/mkmf.rb (arg_config): should use Shellwords::shellwords like + ext/extmk.rb.in. + + * lib/mkmf.rb (enable_config): default had priority over command + line options and configure_args. + + * lib/mkmf.rb: support autoconf 2.53 style variables from + environment. + + * lib/mkmf.rb: add directory options. + +Fri Mar 29 15:49:29 2002 Usaku Nakamura + + * win32/README.win32: follow recent changes. + +Fri Mar 29 14:44:05 2002 Yukihiro Matsumoto + + * io.c (io_fflush): DRY patch from /Christoph applied. + +Thu Mar 28 18:58:13 2002 Usaku Nakamura + + * win32/Makefile.sub (config.status): reflect user defined $CC in + config.status. + +Thu Mar 28 18:03:51 2002 Minero Aoki + + * ext/strscan/strscan.c: add taint check. + + * ext/strscan/strscan.c: #getch/#get_byte should set regexp + registers. + + * ext/strscan/strscan.c: remove useless #include directive. + + * ext/strscan/strscan.c: refactor struct strscanner. + +Thu Mar 28 14:51:38 2002 Yukihiro Matsumoto + + * ext/socket/socket.c (sock_addrinfo): should specify socktype + from outside. + +Wed Mar 27 17:04:30 2002 Yukihiro Matsumoto + + * io.c (argf_binmode): should call next_argv() to initialize ARGF. + + * io.c (argf_filename): ditto. + + * io.c (argf_file): ditto. + +Wed Mar 27 14:47:32 2002 WATANABE Hirofumi + + * io.c (READ_DATA_PENDING): configure.in has supported for uClibc, + so remove uClibc stuff. + +Wed Mar 27 13:14:43 2002 Yukihiro Matsumoto + + * io.c (rb_io_sysseek): new method based on a patch from Aristarkh + A Zagorodnikov . [new] + + * io.c (READ_DATA_PENDING): use !feof(fp) for default behavior. + +Tue Mar 26 20:28:50 2002 Minero Aoki + + * lib/net/http.rb: HTTP.get accepts URI. + + * lib/net/http.rb: new method HTTP.get_uri. + + * lib/net/http.rb: add some HTTP 1.1 response codes. + +Tue Mar 26 20:25:28 2002 Minero Aoki + + * doc/net/protocol.rd.ja, smtp.rd.ja, pop.rd.ja: removed. + + * MANIFEST: remove doc/net/* entries. + +Tue Mar 26 18:45:15 2002 WATANABE Hirofumi + + * configure.in (FILE_READPTR): check bufread instead of bufend + for uClibc. + + * ext/extmk.rb.in (arg_config): should use Shellwords::shellwords. + +Tue Mar 26 01:56:33 2002 Yukihiro Matsumoto + + * parse.y (primary): while/until statement modifiers to "begin" + statement now work as "do .. while" even when begin statement + has "rescue" or "ensure" [new]. + + * parse.y (bodystmt): rescue/ensure is allowed at every bodies, + i.e. method bodies, begin bodies, class bodies[new], and module + bodies[new]. + +Mon Mar 25 22:10:04 2002 Yukihiro Matsumoto + + * ext/socket/socket.c (sock_addrinfo): should specify ai_socktype + for getaddrinfo hints. + +Mon Mar 25 17:18:48 2002 Nobuyoshi Nakada + + * dir.c (rb_push_glob): local variable 'maxnest' was + uninitialized. + +Mon Mar 25 16:53:30 2002 Yukihiro Matsumoto + + * eval.c (rb_f_abort): embed aborting message into exception + object [new]. + + * eval.c (terminate_process): utility function for exit and abort. + +Tue Mar 26 14:04:47 2002 okabe katsuyuki + + * win32/mkexports.rb: support VC++.NET. + +Tue Mar 26 14:00:17 2002 Akinori MUSHA + + * ext/bigfloat/bigfloat.c: Fix the initializer's function name + according to the new library name. (pointed out by nobu) + +Tue Mar 26 11:12:01 2002 Minero Aoki + + * lib/fileutils.rb: new file. + +Tue Mar 26 03:23:50 2002 Tanaka Akira + + * lib/pp.rb (pp): return nil like p. + +Tue Mar 26 01:48:01 2002 Akinori MUSHA + + * ext/bigfloat/extconf.rb: Downcase the library name. (BigFloat.so + -> bigfloat.so) + + * ext/bigfloat/bigfloat.c (BigFloat_inspect): Alter the inspect + format not to look like an array. (pointed out by akr) + + * ext/bigfloat/bigfloat.c (BigFloat_hash): Implement BigFloat#hash. + + * ext/bigfloat/bigfloat.c (BigFloat_dump, BigFloat_load): + Support marshaling. + +Tue Mar 26 00:38:11 2002 Tanaka Akira + + * configure.in (FILE_READPTR): check _p for 4.4BSD. + +Mon Mar 25 23:39:25 2002 Nobuyoshi Nakada + + * configure.in (FILE_READPTR): new. for IO#gets improvement. + + * io.c (READ_DATA_PENDING_PTR): ditto. + + * io.c (remain_size): separated from read_all(). + + * io.c (read_all): argument changed. + + * io.c (appendline): new. get a line and append to string. + + * io.c (swallow): new. swallow continuous line delimiters. + + * io.c (rb_io_getline_fast): add delimiter argument. + + * io.c (rb_io_getline): performance improvement. + +Mon Mar 25 19:30:25 2002 WATANABE Hirofumi + + * ext/extmk.rb.in (arg_config): get rid of single quotes + for autoconf 2.53. + +Mon Mar 25 17:49:41 2002 Nobuyoshi Nakada + + * regex.c (mbc_startpos_func): VC6 seems to be unable to + understand forward declaration for static variables. + + * dir.c (rb_push_glob): local variable 'maxnest' was + uninitialized. + +Mon Mar 25 13:24:20 2002 Yukihiro Matsumoto + + * ext/socket/socket.c (bsock_do_not_rev_lookup_set): should not be + allowed when $SAFE > 3. + + * eval.c (rb_thread_ready): THREAD_TO_KILL threads should not turn + into THREAD_RUNNABLE on wakeup. + + * eval.c (rb_thread_list): THREAD_TO_KILL threads should be in the + list. + + * eval.c (thgroup_list): ditto; by moving gid clearance from + rb_thread_cleanup(). + +Mon Mar 25 11:06:19 2002 Nobuyoshi Nakada + + * dln.c (dln_argv0): unused unless USE_DLN_A_OUT. + + * regex.c (mbc_startpos_func): should be static. + +Sun Mar 24 12:19:09 2002 Koji Arai + + * dir.c (fnmatch): "*/bar" (with FNM_PATHNAME flag) does not + match "foo/bar". + +Sun Mar 24 00:46:05 2002 WATANABE Hirofumi + + * util.c (push_element): avoid warning for djgpp. + +Sat Mar 23 01:50:30 2002 Yukihiro Matsumoto + + * io.c (read_all): files on /proc filesystem with zero stat size, + may have contents. + +Fri Mar 22 18:07:29 2002 Yukihiro Matsumoto + + * ext/socket/socket.c (tcp_s_gethostbyname): refactored. + + * ext/socket/socket.c (sock_s_gethostbyname): ditto. + +Fri Mar 22 16:46:54 2002 Minero Aoki + + * ext/extmk.rb.in: replace mkdir with mkpath to compile racc/cparse. + +Fri Mar 22 16:22:55 2002 Yukihiro Matsumoto + + * the VMS support patch submitted by Akiyoshi, Masamichi + is merged. + +Fri Mar 22 16:27:24 2002 Minero Aoki + + * lib/racc/parser.rb: new file. + + * ext/racc/MANIFEST, cparse.c, depend, extconf.rb: new files. + + * lib/README: add racc/parser.rb. + + * ext/Setup*: add racc/cparse. + +Fri Mar 22 15:04:03 2002 Yukihiro Matsumoto + + * eval.c (exec_under): changing ruby_class is OK, but should not + alter cbase. + + * eval.c (yield_under_i): ditto. + +Fri Mar 22 15:44:38 2002 Minero Aoki + + * ext/strscan/MANIFEST, strscan.c, depend, extconf.rb: new files. + + * ext/Setup*: add strscan entry. + +Fri Mar 22 14:32:14 2002 Minero Aoki + + * lib/net/protocol.rb: Protocol#start should return self. + +Fri Mar 22 14:14:21 2002 Tanaka Akira + + * lib/resolv.rb: fix arguments to create exceptions. + Patch from matt@lickey.com. (ruby-bugs:PR#278) + +Fri Mar 22 13:51:11 2002 Akinori MUSHA + + * ext/bigfloat/.cvsignore, ext/bigfloat/MANIFEST: BigFloat 1.1.8 + has been imported. Add .cvsignore and MANIFEST. + +Fri Mar 22 04:07:55 2002 Koji Arai + + * sprintf.c (rb_f_printf): discard meaningless prefix ".." for '%u'. + +Thu Mar 21 01:11:37 2002 Usaku Nakamura + + * win32/Makefile.sub (config.status): fix install path (prefix). + +Thu Mar 21 01:03:05 2002 Nobuyoshi Nakada + + * ext/configsub.rb: latest autoconf style support. + +Wed Mar 20 22:16:25 2002 Usaku Nakamura + + * mkconfig.rb: close duplicated $stdout before renaming rbconfig.rb. + +Wed Mar 20 21:54:17 2002 Nobuyoshi Nakada + + * win32/Makefile.sub: made variables configurable. + + * win32/Makefile.sub (config.h): updates RUBY_PLATFORM from + Makefile. + + * win32/Makefile.sub (config.status): ditto. and use recent + autoconf format. + + * win32/Makefile.sub (clean): separate ext and local clean up. + + * win32/Makefile.sub (distclean): ditto. + + * win32/config.status.in: no longer used. + +Wed Mar 20 20:12:35 2002 Nobuyoshi Nakada + + * variable.c (rb_const_list): a temporary table must be freed. + +Wed Mar 20 19:44:09 2002 Tanaka Akira + + * mkconfig.rb: don't touch rbconfig.rb if there is a trouble. + +Wed Mar 20 16:05:37 2002 Yukihiro Matsumoto + + * eval.c (is_defined): should check receiver only once. + + * eval.c (is_defined): should handle NODE_NEWLINE. + +Wed Mar 20 11:29:25 2002 Aristarkh A Zagorodnikov + + * file.c (rb_file_s_expand_path): memory leak fixed. + +Wed Mar 20 00:36:43 2002 Akinori MUSHA + + * util.c (ruby_getcwd): the content of buf is uncertain and must + not be printed when getcwd(buf, size) has failed. + +Mon Mar 18 22:19:52 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c (check_modifiable): wrong declaration. + +Mon Mar 18 18:04:05 2002 Nobuyoshi Nakada + + * ext/digest: add depend file. + + * ext/digest/md5: ditto. + + * ext/digest/rmd160: ditto. + + * ext/digest/sha1: ditto. + + * ext/digest/sha2: ditto. + + * ext/iconv/MANIFEST: ditto. + + * ext/stringio/MANIFEST: ditto. + + * ext/syslog: ditto. + +Mon Mar 18 17:18:06 2002 Nobuyoshi Nakada + + * eval.c (rb_f_abort): should not bypass cleanup. + + * ext/stringio/stringio.c (check_modifiable): void function. + +Mon Mar 18 12:52:01 2002 WATANABE Hirofumi + + * ext/iconv/extconf.rb: workaround for GNU libiconv. + +Mon Mar 18 10:55:03 2002 Nobuyoshi Nakada + + * parse.y (parse_string): part of multi-byte sequence must not + match to paren. + + * parse.y (parse_qstring): ditto. + + * parse.y (parse_quotedwords): ditto. + + * parse.y (str_extend): handle multi-byte characters. + +Mon Mar 18 10:31:20 2002 Nobuyoshi Nakada + + * enum.c (enum_find): catch a value before recycle. + + * enum.c (enum_all): ditto. + + * enum.c (enum_any): ditto. + + * enum.c (enum_min): ditto. + + * enum.c (enum_max): ditto. + +Sun Mar 17 20:08:04 2002 Nobuyoshi Nakada + + * ext/iconv/depend: added. + + * ext/stringio/depend: added. + +Sat Mar 16 22:43:53 2002 WATANABE Hirofumi + + * missing/fileblocks.c: add for autoconf. + +Sat Mar 16 15:30:40 2002 Yukihiro Matsumoto + + * re.c (rb_reg_search): should clear last_match if pos is out of + string range. + + * string.c (rb_str_index_m): ditto. + + * string.c (rb_str_rindex): ditto. + +Sat Mar 16 09:04:58 2002 Koji Arai + + * enum.c (enum_inject): use the first iterated element as the + initial value when omitted. + + * enum.c (inject_i): ditto. + + * enum.c (Init_Enumerable): Enumerable#inject now takes variable + count arguments. + +Fri Mar 15 19:47:31 2002 Nobuyoshi Nakada + + * win32/win32.c (StartSockets): remove duplicated lines. + +Fri Mar 15 17:44:08 2002 Usaku Nakamura + + * bignum.c, intern.h (rb_ull2big, rb_ll2big, rb_ull2inum, rb_ll2inum, + big2ull, rb_big2ull, rb_big2ll): use LONG_LONG macro instead of + long long. + + * numeric.c, intern.h, ruby.h (rb_num2ll, rb_num2ull): ditto. + + * ruby.h: use _I64_MAX and _I64_MIN if they are defined (for VC++). + +Fri Mar 15 14:02:43 2002 Nobuyoshi Nakada + + * ext/iconv/iconv.c: fixed document, Iconv#new is no longer an + iterator. thanks to Tanaka Akira . + +Thu Mar 14 22:17:45 2002 Nobuyoshi Nakada + + * ext/iconv: imported. + +Thu Mar 14 16:42:37 2002 Yukihiro Matsumoto + + * class.c (rb_define_class): should handle autoload. + + * class.c (rb_define_module): ditto. + +Thu Mar 14 16:18:12 2002 WATANABE Hirofumi + + * configure.in: autoconf 2.53 support. use AC_LIBOBJ. + +Thu Mar 14 00:29:12 2002 Yukihiro Matsumoto + + * re.c (rb_reg_match): should clear $~ if operand is nil. + + * re.c (rb_reg_match2): ditto. + +Thu Mar 14 12:32:59 2002 Nobuyoshi Nakada + + * ext/stringio/stringio.c: fixed frozen string bug. ungetc no + longer raises on readonly stream unless modifies actually. + +Thu Mar 14 08:57:41 2002 Nobuyoshi Nakada + + * dir.c (rb_push_glob): avoid SEGV when a block given. + +Thu Mar 14 00:16:02 2002 Nobuyoshi Nakada + + * string.c (rb_str_subpat_set): must make str independent after + rb_reg_search() matched. + +Wed Mar 13 19:05:15 2002 Akinori MUSHA + + * dir.c: FNM_PERIOD is obsoleted and FNM_DOTMATCH is introduced + instead, which has the opposite meaning of FNM_PERIOD. + + * dir.c: Dir::glob now accepts optional FNM_* flags via the second + argument, whereas Dir::[] doesn't. + +Wed Mar 13 18:36:55 2002 Akinori MUSHA + + * lib/getopts.rb: single_options can be nil[*], and is not not + optional. ([*]Pointed out by gotoken) + +Wed Mar 13 17:23:46 2002 Yukihiro Matsumoto + + * configure: merge Jonathan Baker's large file support patch + [ruby-talk:35316], with read_all patch in [ruby-talk:35470]. + +Wed Mar 13 04:06:48 2002 Yukihiro Matsumoto + + * eval.c (rb_f_abort): optional message argument that be printed + on termination. + +Tue Mar 12 17:12:06 2002 Tanaka Akira + + * lib/resolv.rb: don't complete domains for absolute FQNs. + +Mon Mar 11 23:08:48 2002 Tanaka Akira + + * lib/tsort.rb: new file. + +Mon Mar 11 21:03:37 2002 Nobuyoshi Nakada + + * ext/stringio: new. + +Mon Mar 11 18:03:37 2002 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): '\0111' should be '\011' plus '1', + since octal literals are formed by three digits at most. + +Mon Mar 11 14:44:38 2002 Yukihiro Matsumoto + + * marshal.c (w_object): module inclusion using extend() should + also be detected. + + * eval.c (rb_eval_cmd): cbase should not be NULL; it should be + either ruby_wrapper or Object. + +Sun Mar 10 02:18:22 2002 Koji Arai + + * enum.c (enum_each_with_index): should return self. + + * process.c (proc_setpgrp): should return value for non-void function. + + * process.c (proc_getpgid): should raise exception if getpgid() return -1. + + * string.c (rb_str_ljust): should return a duplicated string. + + * string.c (rb_str_rjust): ditto. + + * string.c (rb_str_center): ditto. + +Sat Mar 9 08:45:58 2002 Tanaka Akira + + * ext/socket/extconf.rb (have_struct_member): don't print checked + result. + +Fri Mar 8 12:19:15 2002 Tanaka Akira + + * lib/resolv.rb: use its own thread group for background threads. + +Fri Mar 8 02:21:32 2002 Yukihiro Matsumoto + + * eval.c (cvar_cbase): utility function to find innermost non + singleton cbase. + + * eval.c (is_defined): adopt new cvar behavior. + + * eval.c (rb_eval): ditto. + + * eval.c (assign): ditto. + +Thu Mar 7 20:08:25 2002 Nobuyoshi Nakada + + * gc.c (rb_source_filename): added. holds unique strings for file + names with GC space. + + * gc.c (rb_gc_mark): mark source file name. + + * gc.c (gc_sweep): ditto. + + * gc.c (Init_GC): initialize source file name table. + + * intern.h (rb_source_filename): added. + + * eval.c (rb_eval_string): use rb_source_filename(). + + * parse.y (yycompile): ditto. + + * ruby.c (proc_options): ditto. + + * ruby.c (load_file): ditto. + + * ruby.c (ruby_script): ditto. + + * ruby.c (ruby_prog_init): ditto. + +Wed Mar 6 17:58:08 2002 WATANABE Hirofumi + + * dln.c (dln_load): use LoadLibrary instead of LoadLibraryEx. + +Wed Mar 6 16:50:37 2002 Yukihiro Matsumoto + + * class.c (rb_mod_clone): should not call rb_obj_clone(), since + Module does not provide "allocate". + + * class.c (rb_singleton_class): should create new singleton class + if obj is a class or module and attached object is different, + which means metaclass of singleton class is sought. + + * time.c (time_s_alloc): now follows allocation framework. + +Tue Mar 5 05:56:29 2002 Akinori MUSHA + + * lib/getopts.rb: Rewrite to fix some bugs and complete features. + - Accept options with the colon in the first argument; + getopts("a:bcd:") is equivalent to getopts("bc", "a:", "d:"). + - Do not discard the argument that caused an error. + - Do not discard '-', which commonly stands for stdin or stdout. + - Allow specifying a long option with a value using '='. + (command --long-option=value) + - Stop reading options when it meets a non-option argument. + +Mon Mar 4 13:19:18 2002 Akinori MUSHA + + * ext/extmk.rb.in (dir_config): Sync with mkmf.rb: Fix a bug where + --with-xx-{include,lib} is ignored when --with-xx-dir is + specified. + +Mon Mar 4 00:09:55 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): should initialize outer class variables from + methods in singleton class definitions. + + * eval.c (assign): ditto. + +Fri Mar 1 11:29:10 2002 WATANABE Hirofumi + + * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): add const + qualifier only for uClibc. + +Fri Mar 1 11:22:51 2002 Amos Gouaux + + * lib/net/imap.rb: added document. + + * lib/net/imap.rb (getquotaroot): new method. + + * lib/net/imap.rb (setacl): remove the rights if the rights + parameter is nil. + + * lib/net/imap.rb (getacl): return an array of MailboxACLItem. + +Fri Mar 1 06:25:49 2002 Tanaka Akira + + * ext/socket/extconf.rb (have_struct_member): new method. + check msg_control and msg_accrights in struct msghdr. check + sys/uio.h. + + * ext/socket/socket.c: include sys/uio.h if available. + (thread_read_select): new function. + (unix_send_io): ditto. + (unix_recv_io): ditto. + (unix_s_socketpair): ditto. + (Init_socket): define UNIXSocket#send_io, UNIXSocket#recv_io, + UNIXSocket.socketpair and UNIXSocket.pair. + + * dln.c (dln_load): fix typo. + +Wed Feb 27 16:30:50 2002 Yukihiro Matsumoto + + * eval.c (rb_mod_include): load modules in argument order. + + * st.c (st_init_table_with_size): num_bins should be prime numbers + (no decrement). + + * st.c (rehash): ditto. + +Wed Feb 27 13:18:49 2002 WATANABE Hirofumi + + * io.c (READ_DATA_PENDING): uClibc support. + + * random.c (rand_init): ditto. + + * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): ditto. + +Wed Feb 27 07:05:17 2002 Akinori MUSHA + + * ext/digest/sha2/sha2.c: Merge from rough. Fix a couple of + off-by-one errors in Aaron Gifford's code. + + Obtained from: KAME via FreeBSD + KAME PR: 393 + FreeBSD PR: kern/34242 + +Wed Feb 27 03:36:47 2002 Koji Arai + + * ext/dbm/dbm.c (fdbm_select): 1.7 behavior. + + * ext/gdbm/gdbm.c (fgdbm_select): ditto. + + * ext/sdbm/sdbm.c (fsdbm_select): ditto. + + * ext/dbm/dbm.c (fdbm_delete): adopt Hash#delete behavior. + + * ext/sdbm/sdbm.c (fsdbm_delete): ditto. + + * ext/gdbm/gdbm.c: need not to dup key to the block. + + * ext/sdbm/sdbm.c : replace RuntimeError with SDBMError. + +Tue Feb 26 21:34:07 2002 Usaku Nakamura + + * bignum.c (rb_big_2comp): void function cannot return any value. + +Tue Feb 26 16:52:12 2002 Yukihiro Matsumoto + + * eval.c (rb_f_missing): NoMethod error messages for true, false, + nil must respond visibility like for other objects. + +Tue Feb 26 15:41:30 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): call trace_func for if/while conditions. + + * marshal.c (r_object): separate r_regist from proc calling. + +Tue Feb 26 11:25:50 2002 akira yamada + + * lib/uri/generic.rb: merge0 should return [oth, oth] if oth is + absolute URI. + + * lib/uri/generic.rb: registry part must not be allowed for any + schemes for the Internet. (RFC2396, section 3.2.2 and 3.2.1.) + +Mon Feb 25 21:22:41 2002 Akinori MUSHA + + * ext/syslog/syslog.c: Merge from rough. Use SafeStringValue(). + +Mon Feb 25 21:12:08 2002 Akinori MUSHA + + * ext/syslog/syslog.c: Merge from rough. Turn Syslog into a + module keeping backward compatibility intact. + +Mon Feb 25 19:35:48 2002 Nobuyoshi Nakada + + * sample/test.rb (system): test with scripts under the source + directory. + +Mon Feb 25 15:14:01 2002 Yukihiro Matsumoto + + * eval.c (method_inspect): should not dump core for unbound + singleton methods. + + * object.c (rb_mod_to_s): better description. + +Mon Feb 25 13:32:13 2002 Nobuyoshi Nakada + + * lib/shell.rb (Shell::expand_path): relative to @cwd. + +Mon Feb 25 06:30:11 2002 Koji Arai + + * hash.c (env_select): should path the assoc list. + +Sun Feb 24 17:20:22 2002 Akinori MUSHA + + * ext/digest/*/*.h: Merge from rough. + - Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.) + +Sat Feb 23 21:12:13 2002 Yukihiro Matsumoto + + * process.c (rb_syswait): thread kludge; should be fixed to + support native thread. + +Fri Feb 22 21:20:53 2002 Minero Aoki + + * lib/net/protocol.rb: set read_timeout dynamically. + + * lib/net/http.rb: @@newimpl is always true in the main trunk. + + * lib/net/http.rb: HTTP.port -> default_port + + * lib/net/http.rb: HTTPResponse.read_response_status -> + read_status_line + +Fri Feb 22 19:56:15 2002 Usaku Nakamura + + * win32/config.status.in: set LIBRUBY_SO. + +Fri Feb 22 03:34:38 2002 Yukihiro Matsumoto + + * bignum.c (get2comp): need to specify to carry or not. + + * io.c (rb_io_inspect): embed path info. + +Fri Feb 22 11:30:01 2002 Tanaka Akira + + * lib/prettyprint.rb: FillGroup implemented. + +Thu Feb 21 21:40:18 2002 Usaku Nakamura + + * ext/extmk.rb.in (create_makefile): remove unnecessary -L option from + LIBS macro. + +Thu Feb 21 02:49:12 2002 Koji Arai + + * pack.c (pack_pack): wrong # comment treatment. + + * pack.c (pack_unpack): ditto. + +Wed Feb 20 15:15:03 2002 Nobuyoshi Nakada + + * intern.h: prototypes; rb_io_addstr(), rb_io_printf(), + rb_io_print(), rb_io_puts() + + * io.c (rb_io_addstr): make extern. + + * io.c (rb_io_printf): ditto. + + * io.c (rb_io_print): ditto. + + * io.c (rb_io_puts): ditto. + +Wed Feb 20 13:41:35 2002 Usaku Nakamura + + * io.c (rb_io_close): return Qnil. + +Wed Feb 20 12:41:59 2002 Yukihiro Matsumoto + + * hash.c (rb_any_cmp): should handle Qundef in keys. + + * eval.c (remove_method): should not remove a empty method to + implement "undef". + + * eval.c (rb_eval): should allow singleton class def for + true/false/nil. + +Tue Feb 19 21:43:32 2002 Minero Aoki + + * lib/net/protocol.rb: rename Protocol.port to default_port. + + * lib/net/smtp.rb: ditto. + + * lib/net/pop.rb: ditto. + + * lib/net/http.rb: ditto. + + * lib/net/protocol.rb: rename BufferedSocket class to + InternetMessageIO. + + * lib/net/smtp.rb: ditto. + + * lib/net/pop.rb: ditto. + + * lib/net/http.rb: ditto. + + * lib/net/protocol.rb: rename InternetMessageIO#write_pendstr to + write_message. + + * lib/net/smtp.rb: ditto. + + * lib/net/protocol.rb: new method + InternetMessageIO#through_message. + + * lib/net/smtp.rb: ditto. + + * lib/net/protocol.rb: rename InternetMessageIO#read_pendstr to + read_message_to. + + * lib/net/pop.rb: ditto. + + * lib/net/protocol.rb: rename InternetMessageIO#read_pendlist to + each_list_item + + * lib/net/pop.rb: ditto. + + * lib/net/protocol.rb: Now block size is 1024. + + * lib/net/smtp.rb: new methods SMTP#esmtp? and #esmtp=. + + * lib/net/http.rb: Using singleton method syntax instead of + singleton class clause, to avoid behavior change of class + variables in ruby 1.7. + + * lib/net/http.rb: HTTPResponse class does not inherit from + Net::Response. + + * lib/net/http.rb: divide HTTP#connecting into + {begin,end}_transport. + + * lib/net/http.rb: unused class Accumulator removed. + + * lib/net/http.rb: Net::HTTP reads response. not HTTPRequest. + + * lib/net/http.rb: proxy related class-instance-variables are not + initialized correctly. + +Tue Feb 19 20:20:12 2002 Ed Sinjiashvili + + * parse.y (str_extend): backslash escape was done wrong. + +Tue Feb 19 17:10:25 2002 Nobuyoshi Nakada + + * file.c (path_check_1): do not fail on world writable *parent* + directories too. + +Tue Feb 19 15:51:41 2002 Yukihiro Matsumoto + + * file.c (path_check_1): do not warn on world writable *parent* + directories. + + * class.c (rb_include_module): should preserve ancestor order in + the included class/module. + +Tue Feb 19 14:45:32 2002 Yukihiro Matsumoto + + * file.c (path_check_1): should check directory sticky bits. + + * process.c (security): need not to warn twice. + + * marshal.c (r_object): complete restoration before calling + r_regist(). + +Tue Feb 19 14:24:36 2002 Yukihiro Matsumoto + + * parse.y (yylex): operators in the "op" rule should make + lex_state EXPR_ARG on EXPR_FNAME and EXPR_DOT. + +Tue Feb 19 13:38:10 2002 Yukihiro Matsumoto + + * eval.c (rb_eval_string_wrap): should hide the toplevel local + variable bindings by PUSH_SCOPE(). + +Tue Feb 19 13:21:51 2002 WATANABE Hirofumi + + * regex.c: fix prototypes of xmalloc(), xcalloc() and xrealloc(). + +Tue Feb 19 13:16:08 2002 Nobuyoshi Nakada + + * io.c (rb_io_ungetc): don't fail pushed EOF back. + +Mon Feb 18 20:48:40 2002 Nobuyoshi Nakada + + * pack.c (pack_pack): avoid infinite loop at comment. + + * pack.c (pack_unpack): ditto. + +Mon Feb 18 14:06:28 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-block-hanging-re): rescue block was too + indented. + +Mon Feb 18 13:56:44 2002 Yukihiro Matsumoto + + * parse.y (expr_value, arg_value, primary_value): value_expr() + check in place. + + * eval.c (block_pass): "&nil" should clear block given. + +Mon Feb 18 02:05:56 2002 Wolfgang Jahrling + + * dir.c (push_braces): remove MAXPATHLEN dependency. + + * dir.c (dir_s_globd): ditto. + + * dln.c (init_funcname): ditto. + + * dln.c (load_1): ditto. + + * dln.c (dln_load): ditto. + + * configure.in: add GNU/Hurd switches. + +Fri Feb 15 17:44:26 2002 Yukihiro Matsumoto + + * pack.c (pack_pack): allows comment in template strings. + + * pack.c (pack_unpack): ditto. + +Sun Feb 17 23:41:37 2002 Nobuyoshi Nakada + + * mkconfig.rb (Config::expand): expand ${} too. + + * ext/extmk.rb.in (try_link0): expand command. + + * ext/extmk.rb.in (try_cpp): ditto. + + * ext/extmk.rb.in (extmake): default $LIBPATH to $libdir + +Sun Feb 17 21:39:24 2002 Tetsuya Watanabe + + * ext/digest/md5/md5init.c (Init_md5): rb_cvar_declare() is + replaced by rb_cvar_set(). + + * ext/digest/rmd160/rmd160init.c (Init_rmd160): ditto. + + * ext/digest/sha1/sha1init.c (Init_sha1): ditto. + + * ext/digest/sha2/sha2init.c (Init_sha2): ditto. + +Sun Feb 17 18:10:09 2002 Nobuyoshi Nakada + + * class.c (rb_define_class): warn unless superclass is specified + explicitly. + + * class.c (rb_define_class_under): ditto. + +Thu Feb 16 02:11:08 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-font-lock-keywords): fontify + instance/class/global variables start with '_'. + +Fri Feb 15 14:40:38 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): replace rb_cvar_declare() by rb_cvar_set(). + + * eval.c (assign): ditto. + + * variable.c (rb_cvar_set): 4th argument (warn) added; define new + class variable if it's not defined yet. + + * variable.c (rb_cvar_declare): removed. + +Fri Feb 15 13:36:58 2002 Yukihiro Matsumoto + + * bignum.c (rb_big_rshift): should properly convert the negative + value to 2's compliment. + +Thu Feb 14 17:38:35 2002 Nobuyoshi Nakada + + * parse.y: avoid SEGV at OP_ASIGN to pseudo variable. + +Thu Feb 14 14:13:16 2002 Yukihiro Matsumoto + + * struct.c (Init_Struct): should undefine "allocate" for Struct + class (it's redefined in the subclasses). + +Wed Feb 13 17:58:12 2002 Yukihiro Matsumoto + + * parse.y (stmt): local variable declaration order was changed + since 1.6 + + * parse.y (arg): ditto. + + * pack.c (pack_pack): add templates 'q' and 'Q'. + + * pack.c (pack_unpack): ditto. + + * bignum.c (rb_quad_pack): new utility function. + + * bignum.c (rb_quad_unpack): ditto. + +Tue Feb 12 01:21:34 2002 Yukihiro Matsumoto + + * parse.y (assignable): should emit CVASGN within the method + body. + +Mon Feb 11 06:13:53 2002 Matt Armstrong + + * dir.c (dir_s_glob): should not warn even if no match found. + +Mon Feb 11 04:25:54 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): clean up class variable behavior. + + * eval.c (assign): ditto. + + * eval.c (is_defined): ditto. + + * variable.c (rb_mod_class_variables): need not to call rb_cvar_singleton(). + + * variable.c (rb_cvar_singleton): removed. + +Mon Feb 11 00:10:41 2002 Nobuyoshi Nakada + + * regex.c (re_compile_fastmap): skip begpos. + +Sun Feb 10 16:52:53 2002 Nobuyoshi Nakada + + * ruby.c (load_file): avoid SEGV on '#' only input. + +Fri Feb 8 23:07:23 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): singleton check should be moved from yycompile + to here. + + * eval.c (is_defined): check should be added here too. + +Fri Feb 8 05:31:48 2002 Minero Aoki + + * lib/net/http.rb: HTTP.Proxy should use self for proxy-class's + super class. + + * lib/net/http.rb: initialize HTTP.proxy_port by HTTP.port. + +Fri Feb 8 01:27:33 2002 Yukihiro Matsumoto + + * parse.y (yycompile): should inherit "in_single" if eval happened + in a singleton method. + + * eval.c (rb_eval): class variables from singleton methods defined + within singleton class statement should work like ones defined + by singleton def statements. + +Thu Feb 7 13:44:08 2002 akira yamada + + * uri/common.rb (URI::join): new method. + + * uri/generic.rb (Generic#merge): URI.parse("http://a/")+"b" should + return "http://a/b" but it returned "http://a//b". + + * uri/generic.rb (Generic#check_path): corrected error message, + @path -> v + +Thu Feb 7 00:18:43 2002 Yukihiro Matsumoto + + * io.c (io_write): flag when buffered write is done. + + * io.c (fptr_finalize): do not raise error on EBADF if write + buffer is empty. + +Wed Feb 6 17:18:54 2002 Nobuyoshi Nakada + + * configure.in: keep old config.h unless changed. + +Wed Feb 6 13:28:53 2002 Amos Gouaux + + * lib/net/imap.rb: OpenSSL support. + + * lib/net/imap.rb (setquota): unset quota if the second argument + is nil. + +Wed Feb 6 13:05:11 2002 Yukihiro Matsumoto + + * io.c (rb_io_readlines): avoid calling GetOpenFile() repeatedly. + + * io.c (rb_io_each_line): ditto. + + * io.c (argf_getline): ditto. + + * process.c: should include to get proper CLK_TCK. + +Wed Feb 6 02:10:30 2002 Nobuyoshi Nakada + + * io.c (fptr_finalize): ignore EBADF when f and f2 use same + descriptor. + +Tue Feb 5 16:17:20 2002 Yukihiro Matsumoto + + * io.c (fptr_finalize): should raise error when fclose fails. + + * eval.c (method_inspect): proper output format to distinguish + methods and singleton methods. + +Mon Feb 4 22:44:58 2002 Nobuyoshi Nakada + + * file.c (rb_file_s_expand_path): should terminate. + +Mon Feb 4 15:38:29 2002 Yukihiro Matsumoto + + * object.c (rb_class_real): should not follow ICLASS link + + * variable.c (classname): should follow ICLASS link explicitly. + + * eval.c (rb_call): ditto. + +Fri Feb 1 19:10:04 2002 Nobuyoshi Nakada + + * intern.h: prototypes for new functions; rb_cstr_to_inum(), + rb_str_to_inum(), rb_cstr_to_dbl(), rb_str_to_dbl() + + * bignum.c (rb_cstr_to_inum): changed from rb_cstr2inum(), and + added argument badcheck to be consistent with parser. [new] + + * bignum.c (rb_str_to_inum): ditto. + + * bignum.c (rb_cstr2inum): wrapper of rb_cstr_to_inum() now. + + * bignum.c (rb_str2inum): ditto. + + * object.c (rb_cstr_to_dbl): float number parser. [new] + + * object.c (rb_str_to_dbl): ditto. + + * object.c (rb_Float): use rb_cstr_to_dbl() for strict check. + + * object.c (rb_Integer): use rb_str_to_inum() for strict check. + + * string.c (rb_str_to_f): use rb_str_to_dbl() with less check. + + * string.c (rb_str_to_i): use rb_str_to_inum() with less check. + + * string.c (rb_str_hex): ditto. + + * string.c (rb_str_oct): ditto. + + * sprintf.c (rb_f_sprintf): ditto. + + * time.c (obj2long): ditto. + + * parse.y (yylex): use rb_cstr_to_inum() for strict check. + +Fri Feb 1 17:46:39 2002 Nobuyoshi Nakada + + * regex.c (mbc_startpos): become macro. + + * regex.c (euc_startpos): added for improvement. + + * regex.c (sjis_startpos): ditto. + + * regex.c (utf8_startpos): ditto. + +Fri Feb 1 00:03:30 2002 Yukihiro Matsumoto + + * file.c (rb_stat_inspect): print dev, rdev in hexadecimal. + +Thu Jan 31 20:45:33 2002 Nobuyoshi Nakada + + * lib/mkmf.rb (dir_config): prior --with flag. + + * lib/mkmf.rb (arg_config): avoid special variables for + font-lock-mode. + +Thu Jan 31 13:22:36 2002 Tanaka Akira + + * lib/pp.rb (File::Stat#pretty_print): print rdev_major and rdev_minor. + +Wed Jan 30 15:58:04 2002 K.Kosako + + * regex.c (re_adjust_startpos): fix for SJIS and UTF-8. + + * regex.c (mbc_startpos): ditto. + +Wed Jan 30 13:37:05 2002 Yukihiro Matsumoto + + * re.c (rb_reg_search): should set regs.allocated. + +Wed Jan 30 02:25:38 2002 Nobuyoshi Nakada + + * regex.c (re_adjust_startpos): search start of multibyte + backward. + + * regex.c (mbc_startpos): ditto. + +Tue Jan 29 17:59:20 2002 Tanaka Akira + + * file.c: `major' and `minor' macro needs sys/mkdev.h on SunOS 5.x. + + * configure.in: add check for `sys/mkdev.h'. + + * lib/pp.rb: don't print a mode File::Stat as decimal number. + +Mon Jan 28 19:16:58 2002 Nobuyoshi Nakada + + * array.c (rb_ary_fill): shouldn't yield unless block given. + +Mon Jan 28 18:33:18 2002 Nobuyoshi Nakada + + * parse.y (yylex): strict check for numbers. + +Mon Jan 28 18:01:01 2002 Yukihiro Matsumoto + + * file.c (rb_stat_rdev_major): added. [new] + + * file.c (rb_stat_rdev_minor): added. [new] + + * file.c (rb_stat_inspect): print mode in octal. + +Mon Jan 28 13:29:41 2002 K.Kosako + + * eval.c (is_defined): defined?(Foo::Baz) should check constants + only, no methods. + + * eval.c (is_defined): should not dump core on defined?(a::b) + where a is not a class nor a module. + +Mon Jan 28 02:50:12 2002 Yukihiro Matsumoto + + * object.c (Init_Object): remove dup and clone from TrueClass, + FalseClass, and NilClass. + + * array.c (rb_ary_fill): Array#fill takes block to get the value to + fill. + +Sat Jan 26 20:05:18 2002 Yukihiro Matsumoto + + * string.c (rb_str_to_i): to_i(0) auto-detects base radix. + + * array.c (rb_ary_initialize): fill by the block evaluation value + if block is given. + +Fri Jan 25 17:48:43 2002 WATANABE Hirofumi + + * configure.in (solaris): add '-shared' only for GNU ld. + +Fri Jan 25 17:16:23 2002 Yukihiro Matsumoto + + * class.c (rb_include_module): detect cyclic module inclusion. + +Fri Jan 25 02:17:56 2002 Yukihiro Matsumoto + + * eval.c (rb_thread_cleanup): need not to free thread stacks at + process termination. + + * array.c (rb_ary_fetch): use the block to get the default value + if the block is given. + + * eval.c (rb_thread_schedule): should check time only if BOTH + WAIT_SELECT and WAIT_TIME. + +Thu Jan 24 11:49:05 2002 Yukihiro Matsumoto + + * eval.c (umethod_bind): should update rklass field. + + * hash.c (rb_hash_update): if a block is given, yields [key, + value1, value2] to the block to resolve conflict. + +Thu Jan 24 05:42:01 2002 Koji Arai + + * string.c (rb_str_split_m): no need to consider KANJI + characters, if the length of separator is 1 (byte). + +Wed Jan 23 16:07:31 2002 Yukihiro Matsumoto + + * array.c (Init_Array): remove Array#filter. + +Wed Jan 23 13:27:44 2002 Nobuyoshi Nakada + + * eval.c (rb_yield_0): restore source file/line after yield. + +Wed Jan 23 02:00:14 2002 Yukihiro Matsumoto + + * object.c (rb_mod_initialize): should accept zero argument. + + * object.c (rb_mod_cmp): should raise ArgumentError if + inheritance/inclusion relation between two classes/modules is + not defined. [new] + +Tue Jan 22 17:45:23 2002 Yukihiro Matsumoto + + * io.c (rb_io_fsync): new method. [new] + +Mon Jan 21 22:57:18 2002 Nobuyoshi Nakada + + * signal.c (ruby_signal): must define sighandler_t for every + occasion. + +Mon Jan 21 08:25:30 2002 Yukihiro Matsumoto + + * eval.c (ruby_stop): should not trace error handler. + + * signal.c (install_sighandler): do not install sighandler unless + the old value is SIG_DFL. + + * io.c (io_write): should not raise exception on O_NONBLOCK io. + + * dir.c (dir_set_pos): seek should return dir, pos= should not. + +Sat Jan 19 02:31:45 2002 Yukihiro Matsumoto + + * eval.c (rb_eval): need not to clear method cache for NODE_CLASS, + NODE_SCLASS. + + * gc.c (obj_free): need not to clear method cache on class/module + finalization. + +Fri Jan 18 23:38:03 2002 Yukihiro Matsumoto + + * array.c (rb_ary_fetch): index out of range raises exception + unless optional second argument is specified. + +Fri Jan 18 17:32:09 2002 Yukihiro Matsumoto + + * io.c (rb_io_s_new): block check moved from initialize to this + method. + + * io.c (rb_io_s_open): open should call initialize too. IO#for_fd + also calls initialize. [new] + +Fri Jan 18 10:26:33 2002 Yukihiro Matsumoto + + * error.c (rb_sys_fail): replace INT2FIX() by INT2NUM() since + errno value may not fit in Fixnum size on Hurd. + + * error.c (set_syserr): ditto. + +Fri Jan 18 10:12:00 2002 Usaku Nakamura + + * ext/socket/socket.c (tcp_svr_s_open): fix typo. + +Fri Jan 18 02:27:48 2002 Yukihiro Matsumoto + + * dir.c (dir_s_glob): returns nil if block given. + + * io.c (rb_io_each_byte): should return self. + + * io.c (rb_io_close_m): close check added. + + * dir.c (dir_seek): should return pos. + +Fri Jan 18 01:21:53 2002 Yukihiro Matsumoto + + * parse.y (fixpos): orig may be (NODE*)1, which should not be + dereferenced. + +Thu Jan 17 16:21:42 2002 Yukihiro Matsumoto + + * eval.c (block_pass): allow "retry" from within argument passed + block. [new] + + * eval.c (localjump_error): should preserve exit status in the + exception object. [new] + + * eval.c (proc_invoke): should raise exception for "break" if it's + yielding, not calling. [new] + + * eval.c (block_pass): should NOT raise exception for "break". [new] + + * eval.c (block_pass): should allow block argument relay even in + the tainted mode. + +Thu Jan 17 04:51:48 2002 Yukihiro Matsumoto + + * ext/socket/socket.c: support subclassing by proper "initialize" + calling convention. [new] + +Wed Jan 16 18:25:08 2002 Yukihiro Matsumoto + + * st.c: primes should be primes. + +Wed Jan 16 12:29:14 2002 Tanaka Akira + + * lib/timeout.rb (timeout): new optional argument to specify an + exception class. + + * lib/resolv.rb: use Resolv::ResolvTimeout for internal timeout to + avoid problem with timeout of application. + +Wed Jan 16 11:12:30 2002 Nobuyoshi Nakada + + * object.c (rb_Float): remove underscores between digits. + + * bignum.c (rb_cstr2inum): reject prefix followed by spaces only. + + * class.c (rb_class_inherited): should use Object when no super + class. + +Tue Jan 15 01:11:44 2002 Yukihiro Matsumoto + + * eval.c (is_defined): method defined? check should honor + protected too. + +Mon Jan 14 13:06:02 2002 Yukihiro Matsumoto + + * eval.c (block_pass): should not pass tainted block, if $SAFE > 0. + +Sun Jan 13 09:31:41 2002 Koji Arai + + * variable.c (rb_mod_remove_cvar): should pass the char*. + +Fri Jan 11 05:06:25 2002 Nobuyoshi Nakada + + * class.c (rb_make_metaclass): [new] + + * class.c (rb_define_class_id): use rb_make_metaclass(), don't + call Class#inherited hook. + + * class.c (rb_class_inherited): [new] + + * class.c (rb_define_class): call Class#inherited hook here. + + * class.c (rb_define_class_under): ditto after class path is set. + + * class.c (rb_singleton_class): use rb_make_metaclass(). + + * eval.c (rb_eval): same as rb_define_class_under(). + + * intern.h: prototypes of rb_make_metaclass() and + rb_class_inherited(). + + * object.c (rb_class_s_new): use rb_make_metaclass() and + rb_class_inherited(). + + * object.c (Init_Object): use rb_make_metaclass(). + + * struct.c (make_struct): use rb_class_inherited(). + +Thu Jan 10 19:15:15 2002 Nobuyoshi Nakada + + * eval.c (rb_add_method): should clear cache by id always. + + * eval.c (rb_disable_super): no longer need to clear cache before + rb_add_method(). + + * eval.c (rb_export_method): ditto. + + * eval.c (rb_attr): ditto. + + * eval.c (rb_undef): ditto. + + * eval.c (rb_eval): ditto. + + * eval.c (rb_mod_modfunc): ditto. + + * eval.c (rb_mod_define_method): ditto. + +Thu Jan 10 11:42:47 2002 Usaku Nakamura + + * win32/resource.rb: Modify copyright in resource script. + +Thu Jan 10 07:15:44 2002 takuma ozawa + + * re.c (match_select): should propagate taintness. + +Thu Jan 10 00:54:57 2002 Yukihiro Matsumoto + + * hash.c (rb_hash_set_default): Hash#default= should return the + new value. + +Wed Jan 9 20:21:09 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-calculate-indent): indentation after + comment at beginning of buffer failed. + + * misc/ruby-mode.el (font-lock-defaults): unless XEmacs, set + font-lock variables in ruby-mode-hook. + +Tue Jan 8 15:56:20 2002 Yukihiro Matsumoto + + * string.c (rb_str_to_i): accepts optional base argument. [new] + + * numeric.c (rb_fix2str): should not handle negative fixnum values + int32 via calling sprintf() directly. + +Tue Jan 8 15:54:02 2002 Nobuyoshi Nakada + + * eval.c (rb_add_method): clear replaced method from the cache. + +Mon Jan 7 12:38:47 2002 Tanaka Akira + + * lib/time.rb (Time#xmlschema): new optional argument + fractional_seconds to specify a number of digits of + fractional part of the time. + +Sat Jan 5 13:18:11 2002 Nobuyoshi Nakada + + * range.c (range_member): beginning check was + wrong. [ruby-talk:30252] + +Sat Jan 5 03:07:34 2002 Yukihiro Matsumoto + + * string.c (rb_str_new2): NULL pointer check added. + +Sat Jan 5 00:19:12 2002 Nobuyoshi Nakada + + * parse.y (yycompile): strdup()'ed twice. + +Fri Jan 4 18:29:10 2002 Michal Rokos + + * class.c (rb_define_module_under): should locate predefined + module using rb_const_defined_at(). + +Fri Jan 4 17:23:49 2002 Nobuyoshi Nakada + + * misc/ruby-mode.el (ruby-forward-string): forward a string. [new] + + * misc/ruby-mode.el (ruby-parse-region): handle nested parentheses + in a string and terminators in #{}. + + * misc/ruby-mode.el (ruby-calculate-indent): ditto. + +Wed Jan 2 23:34:25 2002 WATANABE Hirofumi + + * lib/mkmf.rb (create_makefile): add -I. to CPPFLAGS. + + * lib/mkmf.rb (create_makefile): srcdir support(.def and depend file). + +Wed Jan 2 11:51:56 2002 Yukihiro Matsumoto + + * process.c (rb_f_system): abandon vfork. + + * io.c (pipe_open): ditto. + +Tue Jan 1 02:16:48 2002 WATANABE Hirofumi + + * ext/curses/extconf.rb: add dir_config. + + * Makefile.in (fake.rb): set RUBY_VERSION. + +Mon Dec 31 14:20:46 2001 Nobuyoshi Nakada + + * parse.y (yycompile): always store copy of filename. + + * parse.y (rb_compile_file): no longer need to strdup() here. + +Mon Dec 31 05:26:40 2001 Ferris McCormick + + * defines.h: sparc linux needs different FLUSH_REGISTER_WINDOWS + +Mon Dec 31 04:27:28 2001 Minero Aoki + + * lib/net/protocol.rb: Protocol#start returns the return value of + block. + + * lib/net/protocol.rb: set timeout limit by default. + + * lib/net/protocol.rb: new methods WriteAdapter#write, puts, + print, printf. + + * lib/net/http.rb: rename HTTP#get2 to request_get, post2 to + request_post ... + + * lib/net/smtp.rb: should not resolve HELO domain automatically. + +Sun Dec 30 00:59:16 2001 WATANABE Hirofumi + + * ext/extmk.rb.in, lib/mkmf.rb (have_library): accept -lm + unconditionally on mswin32/mingw32. + +Sat Dec 29 01:55:42 2001 Yukihiro Matsumoto + + * regex.c (re_search): abandon stclass optimization. + +Fri Dec 28 14:39:05 2001 Nobuyoshi Nakada + + * array.c (rb_cmpint): fixed typo. + +Thu Dec 27 18:43:04 2001 Nobuyoshi Nakada + + * bignum.c (rb_cstr2inum): deny "0_". + +Thu Dec 27 01:54:02 2001 Nobuyoshi Nakada + + * bignum.c (rb_cstr2inum): allow "0\n" and so on. + +Wed Dec 26 19:24:21 2001 Yukihiro Matsumoto + + * error.c (rb_invalid_str): utility function to show inspect()'ed + string. + + * bignum.c (rb_cstr2inum): prints invalid strings in inspect()'ed + format. + + * object.c (rb_Float): ditto. + +Wed Dec 26 02:41:29 2001 Yukihiro Matsumoto + + * object.c (rb_convert_type): no longer use rb_rescue(). + +Tue Dec 25 18:32:16 2001 K.Kosako + + * re.c (rb_reg_search): initialize taint status of match object. + +Tue Dec 25 02:37:49 2001 Tanaka Akira + + * lib/pp.rb, lib/prettyprint.rb: new files. + +Tue Dec 25 02:11:17 2001 Yukihiro Matsumoto + + * object.c (rb_convert_type): check method response check before + invoking rb_rescue(). + + * object.c (rb_check_convert_type): ditto. + +Mon Dec 24 02:37:40 2001 Le Wang + + * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): + fix font-lock problem [ruby-talk:29296]. + +Sat Dec 22 22:52:14 2001 Yukihiro Matsumoto + + * time.c (time_timeval): wrong cast to time_t. + + * time.c (time_plus): ditto. + +Fri Dec 21 20:33:34 2001 K.Kosako + + * parse.y (str_extend): make up "#$;" handling. + +Fri Dec 21 16:18:17 2001 Nobuyoshi Nakada + + * dln.h, ruby.h, util.h: enable prototypes in C++. + +Fri Dec 21 15:12:41 2001 Yukihiro Matsumoto + + * time.c (time_plus): result should not be negative unless + NEGATIVE_TIME_T is defined. + + * time.c (time_new_internal): should check tv_sec overflow too. + + * time.c (time_timeval): should check time_t range when time is + initialized from float. + + * time.c (time_plus): uses modf(3). + +Fri Dec 21 03:15:52 2001 Nobuyoshi Nakada + + * eval.c (rb_mod_define_method): must not convert Method to Proc. + +Fri Dec 21 01:17:57 2001 Nobuyoshi Nakada + + * lib/mkmf.rb (with_destdir): new. + + * lib/mkmf.rb: prefix target directories with $(DESTDIR) all. + + * lib/mkmf.rb: no need to mkdir $(libdir) + +Thu Dec 20 14:08:20 2001 Minero Aoki + + * lib/net/protocol.rb: rename Net::Socket to Net::BufferedSocket + +Thu Dec 20 13:51:52 2001 K.Kosako + + * variable.c (rb_cvar_set): add frozen class/module check. + + * variable.c (rb_cvar_declare): add frozen class/module check. + +Thu Dec 20 01:01:50 2001 takuma ozawa + + * re.c (match_to_a): should propagate taint. + + * re.c (rb_reg_s_quote): ditto. + +Wed Dec 19 16:58:29 2001 Shugo Maeda + + * ext/readline/readline.c: new methods + Readline::basic_word_break_characters, + Readline::basic_word_break_characters=, + Readline::completer_word_break_characters, + Readline::completer_word_break_characters=, + Readline::basic_quote_characters, + Readline::basic_quote_characters=, + Readline::completer_quote_characters, + Readline::completer_quote_characters=, + Readline::filename_quote_characters, + Readline::filename_quote_characters=. + +Wed Dec 19 14:05:00 2001 Yukihiro Matsumoto + + * eval.c (rb_mod_define_method): define_method should follow + default method visibility. + + * eval.c (rb_attr): should warn if the default method visibility + is "module_function" (can be error). + + * eval.c (rb_mod_define_method): should define class/module method + also if the visibility is "module_function". + + * eval.c (rb_mod_define_method): should call hook method + "method_added", and "singleton_method_added". + +Wed Dec 19 11:42:13 2001 K.Kosako + + * string.c: use RESIZE_CAPA for capacity change. + +Wed Dec 19 03:08:40 2001 Tanaka Akira + + * lib/time.rb: date.rb is not required anymore. + + * lib/resolv.rb: fix document. refine IPv6 regex. + +Tue Dec 18 23:24:53 2001 Yukihiro Matsumoto + + * ext/socket/socket.c (Init_socket): add listen method to + TCPServer and UNIXServer. + +Tue Dec 18 17:54:53 2001 WATANABE Hirofumi + + * sample/test.rb: Hash#indexes -> Hash#select. + +Tue Dec 18 01:02:13 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): should not select a thread which is + not yet initialized. + +Mon Dec 17 18:53:49 2001 K.Kosako + + * string.c (rb_str_replace): swap arguments of OBJ_INFECT. + +Mon Dec 17 16:52:20 2001 Nobuyoshi Nakada + + * intern.h: add prototypes. + rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5() + rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(), + rb_str_dup_frozen() + + * ruby.h: added declaration. + rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo + + * rubyio.h: changed double include guard macro to RUBYIO_H. + + * array.c (inspect_call): make static. + + * eval.c (dvar_asgn): ditto. + + * io.c (rb_io_close_read): ditto. + + * lex.c (rb_reserved_word): ditto. + + * ruby.c: (req_list_head, req_list_last): ditto. + + * ruby.c (require_libraries): ditto. + +Mon Dec 17 15:41:24 2001 Yukihiro Matsumoto + + * time.c (time_plus): wrong boundary check. + + * time.c (time_minus): ditto. + +Mon Dec 17 15:19:32 2001 Tanaka Akira + + * time.c: new method `gmtoff', `gmt_offset' and `utc_offset'. + (time_utc_offset): new function. + (Init_Time): bind above methods to `time_utc_offset'. + + * time.c: 64bit time_t support. + (time_s_at): use NUM2LONG instead of NUM2INT for tv_sec. + (time_arg): initialize tm_isdst correctly. + use long to initialize tm_year. + (search_time_t): renamed from `make_time_t'. + (make_time_t): call `timegm' and `mktime' instead of `search_time_t' + if available. + (time_to_i): use LONG2NUM instead of INT2NUM. + (time_localtime): check localtime failure. + (time_gmtime): check gmtime failure. + (time_year): use LONG2NUM instead of INT2FIX. + (time_to_a): use long for tm_year. + (time_dump): check tm_year which is not representable with 17bit. + (time_load): initialize tm_isdst. + + * configure.in: check existence of `mktime' and `timegm'. + check existence of tm_gmtoff field of struct tm. + fix negative time_t for 64bit time_t. + + * missing/strftime.c: fix overflow by tm_year + 1900. + + * lib/time.rb: use Time#utc_offset. + +Mon Dec 17 00:02:04 2001 Guy Decoux + + * variable.c (find_class_path): should initialize iv_tbl if it's + NULL. + +Fri Dec 14 04:23:36 2001 Minero Aoki + + * lib/net/pop.rb: new method Net::POP3.APOP + + * lib/net/http.rb: set default Content-Type to + x-www-form-urlencoded (causes warning) + + * lib/net/protocol.rb: remove Net::NetPrivate module. + + * lib/net/smtp.rb: ditto. + + * lib/net/pop.rb: ditto. + + * lib/net/http.rb: ditto. + +Fri Dec 14 00:16:06 2001 Yukihiro Matsumoto + + * class.c (rb_define_class): should return the existing class if + the class is already defined and its superclass is identical to + the specified superclass. + + * class.c (rb_define_class_under): ditto. + + * class.c (rb_define_module): should return the existing module if + the module is already defined. + +Thu Dec 13 09:52:59 2001 Yukihiro Matsumoto + + * time.c (time_new_internal): avoid loop to calculate negative + div, mod. + + * time.c (time_cmp): should handle Bignums. + +Tue Dec 11 17:39:16 2001 K.Kosako + + * array.c (rb_ary_pop): should ELTS_SHARED flag check before + REALLOC. + +Tue Dec 11 12:45:28 2001 Yukihiro Matsumoto + + * string.c (rb_str_match_m): should convert an argument into + regexp if it's a string. + +Tue Dec 11 03:40:23 2001 Yukihiro Matsumoto + + * array.c (rb_ary_select): Array#select(n,m,...) now works like + Array#indexes(n,m,..). [new, experimental] + + * hash.c (rb_hash_select): ditto. + + * hash.c (env_select): ditto. + + * re.c (match_select): ditto. + + * struct.c (rb_struct_select): ditto. + +Tue Dec 11 03:17:19 2001 Nobuyoshi Nakada + + * object.c (rb_class_real): follow included modules. + +Mon Dec 10 23:37:51 2001 Usaku Nakamura + + * util.h: change prototype of ruby_qsort() to accord with its + definition. + +Mon Dec 10 20:30:01 2001 K.Kosako + + * gc.c (STR_ASSOC): use FL_USER3 instead of FL_USER2. + +Mon Dec 10 17:40:02 2001 K.Kosako + + * parse.y (str_extend): make up pushback call. + +Mon Dec 10 02:09:28 2001 Yukihiro Matsumoto + + * array.c (rb_ary_modify): should copy the internal buffer if the + modifying buffer is shared. + + * array.c (ary_make_shared): make an internal buffer of an array + to be shared. + + * array.c (rb_ary_shift): avoid sliding an internal buffer by + using shared buffer. + + * array.c (rb_ary_subseq): avoid copying the buffer. + +Mon Dec 10 01:06:56 2001 Yukihiro Matsumoto + + * parse.y (gettable): should freeze __FILE__ string. + +Sun Dec 9 18:06:26 2001 Minero Aoki + + * lib/net/protocol.rb: calls on_connect before conn_command + +Sat Dec 8 23:27:44 2001 Yukihiro Matsumoto + + * io.c (rb_io_puts): old behavior restored. rationale: a) if you + want to call to_s for arrays, you can just call print a, "\n". + b) to_s wastes memory if array (and sum of its contents) is + huge. c) now any object that has to_ary is treated as an array, + using rb_check_convert_type(). + +Sat Dec 8 22:40:38 2001 Yukihiro Matsumoto + + * hash.c (rb_hash_initialize): now accepts a block to calculate + the default value. [new] + + * hash.c (rb_hash_aref): call "default" method to get the value + corresponding to the non existing key. + + * hash.c (rb_hash_default): get the default value based on the + block given to 'new'. Now it takes an optional "key" argument. + "default" became the method to get the value for non existing + key. Users may override "default" method to change the hash + behavior. + + * hash.c (rb_hash_set_default): clear the flag if a block is given + to 'new' + +Sat Dec 8 02:29:54 2001 Yukihiro Matsumoto + + * object.c (Init_Object): undef Data.allocate, left Data.new. + +Fri Dec 7 19:12:14 2001 Minero Aoki + + * lib/net/smtp.rb: SMTP.new requires at least one arg. + + * lib/net/pop.rb: POP.new requires at least one arg. + + * lib/net/pop.rb: uses "raise *Error.new" instead of simple raise. + + * lib/net/http.rb: HTTP.new requires at least one arg. + + * lib/net/http.rb: changes implicit start algorithm. + +Fri Dec 7 15:49:39 2001 Usaku Nakamura + + * ext/extmk.rb.in: ignore adding -Wl,-R to DLDFLAGS when the directory + is $topdir. + +Fri Dec 7 13:58:58 2001 Yukihiro Matsumoto + + * ext/curses/curses.c (window_scrollok): use RTEST(). + + * ext/curses/curses.c (window_idlok): ditto. + + * ext/curses/curses.c (window_keypad): ditto. + + * ext/curses/curses.c (window_idlok): idlok() may return void on + some platforms; so don't use return value. + + * ext/curses/curses.c (window_scrollok): ditto for consistency. + + * ext/curses/curses.c: replace FIX2INT() by typechecking NUM2INT(). + +Fri Dec 7 09:51:00 2001 Yukihiro Matsumoto + + * parse.y (str_extend): should not process immature #$x and + #@x interpolation, e.g #@#@ etc. + +Fri Dec 7 03:21:18 2001 Yukihiro Matsumoto + + * enum.c (enum_sort_by): sort_by does not have to be stable always. + + * enum.c (enum_sort_by): call qsort directly to gain performance. + +Thu Dec 6 18:52:28 2001 Usaku Nakamura + + * ext/extmk.rb.in: add -Wl,-R flags to DLDFLAGS on netbsdelf. + + * lib/mkmf.rb: ditto. + +Thu Dec 6 09:15:14 2001 Yukihiro Matsumoto + + * util.c (ruby_qsort): ruby_qsort(qs6) is now native thread safe. + + * error.c (rb_sys_fail): it must be a bug if it's called when + errno == 0. + +Wed Dec 5 23:36:56 2001 Yukihiro Matsumoto + + * regex.c (WC2MBC1ST): should not pass through > 0x80 number in UTF-8. + +Wed Dec 5 20:05:18 2001 Florian Frank + + * ext/socket/socket.c (bsock_send): should raise EWOULDBLOCK + exception. + + * ext/socket/socket.c (s_recvfrom): ditto. + + * ext/socket/socket.c (s_accept): ditto. + + * ext/socket/socket.c (udp_send): ditto. + +Tue Dec 4 17:43:10 2001 Yukihiro Matsumoto + + * ruby.h (DUPSETUP): new SETUP macro for duplication. + + * time.c (time_dup): implement in Time class using DUPSETUP. + + * time.c (time_getlocaltime): new method; probably requires + better name than getlocaltime. [new,experimental] + + * time.c (time_getgmtime): ditto. + + * array.c (rb_ary_dup): uses DUPSETUP. + + * string.c (rb_str_dup): uses DUPSETUP. now properly copies + instance variables too. + +Tue Dec 4 03:49:06 2001 Yukihiro Matsumoto + + * io.c (io_fread): EAGAIN/EWOULDBLOCK should not terminate and + throw away the input. + + * time.c (time_new_internal): underflow adjustment must not use + negative div/mod. + + * time.c (time_cmp): should consider tv_usec on non Fixnum number + comparison. +Sun Dec 9 23:00:54 2001 Keiju Ishitsuka + * matrix.rb: Vector#* bug. reported from Massimiliano Mirra + . + +Sun Dec 9 22:15:59 2001 Nobuyoshi Nakada + + * enum.c (enum_sort_by): should replace with last elements. + +Mon Dec 3 16:06:57 2001 WATANABE Hirofumi + + * ext/socket/extconf.rb: remove -L/usr/local/lib. + + * configure.in: add -Wl,-export-dynamic on NetBSD. + +Mon Dec 3 16:04:16 2001 Usaku Nakamura + + * configure.in: not use X11BASE, since it's not always set. + +Mon Dec 3 13:53:49 2001 Tanaka Akira + + * time.c (rb_strftime): buffer length condition was wrong. + + * time.c (time_strftime): should backup buf to the original + buffer. + +Mon Dec 3 09:59:08 2001 Yukihiro Matsumoto + + * time.c (time_plus): must detect result overflow. + + * time.c (time_minus): ditto. + + * time.c (time_new_internal): round usec overflow and underflow + here. + + * time.c (time_plus): move operand overflow/underflow check to + time_new_internal(). + + * time.c (time_minus): ditto. + + * time.c (time_cmp): should consider tv_usec too. + +Mon Dec 3 03:32:22 2001 Usaku Nakamura + + * configure.in: apply patch from NetBSD's pkgsrc (patch-aa). + +Sun Dec 2 22:01:52 2001 WATANABE Hirofumi + + * configure.in: use GCC, not without_gcc. remove without_gcc. + + * ext/curses/extconf.rb: check for curses.h. + + * ext/dbm/extconf.rb: check if $CFLAGS includes DBM_HDR. + +Sat Dec 1 12:13:20 2001 Yukihiro Matsumoto + + * time.c (time_gmtime): time_modify() should be called even if tm + struct is not calculated yet. + +Fri Nov 30 17:02:55 2001 WATANABE Hirofumi + + * configure.in: set target_cpu to i386 on cygwin and mingw32. + + * configure.in: default --enable-shared to yes on cygwin and mingw32. + +Fri Nov 30 00:25:28 2001 Usaku Nakamura + + * README.EXT: Appendix B is duplicated. + + * README.EXT.ja: ditto. + +Thu Nov 29 00:28:07 2001 Yukihiro Matsumoto + + * string.c (rb_str_equal): object with to_str must be treated as a + string. + +Wed Nov 28 18:46:28 2001 Ville Mattila + + * eval.c (rb_thread_select): should subtract timeofday() from + limit, not reverse. + +Wed Nov 28 16:03:28 2001 K.Kosako + + * util.c (scan_hex): x is not a hexadecimal digit. + +Wed Nov 28 13:38:04 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): should treat the case that + select(2) returns 0, if a thread is under both WAIT_SELECT and + WAIT_TIME. Jakub Travnik actually fixed + this bug. + +Tue Nov 27 02:15:25 2001 Yukihiro Matsumoto + + * marshal.c (w_float): must distinguish -0.0 from 0.0. + +Mon Nov 26 20:57:24 2001 Akinori MUSHA + + * ext/Setup*, ext/syslog/*: import the "syslog" module from the + rough ruby project. + +Mon Nov 26 16:14:42 2001 K.Kosako + + * gc.c (gc_mark_all): tweak mark order for little bit better scan. + + * gc.c (rb_gc_mark): ditto. + + * gc.c (rb_gc): ditto. + +Mon Nov 26 16:54:59 2001 Usaku Nakamura + + * win32/win32.c (mypopen): fixed that mypclose() didn't really close + pipe. + + * win32/win32.c (CreateChild): set STARTF_USESTDHANDLES flag only + when some handles are passed. + +Mon Nov 26 16:31:28 2001 Yukihiro Matsumoto + + * enum.c (sort_by_i): slight performance boost. + +Sun Nov 25 21:02:18 2001 Usaku Nakamura + + * parse.y (str_extend): change types of second and third arguments + from char to int. + +Thu Nov 22 20:15:28 2001 TAMURA Takashi + + * gc.c (gc_mark_rest): should call gc_mark_children(), not gc_mark(). + + * gc.c (rb_gc_mark): may cause infinite loop. + +Thu Nov 22 00:28:13 2001 Yukihiro Matsumoto + + * parse.y (str_extend): should check nesting parentheses in #{}. + +Wed Nov 21 12:22:52 2001 Shugo Maeda + + * lib/cgi.rb: CGI#header: do not set Apache.request.status for + Location: if Apache.request.status is already set. + +Wed Nov 21 02:24:18 2001 Yukihiro Matsumoto + + * process.c (pst_wstopsig): returns nil unless WIFSTOPPED() is + non-zero. + + * process.c (pst_wtermsig): returns nil unless WIFSIGNALED() is + non-zero. + + * process.c (pst_wexitstatus): returns nil unless WIFEXITED() is + non-zero. + +Wed Nov 21 00:17:54 2001 Ville Mattila + + * eval.c (rb_thread_select): tv_sec and tv_usec should not be + negative. + + * signal.c (posix_signal): do not set SA_RESTART for SIGVTALRM. + +Tue Nov 20 21:09:22 2001 Guy Decoux + + * parse.y (call_args2): block_arg may follow the first argument in + call_args2. + +Tue Nov 20 02:01:15 2001 Yukihiro Matsumoto + + * eval.c (stack_check): should avoid stack length check during + raising SystemStackError exception. + +Tue Nov 20 01:07:13 2001 Yukihiro Matsumoto + + * parse.y (str_extend): should not terminate string interpolation + with newlines in here-docs and newline terminated strings. + +Mon Nov 19 17:58:49 2001 Yukihiro Matsumoto + + * eval.c (rb_mod_modfunc): should follow NODE_ZSUPER link; based + on Guy Decoux's patch in [ruby-talk:25478]. + +Mon Nov 19 16:09:33 2001 Tanaka Akira + + * string.c (rb_str_succ): there was buffer overrun. + +Mon Nov 19 14:14:58 2001 Yukihiro Matsumoto + + * parse.y (str_extend): term can be any character. + +Mon Nov 19 04:58:42 2001 Wakou Aoyama + + * lib/cgi.rb (header): support for Apache. thanks to + Shugo Maeda . + +Sun Nov 18 19:37:55 2001 Nobuyoshi Nakada + + * parse.y: needless conditionals. + + * parse.y (parse_regx): parse error at unterminated regex /#{. + (ruby-bugs-ja:PR#142) + +Sat Nov 17 12:37:39 2001 Yukihiro Matsumoto + + * pack.c (pack_unpack): should give length to utf8_to_uv(). + + * pack.c (utf8_to_uv): add length check. + +Sat Nov 17 01:41:52 2001 Yukihiro Matsumoto + + * massages: replace "wrong #" by "wrong number". + + * marshal.c (w_float): output Infinity and NaN explicitly. + + * marshal.c (r_object): support new explicit float format. + + * eval.c (rb_thread_wait_for): select may cause ERESTART on + Solaris. + + * eval.c (rb_thread_select): ditto. + +Thu Nov 15 15:29:39 2001 Nobuyoshi Nakada + + * array.c (rb_ary_join): non-nil separator must be converted to + String. and separators' total length was wrong. + +Thu Nov 15 03:37:17 2001 Usaku Nakamura + + * hash.c (ruby_setenv): remove USE_WIN32_RTL_ENV block since it's + obsoleted. + + * win32/win32.c, win32/win32.h: sort out #if 0 - #endif or others. + +Thu Nov 15 00:07:12 2001 Yukihiro Matsumoto + + * array.c (rb_ary_to_s): if rb_output_fs is nil, insert newlines + between array elements (use rb_default_rs as newline literal) + [experimental]. + +Wed Nov 14 15:16:23 2001 K.Kosako + + * gc.c (init_mark_stack): no need to clear mark_stack. + + * gc.c (gc_mark_all): need to handle finalizer mark. + + * gc.c (gc_mark_rest): use MEMCPY instead of memcpy. + + * gc.c (rb_gc_mark): earlier const check to avoid pusing special + constants into mark stack. + +Wed Nov 14 01:12:07 2001 Usaku Nakamura + + * win32/win32.c (waitpid): fix wait count. + + * win32/win32.c (poll_child_status): rename from wait_child(). + +Wed Nov 14 01:33:49 2001 Yukihiro Matsumoto + + * numeric.c (fix_to_s): 'to_s' now takes optional argument to + specify radix. [new] + + * bignum.c (rb_big_to_s): ditto. [new] + +Tue Nov 13 19:50:30 2001 WATANABE Hirofumi + + * configure.in: do not override CC if set. + +Tue Nov 13 16:49:16 2001 Usaku Nakamura + + * win32/win32.c (mypopen): return error status instead of calling + rb_sys_fail(). + + * win32/win32.c (do_spawn): ditto. + +Tue Nov 13 14:39:11 2001 WATANABE Tetsuya + + * signal.c (sighandle): should not re-register sighandler if + POSIX_SIGNAL is defined. + +Tue Nov 13 12:55:59 2001 Usaku Nakamura + + * win32/win32.c (do_spawn): use CreateChild() instead of calling + CreateProcess() directly. Original patches comes from Patrick Cheng. + + * win32/win32.c (mypopen): ditto. + + * win32/win32.c (mypclose): use rb_syswait() instead of waiting in this + function. + + * win32/win32.c (waitpid): use wait_child() instead of _cwait(). + + * win32/win32.c (CreateChild): added. [new] + + * win32/win32.c (wait_child): added. [new] + + * win32/win32.c (FindFirstChildSlot): added. [new] + + * win32/win32.c (FindChildSlot): added. [new] + + * win32/win32.c (FindPipedChildSlot): added. [new] + + * win32/win32.c (CloseChildHandle): added. [new] + + * win32/win32.c (FindFreeChildSlot): added. [new] + +Tue Nov 13 12:38:12 2001 Usaku Nakamura + + * hash.c (envix): use GET_ENVIRON and FREE_ENVIRON to get environment + variables list. + + * hash.c (env_keys): ditto. + + * hash.c (env_each_key): ditto. + + * hash.c (env_values): ditto. + + * hash.c (env_keys): ditto. + + * hash.c (env_each_value): ditto. + + * hash.c (env_each): ditto. + + * hash.c (env_inspect): ditto. + + * hash.c (env_to_a): ditto. + + * hash.c (env_size): ditto. + + * hash.c (env_empty_p): ditto. + + * hash.c (env_has_value): ditto. + + * hash.c (env_index): ditto. + + * hash.c (env_to_hash): ditto. + + * win32/win32.c (win32_getenv): use static buffer. + + * win32/win32.c, win32/win32.h (win32_get_environ): get environment + variables list. [new] + + * win32/win32.c, win32/win32.h (win32_free_environ): free environment + variables list. [new] + +Mon Nov 12 16:48:48 2001 Yukihiro Matsumoto + + * eval.c (error_print): errat array may be empty. + +Mon Nov 12 01:30:37 2001 Yukihiro Matsumoto + + * eval.c (rb_eval_cmd): should not upgrade safe level unless + explicitly specified by argument newly added. + + * signal.c (sig_trap): should not allow tainted trap closure. + + * variable.c (rb_f_trace_var): should not allow trace_var on safe + level higher than 3. + + * variable.c (rb_f_trace_var): should not allow tainted trace + closure. + +Sun Nov 11 00:12:23 2001 TAMURA Takashi + + * gc.c: do not use static stack until system stack overflows. + +Sat Nov 10 03:57:09 2001 Yukihiro Matsumoto + + * eval.c (eval): should call Exception#exception instead of + calling rb_exc_new3() directly. + + * error.c (exc_exception): set "mesg" directly to the clone. it + might be better to set mesg via some method for flexibility. + +Sat Nov 10 00:14:24 2001 Yukihiro Matsumoto + + * variable.c (cvar_override_check): should print original module + name, if 'a' is T_ICLASS. + + * parse.y (yylex): float '1_.0' should not be allowed. + + * variable.c (var_getter): should care about var as Qfalse + (ruby-bugs#PR199). + +Fri Nov 9 13:50:06 2001 Usaku Nakamura + + * win32/config.status.in: make CFLAGS same as Makefile's one. + +Thu Nov 8 20:20:37 2001 Nobuyoshi Nakada + + * eval.c (rb_trap_eval): avoid annoying warning with signal. + [ruby-talk:23225] + + * eval.c (rb_call0): adjust caller source file/line while + evaluating optional arguments. + +Thu Nov 8 18:41:58 2001 Yukihiro Matsumoto + + * array.c (cmpint): <=> or block for {min,max} may return bignum. + + * array.c (sort_1): use rb_compint. + + * array.c (sort_2): ditto. + + * enum.c (min_ii): ditto. + + * enum.c (min_ii): ditto. + + * enum.c (max_i): ditto. + + * enum.c (max_ii): ditto. + +Thu Nov 8 18:21:02 2001 Yukihiro Matsumoto + + * file.c (path_check_1): forgot to initialize 'p'. + +Thu Nov 8 14:52:15 2001 Tanaka Akira + + * mkconfig.rb: use String#dump to generate Ruby string literal. + +Thu Nov 8 15:46:54 2001 Yukihiro Matsumoto + + * range.c (range_eql): should override 'eql?' + + * array.c (rb_ary_hash): should override 'hash' too. + +Tue Nov 6 14:38:48 2001 Yukihiro Matsumoto + + * process.c (security): always give warning for insecure PATH. + + * dir.c (my_getcwd): do not rely on MAXPATHLEN. + + * file.c (rb_file_s_readlink): ditto. + + * file.c (path_check_1): ditto. + +Tue Nov 6 14:17:14 2001 Amos Gouaux + + * lib/net/imap.rb (getquota_response): use astring for mailbox + names. + + * lib/net/imap.rb (getacl_response): ditto. + +Mon Nov 5 17:09:55 2001 Yukihiro Matsumoto + + * eval.c (rb_yield_0): should not call rb_f_block_given_p(). + +Sat Nov 3 23:33:18 2001 Yukihiro Matsumoto + + * string.c (rb_str_chomp_bang): should terminate string by NUL. + +Sat Nov 3 22:28:51 2001 Keiju Ishitsuka + + * matrix.rb (Matrix#column_vectors, Matrix#row_vectors): ditto bug. + this bug report and fix by tsutomu@nucba.ac.jp. + + * forwardable.rb: change raise to Kernel::raise + +Sat Nov 3 10:11:57 2001 Yukihiro Matsumoto + + * eval.c (rb_yield_0): better error message. + +Thu Nov 1 14:08:42 2001 Yukihiro Matsumoto + + * bignum.c (rb_big_aref): idx may be a Bignum. + + * numeric.c (fix_aref): negative index must return zero. + +Thu Nov 1 13:23:50 2001 Yukihiro Matsumoto + + * gc.c (gc_mark_children): should NOT treat last element of + structs and arrays specially. + +Wed Oct 31 16:59:25 2001 Yukihiro Matsumoto + + * eval.c (exec_under): should initialize ruby_frame->self; + +Wed Oct 31 15:09:28 2001 Yukihiro Matsumoto + + * eval.c (POP_VARS): should not set DVAR_DONT_RECYCLE if _old + ruby_vars is already force_recycled. + +Wed Oct 31 10:28:49 2001 Yukihiro Matsumoto + + * gc.c (rb_gc): handles mark stack overflow. + + * gc.c (PUSH_MARK): use static mark stack, no more recursion. + +Wed Oct 31 02:44:06 2001 Wakou Aoyama + + * lib/cgi.rb: CGI::Cookie::parse(): Ignore duplicate keys caused by + Netscape bug. + +Tue Oct 30 18:21:51 2001 Usaku Nakamura + + * win32/mkexports.rb: follow the change of rb_io_puts(). + +Tue Oct 30 14:04:04 2001 Yukihiro Matsumoto + + * string.c (rb_str_chomp_bang): do smart chomp if $/ == '\n'. [new] + + * io.c (rb_io_puts): don't treat Array specially. + + * bignum.c (rb_big_cmp): should convert bignum to float. + + * eval.c (rb_f_eval): can't modify untainted binding. + +Mon Oct 29 16:08:30 2001 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): should preserve p0 value. + +Mon Oct 29 14:56:44 2001 Usaku Nakamura + + * intern.h (rb_protect_inspect): follow the change of array.c. + + * eval.c (rb_exec_end_proc): follow the change of rb_protect(). + + * eval.c (method_proc, umethod_proc, rb_catch): cast the first + parameter of rb_iterate() to avoid VC++ warning. + + * range.c (range_step): ditto. + + * ext/sdbm/init.c (fsdbm_update, fsdbm_replace): ditto. + +Mon Oct 29 07:57:31 2001 Yukihiro Matsumoto + + * parse.y (str_extend): should allow interpolation of $-x. + + * variable.c (rb_cvar_set): empty iv_tbl may cause infinite loop. + + * variable.c (rb_cvar_get): ditto. + + * variable.c (cvar_override_check): ditto. + +Sat Oct 27 23:01:19 2001 Yukihiro Matsumoto + + * bignum.c (rb_big_eq): convert Bignum to Float, instead of + reverse. + +Fri Oct 26 06:19:29 2001 Yukihiro Matsumoto + + * time.c (time_localtime): getting tm should not be prohibited for + frozen time objects. + + * time.c (time_gmtime): ditto. + + * version.c (Init_version): freeze RUBY_VERSION, + RUBY_RELEASE_DATE, and RUBY_PLATFORM. + + * file.c (Init_File): freeze File::SEPARATOR, ALT_SEPARATOR and + PATH_SEPARATOR. + + * file.c (rb_stat_cmp): should check operand type before calling + get_stat(). + +Thu Oct 25 10:28:15 2001 Yukihiro Matsumoto + + * eval.c (rb_eval_cmd): should not invoke "call" with a block on + any occasion. + +Wed Oct 24 03:25:31 2001 Yukihiro Matsumoto + + * numeric.c (fix_aref): idx may be a Bignum. + +Tue Oct 23 01:21:19 2001 Nobuyoshi Nakada + + * eval.c (proc_invoke): fix self switching in Proc#call + (ruby-bugs-ja#PR108) and GC failure. use Qundef instead of 0 + to direct not switching self. + + * eval.c (call_trace_func): ditto. + + * eval.c (call_end_proc): ditto. + + * eval.c (proc_call): ditto. + + * eval.c (proc_yield): ditto. + +Tue Oct 23 01:15:43 2001 K.Kosako + + * variable.c (rb_global_entry): reconstruct global variable + aliasing (sharing global_entry->var with other global_entry). + + * variable.c (undef_getter): ditto. + + * variable.c (undef_setter): ditto. + + * variable.c (val_setter): ditto. + + * variable.c (mark_global_entry): ditto. + + * variable.c (rb_define_hooked_variable): ditto. + + * variable.c (rb_f_trace_var): ditto. + + * variable.c (remove_trace): ditto. + + * variable.c (rb_f_untrace_var): ditto. + + * variable.c (rb_gvar_get): ditto. + + * variable.c (trace_en): ditto. + + * variable.c (rb_gvar_set): ditto. + + * variable.c (rb_gvar_defined): ditto. + + * variable.c (rb_alias_variable): ditto. + +Mon Oct 22 18:53:55 2001 Masahiro Tanaka + + * numeric.c (num_remainder): a bug in Numeric#remainder. + +Mon Oct 22 15:21:55 2001 Yukihiro Matsumoto + + * eval.c (rb_exec_end_proc): END might be called within END + block. + + * class.c (rb_mod_clone): should not copy class name, since clone + should remain anonymous. + +Fri Oct 19 23:40:37 2001 Nobuyoshi Nakada + + * variable.c (remove_trace): should not access already freed area. + + * variable.c (rb_f_untrace_var): fix memory leak. + +Fri Oct 19 17:55:14 2001 Nobuyoshi Nakada + + * marshal.c (w_uclass): cloned class is not user + class. (ruby-bugs-ja#PR103) + + * marshal.c (r_object): Struct subclass couldn't + load. (ruby-bugs-ja#PR104) + +Wed Oct 17 14:12:50 2001 Nobuyoshi Nakada + + * variable.c (alias_fixup): added. ad hoc support for ordinary + global variable aliasing. when original entry is set, make the + alias to refer directly as possible. + + * variable.c (alias_getter, alias_setter): ditto. + + * variable.c (rb_alias_variable): ditto. and no need to mark alias + variables. + + * variable.c (rb_gvar_defined): refer the original entry of an alias. + +Tue Oct 16 23:29:26 2001 Yukihiro Matsumoto + + * eval.c (rb_call0): self in a block given to define_method now be + switched to the receiver of the method. + + * eval.c (proc_invoke): added new parameter to allow self + switching. + +Tue Oct 16 21:38:15 2001 Nobuyoshi Nakada + + * eval.c (rb_f_missing): check stack level with rb_stack_check(). + + * eval.c (rb_call0): ditto. + + * eval.c, intern.h (rb_stack_check): added. [new] + +Tue Oct 16 13:18:47 2001 Nobuyoshi Nakada + + * object.c (rb_mod_initialize): optional block with + Module.new. [new] (from 2001-10-10) + +Tue Oct 16 00:07:06 2001 Nobuyoshi Nakada + + * parse.y (yylex): disallow alpha-numeric and mbchar for + terminator of %string. + +Mon Oct 15 18:00:05 2001 Pit Capitain + + * string.c (rb_str_index): wrong increment for non alphanumeric + string. + +Mon Oct 15 05:23:02 2001 Koji Arai + + * sprintf.c (rb_f_sprintf): support "%B". + +Wed Oct 10 03:11:47 2001 Yukihiro Matsumoto + + * file.c (rb_stat_clone): should copy internal data too. + + * numeric.c (num_clone): Numeric should not be copied by clone. + + * object.c (rb_obj_clone): should check immediate values. + + * parse.y (command): `yield' should take command_args. + + * parse.y (parse_quotedwords): %w(...) is not a string. + +Tue Oct 9 18:40:35 2001 WATANABE Hirofumi + + * process.c (Init_process): activate the case NT. + +Tue Oct 9 17:08:00 2001 Nobuyoshi Nakada + + * eval.c (thread_status_name): separated from + rb_thread_inspect(). return string expression for thread status. + + * eval.c (rb_thread_status, rb_thread_inspect): use + thread_status_name(). + + * eval.c (rb_thread_priority_set): return the priority not but + self. + +Sat Oct 6 23:07:08 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): NODE_MATCH3 was confusing left and right. sigh. + +Fri Oct 5 15:19:46 2001 Yukihiro Matsumoto + + * marshal.c (w_unique): should not dump anonymous class. + +Fri Oct 5 11:59:13 2001 Nobuyoshi Nakada + + * eval.c (proc_s_new): revived. + + * eval.c (Init_Proc): define Proc.new instead of Proc.allocate to + inhibit from creating uninitialized Proc. + +Thu Oct 4 14:11:03 2001 WATANABE Hirofumi + + * ext/socket/socket.c (ruby_connect): EALREADY is the equivalent + for EINPROGRESS in ws2_32.lib. + +Wed Oct 3 20:11:06 2001 Nobuyoshi Nakada + + * re.c (rb_reg_s_alloc): avoid infinite recursion. + +Wed Oct 3 16:49:49 2001 Nobuyoshi Nakada + + * ext/gdbm/gdbm.c (rb_gdbm_fetch): str is a VALUE now. + +Wed Oct 3 13:32:06 2001 Yukihiro Matsumoto + + * marshal.c (r_object): better allocation type check for + TYPE_UCLASS. usage of allocation framework is disabled for now. + + * variable.c (rb_class_path): Module may have subclass. + + * string.c (rb_str_update): should maintain original negative + offset. + + * string.c (rb_str_subpat_set): ditto + + * string.c (rb_str_aset): ditto. + + * re.c (rb_reg_nth_match): should check negative nth. + + * re.c (rb_reg_nth_defined): ditto. + +Tue Oct 2 19:12:47 2001 WATANABE Hirofumi + + * lib/ftools.rb (catname): allow trailing '/' for the destination. + +Tue Oct 2 18:31:20 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): should override existing class. + +Tue Oct 2 17:08:49 2001 Yukihiro Matsumoto + + * object.c (rb_obj_alloc): general instance allocation framework. + use of NEWOBJ() is deprecated except within 'allocate' method. + +Tue Oct 2 08:04:52 2001 Nobuyoshi Nakada + + * marshal.c (r_object): TYPE_UCLASS check should be inversed. + +Mon Oct 1 19:18:54 2001 Tanaka Akira + + * ext/socket/socket.c (unix_addr): getsockname(2) may result len = 0. + + * ext/socket/socket.c (unix_peeraddr): getpeername(2) may result + len = 0. + +Mon Oct 1 09:59:07 2001 Yukihiro Matsumoto + + * string.c (rb_str_subpat_set): support function for new argument + pattern String#[re,offset] = val. [new] + +Sat Sep 29 02:30:06 2001 Yukihiro Matsumoto + + * eval.c (POP_BLOCK): rb_gc_force_recycle() was called too much. + Should not be called if SCOPE_DONT_RECYCLE is set. + +Wed Sep 26 22:21:52 2001 Yukihiro Matsumoto + + * string.c (rb_str_aref_m): new argument pattern + String#[re,offset]. [new] + +Wed Sep 26 19:02:39 2001 Guy Decoux + + * parse.y: allow 'primary[] = arg' + +Tue Sep 25 10:46:42 2001 Usaku Nakamura + + * win32/win32.c (isInternalCmd): check return value of NtMakeCmdVector + (Tietew 's patch). + +Mon Sep 24 00:55:06 2001 Yukihiro Matsumoto + + * string.c (rb_str_substr): should return an instance of + receiver's class. + + * string.c (rb_str_succ): ditto. + + * array.c (rb_ary_subseq): ditto. + + * array.c (rb_ary_initialize): Array.new([1,2,3]) => [1,2,3]. [new] + +Sat Sep 22 22:16:08 2001 Yukihiro Matsumoto + + * string.c (rb_str_reverse): should return an instance of + receiver's class. + + * string.c (rb_str_times): ditto. + + * array.c (rb_ary_times): ditto + + * string.c (str_gsub): ditto. + + * string.c (rb_str_ljust): ditto. + + * string.c (rb_str_rjust): ditto. + + * string.c (rb_str_center): ditto. + +Sat Sep 22 12:13:39 2001 Yukihiro Matsumoto + + * eval.c (eval): retrieves file, line information from binding. + +Thu Sep 20 21:25:00 2001 Nobuyoshi Nakada + + * eval.c (MATCH_DATA): access via rb_svar(). + +Thu Sep 20 15:20:00 2001 Nobuyoshi Nakada + + * eval.c, intern.h (rb_svar): return reference to special variable + from local variable index. [new] + + * eval.c (rb_eval): use rb_svar() for NODE_FLIP{2,3}. + + * parse.y (rb_(backref|lastline)_(get|set)): access via rb_svar(). + + * eval.c (proc_invoke): push dynamic variables. + + * eval.c (rb_thread_yield): push special variables as dynamic + variables($_, $~ and FLIP states). + +Thu Sep 20 15:20:00 2001 Nobuyoshi Nakada + + * intern.h, parse.y (rb_is_local_id): return true if the ID is + local symbol. [new] + + * parse.y (internal_id): make new ID for internal use. [new] + + * parse.y (cond0): allocate internal ID for NODE_FLIP{2,3}. + + * eval.c (rb_f_local_variables): use rb_is_local_id() to select + visible local variables. + +Thu Sep 20 15:20:00 2001 Nobuyoshi Nakada + + * eval.c (rb_thread_start_0): SCOPE_SHARED is removed. + + * eval.c, intern.h (rb_thread_scope_shared_p): removed. special + variables are no longer shared by threads. + + * re.c (rb_reg_search): MATCHDATA is no longer shared by threads. + +Tue Sep 18 11:44:26 2001 Yukihiro Matsumoto + + * string.c (rb_str_init): String.new() => "" [new] + +Tue Sep 11 20:53:56 2001 Yukihiro Matsumoto + + * dir.c (dir_path): new method. + + * dir.c (dir_initialize): wrap DIR into struct, along with path + information. + +Sat Sep 8 07:13:42 2001 Wakou Aoyama + + * lib/net/telnet.rb: waitfor(): improvement. thanks to + nobu.nakada@nifty.ne.jp + +Sat Sep 8 04:34:17 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_restore_context): save current value of + lastline and lastmatch in the thread struct for later restore. + + * eval.c (rb_thread_save_context): restore lastline and lastmatch. + +Fri Sep 7 11:27:56 2001 akira yamada + + * numeric.c (flo_to_s): should handle negative float value. + +Fri Sep 7 09:44:44 2001 Wakou Aoyama + + * lib/net/telnet.rb: waitfor(): bug fix. + +Fri Sep 7 07:11:34 2001 Wakou Aoyama + + * lib/cgi.rb: CGI#doctype(): bug fix (html4Fr). + + * lib/net/telnet.rb, lib/cgi.rb: remove VERSION, RELEASE_DATE, + VERSION_CODE, RELEASE_CODE. please use REVISION. + + * lib/cgi.rb: CGI#header(): bug fix. + + * lib/net/telnet.rb, lib/cgi.rb: concat --> += + +Thu Sep 6 17:38:18 2001 Nobuyoshi Nakada + + * dir.c (dir_s_chdir): raise if environment variable HOME/LOGDIR + not set. + + * dir.c (glob_helper): avoid infinite loop on a file name with + wildcard characters. (ruby-bugs#PR177) + +Thu Sep 6 14:25:15 2001 Akinori MUSHA + + * ext/digest/digest.c (rb_digest_base_s_hexdigest): remove a debug + print. + +Thu Sep 6 13:56:14 2001 Akinori MUSHA + + * ext/digest/digest.c (rb_digest_base_s_digest, + rb_digest_base_s_hexdigest): ensure that a string is given. + +Thu Sep 6 13:28:51 2001 WATANABE Hirofumi + + * lib/jcode.rb (_regexp_quote): fix quote handling, again. + +Thu Sep 6 07:28:56 2001 Nobuyoshi Nakada + + * file.c (rb_find_file_ext): add const qualifiers to ext. + + * intern.h (rb_find_file_ext): ditto. + +Thu Sep 6 07:16:14 2001 Nobuyoshi Nakada + + * ext/socket/socket.c (Init_socket): remove duplicating constants. + +Thu Sep 6 03:15:24 2001 Yukihiro Matsumoto + + * class.c (rb_include_module): should check whole ancestors to + avoid duplicate module inclusion. + +Wed Sep 5 20:02:27 2001 Shin'ya Adzumi + + * string.c (trnext): should check backslash before updating "now" + position. + +Wed Sep 5 17:41:11 2001 WATANABE Hirofumi + + * lib/jcode.rb (_regexp_quote): fix quote handling. + +Tue Sep 4 01:03:18 2001 Yukihiro Matsumoto + + * re.c (Init_Regexp): to_s to be alias to inspect. + +Mon Sep 3 22:46:59 2001 Yukihiro Matsumoto + + * parse.y (yylex): should support 'keyword='. + +Mon Sep 3 20:26:08 2001 Nobuyoshi Nakada + + * intern.h (rb_find_file_ext): changed from rb_find_file_noext(). + +Mon Sep 3 15:12:49 2001 Yukihiro Matsumoto + + * ruby.c (proc_options): should not adjust argc/argv if -e option + is supplied. + +Mon Sep 3 14:11:17 2001 Akinori MUSHA + + * error.c: unbreak the build on *BSD with gcc 3.0.1 by removing + the conflicting declaration of sys_nerr for *BSD. + +Sat Sep 1 18:50:07 2001 Yukihiro Matsumoto + + * ruby.c (proc_options): should not alter origargv[]. + + * ruby.c (set_arg0): long strings for $0 dumped core. + +Sat Sep 1 09:50:54 2001 Nobuyoshi Nakada + + * ruby.c (set_arg0): prevent SEGV when val is longer than the + original arguments. + + * ruby.c (ruby_process_options): initialize total length of + original arguments at first. + +Sat Sep 1 14:05:28 2001 Brian F. Feldman + + * ruby.c (set_arg0): use setprogtitle() if it's available. + +Sat Sep 1 03:49:11 2001 Yukihiro Matsumoto + + * io.c (rb_io_popen): accept integer flags as mode. + +Fri Aug 31 19:46:05 2001 Nobuyoshi Nakada + + * file.c (rb_find_file_ext): extension table can be supplied from + outside. renamed. + + * eval.c (rb_f_require): replace rb_find_file_noext by + rb_find_file_ext. + +Fri Aug 31 19:26:55 2001 Nobuyoshi Nakada + + * eval.c (rb_provided): should also check feature without + extension. + +Fri Aug 31 13:06:33 2001 Yukihiro Matsumoto + + * numeric.c (flo_to_s): do not rely on decimal point to be '.' + +Wed Aug 29 02:18:53 2001 Yukihiro Matsumoto + + * parse.y (yylex): ternary ? can be followed by newline. + +Tue Aug 28 00:40:48 2001 Yukihiro Matsumoto + + * eval.c (rb_f_require): should check static linked libraries + before raising exception. + +Fri Aug 24 15:17:40 2001 Yukihiro Matsumoto + + * array.c (rb_ary_equal): check identity equality first. + + * string.c (rb_str_equal): ditto. + + * struct.c (rb_struct_equal): ditto. + +Fri Aug 24 14:38:17 2001 Usaku Nakamura + + * dln.c (dln_strerror): fix a bug that sometimes made null message on + win32 (Tietew 's patch). + + * win32/win32.c (mystrerror): ditto. + +Fri Aug 24 03:15:07 2001 Yukihiro Matsumoto + + * numeric.c (Init_Numeric): undef Integer::new. + +Fri Aug 24 00:46:44 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): NODE_WHILE should update result for each + conditional evaluation. + + * eval.c (rb_eval): NODE_UNTIL should return last evaluated value + (or value given to break). + +Thu Aug 23 21:59:38 2001 Nobuyoshi Nakada + + * enum.c (sort_by_i): fix typo. + +Thu Aug 23 10:10:59 2001 Yukihiro Matsumoto + + * eval.c (is_defined): should not dump core for "defined?(())". + + * eval.c (umethod_bind): recv can be an instance of descender of + oklass if oklass is a Module. + +Wed Aug 22 23:20:03 2001 Yukihiro Matsumoto + + * hash.c (rb_hash_equal): check identity equality first. + +Wed Aug 22 19:58:59 2001 Nobuyoshi Nakada + + * eval.c (intersect_fds): counts intersecting fds. + + * eval.c (rb_thread_schedule): only fds requested by + each thread count as select_value. + +Tue Aug 21 22:28:09 2001 Nobuyoshi Nakada + + * file.c (group_member): should check real gid only. + + * file.c (eaccess): do not cache euid, since effective euid may be + changed via Process.euid=(). + + * file.c (eaccess): return -1 unless every specified access mode + is permitted. + +Tue Aug 21 16:09:27 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): while/until returns the value which is given + to break. + + * parse.y (value_expr): using while/until/class/def as an + expression is now gives a warning, not an error. + +Tue Aug 21 11:56:02 2001 Yukihiro Matsumoto + + * range.c (range_eqq): should compare strings based on magical + increment (using String#upto), not dictionary order. + +Mon Aug 20 19:53:16 2001 WATANABE Hirofumi + + * ext/digest/sha2/extconf.rb: fix support for cross-compiling. + + * mkconfig.rb: fix support for autoconf 2.52. + +Mon Aug 20 17:24:15 2001 Yukihiro Matsumoto + + * enum.c (enum_sort_by): new method for Schewartzian transformed + stable sort. + +Mon Aug 20 16:09:05 2001 Yukihiro Matsumoto + + * variable.c (mod_av_set): detect constant overriding for built-in + classes/modules. + +Mon Aug 20 15:14:27 2001 Yukihiro Matsumoto + + * parse.y (tokadd_escape): escaped backslashes too much. + +Mon Aug 20 13:24:08 2001 Yukihiro Matsumoto + + * range.c (range_step): 'iter' here should be an array. + +Mon Aug 20 12:43:08 2001 Yukihiro Matsumoto + + * marshal.c (w_object): should retrieve __member__ data from + non-singleton class. + +Sat Aug 18 23:11:14 2001 Yukihiro Matsumoto + + * variable.c (rb_cvar_get): class variable override check added. + + * variable.c (rb_cvar_set): ditto + + * variable.c (rb_cvar_declare): ditto. + +Fri Aug 17 12:13:48 2001 Minero Aoki + + * lib/net/protocol.rb: Protocol.new requires at least one arg. + + * lib/net/smtp.rb: ditto. + + * lib/net/pop.rb: ditto. + + * lib/net/http.rb: ditto. + +Fri Aug 17 00:49:51 2001 Yukihiro Matsumoto + + * parse.y (parse_regx): handle backslash escaping of delimiter here. + +Thu Aug 16 23:03:40 2001 Koji Arai + + * io.c: prevent recursive malloc calls on NEC UX/4800. + + * ext/socket/socket.c: ditto. + +Thu Aug 16 13:54:04 2001 Usaku Nakamura + + * ext/socket/socket.c (s_recvfrom): fix typo. + +Thu Aug 16 09:53:28 2001 Usaku Nakamura + + * ext/socket/socket.c (s_recvfrom): avoid VC++6 warning. + +Thu Aug 16 03:50:33 2001 Usaku Nakamura + + * win32/win32.c (NtCmdGlob): avoid VC++ warning. + + * lib/mkmf.rb: add -I$(srcdir) to CPPFLAGS. + +Wed Aug 15 04:59:15 2001 Akinori MUSHA + + * ext/digest/*/extconf.rb: really fix so that they build from any + directory. + +Wed Aug 15 04:04:02 2001 Akinori MUSHA + + * ext/digest/sha2/extconf.rb: fix so that they build from any + directory. + +Wed Aug 15 01:59:19 2001 Akinori MUSHA + + * ext/digest/defs.h: Define NO_UINT64_T instead of emitting an + error to fail. + + * ext/digest/sha2/extconf.rb: Do not exit on error, and utilize + NO_UINT64_T to detect if the system has a 64bit integer type. + +Tue Aug 14 21:14:07 2001 Akinori MUSHA + + * ext/digest/sha2/extconf.rb: do not create Makefile when no 64bit + integer type is detected. + +Tue Aug 14 17:09:12 2001 Yukihiro Matsumoto + + * range.c (range_step): new method. + +Tue Aug 14 11:49:00 2001 TOYOFUKU Chikanobu + + * string.c (rb_str_cmp): remove needless conditional. + +Tue Aug 14 03:23:25 2001 Koji Arai + + * string.c (rb_str_lstrip_bang) `return Qnil' was missing. + +Mon Aug 13 14:16:46 2001 Akinori MUSHA + + * bignum.c, marshal.c: Detypo: s/SIZEOF_ING/SIZEOF_INT/. + +Sun Aug 12 15:01:58 2001 Nobuyoshi Nakada + + * string.c (rb_str_cat): fix buffer overflow. + + * string.c (rb_str_append): nothing to append actually when `str2' + is empty. + +Sat Aug 11 14:43:47 2001 Tanaka Akira + + * array.c (rb_inspecting_p): initialize inspect_key if it is + not initialized yet. + +Fri Aug 10 22:14:37 2001 Yukihiro Matsumoto + + * parse.y (cond0): operands of logical operators are not treated + as conditional expression anymore, but propagate conditional + status if used in conditionals. + +Tue Aug 7 09:10:32 2001 Usaku Nakamura + + * win32/win32.h: fix problems with BC++ (ruby-bugs#PR161). + +Mon Aug 6 23:47:46 2001 Nobuyoshi Nakada + + * pack.c (pack_pack): associates p/P strings once at last + (reverted to 1.26). + + * string.c (rb_str_associate): associates an Array at once, not + but a String. realloc's when str_buf. + +Mon Aug 6 17:01:33 2001 Yukihiro Matsumoto + + * eval.c (rb_gc_mark_threads): should mark ruby_cref. + +Mon Aug 6 14:31:37 2001 Usaku Nakamura + + * numeric.c (num_divmod): fix typo. + +Mon Aug 6 03:29:03 2001 Yukihiro Matsumoto + + * string.c (rb_str_lstrip_bang): new method. + + * string.c (rb_str_rstrip_bang): new method. + +Mon Aug 6 00:35:03 2001 Guy Decoux + + * struct.c (rb_struct_modify): should check frozen and taint + status. + +Sun Aug 5 19:28:39 2001 Nobuyoshi Nakada + + * string.c (rb_str_associate): should consider STR_ASSOC too. + +Sun Aug 5 07:46:18 2001 Nobuyoshi Nakada + + * eval.c (rb_undefined): do not recurse if method_missing is + undefined. + +Thu Aug 2 21:37:32 2001 Yukihiro Matsumoto + + * process.c (proc_waitpid): now all arguments are optional. + + * process.c (Init_process): waitpid is now alias to wait. + + * process.c (Init_process): waitpid2 is now alias to wait2. + + * process.c (rb_waitpid): made public. + + * ext/pty/pty.c (pty_getpty): avoid disturbing SIGCHLD using + thread and rb_waitpid. + +Thu Aug 2 11:23:07 2001 Yukihiro Matsumoto + + * process.c (proc_getpgrp): now takes no argument on all + platforms. + + * process.c (proc_setpgrp): ditto. + +Thu Aug 2 01:29:42 2001 Nobuyoshi Nakada + + * file.c (strrdirsep): removed meaningless code. + + * file.c (rb_file_s_expand_path): reverted to 1.66. + +Wed Aug 1 16:17:47 2001 Yukihiro Matsumoto + + * ext/socket/socket.c (sock_s_pack_sockaddr_in): added + Socket::pack_sockaddr_in(). [new] + + * ext/socket/socket.c (sock_s_pack_sockaddr_un): added + Socket::pack_sockaddr_un(). [new] + + * ext/socket/socket.c (sock_s_pack_sockaddr_in): added + Socket::unpack_sockaddr_in(). [new] + + * ext/socket/socket.c (sock_s_pack_sockaddr_un): added + Socket::unpack_sockaddr_un(). [new] + +Wed Aug 1 15:42:16 2001 Usaku Nakamura + + * eval.c (ruby_run): avoid VC++ warning. + +Tue Jul 31 17:30:53 2001 Usaku Nakamura + + * marshal.c (Init_marshal): fix typos. + +Tue Jul 31 15:16:39 2001 Nobuyoshi Nakada + + * process.c (last_status_set): nothing returned, should be void. + + * ext/socket/socket.c (load_addr_info): ditto. + +Tue Jul 31 12:11:42 2001 Yukihiro Matsumoto + + * marshal.c (Init_marshal): new constant Marshal::MAJOR_VERSION + and Marshal::MINOR_VERSION. + +Tue Jul 31 07:18:04 2001 Nobuyoshi Nakada + + * file.c (rb_file_s_expand_path): scans per path element not per + byte/character, including fix of [ruby-talk:18152] and + multi-byte pathname support. + +Tue Jul 31 11:52:10 2001 akira yamada + + * marshal.c (marshal_load): ruby_verbose test should be wrapped by + RTEST(). + +Mon Jul 30 17:54:23 2001 Yukihiro Matsumoto + + * hash.c (rb_hash_index): should return nil (not the default + value) if value is not in the hash. + +Mon Jul 30 12:55:47 2001 Yukihiro Matsumoto + + * numeric.c (num_div): new method added. alias to '/' which + should be preserved even if '/' is redefined (e.g. by + mathn). [new] + +Mon Jul 30 11:12:14 2001 Amos Gouaux + + * lib/net/imap.rb: added new commands for managing folder quotas + and folder ACLs. + +Mon Jul 30 03:19:53 2001 Yukihiro Matsumoto + + * bignum.c (rb_cstr2inum): "0 ff".hex should return 0, not 255. + +Fri Jul 27 22:29:41 2001 Nobuyoshi Nakada + + * file.c (rb_file_s_expand_path): fixed using CharNext(). + +Fri Jul 27 18:07:27 2001 Yukihiro Matsumoto + + * eval.c (rb_provided): extension should be guessed using + rb_find_file_noext(). + + * eval.c (rb_f_require): should call rb_feature_p() after + extension completion. + +Fri Jul 27 16:25:52 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): add CHECK_INTS before next, redo, retry to + avoid potential uninterruptable infinite loop. + +Thu Jul 26 11:27:12 2001 WATANABE Hirofumi + + * file.c (rb_find_file_noext, rb_find_file): fix tilde expansion + problem. + +Wed Jul 25 17:54:20 2001 Yukihiro Matsumoto + + * file.c (rb_file_s_expand_path): use CharNext() to expand. + +Wed Jul 25 17:16:26 2001 Akinori MUSHA + + * intern.h: add some missing function prototypes. + +Wed Jul 25 15:50:05 2001 Guy Decoux + + * file.c (rb_file_s_expand_path): should not expand "." and ".." + not following dirsep. + +Wed Jul 25 12:15:32 2001 WATANABE Hirofumi + + * file.c (rb_find_file_noext): should update f by expanded path. + + * file.c (rb_find_file): ditto. + +Tue Jul 24 23:10:47 2001 Nobuyoshi Nakada + + * file.c (strrdirsep): multi-byte pathname and DOSish separator + support. originally comes from Patrick Cheng. [new] + + * file.c (rb_file_s_basename, rb_file_s_dirname): use + strrdirsep(). comes from Patrick Cheng. + + * file.c (is_absolute_path): restricted in DOSish absolute path + with drive letter, and UNC support. originally comes from + Patrick Cheng. + + * file.c (getcwd): define macro using getwd() unless provided. + +Tue Jul 24 19:23:15 2001 Akinori MUSHA + + * ext/extmk.rb.in, lib/mkmf.rb: dig the target subdirectory for + lib/* files properly in case of create_makefile("dir/name"). + +Mon Jul 23 00:26:04 2001 Yukihiro Matsumoto + + * eval.c (rb_provide_feature): should not tweak extension used for + loading. + +Sun Jul 22 21:16:43 2001 Akinori MUSHA + + * ext/extmk.rb.in, lib/mkmf.rb: introduce a couple of new make + variables: CLEANFILES and DISTCLEANFILES. They'd typically be + defined in a file "depend". + +Sat Jul 21 09:40:10 2001 Nobuyoshi Nakada + + * io.c (io_fread): use fread(3) if PENDING_COUNT is available. + +Fri Jul 20 22:55:01 2001 Akinori MUSHA + + * gc.c (ruby_xrealloc): fix a dangling bug which led memory + reallocation to fail even though the second try after a GC + succeeds. + +Fri Jul 20 03:00:46 2001 Akinori MUSHA + + * class.c (rb_mod_include_p): Module#include? added. [new] + +Fri Jul 20 01:05:50 2001 Yukihiro Matsumoto + + * re.c (ignorecase_setter): give warning on modifying $=. + + * string.c (rb_str_casecmp): new method. [new] + + * string.c (rb_str_eql): separated from rb_str_equal(), make it + always be case sensitive. [new] + + * string.c (rb_str_hash): made it always be case sensitive. + +Thu Jul 19 13:03:15 2001 Nobuyoshi Nakada + + * eval.c (rb_f_require): should not include path in $" value + + * file.c (rb_find_file): should return 0 explicitly on failure. + +Tue Jul 17 11:44:40 2001 Usaku Nakamura + + * ruby.h: enable volatile directive with VC++. + + * regex.c: ditto. + +Tue Jul 17 06:01:12 2001 Minero Aoki + + * doc/net/smtp.rd.ja, pop.rd.ja, http.rd.ja: new files. + + * MANIFEST: add doc/net/{http,pop,smtp}.rd.ja. + +Tue Jul 17 11:22:01 2001 Yukihiro Matsumoto + + * regex.c (NUM_FAILURE_ITEMS): was confusing NUM_REG_ITEMS and + NUM_NONREG_ITEMS, which have happened to be same value. + +Tue Jul 17 11:08:34 2001 Usaku Nakamura + + * ext/extmk.rb.in: modify RM macro because command.com/cmd.exe don't + recognize single quotation as quote character. + + * lib/mkmf.rb: ditto. + +Tue Jul 17 01:38:15 2001 Yukihiro Matsumoto + + * class.c (rb_class_new): subclass check moved to this function. + + * class.c (rb_class_boot): check less version of rb_class_new(). + +Man Jul 16 13:21:30 2001 Usaku Nakamura + + * file.c (file_load_ok): fix typo. + +Mon Jul 16 12:58:07 2001 Yukihiro Matsumoto + + * eval.c (proc_invoke): should preserve iter status for embedded + frame in the block. + +Mon Jul 16 00:04:39 2001 Yukihiro Matsumoto + + * file.c (rb_file_s_expand_path): may overrun buffer on stack. + +Sun Jul 15 01:38:28 2001 Guy Decoux + + * string.c (rb_str_insert): forgot to call rb_str_modify(). + +Sat Jul 14 12:26:30 2001 Nobuyoshi Nakada + + * ext/digest/*/extconf.rb: fix so that they build from any + directory. + +Sat Jul 14 06:20:17 2001 WATANABE Hirofumi + + * lib/net/http.rb: HTTP#proxy? did not worked. + +Sat Jul 14 02:56:19 2001 Akinori MUSHA + + * ext/extmk.rb.in: support multi-level ext/ directories. + (e.g. you can have ext/foo, ext/foo/bar and ext/foo/baz) + +Sat Jul 14 02:55:02 2001 Akinori MUSHA + + * ext/.cvsignore: let cvs ignore extinit.c. + +Fri Jul 13 23:47:35 2001 Yukihiro Matsumoto + + * regex.c (re_search): should consider reverse search. + +Fri Jul 13 22:26:09 2001 Akinori MUSHA + + * lib/mkmf.rb: use File::split to split a target into a prefix and + a module name. This also works around a just found bug of + String#rindex. + + * ext/extmk.rb.in: ditto. + +Fri Jul 13 02:36:10 2001 Minero Aoki + + * dir.c (dir_s_chdir): warn only when invoked from multiple + threads or block is not given. + +Thu Jul 12 15:11:48 2001 WATANABE Hirofumi + + * ext/socket/socket.c (ruby_connect): workaround for the setup of + Cygwin socket(EALREADY). + +Mon Jul 9 16:49:30 2001 WATANABE Hirofumi + + * ext/extmk.rb.in: modify RM macro. + + * lib/mkmf.rb: ditto. + +Sun Jul 8 20:52:02 2001 Akinori MUSHA + + * ruby.h: fix a wrong function name: rb_iglob() -> rb_globi(). + +Sun Jul 8 16:04:35 2001 Minero Aoki + + * lib/net/http.rb: rename HTTP#request_by_name to send_request. + + * lib/net/protocol.rb (ProtoSocket#read): modify typo. + +Sat Jul 7 17:45:35 2001 Yukihiro Matsumoto + + * object.c (rb_convert_type): should use rb_rescue(), not rb_rescue2(). + + * range.c (range_init): ditto. + +Fri Jul 6 18:01:10 2001 Yukihiro Matsumoto + + * object.c (rb_obj_dup): copies (actually does not free) + generic_ivar on dupif original owns them. + +Fri Jul 6 02:15:06 2001 Akinori MUSHA + + * lib/tempfile.rb: a tempfile must be created with mode 0600. + +Thu Jul 5 20:28:53 2001 Tietew + + * string.c (rb_str_each_line): should propagate taint mark. + + * ext/nkf/nkf.c (rb_nkf_kconv): ditto. + +Fri Jul 6 14:54:27 2001 Yukihiro Matsumoto + + * eval.c (rb_f_require): revamp for simpler implementation. + + * file.c (rb_find_file_noext): use String object, instead of + passing char* around. + + * file.c (rb_find_file): ditto. + +Thu Jul 5 22:01:02 2001 Mitsuhiro Kondo + + * dln.c (dln_load): should use NSLINKMODULE_OPTION_BINDNOW. + +Thu Jul 5 13:44:03 2001 Yukihiro Matsumoto + + * ruby.c (load_file): local variables 'c' remain uninitialized on + xflag. + +Thu Jul 5 10:00:59 2001 Yukihiro Matsumoto + + * regex.c (re_match): prefetched escaped character too early. + +Wed Jul 4 08:58:30 2001 Yukihiro Matsumoto + + * eval.c (rb_call0): add argument check for attr_readers. + +Wed Jul 4 04:22:44 2001 Minero Aoki + + * lib/net/http.rb (HTTP#request_by_name): arg order changes. + +Wed Jul 4 04:07:36 2001 Minero Aoki + + * lib/net/http.rb (HTTP#request_by_name): bug fix. + + * lib/net/http.rb: does not write Connection: by default. + + * lib/net/protocol.rb: "start" for started protocol is an error. + + * lib/net/protocol.rb: "finish" for finished protocol is an error. + +Wed Jul 4 03:17:31 2001 Minero Aoki + + * lib/net/http.rb: new method HTTP#request_by_name (test) + + * lib/net/http.rb: new class HTTPGenericRequest + +Tue Jul 3 23:58:29 2001 Akinori MUSHA + + * lib/mkmf.rb: distclean should remove mkmf.log as well. + +Tue Jul 3 18:35:49 2001 Yukihiro Matsumoto + + * eval.c (rb_eval_string_wrap): should push frame (and adjust + cbase) before wrapped eval. + + * eval.c (rb_eval_cmd): ditto. + + * eval.c (eval): should update ruby_class always after all. + +Tue Jul 3 14:56:27 2001 Shugo Maeda + + * eval.c (block_pass): do not change wrapper information. + + * eval.c (rb_yield_0): preserve wrapper information. + +Tue Jul 3 08:59:50 2001 Nobuyoshi Nakada + + * error.c (rb_name_error): raise NameError instead of LoadError. + +Mon Jul 2 17:22:00 2001 Yukihiro Matsumoto + + * error.c (exc_exception): clone the receiver exception instead of + creating brand new exception object of the receiver. + +Mon Jul 2 09:53:12 2001 Yukihiro Matsumoto + + * eval.c (rb_eval_string_wrap): extend new ruby_top_self, not + original self. + + * eval.c (rb_eval_cmd): respect ruby_wrapper if set. + + * eval.c (eval): do not update ruby_class unless scope is not + provided. + +Sun Jul 1 10:51:15 2001 Shugo Maeda + + * eval.c (eval): preserve wrapper information. + + * eval.c (proc_invoke): ditto. + + * eval.c (block_pass): ditto. + +Sat Jun 30 02:55:45 2001 Yukihiro Matsumoto + + * parse.y (void_expr): too much warnings for void context + (e.g. foo[1] that can be mere Proc call). + +Fri Jun 29 17:23:18 2001 Yukihiro Matsumoto + + * error.c (rb_name_error): new function to raise NameError with + name attribute set. + + * eval.c (rb_f_missing): set name and args in the exception + object. [new] + + * error.c (name_name): NameError#name - new method. + + * error.c (nometh_args): NoMethodError#args - new method. + +Fri Jun 29 15:29:31 2001 Yukihiro Matsumoto + + * lex.c (rb_reserved_word): lex_state after tRESCUE should be + EXPR_MID. + +Thu Jun 28 00:21:28 2001 Keiju Ishitsuka + + * lib/matrix.rb: resolve 'ruby -w' warnings. + + * lib/irb/locale.rb: resolve 'ruby -w' warnings. + + * lib/irb/multi-irb.rb: resolve 'ruby -w' warnings. + + * lib/irb/ruby-lex.rb: fix problem for "\\M-\\..." and "\\C-\\..." + and resolve 'ruby -w' warnings. + + * lib/irb/ruby-token.rb: fix typo + + * lib/shell/command-processor.rb: resolve 'ruby -w' warnings. + +Wed Jun 27 08:53:26 2001 Minero Aoki + + * lib/net/pop.rb: new methods POP3.auth_only, POP3#auth_only + + * lib/net/http.rb: HTTP.Proxy returns self if ADDRESS is nil. + + * lib/net/protocol.rb: new method ProtocolError#response + + * lib/net/protocol.rb,smtp.rb,pop.rb,http.rb: add document. + +Tue Jun 26 18:42:42 2001 Yukihiro Matsumoto + + * gc.c (add_heap): allocation size of the heap unit is doubled for + each allocation. + +Mon Jun 25 09:54:48 2001 Yukihiro Matsumoto + + * dir.c (isdelim): space, tab, and newline are no longer + delimiters for glob patterns. + +Sat Jun 23 22:28:52 2001 Yukihiro Matsumoto + + * eval.c (svalue_to_avalue): new conversion scheme between single + value and array values. + + * eval.c (avalue_to_svalue): ditto. + + * eval.c (rb_eval): REXPAND now uses avalue_to_svalue(), return + and yield too. + + * eval.c (rb_yield_0): use avalue_to_svalue(). + + * eval.c (proc_invoke): Proc#call gives avaules, whereas + Proc#yield gives mvalues. + + * eval.c (bmcall): convert given value (svalue) to avalue. + +Sat Jun 23 18:28:52 2001 Akinori MUSHA + + * ext/readline/readline.c (readline_event): a non-void function + should return a value. + +Fri Jun 22 23:17:28 2001 WATANABE Hirofumi + + * ext/socket/socket.c (ruby_connect): workaround for the setup of + Cygwin socket. + +Fri Jun 22 23:11:17 2001 Keiju Ishitsuka + + * lib/irb/locale.rb: fix for require "kconv" problem + +Fri Jun 22 18:08:45 2001 Yukihiro Matsumoto + + * eval.c (rb_yield_0): no mvalue_to_svalue conversion here. + + * eval.c (massign): takes svalue, convert it to mvalue inside. + + * eval.c (rb_eval): parameters for yield/return are always + svalues now. + + * eval.c (svalue_to_mvalue): more strict conversion. + + * eval.c (mvalue_to_svalue): ditto. + +Fri Jun 22 17:12:23 2001 Yukihiro Matsumoto + + * st.c (new_size): prime hash size enabled. + + * ext/socket/socket.c (Init_socket): SO_* constants added. + +Tue Jun 19 22:24:07 2001 WATANABE Hirofumi + + * gc.c (rb_setjmp): avoid GCC 3.0 warnings. + +Tue Jun 19 18:19:30 2001 Akinori MUSHA + + * ext/readline/readline.c: add new methods: + Readline::completion_append_character and + Readline::completion_append_character=. + +Tue Jun 19 16:29:50 2001 Yukihiro Matsumoto + + * eval.c (svalue_to_mvalue): new function to convert from svalue + to mvalue. [experimental] + + * eval.c (mvalue_to_svalue): new function to convert from mvalue + to svalue. + + * eval.c (rb_eval): use mvalue_to_svalue(). + + * eval.c (rb_yield_0): use mvalue_to_svalue(). + + * eval.c (proc_invoke): proper mvalue handling. + +Mon Jun 18 17:38:50 2001 Yukihiro Matsumoto + + * eval.c (rb_f_require): searches ".rb" and ".so" at the same + time. previous behavior (search ".rb", then ".so") has a + security risk (ruby-bugs#PR140). + + * array.c (rb_ary_to_ary): new function to replace internal + rb_Array(), which never calls to_a, but to_ary (rb_Array() might + call both). [new] + +Mon Jun 18 00:43:20 2001 Yukihiro Matsumoto + + * regex.c (PUSH_FAILURE_POINT): push option status again. + + * regex.c (re_compile_pattern): avoid pushing unnecessary + option_set. + +Sat Jun 16 10:58:48 2001 Yukihiro Matsumoto + + * eval.c (rb_load): tainted string is OK if wrapped *and* + $SAFE >= 4. + +Thu Jun 14 16:27:07 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_start_0): should not nail down higher blocks + before preserving original context (i.e. should not alter + original context). + +Wed Jun 13 19:34:59 2001 Akinori MUSHA + + * dir.c (Init_Dir): add a new method File::fnmatch? along with + File::Constants::FNM_*. While I am here, FNM_NOCASE is renamed + to FNM_CASEFOLD which is commonly used by *BSD and GNU libc. + +Wed Jun 13 09:33:45 2001 Yukihiro Matsumoto + + * eval.c (proc_yield): new method equivalent to Proc#call but no + check for number of arguments. [new] + +Tue Jun 12 14:21:28 2001 Nobuyoshi Nakada + + * lib/mkmf.rb: target_prefix is only for installation, not for + build. + +Tue Jun 12 00:41:18 2001 Yukihiro Matsumoto + + * eval.c (method_eq): new method Method#==. [new] + +Mon Jun 11 14:29:41 2001 WATANABE Hirofumi + + * confgure.in: add RUBY_CANONICAL_BUILD. + +Sun Jun 10 17:31:47 2001 Guy Decoux + + * gc.c (STR_NO_ORIG): STR_NO_ORIG value was different between + string.c and gc.c + +Sat Jun 9 22:10:04 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): should convert *non-array at the end of + arguments by using Array(). + +Sat Jun 9 17:04:30 2001 Nobuyoshi Nakada + + * hash.c (ruby_setenv): readline library leaves their environment + strings uncopied. "free" check revised. + +Sat Jun 9 16:31:03 2001 Usaku Nakamura + + * ext/extmk.rb.in: Use -F and -T for mswin32 because cl.exe doesn't + support -o officially and cl.exe considers that *.cc and *.cxx are + OBJs. + + * lib/mkmf.rb: ditto. + + * win32/Makefile.sub: Use del instead of rm. + All these changes are derived from Nobuyoshi Nakada's patch. + Thanks. + +Fri Jun 8 22:37:40 2001 Yukihiro Matsumoto + + * gc.c (Init_stack): avoid __builtin_frame_address(2) to retrieve + stack bottom line. + +Fri Jun 8 18:14:12 2001 Yukihiro Matsumoto + + * st.c (numhash): should shuffle bits by dividing by prime number. + +Fri Jun 8 17:05:21 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): multiple assignment behavior fixed, which + results "*a = nil" makes "a == []" now. + +Fri Jun 8 15:25:09 2001 Yukihiro Matsumoto + + * eval.c (rb_f_require): should set SCOPE_PUBLIC before calling + dln_load(). + +Thu Jun 7 17:28:00 2001 Yukihiro Matsumoto + + * parse.y (yylex): exclude kDO_BLOCK too much by false condition. + +Wed Jun 6 23:02:36 2001 Keiju Ishitsuka + + * lib/sync.rb: bug fix if obj.initialize has parameters when + obj.extend(Sync_m) + + * lib/mutex_m.rb: modified bit + +Wed Jun 6 16:11:06 2001 Yukihiro Matsumoto + + * eval.c (rb_load): should check if tainted even when wrap is + specified. + +Wed Jun 6 14:34:27 2001 Yukihiro Matsumoto + + * parse.y (mrhs_basic): "*arg" should always be expanded by REXPAND. + + * regex.c (re_compile_pattern): too much optimization for the + cases like /(.|a)b/. + +Tue Jun 5 23:58:43 2001 Yukihiro Matsumoto + + * variable.c (fc_i): removed vast string allocation. + +Tue Jun 5 16:45:48 2001 Yukihiro Matsumoto + + * error.c (Init_Exception): NameError went under StandardError, + and NoMethodError went under NameError. + +Tue Jun 5 16:40:06 2001 Yukihiro Matsumoto + + * parse.y (rb_intern): non identifier symbols should be + categorized as ID_JUNK. [new] + +Tue Jun 5 16:15:58 2001 Yukihiro Matsumoto + + * variable.c (rb_mod_const_at): use hash table as internal + data. [new] + + * variable.c (rb_mod_const_of): ditto. + + * variable.c (rb_const_list): new function to convert internal + data (hash table) to array of strings. + + * eval.c (rb_mod_s_constants): data handling scheme has changed. + +Tue Jun 5 15:16:06 2001 Yukihiro Matsumoto + + * eval.c (rb_add_method): should not call rb_secure(), for + last_func may not be set. + + * io.c (rb_io_ctl): ioctl should accept any integer within C long + range. + +Tue Jun 5 13:41:13 2001 WATANABE Hirofumi + + * ext/etc/extconf.rb: use egrep_cpp. + +Tue Jun 5 12:44:59 2001 Yukihiro Matsumoto + + * marshal.c (r_object): wrong type check for modules. + + * marshal.c (w_object): should not dump anonymous classes/modules. + +Tue Jun 5 01:19:34 2001 Yukihiro Matsumoto + + * io.c (rb_open_file): use rb_file_sysopen_internal() if the 3rd + argument (permission flags) is given. [new, should be backported?] + + * io.c (rb_io_mode_binmode): mode string (e.g. "r+") to flags to + open(2). + +Mon Jun 4 23:55:54 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): NODE_REXPAND expand an array of 1 element as + the element itself. [new, should be backported?] + + * parse.y (ret_args): should treat "*[a]" in rhs expression as + "a", not "[a]". + +Mon Jun 4 04:14:53 2001 Wakou Aoyama + + * lib/shellwords.rb: don't destroy argument. + +Sat Jun 2 23:23:05 2001 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): should push option modifier at the + right place. + +Sat Jun 2 23:05:20 2001 Shugo Maeda + + * lib/cgi/session.rb: don't use module_function for Class. + +Sat Jun 2 00:02:22 2001 Keiju Ishitsuka + + * irb messages: fix typos. + +Fri Jun 1 17:26:24 2001 K.Kosako + + * hash.c (replace_i): ignore when key == Qundef. + +Fri Jun 1 16:50:59 2001 Yukihiro Matsumoto + + * parse.y (call_args2): confusion with list_append() and + list_concat() was fixed. + +Fri Jun 1 15:01:40 2001 Yukihiro Matsumoto + + * parse.y (yylex): fixed 'print CGI::bar() {}, "\n"' syntax + breakage, adding new lex_state status. sigh. [new] + +Fri Jun 1 11:21:04 2001 WATANABE Hirofumi + + * configure.in: use waitpid on mingw32. + + * ext/dbm/extconf.rb: include , not . + +Thu May 31 18:34:57 2001 K.Kosako + + * file.c (rb_file_s_unlink): should not allow if $SAFE >= 2. + +Thu May 31 17:23:25 2001 Yukihiro Matsumoto + + * range.c (Init_Range): define "to_ary". + +Thu May 31 13:30:25 2001 WATANABE Hirofumi + + * mkconfig.rb, ext/configsub.rb: VERSION -> RUBY_VERSION. + +Thu May 31 08:00:58 2001 Usaku Nakamura + + * win32/dir.h: re-add. + +Thu May 31 01:25:59 2001 Akinori MUSHA + + * configure.in: default --with-libc_r to `no' until the problem is + fixed. (FreeBSD only) + +Tue May 29 17:24:23 2001 K.Kosako + + * ruby.c (proc_options): unexpected SecurityError happens when -T4. + +Tue May 29 18:46:04 2001 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): * \1 .. \9 should be + backreferences always. + + * regex.c (re_match): backreferences corresponding to + unclosed/unmatched parentheses should fail always. + +Tue May 29 16:35:49 2001 Yukihiro Matsumoto + + * string.c (rb_str_cat): use rb_str_buf_cat() if possible. [new] + + * string.c (rb_str_append): ditto. + + * string.c (rb_str_buf_cat): remove unnecessary check (type, + taint, modify) to gain performance. + + * string.c (rb_str_buf_append): ditto. + + * string.c (rb_str_buf_finish): removed. + +Tue May 29 02:05:55 2001 Yukihiro Matsumoto + + * string.c (rb_str_buf_new): buffering string function. [new] + + * string.c (rb_str_buf_append): ditto. + + * string.c (rb_str_buf_cat): ditto. + + * string.c (rb_str_buf_finish): ditto. + +Mon May 28 23:20:43 2001 WATANABE Hirofumi + + * configure.in: remove unnecessary AC_CANONICAL_BUILD + + * defines.h: #define HAVE_SETITIMER on Cygwin(bug fixed). + + * ruby.c: use relative path from LIBRUBY_SO. + + * ruby.c: don't use -mwin32 option on Cygwin. + + * cygwin/GNUmakefile.in: ditto. + + * ext/sdbm/_sdbm: ditto. + + * ext/tcltklib/extconf.rb: ditto. + + * ext/tcltklib/stubs.c: ditto. + +Mon May 28 22:12:01 2001 Nobuyoshi Nakada + + * ext/extconf.rb.in: make the priority of the make rule of .c + higher than .C . + +Mon May 28 13:22:19 2001 Tanaka Akira + + * time.c (make_time_t): local time adjustment revised. + +Mon May 28 02:20:38 2001 Akinori MUSHA + + * dir.c (glob_helper): teach has_magic() to handle flags and get + glob_helper to properly support FNM_NOESCAPE. + + * dir.c (fnmatch): fix a bug when FNM_PATHNAME and FNM_PERIOD are + specified at the same time. + +Sat May 26 09:55:26 2001 Yukihiro Matsumoto + + * parse.y: accomplish extended syntax described in [ruby-talk:14525] + using tSPC token. [new, experimental] + +Sat May 26 07:05:45 2001 Usaku Nakamura + + * MANIFEST: add win32/dir.h . + +Fri May 25 20:03:51 2001 Pascal Rigaux + + * dln.c (dln_find_1): should exclude directories in executable + file lookup. + +Fri May 25 18:00:26 2001 Yukihiro Matsumoto + + * class.c (rb_obj_singleton_methods): list methods in extended + modules if optional argument is true. [new] + +Fri May 25 14:19:25 2001 K.Kosako + + * string.c (rb_str_replace): add taint status infection + (OBJ_INFECT()). + + * string.c (rb_str_crypt): ditto. + + * string.c (rb_str_ljust): ditto. + + * string.c (rb_str_rjust): ditto. + + * string.c (rb_str_center): ditto. + +Fri May 25 05:39:03 2001 Akinori MUSHA + + * ext/sha1/sha1-ruby.c (sha1_hexdigest): fix buffer overflow. The + buffer for a SHA-1 hexdigest needs to be 41 bytes in length. + +Fri May 25 01:47:39 2001 Akinori MUSHA + + * MANIFEST: update the entries I forgot to add or remove. + +Fri May 25 00:57:25 2001 Akinori MUSHA + + * ext/sha1/sha1-ruby.c (sha1_new): separate initialize() from + new(). + + * ext/md5/md5init.c (md5i_new): ditto. + +Fri May 25 00:53:41 2001 Akinori MUSHA + + * ext/dbm/extconf.rb: fix support for *BSD and set $CFLAGS + properly. + +Thu May 24 16:10:33 2001 Yukihiro Matsumoto + + * range.c (range_member): check based on "<=>" comparison. [new] + + * range.c (range_check): add "succ" check if first end is not a + numeric. + + * range.c (range_eqq): comparison should based on "<=>". + + * range.c (range_each): ditto. + +Thu May 24 16:08:21 2001 WATANABE Hirofumi + + * mkconfig.rb: autoconf 2.50 support. + +Thu May 24 14:23:35 2001 Yukihiro Matsumoto + + * eval.c (rb_yield_0): need argument adjustment for C defined + blocks too. + +Thu May 24 01:11:30 2001 Yukihiro Matsumoto + + * ext/dbm/extconf.rb: header search added. [new] + +Wed May 23 02:58:21 2001 Tanaka Akira + + * time.c (make_time_t): fix ad-hoc local time adjustment, using + binary tree search. + +Tue May 22 17:10:35 2001 K.Kosako + + * variable.c (rb_alias_variable): should not allow variable + aliasing if $SAFE >= 4. + +Tue May 22 02:37:45 2001 Yukihiro Matsumoto + + * parse.y (expr): "break" and "next" to take optional expression, + which is used as a value for termination. [new, experimental] + + * eval.c (rb_eval): "break" can give value to terminating method. + + * eval.c (rb_eval): "break" and "next" to take optional expression. + + * eval.c (rb_yield_0): "next" can give value to terminating "yield". + + * eval.c (rb_iterate): "break" can give value to terminating method. + + * eval.c (proc_call): ditto. + +Mon May 21 13:15:25 2001 Yukihiro Matsumoto + + * bignum.c (rb_big2str): t should be protected from GC. + +Sat May 19 09:29:07 2001 Yukihiro Matsumoto + + * process.c (rb_proc_times): need not to check return value from + times(2). + +Fri May 18 05:36:08 2001 Akinori MUSHA + + * ext/extmk.rb.in (xsystem): backout the previous fix which was + bogus. + +Fri May 18 05:19:55 2001 Akinori MUSHA + + * lib/mkmf.rb (xsystem): make a temporary fix to get $(...) macros + properly expanded on a command execution. + + * ext/extmk.rb.in (xsystem): ditto. + +Fri May 18 03:45:55 2001 Brian F. Feldman + + * lib/mkmf.rb: unbreak "make install". lib/* must be installed + under $rubylibdir, not under $libdir. + +Fri May 18 01:28:07 2001 Yukihiro Matsumoto + + * parse.y (expr): break, next, redo, retry are moved from primary. + +Fri May 18 01:11:02 2001 Usaku Nakamura + + * ext/sha1/sha1-ruby.c (sha1_new): get rid of an unneeded + rb_obj_call_init() call. + +Fri May 18 01:03:55 2001 Usaku Nakamura + + * ext/sha1/sha1.txt, ext/sha1/sha1.txt.jp: fix typos. + +Thu May 17 19:17:11 2001 Akinori MUSHA + + * lib/shell.rb, lib/shell/process-controller.rb, + lib/shell/command-processor.rb: translate Japanese comments into + English. + +Thu May 17 19:07:14 2001 Akinori MUSHA + + * doc/shell.rd.jp: RD'ify and make some fixes. + + * doc/shell.rd: RD'ify, delete Japanese leftovers, make overall + English fixes, and sync with doc/shell.rd.jp. + +Thu May 17 17:35:04 2001 Yukihiro Matsumoto + + * eval.c (rb_call0): address of local_vars might change during eval. + +Thu May 17 07:27:09 2001 Akinori MUSHA + + * ext/md5/md5.txt.jp, ext/sha1/sha1.txt.jp: + s/SuperClass/Superclass/. + +Thu May 17 07:21:44 2001 Akinori MUSHA + + * ext/Setup.dj, ext/Setup.emx, ext/Setup.nt, ext/Setup.x68: + compile sha1 in as well as md5. + + * ext/Setup: put sha1 in a comment. + +Thu May 17 07:16:38 2001 Akinori MUSHA + + * ext/sha1/sha1.txt.jp: add the Japanese version derived from + ext/md5/md5.txt.jp. + + * ext/sha1/sha1.txt: revise the copyright info and reduce the + difference from ext/md5/md5.txt. + + * ext/md5/md5.txt: reduce the difference from ext/sha1/sha1.txt. + +Thu May 17 07:11:35 2001 Akinori MUSHA + + * ext/sha1/extconf.rb, ext/sha1/sha1.c: use WORDS_BIGENDIAN to + detect the platform's endian. + +Thu May 17 06:31:30 2001 Akinori MUSHA + + * ext/md5/md5.txt: make wording fixes, and mention the newly added + method: "<<". + + * ext/md5/md5.txt.jp: ditto. + +Wed May 16 18:05:52 2001 Akinori MUSHA + + * ext/md5/md5init.c: add an instance method "<<" as an alias for + "update". (inspired by Steve Coltrin's ruby-sha1) + +Tue May 15 17:46:37 2001 Yukihiro Matsumoto + + * array.c (rb_ary_and): should not push frozen key string. + + * array.c (rb_ary_or): ditto. + +Tue May 15 02:18:23 2001 Akinori MUSHA + + * lib/thread.rb: rescue ThreadError in case the thread is dead + just before calling Thread#run. + +Mon May 14 13:50:22 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): should save context before raising + deadlock, saved context for current thread might be obsolete. + + * time.c (make_time_t): non DST timezone shift supported (hopefully). + + * time.c (make_time_t): strict range detection for negative time_t. + +Mon May 14 11:54:20 2001 Tanaka Akira + + * signal.c: SIGINFO added. + +Mon May 14 08:57:06 2001 Yukihiro Matsumoto + + * eval.c (rb_ensure): should not SEGV when prot_tag is NULL. + +Sun May 13 23:51:14 2001 Usaku Nakamura + + * win32/resource.rb: Modify copyright in resource script. + +Sun May 13 14:03:33 2001 Okada Jun + + * lib/thread.rb: fix Queue#pop and SizedQueue#max= to avoid + deadlock. + +Sat May 12 15:43:55 2001 Usaku Nakamura + + * win32/win32.c (kill): add support of signal 9 on mswin32/mingw32. + +Fri May 11 15:09:52 2001 WATANABE Hirofumi + + * ruby.h (rb_string_value): add volatile to avoid compiler warning. + + * string.c (rb_string_value): ditto. + +Fri May 11 03:35:33 2001 Akinori MUSHA + + * README.EXT: Document find_library(), with_config() and + dir_config(). + +Fri May 11 03:34:20 2001 Akinori MUSHA + + * README.EXT.jp: Remove the description of find_header() because + such a function does not actually exist. + + * README.EXT.jp: Update the description of dir_config(). + +Fri May 11 02:42:05 2001 Kazuhiro NISHIYAMA + + * README, README.jp: Fix CVS access and mailing lists info. + +Fri May 11 02:00:44 2001 Ryo HAYASAKA + + * bignum.c (bigdivrem): access boundary bug. + +Thu May 10 02:40:47 2001 Yukihiro Matsumoto + + * marshal.c (w_object): prohibit dumping out singleton classes. + + * object.c (rb_mod_to_s): distinguish singleton classes. + + * variable.c (rb_class2name): it's ok to reveal NilClass, + TrueClass, FalseClass. + +Wed May 9 14:38:33 2001 K.Kosako + + * eval.c (rb_yield_0): preserve and restore ruby_cref as well. + +Tue May 8 18:28:19 2001 Keiju Ishitsuka + + * lib/irb.rb lib/irb/multi-irb.rb lib/irb/ruby-lex.rb + lib/irb/version.rb resolve ctrl-c problem + +Tue May 8 17:12:43 2001 K.Kosako + + * eval.c (is_defined): core dumped during instance_eval for + special constants. + + * eval.c (rb_eval): ditto. + +Tue May 8 08:52:57 2001 Akinori MUSHA + + * doc/forwardable.rd, doc/forwardable.rd.jp: Hit `=begin' and + `=end' in proper places so rd2 can format them without a problem. + + * doc/irb/irb-tools.rd.jp, doc/irb/irb.rd, doc/irb/irb.rd.jp: + ditto. + +Tue May 8 08:38:53 2001 Akinori MUSHA + + * doc/forwardable.rd, doc/forwardable.rd.jp, lib/forwardable.rb: + Import forwardable 1.1. + +Tue May 8 08:34:33 2001 Akinori MUSHA + + * doc/irb/irb-tools.rd.jp, doc/irb/irb.rd.jp: Convert from JIS to + EUC. + +Tue May 8 03:46:39 2001 Akinori MUSHA + + * sample/rbc.rb: Obsoleted by IRB. + +Mon May 7 15:58:45 2001 Yukihiro Matsumoto + + * parse.y (arg): "||=" should not warn for uninitialized instance + variables. + + * eval.c (rb_eval): ditto. + + * eval.c (eval): preserve and restore ruby_cref as well. + +Mon May 7 15:45:48 2001 WATANABE Hirofumi + + * lib/ftools.rb (syscopy): chmod destination file only if + it does not exist. + +Mon May 7 14:35:57 2001 Yukihiro Matsumoto + + * object.c (rb_obj_is_instance_of): takes only class/module as an + argument. + +Sun May 6 16:27:29 2001 Koji Arai + + * eval.c (is_defined): rb_reg_nth_defined() may return Qnil. + +Thu May 3 03:15:06 2001 SHIROYAMA Takayuki + + * configure.in: get --enable-shared to work on MacOS X. + + * Makefile.in: make $(LIBRUBY_SO) depend on miniruby properly. + Now `make -jN' should work without a problem. + +Thu May 3 02:07:45 2001 Usaku Nakamura + + * win32/config.h.in: add SIZEOF___INT64 definition. + +Wed May 2 20:39:35 2001 WATANABE Hirofumi + + * dir.c (rb_glob, rb_globi): remove unnecessary FNM_PATHNAME. + +Wed May 2 11:46:13 2001 K.Kosako + + * eval.c (block_pass): should not downgrade safe level. + +Wed May 2 03:07:49 2001 Yukihiro Matsumoto + + * ext/dbm/extconf.rb: allow specifying dbm-type explicitly. + + * ext/dbm/extconf.rb: avoid gdbm if possible, because it leaks + memory, whereas gdbm.so doesn't. potential incompatibility. + +Wed May 2 02:02:18 2001 Yukihiro Matsumoto + + * string.c (rb_str_insert): new method. + +Tue May 1 17:55:58 2001 Yukihiro Matsumoto + + * parse.y (yylex): lex_state after RESCUE_MOD should be EXPR_BEG. + +Tue May 1 16:23:03 2001 Yukihiro Matsumoto + + * array.c (rb_ary_insert): new method. + + * array.c (rb_ary_update): new utility function. + +Tue May 1 03:24:05 2001 Akinori MUSHA + + * lib/irb/completion.rb, lib/irb/frame.rb, lib/irb/xmp.rb, + doc/irb/irb-tools.rd.jp: Merge from irb-tools 0.7.1. + +Tue May 1 03:07:17 2001 Akinori MUSHA + + * sample/irb.rb, lib/irb.rb, lib/irb/*, doc/irb/*: Merge from irb + 0.7.3. + + * instruby.rb: Install help-message's too. + + * lib/irb/main.rb: This file is not needed anymore. + +Fri Apr 27 09:27:10 2001 Yukihiro Matsumoto + + * io.c (set_outfile): should check if closed before assignment. + +Thu Apr 26 22:36:11 2001 WATANABE Hirofumi + + * configure.in: don't use tzname on Cygwin 1.3.1+. + + * configure.in: add -mieee/-ieee to CFLAGS on OSF1/Alpha + to disable "DIVISION BY ZERO" exception. + +Thu Apr 26 22:30:43 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): should preserve value of ruby_errinfo. + +Thu Apr 26 10:36:09 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): infinite sleep should not cause + dead lock. + +Wed Apr 25 16:40:44 2001 Yukihiro Matsumoto + + * array.c (rb_ary_flatten_bang): proper recursive detection. + +Wed Apr 25 15:36:15 2001 K.Kosako + + * eval.c (yield_under): need not to prohibit at safe level 4. + +Wed Apr 25 15:22:20 2001 Yukihiro Matsumoto + + * pack.c (pack_pack): p/P packs nil into NULL. + + * pack.c (pack_unpack): p/P unpacks NULL into nil. + +Tue Apr 24 15:35:32 2001 Yukihiro Matsumoto + + * pack.c (pack_pack): size check for P template. + + * ruby.c (set_arg0): wrong predicate when new $0 value is bigger + than original space. + +Tue Apr 24 15:18:49 2001 Akinori MUSHA + + * ext/extmk.rb.in, lib/mkmf.rb: (dir_config) do not add the + specified include directory if already included in $CPPFLAGS. + + * ext/extmk.rb.in, lib/mkmf.rb: (dir_config) return a more useful + value, [include_dir, lib_dir]. + +Mon Apr 23 14:43:59 2001 Yukihiro Matsumoto + + * gc.c (id2ref): should use NUM2ULONG() + + * object.c (rb_mod_const_get): check whether name is a class + variable name. + + * object.c (rb_mod_const_set): ditto. + + * object.c (rb_mod_const_defined): ditto. + +Sat Apr 21 22:33:26 2001 Yukihiro Matsumoto + + * marshal.c (w_float): precision changed to "%.16g" + +Sat Apr 21 22:07:58 2001 Guy Decoux + + * eval.c (rb_call0): wrong retry behavior. + +Fri Apr 20 19:12:20 2001 Yukihiro Matsumoto + + * numeric.c (fix_aref): a bug on long>int architecture. + +Fri Apr 20 14:57:15 2001 K.Kosako + + * eval.c (rb_eval_string_wrap): should restore ruby_wrapper. + +Sun Apr 22 17:44:37 2001 WATANABE Hirofumi + + * configure.in: add -mieee to CFLAGS on Linux/Alpha + to disable "DIVISION BY ZERO" exception. + + * configure.in: remove -ansi on OSF/1. + +Wed Apr 18 04:37:51 2001 Wakou Aoyama + + * lib/cgi.rb: CGI::Cookie: no use PATH_INFO. + +Wed Apr 18 00:24:40 2001 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): char class at either edge of range + should be invalid. + +Tue Apr 17 17:33:55 2001 Yukihiro Matsumoto + + * eval.c (handle_rescue): use === to compare exception match. + + * error.c (syserr_eqq): comparison between SytemCallErrors should + based on their error numbers. + +Tue Apr 17 16:54:39 2001 K.Kosako + + * eval.c (safe_getter): should use INT2NUM(). + +Tue Apr 17 15:12:56 2001 Yukihiro Matsumoto + + * bignum.c (rb_big2long): 2**31 cannot fit in 31 bit long. + +Sat Apr 14 22:46:43 2001 Guy Decoux + + * regex.c (calculate_must_string): wrong length calculation. + +Sat Apr 14 13:37:32 2001 Usaku Nakamura + + * win32/config.status.in: no longer use missing/alloca.c. + + * win32/Makefile.sub: ditto. + +Fri Apr 13 12:40:48 2001 K.Kosako + + * eval.c (rb_thread_start_0): fixed memory leak. + +Fri Apr 13 16:41:18 2001 Yukihiro Matsumoto + + * parse.y (none): should clear cmdarg_stack too. + +Fri Apr 13 06:19:29 2001 GOTOU Yuuzou + + * io.c (rb_fopen): use setvbuf() to avoid recursive malloc() on + some platforms. + +Wed Apr 11 23:36:26 2001 Yukihiro Matsumoto + + * file.c (rb_stat_dev): device functions should honor stat field + types (except long long such as dev_t). + +Wed Apr 11 18:07:53 2001 K.Kosako + + * eval.c (rb_mod_nesting): should not push nil for nesting array. + + * eval.c (rb_mod_s_constants): should not search array by + rb_mod_const_at() for nil (happens for singleton class). + +Wed Apr 11 13:29:26 2001 Yukihiro Matsumoto + + * class.c (rb_singleton_class_attached): should modify iv_tbl by + itself, no longer use rb_iv_set() to avoid freeze check error. + + * variable.c (rb_const_get): error message "uninitialized constant + Foo at Bar::Baz" instead of "uninitialized constantBar::Baz::Foo". + +Tue Apr 10 17:52:10 2001 Yukihiro Matsumoto + + * eval.c (rb_mod_included): new hook called from rb_mod_include(). + +Tue Apr 10 02:24:40 2001 Nobuyoshi Nakada + + * io.c (opt_i_set): should strdup() inplace_edit string. + +Mon Apr 9 23:29:54 2001 Yukihiro Matsumoto + + * eval.c (exec_under): need to push cref too. + +Mon Apr 9 15:20:21 2001 Yukihiro Matsumoto + + * eval.c (rb_f_missing): raise NameError for "undefined local + variable or method". + + * error.c (Init_Exception): new exception NoMethodError. + NameError moved under ScriptError again. + + * eval.c (rb_f_missing): use NoMethodError instead of NameError. + +Mon Apr 9 12:05:44 2001 Yukihiro Matsumoto + + * file.c (Init_File): should redefine "new" class method. + +Mon Apr 9 11:56:52 2001 Shugo Maeda + + * lib/net/imap.rb: fix typo. + +Fri Apr 6 01:46:35 2001 Yukihiro Matsumoto + + * eval.c (PUSH_CREF): sharing cref node was problematic. maintain + runtime cref list instead. + + * eval.c (rb_eval): copy defn node before registering. + + * eval.c (rb_load): clear ruby_cref before loading. + +Thu Apr 5 22:40:12 2001 Yukihiro Matsumoto + + * variable.c (rb_const_get): no recursion to show full class path + for modules. + + * eval.c (rb_set_safe_level): should set safe level in curr_thread + as well. + + * eval.c (safe_setter): ditto. + +Thu Apr 5 13:46:06 2001 K.Kosako + + * object.c (rb_obj_is_instance_of): nil belongs to false, not true. + +Thu Apr 5 02:19:03 2001 Yukihiro Matsumoto + + * time.c (make_time_t): proper (I hope) daylight saving time + handling for both US and Europe. I HATE DST! + + * eval.c (rb_thread_wait_for): non blocked signal interrupt should + stop the interval. + +Wed Apr 4 03:47:03 2001 Yukihiro Matsumoto + + * eval.c (proc_eq): class check added. + + * eval.c (proc_eq): typo fixed ("return" was omitted). + + * error.c (Init_Exception): move NameError under StandardError. + + * class.c (rb_mod_clone): should copy method bodies too. + + * bignum.c (bigdivrem): should trim trailing zero bdigits of + remainder, even if dd == 0. + + * file.c (check3rdbyte): safe string check moved here. + +Tue Apr 3 09:56:20 2001 WATANABE Hirofumi + + * ext/extmk.rb.in (create_makefile): create def file only if + it does not yet exist. + + * lib/mkmf.rb: ditto. + +Tue Apr 3 00:05:07 2001 Yukihiro Matsumoto + + * time.c (make_time_t): remove HAVE_TM_ZONE code since it + sometimes reports wrong time. + + * time.c (make_time_t): remove unnecessary range check for + platforms where negative time_t is available. + +Mon Apr 2 16:52:48 2001 Yukihiro Matsumoto + + * process.c (proc_waitall): should push Process::Status instead of + Fixnum status. + + * process.c (waitall_each): should add all entries in pid_tbl. + these changes are inspired by Koji Arai. Thanks. + + * process.c (proc_wait): should not iterate if pid_tbl is 0. + + * process.c (proc_waitall): ditto. + +Mon Apr 2 14:25:49 2001 Shugo Maeda + + * lib/monitor.rb (wait): ensure reentrance. + + * lib/monitor.rb (wait): fix timeout support. + +Mon Apr 2 12:40:45 2001 Shugo Maeda + + * lib/net/imap.rb (media_subtype): return subtype. + +Mon Apr 2 12:01:15 2001 Shugo Maeda + + * lib/net/imap.rb (flag_list): capitalize flags. + +Mon Apr 2 01:32:38 2001 Akinori MUSHA + + * Makefile.in: Introduce MAINLIBS. + + * configure.in: Link libc_r against the ruby executable on + FreeBSD, which is the first attempt to work around a certain + problem regarding pthread on FreeBSD. It should make ruby/libruby + happy when it loads an extension to a library compiled and linked + with -pthread. Note, however, that libruby is _not_ linked with + libc_r so as not to mess up pthread unfriendly stuff including + apache+mod_ruby and vim6+ruby_interp. + +Mon Apr 2 01:16:24 2001 WATANABE Hirofumi + + * win32/win32.c: use ruby's opendir on mingw32. + + * win32/dir.h, dir.c, Makefile: ditto. + +Sun Apr 1 23:26:14 2001 TOYOFUKU Chikanobu + + * numeric.c (flodivmod): a bug in no fmod case. + +Sun Apr 1 18:36:14 2001 Koji Arai + + * process.c (pst_wifsignaled): should apply WIFSIGNALED for status + (int), not st (VALUE). + +Sat Mar 31 04:47:55 2001 Shugo Maeda + + * lib/net/imap.rb: add document and example code. + +Sat Mar 31 03:24:10 2001 Yukihiro Matsumoto + + * io.c (Init_IO): value of $/ and $\ are no longer restricted to + strings. type checks are done on demand. + + * class.c (rb_include_module): module inclusion should be check + taints. + + * ruby.h (STR2CSTR): replace to StringType() and StringTypePtr(). + + * ruby.h (rb_str2cstr): ditto. + +Fri Mar 30 23:37:49 2001 Yukihiro Matsumoto + + * eval.c (rb_load): should not copy toplevel local variables. It + cause variable/method ambiguity. Thanks to L. Peter Deutsch. + +Fri Mar 30 22:56:56 2001 Shugo Maeda + + * lib/net/imap.rb: rename ContinueRequest to ContinuationRequest. + +Fri Mar 30 12:51:19 2001 Yukihiro Matsumoto + + * class.c (rb_include_module): freeze check at first. + +Thu Mar 29 17:05:09 2001 Yukihiro Matsumoto + + * eval.c (rb_attr): sprintf() and rb_intern() moved into + conditional body. + +Wed Mar 28 23:43:00 2001 Nobuyoshi Nakada + + * ext/extmk.rb.in, lib/mkmf.rb: add C++ rules in addition to C + rules for the mswin32 platforms. + +Wed Mar 28 19:29:21 2001 Akinori MUSHA + + * ext/extmk.rb.in, lib/mkmf.rb: move C++ rules to the right place. + +Wed Mar 28 17:39:04 2001 Yukihiro Matsumoto + + * object.c (rb_str2cstr): warn if string contains \0 and length + value is ignored. + +Wed Mar 28 15:00:31 2001 K.Kosako + + * class.c (rb_singleton_class_clone): should copy class constant + table as well. + +Wed Mar 28 14:23:23 2001 Yukihiro Matsumoto + + * 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. + +Wed Mar 28 09:52:33 2001 WATANABE Hirofumi + + * win32/Makefile.sub: disable global optimization. + +Tue Mar 27 15:00:54 2001 K.Kosako + + * eval.c (rb_mod_define_method): should have clear method cache. + + * eval.c (rb_mod_define_method): should have raised exception for + type error. + +Tue Mar 27 14:48:17 2001 Yukihiro Matsumoto + + * ruby.h: changed "extern INLINE" to "static inline". + +Mon Mar 26 23:19:33 2001 WATANABE Hirofumi + + * time.c (rb_strftime): check whether strftime returns empty string. + +Mon Mar 26 21:16:56 2001 Shugo Maeda + + * lib/net/imap.rb: supports response handlers and multiple commands. + +Mon Mar 26 17:21:07 2001 Yukihiro Matsumoto + + * eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash. + +Mon Mar 26 14:04:41 2001 WATANABE Hirofumi + + * ext/Win32API/Win32API.c: remove Init_win32api(). + +Sun Mar 25 16:52:48 2001 Koji Arai + + * file.c (rb_file_flock): do not trap EINTR. + + * missing/flock.c (flock): returns the value from lockf(2) + directly. + +Sat Mar 24 23:44:50 2001 Yukihiro Matsumoto + + * eval.c (ev_const_defined): should ignore toplevel cbase (Object). + + * eval.c (ev_const_get): ditto. + +Fri Mar 23 17:37:52 2001 Yukihiro Matsumoto + + * 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. + +Fri Mar 23 17:26:19 2001 Yukihiro Matsumoto + + * pack.c (pack_unpack): string from P/p should be tainted. + +Fri Mar 23 12:18:44 2001 SHIROYAMA Takayuki + + * ext/curses/curses.c: curses on Mac OS X public beta does not + have _maxx etc. + +Fri Mar 23 10:50:31 2001 Yukihiro Matsumoto + + * marshal.c (w_object): should truncate trailing zero short for + bignums. + +Fri Mar 23 09:49:02 2001 Yukihiro Matsumoto + + * object.c (sym_intern): new method. + +Thu Mar 22 22:15:45 2001 WATANABE Hirofumi + + * ext/Win32API/extconf.rb: add -fno-omit-frame-pointer. + +Thu Mar 22 18:17:36 2001 Yukihiro Matsumoto + + * eval.c (rb_mod_nesting): should not include Object at the + toplevel. + +Thu Mar 22 17:43:44 2001 Yukihiro Matsumoto + + * ruby.h: better inline function support. + + * configure.in (NO_C_INLINE): check if inline is available for the + C compiler. + +Mon Mar 19 11:03:10 2001 Koji Arai + + * marshal.c (r_object): len calculation patch was wrong for + machines SIZEOF_BDIGITS == SIZEOF_SHORT. + + * gc.c: alloca prototype reorganized for C_ALLOCA machine. + +Wed Mar 21 23:07:45 2001 WATANABE Hirofumi + + * win32/win32.c (win32_stat): WinNT/2k "//host/share" support. + +Wed Mar 21 08:05:35 2001 Nobuyoshi Nakada + + * win32/dir.h: replace missing/dir.h . + + * win32/win32.h: ditto. + + * win32/win32.c: ditto. + +Wed Mar 21 01:26:14 2001 Yukihiro Matsumoto + + * gc.c (id2ref): sometimes confused symbol and reference. + +Tue Mar 20 23:09:33 2001 WATANABE Hirofumi + + * win32/win32.c (win32_stat): UNC support. + + * dir.c (extract_path): fix "./*" problem. + +Tue Mar 20 15:10:00 2001 Yukihiro Matsumoto + + * dir.c (glob_helper): breaks loop after calling recursive + glob_helper; all wild cards should be consumed; no need for + further match. + + * dir.c (dir_s_glob): gives warning if no match found. + +Tue Mar 20 14:13:45 2001 Koji Arai + + * object.c (sym_inspect): did allocate extra byte space. + +Mon Mar 19 19:14:47 2001 Guy Decoux + + * marshal.c (shortlen): shortlen should return number of bytes + written. + +Mon Mar 19 16:52:23 2001 K.Kosako + + * eval.c (ev_const_defined): need not to check if cbase->nd_class + is rb_cObject. + + * eval.c (ev_const_get): ditto. + +Mon Mar 19 17:11:20 2001 Yukihiro Matsumoto + + * time.c (time_zone): return "UTC" for UTC time objects. + +Mon Mar 19 16:27:32 2001 Yukihiro Matsumoto + + * eval.c (THREAD_ALLOC): flags should be initialized. + + * signal.c (rb_f_kill): should use FIX2INT, not FIX2UINT. + +Mon Mar 19 10:55:10 2001 Yukihiro Matsumoto + + * dir.c (glob_helper): replace lstat() by stat() to follow symlink + in the case like 'symlink/*'. + + * dir.c (glob_helper): gave warning too much. + +Sun Mar 18 08:58:18 2001 Wakou Aoyama + + * lib/cgi.rb: // === '' --> //.match('') + + * lib/cgi.rb: cgi#header(): improvement for mod_ruby. + + * lib/cgi.rb: cgi#rfc1123date(): improvement. + thanks to TADA Tadashi . + + * lib/cgi.rb: cgi#rfc1123date(): document bug fix. + thanks to Kazuhiro NISHIYAMA . + + * lib/cgi.rb: cgi#header(): bug fix. + thanks to IWATSUKI Hiroyuki . + +Sat Mar 17 11:11:24 2001 Yukihiro Matsumoto + + * dir.c (glob_helper): * should follow symlink, whereas ** should + not follow. + +Thu Mar 15 01:28:02 2001 Yukihiro Matsumoto + + * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016). + +Fri Mar 16 17:14:17 2001 Akinori MUSHA + + * 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. + +Wed Mar 14 16:41:45 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): raise FATAL just once to + THREAD_TO_KILL. + +Wed Mar 14 10:41:34 2001 Yukihiro Matsumoto + + * 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. + +Tue Mar 13 17:51:09 2001 Yukihiro Matsumoto + + * eval.c (ev_const_defined): add new parameter self for special + const fallback. + + * eval.c (ev_const_get): ditto. + +Tue Mar 13 16:39:45 2001 WATANABE Hirofumi + + * dir.c (rb_glob_helper): fix drive letter handling on DOSISH. + +Tue Mar 13 14:54:39 2001 Minero Aoki + + * 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. + +Tue Mar 13 14:41:16 2001 Yukihiro Matsumoto + + * io.c (argf_seek_m): wrong calling sequence of rb_io_seek(). + +Tue Mar 13 09:14:19 2001 Yukihiro Matsumoto + + * parse.y (cond0): no special treatment of string literal in + condition. + +Mon Mar 12 18:59:38 2001 WATANABE Hirofumi + + * lib/mkmf.rb (create_makefile): save/restore $libs and $LIBPATH. + +Sun Mar 11 18:13:34 2001 Masahiro Tanaka + + * math.c: add acos, asin, atan, conh, sinh, tanh and hypot to Math. + + * configure.in: check hypot availability. + + * missing/hypot.c: public domain rewrite of hypot. + +Sun Mar 11 13:21:04 2001 Koji Arai + + * parse.y (warn_unless_e_option): warning condition was wrong. + + * parse.y (warning_unless_e_option): ditto. + +Sun Mar 11 00:55:31 2001 WATANABE Hirofumi + + * lib/mkmf.rb (install_rb): fix handling of destination path. + +Sat Mar 10 22:56:44 2001 Yukihiro Matsumoto + + * 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 returns true for any of elements. + +Sat Mar 10 02:34:18 2001 WATANABE Hirofumi + + * math.c (math_log, math_log10): use nan() instead of 0.0/0.0 on Cygwin. + +Fri Mar 9 09:56:19 2001 Yukihiro Matsumoto + + * marshal.c (marshal_load): do not give warning unless explicitly + set to verbose. + +Fri Mar 9 02:07:53 2001 Yukihiro Matsumoto + + * 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(). + +Thu Mar 8 17:45:19 2001 Minero Aoki + + * lib/net/protocol.rb: one write(2) per one line. + +Wed Mar 7 14:26:11 2001 WATANABE Hirofumi + + * math.c (math_log, math_log10): should return NaN if x < 0.0 + on Cygwin. + +Thu Mar 7 10:31:26 2001 Nobuyoshi Nakada + + * parse.y (stmt): while/until modifier must work for empty body. + +Tue Mar 6 22:53:58 2001 Kazuhiro Yoshida + + * ruby.c (ruby_set_argv): clear ARGV contents before adding args. + +Tue Mar 6 10:50:29 2001 Yukihiro Matsumoto + + * parse.y (primary): rescue and ensure clauses should be allowed + to appear in singleton method body. + +Mon Mar 5 17:25:13 2001 Yukihiro Matsumoto + + * eval.c (proc_eq): compare Procs using blocktag equality. + + * eval.c (proc_to_s): stringify according to block tag address. + +Mon Mar 5 17:19:56 2001 WATANABE Hirofumi + + * win32/win32.c (gettimeofday): use GetLocalTime() instead of ftime() + for high-resolution timing. + +Sun Mar 4 17:01:09 2001 WATANABE Hirofumi + + * string.c (trnext): support backslash escape in String#tr. + +Sat Mar 3 16:15:16 2001 Yukihiro Matsumoto + + * eval.c (rb_eval): push cbase if ruby_cbase != ruby_class, for + example in the case NODE_DEFN/NODE_DEFS are called within + module_eval. + +Wed Feb 28 11:02:41 2001 Yukihiro Matsumoto + + * 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. + +Wed Feb 28 05:01:40 2001 Koji Arai + + * dir.c (rb_glob_helper): "./foo" should match "foo", not "./foo". + +Tue Feb 27 16:38:15 2001 Yukihiro Matsumoto + + * 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 should not be + allowed. + + * eval.c (proc_call): ignore block to `call' always, despite of + being orphan or not. + +Wed Feb 27 10:16:32 2001 Nobuyoshi Nakada + + * eval.c (rb_yield_0): should check based on rb_block_given_p() + and rb_f_block_given_p(). + +Tue Feb 27 04:13:45 2001 Nobuyoshi Nakada + + * 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. + +Mon Feb 26 16:20:27 2001 Yukihiro Matsumoto + + * ruby.c (proc_options): call ruby_show_version() just once. + + * dir.c (dir_s_open): returns the value from a block (if given). + +Mon Feb 26 14:29:04 2001 Akinori MUSHA + + * ext/extmk.rb.in, lib/mkmf.rb: add C++ rules in addition to C + rules. + +Mon Feb 26 00:04:52 2001 Yukihiro Matsumoto + + * eval.c (proc_call): should not modify ruby_block->frame.iter + based on ruby_frame->iter altered by PUSH_ITER(). + +Mon Feb 26 05:27:52 2001 Wakou Aoyama + + * lib/net/telnet.rb: #telnetmode(), #binmode(): bug fix. + thanks to nobu.nakada@nifty.ne.jp. + +Mon Feb 26 04:55:50 2001 Wakou Aoyama + + * lib/cgi.rb: CGI#form(): bug fix. + thanks to MoonWolf . + + * lib/cgi.rb: CGI#rfc1123_date(): improvement. + thanks to Tomoyasu Akita . + + * lib/cgi.rb: CGI#header(): improvement for mod_ruby. + thanks to Shugo Maeda . + +Sun Feb 25 02:45:30 2001 WATANABE Hirofumi + + * file.c (rb_file_s_rename): avoid Cygwin's bug. + +Sat Feb 24 23:32:55 2001 Yukihiro Matsumoto + + * eval.c (rb_thread_fd_close): should save current context before + raising exception. + +Sat Feb 24 22:14:00 2001 WATANABE Hirofumi + + * win32/win32.c (myrename): fix error handling. + +Sat Feb 24 13:58:48 2001 Minero Aoki + + * lib/net/http.rb: always close connection on request without + body. + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: change copyright. + +Sat Feb 24 03:15:49 2001 Yukihiro Matsumoto + + * io.c (set_stdin): preserve original stdin. + + * io.c (set_outfile): preserve original stdout/stderr. + +Fri Feb 23 08:28:58 2001 Minero Aoki + + * lib/net/protocol.rb: clear read buffer after reopen. + + * lib/net/protocol.rb: refactoring. + + * lib/net/http.rb: split module HTTPHeader from HTTPResponse. + +Tue Feb 20 23:45:35 2001 WATANABE Hirofumi + + * process.c: add W* macro if not available. + +Tue Feb 20 16:37:58 2001 Yukihiro Matsumoto + + * configure.in: add check for negative time_t for gmtime(3). + + * time.c (time_new_internal): no positive check if gmtime(3) can + handle negative time_t. + + * time.c (time_timeval): ditto. + + * bignum.c (rb_big2long): should not raise RangeError for Bignum + LONG_MIN value. + +Mon Feb 19 17:46:37 2001 Yukihiro Matsumoto + + * string.c (rb_str_substr): "a"[1,2] should return ""; need + rubicon upgrade. + +Mon Feb 19 12:10:36 2001 Triet H. Lai + + * error.c (rb_sys_warning): new function to give warning with + strerror() message. + + * dir.c (rb_glob_helper): better error handling, along with + performance tune. + +Mon Feb 19 01:55:43 2001 Yukihiro Matsumoto + + * eval.c (secure_visibility): visibility check for untainted modules. + +Mon Feb 19 00:29:29 2001 Nobuyoshi Nakada + + * signal.c (sigpipe): sighandler which does nothing. + + * signal.c (trap): set sigpipe function for SIGPIPE. + + * signal.c (Init_signal): default SIGPIPE handler should be + sigpipe function. + +Sun Feb 18 15:42:38 2001 WATANABE Hirofumi + + * ext/curses/extconf.rb: add dir_config. + + * missing/flock.c: use fcntl(2) instead of lockf(2). + +Sun Feb 18 05:46:03 2001 Minero Aoki + + * lib/net/http.rb: Response#range_length was not debugged. + +Sun Feb 18 04:02:03 2001 Yasushi Shoji + + * array.c (rb_ary_subseq): wrong boundary check. + +Sun Feb 18 00:09:50 2001 Nobuyoshi Nakada + + * win32/win32.c: make file I/O faster on mswin32/mingw32. + + * win32/win32.h: ditto. + + * rubysig.h: ditto. + +Sat Feb 17 23:32:45 2001 Yukihiro Matsumoto + + * parse.y (cond0): integer literal in condition should not be + compared to lineno ($.). + +Fri Feb 16 01:44:56 2001 Yukihiro Matsumoto + + * io.c (set_outfile): f should be the FILE* from the assigning value. + + * ext/socket/socket.c (tcp_s_open): should not give default value + to local_host. + + * time.c (time_s_times): move to Process::times. + + * file.c (rb_file_s_lchmod): new method File::lchmod. + + * file.c (rb_file_s_lchown): new method File::lchown. + +Thu Feb 15 11:33:49 2001 Shugo Maeda + + * lib/cgi/session.rb (close): fixed reversed condition. + +Thu Feb 15 08:34:14 2001 Yukihiro Matsumoto + + * process.c (proc_waitall): new method based on a patch from Brian + Fundakowski Feldman . + + * process.c (last_status_set): objectify $? value (Process::Status). + +Wed Feb 14 17:28:24 2001 Shugo Maeda + + * lib/net/imap.rb: supports unknown resp_text_code. + +Wed Feb 14 00:44:17 2001 Yukihiro Matsumoto + + * dir.c (dir_s_glob): support backslash escape of metacharacters + and delimiters. + + * dir.c (remove_backslases): remove backslashes from path before + calling stat(2). + + * dir.c (dir_s_glob): call rb_yield directly (via push_pattern) if + block is given to the method. + + * dir.c (push_pattern): do not call rb_ary_push; yield directly. + + * eval.c (blk_copy_prev): reduced ALLOC_N too much. + + * eval.c (frame_dup): ditto. + +Tue Feb 13 23:05:38 2001 WATANABE Hirofumi + + * dir.c (lstat): should use rb_sys_stat if lstat(2) is not + available. + +Tue Feb 13 08:43:10 2001 Yukihiro Matsumoto + + * io.c (rb_io_ctl): do not call ioctl/fcntl for f2, if f and f2 + have same fileno. + +Tue Feb 13 01:13:43 2001 Yukihiro Matsumoto + + * eval.c (rb_load): raise LocalJumpError if unexpected local jumps + appear during load. + + * ext/socket/socket.c (bsock_close_read): don't call rb_thread_fd_close(); + it's supposed to be called by io_io_close(). + + * ext/socket/socket.c (bsock_close_read): do not modify f and f2. + + * ext/socket/socket.c (bsock_close_write): ditto. + + * ext/socket/socket.c (sock_new): avoid dup(2) on sockets. + + * parse.y (primary): preserve and clear in_single and in_def using + stack to prevent nested method errors in singleton class bodies. + +Sun Feb 11 16:00:30 2001 WATANABE Hirofumi + + * eval.c (stack_length): use __builtin_frame_address() only if + GCC and i386 CPU. + + * gc.c (rb_gc, Init_stack): ditto. + + * configure.in: add ac_cv_func_getpgrp_void=yes on DJGPP. + +Sat Feb 10 23:43:49 2001 Nobuyoshi Nakada + + * hash.c (rb_any_hash): dumped core on machines sizeof(int) != sizeof(long). + +Sat Feb 10 23:07:15 2001 Yukihiro Matsumoto + + * io.c (rb_io_s_for_fd): IO::for_fd(fd) - new method. + + * regex.c (PREV_IS_A_LETTER): should not treat c>0x7f as a word + character if -Kn. + +Sat Feb 10 00:00:30 2001 Nobuyoshi Nakada + + * win32/win32.c (win32_stat): replace stat to enable when pathname + ends with '/' or '\' for mswin32 on Win9X / Win2k. + + * win32/win32.h: ditto. + + * ruby.h: ditto. + + * dir.c (rb_glob_helper): ditto. + + * file.c (rb_stat, rb_file_s_stat, eaccess, check3rdbyte): ditto. + +Fri Feb 9 22:54:57 2001 WATANABE Hirofumi + + * ruby.c (ruby_init_loadpath): convert '\\' to '/' + before finding executable file path. + +Fri Feb 9 17:41:53 2001 Triet H. Lai + + * dir.c (rb_glob_helper): do not follow symbolic links. + +Thu Feb 8 21:27:24 2001 WATANABE Hirofumi + + * lib/mkmf.rb (install_rb): fix handling of relative path. + + * lib/mkmf.rb (create_makefile): add srcdir. + +Thu Feb 8 02:22:09 2001 Minero Aoki + + * lib/net/http.rb: join HTTPReadResponse into HTTPResponse again. + + * lib/net/http.rb: move http_version() from HTTPRequest to + HTTPResponse. + + * lib/net/protocol.rb: refactoring. + +Wed Feb 7 16:27:27 2001 Minero Aoki + + * lib/net/http.rb: split HTTPResponse into HTTPReadResponse + module. + + * lib/net/protocol.rb: add Net::net_private. + + * lib/net/protocol.rb: Socket#reopen takes arg, open_timeout. + +Wed Feb 7 16:05:22 2001 Nobuyoshi Nakada + + * parse.y (parse_quotedwords): %w should allow parenthesis escape. + +Wed Feb 7 00:57:42 2001 Yukihiro Matsumoto + + * parse.y (parse_qstring): %q should allow terminator escape. + + * re.c (rb_reg_options): new method to give an option values. + + * parse.y (cond0): disable special treating of integer literal in + conditional unless option -e is supplied. changes current + behavior. experimental. + + * parse.y (cond0): give warning for string/integer literals and + dot operators in conditionals unless option -e is supplied. + + * re.c (rb_reg_equal): all option flags should be same to be equal. + +Tue Feb 6 21:30:44 2001 Minero Aoki + + * lib/net/http.rb: call on_connect() on re-opening socket. + + * lib/net/pop.rb: also POP3 can use APOP auth. + +Tue Feb 6 20:19:10 2001 Minero Aoki + + * lib/net/http.rb: add HTTP#request. + + * lib/net/http.rb: take HTTP 1.0 server into account (incomplete). + + * lib/net/protocol.rb: timeout for open/read. + + * lib/net/protocol.rb: add Protocol#on_connect,on_disconnect. + +Mon Feb 5 23:15:46 2001 Yukihiro Matsumoto + + * error.c (Init_Exception): make Interrupt a subclass of + SignalException. + +Mon Feb 5 00:39:06 2001 KANEKO Naoshi + + * dir.c: use ISXXX() instead of isxxx(). + + * dln.c (aix_loaderror): ditto. + + * file.c (rb_file_s_expand_path): ditto. + + * string.c (rb_str_upcase_bang): ditto. + + * win32/win32.c (do_spawn): ditto. + + * win32/win32.c (NtMakeCmdVector): ditto. + + * win32/win32.c (opendir): ditto. + +Sat Feb 3 14:44:53 2001 Nobuyoshi Nakada + + * configure.in (AC_C_INLINE): check inline attribute. + + * gc.c (is_pointer_to_heap): use inline rather than __inline__. + + * pack.c (hex2num): ditto. + + * ruby.h (rb_class_of, rb_type, rb_special_const_p): ditto. + + * util.c (rb_class_of, rb_type, rb_special_const_p): defined in + ruby.h. + +Fri Feb 2 16:14:51 2001 Yukihiro Matsumoto + + * array.c (rb_ary_sort_bang): returns self, even if its length is + less than 2. + + * eval.c (POP_VARS): propagate DVAR_DONT_RECYCLE, if + SCOPE_DONT_RECYCLE of ruby_scope is set. + +Wed Jan 31 22:27:29 2001 WATANABE Hirofumi + + * configure.in: gcc-2.95.2-7(Cygwin) support. + add -mwin32 if available. + + * cygwin/GNUmakefile: ditto. + +Tue Jan 30 17:56:48 2001 Yukihiro Matsumoto + + * array.c (rb_ary_fetch): new method. + +Mon Jan 29 17:36:19 2001 TOYOFUKU Chikanobu + + * eval.c (rb_eval): nd_iter evaluation should be wrapped by + BEGIN_CALLARGS and END_CALLARGS. + +Mon Jan 29 14:25:39 2001 Yukihiro Matsumoto + + * eval.c (block_pass): return from block jumps directory to + block invoker. + +Mon Jan 29 01:40:27 2001 Yukihiro Matsumoto + + * string.c (str_independent): should not clear str->orig here. + it's too early. + +Fri Jan 26 01:42:40 2001 Yukihiro Matsumoto + + * parse.y: clarify do ambiguity, bit more complex but natural + from my point of view. + +Wed Jan 24 14:58:08 2001 Akinori MUSHA + + * lib/cgi.rb: fix the problem that when running under mod_ruby + header() outputs only one Set-Cookie line. + +Wed Jan 24 01:45:49 2001 Yukihiro Matsumoto + + * eval.c (POP_BLOCK_TAG): call rb_gc_force_recycle() if block has + not been objectified. + + * eval.c (rb_callcc): should nail down block->tag history to avoid + rb_gc_force_recycle(). + +Tue Jan 23 18:51:57 2001 Yukihiro Matsumoto + + * gc.c (rb_gc_call_finalizer_at_exit): should finalize objects in + deferred_final_list too. + +Tue Jan 23 16:10:12 2001 Yukihiro Matsumoto + + * gc.c (os_live_obj): do not list terminated object. + + * gc.c (os_obj_of): ditto. + + * gc.c (rb_gc_mark): support new T_BLKTAG tag. + + * gc.c (obj_free): ditto. + + * eval.c (new_blktag): creation of new block tag, which holds + destination of global jump and orphan status. + + * eval.c (block_pass): break from orphan Proc object will raise a + LocalJumpError exception. + +Mon Jan 22 16:33:16 2001 WATANABE Hirofumi + + * mkconfig.rb: autoconf 2.49 support. + +Mon Jan 22 00:32:44 2001 Yukihiro Matsumoto + + * eval.c (block_pass): behavior consistency with proc_call(). do + not propagate `break'. + +Sat Jan 20 03:54:00 2001 Yukihiro Matsumoto + + * parse.y (yylex): fixed serious syntax misbehavior. do's + preceding was too high. a block in `foo bar do .. end' should + be passed to `foo', not `bar'. + + * parse.y (block_call): syntax restructure. + +Thu Jan 18 04:28:14 2001 Yukihiro Matsumoto + + * io.c (rb_io_s_read): new method to call IO#read from + pathname. In addition, it accepts third optional argument to + specify starting point. + +Wed Jan 17 13:28:26 2001 WATANABE Hirofumi + + * configure.in: remove DEFS definition. + + * mkconfig.rb: ditto. + + * win32/config.status.in: ditto. + +Tue Jan 16 17:00:50 2001 Minero Aoki + + * lib/net/protocol.rb: ignore EOFError for read. + + * lib/net/http.rb: user specified header was not used. + +Mon Jan 15 16:00:07 2001 Yukihiro Matsumoto + + * pack.c (pack_unpack): should check associated pointer packed by + pack("P"). Thus pointers can be retrieved only from pointer + packed strings. restriction added. + +Sun Jan 14 21:49:28 2001 Koji Arai + + * sprintf.c (rb_f_sprintf): simple typo. binary base should be 2, + not '2'. + + * re.c (rb_reg_s_last_match): should explicitly return nth match. + +Sun Jan 14 18:21:30 2001 Usaku Nakamura + + * win32/config.status.in: add some field. + + * win32/win32.c (isInternalCmd): ignore case for shell's internal + command. + + * win32/win32.c (do_spawn): recognize quoted command line. + +Sun Jan 14 04:10:27 2001 Minero Aoki + + * lib/net/protocol.rb (adding): too few "yield" in case of arg is + not String/File. + + * lib/net/http.rb: add http request object. + +Sat Jan 13 19:39:30 2001 WATANABE Hirofumi + + * re.c (rb_reg_desc): separate RE_OPTION_MULTILINE + + * re.c (rb_reg_options): add RE_OPTION_{POSIXLINE,RE_OPTION_MULTILINE, + RE_OPTION_EXTENDED} + +Thu Jan 11 10:45:04 2001 WATANABE Hirofumi + + * win32/win32.h, win32/config.h.in: move NORETURN from win32.h + to config.h.in. + + * win32/config.h.in (inline): renamed from INLINE. + + * djgpp/config.hin (INLINE): removed. + +Thu Jan 11 06:45:55 2001 Yukihiro Matsumoto + + * object.c (rb_mod_dup): should propagate FL_SINGLETON. + + * object.c (inspect_obj): handles the case of no instance variable. + +Wed Jan 10 16:15:08 2001 WATANABE Hirofumi + + * ruby.h: NORETURN macro is changed for VC++ 6.0. + + * eval.c, intern.h: ditto. + + * djgpp/config.hin, win32/win32.h: ditto. + + * configure.in: ditto. + +Wed Jan 10 13:54:53 2001 WATANABE Hirofumi + + * process.c (proc_setuid): use setresuid() if available. + + * process.c (proc_setgid): use setresgid() if available. + + * configure.in: ditto. + +Wed Jan 10 01:50:45 2001 Yukihiro Matsumoto + + * configure.in (AC_C_INLINE): check inline attribute. + + * string.c (rb_str_reverse_bang): forgot to call rb_str_modify(). + +Tue Jan 9 17:41:40 2001 Yukihiro Matsumoto + + * object.c (rb_obj_taint): check frozen status before modifying + taint status. + + * object.c (rb_obj_untaint): ditto. + +Tue Jan 9 16:22:14 2001 Yukihiro Matsumoto + + * enum.c (enum_inject): new method. + +Tue Jan 9 02:16:42 2001 Yukihiro Matsumoto + + * gc.c (rb_gc_call_finalizer_at_exit): clear klass member of + terminating object. + + * eval.c (rb_call): raise exception for terminated object. + +Mon Jan 8 21:24:37 2001 Yukihiro Matsumoto + + * bignum.c (bigdivrem): t2 might be too big for signed long; do + not use rb_int2big(), but rb_uint2big(). + +Mon Jan 8 21:35:10 2001 Guy Decoux + + * file.c (path_check_1): should restore modified path. + +Mon Jan 8 03:09:58 2001 Yukihiro Matsumoto + + * error.c (rb_load_fail): new func to report LoadError. + + * ruby.c (load_file): use rb_load_fail. + +Sat Jan 6 00:17:18 2001 WATANABE Hirofumi + + * pack.c (pack_pack): avoid infinite loop(pack 'm2'). + +Fri Jan 5 01:02:17 2001 Yukihiro Matsumoto + + * eval.c (ruby_finalize): should enclosed by PUSH_TAG/POP_TAG. + + * gc.c (rb_gc_mark): link 2 of NODE_IFUNC should not be explicitly + marked. it may contain non object pointer. + +Tue Jan 2 00:20:06 2001 Yukihiro Matsumoto + + * re.c (reg_s_last_match): Regexp::last_match(nth) returns nth + substring of the match (alternative for $& and $). + +Sun Dec 31 01:39:16 2000 Guy Decoux + + * eval.c (rb_mod_define_method): wrong comparison for blocks. + +Sat Dec 30 19:28:50 2000 Yukihiro Matsumoto + + * gc.c (id2ref): should handle Symbol too. + + * gc.c (id2ref): should print original ptr value + +Sat Dec 30 03:14:22 2000 Yukihiro Matsumoto + + * eval.c (rb_iterate): NODE_CFUNC does not protect its data + (nd_tval), so create new node NODE_IFUNC for iteration C + function. + + * eval.c (rb_yield_0): use NODE_IFUNC. + + * gc.c (rb_gc_mark): support NODE_IFUNC. + +Fri Dec 29 11:41:55 2000 Yukihiro Matsumoto + + * gc.c (mem_error): prohibit recursive mem_error(). + (ruby-bugs-ja:PR#36) + +Fri Dec 29 11:05:41 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_fd_writable): should not switch context if + rb_thread_critical is set. + + * eval.c (rb_thread_wait_fd): ditto. + + * eval.c (rb_thread_wait_for): ditto. + + * eval.c (rb_thread_select): ditto. + + * eval.c (rb_thread_join): join during critical section causes + deadlock. + +Fri Dec 29 00:38:46 2000 Yukihiro Matsumoto + + * m17n.c: new file - core functions of M17N. + +Tue Dec 26 18:46:41 2000 NAKAMURA, Hiroshi + + * lib/debug.rb: Avoid thread deadlock in debugging stopped thread. + + * lib/debug.rb: Uncleared 'finish' state. + +Tue Dec 26 16:53:55 2000 Yukihiro Matsumoto + + * eval.c (rb_yield_0): remove dvar node by rb_gc_force_recycle() + more eagerly. + + * eval.c (rb_f_binding): recycling should be stopped for outer + scope too. + + * eval.c (proc_new): ditto. + +Tue Dec 26 15:45:35 2000 Yukihiro Matsumoto + + * string.c (rb_str_inspect): should treat multibyte characters + properly. + +Mon Dec 25 17:49:08 2000 K.Kosako + + * string.c (rb_str_replace_m): unexpected string share happens if + replace is done for associated (STR_NO_ORIG) string. + +Tue Dec 26 15:01:53 2000 Yukihiro Matsumoto + + * io.c (rb_f_p): should not call rb_io_flush() if rb_defout is not + a IO (T_FILE). + +Mon Dec 25 15:52:39 2000 Yukihiro Matsumoto + + * stable version 1.6.2 released. + +Mon Dec 25 05:11:04 2000 Wakou Aoyama + + * lib/cgi.rb: version 2.1.2 (some bug fixes). + + * lib/cgi.rb: Regexp::last_match[1] --> $1 + + * lib/net/telnet.rb: ditto. + +Mon Dec 25 04:43:02 2000 Minero Aoki + + * lib/net/http.rb: does not send HEAD on closing socket. + +Mon Dec 25 00:44:48 2000 Yukihiro Matsumoto + + * hash.c (rb_any_cmp): should use rb_str_cmp() if TYPE == T_STRING + and CLASS_OF == rb_cString. + + * string.c (rb_str_new4): should copy class of original too. + +Mon Dec 25 00:04:54 2000 Nobuyoshi Nakada + + * eval.c (rb_thread_schedule): initial value of `max' changed to -1. + +Mon Dec 25 00:16:14 2000 Yukihiro Matsumoto + + * string.c (rb_str_replace_m): copy-on-write replace. + + * parse.y (yylex): should handle => after identifier as well as == + and =~. + +Sat Dec 23 23:55:57 2000 Yukihiro Matsumoto + + * bignum.c (rb_cstr2inum): Integer("") should not return 0. + +Sat Dec 23 11:55:57 2000 Yukihiro Matsumoto + + * array.c (rb_ary_and): Array#& should preserve original order. + +Sat Dec 23 03:44:16 2000 Minero Aoki + + * lib/net/protocol.rb: set @closed false in Socket#reopen. + + * lib/net/pop.rb: add POP3.foreach, delete_all. + + * lib/net/pop.rb: add POP3#delete_all. + + * lib/net/http.rb: add HTTP.version_1_1, version_1_2 + + * lib/net/http.rb: refactoring. + +Fri Dec 22 23:11:12 2000 Ueno Katsuhiro + + * eval.c (rb_feature_p): ext might be null. + +Fri Dec 22 17:04:12 2000 Nobuyoshi Nakada + + * win32/win32.c (myselect): avoid busy loop by adjusting fd_count. + +Fri Dec 22 15:07:55 2000 Yukihiro Matsumoto + + * bignum.c (rb_cstr2inum): prefix like '0x' had removed too much. + +Thu Dec 21 13:01:46 2000 Tanaka Akira + + * lib/net/ftp.rb (makeport): don't use TCPsocket.getaddress. + +Wed Dec 20 12:00:15 2000 Yukihiro Matsumoto + + * bignum.c (rb_big_lshift): should cast up to BDIGIT_DBL. + + * parse.y (yylex): disallow trailing '_' for numeric literals. + + * bignum.c (rb_cstr2inum): allow `_' within converting string. + + * eval.c (specific_eval): should take no argument if block is + supplied. + +Tue Dec 19 13:44:50 2000 K.Kosako + + * io.c (rb_f_p): should flush rb_defout, not stdout. + +Tue Dec 19 00:57:10 2000 Yukihiro Matsumoto + + * time.c (time_minus): usec might overflow. (ruby-bugs-ja:PR#35) + + * eval.c (rb_obj_extend): Object#extend should take at least one + argument. + + * parse.y (mrhs_basic): should check value_expr($3), not $1. + +Mon Dec 18 23:18:39 2000 WATANABE Hirofumi + + * util.c (mblen, __crt0_glob_function): add for multibyte + on DJGPP 2.03. + +Mon Dec 18 18:10:30 2000 Yukihiro Matsumoto + + * time.c (time_plus): usec might underflow (ruby-bugs-ja:#PR33). + +Mon Dec 18 08:11:20 2000 Yukihiro Matsumoto + + * hash.c (rb_hash_set_default): should call rb_hash_modify(). + +Sat Dec 16 02:58:26 2000 Minero Aoki + + * eval.c (rb_eval): should clear ruby_errinfo on retry. + + * eval.c (rb_rescue2): ditto. + +Thu Dec 14 13:06:18 2000 Nobuyoshi Nakada + + * class.c (rb_include_module): prohibit frozen class/module. + + * eval.c (rb_frozen_class_p): make external. + + * intern.h (rb_frozen_class_p): prototyped. + + * intern.h (rb_undef): prototyped not but rb_undef_method() + which is also in ruby.h. + +Thu Dec 14 09:20:26 2000 Wakou Aoyama + + * lib/cgi.rb: support -T1 on ruby 1.6.2 + + * lib/cgi.rb: $1 --> Regexp::last_match[1] + + * lib/net/telnet.rb: ditto. + +Wed Dec 13 23:27:06 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): handles case statement without expr, which + looks for any TRUE (non nil, non false) when expression. + + * parse.y (primary): case expression should not be compstmt, but + mere expr. + + * parse.y (primary): case without following expression is now + separated rule. + +Wed Dec 13 12:41:27 2000 WATANABE Hirofumi + + * ruby.c (proc_options): accept "--^M" for DOS line endings. + +Tue Dec 12 15:45:42 2000 Yukihiro Matsumoto + + * parse.y (newline_node): cancel newline unification. + +Mon Dec 11 23:01:57 2000 Yukihiro Matsumoto + + * parse.y (yylex): supports cases `?' precedes EOF and newline. + +Mon Dec 11 12:11:25 2000 Yukihiro Matsumoto + + * eval.c (call_end_proc): some frame members were left + uninitialized. + +Mon Dec 11 01:14:58 2000 Yukihiro Matsumoto + + * io.c (rb_io_fptr_finalize): do not fclose stdin, stdout and + stderr at exit. + +Sat Dec 9 17:34:48 2000 Tachino Nobuhiro + + * time.c (time_cmp): should check with kind_of?, not instance_of? + + * time.c (time_eql): ditto. + + * time.c (time_minus): ditto. + +Fri Dec 8 17:23:25 2000 Tachino Nobuhiro + + * sprintf.c (rb_f_sprintf): proper string precision treat. + +Fri Dec 8 10:44:05 2000 Yukihiro Matsumoto + + * variable.c (rb_mod_remove_cvar): Module#remove_class_variable + added. + +Thu Dec 7 17:35:51 2000 Shugo Maeda + + * eval.c (stack_length): don't use __builtin_frame_address() on alpha. + +Wed Dec 6 18:07:13 2000 WATANABE Hirofumi + + * djgpp/config.sed, win32/Makefile.sub: typo. + + * eval.c (rb_mod_define_method): avoid VC4.0 warnings. + +Wed Dec 6 13:38:08 2000 Yukihiro Matsumoto + + * array.c (rb_ary_and): tuning, make hash from shorter operand. + +Wed Dec 6 01:28:50 2000 SHIROYAMA Takayuki + + * gc.c (rb_gc): __builtin_frame_address() should not be used on + MacOS X. + + * gc.c (Init_stack): ditto. + +Mon Dec 4 13:44:01 2000 WATANABE Hirofumi + + * lib/jcode.rb: consider multibyte. not /n. + +Mon Dec 4 09:49:36 2000 Yukihiro Matsumoto + + * string.c (rb_str_inspect): output whole string contents. no more `...' + + * string.c (rb_str_dump): should propagate taintness. + + * hash.c (env_inspect): hash like human readable output. + + * variable.c (rb_ivar_get): prohibiting instance variable access + is too much restriction. + + * class.c (method_list): retrieving information should not be + restricted where $SAFE=4. + + * class.c (rb_obj_singleton_methods): ditto. + + * eval.c (rb_thread_priority): ditto. + + * eval.c (rb_thread_local_aref): ditto. + + * variable.c (rb_obj_instance_variables): ditto. + + * variable.c (rb_mod_const_at): ditto. + + * variable.c (rb_mod_class_variables): ditto. + + * eval.c (rb_exec_end_proc): end_proc should be preserved. + +Sat Dec 2 22:32:43 2000 Yukihiro Matsumoto + + * eval.c (rb_yield_0): || should accept exactly zero argument. + + * parse.y (stmt): multiple right hand side for single assignment + (e.g. a = 1,2) is allowed. + +Wed Nov 29 07:55:29 2000 Yukihiro Matsumoto + + * marshal.c (w_long): dumping long should be smaller than 32bit max. + + * marshal.c (w_long): shorter long format for small integers(-123..122). + + * marshal.c (r_long): ditto. + +Tue Nov 28 18:10:51 2000 Yukihiro Matsumoto + + * eval.c (rb_mod_define_method): quick hack to implement + on-the-fly method definition. experimental. + +Mon Nov 27 17:00:35 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): should not redefine builtin classes/modules + from within wrapped load. + +Mon Nov 27 08:57:33 2000 Yukihiro Matsumoto + + * eval.c (call_end_proc): should be isolated from outer block. + +Mon Nov 27 00:10:08 2000 Yukihiro Matsumoto + + * io.c (rb_io_ctl): call ioctl/fcntl for fptr->f2 too. + + * process.c (rb_f_fork): call rb_thread_atfork() after creating + child process. + + * eval.c (rb_thread_atfork): kill all other threads immediately, + then turn the current thread into the main thread. + +Sat Nov 25 23:12:22 2000 Yukihiro Matsumoto + + * eval.c (ruby_run): move calling point of rb_trap_exit after + cleaning up threads. + + * eval.c (ruby_finalize): new function to call EXIT trap, END + procs and GC finalizers. + + * eval.c (rb_exec_end_proc): prevent recursion. + + * gc.c (rb_gc_call_finalizer_at_exit): ditto. + + * signal.c (rb_trap_exit): ditto. made static. + + * process.c (rb_f_fork): should swallow all exceptions from block + execution. + + * process.c (fork_rescue): should call ruby_finalize(). + + * parse.y (yycompile): rb_gc() removed. I don't remember why I put + this here. test code? + +Fri Nov 24 22:03:48 2000 Yukihiro Matsumoto + + * range.c (EXCL): exclusive information is now stored in an + instance variable. this enables proper marshal dump. + + * process.c (proc_waitpid): should clear rb_last_status ($?) if + no pid was given by waitpid(2). + +Thu Nov 23 01:35:38 2000 Yukihiro Matsumoto + + * process.c (proc_waitpid2): returns nil if no pid found. + +Wed Nov 22 23:45:15 2000 Yukihiro Matsumoto + + * range.c (range_eq): new method. Compares start and end of range + respectively. + +Wed Nov 22 11:01:32 2000 Yukihiro Matsumoto + + * variable.c (rb_mod_class_variables): should honor singleton + class variable rule defined yesterday. + +Tue Nov 21 23:24:14 2000 Mitsuteru S Nakao + + * numeric.c (flodivmod): missing second operand (typo). + +Tue Nov 21 03:39:41 2000 Yukihiro Matsumoto + + * marshal.c (marshal_load): marshal format compatibility check + revised. greater minor revision is UPWARD compatible; + downward compatibility is not assured. + + * eval.c (is_defined): clarify class variable behavior for + singleton classes. class variables within singleton class + should be treated like within singleton method. + +Mon Nov 20 13:45:21 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): set ruby_sourceline before evaluating + exceptions. + + * gc.c (gc_sweep): defer finalization in GC during compilation or + interrupt prohibit section. + + * gc.c (gc_sweep): mark all nodes before sweeping if GC happened + during compilation. + + * eval.c (rb_eval): should treat class variables specially in a + method defined in the singleton class. + +Mon Nov 20 10:20:21 2000 WATANABE Hirofumi + + * dir.c, win32/win32.c, ruby.h: add rb_iglob(). + +Mon Nov 20 00:18:16 2000 Yukihiro Matsumoto + + * array.c (rb_ary_subseq): should return nil for outbound start + index. + + * marshal.c (marshal_load): show format versions explicitly when + format version mismatch happens. + +Sun Nov 19 06:13:24 2000 Kazuhiro NISHIYAMA + + * marshal.c: use long for string/array length. + + * pack.c (swaps): use bit-or(|) instead of plus(+). + + * pack.c (swapl): ditto. + +Sat Nov 18 15:18:16 2000 Kazuhiro NISHIYAMA + + * array.c (rb_ary_replace): array size should be in long. + + * array.c (rb_ary_concat): ditto. + + * array.c (rb_ary_hash): ditto. + +Sat Nov 18 14:07:20 2000 Minero Aoki + + * lib/net/http.rb: Socket#readline() reads until "\n", not "\r\n" + +Fri Nov 17 14:55:18 2000 WATANABE Hirofumi + + * string.c (rb_str_succ): output should be NUL terminated. + +Fri Nov 17 02:54:15 2000 Yukihiro Matsumoto + + * io.c (rb_io_close): need not to flush before closing. + + * eval.c (rb_thread_join): should preserve last thread status when + THREAD_TO_KILL. + + * eval.c (rb_thread_stop): ditto. + + * io.c (io_fflush): wrap fflush by TRAP_BEG, TRAP_END. + + * eval.c (rb_eval): method defined within singleton class + definition should behave like singleton method about class + variables. + + * eval.c (is_defined): ditto. + +Thu Nov 16 23:06:07 2000 Minero Aoki + + * lib/net/http.rb: can call {old,new}_implementation any times. + + * lib/net/http.rb: HTTP#connecting, receive -> + common_oper, connecting. + + * lib/net/http.rb: output warning if u_header includes + duplicated header. + + * lib/net/http.rb: not check Connection:/Proxy-Connection; + always read until eof. + + * lib/net/protocol.rb: detects and catches "break" from block. + +Thu Nov 16 16:32:45 2000 Masahiro Tanaka + + * bignum.c (bigdivrem): should have incremented ny first. + +Thu Nov 16 14:58:00 2000 Nobuyoshi Nakada + + * ext/socket/socket.c (sock_new): duplicates file descriptor + with myfddup() on mswin32/mingw32. + + * win32/win32.h: uses system original fdopen(). + + * win32/win32.c (myfddup): newly added instead of myfdopen(). + + * win32/win32.c (mybind, myconnect, mygetsockname, mygetsockopt, + mylisten, mysetsockopt): now accept file descriptor only, not + SOCKET. + + * win32/win32.c (myaccept, mysocket): return file descriptor, + instead of SOCKET. + +Thu Nov 16 10:23:24 2000 Yukihiro Matsumoto + + * eval.c (massign): too strict check for nameless rest argument. + + * eval.c (method_arity): mere * should return -1. + + * eval.c (intersect_fds): should check all FDs in the fd_set. + +Wed Nov 15 19:33:20 2000 Nobuyoshi Nakada + + * eval.c (rb_attr): should clear method cache before calling hook. + + * eval.c (rb_eval): ditto. + + * eval.c (rb_mod_modfunc): ditto. + +Mon Nov 13 22:44:52 2000 Yukihiro Matsumoto + + * error.c (rb_bug): print version to stderr. + +Mon Nov 13 19:02:08 2000 WATANABE Hirofumi + + * win32/win32.c, io.c, process.c: the exit status of program must be + multiplied 256 on mswin32 and msdosdjgpp(system(), ``). + +Sat Nov 11 22:57:38 2000 Yukihiro Matsumoto + + * parse.y (arg): uniformed treatment of -a**b, where a is a + number literal; hacky but behavior appears more consistent. + + * parse.y (newline_node): reduce newline node (one per line). + + * random.c (rb_f_srand): should be prohibited in safe level + greater than 4. + +Sat Nov 11 22:37:36 2000 Nobuyoshi Nakada + + * rubysig.h: do not use rb_trap_immediate on win32. + + * rubysig.h: new macros, ATOMIC_TEST, ATOMIC_SET, ATOMIC_INC, + ATOMIC_DEC, RUBY_CRITICAL and new definition of TRAP_BEG, + TRAP_END. + + * gc.c (ruby_xmalloc): should wrap malloc() by RUBY_CRITICAL. + + * signal.c (sighandle): better win32 sig handling. + + * win32/win32.c (flock): better implementation. + + * win32/win32.c (myselect): ditto. + + * win32/win32.c (myaccept): ditto. + + * win32/win32.c (waitpid): ditto. + + * win32/win32.c (myrename): ditto. + + * win32/win32.c (wait_events): support function for win32 signal + handling. + +Sat Nov 11 08:34:18 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.31. + + * lib/net/http.rb: initializes header in HTTP, not HTTPCommand. + + * lib/net/protocol.rb, http.rb: rewrites proxy code. + +Fri Nov 10 16:15:53 2000 Yukihiro Matsumoto + + * numeric.c (rb_num2long): use to_int, not to_i. + + * error.c: T_SYMBOL was misplaced by T_UNDEF. + + * parse.y (yylex): eval("^") caused infinite loop. + +Thu Nov 9 14:22:13 2000 Yukihiro Matsumoto + + * io.c (rb_io_taint_check): should check IO taintness; no + operation for untainted IO should be allowed in the sandbox. + + * rubyio.h (GetOpenFile): check IO taintness inside using + rb_io_taint_check(). + +Wed Nov 8 03:08:53 2000 Yukihiro Matsumoto + + * io.c (io_fflush): ensure fflush(3) would not block by calling + rb_thread_fd_writable(). + +Tue Nov 7 20:29:56 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.30. + + * lib/net/protocol.rb, smtp.rb: Command#critical_ok -> error_ok + + * lib/net/http.rb: reads header when also "100 Continue". + +Tue Nov 7 04:32:19 2000 Yukihiro Matsumoto + + * bignum.c (bigdivrem): use bit shift to make y's MSB set. + +Mon Nov 6 1:22:49 2000 Yukihiro Matsumoto + + * error.c (warn_print): do not use err_append(), to ensure output + to stderr. + + * error.c (rb_warn): use warn_print() instead of err_print(). + + * error.c (rb_warning): ditto. + + * error.c (rb_bug): ditto. + + * eval.c (rb_load): re-raise exceptions during load. + + * time.c (make_time_t): remove useless adjust + +Thu Nov 2 18:01:16 2000 Yukihiro Matsumoto + + * random.c (rb_f_rand): half-baked float support fixed. This fix + was originally proposed by K.Kosako . + +Tue Oct 31 17:27:17 2000 Yukihiro Matsumoto + + * bignum.c: change digit size to `long|int' if long long is + available. + + * marshal.c (w_object): support `long|int' digits. + + * marshal.c (r_object): ditto. + +Sat Oct 28 23:54:22 2000 Yukihiro Matsumoto + + * parse.y (yylex): allow =end at the end of file (without a + newline at the end). + +Fri Oct 27 10:00:27 2000 Yukihiro Matsumoto + + * bignum.c (rb_cstr2inum): should ignore trailing white spaces. + + * bignum.c (rb_str2inum): string may not have sentinel NUL. + +Fri Oct 27 02:37:22 2000 Yukihiro Matsumoto + + * bignum.c (rb_cstr2inum): wrongly assigned base to c before + badcheck check. + +Thu Oct 26 02:42:50 2000 Minero Aoki + + * lib/net/protocol.rb: Command#critical_ok + + * lib/net/smtp.rb: clear critical flag before go to SMTP + +Wed Oct 25 12:30:19 2000 Yukihiro Matsumoto + + * array.c (rb_ary_concat): replacing array might be the receiver + itself. do not call rb_ary_push_m. + + * array.c (rb_ary_replace): replacing array might be the receiver + itself. use memmove. + +Fri Oct 20 07:56:23 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): ARGSPUSH should not modify args array. + +Thu Oct 19 14:58:17 2000 WATANABE Tetsuya + + * pack.c (NUM2U32): should use NUM2ULONG(). + +Tue Oct 17 17:30:34 2000 WATANABE Hirofumi + + * eval.c (error_print): ruby_sourcefile may be NULL. + +Tue Oct 17 16:36:28 2000 Wes Nakamura + + * pack.c (NATINT_U32): wrong use of sizeof. + +Tue Oct 17 12:48:20 2000 Katsuyuki Komatsu + + * eval.c (rb_abort): nil check against ruby_errinfo. + + * eval.c (rb_thread_schedule): use FOREACH_THREAD_FROM instead of + FOREACH_THREAD, since curr_thread may be removed from thread ring. + + * eval.c (THREAD_ALLOC): errinfo should be Qnil. + + * eval.c (rb_callcc): th->prev,th->next are now already + initialized in THREAD_ALLOC. + +Mon Oct 16 15:37:33 2000 Kazuhiro NISHIYAMA + + * eval.c (rb_thread_inspect): tag size was shorter than required. + + * object.c (rb_obj_inspect): ditto. + +Mon Oct 16 14:25:18 2000 Shugo Maeda + + * object.c (sym_inspect): used `name' before initialization. + +Mon Oct 16 14:06:00 2000 Yukihiro Matsumoto + + * pack.c (pack_pack): use NATINT_U32 for 'l', 'L', and 'N'. + + * pack.c (I32,U32): 32 bit sized integer. + + * pack.c (OFF16,OFF32B): big endian offset for network byteorder. + +Mon Oct 16 06:39:32 2000 Minero Aoki + + * lib/net/http.rb: hex-alpha is not [a-h] but [a-f]. + +Mon Oct 16 01:02:02 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_start_0): should not abort on exception if + $SAFE >= 4. + + * parse.y (sym): symbols for class variable names. + +Sun Oct 15 01:49:18 2000 Yukihiro Matsumoto + + * file.c (rb_file_flock): should accept interrupt. + + * process.c (rb_waitpid): ditto. + + * process.c (rb_waitpid): ditto. + + * process.c (proc_wait): ditto. + + * process.c (proc_waitpid2): wrong recursion. + +Sat Oct 14 03:32:13 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_alloc): should not link a new thread in the + live thread ring before initialization. + +Fri Oct 13 17:08:09 2000 Shugo Maeda + + * lib/net/imap.rb: new file. + +Thu Oct 12 18:56:28 2000 Minero Aoki + + * lib/net/pop.rb: POP3#reset + + * lib/net/http.rb: a code for "Switch Protocol" was wrongly 100. + +Thu Oct 12 01:23:38 2000 Wakou Aoyama + + * lib/cgi.rb: bug fix: CGI::html(): PRETTY option didn't work. + +Thu Oct 12 00:03:02 2000 Yukihiro Matsumoto + + * object.c (sym_inspect): should adjust string length. + + * struct.c (rb_struct_to_s): ditto. + + * struct.c (rb_struct_inspect): ditto. + +Wed Oct 11 22:15:47 2000 Katsuyuki Komatsu + + * eval.c (rb_thread_inspect): should adjust string length. + + * object.c (rb_any_to_s): ditto. + + * object.c (rb_obj_inspect): ditto. + +Wed Oct 11 18:13:50 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_start_0): should check insecure exit. + +Wed Oct 11 14:29:51 2000 Minero Aoki + + * lib/net/protocol.rb: 2nd arg for ProtocolError#initialize is + optional. + + * lib/net/http.rb: code refining. + +Wed Oct 11 11:13:03 2000 Yukihiro Matsumoto + + * parse.y (primary): setter method (e.g. foo=) should always be + public. + + * eval.c (rb_thread_raise): should not raise SecurityError if + exception raised by the interpreter. + + * eval.c (rb_thread_cleanup): skip all THREAD_KILLED threads + before FOREACH_THREAD. + +Tue Oct 10 16:11:54 2000 WATANABE Hirofumi + + * dln.c (dln_load): remove unused code for Cygwin. + +Tue Oct 10 09:49:23 2000 Yukihiro Matsumoto + + * file.c (Init_File): FileTest.size should return 0 (not nil) for + empty files. + +Sun Oct 8 13:20:26 2000 Guy Decoux + + * eval.c (POP_SCOPE): not just set SCOPE_DONT_RECYCLE, but do + scope_dup(). + +Sat Oct 7 15:10:50 2000 Yukihiro Matsumoto + + * string.c (rb_str_reverse_bang): unnecessary ALLOCA_N() was + removed. + +Fri Oct 6 14:50:24 2000 WATANABE Hirofumi + + * ext/extmk.rb.in, lib/mkmf.rb: remove "DESTDIR =". + + * Makefile.in, win32/Makefile.sub, ruby.1: renamed -X to -C. + +Fri Oct 6 12:50:52 2000 Yukihiro Matsumoto + + * array.c (rb_ary_plus): use to_ary(), not Check_Type(). + + * array.c (rb_ary_concat): ditto. + + * gc.c (rb_gc): use __builtin_frame_address() for gcc. + + * eval.c (stack_length): ditto. + + * parse.y (assign_in_cond): stop warning till some better warning + condition will be found. + +Thu Oct 5 18:02:39 2000 Yukihiro Matsumoto + + * object.c (rb_obj_dup): should have propagated taint flag. + (ruby-bugs:#PR64,65) + +Wed Oct 4 00:26:11 2000 Yukihiro Matsumoto + + * eval.c (proc_arity): proc{|a|}'s arity should be -1. + +Mon Oct 2 05:28:58 2000 akira yamada + + * string.c (trnext): minus at the end of pattern. + +Sun Oct 1 00:43:34 2000 WATANABE Hirofumi + + * configure.in: exp-name was wrong on cygwin and mingw32. + +Thu Sep 28 14:57:09 2000 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): should try must_string calculation + every time. + +Tue Sep 19 23:47:44 2000 SHIROYAMA Takayuki + + * configure.in, config.guess, config.sub: MacOS X support. + +Wed Sep 27 18:40:05 2000 Yukihiro Matsumoto + + * stable version 1.6.1 released. + +Wed Sep 27 16:13:05 2000 WATANABE Hirofumi + + * mkconfig.rb: variables should be expanded only if /\$\{?\w+\}?/. + +Tue Sep 26 18:09:51 2000 WATANABE Hirofumi + + * string.c: include + +Tue Sep 26 15:59:50 2000 Yukihiro Matsumoto + + * object.c (rb_mod_dup): metaclasses of class/module should not be + cleared by rb_obj_dup. + +Tue Sep 26 02:44:54 2000 Yukihiro Matsumoto + + * gc.c (GC_MALLOC_LIMIT): size extended. + + * regex.c (DOUBLE_STACK): use machine's stack region for regex + stack if its size is small enough. + +Mon Sep 25 18:13:07 2000 Yukihiro Matsumoto + + * regex.c: include . + + * eval.c (rb_add_method): cache mismatch by method + definition. need to clear_cache_by_id every time. + +Mon Sep 25 13:31:45 2000 WATANABE Hirofumi + + * win32/win32.c (NtCmdGlob): substitute '\\' with '/'. + +Mon Sep 25 00:35:01 2000 WATANABE Hirofumi + + * defines.h: #undef HAVE_SETITIMER on cygwin. + +Sun Sep 24 03:01:53 2000 Minero Aoki + + * lib/net/protocol.rb, http.rb: typo. + +Sat Sep 23 07:33:20 2000 Aleksi Niemela + + * regex.c (re_compile_pattern): nicer regexp error messages for + invalid patterns. + +Sat Sep 23 03:06:25 2000 Yukihiro Matsumoto + + * variable.c (rb_autoload_load): should not require already + provided features. + +Fri Sep 22 15:46:21 2000 Minero Aoki + + * lib/net/http.rb: too early parameter expansion in string. + +Fri Sep 22 13:58:51 2000 WATANABE Hirofumi + + * ext/extmk.rb.in: don't use default $: + +Fri Sep 22 13:42:50 2000 Katsuyuki Komatsu + + * regex.c (PUSH_FAILURE_COUNT): avoid casting warning on alpha. + + * regex.c (PUSH_FAILURE_POINT): ditto. + +Fri Sep 22 10:16:21 2000 WATANABE Hirofumi + + * win32/config.h.in: add HAVE_TELLDIR, HAVE_SEEKDIR + +Thu Sep 21 19:04:34 2000 WATANABE Hirofumi + + * ext/extmk.rb, lib/mkmf.rb (install_rb): check whether libdir is + directory or not. + +Thu Sep 21 17:23:05 2000 Yukihiro Matsumoto + + * file.c (rb_file_s_symlink): use HAVE_SYMLINK. + + * file.c (rb_file_s_readlink): use HAVE_READLINK. + + * dir.c (dir_tell): use HAVE_TELLDIR. + + * dir.c (dir_seek): use HAVE_SEEKDIR. + + * configure.in (AC_CHECK_FUNCS): lstat, symlink, readlink, + telldir, seekdir checks added. + + * file.c (lstat): should use stat(2) if lstat(2) is not + available. + +Thu Sep 21 15:59:23 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.29. + + * lib/net/http.rb: HTTPReadAdapter -> HTTPResponseReceiver + + * lib/net/http.rb (connecting): response is got in receive() + +Thu Sep 21 15:49:07 2000 Wayne Scott + + * lib/find.rb (find): should not follow symbolic links; + tuned performance too. + +Wed Sep 20 23:21:38 2000 Yukihiro Matsumoto + + * ruby.c (load_file): two Ctrl-D was required to stop ruby at the + beginning of stdin script read. + +Wed Sep 20 14:01:45 2000 Yukihiro Matsumoto + + * eval.c (rb_provided): detect infinite load loop. + + * eval.c (rb_provided): too weak filename comparison. + + * eval.c (rb_thread_alloc): avoid recycling still referenced + dvar structures. + + * eval.c (rb_callcc): ditto. + + * eval.c (THREAD_ALLOC): fill dyna_vars field by ruby_dyna_vars. + +Tue Sep 19 17:47:03 2000 Yukihiro Matsumoto + + * stable version 1.6.0 released. + +Tue Sep 19 16:24:52 2000 Yukihiro Matsumoto + + * marshal.c (Init_marshal): provide marshal.so no more. + +Tue Sep 19 14:01:01 2000 WATANABE Hirofumi + + * configure.in, win32/setup.mak: include version number + in RUBY_SO_NAME. + +Tue Sep 19 13:07:47 2000 Yukihiro Matsumoto + + * parse.y (yylex): was confusing $~ and $_. + +Tue Sep 19 13:06:53 2000 GOTOU Yuuzou + + * signal.c (rb_f_kill): signum may be a negative number, should be + treated by signed number. + +Tue Sep 19 01:14:56 2000 Yukihiro Matsumoto + + * eval.c (rb_provide): better feature handling. + + * eval.c (rb_f_require): loading ruby library may be partial + state. checks in rb_thread_loading is integrated. + + * eval.c (rb_provided): better thread awareness. + + * lib/irb/frame.rb: 6 (not 5) parameters for trace_func proc. + + * eval.c (error_print): should print error position even if + get_backtrace() failed. + +Sat Sep 16 03:29:59 2000 Yukihiro Matsumoto + + * eval.c (rb_f_require): rb_provided() was called too early; does + not work well with threads. + + * parse.y (ensure): should distinguish empty ensure and non + existing ensure. + + * file.c (Init_File): extending File by class of FileTest was + serious mistake. + +Thu Sep 14 02:46:54 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_yield): array strip should be done in this + function. + +Wed Sep 13 17:01:03 2000 Yukihiro Matsumoto + + * bignum.c (rb_big_eq): incomplete value comparison of bignums. + +Wed Sep 13 06:39:54 2000 Yukihiro Matsumoto + + * variable.c (rb_mod_class_variables): Module#class_variables added. + +Wed Sep 13 06:09:26 2000 Wakou Aoyama + + * lib/cgi.rb: bug fix: CGI::header(): output status header. + +Wed Sep 13 01:09:12 2000 Yukihiro Matsumoto + + * parse.y (yylex): allow global variables like '$__a'. + +Tue Sep 12 22:28:43 2000 WATANABE Hirofumi + + * ext/socket/extconf.rb: avoid using terrible + on cygwin 1.1.5. + +Tue Sep 12 16:01:58 2000 WATANABE Hirofumi + + * array.c (rb_ary_unshift_m): typo. + +Tue Sep 12 15:37:55 2000 Yukihiro Matsumoto + + * eval.c (rb_yield_0): stripped array too much, should remove just + for proc_call(). + +Tue Sep 12 07:05:24 2000 Wakou Aoyama + + * lib/cgi.rb: version 2.0.0: require ruby1.5.4 or later. + + * lib/net/telnet.rb: version 1.6.0 + +Tue Sep 12 03:26:07 2000 Yukihiro Matsumoto + + * eval.c (massign): use to_ary to get an array if available. + + * object.c (rb_Array): ditto. + +Mon Sep 11 14:24:47 2000 Yukihiro Matsumoto + + * hash.c (ruby_setenv): should not free the element of + origenvironment. + + * parse.y (command_call): kYIELD moved to this rule to allow + 'a = yield b'. (ruby-bugs-ja:#PR15) + +Mon Sep 11 01:27:54 2000 Yukihiro Matsumoto + + * eval.c (rb_yield_0): proc#call([]) should pass single value to + the block. + + * eval.c (callargs): reduce array allocation. + + * eval.c (massign): precise check for argument number. + +Fri Sep 8 10:05:17 2000 Yukihiro Matsumoto + + * gc.c (STR_NO_ORIG): should be FL_USER2. + +Thu Sep 7 14:17:51 2000 Yukihiro Matsumoto + + * string.c (rb_str_cat): should work even for concatenating same + string. + +Wed Sep 6 17:06:38 2000 Yukihiro Matsumoto + + * variable.c (rb_cvar_declare): should check superclass's class + variable first. + +Wed Sep 6 10:42:02 2000 Yukihiro Matsumoto + + * misc/ruby-mode.el (ruby-calculate-indent): shift continuing line + if previous line ends with modifier keyword. + + * misc/ruby-mode.el (ruby-parse-region): should not give up if + modifiers are at the end of line. + + * misc/ruby-mode.el (ruby-expr-beg): indented wrongly if modified + statement was size 1. + +Wed Sep 6 10:41:19 2000 Kenichi Komiya + + * misc/ruby-mode.el (ruby-parse-region): modifier was not handled + well on emacs19. + +Tue Sep 5 17:10:12 2000 Yukihiro Matsumoto + + * time.c (time_to_s): fixed zone string UTC for utc time object. + +Tue Sep 5 00:26:06 2000 Yukihiro Matsumoto + + * regex.c (re_search): range worked wrongly on bm_search(). + +Mon Sep 4 13:40:40 2000 WATANABE Hirofumi + + * configure.in: renamed libruby.a to libruby.{cygwin,mingw32}.a + on cygwin and mingw32. + +Sun Sep 3 23:44:04 2000 Noriaki Harada + + * io.c (NO_SAFE_RENAME): for BeOS too. + +Sun Sep 3 11:31:53 2000 Takaaki Tateishi + + * parse.y (rescue): no assignment was done if rescue body was + empty. + +Sat Sep 2 10:52:21 2000 Yukihiro Matsumoto + + * parse.y (call_args,aref_args): block_call can be the last + argument. + + * parse.y (COND_PUSH,COND_POP): maintain condition stack to allow + kDO2 in parentheses in while/until/for conditions. + + * parse.y (yylex): generate kDO2 for EXPR_ARG outside of + while/until/for condition. + +Fri Sep 1 10:36:29 2000 Yukihiro Matsumoto + + * parse.y (aref_args,opt_call_args): add block_call to allow a + method without parentheses and with block as a last argument. + + * hash.c (rb_hash_sort): should not return nil. + + * re.c (match_aref): should use rb_reg_nth_match(). + + * eval.c (POP_SCOPE): recycled scopes too much + + * eval.c (Init_eval): extend room for stack allowance. + + * eval.c (POP_SCOPE): frees scope too much. + +Thu Aug 31 14:28:39 2000 Yukihiro Matsumoto + + * gc.c (rb_gc_mark): T_SCOPE condition must be more precise. + + * eval.c (scope_dup): should not make all duped scope orphan. + +Thu Aug 31 10:11:47 2000 Yukihiro Matsumoto + + * parse.y (stmt): allow stmt_rhs to be right hand side of multiple + assignment. + + * time.c (rb_time_timeval): type error should not mention the word + 'interval'. + +Wed Aug 30 23:21:20 2000 Yukihiro Matsumoto + + * numeric.c (rb_num2long): use rb_Integer() instead of independent + convert routine. + + * eval.c (rb_rescue2): now takes arbitrary number of exception types. + + * object.c (rb_convert_type): use rb_rescue2 now to handle NameError. + + * object.c (rb_convert_type): better error message. + +Wed Aug 30 17:09:14 2000 WATANABE Hirofumi + + * ext/Win32API/Win32API.c (Win32API_initialize): AlphaNT support. + +Wed Aug 30 14:19:07 2000 Yukihiro Matsumoto + + * parse.y (node_assign): should support NODE_CVASGN2 too. + +Wed Aug 30 11:31:47 2000 Nobuyoshi Nakada + + * ext/Win32API/Win32API.c (Win32API_initialize): add the + arguments checking. + + * ext/Win32API/Win32API.c (Win32API_initialize): add taint + checking. allow String object in the third argument. + +Wed Aug 30 10:29:40 2000 Masahiro Tomita + + * io.c (rb_f_p): flush output buffer. + +Tue Aug 29 16:29:15 2000 Yukihiro Matsumoto + + * parse.y (assignable): remove NODE_CVASGN3. + + * parse.y (gettable): remove NODE_CVAR3. + +Tue Aug 29 02:02:14 2000 Yukihiro Matsumoto + + * lib/mkmf.rb (create_makefile): handles create_makefile("a/b"). + + * ext/extmk.rb.in (create_makefile): ditto + +Mon Aug 28 18:43:54 2000 Yukihiro Matsumoto + + * eval.c (is_defined): now handles class variables. + + * eval.c (rb_eval): class variable behavior revisited. + + * parse.y (assignable): ditto. + + * parse.y (gettable): ditto. + + * regex.c (PUSH_FAILURE_COUNT): push/pop interval count on failure + stack. this fix is inspired by the Emacs21 patch from Stefan + Monnier . + +Fri Aug 25 15:24:39 2000 Yukihiro Matsumoto + + * variable.c (rb_cvar_get): should not follow __attached__. + + * variable.c (rb_cvar_set): ditto. + + * variable.c (rb_cvar_declare): ditto. + + * variable.c (mod_av_set): second class variable assignment at the + toplevel should not give warning. + +Fri Aug 25 01:18:36 2000 Yukihiro Matsumoto + + * io.c (next_argv): prepare path for open file. + + * string.c (rb_str_setter): moved from io.c. + + * io.c (next_argv): filename should be "-" for refreshed ARGF. + +Thu Aug 24 15:27:39 2000 WATANABE Hirofumi + + * ext/socket/socketport.h: use `extern int h_errno' if needed. + +Sat Aug 19 01:34:02 2000 WATANABE Hirofumi + + * ext/sdbm/_sdbm.c (sdbm_prep): flags should be or-ed by O_BINARY on + Win32 too. + + * ext/sdbm/_sdbm.c (makroom): fill hole with 0 on Win32 too. + +Fri Aug 18 13:23:59 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): should preserve and clear $! value before + compilation. + + * eval.c (eval): ditto. + +Fri Aug 18 11:06:19 2000 Shugo Maeda + + * ext/socket/socket.c (s_accept): start GC on EMFILE/ENFILE. + +Thu Aug 17 16:04:48 2000 Yukihiro Matsumoto + + * eval.c (is_defined): should clear ruby_errinfo. + +Thu Aug 17 04:26:31 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.27. + + * lib/net/protocol.rb: writing methods returns written byte size. + + * lib/net/smtp.rb: send_mail accepts many destinations. + +Wed Aug 16 00:43:47 2000 Yukihiro Matsumoto + + * time.c (time_s_times): use CLK_TCK for HZ if it's defined. + +Tue Aug 15 17:30:59 2000 Yukihiro Matsumoto + + * eval.c (frame_dup): should set flag FRAME_MALLOC after + argv allocation. + + * eval.c (blk_free): should not free argv if GC was called before + frame_dup. + +Tue Aug 15 16:08:40 2000 WATANABE Hirofumi + + * configure.in: add ac_cv_func_times=yes for mingw32. + + * win32/win32.c (mytimes): typo. + +Tue Aug 15 01:45:28 2000 Yukihiro Matsumoto + + * io.c (argf_eof): should return true at the end of ARGF without + checking stdout if arguments are given. + +Mon Aug 14 10:34:32 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_status): status should return false for normal + termination, nil for termination by exception. + +Fri Aug 11 15:43:46 2000 Yukihiro Matsumoto + + * eval.c (rb_undef): give warning for undefining __id__, __send__. + +Thu Aug 10 08:05:03 2000 Yukihiro Matsumoto + + * eval.c (rb_callcc): returned current thread instead of + continuation wrongly. + +Thu Aug 10 05:40:28 2000 WATANABE Hirofumi + + * ext/extmk.rb.in: $CPPFLAGS should be initialized. + + * ext/tcltklib/depend: add stubs.o. + + * ext/tcltklib/extconf.rb: use $CPPFLAGS instead of $CFLAGS. + +Wed Aug 9 16:31:48 2000 Yukihiro Matsumoto + + * eval.c (rb_callcc): thread status for continuations must be + THREAD_KILLED, otherwise thread_free() breaks other threads. + +Wed Aug 9 13:24:25 2000 WATANABE Hirofumi + + * win32/win32.[ch]: emulate rename(2). + +Tue Aug 8 14:01:46 2000 WATANABE Hirofumi + + * ext/tcltklib/tcltklib.c: support --enable-tcltk_stubs + + * ext/tcltklib/extconf.rb: ditto. + + * ext/tcltklib/stubs.c: created. examine candidate shared libraries. + +Mon Aug 7 13:59:12 2000 Yukihiro Matsumoto + + * ruby.h (CLONESETUP): should copy flags before any potential + object allocation. + + * regex.c (re_match): check for stack depth was needed. + +Sat Aug 5 16:43:43 2000 WATANABE Hirofumi + + * djgpp/*: convert DOS line endings to UNIX style. + + * djgpp/config.status: rename to config.sed for SFN. + + * lib/ftools.rb (compare, safe_unlink, chmod): avoid warnings. + + * lib/ftools.rb (move): typo. not `tpath', but `to'. + +Fri Aug 4 23:26:48 2000 Yukihiro Matsumoto + + * eval.c (proc_call): gives warning if a block is supplied. + + * eval.c (rb_eval): no warning for discarding if an alias for the + method is already made. + +Fri Aug 4 16:32:29 2000 Yukihiro Matsumoto + + * array.c (rb_ary_reject_bang): returns nil if no element removed. + + * hash.c (rb_hash_reject_bang): returns nil if no element removed. + +Thu Aug 3 19:44:26 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_fd_writable): should return integer value. + + * array.c (rb_ary_assoc): search array element whose length is + longer than 0 (not 1). + +Wed Aug 2 18:27:47 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_wait_fd): prohibit thread context switch + during compilation. + + * eval.c (rb_cont_call): prohibit Continuation#call across threads. + +Wed Aug 2 08:22:04 2000 Yukihiro Matsumoto + + * gc.c (rb_gc): clear malloc_memories to zero, to avoid potential + super frequent GC invocation. (ruby-bugs:#PR48) + + * gc.c (rb_gc): only add_heap() if GC trigger condition is + satisfied. + +Tue Aug 1 16:41:58 2000 Yukihiro Matsumoto + + * ruby.c (proc_options): global load path setting moved from + ruby_prog_init(). + + * ruby.c (incpush): renamed. push path entry at the END of the + load path array. This makes -I directories sorted in order in + the arguments. + +Sat Jul 29 23:42:04 2000 Yukihiro Matsumoto + + * dir.c (dir_each): should check whether dir is closed during the + block execution. (ruby-bugs:#PR47) + +Sat Jul 29 21:57:30 2000 WATANABE Hirofumi + + * ruby.c (rubylib_mangle): provide another buffer for the result. + +Wed Jul 26 10:09:01 2000 WATANABE Hirofumi + + * configure.in: set SOLIBS to LIBS on Cygwin. + + * configure.in: LIBRUBY_SO='$(RUBY_INSTALL_NAME)'.$target_os.dll + on cygwin and mingw32. ruby-cygwin.dll is bad. why? + +Wed Jul 26 10:04:03 2000 Yukihiro Matsumoto + + * gc.c (gc_sweep): avoid full scan during compilation. + + * gc.c (rb_gc): add heap during no gc period (including + compilation). + +Tue Jul 25 19:03:04 2000 WATANABE Hirofumi + + * cygwin/GNUmakefile: use puts instead of print, because + Cygwin DLL's behavior is changed(or bug?). + + * configure.in: LIBRUBY_SO='$(RUBY_INSTALL_NAME)'-$target_os.dll + on cygwin and mingw32. + + * cygwin/GNUmakefile: ditto. + + * Makefile.in: $(SOLIBS) should be put after dmyext.@OBJEXT@. + + * instruby.rb: install $(LIBRUBY) to libdir + if $(LIBRUBY) != $(LIBRUBY_A_). + +Tue Jul 25 15:16:00 2000 Yukihiro Matsumoto + + * io.c (rb_p): redirect to $defout. + +Mon Jul 24 18:52:55 2000 WATANABE Hirofumi + + * win32/win32.c (win32_getenv): should remove `static'. + + * ruby.c (rubylib_mangle): support "/hoge;/foo" + +Mon Jul 24 10:28:55 2000 GOTO Kentaro + + * string.c (rb_str_count): raise exception if no argument is + given. + +Sun Jul 23 12:55:04 2000 Dave Thomas + + * string.c (rb_str_rindex): Support negative end position. + +Fri Jul 21 17:35:01 2000 Yukihiro Matsumoto + + * parse.y (aref_args): command_call now be permitted as + aref_args. + + * process.c (proc_getpriority): getpriority(2) may return valid + negative number. use errno to detect error. + + * marshal.c (dump_ensure): dumped string should be tainted if + any among target objects is tainted. + + * marshal.c (r_regist): restored object should be tainted if and + only if the source is a file or a tainted string. + +Wed Jul 19 15:14:04 2000 Yukihiro Matsumoto + + * bignum.c (bigdivrem): should use rb_int2big(), not rb_uint2big(). + +Tue Jul 18 14:58:30 2000 Yukihiro Matsumoto + + * eval.c (ruby_options): should treat SystemExit etc. properly. + + * parse.y (yycompile): should check compile_for_eval, not + ruby_in_eval. + +Mon Jul 17 04:29:50 2000 Minero Aoki + + * lib/mkmf.rb: converts extension of $objs into $OBJEXT. + +Sun Jul 16 03:02:34 2000 Dave Thomas + + * lib/weakref.rb: Change to use new ObjectSpace calls. + +Sat Jul 15 21:59:58 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): should not redefine __id__ nor __send__. + + * gc.c (define_final): integrate final.rb features into the + interpreter. define_finalizer and undefine_finalizer was + added to ObjectSpace. plus, add_finalizer, remove_finalizer, + and call_finalizer are deprecated now. + +Sat Jul 15 01:32:34 2000 Yukihiro Matsumoto + + * eval.c (rb_mod_method): implements unbound method. + + * eval.c (Init_eval): should prohibit `module_function' for class + Class. + +Fri Jul 14 17:19:59 2000 WATANABE Hirofumi + + * cygwin/GNUmakefile.in: use miniruby instead of sed. + +Fri Jul 14 12:49:50 2000 Yukihiro Matsumoto + + * io.c (argf_eof): need to check stdin, when next_p == -1. + + * io.c (read_all): use io_fread() instead of fread(3). + + * io.c (io_reopen): should clearerr FILE if fd < 3. + + * re.c (rb_reg_match_m): the result is exported, so it should be + declared as busy. + + * eval.c (rb_eval): should preserve errinfo even if return, break, + etc. is called in rescue clause. + + * instruby.rb: install irb too. + +Wed Jul 12 15:32:57 2000 Yukihiro Matsumoto + + * variable.c (rb_const_get): constants for builtin classes must + have higher priority than constants from included modules at + Object class. + + * bignum.c (bigdivrem): small embarrassing typo. + +Wed Jul 12 15:06:28 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): use rb_const_get_at(). + + * variable.c (top_const_get): retrieve toplevel constants only, + not ones of Object (and its included modules) in general. + +Wed Jul 12 15:04:11 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.26. + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: + add module Net::NetPrivate and its inner classes + {Read,Write}Adapter, Command, Socket, + SMTPCommand, POP3Command, APOPCommand, HTTPCommand + +Wed Jul 12 13:10:30 2000 Yukihiro Matsumoto + + * bignum.c (bigdivrem): defer bignorm(). + + * bignum.c (bignorm): accepts accidental fixnums. + +Tue Jul 11 16:54:17 2000 Yukihiro Matsumoto + + * parse.y (yylex): `@' is no longer a valid instance + variable name. + +Tue Jul 11 01:51:50 2000 Yukihiro Matsumoto + + * bignum.c (rb_big_divmod): should not use Integer(float) for + the right operand. + + * bignum.c (rb_big_remainder): ditto. + + * bignum.c (rb_big_modulo): ditto. + +Mon Jul 10 15:27:16 2000 WATANABE Hirofumi + + * io.c (pipe_finalize): should set rb_last_status when pclose(). + +Mon Jul 10 09:07:54 2000 Yukihiro Matsumoto + + * error.c (rb_bug): print version number and such too. + +Sat Jul 8 23:08:40 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_start_0): should copy previous scopes to + prevent rb_gc_force_recycle(). + +Fri Jul 7 23:36:36 2000 Katsuyuki Komatsu + + * ext/socket/addrinfo.h: move IN_EXPERIMENTAL and IN_LOOPBACKNET + definitions to ext/socket/sockport.h. + + * ext/socket/extconf.rb: add getservbyport() and arpa/inet.h check. + + * ext/socket/getaddrinfo.c (getaddrinfo): SOCK_RAW may not be + defined (ex. BeOS, Palm OS 2.x or before). + + * ext/socket/getnameinfo.c (getnameinfo): getservbyport() may not + exist (ex. BeOS, Palm OS). + + * ext/socket/sockport.h: add IN_EXPERIMENTAL, IN_CLASSA_NSHIFT, + IN_LOOPBACKNET, AF_UNSPEC, PF_UNSPEC and PF_INET. + +Fri Jul 7 03:30:00 2000 Yukihiro Matsumoto + + * parse.y (aref_args): should allow Hash[:a=>2] etc. + + * numeric.c (fix_aref): convert index by NUM2INT, not FIX2INT. + (ruby-bugs:#PR37) + + * time.c (time_localtime): should prohibit for frozen time. + + * time.c (time_gmtime): ditto. + +Thu Jul 6 19:12:12 2000 Yukihiro Matsumoto + + * io.c (rb_file_s_open): should not terminate fptr; just clear it. + + * ruby.c (proc_options): should not call require_libraries() + twice. + + * ruby.c (require_libraries): clear req_list_head.next after + execution. + +Thu Jul 6 13:51:57 2000 Nobuyoshi Nakada + + * object.c (rb_to_id): name may not be symbol nor fixnum. + + * struct.c (rb_struct_s_def): name may be nil. + +Thu Jul 6 02:09:06 2000 Yukihiro Matsumoto + + * bignum.c (bigdivrem): new function to return remainder. + + * numeric.c (fixdivmod): now returns modulo, not remainder. + + * numeric.c (flodivmod): ditto. + + * bignum.c (bigdivmod): ditto. + + * numeric.c (num_modulo): new method; alias to '%'. + +Thu Jul 6 00:51:43 2000 WATANABE Hirofumi + + * win32/win32.c (NtCmdGlob): patterns should be separated and + NUL terminated. + +Wed Jul 5 22:27:56 2000 WATANABE Hirofumi + + * cygwin/GNUmakefile: use ruby.def to make rubycw.dll. + + * ext/extmk.rb.in: create target.def. + + * lib/mkmf.rb: ditto. + +Wed Jul 5 09:47:14 2000 Yukihiro Matsumoto + + * time.c (time_arg): Time::local, Time::gm now take 7th optional + argument for usec. + + * numeric.c (num_ceil, etc): default ceil, floor, round, truncate + implementation for Numeric, using `to_f'. + + * io.c (rb_io_reopen): clear fptr->path after free() to prevent + potential GC crash. + + * io.c (rb_file_s_open): terminate fptr unless null. + + * io.c (rb_file_initialize): ditto. + + * lib/tempfile.rb: specify FILE::CREAT|File::EXCL to open for + better security. + + * numeric.c (flo_truncate): new method. + +Wed Jul 5 01:02:53 2000 WATANABE Hirofumi + + * ext/extmk.rb.in: join ' ' -> join(' '). + + * lib/mkmf.rb: ditto. + +Tue Jul 4 13:51:29 2000 Yukihiro Matsumoto + + * ext/dbm/dbm.c: add methods added to Hash in 1.5.x. + + * ext/gdbm/gdbm.c: ditto. + + * ext/sdbm/init.c: ditto. + + * eval.c (proc_call): args may be Qundef (means no argument), do + not call TYPE() for args. + +Tue Jul 4 13:20:56 2000 WATANABE Hirofumi + + * ext/extmk.rb.in: make command line must be single-quoted. + $(RUBY_INSTALL_NAME) is command substitution in the POSIX sh. + +Tue Jul 4 13:16:02 2000 Yukihiro Matsumoto + + * util.c (rb_type): should add T_UNDEF. + +Tue Jul 4 09:30:35 2000 Yukihiro Matsumoto + + * parse.y (here_document): supports EOF right after terminator. + + * random.c (rb_f_rand): argument is now optional (rand(max=0)). + +Tue Jul 4 01:50:49 2000 WATANABE Hirofumi + + * win32/ruby.def: remove ruby_mktemp. + +Tue Jul 4 01:27:13 2000 Yukihiro Matsumoto + + * eval.c (rb_rescue2): new function to rescue arbitrary exception. + + * numeric.c (do_coerce): should catch NameError explicitly. + +Tue Jul 4 00:15:23 2000 Dave Thomas + + * numeric.c (Init_Numeric): forgot to register Numeric#remainder. + +Mon Jul 3 23:46:56 2000 Katsuyuki Komatsu + + * win32/win32.c (myselect, myaccept): disable interrupt while + executing accept() or select() to avoid Ctrl-C causes + "unknown software exception (0xc0000029)". + +Mon Jul 3 18:35:41 2000 WATANABE Hirofumi + + * lib/mkmf.rb: use null device if it exists for cross-compiling. + +Mon Jul 3 18:19:51 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.26. + + * lib/net/protocol.rb (finish): do nothing unless active. + + * lib/net/http.rb: HTTP#{get,post}2 again (for new impl). + +Mon Jul 3 16:47:22 2000 WATANABE Hirofumi + + * cygwin/GNUmakefile: librubys.a -> lib$(RUBY_INSTALL_NAME)s.a + + * configure.in: use AC_CANONICAL_{HOST,TARGET,BUILD}. + +Mon Jul 3 13:15:02 2000 Yukihiro Matsumoto + + * numeric.c (fix_divmod): x * d + m = y where d, m = x.divmod(y). + + * bignum.c (rb_big_divmod): ditto. + + * numeric.c (fixdivmod): does not depend C's undefined % + behavior. adopt to fmod(3m) behavior. + + * numeric.c (flo_mod): modulo now reserves fmod(3m) behavior. + + * numeric.c (num_remainder): 'deprecated' warning. + +Mon Jul 3 10:27:28 2000 WATANABE Hirofumi + + * configure.in: use AC_CANONICAL_SYSTEM. + +Sun Jul 2 21:17:37 2000 WATANABE Hirofumi + + * configure.in: support without --enable-shared for cygwin/mingw32. + + * cygwin/GNUmakefile: ditto. + + * ext/extmk.rb.in: use null device if it exists for cross-compiling. + + * lib/mkmf.rb: ditto. + + * util.c (ruby_mktemp): remove unused ruby_mktemp(). + +Sun Jul 2 14:18:04 2000 Koji Arai + + * eval.c (TMP_PROTECT_END): tmp__protect_tmp may be NULL. + +Sun Jul 2 03:37:50 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.25. + + * lib/net/protocol.rb (each_crlf_line): beg = 0 is needed in adding{} + + * lib/net/smtp.rb: allow String for to_addr of SMTP#sendmail + +Sat Jul 1 15:22:35 2000 Yukihiro Matsumoto + + * numeric.c (fix_rshift): should handle shift value more than + sizeof(long). + +Sat Jul 1 15:22:35 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): the value from RTEST() is not valid Ruby + object. result should be either true or false. + +Sat Jul 1 09:30:06 2000 Katsuyuki Komatsu + + * re.c (rb_reg_initialize): was freeing invalid pointer. + +Sat Jul 1 03:25:56 2000 Yukihiro Matsumoto + + * parse.y (call_args): command_call can be the last argument of + call_args. It had to be the only argument. + + * re.c (rb_reg_s_quote): should not dump core even for unsane mbc + string. + +Fri Jun 30 01:36:20 2000 Aleksi Niemela + + * parse.y (f_norm_arg): better, nicer error message. + +Thu Jun 29 07:45:33 2000 Yukihiro Matsumoto + + * ext/socket/socket.c (udp_send): destination may be packed + struct sockaddr. + + * object.c (rb_Integer): Integer(nil) should be invalid, on the + other hand, nil.to_i is OK. + +Wed Jun 28 17:26:06 2000 Yukihiro Matsumoto + + * ext/socket/socket.c (ip_recvfrom): udp_recvfrom and tcp_recvfrom + is merged and moved to IPSocket#recvfrom. + + * ext/socket/socket.c (sock_s_getaddrinfo): family can be a + strings such as "AF_INET" etc. + + * ruby.c (require_libraries): . and RUBYLIB added to $load_path + just before -r procedure. + + * ruby.c (proc_options): -e, - did not exec -r. + +Wed Jun 28 14:52:28 2000 Koga Youichirou + + * config.sub: NetBSD/hpcmips support. + +Wed Jun 28 10:11:06 2000 Yukihiro Matsumoto + + * gc.c: gc trigger threshold changed; GC_NEWOBJ_LIMIT removed, + FREE_MIN is increased to 4096. + +Tue Jun 27 22:39:28 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.24. + + * lib/net/protocol.rb: modified each_crlf_line again. + + * lib/net/protocol.rb: do_write_beg,do_write_end -> writing{} + do_write_do -> do_write + + * lib/net/http.rb: can make proxy connection by passing + addresses to HTTP.new, start. + + * lib/net/http.rb: HTTP.new_implementation, old_implementation: + can use 1.2 implementation of head, get, post, put. + (see document) + +Tue Jun 27 12:05:10 2000 Katsuyuki Komatsu + + * win32.c (myfdclr): new function. + + * win32.h: add FD_CLR. + +Mon Jun 26 23:41:41 2000 WATANABE Hirofumi + + * ruby.h: add cast for ANSI style. + + * gc.c (rb_data_object_alloc): use RUBY_DATA_FUNC. + +Mon Jun 26 22:20:03 2000 Katsuyuki Komatsu + + * win32/win32.c (is_socket, extract_file_fd): New function. + + * win32/win32.c (myfdopen): use is_socket(). + + * win32/win32.c (myselect): return non socket files immediately + if file and socket handles are mixed. + +Mon Jun 26 16:21:30 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): wait_for cleared too early. + +Mon Jun 26 09:15:31 2000 Yukihiro Matsumoto + + * pack.c: remove obsolete 'F', 'D' specifiers. + +Sun Jun 25 00:55:03 2000 Katsuyuki Komatsu + + * ext/socket/socket.c (sock_s_getnameinfo): `res' would not + be assigned if TYPE(sa) == T_STRING. + +Sat Jun 24 14:36:29 2000 WATANABE Hirofumi + + * config*.dj, configure.bat, top.sed: move to djgpp/. + +Sat Jun 24 02:34:17 2000 Yukihiro Matsumoto + + * ruby.c (load_file): call require_libraries() here to let + debug.rb work properly. + +Fri Jun 23 22:34:51 2000 Katsuyuki Komatsu + + * bignum.c (rb_big_lshift): reorder xds assignment to avoid + reusing `x' as `len' by VC++ 6.0 SP3 compiler with -Ox switch. + +Fri Jun 23 01:11:27 2000 Yukihiro Matsumoto + + * string.c (rb_str_substr): should return empty string (""), + if beg == str.size and len == zero, mostly for convenience and + backward compatibility. + + * parse.y (new_super): should tweak block_pass node for super too. + + * string.c (rb_str_split_m): last split element should not be nil, + but "" when limit is specified. + +Thu Jun 22 17:27:46 2000 Yukihiro Matsumoto + + * string.c (rb_str_substr): str[n,m] now returns nil when n equals + to str.size. + +Thu Jun 22 13:49:02 2000 Uechi Yasumasa + + * lib/net/ftp.rb: support resuming. + +Thu Jun 22 13:37:19 2000 WATANABE Hirofumi + + * eval.c (rb_thread_sleep_forever): merge pause() macro. + +Wed Jun 21 08:49:04 2000 Yukihiro Matsumoto + + * eval.c (rb_eval): should not raise exception just by defining + singleton class. + +Wed Jun 21 01:18:03 2000 Yukihiro Matsumoto + + * ruby.h: two macros RUBY_DATA_FUNC and RUBY_METHOD_FUNC are added + to make writing C++ extensions easier. + + * array.c (rb_ary_dup): internal classes should not be shared by dup. + + * hash.c (rb_hash_dup): ditto. + + * object.c (rb_obj_dup): ditto. + + * string.c (rb_str_dup): ditto. + + * error.c (Init_Exception): renamed NotImplementError to + NotImplementedError. + +Tue Jun 20 16:22:38 2000 Yukihiro Matsumoto + + * time.c (make_time_t): bug in DST boundary. + +Tue Jun 20 10:54:19 2000 WATANABE Hirofumi + + * configure.in: add eval sitedir. + +Tue Jun 20 06:14:43 2000 Wakou Aoyama + + * lib/cgi.rb: change: version syntax. old: x.yz, now: x.y.z + + * lib/net/telnet.rb: ditto. + +Tue Jun 20 00:37:45 2000 Yukihiro Matsumoto + + * re.c (rb_reg_kcode_m): Regexp#kcode returns nil for code unfixed + regexp object. + + * bignum.c (bigdivmod): bignum zero check was wrong. + +Mon Jun 19 10:48:28 2000 Yukihiro Matsumoto + + * variable.c (rb_cvar_set): forgot to add security check for class + variable assignment. + +Sun Jun 18 22:49:13 2000 WATANABE Hirofumi + + * configure.in: single quoted sitedir. + + * mkconfig.rb: add DESTDIR for cross-compiling. + + * lib/mkmf.rb: add DESTDIR. + + * ruby.c (load_file): force binmode if fname includes ".exe" + on DOSISH. + +Sat Jun 17 23:22:17 2000 Yukihiro Matsumoto + + * sprintf.c (rb_f_sprintf): should ignore negative precision given + by <%.*>. + + * sprintf.c (rb_f_sprintf): should allow zero precision. + +Sat Jun 17 03:13:29 2000 Yukihiro Matsumoto + + * time.c (time_localtime): avoid unnecessary call of localtime. + + * time.c (time_gmtime): avoid unnecessary call of gmtime. + + * process.c (proc_wait2): new method. + + * process.c (proc_waitpid): second argument made optional. + + * process.c (proc_waitpid2): new method. + +Sat Jun 17 00:05:00 2000 Yukihiro Matsumoto + + * re.c (rb_reg_clone): should initialize member fields. + +Fri Jun 16 22:49:34 2000 Yukihiro Matsumoto + + * io.c (rb_io_rewind): set lineno to zero. + +Fri Jun 16 22:47:47 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.23. + + * lib/net/protocol.rb: too many CRLF in last line. + +Fri Jun 16 21:23:59 2000 WATANABE Hirofumi + + * configure.in: add pause(2) checking. + + * eval.c: define pause() if missing. + +Fri Jun 16 18:41:58 2000 Koji Arai + + * process.c (proc_setsid): BSD-style setpgrp() don't return + process group ID, but 0 or -1. + +Fri Jun 16 16:23:35 2000 Koji Arai + + * file.c (rb_stat_inspect): gives detailed information; + compatibility with ruby-1.4.x. + +Fri Jun 16 05:18:45 2000 Yasuhiro Fukuma + + * configure.in: FreeBSD: do not link dummy libxpg4 which was + merged into libc. + +Fri Jun 16 03:17:36 2000 Satoshi Nojo + + * ext/dbm/dbm.c (fdbm_length): use GetDBM. empty?, [] too. + + * ext/gdbm/gdbm.c (fgdbm_length): ditto. + + * ext/sdbm/init.c (fsdbm_length): ditto. + +Fri Jun 16 01:57:31 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_sleep_forever): pause(2) instead of sleep(3). + +Thu Jun 15 10:46:36 2000 Yukihiro Matsumoto + + * string.c (rb_str_sub_bang): should propagate taintness from + replacement string. + +Wed Jun 14 17:01:41 2000 Katsuyuki Komatsu + + * rubytest.rb: add CONFIG['EXEEXT'] to the executable file name. + +Wed Jun 14 14:50:00 2000 Yukihiro Matsumoto + + * string.c (rb_f_sub): assign to $_ only if modification happens. + + * string.c (rb_f_gsub): ditto. + + * string.c (rb_f_chop): ditto. + + * string.c (rb_f_chomp): ditto. + + * io.c (io_reopen): preserve file position by ftell/fseek, if io + is a seekable. + + * eval.c (method_arity): wrong arity number for the methods with + optional arguments. + + * time.c (make_time_t): opposite timezone shift (should be negative). + +Wed Jun 14 14:07:38 2000 WATANABE Hirofumi + + * io.c: typo(ig/if). + + * re.c: typo(re/reg). add rb_reg_check(). + + * time.c: remove unneeded declare(daylight, timezone). + + * configure.in: add include when daylight checking. + +Wed Jun 14 11:36:52 2000 WATANABE Hirofumi + + * marshal.c (r_object): modified for symbols. + + * marshal.c (w_object): ditto. + +Wed Jun 14 10:04:58 2000 Yukihiro Matsumoto + + * re.c (rb_memcmp): should compare according to ruby_ignorecase. + + * string.c (rb_str_cmp): use rb_memcmp. + + * string.c (rb_str_index): ditto. + + * string.c (rb_str_rindex): ditto. + + * string.c (rb_str_each_line): ditto. + +Wed Jun 14 04:58:53 2000 Dave Thomas + + * io.c (rb_io_set_lineno): should have returned VALUE, not + integer. + +Wed Jun 14 09:29:42 2000 Yukihiro Matsumoto + + * string.c (rb_str_dup): dup should always propagate taintness. + +Wed Jun 14 00:50:14 2000 Wakou Aoyama + + * lib/cgi.rb: read_multipart(): if no content body then raise EOFError. + +Tue Jun 13 11:46:17 2000 Yukihiro Matsumoto + + * process.c (proc_setsid): try implement it using setpgrp() and + ioctl(fd, TIOCNOTTY, NULL). + + * re.c (rb_reg_prepare_re): magic variable $= should affect regex + pattern match. + + * time.c (make_time_t): use tm.tm_gmtoff if possible. + + * time.c (time_zone): use tm.tm_zone if available. + +Tue Jun 13 01:50:57 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.22. + + * lib/net/http.rb: HTTPResponse#body returns body. + +Mon Jun 12 23:41:54 2000 WATANABE Hirofumi + + * configure.in (daylight): avoid GCC optimization. + +Mon Jun 12 19:02:27 2000 WATANABE Hirofumi + + * configure.in: cygwin has strange timezone. + + * time.c (time_zone): use tzname and daylight. + +Sat Jun 10 23:10:32 2000 Yukihiro Matsumoto + + * io.c (rb_io_seek): whence is optional, default is SEEK_SET. + +Fri Jun 9 17:00:29 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.21. + + * lib/net/http.rb: exception is raised with response object. + +Fri Jun 9 15:11:35 2000 Yukihiro Matsumoto + + * time.c (make_time_t): supports daylight saving time. + + * eval.c (rb_thread_safe_level): should retrieve current $SAFE + value if a thread is the current thread. + +Thu Jun 8 14:25:45 2000 Hiroshi Igarashi + + * lib/mkmf.rb: add target `distclean' in Makefile for extlib. + target `clean' doesn't remove Makefile. + +Thu Jun 8 13:34:03 2000 Dave Thomas + + * numeric.c: add nan?, infinite?, and finite? to Float + +Thu Jun 8 00:31:04 2000 WATANABE Hirofumi + + * regex.h: export re_mbctab properly on cygwin. + + * dln.c: use dlopen instead of LoadLibrary on cygwin. + +Thu Jun 8 13:41:34 2000 Tadayoshi Funaba + + * file.c (rb_file_s_basename): might dump core. + +Tue Jun 6 03:29:12 2000 Yukihiro Matsumoto + + * dir.c (dir_foreach): now returns nil for consistency. + + * bignum.c (bigdivmod): modulo by small numbers was wrong. + +Mon Jun 5 00:18:08 2000 WATANABE Hirofumi + + * bignum.c: avoid conflict with USHORT on mingw32. + +Mon Jun 5 00:13:35 2000 WATANABE Hirofumi + + * eval.c (rb_thread_schedule): =/== typo. + +Sun Jun 4 03:17:36 2000 Wakou Aoyama + + * lib/cgi.rb: improve: CGI::pretty() + +Sun Jun 4 02:01:10 2000 WATANABE Hirofumi + + * lib/mkmf.rb: do not need to add -L$(topdir) in --enable-shared case. + +Sat Jun 3 13:50:06 2000 Yukihiro Matsumoto + + * parse.y (rb_id2name): should support constant attrset + identifiers. + + * bignum.c (rb_big_eq): Bignum#== should not raise exception. + +Fri Jun 2 11:24:48 2000 Yukihiro Matsumoto + + * io.c (rb_io_popen): open with a block returns the value from the + block. old behavior was back. + +Fri Jun 2 00:42:31 2000 Yukihiro Matsumoto + + + * eval.c (rb_thread_cleanup): should clear priority for thread + termination. + +Thu Jun 1 22:39:41 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.20. + + * lib/net/http.rb: wrongly closed the socket twice + when no Content-Length: was given. + +Thu Jun 1 00:59:15 2000 Yukihiro Matsumoto + + * eval.c (rb_yield_0): convert Qundef to []. + +Wed May 31 20:45:59 2000 Dave Thomas + + * string.c (rb_str_slice_bang): wrong argument number. + +Wed May 31 12:37:04 2000 Yukihiro Matsumoto + + * eval.c (rb_exec_end_proc): print error message from END procs. + +Wed May 31 04:06:41 2000 Wakou Aoyama + + * lib/cgi.rb: change: CGI#out() if "HEAD" == REQUEST_METHOD then + output only HTTP header. + +Wed May 31 01:54:21 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): set main_thread->status to + THREAD_TO_KILL, before raising deadlock error. + + * eval.c (rb_thread_deadlock): if curr_thread == main_thread, do + not call rb_thread_restore_context() + +Tue May 30 23:33:41 2000 Katsuyuki Komatsu + + * lib/mkmf.rb (create_makefile): add $(TARGET).ilk and *.pdb + to cleanup files for mswin32. + +Mon May 29 10:41:10 2000 Nobuyoshi Nakada + + * file.c (rb_file_s_basename): should propagate taintness. + +Sun May 28 21:37:13 2000 WATANABE Hirofumi + + * eval.c: bug fix: DLEXT2. + +Sun May 28 19:21:43 2000 WATANABE Hirofumi + + * win32/win32.c: use ruby's glob. + + * dir.c: "glob" exported and renamed to "rb_glob". + + * ruby.h: ditto. + + * main.c: turn off command line mingw32's globbing. + +Wed May 25 22:25:13 2000 WATANABE Hirofumi + + * ext/extmk.rb.in: use "ftools" instead of "rm -f". + + * lib/mkmf.rb: ditto. + +Thu May 25 22:01:32 2000 Katsuyuki Komatsu + + * defines.h: mswin32: remove obsolete USHORT definition. + + * re.h: mswin32: use EXTERN instead of extern. + + * regex.h: mswin32: export re_mbctab properly. + + * win32/ruby.def: add ruby_ignorecase and regex.c's exports. + +Thu May 25 21:28:44 2000 Minero Aoki + + * re.c (rb_reg_expr_str): escape un-printable character. + +Thu May 25 01:35:15 2000 Yukihiro Matsumoto + + * parse.y (tokadd_escape): forgot to add `\x' to hexadecimal + escape sequences. + + * object.c (rb_obj_dup): dup for normal object (T_OBJECT) copies + instance variables only. + +Wed May 24 23:49:47 2000 Yukihiro Matsumoto + + * object.c (rb_mod_initialize): should provide initialize. + +Wed May 24 23:17:50 2000 Katsuyuki Komatsu + + * win32/Makefile: remove unnecessary mv and rm command call. + +Wed May 24 21:01:04 2000 Katsuyuki Komatsu + + * ext/pty/pty.c: use "" instead of <> to include ruby.h and rubyio.h + for BeOS (PowerPC). + + * file.c (rb_find_file): should check dln_find_file() result. + + * win32/ruby.def: add rb_block_given_p. + +Wed May 24 16:32:45 2000 Yukihiro Matsumoto + + * io.c (rb_io_popen): popen does not take 3rd argument anymore. + + * re.c (rb_reg_desc): re may be zero, check before dereferencing. + +Wed May 24 16:03:06 2000 Wakou Aoyama + + * lib/cgi.rb: bug fix: CGI::escape(), CGI::Cookie::new() + + * lib/net/telnet.rb: improve: binmode(), telnetmode() interface + +Wed May 24 13:12:31 2000 Yukihiro Matsumoto + + * misc/ruby-mode.el (ruby-parse-region): support `while .. do' + etc. But corresponding keywords must be at the beginning of + line. + +Tue May 23 23:50:12 2000 Yukihiro Matsumoto + + * re.c (rb_reg_initialize_m): wrong kcode value. + + * re.c (rb_reg_s_new): forgot to initialize re->ptr. + +Tue May 23 08:36:24 2000 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): forgot to restore old option + status by (?ix-ix). + + * regex.c (re_compile_fastmap): anychar may match newline if + RE_OPTION_MULTILINE or RE_OPTION_POSIXLINE is set. + +Mon May 22 22:45:06 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.19. + + * lib/net/http.rb: do not use Regexp "p" option. + +Mon May 22 21:56:43 2000 Nobuyoshi Nakada + + * struct.c (rb_struct_getmember): should use ID2SYM, not INT2NUM. + +Mon May 22 15:07:37 2000 Yukihiro Matsumoto + + * file.c (rb_find_file): should check if the file really exists. + +Mon May 22 09:08:12 2000 Yukihiro Matsumoto + + * io.c (rb_io_popen): _exit(0) after processing block under the + child process. + + * io.c (rb_io_popen): flush stdout/stderr before subprocess + termination. + + * eval.c (rb_check_safe_str): insert rb_secure(4); operation + requires untainted string should be prohibited in level 4. + +Sun May 21 21:17:00 2000 WATANABE Hirofumi + + * configure.in: add Setup.dj for djgpp cross-compiling. + + * Setup.dj: add readline. + + * instruby.rb: copy win32/win32.h to archlibdir on mingw32. + +Sun May 21 20:58:08 2000 Katsuyuki Komatsu + + * pack.c: fix OFF16 and OFF32 definitions for Alpha and IRIX64. + +Sun May 21 17:31:37 2000 WATANABE Hirofumi + + * instruby.rb: support "make install" for cross-compiling. + + * ext/extmk.rb.in: ditto. + +Sun May 21 14:22:49 2000 WATANABE Hirofumi + + * Makefile.in: rename prep.rb to fake.rb. + + * configure.in: ditto. + +Sat May 20 23:29:14 2000 Yukihiro Matsumoto + + * dir.c (dir_s_new): does not take block; "open" does. + + * io.c (rb_io_s_new): ditto. + +Fri May 19 07:44:26 2000 Yukihiro Matsumoto + + * dir.c (dir_s_open): Dir#open does not returns closed Dir if a + block is given to the method. + + * re.c (rb_reg_initialize_m): Regexp::new calls initialize now. + + * string.c (Init_String): String#delete_at removed. + + * string.c (rb_str_aset_m): should have checked argc != 2. + + * eval.c (rb_thread_schedule): select(2) was called too many. + + * regex.c (re_compile_pattern): a bug in (?m) support. Pointed + out by Dave Thomas . + +Thu May 18 23:55:26 2000 Katsuyuki Komatsu + + * dln.c (search_undef): st_lookup()'s 3rd parameter should be + a pointer of the variable which has the same size and alignment + as `char *'. + + * marshal.c (w_symbol, w_object): ditto. + + * parse.y (rb_intern): ditto. + +Thu May 18 18:00:35 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.18. + + * lib/net/protocol.rb: Net::Version was removed. + + * lib/net/smtp.rb: use Socket.gethostname to get local host name. + +Thu May 18 13:34:57 2000 Yukihiro Matsumoto + + * ext/socket/socket.c (ruby_connect): should not have replaced + thread_write_select() by rb_thread_fd_writable(). + +Thu May 18 09:01:25 2000 Katsuyuki Komatsu + + * configure.in, ext/extmk.rb.in, lib/mkmf.rb: remove BeOS R3 support. + Make a shared library (libruby.so) only if the --enable-shared + option is specified. + + * instruby.rb: no longer use libruby.so.LIB and import.h. + + * io.c: fix READ_DATA_PENDING definition for BeOS (PowerPC). + +Wed May 17 14:14:23 2000 Yukihiro Matsumoto + + * re.c (rb_reg_new_1): use /m instead of /p. + +Wed May 17 02:22:03 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_polling): wait 0.06 second to let other + processes run. + + * process.c (rb_waitpid): avoid busy wait using rb_thread_polling. + + * file.c (rb_thread_flock): ditto. + + * parse.y (expr): avoid calling value_expr() twice. + +Wed May 17 00:45:57 2000 WATANABE Hirofumi + + * io.c (rb_io_binmode): should check PLATFORMs, not O_BINARY, sigh... + +Wed May 17 00:40:15 2000 Katsuyuki Komatsu + + * win32/config.h: add DLEXT2, now DLEXT on mswin32 is "so". + + * win32/config.status: ditto. + + * win32/ruby.def: add symbol "rb_big_divmod". + +Tue May 16 19:45:32 2000 Katsuyuki Komatsu + + * intern.h: use EXTERN instead of extern. + + * win32/ruby.def: add rb_defout, rb_stdout, ruby_errinfo, + ruby_sourceline, ruby_sourcefile to work with eruby + reported by Hiroshi Saito . + Export both ruby_xmalloc and xmalloc etc. + +Tue May 16 17:00:05 2000 Masaki Fukushima + + * eval.c (rb_thread_select): should check whether fds are null. + +Tue May 16 11:51:31 2000 Yukihiro Matsumoto + + * io.c (pipe_open): synchronize subprocess stdout/stderr. + +Mon May 15 15:38:09 2000 Yukihiro Matsumoto + + * ruby.h: exported symbols should be for xmalloc etc. are now + prefixed by 'ruby_', e.g. ruby_xmalloc(). + + * eval.c (rb_thread_select): remove busy wait for select. + + * dir.c (glob): trailing path may be null, e.g. glob("**"). + +Mon May 15 14:48:41 2000 Nobuyoshi Nakada + + * io.c (rb_io_pid): new method; returns nil if no process attached + to the IO. + +Mon May 15 01:18:20 2000 Yukihiro Matsumoto + + * io.c (rb_io_s_popen): _exit after Proc execution. + +Sun May 14 18:05:59 2000 WATANABE Hirofumi + + * Makefile.in: missing/nt.c -> win32/win32.c + + * configure.in: bug fix; static linking on mingw32. + + * cygwin/GNUmakefile.in: remove VPATH. + + * ext/extmk.rb.in: Makefile set binmode with mingw32 on cygwin32. + + * lib/mkmf.rb: ditto. + + * win32/config.h: undef HAVE_SYS_FILE_H. + +Sun May 14 02:02:48 2000 WATANABE Hirofumi + + * lib/irb/ruby-lex.rb: '/' should be escaped in character class. + +Sun May 14 00:54:43 2000 WATANABE Hirofumi + + * configure.in, ...: support mingw32. + + * defines.h: ditto. undef EXTERN for tcl/tk on cygwin. + + * ext/*/extconf.rb: replace PLATFORM with RUBY_PLATFORM. + + * ext/socket/sockport.h: define IN_MULTICAST for missing IN_MULTICAST. + + * ext/tcltklib/tcltklib.c: remove declaration of rb_argv0. + + * file.c: should check S_IXGRP, S_ISGID, not NT. + + * io.c (rb_io_binmode): should check _IOBIN, O_BINARY, not PLATFORMs. + +Sat May 13 14:21:15 2000 Koji Arai + + * io.c (rb_io_s_popen): should check whether a block is given. + +Fri May 12 17:33:44 2000 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): charset_not should not exclude + newline from matching set. + +Thu May 11 22:51:05 2000 Ryunosuke Ohshima + + * pack.c (pack_pack): Bignum support. + + * pack.c (pack_unpack): ditto. + +Thu May 11 21:19:29 2000 Hiroshi Igarashi + + * intern.h: add missing declarations of ruby API functions. + + * ruby.h: fix function name in declarations. + +Thu May 11 22:29:25 2000 Katsuyuki Komatsu + + * ext/md5/depend: add $(topdir)/config.h dependency to md5c.o. + + * ext/md5/extconf.rb: new file to add -DHAVE_CONFIG_H flag for Alpha. + +Thu May 11 10:55:52 2000 Ryunosuke Ohshima + + * pack.c (pack_pack): packing BER compressed integer by `w'. + + * pack.c (pack_unpack): unpacking BER. + +Thu May 11 00:37:55 2000 Yukihiro Matsumoto + + * parse.y (parse_regx): remove in_brack. + +Wed May 10 12:51:18 2000 Yukihiro Matsumoto + + * ruby.c (proc_options): move adding RUBYLIB and "." to the load + path after #! line parsing. + + * parse.y (parse_regx): should parse backslash escape like `\c[' + here to avoid causing `unterminated regexp' error. + +Wed May 10 00:19:53 2000 Katsuyuki Komatsu + + * MANIFEST, beos/GNUmakefile.in, configure.in: no longer need + beos/GNUmakefile.in to support BeOS R4.5.2 (Intel) as a result + of eban's Makefile.in change. + + * io.c: NOFILE is already defined on BeOS R4.5 (Intel) or later. + + * lib/matrix.rb: remove debug print. + + * regex.c: don't use nested comment. + +Tue May 9 17:08:43 2000 Yukihiro Matsumoto + + * eval.c (massign): no longer convert nil into empty array. + + * io.c (rb_io_s_popen): optional 3rd argument to give proc, which + will be executed in spawned child process. + +Mon May 8 23:47:39 2000 Katsuyuki Komatsu + + * eval.c (rb_callcc): prev & next should be initialized to zero. + +Mon May 8 23:17:36 2000 Yukihiro Matsumoto + + * dln.c (dln_init): remove possible buffer overrun. This is + suggested by Aleksi Niemela . + + * dln.c (init_funcname): ditto. + +Sat May 6 23:35:47 2000 Yukihiro Matsumoto + + * parse.y (lhs): should allow `obj.Attr = 5' type expression. + +Sat May 6 15:46:08 2000 WATANABE Hirofumi + + * ext/socket/extconf.rb: add a new configure option to force use + of the WIDE Project's getaddrinfo(): --enbale-wide-getaddrinfo. + +Fri May 5 21:19:22 2000 MOROHOSHI Akihiko + + * parse.y (yylex): allow '$1foo' and such. + +Fri May 5 17:57:24 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.17. + + * lib/net/http.rb: write also port number in Host: field. + + * lib/net/http.rb: see Proxy-Connection: to decide socket connection. + +Fri May 5 03:25:15 2000 Yukihiro Matsumoto + + * regex.c (re_compile_fastmap): charset_not for multibyte + characters excluded too many characters. + +Tue May 2 13:23:43 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): little bit more impartial context + switching. + +Tue May 2 09:50:03 2000 Katsuyuki Komatsu + + * configure.in: add DLDLIBS to set platform specific library + for extensions. + + * ext/extmk.rb.in: use @DLDLIBS@ instead of RUBY_PLATFORM choice. + + * lib/mkmf.rb: use CONFIG["DLDLIBS"] instead of RUBY_PLATFORM choice. + + * config_s.dj: add @DLDLIBS@. + + * win32/config.status: ditto. + + * win32/ruby.def: regular maintenance. + +Mon May 1 23:42:44 2000 WATANABE Hirofumi + + * configure.in, eval.c: add DLEXT2. now DLEXT on Cygwin is "so". + + * defines.h: use dllimport, dllexport for Cygwin 1.1.x. + + * ruby.h: ditto. + + * cygwin/GNUmakefile.in: ditto. + + * ext/Win32API/Win32API.c: directly "call" in asm statement for + gcc 2.95.x or newer. + +Sat Apr 29 04:58:12 2000 Nobuyoshi Nakada + + * array.c (rb_ary_unshift_m): performance improvement. + +Fri Apr 28 00:19:22 2000 Nobuyoshi Nakada + + * array.c (rb_ary_unshift_m): takes items to push. + +Wed Apr 26 15:23:02 2000 Yukihiro Matsumoto + + * string.c (rb_str_succ): insert carrying character just before + the leftmost alpha numeric character. + + * string.c (rb_str_succ): proper behavior for "".succ and "\377".succ. + + * string.c (rb_str_succ): use realloc and memmove. + +Tue Apr 25 18:28:45 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.16. + + * lib/net/smtp.rb: add SMTP AUTH + +Tue Apr 25 14:30:13 2000 Yukihiro Matsumoto + + * io.c (rb_io_gets_internal): shortcut when rs == rb_default_rs. + +Sat Apr 22 23:14:41 2000 SHIROYAMA Takayuki + + * configure.in: MacOS X support. + +Sat Apr 22 16:37:10 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.15. + + * lib/net/http.rb: closing socket by watching both + user header and server response + +Fri Apr 21 21:44:34 2000 WATANABE Hirofumi + + * io.c (rb_io_s_pipe): should set FMODE_SYNC. + +Thu Apr 20 16:59:22 2000 Nobuyoshi Nakada + + * eval.c (massign): `*lvalue = false' should assign `[false]' to + lvalue. + +Wed Apr 19 08:35:08 2000 Yukihiro Matsumoto + + * class.c (rb_singleton_class): generate singleton class for + special constants: nil, true, false. + +Wed Apr 19 02:09:30 2000 Yukihiro Matsumoto + + * class.c (rb_singleton_class): singleton method for nil, true, + false is possible now. + + * eval.c (rb_eval): ditto. + +Tue Apr 18 18:54:25 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.14. + + * lib/net/http.rb: new method HTTP#head2. + + * lib/net/http.rb: get2/post2 does not raise exceptions. + +Mon Apr 17 15:16:31 2000 Yukihiro Matsumoto + + * io.c (rb_io_close): to detect some exceptional status, writable + IO should be flushed before close; + +Sat Apr 15 18:29:00 2000 Yukihiro Matsumoto + + * array.c (rb_ary_collect_bang): Array#filter renamed. + +Fri Apr 14 19:47:11 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.13. + + * lib/net/pop.rb: accept illegal timestamp + + * lib/net/http.rb: when body was chunked, does not set Content-Length: + +Tue Apr 11 21:14:42 2000 Katsuyuki Komatsu + + * config_s.dj: add @sitedir@. + * configure.in: add --with-sitedir=DIR option. + * instruby.rb: use CONFIG["sitedir"]. + * lib/mkmf.rb: support 'make site-install'. + * win32/config.status: add @sitedir@. + +Tue Apr 11 16:25:15 2000 Yukihiro Matsumoto + + * bignum.c (rb_big_2comp): unnecessary lvalue cast removed. + +Tue Apr 11 02:25:53 2000 Yukihiro Matsumoto + + * hash.c (env_fetch): new method. + + * marshal.c (marshal_dump): accepts depth = nil for unlimited depth. + +Sun Apr 9 20:49:19 2000 Dave Thomas + + * parse.y (str_extend): Allow class variables to be expanded. + +Fri Apr 7 02:03:54 2000 Yukihiro Matsumoto + + * error.c (rb_sys_fail): escape non-printable characters. + +Thu Apr 6 20:10:47 2000 Katsuyuki Komatsu + + * ext/extmk.rb.in (create_makefile): BeOS --program-suffix support. + * lib/mkmf.rb (create_makefile): ditto. + +Thu Apr 6 09:55:26 2000 Katsuyuki Komatsu + + * error.c (rb_sys_fail): need rb_exc_new2() call on BeOS. + +Mon Apr 3 17:22:27 2000 Yukihiro Matsumoto + + * io.c (rb_io_reopen): support tempfile. + + * eval.c (catch_i): should supply argument. + +Sat Apr 1 22:50:28 2000 Yukihiro Matsumoto + + * marshal.c (r_object): wrong symbol restoration. + +Sat Apr 1 21:30:53 2000 WATANABE Hirofumi + + * io.c (rb_io_printf, rb_f_printf): should use rb_io_write. + +Sat Apr 1 00:16:05 2000 Yukihiro Matsumoto + + * gc.c (rb_gc_call_finalizer_at_exit): should be clear flags + before calling finalizers. + + * eval.c (specific_eval): can be called without SecurityError, if + $SAFE >= 4. + + * object.c (sym_inspect): inspect gives ":sym", to_s gives "sym". + +Fri Mar 31 22:07:04 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.12. + + * lib/net/protocol.rb: update Net::Protocol::Proxy#connect + + * lib/net/protocol.rb: ReplyCode is not a class + + * lib/net/http.rb: header value format was change: + values do not include header name + + * lib/net/http.rb: header is not a Hash, but HTTPResponse + +Thu Mar 30 12:19:44 2000 Katsuyuki Komatsu + + * enum.c (enum_find): rb_eval_cmd() should be called with array. + +Tue Mar 28 13:57:05 2000 Clemens Hintze + + * ext/dbm/dbm.c (fdbm_invert): should return new hash. + + * ext/gdbm/gdbm.c (fgdbm_invert): ditto. + +Tue Mar 28 00:58:03 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.11. + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: does not + dispatch any commands while dispatching command. + + * lib/net/protocol.rb: failed to get error class of + inherited ReplyCode + + * lib/net/http.rb: change feature of "get2", "post2" + +Mon Mar 27 01:34:58 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.10. + + * lib/net/http.rb: return value of 'head' was wrong. + +Sun Mar 26 17:47:35 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.9. + + * lib/net/smtp.rb: SMTP#do_ready wrongly took no arguments + +Sat Mar 25 23:21:10 2000 Yukihiro Matsumoto + + * marshal.c (w_object): symbols should be converted to ID before + dumping out. + +Fri Mar 24 18:26:51 2000 Yukihiro Matsumoto + + * file.c (test_check): should have checked exact number of arguments. + +Fri Mar 24 21:02:11 2000 Koji Arai + + * signal.c (trap): should treat some symbols as the signal. + +Fri Mar 24 06:58:03 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.8. + + * lib/net/http.rb: post, get2, post2, get_body + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: separate + Command/Socket documentation. + +Thu Mar 23 02:26:14 2000 Yukihiro Matsumoto + + * io.c (rb_io_fptr_finalize): fptr may be null. + + * io.c (rb_io_s_new): now calls `initialize'. + + * io.c (rb_io_initialize): actual open done in this method. + + * io.c (rb_file_initialize): ditto. + + * eval.c (rb_eval): class variables in singleton class definition + is now handled properly (I hope). + +Wed Mar 22 21:49:36 2000 Minero Aoki + + * st.c (st_delete_safe): skip already deleted entry. + + * hash.c (rb_hash_delete): modify brace miss. + +Wed Mar 22 08:53:58 2000 Yukihiro Matsumoto + + * eval.c (exec_under): do not push cbase if ruby_cbase == under. + + * node.h (NEW_CREF0): preserve cbase nesting. + +Tue Mar 21 12:57:50 2000 Yukihiro Matsumoto + + * object.c (rb_class_s_new): Class::new should call `inherited'. + +Sat Mar 18 12:36:09 2000 Nobuyoshi Nakada + + * eval.c (rb_backtrace, make_backtrace): removed unused variable + `lev'. + + * eval.c (rb_attr): calls `method_added' at attribute definition. + + * eval.c (rb_mod_modfunc): calls `singleton_method_added' while + `module_function'. + + * eval.c (rb_eval): parameter to `method_added' and + `singleton_method_added' is Symbol. + + * eval.c (Init_eval): caches IDs for `method_added' and + `singleton_method_added'. + +Sat Mar 18 11:25:10 2000 Yukihiro Matsumoto + + * parse.y (rescue): allows `rescue Error in foo'. experimental. + which is better this or preparing alias `exception' for `$!'? + +Fri Mar 17 15:02:45 2000 Yukihiro Matsumoto + + * variable.c (rb_autoload_id): defining new autoload should be + prohibited for $SAFE > 4. + + * variable.c (rb_autoload_load): autoload should be possible for + $SAFE > 4. + + * eval.c (call_trace_func): should handle T_ICLASS properly. + +Fri Mar 17 14:34:30 2000 Yukihiro Matsumoto + + * string.c (str_gsub): forgot to initialize str->orig. + +Fri Mar 17 01:24:59 2000 Dave Thomas + + * string.c (rb_str_clone): forgot to copy str->orig if STR_NO_ORIG + is set by Array#pack. + +Wed Mar 15 21:25:04 2000 Minero Aoki + + * array.c (rb_ary_join): 'result' is always duplicated + before concat string. + +Wed Mar 15 17:26:05 2000 Yukihiro Matsumoto + + * hash.c (rb_hash_s_create): unexpected recursive call removed. + this bug was found by Satoshi Nojo . + +Wed Mar 15 13:12:39 2000 Yukihiro Matsumoto + + * eval.c (Init_Thread): Thread.join removed finally. + + * string.c (rb_str_chomp_bang): forgot to call rb_str_modify(). + +Mon Mar 13 16:12:13 2000 Yukihiro Matsumoto + + * eval.c (block_pass): distinguish real orphan block and still + on-stack block passed by block argument. + +Mon Mar 13 00:20:25 2000 Yukihiro Matsumoto + + * parse.y (f_norm_arg): proper error message when constant comes + in formal argument list. this message is suggested by Muvaw + Pnazte . + + * eval.c (rb_f_raise): proper error message when the first + argument is not an exception class/object. + + * string.c (rb_str_dup): dup now postpone buffer copy as long as + possible. performance improved by lazy copying. + +Sun Mar 12 13:58:52 2000 Koji Arai + + * signal.c (rb_f_kill): should treat some symbols as the signal. + +Sat Mar 11 22:03:03 2000 Yukihiro Matsumoto + + * string.c (rb_str_gsub): performance tune by avoiding buffer copy. + + * eval.c (rb_f_missing): check if argv[0] is ID. + +Sat Mar 11 15:49:41 2000 Tadayoshi Funaba + + * struct.c (rb_struct_aref): struct aref by symbol. + +Sat Mar 11 05:07:11 2000 Yukihiro Matsumoto + + * process.c (proc_setpriority): should return 0, not nil. + + * process.c (proc_setpgid): ditto. + +Fri Mar 10 18:14:54 2000 Yukihiro Matsumoto + + * file.c (path_check_1): confusing buf and path. this bug found + by . + +Fri Mar 10 09:37:49 2000 Katsuyuki Komatsu + + * MANIFEST: add beos/GNUmakefile.in. + * configure.in: support BeOS R4.5.2 (Intel). + * beos/GNUmakefile.in: new file to support BeOS R4.5.2 (Intel). + +Thu Mar 9 11:13:32 2000 Yukihiro Matsumoto + + * regex.c (re_compile_fastmap): fixed embarrassing brace bug. + +Thu Mar 9 01:36:32 2000 WATANABE Hirofumi + + * missing/flock.c: emulate missing flock() with fcntl(). + +Thu Mar 9 00:29:35 2000 Yukihiro Matsumoto + + * object.c (sym_to_s): returns ":sym". + + * object.c (sym_id2name): separated from to_s; returns "sym". + +Wed Mar 8 19:16:19 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.7. + + * lib/net/http.rb (connecting): returns header + +Wed Mar 8 02:08:43 2000 Yukihiro Matsumoto + + * parse.y: escape expansion too early. + + * string.c (rb_f_scan): Kernel#scan added. + + * regex.c (re_compile_pattern): support \cX et al. + +Tue Mar 7 01:44:27 2000 Yukihiro Matsumoto + + * io.c (set_stdin): simplified procedure, allows $stdin = DATA; + experimental. + + * io.c (set_outfile): ditto. + + * re.c (Init_Regexp): new method Regexp#last_match added; it's an + alternative for $~. + + * configure.in (DEFAULT_KCODE): KCODE_NONE should be the default. + + * dir.c (dir_s_rmdir): should return 0 on success. + + * signal.c: remove CWGUSI support. + +Mon Mar 6 12:28:37 2000 Yukihiro Matsumoto + + * marshal.c (w_symbol): support symbol object. + + * util.c: make symbol as separated class. + + * error.c (Init_Exception): new exception RangeError. + + * ext/socket/socket.c (ip_addrsetup): should check length of hostname. + + * ext/socket/socket.c (ip_addrsetup): check newline at the end of + hostname. These fixes suggested by Muvaw Pnazte . + +Sun Mar 5 20:35:45 2000 WATANABE Hirofumi + + * ext/Win32API/Win32API.c (Win32API_initialize): should call + LoadLibrary() everytime and should assign the hdll to Win32API + object(protect the hdll from GC). + +Sun Mar 5 18:49:06 2000 Nakada.Nobuyoshi + + * misc/ruby-mode.el (ruby-parse-region): not treat method `begin' + and `end' as reserved words. + + * misc/ruby-mode.el (ruby-font-lock-docs): ignore after `=begin' + and `=end'. + + * misc/ruby-mode.el (ruby-font-lock-keywords, hilit-set-mode-patterns): + added `yield' to keywords. + + * misc/ruby-mode.el (ruby-font-lock-keywords, hilit-set-mode-patterns): + matches keywords at end of buffer. + +Sun Mar 5 18:08:53 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.6. + + * lib/net/http.rb: allow to omit 'start' + +Tue Feb 29 01:08:26 2000 Yukihiro Matsumoto + + * range.c (range_initialize): initialization done in `initialize'; + `initialize' should not be called more than once. + + * object.c (Init_Object): default `initialize' should take zero + argument. + + * time.c (time_s_new): call `initialize' in Time::new. + +Sat Feb 26 22:39:31 2000 EGUCHI Osamu + + * string.c (rb_str_times): fix String#* with huge string. + +Sat Feb 26 00:14:59 2000 Yukihiro Matsumoto + + * dir.c (dir_s_new): call `initialize' in Dir::new. + +Fri Feb 25 23:01:49 2000 Katsuyuki Komatsu + + * ruby.h: export ruby_safe_level by EXTERN for mswin32. + * win32/ruby.def: regular maintenance. + +Fri Feb 25 22:12:46 2000 Yukihiro Matsumoto + + * io.c (rb_io_reopen): IO#reopen should accept path as well. + + * string.c (rb_str_s_new): call `initialize' in String::new. + + * hash.c (rb_hash_s_new): call `initialize' in Hash::new. + + * array.c (rb_ary_s_new): call `initialize' in Array::new. + +Fri Feb 25 12:50:20 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_start_timer): interval changed to 10ms from 50ms. + +Fri Feb 25 06:42:26 2000 GOTOU Yuuzou + + * ext/socket/socket.c (ip_addrsetup): hostp should remain NULL if + host is nil. + +Thu Feb 24 16:53:47 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_schedule): priority check for sleep expired + threads needed. + +Wed Feb 23 14:22:32 2000 Yukihiro Matsumoto + + * array.c (rb_ary_join): forgot to initialize a local variable + `taint'. + +Tue Feb 22 07:40:55 2000 Yukihiro Matsumoto + + * re.c (Init_Regexp): renamed to MatchData, old name MatchingData + remain as alias. + +Tue Feb 22 00:20:21 2000 Minero Aoki + + * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.5. + + * lib/net/session.rb: rename to protocol.rb + + * lib/net/protocol.rb: ProtocolSocket -> Net::Socket + + * lib/net/protocol.rb: Net::Socket#write, write_pendstr + can take block + + * lib/net/smtp.rb: new methods SMTP#ready SMTPCommand#write_mail + + * lib/net/pop.rb: POPMail#pop can take block + +Sat Feb 19 23:58:51 2000 Yukihiro Matsumoto + + * regex.c (re_match): pop_loop should not pop at forward jump. + +Fri Feb 18 17:15:40 2000 Yukihiro Matsumoto + + * eval.c (method_clone): method objects are now clonable. + +Fri Feb 18 00:27:34 2000 Yukihiro Matsumoto + + * variable.c (rb_shared_variable_declare): shared variable (aka + class/module variable) introduced. prefix `@@'. experimental. + + * class.c (rb_scan_args): new format char '&'. + +Thu Feb 17 19:09:05 2000 Katsuyuki Komatsu + + * win32/win32.c (mypopen): don't close handle if it is not assigned. + * win32/win32.c (my_open_osfhandle): support O_NOINHERIT flag. + * win32/win32.c (win32_getcwd): rename getcwd to win32_getcwd + in order to avoid using the C/C++ runtime DLL's getcwd. + Use CharNext() to process directory name. + * win32/win32.h: map getcwd to win32_getcwd. + +Wed Feb 16 00:32:49 2000 Yukihiro Matsumoto + + * eval.c (method_arity): nd_rest is -1 for no rest argument. + + * process.c (proc_waitpid): returns nil when waitpid(2) returns 0. + +Tue Feb 15 01:47:00 2000 Yukihiro Matsumoto + + * process.c (rb_f_waitpid): pid_t should be signed. + +Mon Feb 14 13:59:01 2000 Yukihiro Matsumoto + + * parse.y (yylex): yylex yields wrong tokens for `:foo=~expr'. + + * ruby.c (load_file): exit if reading file is empty. + +Mon Feb 14 03:34:52 2000 Yukihiro Matsumoto + + * parse.y (yylex): `foo.bar=1' should be <.><=><1>, + not <.><1>. + + * eval.c (rb_thread_restore_context): process according to + RESTORE_* is moved after longjmp(). + + * eval.c (thread_switch): new function to process RESTORE_*. + +Sun Feb 13 16:19:49 2000 WATANABE Hirofumi + + * ruby.c (require_libraries): don't access freed memory. + + * ruby.c (add_modules): ditto. + +Fri Feb 11 12:06:22 2000 Yukihiro Matsumoto + + * parse.y (parse_quotedwords): %w() need to split not only by mere + spaces, but by all whitespaces. + +Thu Feb 10 02:12:04 2000 Yukihiro Matsumoto + + * string.c (rb_str_index_m): did not support negative offset. + +Wed Feb 9 21:54:26 2000 Katsuyuki Komatsu + + * ext/socket/getaddrinfo.c: gcc --traditional support. + Rearrange headers to work AC_C_CONST. + * ext/socket/getnameinfo.c: ditto. + * ext/socket/socket.c: mswin32: use double instead of long long. + +Wed Feb 9 16:30:41 2000 Yukihiro Matsumoto + + * numeric.c (num_coerce): should return [y, x]. + +Wed Feb 9 11:07:30 2000 Yukihiro Matsumoto + + * ruby.c (ruby_prog_init): loadpath structure changed. + +Tue Feb 8 02:07:33 2000 Yukihiro Matsumoto + + * regex.c (re_search): optimize for \G at top. + + * regex.c (re_compile_pattern): \G introduced. + + * regex.c (re_match): ditto. + + * string.c (str_sub_bang): old behavior restored: bang method + returns nil if string not changed. + + * regex.c (re_compile_pattern): support independent subexpression + `(?>pattern)'. + + * regex.c (re_match): ditto. + +Mon Feb 7 15:51:08 2000 Yukihiro Matsumoto + + * regex.c (re_match): now understands interrupts under Ruby. + +Mon Feb 7 07:51:52 2000 Yukihiro Matsumoto + + * array.c (rb_ary_uniq_bang): always return an Array. + + * array.c (rb_ary_compact_bang): ditto. + + * array.c (rb_ary_flatten_bang): ditto. + + * hash.c (rb_hash_reject): returns a Hash, not an Array. + + * hash.c (env_reject): ditto. + +Fri Feb 4 10:20:25 2000 Yukihiro Matsumoto + + * string.c (scan_once): scan now leaves information about the last + successful pattern match in $&. + + * io.c (rb_io_close): should not check closed IO. + +Fri Feb 4 05:44:01 2000 Kentaro Inagaki + + * ext/socket/socket.c (s_recv): TRAP_BEG after retry entry. + +Wed Feb 2 22:33:45 2000 Nobuyoshi Nakada + + * eval.c (rb_thread_start): receives argument from outside, like + `Thread::start(1,2,3){|a,b,c| ... }'. + +Wed Feb 2 22:14:40 2000 Yukihiro Matsumoto + + * re.c (rb_reg_regsub): should check regs->num_regs. + + * re.c (rb_reg_search): remove matchcache, use static struct + re_register instead. + + * re.c (match_getter): avoid cloning match data. + +Wed Feb 2 17:12:15 2000 Dave Thomas + + * samples/eval.rb: Rescue new ScriptError exception + +Wed Feb 2 02:06:07 2000 Yukihiro Matsumoto + + * string.c (str_gsub_bang): gsub! now leaves information about the + last successful pattern match in $&. + +Mon Jan 31 15:24:58 2000 Yukihiro Matsumoto + + * string.c (str_sub_bang): bang method returns string always. + experimental. + +Sun Jan 30 17:58:09 2000 WATANABE Hirofumi + + * eval.c: arrange to use setitimer(2) for BOW, DJGPP + + * defines.h: ditto. use random(3) on cygwin b20.1. + +Sun Jan 30 17:20:16 2000 WATANABE Hirofumi + + * eval.c: use getrlimit(2) on DJGPP. + +Thu Jan 27 01:27:10 2000 GOTO Kentaro + + * dir.c (glob): glob pattern "/*" did not match. + +Wed Jan 26 22:30:47 2000 Shigeo Kobayashi + + * numeric.c (flo_modulo): wrong result for negative modulo. + +Wed Jan 26 02:01:57 2000 Yukihiro Matsumoto + + * file.c (test_c): should use S_ISCHR. + + * file.c (rb_stat_c): ditto. + + * string.c (rb_str_each_line): should propagate tainting. + +Tue Jan 25 04:01:34 2000 Yukihiro Matsumoto + + * object.c (rb_obj_freeze): all objects made freezable. + +Tue Jan 25 00:37:01 2000 WATANABE Hirofumi + + * configure.in: use AC_CHECK_TOOL for cross compiling. + +Mon Jan 24 19:01:54 2000 Nobuyoshi Nakada + + * array.c (rb_protect_inspect): should be checked by id of + objects; not by object themselves. + +Mon Jan 24 18:48:08 2000 Minero Aoki + + * eval.c (rb_eval): too many warnings; warned on every method + overriding. should be on method discarding. + +Mon Jan 24 02:56:44 2000 Yukihiro Matsumoto + + * parse.y (yylex): -2.abs should be `(-2).abs' to accomplish the + principle of less surprise. `+2' too. + + * eval.c (rb_eval): when defining class is already there, and + superclass differ, throw away the old class. + + * variable.c (rb_const_set): gives warning again on constant + redefinition. + + * error.c (Init_Exception): SyntaxError, NameError, LoadError and + NotImplementError are subclasses of ScriptError + + * parse.y (parse_quotedwords): no longer use `String#split'. + and enable space escape within quoted word list. + e.g. %w(a\ b\ c abc) => ["a b c", "abc"]. + + * string.c (rb_str_slice_bang): new method `slice!'. + +Fri Jan 21 21:56:08 2000 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.4. + + * lib/net/http.rb: can receive messages which have + no Content-Length:. + +Fri Jan 21 16:15:59 2000 Yukihiro Matsumoto + + * eval.c (thgroup_s_new): new class ThreadGroup. + +Tue Jan 18 12:24:28 2000 Yukihiro Matsumoto + + * struct.c (Init_Struct): remove Struct's own hash and eql?. + +Sat Jan 15 22:21:08 2000 Nobuyoshi Nakada + + * eval.c (search_method): argument klass may be 0. + +Sat Jan 15 15:03:46 2000 Yukihiro Matsumoto + + * enum.c (enum_index): remove this method. + + * enum.c: remove use of pointers to local variables. find, + find_all, min, max, index, member?, each_with_index, + + * eval.c (massign): multiple assignment does not use to_a anymore. + experimental. + +Fri Jan 14 12:22:04 2000 Yukihiro Matsumoto + + * string.c (rb_str_replace): use memmove instead of memcpy for + overwrapping strings (e.g. a[1] = a). + +Thu Jan 13 11:12:40 2000 Yukihiro Matsumoto + + * parse.y (arg_add): use new node, ARGSPUSH. + +Mon Jan 10 18:32:28 2000 Koji Arai + + * marshal.c (w_object): forgot an argument to call w_ivar(). + +Sun Jan 9 18:13:51 2000 Katsuyuki Komatsu + + * random.c: first was not defined unless HAVE_RANDOM. + +Sat Jan 8 19:02:49 2000 Yukihiro Matsumoto + + * io.c (rb_io_sysread): raise IOError for buffered IO. + + * ext/socket/socket.c (s_recv): ditto. + +Fri Jan 7 00:59:29 2000 Masahiro Tomita + + * io.c (io_fread): TRAP_BEG/TRAP_END added around getc(). + +Thu Jan 6 00:39:54 2000 Yukihiro Matsumoto + + * random.c (rb_f_rand): should be initialized unless srand is + called before. + +Wed Jan 5 16:59:34 2000 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.3. + + * lib/net/session.rb: Session -> Protocol, ... + + * lib/net/http.rb: HTTPCommand implementation was changed. + +Wed Jan 5 02:14:46 2000 EGUCHI Osamu + + * parse.y: Fix SEGV on empty parens with UMINUS or UPLUS. + +Tue Jan 4 22:25:54 2000 Yukihiro Matsumoto + + * parse.y (stmt): `() while cond' dumped core. + +Tue Jan 4 06:04:14 2000 WATANABE Hirofumi + + * configure.in: modify for cross-compiling. + use target_* instead of host_*. + use AC_CANONICAL_TARGET. + + * Makefile.in: ditto. + + * cygwin/GNUmakefile.in: ditto. + +Sat Jan 1 13:26:14 2000 Yukihiro Matsumoto + + * eval.c (rb_yield_0): force_recycle ruby_dyna_vars to gain + performance. + + * array.c (rb_ary_delete_at_m): takes same argument pattern with + rb_ary_aref. + +Sat Jan 1 10:12:26 2000 Nobuyoshi Nakada + + * ruby.h,util.c (rb_special_const_p): peep hole optimization. + + * ruby.h,util.c (rb_test_false_or_nil): removed. + + * ruby.h (RTEST, SPECIAL_CONST_P): peep hole optimization. + + * ruby.h (FL_ABLE, FL_SET, FL_UNSET, FL_REVERSE): made expressions + not statements. + + * ruby.h (OBJ_INFECT): newly added macro which copies taint from + `s' to `x'. + +Sat Jan 1 02:04:18 2000 Yukihiro Matsumoto + + * eval.c (rb_thread_safe_level): new method. + + * eval.c (rb_yield_0): recycle dyna_var_map to reduce object + allocation. + +Fri Dec 31 00:52:48 1999 Yukihiro Matsumoto + + * eval.c: thread independent trace_func not needed. + +Thu Dec 30 14:47:31 1999 akira yamada + + * configure.in: specifies -soname in LIBRUBY_DLDFLAGS on linux + platforms. + +Thu Dec 30 10:51:27 1999 Yukihiro Matsumoto + + * array.c,io.c,hash,c,re.c,string.c: `_m' suffix instead of + `_method' for wrapper functions to implement method, + e.g. `rb_str_join_m()'. + +Thu Dec 30 02:08:02 1999 Yukihiro Matsumoto + + * bignum.c (rb_cstr2inum): non-numeric format check added. + currently it works only with base == 0 (i.e. Integer()). + + * bignum.c (rb_str2inum): now takes VALUE to 1st argument. null + byte check added. + + * array.c (rb_ary_replace): unless replacement is an array, + replacement shall be converted to array by `[replacement]', not + by `replacement.to_a'. + + * array.c (rb_ary_plus): right operand must be an array. + + * array.c (rb_ary_concat): argument must be an array. + +Mon Dec 27 12:35:47 1999 Katsuyuki Komatsu + + * ext/socket/socket.c (sock_finalize): mswin32: fix socket handle leak. + + * win32/win32.c (myfdclose): ditto. + +Sun Dec 26 23:15:13 1999 Katsuyuki Komatsu + + * win32/win32.c (mypopen): raise catchable error instead of rb_fatal. + * win32/win32.c (mypclose): fix process handle leak. + +Sun Dec 26 16:17:11 1999 Katsuyuki Komatsu + + * ext/Win32API/Win32API.c (Win32API_initialize): use UINT2NUM + instead of INT2NUM to set __dll__ and __proc__. + +Sat Dec 25 00:08:59 1999 KANEKO Naoshi + + * ext/Win32API/Win32API.c (Win32API_Call): remove 'dword ptr' + from _asm. + +Fri Dec 24 10:26:47 1999 Koji Oda + + * win32/win32.h: use "C++" linkage. + +Fri Dec 24 02:00:57 1999 Yukihiro Matsumoto + + * eval.c (THREAD_ALLOC): should initialize th->trace. + +Fri Dec 24 00:43:39 1999 KANEKO Naoshi + + * io.c (pipe_open): check for `fptr->f == NULL'. + * win32/win32.c (mypopen): STDERR does not work during ` function. + +Wed Dec 22 22:50:40 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.2. + + * lib/net/http.rb: HTTP support is enhanced a little + + * lib/net/http.rb: support proxy + +Tue Dec 21 17:21:28 1999 Koji Oda + + * ext/socket/socket.c (sock_finalize): mswin32: fix FILE* leak. + +Tue Dec 21 05:33:56 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.1. + + * lib/net/http.rb: support HTTP chunk + +Mon Dec 20 19:08:12 1999 Nobuyoshi Nakada + + * file.c (rb_file_s_expand_path): handle dir separator correctly. + +Sun Dec 19 22:56:31 1999 KANEKO Naoshi + + * lib/find.rb: support dosish root directory. + * win32/Makefile: ditto. + * win32/config.status: ditto. + * win32/win32.c (opendir): ditto. + * win32/win32.c (opendir): use CharPrev() to get last character + of the directory name. + +Sat Dec 18 03:00:01 1999 Yukihiro Matsumoto + + * file.c (path_check_1): check should be done by absolute path. + + * marshal.c (r_ivar): should restore generic_ivar too. + + * marshal.c (w_ivar): should dump generic_ivar too. + +Fri Dec 17 22:46:46 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.0. + + * lib/net/http.rb: test release + + * lib/net/session.rb: support class swapping + + * lib/net/session.rb: Socket#flush_rbuf + + * lib/net/session.rb: doquote -> Net.quote + +Fri Dec 17 19:27:43 1999 IWAMURO Motonori + + * eval.c (rb_load): should initialize ruby_frame->last_class. + +Wed Dec 15 01:35:29 1999 Yukihiro Matsumoto + + * ruby.c (proc_options): option to change directory changed to + `-C' like tar. + + * ruby.c (proc_options): argv boundary check for `-X'. + +Mon Dec 13 15:15:31 1999 Yukihiro Matsumoto + + * regex.c (re_adjust_startpos): separate startpos adjustment + because of major performance drawback. + + * class.c (rb_singleton_class): tainted status of the singleton + class must be synchronized with the object. + + * eval.c (rb_thread_schedule): implement thread priority. + +Sat Dec 11 03:34:38 1999 Yukihiro Matsumoto + + * gc.c (mark_hashentry): key should be VALUE, not ID. + + * io.c (argf_eof): should check next_p too. + +Thu Dec 9 18:09:13 1999 EGUCHI Osamu + + * error.c (exc_set_backtrace): forgot to declare a VALUE argument. + +Thu Dec 9 14:19:31 1999 Yukihiro Matsumoto + + * object.c (rb_obj_taint): explicit tainting must be prohibited at + level 4 to prevent polluting trusted object by untrusted code. + + * file.c: file operations (stat, lstat, chmod, chown, umask, + truncate, flock) are prohibited in level 2 (was level 4). + +Wed Dec 8 11:48:23 1999 Yukihiro Matsumoto + + * eval.c (rb_f_require): prohibiting require() in the secure mode + cause serious autoloading error. + + * variable.c (rb_obj_instance_variables): don't need to prohibit + to get list of instance variable names of untainted objects. + + * variable.c (rb_ivar_get): don't need to prohibit to get instance + variables of untainted objects. + + * variable.c (rb_mod_remove_const): should prohibit constant + removals too. + +Wed Dec 8 09:23:01 1999 Yukihiro Matsumoto + + * eval.c (rb_eval): should try autoloading before defining + class/module at the toplevel. + +Tue Dec 7 22:15:30 1999 EGUCHI Osamu + + * configure.in: Modified rb_cv_rshift_sign detect routine and + more simple/fast RSHIFT() for hpux-10.x. + +Tue Dec 7 11:16:30 1999 Yukihiro Matsumoto + + * eval.c (Init_eval): calculate stack limit from rlimit where + getrlimit(2) is available. + +Tue Dec 7 09:57:33 1999 Katsuyuki Komatsu + + * file.c (rb_file_ftype): should have removed mode_t. + +Mon Dec 6 15:55:30 1999 EGUCHI Osamu + + * numeric.c (fix_rshift): Fix -1 >> 32 returned 0 (should be -1). + + * numeric.c (fix_rshift): Fix 1 >> -1 returned 0 (should be 2). + +Mon Dec 6 11:47:23 1999 Yukihiro Matsumoto + + * sprintf.c (rb_f_sprintf): formatted string must be tainted if + any of parameters is a tainted string. + + * file.c (rb_file_s_expand_path): expanded file path need not to + be tainted always. + +Sun Dec 5 20:25:29 1999 Katsuhiro Ueno + + * eval.c (Init_Proc): simple typo. + + * gc.c (add_heap): sizeof(RVALUE*), not sizeof(RVALUE). + +Sat Dec 4 01:40:22 1999 Yukihiro Matsumoto + + * regex.c (re_search): adjust startpos for multibyte match unless + the first pattern is forced byte match. + + * bignum.c (rb_big_rand): should not use rand/random where drand48 + may be available. RANDOM_NUMBER should be provided from outside. + +Fri Dec 3 09:54:59 1999 Yukihiro Matsumoto + + * ruby.c (moreswitches): there may be trailing garbage at #! + line. + + * eval.c (rb_f_require): should check require 'feature.o' too. + +Thu Dec 2 11:58:15 1999 Koji Arai + + * eval.c (rb_thread_loading): should maintain loading_tbl. + +Thu Dec 2 10:21:43 1999 Yukihiro Matsumoto + + * eval.c (rb_thread_loading_done): wrong parameter to st_delete(). + +Wed Dec 1 11:24:06 1999 Nobuyoshi Nakada + + * ruby.c (process_sflag): process -s properly (should not force `--'). + +Wed Dec 1 09:47:33 1999 Kazunori NISHI + + * string.c (rb_str_split_method): should increment end too. + +Tue Nov 30 18:00:45 1999 Yukihiro Matsumoto + + * marshal.c: MARSHAL_MINOR incremented; format version is 4.2. + + * marshal.c (w_object): distinguish class and module. + + * marshal.c (w_object): save hash's default value. + + * marshal.c (r_object): restore hash's default value. + +Tue Nov 30 01:46:18 1999 Yukihiro Matsumoto + + * re.c (rb_reg_source): generated source string must be tainted if + regex is tainted. + + * file.c (rb_file_s_basename): basename should not be tainted + unless the original path is tainted. + + * file.c (rb_file_s_dirname): ditto. + +Mon Nov 29 20:42:13 1999 Nobuyoshi Nakada + + * file.c (stat_new): Struct::Stat -> File::Stat; Stat is no longer + a Struct. + +Mon Nov 29 15:28:52 1999 Yukihiro Matsumoto + + * variable.c (rb_path2class): evaluated value from path should be + module or class. + +Fri Nov 26 18:12:49 1999 Yukihiro Matsumoto + + * eval.c (rb_exec_end_proc): should remove only end_procs defined + within load wrapper. + + * eval.c (rb_load): save and restore ruby_wrapper around loading. + + * eval.c (rb_mark_end_proc): mark end procs registered by END{} or + at_exit{}. + + * eval.c (rb_set_end_proc): should not call rb_global_variable() + on heap address; it crashed mod_ruby. + +Mon Nov 22 14:07:24 1999 Koji Arai + + * ruby.c (proc_options): variable e_script should be visited by + garbage collector. + +Sat Nov 20 10:10:41 1999 Yukihiro Matsumoto + + * hash.c (inspect_i): value may be nil, check revised. + +Fri Nov 19 18:06:21 1999 Yukihiro Matsumoto + + * dir.c (glob): recursive wildcard match by `**' ala zsh. + +Fri Nov 19 11:44:26 1999 EGUCHI Osamu + + * variable.c: was returning void value. + +Fri Nov 19 03:57:22 1999 Nobuyoshi Nakada + + * file.c: add methods Stat struct class to reduce stat(2). + +Thu Nov 18 16:18:27 1999 Yukihiro Matsumoto + + * lib/pstore.rb: mutual lock by flock(2). + +Thu Nov 18 11:44:13 1999 Masahiro Tomita + + * io.c (read_all): should check bytes too. + +Wed Nov 17 02:40:40 1999 Yukihiro Matsumoto + + * io.c (Init_IO): $defout (alias of $>) added. + +Tue Nov 16 09:47:14 1999 Yukihiro Matsumoto + + * lib/pstore.rb: add mutual lock using symlink. + +Mon Nov 15 16:50:34 1999 Yukihiro Matsumoto + + * enum.c (enum_grep): non matching grep returns an empty array, no + longer returns nil. + + * enum.c (enum_grep): grep with block returns collection of + evaluated values of block over matched elements. + +Mon Nov 15 04:50:33 1999 Koji Arai + + * re.c (rb_reg_source): should not call rb_reg_expr_str() + everytime. + +Sat Nov 13 07:34:18 1999 Yukihiro Matsumoto + + * variable.c (rb_mod_constants): traverse superclasses to collect + constants. + + * eval.c (assign): modified for shared variables. + + * eval.c (rb_eval): search nested scope, then superclasses to + assign shared variables within methods. + + * eval.c (rb_eval): remove warnings from constants modification, + because they are no longer constants. + + * parse.y (node_assign): modified for shared variables. + + * parse.y (assignable): allow constant assignment in methods; + constants should be called `shared variable'. + +Fri Nov 12 23:52:19 1999 Katsuyuki Komatsu + + * process.c (rb_f_system): argument check for NT, __EMX__, DJGPP. + +Wed Nov 10 21:54:11 1999 EGUCHI Osamu + + * hash.c (rb_any_cmp): Fixed return without value. + +Wed Nov 10 17:57:06 1999 Yukihiro Matsumoto + + * sprintf.c: incorporate 's sprintf patch at + [ruby-dev:7754]. + +Wed Nov 10 08:28:53 1999 Yukihiro Matsumoto + + * eval.c (rb_call0): supply class parameter for each invocation. + +Tue Nov 9 13:21:04 1999 EGUCHI Osamu + + * configure.in: AC_MINIX move to before AC_EXEEXT and AC_OBJEXT. + +Mon Nov 8 19:52:29 1999 EGUCHI Osamu + + * configure.in: Renamed AC_CHAR_UNSIGNED to AC_C_CHAR_UNSIGNED. + + * configure.in: Added default to AC_CHECK_SIZEOF(). + +Mon Nov 8 14:28:18 1999 Yukihiro Matsumoto + + * parse.y (stmt): rescue modifier added to the syntax. + + * keywords: kRESCUE_MOD added. + + * eval.c (rb_f_eval): fake outer scope when eval() called without + bindings. + + * eval.c (rb_f_binding): should copy last_class in the outer frame too. + +Sun Nov 7 18:31:04 1999 Yasuhiro Fukuma + + * eval.c (is_defined): last_class may be 0. + +Sat Nov 6 19:26:55 1999 EGUCHI Osamu + + * Makefile.in: Added depend entry make parse.@OBJEXT@ from parse.c + for UCB make + +Thu Nov 4 17:41:18 1999 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): \< (wordbeg), \> (wordend) disabled. + +Wed Nov 3 08:52:57 1999 Masaki Fukushima + + * io.c (Init_IO): forgot to use INT2FIX() around SEEK_SET, etc. + +Wed Nov 3 00:25:20 1999 Yukihiro Matsumoto + + * string.c (rb_str_split_method): use mbclen2() to handle kcode + option of regexp objects. + +Mon Nov 1 14:22:15 1999 EGUCHI Osamu + + * eval.c (rb_eval): reduce recursive calls to rb_eval() + case of ||= and &&= . + +Sun Oct 31 13:12:42 1999 WATANABE Hirofumi + + * regex.c (re_compile_pattern): wrong [\W] match. + +Fri Oct 29 16:57:30 1999 Yukihiro Matsumoto + + * ext/nkf/lib/kconv.rb: new String methods (kconv, tojis, toeuc, + tosjis). + + * time.c (time_s_at): now accepts optional second argument to + specify micro second. + +Thu Oct 28 13:35:40 1999 Yukihiro Matsumoto + + * string.c (rb_str_split_method): should be mbchar aware with + single char separators. + +Wed Oct 27 12:57:21 1999 Yukihiro Matsumoto + + * random.c (rb_f_srand): random seed should be unsigned. + +Tue Oct 26 23:58:15 1999 Yukihiro Matsumoto + + * array.c (rb_ary_collect): collect for better performance. + +Tue Oct 26 19:20:54 1999 Koji Arai + + * marshal.c (r_object): should register class/module objects. + +Sat Oct 23 15:59:39 1999 Takaaki Tateishi + + * process.c (rb_f_system): should require at least one argument. + +Sat Oct 23 12:42:44 1999 Nobuyoshi Nakada + + * enum.c (enum_collect): collect without block will collect + elements in enumerable. + +Thu Oct 21 16:14:19 1999 Yukihiro Matsumoto + + * ruby.c (moreswitches): function to process string option; + the name is stolen from perl (not implementation). + + * ruby.c (proc_options): use RUBYOPT environment variable to + retrieve the default options. + + * dir.c (fnmatch): use eban's fnmatch; do not depend on system's + fnmatch (which may have portability problem) anymore. + +Wed Oct 20 15:14:24 1999 Yukihiro Matsumoto + + * marshal.c (marshal_load): should protect the generated object + table (arg->data) from GC. + +Mon Oct 18 16:15:52 1999 Yukihiro Matsumoto + + * ext/nkf/nkf.c (rb_nkf_kconv): output should be NUL terminated. + +Mon Oct 18 09:03:01 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb: 1.0.3 + + * lib/net/pop.rb: new methods POP3Command#uidl, POPMail#uidl. + +Sun Oct 17 03:35:33 1999 Masaki Fukushima + + * array.c (rb_ary_pop): forgot some freeze checks. + +Sat Oct 16 12:57:53 1999 EGUCHI Osamu + + * array.c (rb_ary_sort): always returns the copied array. + +Fri Oct 15 22:50:41 1999 WATANABE Hirofumi + + * error.c (sys_nerr): on CYGWIN, it is _sys_nerr. + +Fri Oct 15 01:32:31 1999 WATANABE Hirofumi + + * io.c (rb_io_ctl) :need to use NUM2ULONG, not NUM2INT. + + * ext/Win32API/Win32API.c (Win32API_Call): need to use NUM2ULONG, + not NUM2INT. + +Fri Oct 15 00:22:30 1999 Yukihiro Matsumoto + + * re.c (Init_Regexp): super class of the MatchingData, which was + Data, to be Object. + + * eval.c (ruby_run): evaluate required libraries before load & + compiling the script. + + * parse.y (lex_getline): retrieve a line from the stream, saving + lines in the table in debug mode. + + * eval.c (call_trace_func): treat the case ruby_sourcefile is null. + +Thu Oct 14 02:00:10 1999 Yukihiro Matsumoto + + * parse.y (string): compile time string concatenation. + +Wed Oct 13 07:28:09 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb: 1.0.2 + + * lib/net/session.rb: new method Session#set_pipe. + + * lib/net/session.rb, smtp.rb, pop.rb: add RD documentation. + +Wed Oct 13 02:17:05 1999 EGUCHI Osamu + + * array.c (rb_ary_plus): remove recursion. + + * array.c (rb_ary_sort_bang): detect modify attempt. + +Wed Oct 13 02:17:05 1999 Yukihiro Matsumoto + + * eval.c (block_pass): should copy block to prevent modifications. + tag in the structure should be updated from latest prot_tag. + + * eval.c (proc_s_new): tag in struct BLOCK should not point into + unused stack. + + * dir.c (dir_s_glob): iterate over generated matching filenames if + the block is given to the method. + + * array.c (rb_ary_at): new methods; at, first, last. + + * hash.c (rb_hash_fetch): raises exception unless the default + value is supplied. + + * hash.c (rb_hash_s_create): need not remove nil from value. + + * hash.c (rb_hash_aset): setting value to nil does not remove key + anymore. + +Tue Oct 12 22:29:04 1999 Yukihiro Matsumoto + + * io.c (io_read): length may be 0 or negative. + +Tue Oct 12 13:26:27 1999 Jun-ichiro itojun Hagino + + * signal.c (posix_signal): RETSIGTYPE may be void. + +Tue Oct 12 03:28:03 1999 EGUCHI Osamu + + * array.c (rb_ary_delete_at): allows negative position. + +Mon Oct 11 17:42:25 1999 Nobuyoshi Nakada + + * parse.y (rb_intern): should generate distinct ID_ATTRSET symbols + for the name with multiple `='s at the end. + + * Makefile.in (CPPFLAGS): separate cpp flags from CFLAGS. + +Mon Oct 11 07:27:05 1999 Yukihiro Matsumoto + + * eval.c (rb_eval): should not execute the `else' clause on the + case the exceptions are handled by the `rescue' clause. + + * signal.c (Init_signal): ignore SIGPIPE by default. + +Wed Oct 6 17:13:19 1999 Nobuyoshi Nakada + + * ruby.c (addpath): rubylib_mangled_path() modified. + +Mon Oct 4 12:42:32 1999 Kazuhiko Izawa + + * pack.c (pack_unpack): % in printf format should be %%. + +Mon Oct 4 10:01:40 1999 Yukihiro Matsumoto + + * variable.c (rb_obj_instance_variables): should always return + array for all object can have instance variables now. + +Mon Oct 4 00:08:34 1999 Yukihiro Matsumoto + + * pack.c (OFF16): need to adjust pointer address to pack/unpack on + 64bit machines. + +Sun Oct 3 03:05:59 1999 WATANABE Hirofumi + + * time.c (time_arg): mktime y2k problem. + +Sun Sep 26 16:54:45 1999 WATANABE Hirofumi + + * parse.y (here_document): `\r' handling for here documents. + +Wed Sep 22 09:20:11 1999 Masahiro Tomita + + * ext/socket/socket.c: SOCKS5 support. + +Wed Sep 22 07:33:23 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb: 1.0.1 + + * lib/net/pop.rb: APOP did not work. + + * lib/net/pop.rb: modify the way to make APOP challenge. + +Wed Sep 22 00:35:30 1999 Yukihiro Matsumoto + + * string.c (rb_str_include): should return boolean value. + + * regex.c (re_compile_fastmap): wrong comparison with mbc. + + * eval.c (specific_eval): default sourcefile name should be + "(eval)" for module_eval etc. + +Wed Sep 22 00:06:07 1999 Katsuyuki Komatsu + + * win32/Makefile: update rules. + + * io.c (io_fread): should not assign in char, it maybe -1. + +Tue Sep 21 23:57:54 1999 Yukihiro Matsumoto + + * eval.c (call_trace_func): should not propagate retval in + trace_func. + +Mon Sep 20 21:35:39 1999 Katsuyuki Komatsu + + * win32/win32.c (myselect): assume non socket files are always + readable/writable. + +Mon Sep 20 01:08:02 1999 Yukihiro Matsumoto + + * io.c (io_fread): should not block other threads. + + * io.c (rb_io_synchronized): renamed from rb_io_unbuffered(); do + not call setbuf(NULL) anymore. + +Sat Sep 18 13:45:43 1999 Yukihiro Matsumoto + + * stable version 1.4.2 released. + +Fri Sep 17 23:24:17 1999 Katsuyuki Komatsu + + * eval.c (rb_f_missing): dumped core if no argument given. + +Fri Sep 17 23:21:06 1999 Katsuyuki Komatsu + + * win32/win32.c (myselect): translate WSAEINTR, WSAENOTSOCK into + UNIX errno constants. + +Fri Sep 17 00:52:27 1999 Yukihiro Matsumoto + + * parse.y (arg): assignable() may return 0. + +Thu Sep 16 20:46:23 1999 WATANABE Hirofumi + + * eval.c (rb_eval): was doubly evaluating the return expression. + +Thu Sep 16 18:40:08 1999 Yukihiro Matsumoto + + * stable version 1.4.1 released. + +Thu Sep 16 11:33:22 1999 WATANABE Hirofumi + + * string.c (rb_str_match): should return nil. + +Wed Sep 15 22:46:37 1999 Yukihiro Matsumoto + + * re.c (rb_reg_s_quote): should quote `-' too. + +Tue Sep 14 15:23:22 1999 Nobuyoshi Nakada + + * parse.y (yylex): no need to ignore `\r' here. + + * parse.y (nextc): strip `\r' from text. + + * parse.y (nextc): support `__END__\r\n' type terminator. + +Mon Sep 13 10:49:19 1999 WATANABE Hirofumi + + * eval.c (rb_eval): needless RTEST(ruby_verbose) removed. + +Mon Sep 13 09:10:11 1999 Minero Aoki + + * lib/net/session.rb, smtp.rb, pop.rb: 1.0.0 + +Wed Sep 8 11:37:38 1999 Tadayoshi Funaba + + * time.c (make_time_t): bit more strict comparison. + +Tue Sep 7 00:50:56 1999 Yukihiro Matsumoto + + * range.c (range_each): use rb_str_upto() for strings. + + * string.c (rb_str_upto): set upper limit by comparing curr <= end. + + * range.c (range_each): should check equality to handle magic + increment. + +Mon Sep 6 22:43:33 1999 Yukihiro Matsumoto + + * eval.c (rb_eval): break/next/redo available within -n/-p loop. + +Fri Sep 3 11:14:31 1999 Yukihiro Matsumoto + + * compar.c (cmp_equal): should not raise exception; protect by + rb_rescue(). + +Thu Sep 2 05:23:05 1999 WATANABE Hirofumi + + * file.c (rb_file_s_expand_path): use dirsep, instead of character + literal '/'. + + * file.c (rb_file_s_expand_path): reduce multiple dirsep at the top. + +Wed Sep 1 00:28:27 1999 Yukihiro Matsumoto + + * eval.c (rb_call): call rb_undefined() if a method appears not to + be exist explicitly from cache. + + * eval.c (rb_method_boundp): check method cache before calling + rb_get_method_body(). + + * eval.c (rb_get_method_body): store method non-existence + information in the cache. + + * random.c (rb_f_srand): use getpid(2) to generate seed. + + * regex.c (re_match): do not apply partial mbc match for + charset_not. + + * regex.c (re_compile_pattern): put extended literal prefix (0xff) + only before numeric literals, not before all >0x80 char. + + * regex.c (re_compile_pattern): put numeric literal in extended + charset region, not normal charset bits. + + * regex.c (re_compile_fastmap): calculate fastmap for charset and + charset_not to treat numeric literal (e.g. \246) specially. + +Fri Aug 28 17:32:55 1999 Yasuhiro Fukuma + + * eval.c (rb_eval): should set return value (nil) explicitly if a + value is omitted for return statement. + +Sun Aug 26 20:26:40 2001 Koji Arai + + * ext/readline/readline.c: restore terminal mode + even if readline() interrupted. + + * ext/readline/readline.c: returned string need to + be tainted. + + * ext/readline/readline.c: fixed memory leak. + + * ext/readline/readline.c: allow negative index. + + * ext/readline/readline.c: added Readline::HISTORY.size + same as Readline::HISTORY.length + + * ext/readline/readline.c: allow conditional parsing + of the ~/.inputrc file by `$if Ruby'. + + * ext/readline/extconf.rb: check whether the + libreadline has the variable `rl_completion_append_character' + (this feature was implemented from GNU readline 2.1). + +Thu Aug 26 15:06:11 1999 Masaki Fukushima + + * gc.c (rb_gc): local variables may be placed beyond stack_end, so + use an address from alloca(1) on non C_ALLOCA platforms. + +Thu Aug 26 01:24:17 1999 Yukihiro Matsumoto + + * sprintf.c (rb_f_sprintf): "%%" is legal, but "%3.14%" is not. + +Mon Aug 23 00:00:54 1999 Tsukada Takuya + + * regex.c (re_compile_fastmap): wrong macro caused memory leak. + +Sat Aug 21 11:30:51 1999 Yukihiro Matsumoto + + * eval.c (ADJ): should not adjust addresses to data on heap. + +Fri Aug 20 20:50:58 1999 Kenji Nagasawa + + * defines.h (PATH_SEP): path separator is ";" for OS/2. + +Thu Aug 19 10:50:43 1999 WATANABE Tetsuya + + * gc.c (rb_gc): add volatile to avoid GCC optimize bug(?). + +Wed Aug 18 23:48:10 1999 Yukihiro Matsumoto + + * due to disk trouble, some change records were lost. several + modification made to eval.c, gc.c, io.c, pack.c, + ext/extmk.rb.in, and lib/mkmf.rb. + +Fri Aug 13 15:41:39 1999 Yukihiro Matsumoto + + * stable version 1.4.0 released. + +Fri Aug 13 03:16:07 1999 Yukihiro Matsumoto + + * io.c (argf_forward): since $stdout may be non-IO, ARGF.file is + not guaranteed to be IO. check and forwarding added to every ARGF + method. + + * io.c (set_outfile): $stdout/$stderr may not be IO now. + + * io.c (set_stdin): $stdin may not be IO now. + + * range.c (rb_range_beg_len): round `end' to length as documented. + + * io.c (Init_IO): preserve original stdin/stdout/stderr. + +Thu Aug 12 13:44:33 1999 Yukihiro Matsumoto + + * eval.c (Init_load): require receives 1 argument. + + * eval.c (frame_dup): should clear tmp to avoid dangling + references. + +Wed Aug 11 13:33:13 1999 Katsuyuki Komatsu + + * eval.c (rb_eval): no automatic aggregate initialization. + + * eval.c (module_setup): ditto. + +Wed Aug 11 18:18:41 1999 WATANABE Tetsuya + + * eval.c (yield_under_i): automatic aggregate initialization is an + ANSI feature. + +Wed Aug 11 10:10:02 1999 Yukihiro Matsumoto + + * parse.y (yylex): parse `[].length==0' as `([].length)==0', not + `([].length=)=0' + + * parse.y (yylex): parse `[].length!=0' as `([].length)!=0', not + `([].length!)=0' + + * parse.y (peek): peek-in lexical buffer. + +Wed Aug 11 00:34:05 1999 Yukihiro Matsumoto + + * regex.c (re_match): bug on backward jump adjustment concerning + stop_paren. + +Tue Aug 10 14:54:25 1999 Yukihiro Matsumoto + + * ext/nkf/nkf.c (rb_nkf_guess): binary detection was wrong. + +Tue Aug 10 00:07:36 1999 Yukihiro Matsumoto + + * io.c (rb_io_clone): should use CLONESETUP(). + +Mon Aug 9 23:57:07 1999 Yukihiro Matsumoto + + * ruby.h (CLONESETUP): should have copied generic instance + variables too. + +Mon Aug 9 10:46:54 1999 Katsuyuki Komatsu + + * ext/socket/extconf.rb: add check for and + . + +Sat Aug 7 13:19:06 1999 EGUCHI Osamu + + * numeric.c (flo_cmp): comparing NaN should not return value. + raises FloatDomainError. + +Sat Aug 7 03:09:08 1999 Yukihiro Matsumoto + + * eval.c (blk_free): free copied frames too. + + * eval.c (frame_dup): should copy previous frames from stack to + heap to preserve frame information. + +Fri Aug 6 15:01:07 1999 Yukihiro Matsumoto + + * version 1.3.7 - version 1.4 beta + + * ext/socket/socket.c (s_recv): UDPsocket#recvfrom now returns + IPsocket#addr information. + + * array.c (rb_ary_subary): ary[-3,3] should not return nil. + +Thu Aug 5 10:58:01 1999 Yukihiro Matsumoto + + * eval.c (thread_mark): protect old ruby_frame from GC during it + replaced by eval(). + + * eval.c (eval): do not modify frame.prev; binding should preserve + information about calling() too. + + * eval.c (rb_yield_0): no arity check for mere yield; but only for + Proc#call. + +Tue Aug 3 22:07:13 1999 Kazuhiro HIWADA + + * object.c (rb_mod_clone): should check if iv_tbl, m_tbl are + initialized. + +Tue Aug 3 19:03:02 1999 Yukihiro Matsumoto + + * hash.c (rb_any_cmp): use rb_with_disable_interrupt() to ensure + clearance of rb_prohibit_interrupt even on failure. + + * eval.c (rb_with_disable_interrupt): new function added. + +Sat Jul 31 23:23:44 1999 Yukihiro Matsumoto + + * eval.c (rb_thread_create_0): set THREAD_RAISED flag on thread + termination by exception. + + * eval.c (rb_thread_join): `$!' may not be nil for the threads + created in rescue clause. + + * eval.c (rb_thread_status): ditto. + + * eval.c (rb_thread_join): should re-raise exception for already + dead threads too. + +Fri Jul 30 17:56:54 1999 GOTO Kentaro + + * object.c (rb_mod_ge): wrong comparison. + +Fri Jul 30 12:15:44 1999 Katsuyuki Komatsu + + * ext/tcltklib/extconf.rb: win32 support. + + * lib/mkmf.rb: use append_library(). + + * ext/extmk.rb.in: ditto. + +Fri Jul 30 02:11:48 1999 Yukihiro Matsumoto + + * array.c (rb_ary_delete): should return nil for deleting non + existing item. + + * io.c (rb_io_close): call rb_sys_wait() on explicit close. + + * io.c (rb_io_fptr_close): do not call rb_sys_wait() on finalize. + + * eval.c (yield_under_i): cbase context should be maintained for + Module#module_eval(). suggested by . + +Wed Jul 28 01:18:28 1999 WATANABE Hirofumi + + * Makefile.in: add -I$(hdrdir)/lib to install using ftools. + + * util.c: use HAVE_FCNTL_H, not HAVE_FCNTL + +Wed Jul 28 18:24:45 1999 Yukihiro Matsumoto + + * version 1.3.6 - version 1.4 alpha + +Tue Jul 27 09:38:08 1999 EGUCHI Osamu + + * eval.c (rb_eval): reduce recursive rb_eval() calls by + NODE_BLOCKs. + +Tue Jul 27 01:20:40 1999 WATANABE Hirofumi + + * file.c (rb_file_s_expand_path): drive letter patch. + +Mon Jul 26 02:36:31 1999 Shugo Maeda + + * eval.c (rb_load): should clear ruby_nerr. + + * eval.c (rb_thread_join): oldbt should not be empty to unshift. + +Sun Jul 25 12:09:16 1999 Koji Arai + + * dir.c (push_braces): should treat nested braces. + +Fri Jul 23 02:49:49 1999 Yukihiro Matsumoto + + * hash.c (rb_hash_clear): dummy argument added; suggested by + . thanks. + +Thu Jul 22 19:37:22 1999 Yukihiro Matsumoto + + * eval.c (rb_thread_join): get_backtrace() may return Qnil. + typecheck added. + +Tue Jul 20 14:36:43 1999 WATANABE Hirofumi + + * range.c (range_each): do not treat String specially (for future + override). + +Tue Jul 20 02:28:34 1999 Yukihiro Matsumoto + + * io.c (rb_gets): $_ should be nil, when get returns nil. + + * io.c (rb_f_gets): ditto. + +Mon Jul 19 17:13:09 1999 Yukihiro Matsumoto + + * regex.c (re_compile_fastmap): should continue fastmap compile + for anychar_repeat, for it's repeat anyway. + +Mon Jul 26 13:33:45 1999 WATANABE Hirofumi + + * lib/jcode.rb: replaced by faster code. + +Mon Jul 19 01:57:28 1999 Yukihiro Matsumoto + + * lib/mkmf.rb: no longer use install program. + + * ext/extmk.rb.in: use miniruby to install programs. + +Sat Jul 17 00:06:21 1999 Yukihiro Matsumoto + + * ext/socket/socket.c (ipaddr): don't do reverse lookup if + attribute do_not_reverse_lookup is set for socket classes. + Experimental. Note this is a global attribute. + +Fri Jul 16 22:18:29 1999 Yukihiro Matsumoto + + * io.c (rb_io_eof): use feof() to check EOF already met. + + * io.c (read_all): should return nil at EOF. + +Fri Jul 16 13:39:42 1999 Wakou Aoyama + + * lib/telnet.rb: version 0.231. + +Fri Jul 16 10:58:22 1999 WATANABE Tetsuya + + * regex.c (re_match): debug print removed. + +Fri Jul 16 09:58:15 1999 Katsuyuki Komatsu + + * many files: clean up unused variables found by gcc -Wall. + + * lib/mkmf.rb: better cygwin support etc. + + * ext/extmk.rb.in: ditto. + + * instruby.rb: ditto. + +Fri Jul 16 01:37:50 1999 Koji Arai + + * string.c (rb_str_squeeze_bang): the type of local variable `c' + should be int, not char. + + * string.c (rb_str_reverse): should always return copy. + +Thu Jul 15 23:25:57 1999 NAKAMURA, Hiroshi + + * lib/debug.rb: better display & frame treatment. + +Thu Jul 15 21:16:41 1999 Yukihiro Matsumoto + + * array.c (rb_ary_each): returns self for normal termination; + returns nil for break. + + * string.c: non bang methods (e.g. String#sub) should always + return copy of the receiver. + +Thu Jul 15 21:09:15 1999 Masaki Fukushima + + * eval.c (find_file): do not add empty string to the path. + + * configure.in (with-search-path): should not add empty string if + the option is not supplied. + +Thu Jul 15 17:49:08 1999 Ryo HAYASAKA + + * ext/tcltklib/tcltklib.c: move `#include "ruby.h"' forward. + +Thu Jul 15 16:54:16 1999 Yukihiro Matsumoto + + * version 1.3.5 - version 1.4 alpha + +Wed Jul 14 23:45:33 1999 Katsuyuki Komatsu + + * eval.c (ruby_init): initialize for the first time only. + +Tue Jul 13 00:15:19 1999 Yukihiro Matsumoto + + * hash.c (rb_hash_index): re-defined; method to retrieve a key + from the value. + + * hash.c (Init_Hash): member? should be re-defined for Hash. + +Tue Jul 12 13:54:51 1999 EGUCHI Osamu + + * io.c (rb_file_sysopen): wrong number of argument. + +Mon Jul 12 11:52:35 1999 Yukihiro Matsumoto + + * eval.c (rb_f_missing): class name included in message. + + * eval.c (print_undef): better error message. + +Sun Jul 11 05:36:17 1999 NAKAMURA, Hiroshi + + * lib/debug.rb: patch to show proper position. + +Fri Jul 9 23:56:14 1999 WATANABE Hirofumi + + * dln.c (dln_find_1): path conv. moved to conv_to_posix_path. + + * dln.c (conv_to_posix_path): path conv. should be done. + +Fri Jul 9 10:26:47 1999 WATANABE Hirofumi + + * random.c (RANDOM_NUMBER): should place parentheses. + +Fri Jul 8 11:00:51 1999 Shugo Maeda + + * numeric.c (fix_div): division may be out of fixnum range. + + * bignum.c (bigdivmod): proper sign calculation to result. + +Wed Jul 7 18:27:41 1999 Yukihiro Matsumoto + + * st.c (st_delete_safe): was modifying wrong slot. + +Mon Jul 5 13:17:46 1999 Yukihiro Matsumoto + + * gc.c (rb_gc_call_finalizer_at_exit): close all files at exit. + +Fri Jul 2 18:00:21 1999 Minero Aoki + + * lib/Mail/README: Mail-0.3.0 added to the distribution. + +Fri Jul 2 01:45:32 1999 Yukihiro Matsumoto + + * regex.c (re_compile_fastmap): avoid allocation of register + variables for each invocation of re_match(). Suggested by + Zasukhin Ruslan . Thanks. + +Tue Jun 29 20:39:24 1999 Koji Arai + + * ext/tk/lib/tk.rb (TkVariable): bug fix; should value type check + be added? + + * string.c (rb_str_each_line): a bug in paragraph mode. + + * ruby.c (load_file): shifted too much to skip #!. + +Tue Jun 29 06:50:21 1999 Wakou Aoyama + + * lib/CGI.rb: 0.30 - cleanup release, incompatible. + + * lib/telnet.rb: 0.22 - timeout added. + +Tue Jun 29 10:49:25 1999 SHIROYAMA Takayuki + + * configure.in: better Rhapsody support. + + * lib/mkmf.rb: Rhapsody/NEXTSTEP support. + +Tue Jun 29 01:42:13 1999 Yukihiro Matsumoto + + * ext/pty/pty.c (chld_changed): should use POSIX.1 style wait. + +Mon Jun 28 21:07:36 1999 KIMURA Koichi + + * ext/extmk.rb.nt: wrong result for have_library(). + +Mon Jun 28 15:24:05 1999 Yukihiro Matsumoto + + * missing/isinf.c: OSF/1 raises SIGFPE on one()/zero(). + + * regex.c (re_search): should search til EOS, for patterns may + match beyond the end of range. + +Mon Jun 28 12:49:12 1999 Yukihiro Matsumoto + + * io.c (rb_f_select): should not accept Time objects as an + argument for it is time interval. + + * process.c (rb_f_sleep): ditto. + + * file.c (test_s): should return nil for false condition. + +Mon Jun 28 12:23:52 1999 Katsuyuki Komatsu + + * bignum.c (rb_dbl2big): typo. + + * file.c (rb_f_test): ditto. + + * string.c (rb_str_crypt): wrong message. + +Sun Jun 27 19:50:11 1999 Tadayoshi Funaba + + * eval.c (rb_f_exit): should have treat signed integer status, not + VALUE. + + * process.c (rb_f_exit_bang): should work like exit(). + +Sun Jun 27 16:21:32 1999 WATANABE Hirofumi + + * string.c (rb_str_rindex): wrong position to search. + +Sat Jun 26 04:05:30 1999 Takaaki Tateishi + + * configure.in (configure_args): --with-search-path to specify + additional ruby search path. + + * ruby.c (ruby_prog_init): additional search path. + +Fri Jun 25 13:09:12 1999 Yukihiro Matsumoto + + * pack.c (pack_unpack): needed to initialize natint. + + * regex.c (re_compile_pattern): add start_paren to avoid too much + finalization on maybe_finalize_jump. + +Fri Jun 25 13:07:20 1999 Koji Oda + + * missing/isinf.c: include "config.h" added. + +Fri Jun 25 07:25:05 1999 Katsuyuki Komatsu + + * lib/mkmf.rb: initialize $(topdir). + + * ext/extmk.rb.in (install_rb): install lib/*.rb properly. + + * configure.in (linux): specifies -rpath on --enable-shared. + + * configure.in (aix): ruby.imp must reside in $(topdir). + +Thu Jun 24 19:11:29 1999 Yoshida Masato + + * parse.y (rb_str_extend): multi-byte identifier in expression + interpolation in strings. + + * parse.y (yylex): support multi-byte char identifiers. + +Thu Jun 24 15:27:13 1999 Yukihiro Matsumoto + + * parse.y (f_arg): check duplicate argument names. + + * gc.c (rb_gc_mark): marking wrong member for NODE_ARGS. + + * string.c (rb_str_rindex): POSITION specifies start point, not + end point. + +Thu Jun 24 13:00:17 1999 Yukihiro Matsumoto + + * regex.c (print_mbc): wrong boundary. + + * pack.c (uv_to_utf8): raises ArgError for too big value. + +Thu Jun 24 11:02:51 1999 Yoshida Masato + + * pack.c (uv_to_utf8): mask needed. + +Wed Jun 23 21:03:56 1999 Tadayoshi Funaba + + * ruby.h (struct RFile): remove iv_tbl from struct. instance + variables are handled as generic ivs. + +Wed Jun 23 22:06:26 1999 Tadayoshi Funaba + + * pack.c (utf8_to_uv): pack to 7 bytes sequence. + + * pack.c (uv_to_utf8): wrong boundary. + + * pack.c (pack_unpack): should treat as unsigned long. + +Wed Jun 23 15:10:11 1999 Inaba Hiroto + + * parse.y (parse_string): failed to parse nested braces. + + * parse.y (parse_regx): nested braces within #{} available. + +Wed Jun 23 11:18:38 1999 Yukihiro Matsumoto + + * regex.c (slow_search): wrong shift width for mbcs. + + * eval.c (rb_thread_save_context): should not clear th->locals. + +Wed Jun 23 02:06:14 1999 Yukihiro Matsumoto + + * parse.y (yylex): UMINUS binds too tight with digits. changed so + that -2**2 => -4. + + * parse.y (close_paren): `do' for expr termination now works it + used to be. + +Wed Jun 22 18:26:42 1999 Koji Arai + + * pack.c (pack_pack): should initialize local variable `j'. + +Wed Jun 22 15:24:59 1999 Koji Arai + + * parse.y (here_document): a bug for multiline heredoc. + +Tue Jun 22 15:06:36 1999 WATANABE Hirofumi + + * ext/socket/socket.c (ruby_socket): forgot to return fd + explicitly. + +Tue Jun 22 13:34:12 1999 Yukihiro Matsumoto + + * rubyio.h (MakeOpenFile): should initialize member `iv_tbl'. + +Wed Jun 22 10:35:51 1999 Katsuyuki Komatsu + + * io.c (rb_io_gets_internal): getc(3) may not set errno on + interrupt. + +Mon Jun 21 22:39:28 1999 Yukihiro Matsumoto + + * eval.c (call_required_libraries): ruby_sourceline should be + cleared before loading libraries. + + * io.c (set_stdin): do not use reopen(), so that we don't need to + dup original stdin before assigning $stdin. + +Mon Jun 21 18:04:27 1999 Ryo HAYASAKA + + * ext/dbm/dbm.c: include for solaris 2.6. + +Mon Jun 21 15:59:47 1999 Nobuyoshi Nakada + + * ext/socket/socket.c (ip_addrsetup): forgot to put `else'. + +Mon Jun 21 15:38:37 1999 Yukihiro Matsumoto + + * io.c (fptr_finalize): remove rb_syswait() invocation to avoid + wait4(2) within GC. rb_syswait() moved to rb_io_fptr_close(). + +Mon Jun 21 12:05:59 1999 Tadayoshi Funaba + + * dir.c (dir_s_glob): remove MAXPATHLEN restriction. + + * ext/md5/md5init.c (md5_hexdigest): should have used "%02x". + +Sun Jun 20 19:50:38 1999 Minero Aoki + + * string.c (rb_str_each_line): should have checked string + boundary. + +Sat Jun 19 22:24:12 1999 Kenji Nagasawa + + * OS/2 patch improved. + +Fri Jun 18 08:30:17 1999 Yukihiro Matsumoto + + * marshal.c (r_byte): add data length check. + + * ext/tcltklib/tcltklib.c (_timer_for_tcl): was doing busy-wait. + +Tue Jun 15 10:01:21 1999 Katsuyuki Komatsu + + * configure.in: remove trailing slash from interpreter embedded + shared library path. + + * configure.in (INSTALL_DLLIB): install shared lib with 0555. + + * instruby.rb: changed mode for shared library into 0555. + +Fri Jun 11 23:27:00 1999 Tadayoshi Funaba + + * ext/etc/etc.c (etc_passwd): should return nil, not exception for + call after last passwd entry. + +Fri Jun 11 15:21:21 1999 Yukihiro Matsumoto + + * gc.c (rb_gc_mark_locations): add safety margin 1. + + * eval.c (ruby_run): should protect toplevel node tree. + + * ext/etc/etc.c (etc_group): dumps core if there's no more group. + +Fri Jun 11 01:50:25 1999 Yukihiro Matsumoto + + * eval.c (ruby_run): Init_stack() was called too late; local + variables happened to be higher (or lower) than stack_start. + +Thu Jun 10 16:41:48 1999 Yukihiro Matsumoto + + * io.c: do not call `initialize' for IO objects. So with Array, + Hash, Range, and Time objects. + + * ext/curses/curses.c (curses_getch): made thread aware using + rb_read_check(). + + * ext/curses/curses.c (window_getch): ditto. + + * ext/curses/curses.c (curses_getstr): made (partially) thread + aware using rb_read_check(). + + * ext/curses/curses.c (window_getstr): ditto. + + * io.c (rb_read_check): new function to help making something + (like extension libraries) thread aware. + + * eval.c (is_defined): `defined? super' should be true even for + private superclass methods. + +Fri Jun 10 13:42:10 1999 Koji Arai + + * pack.c (pack_pack): template `Z' should be allowed. + +Wed Jun 9 13:26:38 1999 Yukihiro Matsumoto + + * eval.c (rb_thread_loading): modified to avoid nested race + condition of require(). + + * ext/tcltklib/tcltklib.c (ip_invoke): queue invocation on non + main threads. + + * ext/tcltklib/tcltklib.c (lib_mainloop): flush invocation + queues periodically. + + * version.c (ruby_show_version): now print the message to stdout. + + * version.c (ruby_show_copyright): ditto. + +Tue Jun 8 00:00:34 1999 Yukihiro Matsumoto + + * pack.c (pack_unpack): append sentinel (NUL) to the string. + + * ext/md5/md5init.c (md5_hexdigest): new method to obtain + printable hash string. + + * ext/md5/md5init.c (md5_update): should return self. + + * pack.c (pack_pack): undocumented template 'U' for UTF8. + + * pack.c (pack_unpack): ditto. + + * marshal.c (r_byte): should replace getc() with rb_getc(). + + * io.c (rb_getc): getc() replacement uses READ_DATA_PENDING() and + rb_thread_wait_fd(). + +Mon Jun 7 23:23:38 1999 Yukihiro Matsumoto + + * object.c (rb_mod_clone): should call CLOSESETUP(). + + * eval.c (bind_clone): should call CLONESETUP() for new clone. + +Sat Jun 5 10:32:40 1999 Yukihiro Matsumoto + + * string.c (rb_str_oct): binary (e.g. 0b10111) support. + + * variable.c (rb_const_set): raise warning, not exception. + + * parse.y (yycompile): initialize parser internal variables. + + * parse.y (close_paren): set lex_state to EXPR_PAREN after closing + parenthesis. + + * parse.y (yylex): returns kDO for `do' right after method_call. + +Thu Jun 3 11:05:30 1999 WATANABE Hirofumi + + * regex.c (read_backslash): should decode \b within class. + +Thu Jun 3 01:06:18 1999 Katsuyuki Komatsu + + * dln.c (dln_load): AIX improvement (aix_findmain removed). + +Wed Jun 2 00:41:31 1999 Yukihiro Matsumoto + + * pack.c (pack_unpack): new undocumented template Z which strips + stuff after first null. + + * pack.c (pack_pack): should preserve specified length of the + resulting string. + +Tue Jun 1 15:29:33 1999 Yukihiro Matsumoto + + * ext/socket/socket.c (ruby_socket): retry after GC, if socket(2) + failed on EMFILE or ENFILE. + + * ext/socket/socket.c (sock_s_socketpair): ditto. + + * eval.c (module_setup): need to add PUSH_VAR/POP_VAR to clear + dyna vars link list. + + * version.h (RUBY_RELEASE_CODE): integer macro constant for source + version detection. + +Sun May 30 22:19:12 1999 Kenji Nagasawa + + * ext/socket/socket.c: emx/gcc 0.9d now fixes things about + AF_UNIX. + + * process.c: OS/2 EMX kludge. + + * Makefile.in (strncasecmp.o): added dependency. + +Mon May 31 16:06:28 1999 Yukihiro Matsumoto + + * version 1.3.4 - preliminary release for 1.4 + +Mon May 31 15:57:41 1999 Yukihiro Matsumoto + + * io.c (rb_io_fptr_close): close on IO which main_thread is + waiting cause serious exception, that vanishes the actual fd + closing. Invocation of rb_thread_fd_close() is deferred + a little. + +Sat May 29 18:27:13 1999 Koji Arai + + * regex.c (re_match): stack boundary check needed. + +Sat May 29 12:27:00 1999 Yukihiro Matsumoto + + * ext/tcltklib/tcltklib.c (ip_invoke): proper ref count management + to avoid leak. I HATE REF COUNTING!! + + * eval.c (ruby_run): moved ruby_require_libraries() to handle `-r' + from ruby_options() to avoid stack corruption for threads + created in libraries. + +Sat May 29 02:22:12 1999 Yukihiro Matsumoto + + * eval.c (rb_yield_0): when `for' appeared in blocks, it + introduced new scope for local variables. + +Fri May 28 17:16:49 1999 Yukihiro Matsumoto + + * string.c (rb_str_squeeze_bang): squeeze AND of the arguments. + UNDOCUMENTED. + + * string.c (rb_str_count): new UNDOCUMENTED method. + + * string.c (rb_str_delete_bang): delete AND of the arg ranges. + UNDOCUMENTED FEATURE for 1.3.x. + + * ext/socket/socket.c (setipaddr): re-wrote using ip_addrsetup(). + + * ext/socket/socket.c (ip_addrsetup): decode symbolic address + . + +Thu May 27 12:27:42 1999 Yukihiro Matsumoto + + * string.c (tr_trans): should handle NUL (\0) within strings. + +Tue May 25 16:45:11 1999 Yukihiro Matsumoto + + * io.c (rb_f_syscall): syscall may return values other than zero + on success. + + * regex.c (re_match): handle empty loop properly (hopefully). + + * regex.c (re_match): remove empty group check, because it does + not help non-grouping parentheses (?:..). + + * regex.c (re_compile_fastmap): treating try_next, finalize_push + wrong way. + + * regex.c: remove some obsolete functions such as + group_match_null_string_p(). + +Mon May 24 14:47:54 1999 Yukihiro Matsumoto + + * regex.c (read_backslash): read backslash by regex. + +Sun May 23 19:44:58 1999 WATANABE Hirofumi + + * ext/pty/pty.c (getDevice): portability patch. + +Fri May 21 23:01:26 1999 Katsuyuki Komatsu + + * ext/socket/getaddrinfo.c (GET_AI): should set error code. + +Thu May 20 03:43:44 1999 Jun-ichiro itojun Hagino + + * ext/socket/socket.c: you should use sockaddr_storage to handle + IPv6 addresses. + + * ext/socket/getaddrinfo.c (getaddrinfo): prevent retrieving + AF_INET6 address if hints.ai_flags == AI_PASSIVE. + +Wed May 19 12:27:07 1999 Yukihiro Matsumoto + + * eval.c (exec_end_proc): should protect exceptions. + + * gc.c (run_final): ditto. + + * parse.y (f_rest_arg): allow just * for rest arg. + + * parse.y (mlhs_basic): allow * without formal argument. + + * regex.c (re_match): the variable `part' should be initialized. + +Tue May 18 15:25:45 1999 Yukihiro Matsumoto + + * regex.c (re_search): a bug in range adjustment. + +Tue May 18 11:35:59 1999 WATANABE Hirofumi + + * dln.c (conv_to_posix_path): path_len argument added. + +Mon May 17 12:26:31 1999 Yukihiro Matsumoto + + * numeric.c (fix_rev): should treat Fixnum as signed long. + + * eval.c (massign): add strict number check for yield (and call). + + * eval.c (proc_arity): new method to return number of arguments. + + * eval.c (method_arity): new method to return number of arguments. + + * parse.y (read_escape): char may be unsigned. + + * string.c (rb_str_succ): ditto. + + * string.c (tr_trans): ditto. + + * object.c (Init_Object): methods `&', `|', `^' are added to nil. + + * range.c (rb_range_beg_len): it should be OK for [0..-len-1]. + + * regex.c (re_search): search for byte literal within mbcs. + + * regex.c (is_in_list): parsh + + * regex.c (re_compile_fastmap): should have not alter the loop + variable `j' if TRASLATE_P(). + + * regex.c (re_compile_pattern): escaped characters should be read + by PATFETCH_RAW(c). + +Sat May 15 11:23:51 1999 Yukihiro Matsumoto + + * regex.c (re_match): endline2 (\Z) should not match at the point + between a newline and end-of-line, like endline ($). + + * class.c (include_class_new): should initialize iv_tbl to share + between module and iclass. + +Fri May 14 08:50:27 1999 Akira Endo + + * regex.c (re_compile_fastmap): it should be k != 0 to skip. + +Fri May 14 12:46:56 1999 Yukihiro Matsumoto + + * time.c (time_load): a bug in old marshal format support. + + * instruby.rb: make site_ruby directory. + +Fri May 14 10:18:02 1999 WATANABE Tetsuya + + * regex.c (re_match): a bug in inline `.*' etc. + +Fri May 14 09:58:46 1999 Minero Aoki + + * ruby.c (addpath): should have specified string length. + +Thu May 13 10:40:44 1999 Yukihiro Matsumoto + + * eval.c (rb_eval_string_wrap): new function. + + * regex.c (re_compile_pattern): POSIX line match should alter + behavior for `^' and `$' to begbuf and endbuf2 respectively. + + * ext/pty/pty.c: un-ANSI-fy function arguments. + +Wed May 12 14:19:38 1999 Yukihiro Matsumoto + + * struct.c (iv_get): in case of inheritance of generated struct + class, __member__ and __size__ should also be inherited. + Thanks for Pros Yeboah . + + * io.c (rb_f_gets_internal): should check number of arguments + before checking rb_rs == rb_default_rs. Thanks for Koji Arai + . + +Tue May 11 08:29:28 1999 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): .?, .+ did not work. + +Mon May 10 00:59:33 1999 Yukihiro Matsumoto + + * lib/jcode.rb: forgot to squeeze on reverse (complement) case. + + * string.c (tr_squeeze): should not set modify flag to be honest, + if the string is not modified. + + * signal.c (Init_signal): SIGTERM should not be handled. + + * regex.c (re_match): seeking for longest match is now optional, + which can be set using RE_OPTION_POSIXMATCH. This satisfies + POSIX longest match as much as Emacs's posix-* functions, which + are known to be incomplete. + +Sun May 9 13:04:01 1999 Katsuyuki Komatsu + + * ext/socket/socket.c (sock_s_getaddrinfo): conversion from + Fixnums to C integers needed. + +Sun May 9 11:51:43 1999 Koji Arai + + * range.c (range_eqq): reverse condition. + + * range.c (range_s_new): default should be end inclusive. + +Sat May 8 03:27:51 1999 Yukihiro Matsumoto + + * ext/socket/socket.c (thread_connect): replace nasty + rb_thread_fd_writable() with rb_thread_select(). + +Fri May 7 20:49:00 1999 Katsuyuki Komatsu + + * ext/socket/getaddrinfo.c (inet_pton): wrong parameter to + inet_aton(). + + * ext/socket/addrinfo.h (__P): silly cut and paste typo. + +Fri May 7 17:03:57 1999 Yukihiro Matsumoto + + * dir.c (glob): removed GPL'ed glob.c completely. + +Fri May 7 08:17:19 1999 Yukihiro Matsumoto + + * ext/sdbm/extconf.rb: sdbm extension added to the distribution. + +Fri May 7 01:42:20 1999 Yukihiro Matsumoto + + * ext/socket/socket.c (tcp_s_gethostbyname): avoid using struct + sockaddr_storage. + +Thu May 6 13:21:41 1999 Yukihiro Matsumoto + + * array.c (rb_ary_indexes): should not use rb_ary_concat(). + +Thu May 4 12:34:18 1999 Koji Arai + + * parse.y (parse_string): there should be newline escape by + backslashes in strings. + + * parse.y (parse_qstring): ditto. + +Mon May 3 04:37:20 1999 Koji Arai + + * ext/tcltklib/extconf.rb: better search for libX11. + + * range.c (range_s_new): embarrassing =/== typo. + + * re.c (Init_Regexp): failed to set default kcode. + +Mon May 3 02:39:55 1999 WATANABE Tetsuya + + * ext/socket/socket.c (open_inet): typo (res and res0). + +Tue May 4 02:07:49 1999 Yukihiro Matsumoto + + * mkconfig.rb: leave undefined $(VARIABLE) unexpanded in the + Config::CONFIG hash table. + +Mon May 3 09:37:22 1999 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): expand exactn{n} at compile time. + handles stop_paren specially. + + * regex.c (re_compile_pattern): expand x{n} at compile time. + + * regex.c (re_search): posix line match should be checked. + + * regex.c (re_search): a bug in anchor condition. + +Fri Apr 30 18:57:41 1999 Yukihiro Matsumoto + + * version 1.3.3 + + * string.c (rb_str_rindex): position should be END point, not + START point. + + * re.c (rb_reg_search): pos means end point on reverse now. + + * array.c (rb_ary_s_create): should clear ary->ptr to avoid + potential gc crash. + +Fri Apr 30 15:24:58 1999 Yukihiro Matsumoto + + * ext/socket/addrinfo.h: compatibility hack for ipv4. + + * ext/socket/socket.c: itojun's ipv6 patches applied. + + * ext/socket/extconf.rb: detect ipv6 features based on itojun's + ipv6 patches. + + * ext/extmk.rb.in (enable_config): can handle --enable-xxx now. + + * lib/mkmf.rb (enable_config): ditto. + +Fri Apr 30 05:22:23 1999 Shugo Maeda + + * string.c (rb_str_aset): last index should not append. + +Thu Apr 29 18:55:31 1999 WATANABE Hirofumi + + * dln.c (conv_to_posix_path): remove const from args. + + * ruby.c (rubylib_mangle): remove Fatal(), the obsolete function. + +Tue Apr 27 14:11:45 1999 Yukihiro Matsumoto + + * parse.y (fname): lazy workaround for keywords did not work well. + + * ext/extmk.rb.in: `--with-xxx=yyy' argument configuration. + + * lib/mkmf.rb: ditto. + + * misc/ruby-mode.el: forgot to handle $`. + + * ext/extmk.rb.in: better AIX link support proposed by + . + +Mon Apr 26 16:46:59 1999 Yukihiro Matsumoto + + * ext/extmk.rb.in: AIX shared library support modified. + + * ext/aix_mksym.rb: ditto. + + * configure.in: ditto. + + * sprintf.c (rb_f_sprintf): should allocate proper sized buffer + for float numbers. + +Sat Apr 24 00:00:16 1999 Yukihiro Matsumoto + + * parse.y (operation): syntax like `a.[]=(1,2)' is allowed. + +Fri Apr 23 23:54:09 1999 Yukihiro Matsumoto + + * io.c (argf_binmode): binmode method added to ARGF. + +Fri Apr 23 13:55:22 1999 Yukihiro Matsumoto + + * string.c (rb_f_chomp): should assign the result to $_. or maybe + sub/gsub/chop/chomp should NOT assign $_ altogether. + +Thu Apr 22 16:50:54 1999 Yukihiro Matsumoto + + * eval.c (rb_callcc): call scope_dup() for all scopes in + the interpreter stack. + +Tue Apr 20 11:24:18 1999 Yukihiro Matsumoto + + * string.c (rb_str_dump): `#' should be escaped. + +Tue Apr 20 02:32:42 1999 Yukihiro Matsumoto + + * parse.y (parse_regx): option /p for posix match added. + + * re.c (rb_reg_desc): did not print options properly. + + * io.c (rb_file_s_open): initialize was called twice. + +Mon Apr 19 18:56:21 1999 Yukihiro Matsumoto + + * configure.in (DEFAULT_KCODE): can specify default code for + $KCODE by --with-default-kcode=(euc|sjis|utf8|none). + + * regex.c (IS_A_LETTER): a byte sequence shorter than mbc should + not match with \w etc. + +Mon Apr 19 13:49:11 1999 Yukihiro Matsumoto + + * eval.c (eval): should restore ruby_dyna_vars. + +Fri Apr 16 21:40:43 1999 Nobuyoshi Nakada + + * io.c (f_backquote): pipe_open may return nil. + + * io.c (f_open): rb_io_open may return nil. + + * io.c (io_s_foreach): ditto. + + * io.c (io_s_readlines): ditto. + + * io.c (io_defset): wrong message. + +Fri Apr 16 15:09:20 1999 Yukihiro Matsumoto + + * bignum.c (rb_str2inum): strtoul() returns long, not int. + + * eval.c (rb_load): size of VALUE and ID may be different. + + * util.c (mmprepare): int is too small to cast from pointers. + + * config.guess: avoid 'linux-gnu' for alpha-unknown-linux. + +Thu Apr 15 23:46:20 1999 WATANABE Hirofumi + + * ruby.c (rubylib_mangle): mangle path by RUBYLIB_PREFIX. + +Wed Apr 14 23:52:51 1999 SHIROYAMA Takayuki + + * node.h (NODE_LMASK): should be long to avoid overflow. + +Wed Apr 14 13:14:35 1999 Katsuyuki Komatsu + + * dln.c: AIX dynamic link. + + * ext/aix_ld.rb: ditto. + +Wed Apr 14 12:19:09 1999 Yukihiro Matsumoto + + * lib/thread.rb: Queue#{enq,deq} added. + +Tue Apr 13 17:43:56 1999 Yukihiro Matsumoto + + * hash.c (rb_hash_s_create): Hash::[] acts more like casting. + +Tue Apr 13 00:33:52 1999 Yukihiro Matsumoto + + * io.c (rb_io_stdio_set): warning for assignment to the variables + $std{in,out,err}. + +Mon Apr 12 23:12:32 1999 Yukihiro Matsumoto + + * io.c (rb_io_reopen): check for reopening same IO. + +Fri Apr 9 17:45:11 1999 Yukihiro Matsumoto + + * parse.y (rb_compile_string): bug for nested eval(). + + * regex.c (re_match): should pop non-greedy stack items on + failure, after best_regs are fixed. + +Thu Apr 8 17:30:40 1999 Yukihiro Matsumoto + + * pack.c (PACK_LENGTH_ADJUST): need to adjust for `*' length. + +Tue Apr 6 23:28:44 1999 Yukihiro Matsumoto + + * parse.y (void_check): add void context checks. + +Mon Apr 5 12:23:42 1999 Yukihiro Matsumoto + + * time.c (time_s_at): should copy gmt-mode. + + * eval.c (eval_node): preserve ruby_eval_tree. + +Fri Apr 2 14:00:34 1999 NAKAMURA, Hiroshi + + * lib/debug.rb: wrong command interpreting. + +Fri Apr 2 11:46:22 1999 Yukihiro Matsumoto + + * version 1.3.2 + +Fri Apr 2 10:40:04 1999 Yukihiro Matsumoto + + * io.c (rb_io_s_pipe): forgot to define IO::pipe. + +Thu Apr 1 14:40:46 1999 Yukihiro Matsumoto + + * eval.c (assign): modified for rhs change. + + * parse.y (stmt): unparenthesisized method calls can be right hand + side expression of the assignment. + +Sat Mar 27 22:42:47 1999 Koji Arai + + * ext/nkf/nkf.c (rb_nkf_kconv): check size output_ctr before + decrement. + +Thu Mar 25 09:11:03 1999 Yukihiro Matsumoto + + * time.c (time_s_at): preserve gmt-mode for result. + + * parse.y (rb_compile_string): do not use cur_mid, use + compile_for_eval instead. + + * st.c (PTR_NOT_EQUAL): wrong logical condition. + +Wed Mar 24 13:06:43 1999 Yukihiro Matsumoto + + * parse.y (yycompile): should clear cur_mid after compilation. + + * io.c (next_argv): need to check type for ARGV.shift. + + * eval.c (blk_copy_prev): need to preserve outer scope as well as + outer frames. + + * parse.y (rb_compile_string): return can appear within eval(). + +Tue Mar 23 10:15:07 1999 EGUCHI Osamu + + * configure.in: AC_C_CONST check added. + +Tue Mar 23 02:07:35 1999 Yukihiro Matsumoto + + * time.c (time_plus): preserve gmt-mode for result. + +Mon Mar 22 01:32:37 1999 Yukihiro Matsumoto + + * eval.c (rb_eval): adjust line numbers before expression + interpolation within strings. + + * eval.c (rb_eval): defined? returns nil for false condition. + + * numeric.c (num_nonzero_p): returns nil for false condition. + +Sat Mar 20 13:07:43 1999 Keiju Ishitsuka + + * lib/weakref.rb: avoid leak for two weakrefs for one object. + +Fri Mar 19 11:26:45 1999 WATANABE Hirofumi + + * eval.c (ruby_run): needed to eval END{} on exit. + + * eval.c (rb_exit): ditto. + +Fri Mar 19 02:17:27 1999 Yukihiro Matsumoto + + * signal.c (Init_signal): handles terminating signals HUP, TERM, + QUIT, PIPE, etc. + +Thu Mar 18 15:47:18 1999 Yukihiro Matsumoto + + * bignum.c (rb_big_and): bug in sign calculation. + + * bignum.c (rb_big_or): ditto. + + * io.c (rb_f_select): forgot to use to_io to retrieve IO, after + calling select(2). + +Tue Mar 16 19:54:31 1999 WATANABE Hirofumi + + * ext/extmk.rb.in: static linking cause infinite make loop. + +Tue Mar 16 18:50:04 1999 Yoshida Masato + + * ext/socket/socket.c (tcp_s_gethostbyname): typo, not NUM2INT(), + but INT2NUM(). + + * ext/socket/socket.c (mkhostent): ditto. + +Tue Mar 16 12:31:44 1999 Ryo HAYASAKA + + * file.c (utime_internal): suppress warning by const. + + * time.c (time_gmtime): ditto. + +Tue Mar 16 10:23:05 1999 Yukihiro Matsumoto + + * time.c (time_clone): Time object can be cloned. + +Tue Mar 16 03:13:10 1999 Koji Arai + + * ruby.c (load_file): argv[argc] should be NULL. + +Mon Mar 15 22:12:08 1999 Tadayoshi Funaba + + * sprintf.c (rb_f_sprintf): typo in arg_num check at exit. + +Mon Mar 15 16:42:22 1999 Yukihiro Matsumoto + + * array.c (rb_ary_dup): dup2 should copy class too. + +Mon Mar 15 15:12:53 1999 Yasuhiro Fukuma + + * lib/mkmf.rb: install program relative path check. + +Mon Mar 15 14:05:25 1999 Yukihiro Matsumoto + + * re.c (rb_reg_s_new): 2nd argument is now option. + Regexp::EXTENDED can be specified. + +Fri Mar 12 10:47:49 1999 Yukihiro Matsumoto + + * string.c (rb_str_index): str.index("") should always match at + offset point. + + * string.c (rb_str_upto): can specify end point exclusion. + + * string.c (rb_str_index): negative offset. + + * regex.c (re_match): begline should not match at the point + between a newline and end-of-string. endline neither. + + * regex.c (re_compile_pattern): context_indep_anchors . + + * parse.y (parse_regx): need not to push backslashes before + escaped characters. + + * eval.c (rb_thread_join): re-raises exception within target. + +Fri Mar 12 01:09:36 1999 Koji Arai + + * ext/readline/readline.c (readline_s_vi_editing_mode): wrong + number of arguments. + +Fri Mar 12 02:12:50 1999 Yukihiro Matsumoto + + * pack.c (PACK_ITEM_ADJUST): "a".unpack("C3") => [97, nil, nil] + +Thu Mar 11 18:23:50 1999 WATANABE Tetsuya + + * ext/socket/socket.c (Init_socket): UDPsocket was omitted. + +Thu Mar 11 16:43:30 1999 Yukihiro Matsumoto + + * pack.c (PACK_LENGTH_ADJUST): push fixed number of items per + template to result array. + + * pack.c (pack_unpack): I/N/C etc. push nil in the array for "". + +Tue Mar 9 00:19:21 1999 Yukihiro Matsumoto + + * hash.c (ruby_unsetenv): use ruby_setenv(name, 0). + + * hash.c (env_delete): ditto. + + * string.c (rb_str_upto): do not check `beg + + * string.c (rb_str_index): wrong end point calculation. + +Sat Mar 6 02:19:12 1999 Yukihiro Matsumoto + + * re.c (match_index): MatchingData#index(n) added. + + * array.c (rb_ary_subseq): ary[n..-1] returns an sub-array unless + n is too small negative index. + + * re.c (rb_reg_match_method): Regexp#match(str) added. + + * array.c (rb_ary_indexes): understands ranges as indexes. + + * re.c (match_size): MatchingData#size added. + +Fri Mar 5 01:04:57 1999 Yukihiro Matsumoto + + * array.c (rb_ary_fill): modified for range. + + * array.c (rb_ary_aset): a[n..m] revisited. + +Thu Mar 4 14:23:29 1999 Yukihiro Matsumoto + + * string.c (rb_str_subseq): a[n..m] revisited. + + * parse.y (method_call): allow Const::method{}. + + * array.c (rb_ary_replace_method): should replace original array. + +Thu Mar 4 02:30:22 1999 Yukihiro Matsumoto + + * configure.in: remove --disable-thread, thread feature is no + longer optional. + +Thu Mar 4 00:32:17 1999 Yasuhiro Fukuma + + * parse.y (read_escape): wrong arguments for scan_oct,scan_hex. + +Wed Mar 3 11:51:53 1999 Yukihiro Matsumoto + + * ext/socket/socket.c (Init_socket): rename class names as + TCPsocket -> TCPSocket etc. + +Tue Mar 2 19:46:42 1999 WATANABE Hirofumi + + * configure.in (LDSHARED): use gcc -Wl,-G for solaris with gcc. + +Tue Mar 2 17:04:19 1999 Yukihiro Matsumoto + + * parse.y (yylex): backslashes do not concatenate comment lines + anymore. + +Mon Mar 1 14:05:12 1999 Yukihiro Matsumoto + + * eval.c (rb_call0): adjust argv for optional arguments. super + without arguments emit superclass method with the value from + optional arguments. enabled as experiment. + +Sun Feb 28 14:04:07 1999 WATANABE Hirofumi + + * parse.y (nextc): backslash at the eof cause infinite loop + +Sun Feb 28 11:01:26 1999 Tadayoshi Funaba + + * time.c (make_time_t): month range check added. + +Sat Feb 27 02:36:05 1999 Yukihiro Matsumoto + + * re.c (Init_Regexp): add escape as alias of quote. + + * re.c (rb_reg_s_quote): char-code can be specified now. + +Fri Feb 26 18:45:36 1999 Yasuhiro Fukuma + + * eval.c (error_print): bug for error message with newlines. + +Fri Feb 26 12:00:04 1999 Yukihiro Matsumoto + + * time.c (make_time_t): future check modified to allow 1969-12-31 + at certain timezone. + + * time.c (time_arg): year >= 1000 should be past. + + * version.c (Init_version): constant RELEASE_DATE added. + +Fri Feb 26 01:08:30 1999 Yukihiro Matsumoto + + * string.c (rb_str_substr): returns nil for out-of-range access. + + * array.c (rb_ary_subseq): returns nil for out-of-range access. + + * array.c (rb_ary_store): negative index message has changed. + + * string.c (rb_str_aset): reallocation needed. + + * string.c (rb_str_aset): allow char append to the string. + +Thu Feb 25 23:30:17 1999 Tadayoshi Funaba + + * time.c (time_load): tm_year should be packed in 17 bits, not 18. + +Thu Feb 25 12:50:25 1999 Yukihiro Matsumoto + + * missing/dup2.c: replaced by public domain version. + + * time.c (make_time_t): add `future check' in loops. + + * object.c (rb_num2dbl): forbid implicit conversion from nil, or + strings. thus `Time.now + str' should raise error. + + * object.c (rb_Float): convert nil into 0.0. + + * object.c (rb_Integer): conversion method improved. + +Thu Feb 25 03:27:50 1999 Shugo Maeda + + * eval.c (rb_call): should handle T_ICLASS properly. + +Thu Feb 25 00:04:00 1999 Yukihiro Matsumoto + + * error.c (Init_Exception): global function Exception() removed. + + * variable.c (rb_class2name): returns "nil"/"true"/"false" for them. + + * time.c (time_dump): time marshaling format compressed size from + 11 bytes to 8 bytes. thanx to tadf@kt.rim.or.jp. + + * eval.c (rb_obj_call_init): should specify arguments explicitly. + +Wed Feb 24 15:43:28 1999 Yukihiro Matsumoto + + * parse.y (yylex): comment concatenation requires preceding space + before backslash at the end of line. + + * io.c (rb_f_pipe): global pipe is obsolete now. + + * object.c (Init_Object): remove true.to_i, false.to_i. + +Tue Feb 23 14:21:41 1999 Yukihiro Matsumoto + + * parse.y (yylex): warn if identifier! immediately followed by `='. + +Tue Feb 23 12:32:41 1999 WATANABE Hirofumi + + * eval.c (rb_load): tilde expansion moved to find_file. + + * eval.c (find_file): tilde expansion added. + +Tue Feb 23 10:50:20 1999 Yukihiro Matsumoto + + * eval.c (require_method): require can handle multiple fnames. + + * hash.c (rb_hash_foreach_iter): hash key may be nil. + +Mon Feb 22 17:44:02 1999 Yukihiro Matsumoto + + * regex.c (re_match): should not pop failure point on success for + non-greedy matches. + + * io.c (Init_IO): remove global_functions getc, readchar, ungetc, + seek, tell, rewind. + +Sat Feb 20 22:54:26 1999 Yukihiro Matsumoto + + * numeric.c (rb_num2long): no implicit conversion from boolean. + +Sat Feb 20 09:58:42 1999 EGUCHI Osamu + + * numeric.c (flo_to_s): portable Infinity and NaN support. + +Sat Feb 20 07:13:31 1999 WATANABE Tetsuya + + * io.c (rb_file_sysopen): forgot to initialize a local variable. + +Fri Feb 19 23:05:07 1999 Yukihiro Matsumoto + + * string.c (rb_str_subseq): range check changed. + + * marshal.c: increment MARSHAL_MINOR for Time format change. + + * time.c (time_old_load): support old marshal format. + + * time.c (time_load): changed for new format Y/M/D/h/m/s/usec. + + * time.c (time_dump): marshal dump format has changed. + +Fri Feb 19 00:25:57 1999 Yukihiro Matsumoto + + * time.c (time_arg): should reject "sep\0" and such. + + * time.c (time_plus): Time#+ should not receive Time object + operand. + + * string.c (rb_str_substr): negative length raises exception now. + + * array.c (beg_len): if end == -1, it points end of the array. + + * array.c (rb_ary_subseq): negative length raises exception now. + +Thu Feb 18 20:57:04 1999 Tadayoshi Funaba + + * time.c (rb_strftime): strftime() may return 0 on success too. + + * time.c (time_strftime): `\0' within format string should not be + omitted in the result. + + * time.c (rb_strftime): zero length format. + + * time.c (time_to_a): yday start with 1 now. + + * time.c (time_zone): support for long timezone name. + + * time.c (time_yday): yday start with 1 now. + + * time.c (time_minus): minus calculation was wrong. + + * time.c (time_minus): sec, usec should be at least `long', maybe + they should be `time_t'. + + * time.c (time_plus): addition with float was wrong. + + * time.c (time_to_s): support for long timezone name. + + * time.c (time_gm_or_local): too far future check moved. + + * time.c (time_arg): treat 2 digit year as 69-99 => 1969-1999, + 00-68 => 2000-2068 + +Thu Feb 18 03:56:47 1999 Yukihiro Matsumoto + + * missing/fnmatch.c: moved to missing directory. + +Wed Feb 17 16:22:26 1999 Yukihiro Matsumoto + + * struct.c (rb_struct_alloc): actual initialization now be done in + `initialize'. + +Wed Feb 17 09:47:15 1999 okabe katsuyuki + + * regex.c (re_search): use mbclen() instead of ismbchar(). + + * re.c (rb_reg_s_quote): should handle mbchars properly. + +Wed Feb 17 01:25:26 1999 Yukihiro Matsumoto + + * parse.y (yylex): stop comment concatenation by backslash follows + after >= 0x80 char. may cause problem with Latin chars. + + * eval.c (error_print): exception in rb_obj_as_string() caused + SEGV. protect it by PUSH_TAG/POP_TAG. + + * error.c (exc_exception): `Exception#exception' should return self. + +Wed Feb 17 01:12:22 1999 Hirotaka Ichikawa + + * configure.in: BeOS patch. + +Tue Feb 16 14:25:00 1999 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): should reallocate mbc space for + character class unless current_mbctype is ASCII. + +Mon Feb 15 15:48:30 1999 WATANABE Hirofumi + + * configure.in: specify `-Wl,-E' only for GNU ld. + +Mon Feb 15 11:43:22 1999 GOTO Kentaro + + * array.c (rb_inspecting_p): should return Qfalse. + +Sun Feb 14 22:36:40 1999 EGUCHI Osamu + + * sprintf.c (rb_f_sprintf): `%G' was omitted. + +Sun Feb 14 12:47:48 1999 EGUCHI Osamu + + * numeric.c (Init_Numeric): allow divide by zero on FreeBSD. + + * numeric.c (Init_Numeric): FloatDomainError added. + + * configure.in (AC_REPLACE_FUNCS): add checks for functions + isinf, isnan, and finite. + +Sat Feb 13 01:24:16 1999 Yukihiro Matsumoto + + * eval.c (rb_thread_create_0): should protect th->thread. + +Fri Feb 12 16:16:47 1999 Yasuhiro Fukuma + + * string.c (rb_str_inspect): wrong mbc position. + +Fri Feb 12 16:21:17 1999 Yukihiro Matsumoto + + * eval.c (rb_thread_fd_close): + + * io.c (rb_io_fptr_close): tell scheduler that fd is closed. + + * io.c (rb_io_reopen): ditto. + + * io.c (READ_CHECK): check if closed after thread context switch. + + * ext/socket/socket.c (bsock_close_read): do not check + the return value from shutdown(2). + + * ext/socket/socket.c (bsock_close_write): ditto. + + * ext/socket/socket.c (sock_new): need to dup(fd) for close_read + and close_write. + + * parse.y (here_document): handle newlines within #{}. + + * regex.h: should replace symbols for ruby. + +Fri Feb 12 00:46:28 1999 Shugo Maeda + + * marshal.c (r_object): should update the method name in message. + + * marshal.c (w_object): limit should be converted into Fixnum. + +Wed Feb 10 15:20:03 1999 Yukihiro Matsumoto + + * regex.c (re_match): empty pattern should not cause infinite + pattern match loop. + + * regex.c (re_compile_pattern): RE_OPTIMIZE_ANCHOR for /.*/, not + for /(.|\n)/. + + * numeric.c (fix_pow): `fixnum**nil' should raise TypeError. + + * bignum.c (rb_big_pow): need to normalize results. + +Wed Feb 10 01:42:41 1999 EGUCHI Osamu + + * numeric.c (fix_pow): `(5**1).type' should be Integer. + +Tue Feb 9 01:22:49 1999 Yukihiro Matsumoto + + * parse.y (yylex): do not ignore newlines in mbchars. + + * io.c (rb_file_s_open): mode can be specified by flags like + open(2), e.g. File::open(path, File::CREAT|File::WRONLY). + + * io.c (rb_f_open): bit-wise mode flags for pipes + + * io.c (Init_IO): bit flags for open. + +Sat Feb 6 22:56:21 1999 Yukihiro Matsumoto + + * string.c (rb_str_sub_bang): should not overwrite match data by + regexp match within the block. + + * string.c (rb_str_gsub_bang): ditto. + +Sat Feb 6 03:06:17 1999 Yukihiro Matsumoto + + * re.c (match_getter): accessing $~ without matching caused SEGV. + +Fri Feb 5 22:11:08 1999 EGUCHI Osamu + + * parse.y (yylex): binary literal support, like 0b01001. + + * parse.y (yylex): octal numbers can contain `_'s. + + * parse.y (yylex): warns if non-octal number follows immediately + after octal literal. + + * parse.y (yylex): now need at least one digit after prefix such + as 0x, or 0b. + + * bignum.c (rb_str2inum): recognize binary numbers like 0b0101. + +Fri Feb 5 03:26:56 1999 Yasuhiro Fukuma + + * ruby.c (proc_options): -e without program prints error. + +Fri Feb 5 00:01:50 1999 Yukihiro Matsumoto + + * parse.y (terms): needed to clear heredoc_end. + + * numeric.c (flo_div): allow float division by zero. + +Thu Feb 4 11:56:24 1999 Yukihiro Matsumoto + + * missing/strtod.c: for compatibility. + + * configure.in (strtod): add strtod compatible check. + + * numeric.c (rb_num2long): missing/vsnprintf.c does not support + floating points. + + * numeric.c (flo_to_s): ditto. + +Wed Feb 3 23:02:12 1999 Yoshida Masato + + * regex.c (re_compile_pattern): use ismbchar() to get next char. + + * regex.c (re_search): wrong mbchar shift. + + * re.c (rb_reg_search): needed to reset $KCODE after match. + + * regex.c (re_compile_fastmap): mbchars should match with \w. + +Wed Feb 3 22:35:12 1999 EGUCHI Osamu + + * parse.y (yylex): too big float raise warning, not error. + +Tue Feb 2 23:41:42 1999 Yoshida Masato + + * regex.c (re_match): wrong boundary. + + * regex.c (IS_A_LETTER): re_mbctab[c] may not be 1 for mbc. + + * regex.c (re_search): mbchar support for shifting ranges. + + * regex.c (MBC2WC): wrong conversion. + +Wed Feb 3 15:03:16 1999 Yukihiro Matsumoto + + * parse.y (parse_regx): need to escape parens if terminators are + not any kind of parenthesis. + + * parse.y (parse_qstring): ditto. + + * parse.y (parse_string): ditto. + +Tue Feb 2 17:11:26 1999 WATANABE Tetsuya + + * string.c (rb_str_gsub_bang): too small realloc condition. + +Mon Feb 1 10:01:17 1999 EGUCHI Osamu + + * parse.y (yylex): range check for the float literal. + +Sat Jan 30 18:34:16 1999 Yukihiro Matsumoto + + * ruby.c (usage): -h option to show brief command description. + +Sat Jan 30 08:45:16 1999 IKARASHI Akira + + * lib/cgi-lib.rb: cookie support added. + +Sat Jan 30 13:38:24 1999 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): mbchars should match with \w + within character class. Was matching with \W. + + * regex.c (re_match): \w should match with multi byte characters, + not its first byte. + +Sat Jan 30 10:06:41 1999 Yoshida Masato + + * re.c (rb_reg_s_new): UTF-8 flag handle (/u, /U). + + * re.c (rb_kcode): $KCODE handle for UTF-8. + +Sat Jan 30 01:51:16 1999 Yukihiro Matsumoto + + * array.c (rb_ary_delete_if): RTEST() missing. + + * hash.c (delete_if_i): ditto. + + * enum.c (Init_Enumerable): select (=find_all), detect (=find) + added as aliases. + +Fri Jan 29 21:32:19 1999 WATANABE Tetsuya + + * hash.c (rb_f_setenv): SEGV caused by small typo. + +Fri Jan 29 00:15:58 1999 Yukihiro Matsumoto + + * lib/parsedate.rb (parsedate): support date format like + 23-Feb-93, which is required by HTTP/1.1. + + * variable.c (find_class_path): avoid calling rb_iv_set(). + + * eval.c (backtrace): do not need to modify $SAFE internally. + + * variable.c (classname): inline __classid__ access. + + * eval.c (THREAD_ALLOC): needed to initialize wrapper. + + * lib/ftools.rb (makedirs): allows slash at the end of the path. + + * numeric.c (rb_fix_induced_from): ensure result to be Fixnum. + +Thu Jan 28 17:31:43 1999 Yukihiro Matsumoto + + * numeric.c (flo_to_s): float format changed to "%16.10g". + +Thu Jan 28 02:13:11 1999 Yoshinori Toki + + * array.c (rb_ary_store): expand allocated buffer by 3/2. + +Wed Jan 27 17:50:02 1999 Kazuhiro HIWADA + + * bignum.c (dbl2big): raised error if double is too big to cast + into long. check added. + +Wed Jan 27 03:16:18 1999 Yukihiro Matsumoto + + * variable.c (rb_mod_const_at): can't list constants of the + untainted objects in safe mode. + + * class.c (method_list): can't list methods of untainted objects + in safe mode. + +Tue Jan 26 02:40:41 1999 GOTO Kentaro + + * prec.c: Precision support for numbers. + +Thu Jan 21 19:08:14 1999 Yukihiro Matsumoto + + * eval.c (rb_f_raise): calls `exception' method, not `new'. + + * error.c (exc_exception): renamed from `new'. + +Wed Jan 20 03:39:48 1999 Yukihiro Matsumoto + + * parse.y (yycompile): rb_in_compile renamed to ruby_in_compile. + + * ruby.c (load_file): define DATA if __END__ appeared in script. + +Tue Jan 19 14:57:51 1999 Yukihiro Matsumoto + + * parse.y (here_document): need to protect lex_lastline. + + * parse.y (yylex): disable %//, %'', %``. + +Tue Jan 19 05:01:16 1999 Koji Arai + + * array.c (beg_len): round range value too much. + +Mon Jan 18 13:02:27 1999 Kuroda Jun + + * hash.c (env_keys): strchr() may return NULL. + +Mon Jan 18 17:51:47 1999 Yukihiro Matsumoto + + * instruby.rb (wdir): install libruby.a in archdir. + + * lib/ftools.rb (install): removes file before installing. + +Mon Jan 18 16:55:31 1999 MAEDA shugo + + * eval.c (rb_callcc): experimental continuation support. + +Sun Jan 17 19:45:37 1999 WATANABE Hirofumi + + * pack.c (pack_pack): nil packing caused SEGV. + +Sat Jan 16 13:18:03 1999 Yukihiro Matsumoto + + * string.c (rb_str_concat): character (fixnum) can be append to + strings + + * array.c (rb_ary_unshift): unshift returns array. + +Sat Jan 16 01:39:19 1999 Yoshida Masato + + * string.c (rb_str_split_method): UTF-8 support. + + * regex.c: UTF-8 support. + +Thu Jan 14 00:42:55 1999 Yukihiro Matsumoto + + * string.c (rb_str_gsub_bang): forget to add offset for null match. + + * eval.c (rb_thread_local_aset): can't modify in tainted mode. + + * hash.c (env_each_key): avoid generating temporary array. + +Wed Jan 13 23:58:50 1999 Yukihiro Matsumoto + + * hash.c (rb_f_setenv): name and value can be tainted. + +Wed Jan 6 02:42:08 1999 Yukihiro Matsumoto + + * bignum.c (Init_Bignum): forgot to define Bignum#===. + + * gc.c (gc_sweep): if add_heap() is called during GC, objects on + allocated heap page(s) are not marked, should not be recycled. + + * gc.c (gc_sweep): should refer latest freelist. + + * gc.c (id2ref): modified to support performance patch. + + * object.c (rb_obj_id): performance patch (no bignum for id). + +Tue Jan 5 01:56:18 1999 Yukihiro Matsumoto + + * config.guess: merge up-to-date from autoconf 2.12. + + * array.c (rb_ary_join): avoid calling rb_protect_inspect() till + it is really needed. + + * object.c (rb_obj_inspect): show detailed information for the + instance variables (infinite loop can avoid now). + + * struct.c (rb_struct_inspect): avoid infinite loop. + +Sun Jan 3 01:37:58 1999 Takao KAWAMURA + + * misc/ruby-mode.el (ruby-end-of-defun): moved too much. + + * misc/ruby-mode.el (ruby-mode-variables): set paragraph-separator + for the mode. + + * misc/ruby-mode.el: proper font-lock for `def' and `nil' etc. + +Sat Jan 2 17:09:06 1999 Yukihiro Matsumoto + + * eval.c (rb_jump_tag): new api to invoke JUMP_TAG. tag values + can obtained from rb_eval_string_protect()/rb_load_protect(). + + * eval.c (rb_rescue): now catches all exceptions but SystemExit. + + * eval.c (rb_eval_string_protect): eval string with protection. + + * eval.c (rb_load_protect): load file with protection. + + * io.c (rb_io_puts): avoid infinite loop for cyclic arrays. + + * eval.c (rb_thread_local_aref): thread local hash tables. + + * object.c (rb_equal): check exact equal before calling `=='. + +Thu Dec 31 22:28:53 1998 MAEDA shugo + + * eval.c (rb_f_require): feature names should be provided with + DLEXT extension. + + * marshal.c (Init_marshal): need to provide `marshal.so'. + +Wed Dec 30 02:29:16 1998 Yukihiro Matsumoto + + * variable.c (classname): do not call rb_ivar_set(). + + * eval.c (ruby_run): finalizers were called too early. + +Fri Dec 25 12:19:30 1998 Fukuda Masaki + + * gc.c (rb_gc_mark): should not return on FL_EXIVAR. + +Fri Dec 25 11:56:51 1998 Yukihiro Matsumoto + + * gc.c (gc_mark): proper scanning for temporary region. + + * eval.c (TMP_ALLOC): protection for C_ALLOCA was broken. + +Thu Dec 24 18:26:04 1998 Yukihiro Matsumoto + + * development version 1.3 released. + +Thu Dec 24 00:17:00 1998 Yukihiro Matsumoto + + * eval.c (rb_load): top self should be set properly. + + * variable.c (classname): check __classpath__ if it is defined. + + * variable.c (classname): invalid warning at -v with static linked + ruby interpreter. + + * eval.c (is_defined): modified for expr::Const support. + + * eval.c (rb_eval): invoke method expr::Const if expr is not class + nor module. + + * parse.y (primary): enable expr::identifier as method + invocation. + +Wed Dec 23 03:04:36 1998 Yukihiro Matsumoto + + * regex.c (re_match): avoid too many loop pops for (?:..). + +Tue Dec 22 18:01:08 1998 Yukihiro Matsumoto + + * experimental version 1.1d1 released. + +Mon Dec 21 01:33:03 1998 Yukihiro Matsumoto + + * eval.c (TMP_PROTECT): add volatile to ensure GC protection. + + * string.c (rb_str_gsub_bang): calculate buffer size properly. + + * parse.y (lex_get_str): needed to return Qnil at EOS. + + * eval.c (find_file): check policy modified, raise exception + immediately for tainted load_path. + + * hash.c (rb_f_setenv): do not depend on setenv() nor putenv(). + +Thu Dec 17 06:29:23 1998 Yukihiro Matsumoto + + * ext/tk/tkutil.c (tk_s_new): use rb_obj_instance_eval(), instead + of rb_yield_0(). + + * eval.c (rb_f_require): forgot to call find_file in some cases. + + * eval.c (rb_f_require): `require "feature.so"' to load dynamic + libraries. old `require "feature.o"' is still OK. + + * eval.c (rb_eval): yield without value dumped core. + +Wed Dec 16 16:28:31 1998 Yukihiro Matsumoto + + * experimental version 1.1d0 (pre1.2) released. + +Wed Dec 16 10:43:34 1998 Yukihiro Matsumoto + + * regex.c (re_search): bound check before calling re_match(). + +Tue Dec 15 13:59:01 1998 Yukihiro Matsumoto + + * error.c (exc_to_s): returns class name for unset mesg. + + * error.c (exc_initialize): do not initialize @mesg by "". + + * parse.y (nextc): __END__ should handle CR+LF newlines. + +Wed Dec 9 13:37:12 1998 MAEDA shugo + + * pack.c (encodes): use buffering for B-encoding. + + * pack.c (pack_pack): Q-encoding by 'M'. + +Tue Dec 8 14:10:00 1998 Yukihiro Matsumoto + + * variable.c (generic_ivar_get): any object can have instance + variables now. great improvement. + + * variable.c (rb_name_class): do not set __classpath__ by default, + use __classid__ instead. + +Mon Dec 7 22:08:22 1998 Yukihiro Matsumoto + + * ruby.h (struct RFile): IO objects can have instance variables now. + + * parse.y (primary): allows `def obj::foo; .. end'. + +Mon Dec 7 18:24:50 1998 WATANABE Tetsuya + + * ruby.c (set_arg0): $0 support for HP-UX. + +Mon Dec 7 01:30:28 1998 WATANABE Hirofumi + + * dln.c (dln_strerror): better error messages on win32. + +Sat Dec 5 23:27:23 1998 Yukihiro Matsumoto + + * parse.y (here_document): indentable here-doc delimiter by + `<<-'. Proposed by Clemens . Thanks. + +Thu Dec 3 16:50:17 1998 Yukihiro Matsumoto + + * ext/extmk.rb.in (realclean): trouble on install. + +Sun Nov 29 22:25:39 1998 Takaaki Tateishi + + * process.c (f_exec): check number of argument. + +Thu Nov 26 17:27:30 1998 Yukihiro Matsumoto + + * version 1.1c9 released. + +Wed Nov 25 13:07:12 1998 Yukihiro Matsumoto + + * string.c (rb_str_dup): do not copy additional data (STR_NO_ORIG). + + * parse.y (yycompile): reduce known memory leak (hard to remove). + +Wed Nov 25 03:41:21 1998 Yukihiro Matsumoto + + * st.c (st_init_table_with_size): round size up to prime number. + +Sat Nov 21 23:27:23 1998 Yukihiro Matsumoto + + * hash.c (rb_hash_aset): reduce copying key strings. + + * gc.c (looks_pointerp): declare as inline function if possible. + + * st.c (PTR_NOT_EQUAL): compare hash values first before calling + comparing function. + + * st.c (ADD_DIRECT): save hash value in entries to reduce hash + calculation. + + * string.c (rb_str_gsub_bang): avoid rb_scan_args() to speed-up. + + * string.c (rb_str_sub_bang): ditto. + +Sat Nov 21 18:44:06 1998 Masaki Fukushima + + * time.c (time_s_now): had memory leak. + + * ext/md5/md5init.c (md5_new): had memory leak. + + * ext/md5/md5init.c (md5_clone): ditto. + +Fri Nov 20 23:23:23 1998 Yukihiro Matsumoto + + * lib/delegate.rb: do not propagate hash and eql?. + +Thu Nov 19 01:40:52 1998 Yukihiro Matsumoto + + * sample/ruby-mode.el (ruby-expr-beg): failed to find reserved + word boundary. + + * eval.c (rb_eval): avoid calling `concat' method. calls + rb_ary_concat() directly for efficiency. + + * eval.c (rb_eval): actual rest arguments extended arrays too much. + +Wed Nov 18 14:30:24 1998 Yukihiro Matsumoto + + * class.c (rb_define_global_function): global functions now be + module function of the Kernel. + +Wed Nov 18 10:48:09 1998 Yukihiro Matsumoto + + * io.c (read_all): SEGV on large files. + +Tue Nov 17 18:11:20 1998 Yukihiro Matsumoto + + * version 1.1c8 released. + +Tue Nov 17 16:58:47 1998 Yukihiro Matsumoto + + * parse.y (arg): assignment to attribute name start with capital + should be allowed. + + * eval.c (thread_alloc): needed to mark terminated threads too. + +Tue Nov 17 12:33:48 1998 Motoyuki Kasahara + + * ext/extmk.rb.in (create_makefile): Set `libdir' to `@libdir@', + Set `pkglibdir' to `$libdir/$(RUBY_INSTALL_NAME)'. + +Tue Nov 17 10:30:46 1998 Yukihiro Matsumoto + + * sprintf.c (f_sprintf): %l%%c -> %%l%c + +Tue Nov 17 01:08:50 1998 Yukihiro Matsumoto + + * parse.y (ret_args): distinguish `a' and `*a' for the arguments + of yield and return. + + * eval.c (rb_eval): flip3 should work like sed. + + * eval.c (rb_eval): flip{2,3} now have independent state for each + scope to work fine with thread. + +Mon Nov 16 23:26:29 1998 Yukihiro Matsumoto + + * parse.y (primary): exec else clause if no exception raised. + +Sun Nov 15 15:44:07 1998 Tadayoshi Funaba + + * ext/extmk.rb.in (install): bug in target. + +Sat Nov 14 11:02:05 1998 Motoyuki Kasahara + + * Makefile.in (install): Give the argument `$(DESTDIR)' to + `instruby.rb'. + + * instruby.rb: Recognize ARG[0] as `destdir'. + + * instruby.rb: Give the argument `destdir' to `extmk.rb'. + + * ext/extmk.rb.in: Recognize ARG[1] as `$destdir'. + + * instruby.rb: Create the installation directories (bindir, libdir, + archdir, pkglibdir, archdir, and mandir) under `destdir', and + install all files under there. + + * ext/extmk.rb.in: Likewise. + +Sat Nov 14 10:56:55 1998 Motoyuki Kasahara + + * instruby.rb: Add the variable `pkglibdir'. + + * instruby.rb: Set the variable `libdir' to `$(libdir)', not + `$(libdir)/$(ruby_install_name)'. `libruby.so' and `libruby.so.LIB' + are installed at `libdir'. + + * instruby.rb: Set the variable `archdir' to `$(pkglibdir)/$(arch)'. + +Fri Nov 13 19:43:29 1998 KIMURA Koichi + + * missing/nt.c (SafeFree): wrong free offset. + +Thu Nov 12 20:11:53 1998 Koji Arai + + * sample/ruby-mode.el: wrong highlight. + + * parse.y (parse_regx): newline in regexp was ignored. + +Wed Nov 11 10:54:57 1998 Yukihiro Matsumoto + + * parse.y (here_document): <<'FOO' should not escape anything. + + * parse.y (here_document): bare << here-doc available, even though + it's deprecated. + + * file.c (rb_file_s_readlink): return value should be tainted. + + * ext/etc/etc.c (setup_passwd): information (eg. GCOS name) should + be tainted (modified at Perl Conference). + +Tue Nov 10 00:22:11 1998 EGUCHI Osamu + + * configure.in: elf support for FreeBSD 3.x + +Tue Nov 10 00:05:43 1998 Yukihiro Matsumoto + + * parse.y (yylex): here document available in eval. + +Mon Nov 9 17:55:19 1998 Yukihiro Matsumoto + + * version 1.1c7 released. + +Fri Nov 6 19:25:27 1998 Takao KAWAMURA + + * sample/ruby-mode.el: font-lock patch. + +Thu Nov 5 15:42:22 1998 Yukihiro Matsumoto + + * sample/README, lib/README: simple description for each file. + +Wed Nov 4 18:14:19 1998 Yukihiro Matsumoto + + * eval.c (assign): attribute assignment should be called as public. + +Tue Nov 3 23:36:39 1998 Yukihiro Matsumoto + + * string.c (rb_str_dump): dumps core for negative char value. + + * regex.c (re_compile_pattern): out of boundary access for empty + regexp. + +Mon Nov 2 22:54:01 1998 Yukihiro Matsumoto + + * string.c (rb_str_aset): `str[str]' replaces first match. + +Mon Nov 2 18:24:33 1998 Yukihiro Matsumoto + + * eval.c (thread_create): was accessing modified status. + +Sun Nov 1 01:18:52 1998 EGUCHI Osamu + + * gc.c (xrealloc): size 0 needs round up to 1. + +Sat Oct 31 23:18:34 1998 Yukihiro Matsumoto + + * string.c (rb_str_split_method): negative LIMIT means number of + split fields are unlimited, as in perl. + + * string.c (rb_str_split_method): if LIMIT is unspecified, + trailing null fields are stripped. + +Sat Oct 31 04:16:14 1998 Inaba Hiroto + + * string.c (str_aref): regexp index SEGVed. + +Fri Oct 30 14:33:47 1998 Yukihiro Matsumoto + + * re.c (reg_match): returns nil for unmatch. + + * dir.c (dir_entries): new method. + + * eval.c (block_pass): do not push block, substitute it. + +Fri Oct 30 01:28:52 1998 Yukihiro Matsumoto + + * range.c (range_check): avoid <=> check for Fixnums. + + * array.c (rb_ary_aset): accept negative index. + +Wed Oct 28 22:00:54 1998 Yukihiro Matsumoto + + * regex.c (re_match): access out of boundary fixed. + +Wed Oct 28 11:37:42 1998 TAMITO + + * io.c (f_select): fd number comparison bug. + +Tue Oct 27 23:07:11 1998 Yukihiro Matsumoto + + * sample/ruby-mode.el (ruby-parse-region): forgot to support %w() + style array literal. + + * eval.c (rb_eval): unused block raises warning. + +Mon Oct 26 09:37:53 1998 Yukihiro Matsumoto + + * eval.c (dvar_asgn_push): dvar pushed too many times if + variable-in-block first appear in loops. + +Sun Oct 25 22:59:27 1998 Yukihiro Matsumoto + + * regex.c (set_list_bits): was using wrong offset. + +Thu Oct 22 00:07:11 1998 Yukihiro Matsumoto + + * eval.c (rb_obj_method): method retrieved from tainted object + should be tainted too. + + * eval.c (method_call): safe_level should be restored during + Method#call. + +Wed Oct 21 14:21:06 1998 Yukihiro Matsumoto + + * io.c (Init_IO): new constants IO::SEEK_{SET,CUR,END}. + + * io.c (rb_f_ungetc): ungetc pushes a char back into STDIN. + +Mon Oct 19 11:50:00 1998 Motoyuki Kasahara + + * ext/extmk.rb: Load '@top_srcdir@/lib/find.rb', not + '../lib/find.rb'. + + * ext/extmk.rb: Distinguish between `top_srcdir' and `topdir'. + + * Makefile.in (CFLAGS): Add `-I.'. + + * Makefile.in (lex.c): Give `@srcdir@/keywords' to gperf, not + `keywords'. + + * instruby.rb: Use `CONFIG["bindir"]', instead of `prefix + "/bin"'. + + * instruby.rb: Use `CONFIG["libdir"]', instead of `prefix + "/lib"'. + + * instruby.rb Use `CONFIG["mandir"]', instead of `prefix + "/man"'. + + * instruby.rb (wdir): Add the variable to preserve the current + working directory. + + * instruby.rb: Chdir to wdir before install `config.h' and + `rbconfig.rb'. + +Mon Oct 19 10:07:01 1998 EGUCHI Osamu + + * eval.c (rb_eval): reduce recursive calls to rb_eval(). + +Fri Oct 16 15:31:45 1998 Yukihiro Matsumoto + + * time.c (time_new_internal): timeval must be positive. + +Thu Oct 15 13:54:48 1998 Yukihiro Matsumoto + + * parse.y (arg): local variables can be accessed within right side + expression in assignment, notably in blocks. + +Wed Oct 14 00:18:33 1998 Yukihiro Matsumoto + + * array.c (Init_Array): Array#=== is now for equal check, not + inclusion check. + + * parse.y (when_args): `when a, *b' style new syntax for array + expansion in `case'. + +Tue Oct 13 14:30:32 1998 Yukihiro Matsumoto + + * object.c (rb_obj_untaint): taint marks can be unset. + + * eval.c (rb_eval): taint propagation for embedded strings. + +Mon Oct 12 13:27:15 1998 Yukihiro Matsumoto + + * eval.c (rb_call0): check stack depth more frequently. + +Mon Oct 12 08:08:30 1998 Yukihiro Matsumoto + + * io.c (rb_p): can print even in secure mode. + +Sun Oct 11 22:50:13 1998 Yukihiro Matsumoto + + * variable.c (rb_const_set): taint check for modification. + + * variable.c (rb_ivar_set): taint check for modification. + + * string.c (rb_str_modify): taint check for modification. + + * hash.c (rb_hash_modify): taint check for modification. + + * array.c (rb_ary_modify): taint check for modification. + + * ruby.h (FL_TAINT): taint for all objects, not only strings. + +Fri Oct 9 17:01:14 1998 Yukihiro Matsumoto + + * io.c (read_all): read() returns "" at immediate EOF. + + * io.c (io_read): read(nil) read all until EOF. + +Thu Oct 8 13:32:13 1998 Yukihiro Matsumoto + + * time.c (time_dump): marshal can dump Time object now. + + * marshal.c (Init_marshal): rename marshal methods `_dump_to' to + `_dump', `_load_from' to `_load'. + + * parse.y (rb_intern): "+=".intern generates proper symbol. + +Mon Oct 5 18:31:53 1998 Yukihiro Matsumoto + + * version 1.1c6 released. + +Fri Oct 2 14:22:33 1998 Yukihiro Matsumoto + + * regex.c (re_search): `/\s*(--)$/ =~ "- --"' did not match, + because of wrong optimize condition. + +Mon Oct 1 01:55:16 1998 Yukihiro Matsumoto + + * parse.y (rb_intern): should not raise exceptions. + + * parse.y (yylex): symbol like `:foo?=' should not be allowed. + + * ext/extmk.rb.in: makes *.a for static link modules. + +Wed Sep 30 14:13:06 1998 Yukihiro Matsumoto + + * eval.c (rb_thread_start): supports making a subclass of the + Thread class. + +Tue Sep 29 17:46:01 1998 Yukihiro Matsumoto + + * eval.c (rb_thread_join): join is now an instance method. + +Fri Sep 25 12:01:19 1998 Yukihiro Matsumoto + + * parse.y (yylex): `@foo!' should be an error. + +Thu Sep 24 14:55:06 1998 WATANABE Tetsuya + + * ext/etc/etc.c (Init_etc): wrong field definition. + +Thu Sep 17 17:09:05 1998 Yukihiro Matsumoto + + * io.c (io_reopen): was creating FILE* for wrong fd. + +Tue Sep 15 05:28:11 1998 Koji Arai + + * regex.c (re_compile_pattern): forgot to fixup for the pattern + like (?=(A)|(B)). + +Tue Sep 15 01:06:08 1998 Yukihiro Matsumoto + + * io.c (rb_io_gets_internal): do not set $_ by default, only + gets/readline set the variable. + + * eval.c (rb_f_load): load toplevel class is set to anonymous + module if safe_level >= 5, to encapsulate modification. + + * eval.c (rb_f_load): set frame properly. + + * string.c (rb_str_each_line): do not set $_. + +Mon Sep 14 14:42:27 1998 Yukihiro Matsumoto + + * regex.c (re_match): beginning and end of the string, do not + automatically match `\b'. + + * string.c (scan_once): consume at least on character. + + * regex.c (re_search): wrong behavior for negative range. + +Sat Sep 12 21:21:26 1998 Koji Arai + + * regex.c (re_search): range value should be maintained. + +Thu Sep 10 10:55:00 1998 Yukihiro Matsumoto + + * parse.y (backref_error): yyerror does not understand formats. + +Tue Sep 8 18:05:33 1998 Yukihiro Matsumoto + + * version 1.1c5 released. + +Tue Sep 8 10:03:39 1998 Yukihiro Matsumoto + + * string.c (str_each_line): wrong line splitting with newline at + top of the string. + + * string.c: non bang methods return copied string. + + * eval.c (f_END): needed to initialize frame->argc; + +Fri Sep 4 11:27:40 1998 Yukihiro Matsumoto + + * bignum.c (bigadd): proper sign combination. + + * regex.c (re_search): wrong return value for \A. + +Thu Sep 3 14:08:14 1998 Yukihiro Matsumoto + + * version 1.1c4 released. + +Tue Sep 1 10:47:16 1998 Yukihiro Matsumoto + + * regex.c (slow_search): do not compare llen and blen. llen may + be longer than blen, if little contains 0xff. + + * regex.c (mbctab_euc): set 0x8e as multibyte character. + + * string.c (str_inspect): mask character for octal output. + +Mon Aug 31 15:32:41 1998 Yukihiro Matsumoto + + * regex.c (re_search): use calculated offset if exactn is the + first opcode in the compiled regexp. + + * regex.c (bm_search): use Boyer-Moore search for simple search. + + * regex.c (must_instr): wrong length check if pattern includes + byte escape by 0xff. + + * regex.c (re_compile_pattern): need not to check current_mbctype. + +Sat Aug 29 16:31:40 1998 Yukihiro Matsumoto + + * eval.c (rb_check_safe_str): avoid calling rb_id2name() in normal + cases to speed-up. + + * eval.c (thread_raise): do not save context of terminated thread. + + * regex.c (re_compile_pattern): mask \nnn over 256. + +Sat Aug 29 02:09:46 1998 Koji Arai + + * sprintf.c (f_sprintf): wrong buffer size check. + +Fri Aug 28 01:57:04 1998 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...). + +Fri Aug 28 12:25:33 1998 Hiroshi Igarashi + + * ruby.c (ruby_require_modules): load modules in appearing order. + +Fri Aug 28 01:57:04 1998 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...). + +Thu Aug 27 12:54:28 1998 Yukihiro Matsumoto + + * version 1.1c3 released. + +Wed Aug 26 14:40:56 1998 Yukihiro Matsumoto + + * eval.c (rb_eval): check whether ruby_class is properly set, + before accessing it. + + * eval.c (rb_obj_instance_eval): ruby_class should be Qnil for + special objects like Fixnums. + + * ext/tkutil/tkutil.c (Init_tkutil): removes calls to + rb_yield_0(). used instance_eval() instead in the tk.rb. + +Wed Aug 26 11:47:00 1998 Yukihiro Matsumoto + + * regex.c (re_match): pop non-greedy stack elements on success. + +Wed Aug 26 09:25:35 1998 WATANABE Hirofumi + + * ruby.h: add #define environ for cygwin32. + +Tue Aug 25 08:57:41 1998 Yukihiro Matsumoto + + * array.c (rb_ary_sort_bang): temporarily freeze sorting array. + +Mon Aug 24 18:46:44 1998 WATANABE Hirofumi + + * dln.c (dln_find_1): path check was too strict. + +Mon Aug 24 15:28:11 1998 WATANABE Hirofumi + + * parse.y (f_arglist): opt_nl added after f_args. + +Fri Aug 21 01:06:01 1998 Yukihiro Matsumoto + + * ext/socket/socket.c: grand renaming on socket.c. + + * ext/socket/socket.c (inet_aton): supply inet_aton for those + systems that do not have it. + + * ext/socket/socket.c (setipaddr): use inet_aton instead of + inet_addr. + + * ext/socket/socket.c (tcp_s_gethostbyname): new method: works + like Socket.gethostbyname but returning array contains ip-addrs + as octet decimal string format like "127.0.0.1". + + * ext/socket/socket.c (mkhostent): return format changed to + [host, aliases, type, ipaddr..] as documented. + +Wed Aug 19 00:31:09 1998 Yukihiro Matsumoto + + * io.c (io_ctl): forgot to place TRAP_END at right position. + +Fri Aug 14 11:01:47 1998 Yukihiro Matsumoto + + * eval.c (call_trace_func): save __FILE__, __LINE__ before + executing trace_func, since trace function should not corrupt + line number information. + +Thu Aug 13 15:09:02 1998 Yukihiro Matsumoto + + * array.c (ary_s_new): was marking unallocated region on GC. + +Tue Aug 11 11:57:35 1998 Yukihiro Matsumoto + + * version 1.1c2 released. + +Mon Aug 10 14:05:30 1998 Yukihiro Matsumoto + + * process.c (f_system): removed fflush(stdin). + +Fri Aug 7 17:44:44 1998 Yukihiro Matsumoto + + * error.c (err_snprintf): replace sprintf for fixed sized buffer, + with snprintf to avoid buffer over-run. For systems which does + dot provide snprintf, missing/snprintf.c added. + +Wed Aug 5 00:47:35 1998 Yukihiro Matsumoto + + * re.c (rb_reg_search): recycle match object. + +Mon Aug 3 09:17:55 1998 Yukihiro Matsumoto + + * string.c (rb_str_gsub_bang): do not allocate temporary string. + + * string.c (rb_str_sub_bang): use inline replace. + +Wed Jul 29 00:36:08 1998 Yukihiro Matsumoto + + * hash.c (hash_s_new): the default value can be specified. + + * hash.c (hash_default): method to set the default value. + + * hash.c (hash_aref): now returns the default value. + +Tue Jul 28 13:03:25 1998 Yukihiro Matsumoto + + * array.c (ary_s_new): argument to specify initial value is added. + + * array.c (ary_s_new): specifies size, not capacity. + +Mon Jul 27 12:39:34 1998 Yukihiro Matsumoto + + * string.c (str_replace): zero fill for expansion gap. + + * regex.c (mbctab_euc): set flags on for 0xA1-0xFE. suggested by + . + + * string.c (str_inspect): consider current_mbctype. + +Sun Jul 26 15:37:11 1998 Tadayoshi Funaba + + * array.c (ary_s_new): Array.new(1<<30) dumps core. + +Fri Jul 24 13:40:19 1998 Yukihiro Matsumoto + + * version 1.1c1 released. + +Fri Jul 24 02:10:22 1998 Yukihiro Matsumoto + + * marshal.c (r_bytes2): allocated buffer size was too short. + + * marshal.c (w_object): saves all options, not only casefold flag. + + * re.c (reg_clone): now copies options properly. + + * re.c (reg_get_kcode): code number was wrong. + +Thu Jul 23 13:11:32 1998 Yukihiro Matsumoto + + * eval.c (rb_attr): argument should be symbol or string. + +Wed Jul 22 11:59:34 1998 Yukihiro Matsumoto + + * regex.c (calculate_must_string): wrong offset added. + +Wed Jul 22 11:59:59 1998 Yukihiro Matsumoto + + * st.c (rehash): still had a GC problem. fixed. + +Tue Jul 21 13:19:30 1998 Yukihiro Matsumoto + + * eval.c (gc_mark_threads): crashed on GC before thread allocation. + + * st.c (rehash): GC during rehash caused SEGV. + +Tue Jul 21 01:25:10 1998 Yukihiro Matsumoto + + * sprintf.c (f_sprintf): integer formatter totally re-written. + + * sprintf.c (remove_sign_bits): support uppercase hexadecimal. + +Sat Jul 18 00:14:13 1998 Yukihiro Matsumoto + + * sprintf.c (f_sprintf): proper sign position for %X and %O. + +Fri Jul 17 14:10:20 1998 Yukihiro Matsumoto + + * version 1.1c0 released. + +Fri Jul 17 08:01:49 1998 Tadayoshi Funaba + + * process.c (f_exec): Check_SafeStr() added. + + * process.c (f_system): Check_SafeStr() moved before fork(). + +Thu Jul 16 22:58:48 1998 Yukihiro Matsumoto + + * string.c (scan_once): substrings to the block should not be + tainted. use reg_nth_match(), not str_substr(). + + * string.c (str_substr): needed to transfer taint. + +Thu Jul 16 16:15:57 1998 Yukihiro Matsumoto + + * gc.c (xmalloc): object allocation count added to GC trigger. + + * eval.c (thread_save_context): avoid marking uninitialized stack + in thread_mark. GC may be triggered by REALLOC_N(). + +Wed Jul 15 15:11:57 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_31. + +Wed Jul 15 15:05:27 1998 Yukihiro Matsumoto + + * eval.c (thread_create): exit() and abort() in threads now + forwarded to main_thread. + +Tue Jul 14 14:03:47 1998 Yukihiro Matsumoto + + * variable.c (obj_instance_variables): list names that is not + instance variables. + + * gc.c (GC_MALLOC_LIMIT): choose smaller limit value. + +Mon Jul 13 12:39:38 1998 Yukihiro Matsumoto + + * object.c (str2cstr): should not return NULL. + +Fri Jul 10 11:51:46 1998 Yukihiro Matsumoto + + * parse.y (gettable): needed to add dyna_in_block() check. + +Thu Jul 9 17:38:23 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_30. + +Thu Jul 9 16:01:48 1998 Yukihiro Matsumoto + + * sprintf.c (fmt_setup): format specifier for long needed. + + * sprintf.c (f_sprintf): ditto. + + * numeric.c (fix2str): ditto. + + * eval.c (thread_create): no more ITIMER_REAL. + + * eval.c (thread_create): thread finalization needed before + aborting thread if thread_abort is set. + +Wed Jul 8 18:17:33 1998 Yukihiro Matsumoto + + * bignum.c (big_pow): abandon power by bignum (too big). + +Tue Jul 7 13:58:43 1998 Yukihiro Matsumoto + + * eval.c (rb_catch): add C level catch/throw feature. + +Mon Jul 6 15:18:09 1998 Yukihiro Matsumoto + + * parse.y (arg): proper return values for `||=' and `&&='. + +Fri Jul 3 16:05:11 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_29. + +Fri Jul 3 11:20:46 1998 Yukihiro Matsumoto + + * marshal.c (r_byte): byte should not extend sign bit. + + * numeric.c (fix_mul): use FIX2LONG() instead of FIX2INT() for + 64bit architectures. + + * marshal.c (r_bytes): remove weird casting between pointer and int. + + * process.c (proc_setsid): new method Process#setsid(). + +Thu Jul 2 12:49:21 1998 Yukihiro Matsumoto + + * marshal.c (w_object): remove `write_bignum' label for 64bit + architectures. + + * marshal.c (r_bytes): needs int, not long. + +Wed Jul 1 14:21:06 1998 Yukihiro Matsumoto + + * numeric.c (flo_plus): should not allow addition with strings. + +Wed Jul 1 13:09:01 1998 Keiju ISHITSUKA + + * numeric.c (num_uminus): wrong coerce direction. + +Tue Jun 30 10:13:44 1998 Yukihiro Matsumoto + + * io.c (f_p): accepts arbitrary number of arguments. + + * eval.c (rb_yield_0): there's some case that iterator_p() returns + true even if the_block was not set. check added. + +Tue Jun 30 01:05:20 1998 Yukihiro Matsumoto + + * eval.c (BEGIN_CALLARGS): adjust the_block before evaluating the + receiver's value and the arguments. + +Fri Jun 26 18:02:50 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_28. + +Fri Jun 26 11:01:26 1998 WATANABE Hirofumi + + * string.c (str_aset_method): needed to convert to string. + +Thu Jun 25 02:05:50 1998 Yukihiro Matsumoto + + * regex.c (re_search): optimize for `.*' at beginning of the + pattern. + + * regex.c (re_search): optimize for character class repeat at + beginning of the pattern. + + * regex.c (re_compile_pattern): detect optimization potential for + the compiled patterns. + +Thu Jun 25 00:02:26 1998 WATANABE Hirofumi + + * re.c (reg_s_new): flag value was wrong. + +Wed Jun 24 23:45:06 1998 Yukihiro Matsumoto + + * regex.c (re_search): wrong anchor handling for reverse search. + +Wed Jun 24 02:18:57 1998 Yukihiro Matsumoto + + * parse.y (mlhs): `((a,b)),c = [[1,2]],3' assigns a=1,b=2,c=3. + +Tue Jun 23 11:46:16 1998 Yukihiro Matsumoto + + * parse.y (yylex): `&&=' and `||=' added. + +Sat Jun 20 02:53:50 1998 Yukihiro Matsumoto + + * parse.y (assignable): nesting local variables should have higher + priority than normal local variables for assignment too. + +Fri Jun 19 18:28:19 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_27. + +Fri Jun 19 14:34:49 1998 Yukihiro Matsumoto + + * eval.c (assign): support hack for nested multiple assignment. + + * parse.y (mlhs): nested multiple assignment. + + * eval.c (rb_eval): in-block variables now honors static scope. + + * configure.in: RSHIFT check moved to configure. + +Thu Jun 18 16:46:04 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_26. + +Thu Jun 18 13:37:19 1998 Yukihiro Matsumoto + + * file.c (file_s_ftype): uses lstat(2) instead of stat(2). + + * dir.c (dir_s_glob): there can be buffer overrun, check added. + + * eval.c (f_binding): handles in-block variables declared after + binding's generation. + + * numeric.c (flo_floor): floor, ceil, round added to Float. + +Wed Jun 17 11:20:00 1998 Yukihiro Matsumoto + + * parse.y (gettable): nesting local variables should have higher + priority than normal local variables. + +Tue Jun 16 12:30:46 1998 Yukihiro Matsumoto + + * bignum.c (str2inum): handles `+ddd'. + + * struct.c (make_struct): name parameter can be nil for unnamed + structures. + +Mon Jun 15 16:30:10 1998 Yukihiro Matsumoto + + * object.c (class_s_inherited): prohibiting to make subclass of + class Class. + + * object.c (module_s_new): support for making subclass of Module. + + * parse.y (yycompile): clear eval_tree before compiling. + +Fri Jun 12 17:58:18 1998 Yukihiro Matsumoto + + * eval.c (eval): write back the_dyna_var into the block. + +Thu Jun 11 18:19:18 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_25. + + * eval.c (dvar_add_compiling): register dyna_var at compile time. + + * regex.c (re_compile_pattern): RE_DUP_MAX iteration is too big. + +Wed Jun 10 15:12:04 1998 Yukihiro Matsumoto + + * io.c (io_eof): do not block other threads. + + * signal.c (trap): reserve SIGALRM for thread. + + * eval.c (thread_create): use ITIMER_REAL also to avoid system + call blocking. + + * io.c (f_syscall): add TRAP_BEG, TRAP_END around system calls. + + * io.c (io_ctl): add TRAP_BEG, TRAP_END around system calls. + + * enum.c (enum_collect): did not collect false values. + + * array.c (ary_new2): forgot to initialize capa field. + +Tue Jun 9 18:36:15 1998 WATANABE Hirofumi + + * string.c (str_split_method): split dumped core for "\xff". + +Tue Jun 9 16:22:12 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_24. + +Tue Jun 9 16:04:07 1998 WATANABE Hirofumi + + * ext/kconv/kconv.c (kconv_guess): more precise decision for EUC, + using jless algorithm (3 sequential EUC hiragana characters). + +Tue Jun 9 15:12:44 1998 Yukihiro Matsumoto + + * ext/kconv/kconv.c (kconv_guess): wrong guess for EUC as SJIS in + some cases (0xe0 - 0xef). + + * gc.c (xmalloc): insert size check for big (negative in signed) + allocation size. + +Tue Jun 9 02:54:51 1998 Yukihiro Matsumoto + + * lib/parsedate.rb: wday moved to the last in the return values. + +Mon Jun 8 10:40:16 1998 Yukihiro Matsumoto + + * string.c (str_split_method): split dumped core for "\0". + +Sat Jun 6 22:50:52 1998 Yukihiro Matsumoto + + * regex.c (calculate_must_string): wrong condition for + {start,stop}_nowidth. + + * regex.c (re_match): various features imported from GNU regex.c + 0.12, such as nested grouping, avoiding infinite loop with empty + match, etc. + + * regex.c (register_info_type): now use union. + + * regex.c (re_search): more precise anchor(^) check. + +Wed Jun 3 18:07:54 1998 Yukihiro Matsumoto + + * re.c (reg_raise): check rb_in_compile, not rb_in_eval. + +Mon Jun 1 05:26:06 1998 WATANABE Tetsuya + + * string.c (trnext): casting to signed char* needed. + +Tue Jun 2 16:00:12 1998 Yukihiro Matsumoto + + * ext/socket/socket.c (udp_addrsetup): error check enhanced. + + * ext/socket/socket.c (sock_s_getservbyaname): use strtoul(), if + possible. + +Sat May 30 07:10:02 1998 Yukihiro Matsumoto + + * re.c (reg_prepare_re): no more needless regular expression + recompile on casefold conditions. + +Thu May 28 18:02:55 1998 Yukihiro Matsumoto + + * object.c (nil_plus): no more `+' method for nil. + +Wed May 27 17:33:46 1998 Yukihiro Matsumoto + + * hash.c (hash_fetch): new method. + + * regex.c (re_search): check whether translate table is set. + +Tue May 26 11:39:50 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_23. + + * parse.y (yylex): no UPLUS/UMINUS for 1st argument if + parenthesises are omitted. + +Tue May 26 01:09:55 1998 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): (?XI) for turns off the + corresponding option. + +Mon May 25 12:38:56 1998 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): inline i option (?i). + + * regex.c (re_compile_pattern): inline x option (?x). + + * regex.c (re_compile_pattern): x option for regexp. + + * dir.c (dir_s_open): returns block's evaluated value. + + * io.c (f_open): returns block's evaluated value. + + * ext/curses/curses.c (curses_addstr): nil argument caused SEGV. + +Fri May 22 11:52:45 1998 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): push mark on (?:), so that + laststart check for {a,b} can be done. + +Thu May 21 17:31:16 1998 Yukihiro Matsumoto + + * regex.c (re_match): wrong match (too non-greedy) for `{a,b}?'. + + * io.c (io_lineno): new method IO#lineno, IO#lineno=. + +Wed May 20 06:04:43 1998 MAEDA shugo + + * BeOS patch. + +Wed May 20 16:32:19 1998 Yukihiro Matsumoto + + * bignum.c (BIGDN): use RSHIFT(), instead of mere `>>'. + +Tue May 19 16:36:26 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_22. + +Tue May 19 16:31:57 1998 Yukihiro Matsumoto + + * parse.y (assignable): specification changed for in-block + variable definition. + + * eval.c (dyna_var_asgn): error in in-block variables' compile + time definition. + + * parse.y (str_extend): wrong nesting detection. + +Tue May 19 09:47:55 1998 WATANABE Hirofumi + + * numeric.c (num2int): re-defined (extensions may use this). + +Mon May 18 16:40:50 1998 MAEDA shugo + + * error.c (get_syserr): BeOS support. + + * configure.in: modified for BeOS. + + * string.c (str_dump): do not call isascii(). + + * sprintf.c (remove_sign_bits): forgot to initialize end pointer. + + * glob.c: #include added. + +Mon May 18 14:52:21 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_21. + +Mon May 18 03:27:57 1998 MAEDA shugo + + * file.c (file_s_expand_path): optional second argument + `default_directory' added. + +Sat May 16 22:06:52 1998 WATANABE Hirofumi + + * error.c (RAISE_ERROR): wrong error message + +Fri May 15 14:43:25 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_20. + +Thu May 14 14:44:21 1998 WATANABE Hirofumi + + * sun4 cc patches for intern.h and regex.h. + +Thu May 14 14:03:16 1998 Yukihiro Matsumoto + + * random.c (RANDOM_MAX): guessing proper maximum value for random + numbers. + + * random.c (f_rand): use drand48 if possible. + +Wed May 13 19:05:20 1998 MAEDA shugo + + * BeOS patches for io.c, error.c and config.guess. + +Wed May 13 14:56:23 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_19. + + * most of the Mac and BeOS patches merged, except path separators. + + * error.c (err_append): generated SyntaxError was String. + + * ruby.h: xxx2INT, xxx2UINT checks values as int, not long. + + * ruby.h: remove typedef's. INT, UINT, UCHAR, USHORT. + +Tue May 12 17:38:00 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_18. + +Tue May 12 11:38:08 1998 Yukihiro Matsumoto + + * error.c (syserr_errno): returns errno of the SystemCallError. + + * error.c (rb_sys_fail): saves errno in the Exception. + + * error.c (set_syserr): no need to protect syserr_list. + + * error.c (rb_sys_fail): no more bufsize limit. + + * error.c (set_syserr): integer value of errno can be accessed by + Errno::EXXX::Errno. + +Sun May 10 03:10:33 1998 WATANABE Tetsuya + + * io.c (io_tell etc.): moved from File class to IO class. + +Fri May 8 12:26:37 1998 Yukihiro Matsumoto + + * pack.c (pack_unpack): should be unsigned int (was signed int). + +Thu May 7 16:34:10 1998 Yukihiro Matsumoto + + * pack.c (pack_pack): `V', `N' uses newly created NUM2UINT(). + + * ruby.h (NUM2UINT): new macro. + + * bignum.c (big2uint): try to convert bignum into UINT. + + * re.c (reg_match): needed to return false for match with nil. + + * gc.c (obj_free): wrong condition to free string. + +Wed May 6 21:08:08 1998 WATANABE Hirofumi + + * ruby.c (ruby_process_options): modified for DJGPP. + +Wed May 6 15:48:03 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_17. + +Wed May 6 01:37:39 1998 Yukihiro Matsumoto + + * eval.c: remove global variable `errat'. + + * eval.c (rb_longjmp): embed error position information in the + exception object. + +Sat May 2 12:20:02 1998 Yukihiro Matsumoto + + * re.c (reg_search): supports reverse search. + + * string.c (str_index_method): does update $~ etc. + + * eval.c (f_load): needed to clear the_dyna_vars. + + * eval.c (dyna_var_asgn): do not push dyna_var, which is id == 0. + + * error.c (Init_Exception): NotImplementError is no longer + StandardError, which is not handled by default rescue. + +Fri May 1 00:35:51 1998 Yukihiro Matsumoto + + * ruby.c (proc_options): `-d' turns on verbose flag too. + + * error.c (exception): last argument may be the superclass of the + defining exception(s). + + * io.c (Init_IO): EOFError is now subclass of the IOError. + + * io.c (Init_IO): forgot to define IOError. + + * error.c (Init_Exception): old Exception class renamed to + StandardError. Exception now replaces old GlobalExit. + + * error.c (Init_Exception): Exception is now the root of the + Global Exits. There's no longer GlobalExit class. + + * util.c (ruby_mktemp): check TMP, TMPDIR first. + +Thu Apr 30 01:08:35 1998 Yukihiro Matsumoto + + * lib/tk.rb: call 'unknown', if proc not defined. + + * eval.c (handle_rescue): default rescue handles `Exceptional' not + only the instance of the `Exception's. + + * eval.c (f_raise): exception can be any object. + + * time.c (time_gm_or_local): call time_gmtime or time_localtime. + + * eval.c (f_raise): raises TypeError if the class which is not a + subclass of String is specified (checked in exc_new()). + + * error.c (exc_new): need to check whether invalid class (not a + subclass of String) is specified. + +Wed Apr 29 21:05:44 1998 WATANABE Hirofumi + + * ruby.c (proc_options): option '-e' via tempfile. + +Tue Apr 28 15:27:58 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_16. + +Tue Apr 28 00:07:38 1998 Yukihiro Matsumoto + + * eval.c (obj_is_proc): type check predicate. + + * eval.c (obj_is_block): ditto. + +Mon Apr 27 16:59:17 1998 Yukihiro Matsumoto + + * ext/gtk/gtk.c (Init_gtk): use timeout, not idle to avoid + consuming CPU too much. + + * lib/tk.rb: use tcltklib#_invoke instead of `_eval'. + +Mon Apr 27 16:59:17 1998 Yukihiro Matsumoto + + * array.c (ary_sort): use dup, not clone. + +Mon Apr 27 13:46:27 1998 Tadahiro Maebashi + + * ext/tcltklib/tcltklib.c (ip_invoke): invoke tcl command + directly. need not worry about escaping tcl characters. + +Mon Apr 27 12:04:43 1998 Yukihiro Matsumoto + + * random.c (f_rand): do not call srand() implicitly. + +Fri Apr 24 14:35:45 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_15. + + * parse.y (assignable): dyna_var_asgn actually defines nested + local variables in outer context. + + * random.c (f_rand): call srand(), if it has not called yet. + + * random.c (f_srand): use tv_usec as the default seed. + + * eval.c (rb_eval): values of nested local variables should be + independent. + + * eval.c (rb_yield_0): local variables wrong nested conditions. + +Wed Apr 22 23:27:17 1998 Yukihiro Matsumoto + + * io.c (select_get_io): get IO object by `to_io'. + + * io.c (io_to_io): method to retrieve IO object, from delegating + object for example. + +Wed Apr 22 16:52:37 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_14. + + * string.c (str_modify): check for embedded pointer reference. + + * gc.c (obj_free): ditto. + + * pack.c (pack_pack): p/P template to embed pointers. + +Wed Apr 22 00:07:10 1998 Tadayoshi Funaba + + * array.c (ary_rindex): embarrassing typo. + +Tue Apr 21 12:31:48 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_13. + + * configure.in (RUBY_LIB): supports --program-{prefix,suffix}. + + * array.c (ary_rindex): new method. + + * io.c (io_binmode): should return self. + +Tue Apr 21 08:23:04 1998 Tadayoshi Funaba + + * parse.y (here_document): calling parse_string with wrong + arguments. + + * struct.c (struct_aset): problem member assignment with name. + +Mon Apr 20 14:47:49 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_12. + + * time.c (time_arg): args may be string (support for reduced + implicit type conversion). + + * lib/base64.rb: changed to use pack/unpack with `m' template. + +Mon Apr 20 06:23:20 1998 Yukihiro Matsumoto + + * variable.c (mod_remove_const): new method. + +Sat Apr 18 03:53:27 1998 Yukihiro Matsumoto + + * hash.c (hash_each_with_index): removed. use Enumerable's + each_with_index instead. + + * class.c (rb_include_module): check for super modules, since + module's included modules may be changed. + +Fri Apr 17 21:50:47 1998 WATANABE Hirofumi + + * marshal.c (r_long): r_byte() may return signed byte. + +Fri Apr 17 11:58:30 1998 NAGAI Hidetoshi + + * ext/tcltklib/tcltklib.c (lib_mainloop): thread and interrupt check. + +Fri Apr 17 11:06:30 1998 Yukihiro Matsumoto + + * eval.c (find_file): try to fopen() to check whether file exists. + + * ruby.c (load_file): ditto. + + * struct.c (struct_aset): struct member can be set by member name. + +Fri Apr 17 00:47:19 1998 WATANABE Hirofumi + + * ext/extmk.rb.in: added m68k-human support + + * file.c (LOCK_SH): defines moved. + + * array.c (ary_flatten_bang): simplified loop. + +Thu Apr 16 16:52:01 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_11. + + * lib/tk.rb: thread support (experimental - maybe slow). + + * eval.c (rb_longjmp): trace event on exception in raising + context, just before raising exception. + + * struct.c (struct_s_members): forgot to check singletons. + + * struct.c (struct_aref): members can be accessed by names too. + + * array.c (ary_flatten): new method. + + * eval.c (rb_longjmp): prints exception information with `-d'. + + * object.c (any_to_s): remove class name restriction. + +Thu Apr 16 01:38:02 1998 Yukihiro Matsumoto + + * file.c (thread_flock): do not block other threads. + + * eval.c (thread_trap_eval): signals are now delivered to the + current thread again. In case that the current thread is dead, + signals are forwarded to the main thread. + + * string.c (str_new4): need not to duplicate frozen strings. + +Wed Apr 15 08:33:47 1998 Tadayoshi Funaba + + * struct.c (struct_inspect): remove restriction for struct names. + +Wed Apr 15 02:55:02 1998 Kazuya 'Sharl' Masuda + + * x68 patches to config.sub, ext/extmk.rb.in + +Wed Apr 15 01:22:56 1998 Yukihiro Matsumoto + + * string.c (str_dup_frozen): do not duplicate frozen strings. + + * parse.y (yylex): allow nested parenthesises. + + * io.c (obj_displayln): prints newline after `display'ing the + receiver. + + * io.c (io_puts): avoid generating "\n" each time. use RS_default + instead. + + * io.c (f_p): ditto. + +Tue Apr 14 22:18:17 1998 Tadayoshi Funaba + + * struct.c (struct_aref): should not subtract negative index. + +Tue Apr 14 11:34:50 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_10. + + * parse.y: token names prefixed by `t'. + + * struct.c (struct_s_def): supports subclassing of Struct. + + * io.c (io_s_new): supports subclassing of IO. + +Mon Apr 13 11:07:39 1998 Yukihiro Matsumoto + + * eval.c (f_binding): need to restore method name. + + * eval.c (rb_call0): raises SystemStackError, not Fatal. + + * io.c (obj_display): same as `print self'. + + * io.c (f_p): can now be called in the method form. + + * re.c (reg_regsub): needed to be mbchar aware. + +Mon Apr 13 13:18:32 1998 Yukihiro Matsumoto + + * eval.c (thread_trap_eval): all signals delivered to main_thread. + +Mon Apr 13 12:47:03 1998 TAKAHASHI Masayoshi + + * re.c (kcode_set_option): did not set SJIS on SJIS condition. + +Sun Apr 12 22:14:07 1998 Kazunori NISHI + + * array.c (ary_uniq_bang): should be `==', not `='. embarrassing. + +Sat Apr 11 02:13:30 1998 Yukihiro Matsumoto + + * array.c (ary_subseq): SEGVed for `[][1,1]'. + +Fri Apr 10 21:29:06 1998 Tadayoshi Funaba + + * array.c (ary_subseq): add check for beg larger than array length. + +Wed Apr 8 17:24:11 1998 MAEDA shugo + + * dir.c (dir_s_open): can be called with block (like IO#open). + + * dir.c (dir_s_chdir): print directory path on error. + + * dir.c (dir_s_chroot): ditto + + * dir.c (Init_Dir): needed to override `new'. + +Thu Apr 9 18:24:58 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_09. + + * string.c (str_cmp): do not depend on sentinel at the end of the + strings. + + * string.c (str_chomp_bang): forgot to set the sentinel. + +Wed Apr 8 00:59:13 1998 Yukihiro Matsumoto + + * bignum.c (big2int): converted int may be too big to fit in + signed int. + + * parse.y (arg): `foo += 1' should not cause an error. + + * variable.c (rb_const_defined): returned false even if the + constant is defined at the top level. + + * eval.c (f_local_variables): dyna_var->id may be null. should + have checked before calling str_new2(). + +Tue Apr 7 01:15:15 1998 Kaneko Naoshi + + * re.c (reg_regsub): need to check string boundary. + +Tue Apr 7 19:19:12 1998 Yukihiro Matsumoto + + * string.c (str_cmp): returns either 1, 0, -1. + + * array.c (ary_cmp): should check array length, too + +Tue Apr 7 18:50:16 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_08. + +Tue Apr 7 18:31:27 1998 WATANABE Hirofumi + + * instruby.rb (mandir): dll installation for cygwin32 + +Tue Apr 7 01:16:45 1998 Yukihiro Matsumoto + + * config.sub (maybe_os): TOWNS support? + + * config.guess: too strict check for libc versions on linuxes. + + * experimental release 1.1b9_07. + + * array.c (ary_cmp): compare each element using `<=>'. + + * hash.c (hash_each_with_index): yields [value, key] pair. + + * class.c (class_protected_instance_methods): list protected + method names. + + * class.c (ins_methods_i): exclude protected methods. + + * eval.c (PUSH_BLOCK): dynamic variables can be accessed from + eval() with bindings. + +Mon Apr 6 14:49:06 1998 Yukihiro Matsumoto + + * eval.c (thread_yield): must return evaluated value. + +Fri Apr 3 13:07:29 1998 Yukihiro Matsumoto + + * eval.c (thread_schedule): context switch bypassed on wrong + conditions. + + * variable.c (rb_name_class): set classname by id before String + class is initialized (1.0 behavior restored). + +Fri Apr 3 11:25:45 1998 Yukihiro Matsumoto + + * numeric.c (num2int): no implicit conversion from string. + + * numeric.c (num2int): check whether `to_i' returns an Integer. + + * numeric.c (num_zero_p): new method. + + * numeric.c (num_nonzero_p): new method. returns the receiver if + it's not zero. + + * eval.c (obj_instance_eval): the_class should be the object's + singleton class. + + * error.c (exc_s_new): message is converted into a string. + +Thu Apr 2 18:31:46 1998 Yukihiro Matsumoto + + * eval.c (obj_call_init): every object call `initialize'. + +Wed Apr 1 08:51:53 1998 Tadayoshi Funaba + + * parse.y (stmt): UNTIL_MOD should be for stmt, not only for expr. + +Wed Apr 1 01:20:31 1998 Yukihiro Matsumoto + + * object.c (true_and): boolean operators &, | and ^. + +Tue Mar 31 13:23:58 1998 Yukihiro Matsumoto + + * array.c (ary_compact_bang): returns nil, if it does not modify + the array like String's bang methods. + + * array.c (ary_uniq_bang): new method to remove duplicate items. + + * eval.c (bind_s_new): new method. + + * numeric.c (num2int): raise exception if Fixnums too big to + convert into `int' in case that sizeof(int) < sizeof(INT). + + * string.c (str_center): SEGV on negative width. + + * eval.c (eval): forgot to set sourcefile. + +Mon Mar 30 11:12:29 1998 Yukihiro Matsumoto + + * file.c (f_test): raises exception for unknown command. + + * eval.c (Init_eval): `class_eval': alias to the module_eval. + +Mon Mar 30 18:50:42 1998 Tadayoshi Funaba + + * string.c (str_capitalize_bang): did not check string modification. + + * string.c (str_delete_bang): wrong conversion. + + * string.c (str_intern): typo in error message. + +Mon Mar 30 01:44:13 1998 Yukihiro Matsumoto + + * eval.c (obj_instance_eval): accepts block as evaluation body. + No compilation needed each time. + + * eval.c (mod_module_eval): ditto + + * file.c (file_s_umask): umask did not return old values, if no + argument given. + +Sun Mar 29 00:54:23 1998 Yukihiro Matsumoto + + * eval.c (f_throw): nil returned always. + +Sat Mar 28 20:40:12 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_06. + +Sat Mar 28 16:07:11 1998 WATANABE Hirofumi + + * io.c (io_closed): should not cause exception for closed IO. + + * string.c (str_tr): returned nil for success. + +Sat Mar 28 00:47:19 1998 Yukihiro Matsumoto + + * eval.c (f_local_variables): new method to return an array of + local variable names. + + * variable.c (obj_instance_variables): now returns an array of + variable names, as described in the reference. + + * eval.c (rb_attr): honors default method visibility of the + current scope. + +Fri Mar 27 13:49:27 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_05. + + * ruby.c (ruby_prog_init): `site_ruby' added to load_path. + + * ruby.c (ruby_prog_init): load-path order changed. Paths in + the RUBYLIB environment variable comes first in non-tainted + mode. + +Thu Mar 26 11:51:09 1998 Yukihiro Matsumoto + + * eval.c (rb_call): new feature: `protected' methods. + + * string.c (str_dump): new method. + + * eval.c (block_pass): block argument can be nil, which means no + block is supplied for the method. + +Wed Mar 25 21:20:13 1998 Tadayoshi Funaba + + * string.c (str_reverse_bang): string copied to wrong place. + +Wed Mar 25 08:12:07 1998 Yukihiro Matsumoto + + * numeric.c (flo_modulo): caused SEGV if left operand is not a + float value. + + * eval.c (f_eval): optional third and fourth argument to specify + file-name and line-number. + + * eval.c (eval): file-name and line-number set properly. + + * parse.y (assign_in_cond): literal assignment is now warning, not + compile error. + + * error.c (Warn): Warn() always print message, OTOH Waring() + prints when verbose flag is set. + +Tue Mar 24 12:50:06 1998 Yukihiro Matsumoto + + * ruby.c (ruby_prog_init): `.' should come last in the load-path. + + * eval.c (Init_eval): `__send__', alias for `send'. + +Mon Mar 23 12:44:12 1998 Yukihiro Matsumoto + + * string.c (str_chomp_bang): now takes `rs' as an argument. + + * eval.c (thread_free): main_thread should not be freed. + +Fri Mar 20 16:40:34 1998 Yukihiro Matsumoto + + * string.c (str_chomp_bang): chomp! (and other ! methods) returns + nil if it does not modify the string. + + * string.c (str_sub_iter_s): should check last pattern since it + may be matched to null. + +Thu Mar 19 13:48:55 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_04. + + * parse.y (yylex): `10e0.9' should cause syntax error. + +Wed Mar 18 17:46:31 1998 Yukihiro Matsumoto + + * ruby.c (load_file): new file object constant DATA. Only + available for the script from the file. + + * regex.c (re_match): forwarding failure point popped too much. + +Tue Mar 17 18:23:06 1998 Yukihiro Matsumoto + + * math.c (math_frexp): newly added. + + * math.c (math_ldexp): ditto. + + * bignum.c (bigdivmod): calculates modulo. + + * numeric.c (fix_remainder): returns reminder, formerly introduced + as modulo. + + * numeric.c (fix_modulo): calculates proper `modulo'. + + * bignum.c (bigdivmod): wrong sign for reminder. + +Mon Mar 16 17:07:28 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_03. + +Mon Mar 16 16:33:53 1998 WATANABE Hirofumi + + * io.c (pipe_finalize): needed to add pipe_finalize to pipes on + cygwin32. + +Mon Mar 16 14:11:06 1998 Yukihiro Matsumoto + + * class.c (ins_methods_i): needed to consider NOEX_UNDEF. + +Mon Mar 16 13:23:53 1998 WATANABE Hirofumi + + * io.c (io_check_closed): check for `fptr->f2 == NULL'. + + * io.c (io_fptr_close): ditto. + +Mon Mar 16 11:49:25 1998 Yukihiro Matsumoto + + * io.c (pipe_atexit): free()ing referencing pipe_list. + + * range.c (range_length): returns zero, if the first is greater + than the last. + + * signal.c (trap_restore_mask): restore signal mask before raising + exceptions and throws. + +Fri Mar 13 13:49:24 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_02. + + * object.c (mod_clone): need to dups constants and instance + variables. + + * eval.c (rb_eval): forgot to initialize body for NODE_DEFS. + + * eval.c (rb_eval): retrieve self from calling frame, since self + changes sometimes. + + * env.h (FRAME): need to save self in the calling frame. + + * io.c (f_gets_method): rs should be initialized by RS. + +Thu Mar 12 15:33:57 1998 Yukihiro Matsumoto + + * experimental release 1.1b9_01. + + * range.c (range_s_new): check values by `first <= last'. + + * parse.y (lastline_set): fixed offset for $_ and $~ in the local + variable space. + +Wed Mar 11 02:14:17 1998 Yukihiro Matsumoto + + * io.c (io_gets): handle normal case specially for speed. + + * eval.c (rb_disable_super): function to disable superclass's + method explicitly. + + * eval.c (rb_eval): inherits previous method definition's + NOEX_UNDEF-ness, if exists. + + * class.c (rb_define_method): disables superclass's overriding + method by default. + +Wed Mar 11 01:40:48 1998 MAEDA shugo + + * numeric.c (flo_gt,etc.): do not depend on `<=>', to handle NaN. + +Tue Mar 10 00:03:24 1998 Yukihiro Matsumoto + + * ruby.c (load_file): understands multiple options in #! line. + + * regex.c (re_compile_pattern): support for [:alpha:] etc. + +Mon Mar 9 16:53:51 1998 Yukihiro Matsumoto + + * io.h (GetOpenFile): embed io_check_closed in GetOpenFile. + + * sprintf.c (f_sprintf): zero padding failed for negative + integers. + + * sprintf.c (remove_sign_bits): failed to remove some bits. + +Sat Mar 7 21:51:46 1998 MAEDA shugo + + * class.c (ins_methods_i): body may be NULL for some case. + +Fri Mar 6 17:23:07 1998 Yukihiro Matsumoto + + * regex.c (mbcinit): table driven mbchar detection. + + * object.c (obj_alloc): check for allocating instance for the + primitive classes (mostly perfect). + + * ext/curses/curses.c (curses_finalize): restore original state at + interpreter termination. + + * ext/curses/curses.c (curses_addstr): forgot to check argument + type (caused SEGV). now uses STR2CSTR() macro. + +Thu Mar 5 13:47:39 1998 Yukihiro Matsumoto + + * eval.c (block_pass): accepts method object as block args. + + * eval.c (f_missing): use any_to_s() for stringify. + +Wed Mar 4 01:39:52 1998 Yukihiro Matsumoto + + * parse.y (block_arg): new syntax - block argument in the + calling arglist. + + * eval.c (rb_call): no module search. simplified a lot. + + * eval.c (rb_eval): block arg support. + + * parse.y (f_block_arg): new syntax - block argument in the + formal arglist. + +Tue Mar 3 14:20:15 1998 Yukihiro Matsumoto + + * eval.c (obj_method): returns bound method object. + + * eval.c (rb_call): argument check for empty methods. + + * ruby.h (NUM2CHR): new macro, originally from curses module. + +Tue Mar 3 13:03:35 1998 MAEDA shugo + + * io.c (io_putc): new method. + +Tue Mar 3 11:21:28 1998 Yukihiro Matsumoto + + * string.c (str_inspect): more strict charcode detection. + + * eval.c (thread_stop): stopping only thread raises ThreadError + exception. + +Tue Mar 3 08:04:56 1998 Tadayoshi Funaba + + * struct.c (struct_alloc): incomplete struct initialization made + GC to access unallocated addresses. + +Mon Mar 2 16:28:27 1998 Yukihiro Matsumoto + + * eval.c (thread_stop_method): remove Thread#stop. + +Fri Feb 27 18:16:26 1998 Yukihiro Matsumoto + + * version 1.1b9 released. + +Fri Feb 27 09:36:35 1998 Yukihiro Matsumoto + + * hash.c (hash_delete_nil): needed to compare value to nil, since + nil is the valid key for hashes. + + * hash.c (hash_foreach_iter): rehashing causes IndexError. + + * hash.c (hash_foreach_iter): rehash check by pointer comparison. + +Thu Feb 26 17:22:13 1998 Yukihiro Matsumoto + + * parse.y (fname): convert reswords into symbols. + + * parse.y (reswords): reserved words are now embedded in the + syntax (sigh). + + * parse.y: now reserved words can be method names safely. + +Wed Feb 25 15:50:07 1998 Yukihiro Matsumoto + + * eval.c (mod_module_eval): clear the_scope's PRIVATE flag before + calling eval(). + + * gc.c (gc_call_finalizer_at_exit): run finalizers before any data + object being freed. + + * eval.c (rb_eval): needed to keep prot_tag->retval before + evaluating the ensure clause. + +Tue Feb 24 11:16:32 1998 Yukihiro Matsumoto + + * parse.y (yylex): reserved words can be appear as method names at + right after 'def' and `.'(dot), like foo.next. + + * eval.c (return_check): checks for return out of thread (formerly + done in return_value). + + * eval.c (POP_TAG): copy retval to outer level. + + * eval.c (return_value): just set retval, no check, no unwinding. + + * parse.y (nextc): line continuation by backslash at end of line. + + * regex.c (re_compile_pattern): forgot to clear pending_exact on + closing parentheses. + + * parse.y (assignable): should not assign dyna_var to true, if it + is already defined. + +Mon Feb 23 14:35:03 1998 Yukihiro Matsumoto + + * object.c (obj_is_kind_of): no longer accepts true/false/nil. + + * object.c ({true,false,nil}_to_i): can be converted into integers. + +Mon Feb 23 12:11:51 1998 Yukihiro Matsumoto + + * re.c (reg_s_quote): needed to be mbchar aware. + + * eval.c (proc_s_new): wrong iter mark. + +Sat Feb 21 22:59:30 1998 MAEDA shugo + + * io.c (f_syscall): no argument check. + +Fri Feb 20 10:17:51 1998 Yukihiro Matsumoto + + * version 1.1b8 released. + + * ext/kconv/kconv.c (kconv_kconv): default output code now be + determined according to the value of $KCODE. + + * re.c (rb_get_kcode): can retrieve $KCODE from C code. + + * parse.y (stmt): if/unless modifiers returns nil, if condition is + not established. + +Thu Feb 19 11:06:47 1998 Yukihiro Matsumoto + + * ext/kconv/kconv.c (kconv_kconv): charcode can be specified by + code name (JIS, SJIS, EUC like value of $KCODE). + + * regex.c (re_compile_pattern): forgot to fixup_jump for (?:..). + + * regex.c (re_compile_pattern): needed to clear pending_exact on + non-registering grouping (?:...). + +Wed Feb 18 19:54:21 1998 Yukihiro Matsumoto + + * parse.y (here_document): needed to set lex_state to EXPR_END. + +Wed Feb 18 18:45:10 1998 WATANABE Hirofumi + + * patches for cygwin32 applied. + +Wed Feb 18 00:41:31 1998 Yukihiro Matsumoto + + * string.c (str_sub_s): needed to be mbchar aware to increment one + character. + + * regex.c (re_match): \Z matches newline just before the end of + the string. + +Tue Feb 17 00:04:32 1998 Yukihiro Matsumoto + + * time.c (time_arg): Time.gm and Time.local now understands + Time#to_a format. + + * string.c (str_sub_s): replace happened twice for null pattern. + + * regex.c (re_search): null pattern should not match after newline + at the end of string. + + * time.c (time_isdst): now returns boolean value. + + * error.c (rb_check_type): treat special constants in messages. + + * parse.y (yylex): new form `::Const' to see toplevel constants. + + * parse.y (cond): SEGV on `if ()'. + + * gc.c (obj_free): some data needed explicit free(). + +Mon Feb 16 23:55:40 1998 Yukihiro Matsumoto + + * eval.c (blk_free): release duplicated block informations. + + * eval.c (blk_copy_prev): duplicate outer block information into + the heap, when proc/binding created. + +Mon Feb 16 14:38:25 1998 Yukihiro Matsumoto + + * time.c (time_mon): now 1 for January and so on. + + * time.c (time_year): year in 19xx (no + 1900 needed anymore). + +Mon Feb 16 13:28:33 1998 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): need to fetch mbchar's second byte + without translation. + +Mon Feb 16 12:29:27 1998 MAEDA shugo + + * eval.c (f_pass_block): pass iterator block to other method. + +Fri Feb 13 08:16:11 1998 Yukihiro Matsumoto + + * parse.y (parse_regx): handle \s before read_escape(). + + * parse.y (read_escape): `\s' in strings as space. + +Tue Feb 10 17:29:08 1998 Yukihiro Matsumoto + + * version 1.1b7 released. + + * string.c (str_aset): string insertion by `str[n] = str2'. + + * string.c (str_oct): does recognize `0x'. + + * sprintf.c (f_sprintf): use base 10 for conversion from string to + integer. + +Mon Feb 9 14:51:56 1998 Yukihiro Matsumoto + + * numeric.c (do_coerce): proper error message. + + * string.c (str_sum): bug - masked by wrong value. (sigh..) + +Sat Feb 7 15:11:14 1998 Yukihiro Matsumoto + + * string.c (str_empty): new method + +Fri Feb 6 01:42:15 1998 Yukihiro Matsumoto + + * time.c (time_asctime): use asctime(3), not strftime(3). + +Thu Feb 5 18:58:46 1998 Yukihiro Matsumoto + + * io.c (io_fptr_close): do not free path on close(). + + * array.c (ary_filter): new method. + + * enum.c (enum_each_with_index): new method. + +Thu Feb 5 14:10:35 1998 Yukihiro Matsumoto + + * parse.y (primary): singleton class def can be appeared inside + method bodies. + + * hash.c (hash_replace): replace content. + + * string.c (str_replace_method): replace content. + + * array.c (ary_replace_method): replace elements. + + * string.c (str_succ_bang): String#succ! + +Thu Feb 5 18:20:30 1998 WATANABE Hirofumi + + * string.c (str_upcase_bang): multi byte character support. + +Wed Feb 4 13:55:26 1998 Yukihiro Matsumoto + + * array.c (ary_reverse): SEGV on empty array reverse. + +Tue Feb 3 12:24:07 1998 Yukihiro Matsumoto + + * re.c (match_to_a): non matching element should be nil. + + * ruby.c (ruby_load_script): load script after all initialization. + + * bignum.c (str2inum): need to interpret prefix `0' of `0x'. + +Tue Feb 3 10:00:18 1998 WATANABE Hirofumi + + * numeric.c (fix_rshift): use `sizeof(INT)*8' instead of 32. + +Mon Feb 2 14:09:24 1998 Yukihiro Matsumoto + + * ruby.c (set_arg0): grab environment region too. + +Thu Jan 29 18:36:25 1998 WATANABE Hirofumi + + * process.c (rb_proc_exec): check `sh' to be exist. + +Thu Jan 29 18:18:19 1998 Yukihiro Matsumoto + + * io.c (io_stdio_set): assignment to $stdin or $stdout does + reopen() as well as $stderr. + +Thu Jan 29 14:18:40 1998 Yukihiro Matsumoto + + * class.c (mod_ancestors): should not include singleton classes. + + * object.c (obj_type): should not return internal class. + + * io.c (io_reopen): unwillingly closes stdio streams. + +Thu Jan 29 11:50:35 1998 Toshihiko SHIMOKAWA + + * ext/socket/socket.c (udp_addrsetup): forgot to use htons(). + +Tue Jan 27 23:15:24 1998 Yukihiro Matsumoto + + * keywords: __FILE__, __LINE__ are available again. + +Fri Jan 23 14:19:28 1998 Yukihiro Matsumoto + + * version 1.1b6 released. + + * object.c (mod_to_s): need to duplicate classpath. + + * error.c (exc_inspect): need to duplicate classpath. + +Thu Jan 22 00:37:47 1998 Yukihiro Matsumoto + + * ruby.h (STR2CSTR): new macro to retrieve char*. + + * class.c (rb_define_method): `initialize' should always be + private, even if it defined by C extensions. + + * eval.c (rb_eval): `initialize' should always be private. + +Thu Jan 22 16:21:08 1998 Yukihiro Matsumoto + + * eval.c (rb_eval): some singleton class def cause SEGV. + + * eval.c (TMP_ALLOC): replace ALLOCA_N, where thread context + switch may happen. + +Wed Jan 21 01:43:42 1998 Yukihiro Matsumoto + + * eval.c (PUSH_FRAME): do not use ALLOCA_N(). crash on some + platforms that use missing/alloca.c. + + * regex.c (re_compile_pattern): too many pops for non register + subexpr. + + * parse.y (yylex): open parentheses after identifiers are argument + list, even if whitespaces have seen. + +Tue Jan 20 15:19:59 1998 Yukihiro Matsumoto + + * parse.y (terms): quoted word list by %w(a b c). + + * ext/tcltklib/extconf.rb: more accurate check for tcl/tk libs. + + * file.c (rb_stat): most of the FileTest methods (and function + `test') accept File objects as the argument. + +Tue Jan 19 18:19:24 1998 WATANABE Hirofumi + + * ext/extmk.rb.in (install): there should be no newline after install: + + * re.c (MIN): renamed from min(). there's a local variable named + min in the file, so that some cpp will raise an error. + +Mon Jan 19 16:30:05 1998 Yukihiro Matsumoto + + * version 1.1b5 released. + + * process.c (rb_syswait): no exception raised. + +Fri Jan 16 00:43:43 1998 Yukihiro Matsumoto + + * ruby.h (CLONESETUP): copies its singleton classes too. + + * class.c (singleton_class_attached): saves binded object in the + singleton classes. + + * eval.c (rb_eval): calls singleton_method_added even in the + singleton class clauses. + +Fri Jan 15 23:22:43 1998 WATANABE Hirofumi + + * ruby.c (proc_options): -S does not recognize PATH. + +Thu Jan 15 02:03:12 1998 Yukihiro Matsumoto + + * eval.c (rb_clear_cache_by_id): clear only affected cache + entries. + +Wed Jan 14 02:14:48 1998 Yukihiro Matsumoto + + * ext/socket/socket.c: new UDP/IP socket classes. + +Tue Jan 13 10:00:18 1998 Yukihiro Matsumoto + + * string.c (str_cmp): ignorecase($=) works wrong. + +Fri Jan 9 13:19:55 1998 Yukihiro Matsumoto + + * version 1.1b4 released. + + * eval.c (f_missing): class name omitted from the error message. + + * error.c (exc_inspect): description changed. + + * string.c (Init_String): GlobalExit's superclass did not filled, + since GlobalExit created earlier than String. + +Thu Jan 8 12:10:09 1998 Yukihiro Matsumoto + + * parse.y (aryset): expr in the brackets can be null. + +Wed Jan 7 21:13:56 1998 Yukihiro Matsumoto + + * io.c (io_reopen): keep stderr unclosed. + + * io.c (io_errset): keep stderr unclosed. + +Tue Jan 6 00:27:43 1998 Yukihiro Matsumoto + + * parse.y: syntax modified for `while expr do .. end' etc. + + * process.c (f_exec,f_system): can supply arbitrary name for the + new process. + +Mon Jan 5 16:59:13 1998 WATANABE Hirofumi + + * file.c (file_s_basename): removes any extension by ".*". + +Sun Jan 4 19:36:22 1998 WATANABE Hirofumi + + * parse.y (yylex): needed to update lex_p (reading point). + +Sat Jan 3 19:14:14 1998 WATANABE Hirofumi + + * class.c,object.c: duplicate defines mKernel and cFinxnum. + +Fri Jan 2 20:38:59 1998 Yukihiro Matsumoto + + * ext/curses/curses.c (NUM2CHAR): uses the first character for + string arguments. + + * array.c (ary_fill): did not extend array for ranges. + + * array.c (beg_len): did not return end pos bigger than size. + +Fri Jan 2 02:09:16 1998 WATANABE Hirofumi + + * dir.c (dir_s_chdir): bug in nil check. + + * array.c (ary_fill): bug in nil check. + +Tue Dec 30 11:46:23 1997 Yukihiro Matsumoto + + * hash.c (env_path_tainted): checks directories in PATH + environment variable are not world writable. + + * ruby.c (load_file): invoke specified interpreter if the #! line + does not contain the word `ruby'. + +Fri Dec 26 03:26:41 1997 Yukihiro Matsumoto + + * string.c (uscore_get): type information included in the error + message. + + * variable.c (f_untrace_var): does not free trace-data within + trace procedure. + +Thu Dec 25 02:50:29 1997 Yukihiro Matsumoto + + * version 1.1b3 released. + + * ruby.h: inlining some functions on gcc 2.x + +Tue Dec 23 02:47:33 1997 Yukihiro Matsumoto + + * eval.c (rb_eval): public/private information kept in the current + scope, to remove undesired state from the class/module. + + * time.c (time_strftime): remove hidden limit of 100 bytes of + result string, using malloc'ed buffer. + + * hash.c (hash_update): merges the contents of another hash, + overriding existing keys. + + * regex.c (must_instr): totally re-written. + + * io.c (read_all): try to allocate proper sized buffer using + fstat(2) for speedup. + +Sat Dec 20 00:27:28 1997 Yukihiro Matsumoto + + * regex.c (must_instr): need to skip 2 bytes for mbchars. + +Fri Dec 19 01:18:29 1997 Yukihiro Matsumoto + + * version 1.1b2 released. + + * eval.c (check_errat): check and convert (if necessary) traceback + information before assigning to the variable $@. + + * eval.c (f_raise): optional third argument to specify traceback + information. + + * io.c (f_open): prevent infinite recursive call. + +Thu Dec 18 19:33:47 1997 Yukihiro Matsumoto + + * string.c (str_rindex): now accepts regexp as index. + +Thu Dec 18 18:42:50 1997 WATANABE Hirofumi + + * ext/socket/extconf.rb: modified to detect win32 socket lib. + +Thu Dec 18 00:25:03 1997 Yukihiro Matsumoto + + * re.c (reg_equal): checks for source and casefold and kcode matching. + + * marshal.c: became built-in module. + + * ext/marshal/marshal.c (r_object): displays struct name for + non-compatible struct. + + * string.c (str_index_method): now searches character (fixnum) in + the string. + + * string.c (str_include): redefine `include?'. + + * regex.c (re_match): start_nowidth saves current stack position + to stop_nowidth. + + * regex.c (re_compile_pattern): add space to stop_nowidth to save + runtime stack position. + +Tue Dec 16 14:57:43 1997 Yukihiro Matsumoto + + * string.c (scan_once): wrong exception for regexp that match with + null string (use substr instead of subseq). + +Sat Dec 13 00:13:32 1997 Yukihiro Matsumoto + + * parse.y (expr): remove bare assocs from expr rule. + + * rbconfig.rb: renamed from config.rb (it was too generic name). + +Fri Dec 12 00:50:25 1997 Yukihiro Matsumoto + + * parse.y (expr): warns if BEGIN or END appear in the method + bodies. + + * string.c (str_match): calls y =~ x if y is neither String nor + Regexp so that eregex.rb works. + + * eval.c (f_at_exit): to register end proc. + + * class.c (rb_define_module_function): define 'function' method + for the Module, not private method. + + * class.c (rb_define_function): function to define `function' method. + + * eval.c (rb_eval): inherit visibility from superclass's method + except when it is set to `function' + + * eval.c (rb_eval): new visibility status `function'. + + * parse.y (yycompile): do not clear eval_tree. thus enable multiple + command line script by option `-e'. + + * eval.c (rb_eval): END execute just once. + + * parse.y (expr): BEGIN/END built in the syntax. + +Thu Dec 11 13:14:35 1997 Yukihiro Matsumoto + + * object.c (mod_le): Module (or Class) comparison. + + * eval.c (rb_remove_method): raises NameError if named method does + not exist. + + * ext/curses/curses.c: remove CHECK macro for BSD curses. + +Thu Dec 11 12:44:01 1997 WATANABE Hirofumi + + * pack.c: sun4 cc patch + +Wed Dec 10 15:21:36 1997 Yukihiro Matsumoto + + * ext/marshal/marshal.c (marshal_load): can supply evolution proc + object as optional second argument. + + * re.c (reg_source): get source string of the regular expression. + +Tue Dec 9 10:05:17 1997 Yukihiro Matsumoto + + * version 1.1b1 released. + + * parse.y (tokadd): token buffer overrun. + + * ruby.c (ruby_prog_init): forgot to protect rb_argv0 from gc. + + * eval.c (ruby_run): call finalizers at process termination. + + * gc.c (gc_call_finalizer_at_exit): call free proc for every Data + Wrapper, and finalizer for specified objects at termination. + + * version.c (show_version): version format changed. + + * regex.c (re_match): wrong match with non-greedy if they appear + more than once in regular expressions. + + * sample/ruby-mode.el (ruby-expr-beg): forgot to handle modifiers. + +Mon Dec 8 19:00:15 1997 Yukihiro Matsumoto + + * io.c (io_puts): just put a newline if no argument given. + + * ext/tcltklib/tcltklib.c (lib_mainloop): thread-aware tk handle + when $tk_thread_safe is set. + + * ext/tcltklib/tcltklib.c (lib_mainloop): use Tcl_DoOneEvent() + instead of Tk_MainLoop(). + +Mon Dec 6 07:11:16 1997 MAEDA shugo + + * io.c (io_puts): core dumped without any argument. + +Fri Dec 5 18:17:17 1997 Yukihiro Matsumoto + + * eval.c (mod_remove_method): remove (not undef) a method from the + class/module. + + * variable.c (obj_remove_instance_variable): method to remove + instance variables. + +Thu Dec 4 13:50:29 1997 Yukihiro Matsumoto + + * version 1.1b0 released. + + * string.c (str_aref): called str_index for regexp. + +Mon Dec 1 15:24:41 1997 Yukihiro Matsumoto + + * compar.c (cmp_between): wrong comparison made. + +Wed Nov 26 18:18:05 1997 Yukihiro Matsumoto + + * lib/mkmf.rb: generate Makefile for extension modules out of ruby + source tree. use like `ruby -r mkmf extconf.rb'. + + * numeric.c (fix2str): enlarge buffer to prevent overflow on some + machines. + + * parse.y (here_document): wrong line number generated after here-doc. + +Fri Nov 21 13:17:12 1997 Yukihiro Matsumoto + + * parse.y (yylex): skip multibyte characters in comments. + +Wed Nov 19 17:19:20 1997 Yukihiro Matsumoto + + * object.c (nil_to_a): nil.to_a => []. + + * parse.y (call_args): wrong node generation. + +Tue Nov 18 10:13:08 1997 Yukihiro Matsumoto + + * array.c (Init_Array): Array#=== works as Array#include? + + * regex.c (re_compile_pattern): insert initialize code for jump_n, + before entering loops. + + * re.c (reg_search): does not save registers unless $& etc appear + in the script. + +Mon Nov 17 13:01:43 1997 Yukihiro Matsumoto + + * eval.c (is_defined): add defined? check for receivers and + arguments for calls. + + * re.c (reg_search): cache last match object. + + * re.c (match_aref): $[0] etc. are available. + +Sat Nov 15 00:11:36 1997 WATANABE Hirofumi + + * io.c (io_s_popen): "rb" detection + +Fri Nov 14 18:28:40 1997 Yukihiro Matsumoto + + * string.c (scan_once): returns whole match if the pattern does + not contain any parentheses. + +Thu Nov 13 14:39:06 1997 Yukihiro Matsumoto + + * string.c (str_sub): returns copy of the receiver string, even if + any substitution occurred. + + * regex.c (re_compile_pattern): no-width match by (?=..), (?!..). + +Wed Nov 12 13:44:47 1997 Yukihiro Matsumoto + + * time.c: remove coerce from Time class. + + * regex.c (re_match): non-greedy match by ??, *? +?, {n,m}?. + +Mon Nov 10 11:24:51 1997 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): non-registering parens (?:..). + + * regex.c (re_compile_pattern): new meta character \< (wordbeg) + and \> (wordend). + + * regex.c (re_compile_pattern): embedded comment for regular + expression by (?#...). + +Fri Nov 7 16:58:24 1997 Yukihiro Matsumoto + + * regex.c (re_compile_pattern): perl5 regexp \A and \Z available. + + * regex.c (re_compile_pattern): can expand compile stack dynamically. + + * regex.c (PUSH_FAILURE_POINT): wrong compare condition. + +Wed Nov 2 16:00:00 1997 WATANABE Hirofumi + + * string.c (str_sub_s): "".sub! "", "" => "\000" + +Fri Oct 31 15:52:10 1997 Yukihiro Matsumoto + + * parse.y (assoc): keyword assoc like {fg->"black"}. + +Thu Oct 30 17:33:38 1997 Yukihiro Matsumoto + + * io.c (io_println): print with newline, which is not affected by + the values of $/ and $\. + +Thu Oct 30 16:54:01 1997 WATANABE Hirofumi + + * string.c (str_chop_bang): "".chop caused SEGV. + + * string.c (str_chomp_bang): method to chop out last newline. + +Mon Oct 27 13:49:13 1997 Yukihiro Matsumoto + + * ext/extmk.rb.in: library may have pathname contains `.' + + * eval.c (rb_rescue): should not protect SystemError. + +Fri Oct 24 10:58:53 1997 Yukihiro Matsumoto + + * io.c (io_s_with_open_stream): ensures to close stream. + +Thu Oct 23 11:17:44 1997 Yukihiro Matsumoto + + * io.c (io_errset): value of $stderr can be changed (to any IO + object). + + * io.c (next_argv): $< can be anything that responds to `write'. + + * file.c (file_s_with_open_file): ensures to close file. + + * error.c (exception): create error under the current class/module. + + * range.c (range_eqq): fixnum check for last needed too. + +Wed Oct 22 12:52:30 1997 Yukihiro Matsumoto + + * ext/socket/socket.c: Socket::Constants added. + + * file.c: File::Constants added for inclusion. + + * array.c (ary_join): call ary_join() recursively for the 1st + array element. + +Mon Oct 20 12:18:29 1997 WATANABE Hirofumi + + * ruby.c (load_file): wrong condition for #! check with -x. + + * file.c (file_s_dirname): did return "" for "/a". + +Fri Oct 17 14:29:09 1997 Yukihiro Matsumoto + + * ruby.c: now works on alpha-linux. + + * bignum.c (bigadd): some undefined side effect order assumed. + +Wed Oct 15 17:49:24 1997 Yukihiro Matsumoto + + * intern.h: function prototypes added. + +Mon Oct 13 16:54:18 1997 Yukihiro Matsumoto + + * class.c (rb_define_class_id): call superclass's `inherited' + method when making subclasses. + + * parse.y (nextc): clear lex_lastline at the end of file. + + * object.c (Init_Object): need to undef Class#append_features. + + * eval.c (rb_eval): no warning on extending classes or modules. + +Thu Oct 9 11:17:50 1997 Yukihiro Matsumoto + + * eval.c (error_print): the exception name follows after the error + message. + + * eval.c (compile_error): error message slightly changed. + + * parse.y (nextc): script parsing will be terminated by __END__ at + beginning of line. + + * eval.c (compile_error): `__END__' is no longer a keyword. + + * parse.y (nextc): protect lastline read from script stream. + +Tue Oct 7 14:06:06 1997 Yukihiro Matsumoto + + * version 1.1 alpha9 released. + + * eval.c (mod_append_features): renamed from extend_class. + + * eval.c (rb_eval): defining method calls `method_added'. + + * eval.c (ruby_options): exception while processing options must + terminate the interpreter. + + * error.c (Init_Exception): wrong method configuration. `new' + should have been a singleton method. + +Mon Oct 6 18:55:38 1997 Yukihiro Matsumoto + + * ext/kconv/kconv.c (kconv_guess): code to guess character code + from string. + +Mon Oct 6 18:38:17 1997 WATANABE Hirofumi + + * pack.c: now encode/decode base64 by `m' template. + +Fri Oct 3 10:51:10 1997 Yukihiro Matsumoto + + * MANIFEST: needed to include lex.c in the distribution. + + * eval.c (ruby_options): f_require() called too early. + + * eval.c (rb_provide): module extensions should always be `.o'. + +Thu Oct 2 11:38:31 1997 Yukihiro Matsumoto + + * version 1.1 alpha8 released. + + * ext/marshal/marshal.c (r_object): remove temporal regist for + structs. (caused problem if structs form cycles.) + + * parse.y (match_gen): static binding for match(=~) calls + with regexp literals. + +Wed Oct 1 15:26:55 1997 Yukihiro Matsumoto + + * eval.c: protect retval in struct tag from GC for C_ALLOCA. + + * eval.c: no more pointer value from setjmp/longjmp. + +Wed Oct 1 14:01:49 1997 WATANABE Hirofumi + + * ext/marshal/marshal.c (w_byte): argument must be char. + +Wed Oct 1 10:30:22 1997 Yukihiro Matsumoto + + * variable.c (mod_const_at): global constants now belongs to the + class Object. + + * object.c (Init_Object): new global constant NIL. + + * ext/marshal/marshal.c (marshal_dump): try to set binmode. + + * ext/marshal/marshal.c (r_object): forgot to re-regist structs in + the object table. + + * eval.c (ruby_options): call Init_ext() before any require() + calls by `-r'. + +Fri Sep 30 14:29:22 1997 WATANABE Hirofumi + + * ext/marshal/marshal.c (w_object): marshal dumped core. + +Tue Sep 30 10:27:39 1997 Yukihiro Matsumoto + + * sample/test.rb: bignum test suits added. + + * eval.c (rb_eval): new pseudo variable `true' and `false'. + + * parse.y: new keywords `true' and `false' added. + +Mon Sep 29 13:37:58 1997 Yukihiro Matsumoto + + * ruby.c (forbid_setid): forbid some options in suid mode. + + * ruby.h (NUM2DBL): new macro to convert into doubles. + +Mon Sep 27 09:53:48 1997 EGUCHI Osamu + + * bignum.c: modified for speeding. + +Fri Sep 26 18:27:59 1997 WATANABE Hirofumi + + * sample/from.rb: some extensions. + +Mon Sep 29 13:15:56 1997 Yukihiro Matsumoto + + * parse.y (lhs): no more syntax error on `obj.CONSTANT = value'. + +Fri Sep 26 14:41:46 1997 Yukihiro Matsumoto + + * eval.c (ruby_run): deferred calling Init_ext() just before eval_node. + +Fri Sep 26 13:27:24 1997 WATANABE Hirofumi + + * io.c (io_isatty): forgot to return TRUE value. + +Fri Sep 25 11:10:58 1997 EGUCHI Osamu + + * eval.c: use _setjmp/_longjmp instead of setjmp/longjmp on some + platforms. + +Wed Sep 24 17:43:13 1997 Yukihiro Matsumoto + + * string.c (Init_String): String#taint and String#taint? added. + + * class.c (mod_ancestors): ancestors include the class itself. + +Wed Sep 24 00:57:00 1997 Katsuyuki Okabe + + * X68000 patch. + +Tue Sep 23 20:42:30 1997 EGUCHI Osamu + + * parse.y (node_newnode): SEGV on null node setup. + +Mon Sep 22 11:22:46 1997 Yukihiro Matsumoto + + * ruby.c (ruby_prog_init): wrong safe condition check. + +Sun Sep 21 14:46:02 1997 MAEDA shugo + + * error.c (exc_inspect): garbage added to classpath. + +Fri Sep 19 11:49:23 1997 Yukihiro Matsumoto + + * parse.y (newtok): forgot to adjust buffer size when shrinking + the token buffer. + + * enum.c (enum_find): rb_eval_cmd() does not return value. + + * io.c (pipe_open): close fds on pipe exec. fcntl(fd, F_SETFD, 1) + no longer used. + +Tue Sep 16 17:54:25 1997 Yukihiro Matsumoto + + * file.c (f_test): problem if wrong command specified. + + * ruby.c (ruby_prog_init): close stdaux and stdprn for MSDOS. + + * ruby.c (ruby_prog_init): should not add path from environment + variable, if ruby is running under setuid. + + * process.c (init_ids): check suid check for setuid/seteuid etc. + +Mon Sep 15 00:42:04 1997 WATANABE Hirofumi + + * regex.c (re_compile_pattern): \w{3} and \W{3} did not work. + +Thu Sep 11 10:31:48 1997 Yukihiro Matsumoto + + * version 1.1 alpha7 released. + + * ext/socket/socket.c (sock_new): no setbuf() for NT. + + * io.c (rb_fopen,rb_fdopen): set close-on-exec for every fd. + +Wed Sep 10 15:55:31 1997 Yukihiro Matsumoto + + * ext/marshal/marshal.c (r_bytes0): extra big length check. + +Tue Sep 9 16:27:14 1997 Yukihiro Matsumoto + + * io.c (pipe_fptr_atexit): clean up popen()'ed fptr. + + * error.c (set_syserr): some system has error code that is bigger + than sys_nerr. grrr. + +Mon Sep 8 18:33:33 1997 Yukihiro Matsumoto + + * io.c (io_s_new): dereferenced nil for optional mode. + +Fri Sep 5 10:26:03 1997 Yukihiro Matsumoto + + * class.c (class_instance_methods): do not include methods which + are changed to private in subclasses. + +Thu Sep 4 12:38:53 1997 Yukihiro Matsumoto + + * variable.c (f_global_variables): list name of the global + variables. + + * object.c (obj_id): returns unique integer. + +Wed Sep 3 14:05:16 1997 Yukihiro Matsumoto + + * version 1.1 alpha6 released. + + * eval.c (mod_s_constants): context sensitive constant list. + + * variable.c (mod_constants): no more `all' option. + + * variable.c (mod_const_of): the values for autoload classes are + their name strings. + + * class.c (class_instance_methods): no special treatment for + singleton classes. + + * object.c (obj_singleton_methods): returns list of singleton + method names. + + * parse.y (yylex): no here document after `class' keyword. + + * eval.c (f_load): expand path if fname begins with `~'. + +Tue Sep 2 13:19:48 1997 Yukihiro Matsumoto + + * class.c (ins_methods_i): do not list undef'ed methods. + +Mon Sep 1 13:42:48 1997 Yukihiro Matsumoto + + * version 1.1 alpha5 released. + + * object.c (mod_attr_reader): create methods to define attribute + reader/write/accessor. + + * class.c (rb_define_attr): always defines accessors. + + * eval.c (rb_call): alias occurred in the module body caused SEGV. + + * parse.y: did not generate here document strings properly. + +Mon Sep 1 11:43:57 1997 WATANABE Hirofumi + + * parse.y (yylex): heredoc dropped an extra character. + +Fri Aug 29 11:10:21 1997 Yukihiro Matsumoto + + * class.c (class_instance_methods): same method names should not + appear more than once. + + * parse.y (yylex): spaces can follow =begin/=end. + + * variable.c (find_class_path): look for class_tbl also for + unnamed fundamental classes, such as Object, String, etc. + + * variable.c (rb_name_class): can't name class before String class + is initialized. + + * inits.c (rb_call_inits): unrecognized dependency from GC to + Array. + + * variable.c (find_class_path): could not find class if Object's + iv_tbl is NULL. + +Thu Aug 28 13:12:05 1997 Yukihiro Matsumoto + + * version 1.1 alpha4 released. + + * variable.c (mod_constants): wrong condition for singleton + class. + + * parse.y (yylex): revised `=begin' skip code. + + * parse.y (here_document): forgot to free(eos). + + * parse.y (yylex): spaces after `<<' prohibited for here + documents to avoid confusing with operator `<<'. + + * eval.c (is_defined): separated from rb_eval(). + +Wed Aug 27 11:32:42 1997 Yukihiro Matsumoto + + * version 1.1 alpha3 released. + + * variable.c (mod_name): returns name of the class/module. + + * parse.y (here_document): finally here document available now. + + * variable.c (fc_i): some classes/modules does not have iv_tbl. + + * variable.c (find_class_path): avoid infinite loop. + +Tue Aug 26 13:43:47 1997 Yukihiro Matsumoto + + * eval.c (rb_eval): undef'ing non-existing method will raise + NameError exception. + + * object.c (class_s_new): needed to create metaclass too. + + * eval.c (error_print): no class name print for anonymous class. + + * eval.c (rb_longjmp): proper exception raised if raise() called + without arguments, with $! or $@ set. + + * object.c (Init_Object): superclass()'s method argument setting + was wrong again. + + * class.c (mod_ancestors): list superclasses and included modules + in priority order. + +Mon Aug 25 11:53:11 1997 Yukihiro Matsumoto + + * version 1.1 alpha2 released. + + * sample/ruby-mode.el (ruby-parse-region): auto-indent now + supports "\\" in the strings. + + * struct.c (struct_getmember): new API to get member value from C + language side. + +Sat Aug 23 21:39:05 1997 Yukihiro Matsumoto + + * parse.y (assignable): remove unnecessary local variable + initialize by nil. + +Fri Aug 22 14:26:40 1997 Yukihiro Matsumoto + + * eval.c (error_print): modified exception print format. + +Thu Aug 21 16:10:58 1997 Yukihiro Matsumoto + + * sample/ruby-mode.el (ruby-calculate-indent): wrong indent level + calculated with keyword operators. + +Thu Aug 21 11:36:58 1997 WATANABE Hirofumi + + * parse.y (arg): ary[0] += 1 cause SEGV + +Wed Aug 20 17:28:50 1997 Yukihiro Matsumoto + + * ruby.c (ruby_process_options): require() all modules after + processing all options + + * process.c (rb_proc_exec): more security checks added. + + * process.c (rb_proc_exec): insecure path on exec. + + * hash.c (f_getenv): PATH modification security check. + +Tue Aug 19 00:15:38 1997 Yukihiro Matsumoto + + * version 1.1 alpha1 released. + + * eval.c (mod_eval): work as normal eval() if second binding + argument given. + + * eval.c (rb_call): did not raise ArgumentError if too many + arguments more than optional arguments (without rest arg). + + * eval.c (rb_eval): did not work well for op_asgn2 (attribute + self assignment). + + * eval.c (Init_Thread): returns main thread. + +Mon Aug 18 09:25:56 1997 Yukihiro Matsumoto + + * object.c (inspect_i): did not display T_DATA instance variables. + + * parse.y: provides more accurate line number information. + + * eval.c (thread_value): include value's backtrace information in + the variable `$@'. + + * eval.c (f_abort): print backtrace and exit. + +Sat Aug 16 00:17:44 1997 Yukihiro Matsumoto + + * eval.c (class_new_instance): do not make instance from virtual + classes. + + * object.c (class_s_new): do not make subclass of singleton class. + +Fri Aug 15 15:49:46 1997 Yukihiro Matsumoto + + * eval.c (call_trace_func): block context switch in the trace + function. + + * eval.c (rb_eval): clear method cache at class extension. + + * object.c (obj_type): returns object's class even if it defines + singleton methods. + +Fri Aug 15 19:40:43 1997 WATANABE Hirofumi + + * ext/socket/socket.c (Init_socket): small typo caused SEGV. + +Wed Aug 13 17:51:46 1997 Yukihiro Matsumoto + + * version 1.1 alpha0 released. + +Local variables: +add-log-time-format: (lambda () + (let* ((time (current-time)) + (diff (+ (cadr time) 32400)) + (lo (% diff 65536)) + (hi (+ (car time) (/ diff 65536)))) + (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t))) +indent-tabs-mode: t +tab-width: 8 +end: diff --git a/doc/NEWS b/doc/NEWS index bfacf172ca..f2707b4fef 100644 --- a/doc/NEWS +++ b/doc/NEWS @@ -12,6 +12,10 @@ %W(...) notation, word list literal like %w(...) with the exception that #{} interpolation is allowed. +: arbitrary delimited symbol literl + + :"foo", :"foo#{bar}", etc. + : expression interpolation in strings Now arbitrary statements are allowed inside #{} interpolation @@ -39,6 +43,10 @@ Extended to take an optional expression, which is used as a value for termination. +: direct assignment to Foo::Bar is allowed + + also, you can define "class Foo::Bar; end". + = language core : $stdin, $stdout, $stderr @@ -46,6 +54,10 @@ can be assignable again. the original stdio are preserved as STDIN, STDOUT, STDERR. +: $VERBOSE now has 3 levels + + nil - silence, false - medium (default), true - verbose + : allocation framework any instance of class can be allocated by class.allocate, @@ -68,6 +80,9 @@ improved at the performance of searching by using an internal hash table. + calls const_missing method of the class/module, if constant is not + found in the look up path. + : expression parenthesis in the first argument altered to get the following code (note the space after p): @@ -117,75 +132,46 @@ = changes in core class library -: Marshal to use marshal_dump and marshal_load - - if a dumping object responds to 'marshal_dump', Marshal.dump calls - it, and dumps object returned. Marshal.load allocates a new instance - using "allocate", then calls its "marshal_load" with dumped data. - Marshal format version is now 4.8 (was 4.6 in 1.6.8). - -: Thread#group - - new method to get belonging ThreadGroup. - -: Kernel#warn(message) - - a method to give warnings. - -: Process::detach(pid) - - new method to detach child process. child process will be "wait"ed - automagically. +: open -: Object#instance_variable_set, Object#instance_variable_get + Extended so that when the third argument is permission flags it + calls open(2) instead of fopen(3). - added. +: sprintf -: Class#inherited + new format specifier "%p" is available. - Method is called when Class is inherited by another class. +: lambda and proc - class A; end - def A.inherited(by) - puts "A inherited by #{by.inspect}" - end - class B < A; end + Proc object returns from these methods has the following attributes: - Prints out "A inherited by B" + * strict argument number check + * break and return terminates the proc execution. -: String#split +: warn(message) - if "sep" argument is a string, regular expression meta characters - are escaped internally. + a method to give warnings. -: String#to_i +: abort() - Now accepts optional base argument. + takes optional terminate message argument. - "101".to_i(10) => 101 - "101".to_i(2) => 5 - "101".to_i(8) => 65 - "101".to_i(16) => 257 +: Object#initialize_copy - A base argument of 0 guesses at the base. + copy constructor for clone and dup. - "101".to_i(0) => 101 - "0b101".to_i(0) => 5 - "0101".to_i(0) => 65 - "0x101".to_i(0) => 257 - -: SystemCallError +: Object#instance_variable_set, Object#instance_variable_get - SystemCallError's "===" match (used in rescue also) is now based on its errno. + added. -: IO::sysopen +: Object#singleton_method_removed +: Object#singleton_method_undefined - New method to get a raw file descriptor. + Added. -: open +: Array#transpose - Extended so that when the third argument is permission flags it - calls open(2) instead of fopen(3). + added. : Array#fetch(index [, default]) @@ -215,44 +201,10 @@ Beware that this behavior is not guaranteed to continue in the future. Do not rely on its return value. [ruby-dev:12506] -: Thread#join - - Optional argument limits maximum time to wait the thread in second. - And returns nil if timed out. - : Array#filter Previously deprecated, now removed. Use Array#collect!. -: IO#sysseek - - Added. - -: IO - - 64bit off_t support by Janathan Baker. - -: abort() - - Takes optional terminate message argument. - -: IO.fsync - - New method that copies all in-memory parts of a file to disk and - waits until the device reports that all parts are on stable storage. - Implemented with fsync(2) or equivalent. - -: Dir#pos= - - Returns the new position instead of self. - -: Dir::glob - - Now accepts optional FNM_* flags via the second argument, whereas - Dir::[] doesn't. - - Dir.glob("makefile", File::FNM_CASEFOLD) #=> ['Makefile', 'makefile'] - : Array#pack, String#unpack Allows comment in template strings. @@ -276,51 +228,130 @@ Takes block to get the default value. +: Array#zip + + added. + : Hash#update Takes block to resolve key conflict. -: IO#fsync +: Hash#merge and Hash#merge! + + update hash. Hash#merge! is a synonym of Hash#update. + +: String#split + + if "sep" argument is a string, regular expression meta characters + are escaped internally. + +: String#rstrip + + chop off NULs at the end of strings. + +: String#to_i + + Now accepts optional base argument. + + "101".to_i(10) => 101 + "101".to_i(2) => 5 + "101".to_i(8) => 65 + "101".to_i(16) => 257 + + A base argument of 0 guesses at the base. + + "101".to_i(0) => 101 + "0b101".to_i(0) => 5 + "0101".to_i(0) => 65 + "0x101".to_i(0) => 257 + +: String#[regexp, nth] + + Extended to accepts optional second argument. + + It tries match between self and REGEXP, then returns the + content of the NTH regexp register. + +: String#casecmp + + Added. This is a case insensitive version of String#<=>. + +: String#chomp + + If $/ == "\n", chops off last newlines (any of \n, \r, \r\n). + +: String#eql? + + Changed to be always case sensitive. + +: String#insert(n, other) Added. -: Dir#path + This is much the same as (({str[n, 0] = other})) except returing + self. + +: String#lstrip, rstrip, lstrip!, rstrip! + + Added. These strip only left or right part of a string. + +: String#match Added. -: Dir.chdir +: String/Array methods - Extended to take a block. + Returns an instance of receivers class. -: Dir.glob +: String.new - Made to support meta-character escaping by a backslash. Wildcards - and spaces may now be escaped using a backslash. + The first argument becomes optional. -: Dir.open +: Symbol#intern - Changed to return what the block returns when a block is given, just - as File.open does. (It always returned (({nil})) in 1.6 and - prior) + Added. -: Dir.chdir +: Symbol.all_symbols - Changed to warn only when invoked from multiple threads or no block - is given. [ruby-dev:13823] + Added. [ruby-dev:12921] - Dir.chdir('foo') { - Dir.chdir('bar') { # previously warned - puts Dir.pwd - } - } +: IO -: Enumerable#all? -: Enumerable#any? -: Enumerable#inject -: Enumerable#sort_by + 64bit off_t support by Janathan Baker. + +: IO#read +: IO#sysread + + takes optinal second argument for read buffer. + +: IO::sysopen + + New method to get a raw file descriptor. + +: IO#sysseek Added. +: IO#fsync + + new method that copies all in-memory parts of a file to disk and + waits until the device reports that all parts are on stable storage. + Implemented with fsync(2) or equivalent. + +: IO.open + + Made public. Can only associate an IO object with a file number + like IO.new and IO.for_fd, but can take a block. + +: IO.for_fd + + Added as a synonym for IO.new. + +: IO.read + + Added. Like IO.readlines, except it returns the entire file as a + string. [ruby-talk:9460] + : File#fnmatch, File::Constants::FNM_* Added. Refer to the fnmatch(3) manpage for details. @@ -343,44 +374,70 @@ File mode can be specified by flags like open(2), e.g. File::open(path, File::CREAT|File::WRONLY). -: IO.open +: Regexp#options - Made public. Can only associate an IO object with a file number - like IO.new and IO.for_fd, but can take a block. + Added. -: IO.for_fd +: Regexp.last_match(n) - Added as a synonym for IO.new. + Extended to take an optional argument. -: IO.read +: MatchData#captures - Added. Like IO.readlines, except it returns the entire file as a - string. [ruby-talk:9460] + added. -: Interrupt +: Dir#path - Made a subclass of SignalException. (It was a subclass of - Exception in 1.6 and prior) + Added. -: Marshal +: Dir.chdir - Fixed not to dump anonymous classes/modules. + Extended to take a block. - Fixed with loading modules. +: Dir.glob -: Math.acos(x) -: Math.asin(x) -: Math.atan(x) -: Math.cosh(x) -: Math.hypot(x,y) -: Math.sinh(x) -: Math.tanh(x) + Made to support meta-character escaping by a backslash. Wildcards + and spaces may now be escaped using a backslash. - Added. +: Dir.open -: Method#== + Changed to return what the block returns when a block is given, just + as File.open does. (It always returned (({nil})) in 1.6 and + prior) - Added. +: Dir.chdir + + Changed to warn only when invoked from multiple threads or no block + is given. [ruby-dev:13823] + + Dir.chdir('foo') { + Dir.chdir('bar') { # previously warned + puts Dir.pwd + } + } + +: Dir#pos= + + Returns the new position instead of self. + +: Dir::glob + + Now accepts optional FNM_* flags via the second argument, whereas + Dir::[] doesn't. + + Dir.glob("makefile", File::FNM_CASEFOLD) #=> ['Makefile', 'makefile'] + +: Class#inherited + + Method is called when Class is inherited by another class. + + class A; end + def A.inherited(by) + puts "A inherited by #{by.inspect}" + end + class B < A; end + + Prints out "A inherited by B" : Module#include? @@ -399,128 +456,143 @@ Extended to take block. -: NameError and NoMethodError +: Time - Moved and now NoMethodError < NameError < StandardError. + Extended to accept a negative time_t. (Only when the platform + supports it) -: NoMethodError + p Time.at(-1) + => Thu Jan 01 08:59:59 JST 1970 - Added. [ruby-dev:12763] +: Time#to_a +: Time#zone -: NotImplementError + Made to return "UTC" under gmtime. It used to return a platform + dependent value, typically "GMT", in 1.6 and prior. - Finally obsoleted. Use NotImplementedError. +: Marshal to use marshal_dump and marshal_load -: Object#singleton_method_removed -: Object#singleton_method_undefined + if a dumping object responds to 'marshal_dump', Marshal.dump calls + it, and dumps object returned. Marshal.load allocates a new instance + using "allocate", then calls its "marshal_load" with dumped data. + Marshal format version is now 4.8 (was 4.6 in 1.6.8). - Added. +: Marshal -: Proc#== + Fixed not to dump anonymous classes/modules. - Added. + Fixed with loading modules. -: Process.times +: Thread#group - Moved from Time.times. (Time.times still remains but emits a - warning) + new method to get belonging ThreadGroup. -: Process.waitall +: Thread#terminate - Added. + synonym of Thread#exit -: Process::Status +: Thread#join - Added. (({$?})) is now an instance of this class. + Optional argument limits maximum time to wait the thread in second. + And returns nil if timed out. -: Range#step([step=1]) +: ThreagGroup#enclose - Added. + prohibits thread movement from/to enclosed groups. -: Regexp#options +: Range#step([step=1]) Added. -: Regexp.last_match(n) - - Extended to take an optional argument. +: SystemCallError -: Signal + SystemCallError's "===" match (used in rescue also) is now based on its errno. - Added. This module has module functions Signal.trap and Signal.list. +: Interrupt -: String#[regexp, nth] + Made a subclass of SignalException. (It was a subclass of + Exception in 1.6 and prior) - Extended to accepts optional second argument. +: NameError and NoMethodError - It tries match between self and REGEXP, then returns the - content of the NTH regexp register. + Moved and now NoMethodError < NameError < StandardError. -: String#casecmp +: NoMethodError - Added. This is a case insensitive version of String#<=>. + Added. [ruby-dev:12763] -: String#chomp +: NotImplementError - If $/ == "\n", chops off last newlines (any of \n, \r, \r\n). + Finally obsoleted. Use NotImplementedError. -: String#eql? +: SystemCallError.=== - Changed to be always case sensitive. + Added. (See the "Comparison of exception classes in a rescue clause" + paragraph above) [ruby-dev:12670] -: String#insert(n, other) +: SystemExit#status Added. - This is much the same as (({str[n, 0] = other})) except returing - self. - -: String#lstrip, rstrip, lstrip!, rstrip! +: Proc#== - Added. These strip only left or right part of a string. + Added. -: String#match +: Method#== Added. -: String/Array methods +: UnboundMethod is no longer subclass of Method - Returns an instance of receivers class. + class hierarchy changed. -: String.new +: Enumerable#all? +: Enumerable#any? +: Enumerable#inject +: Enumerable#sort_by - The first argument becomes optional. + Added. -: Symbol#intern +: Math.acos(x) +: Math.asin(x) +: Math.atan(x) +: Math.cosh(x) +: Math.hypot(x,y) +: Math.sinh(x) +: Math.tanh(x) Added. -: Symbol.all_symbols +: Process.abort +: Process.exit - Added. [ruby-dev:12921] + synonym of Kernel#abort, and Kernel#exit respectively. -: SystemCallError.=== +: Process::detach(pid) - Added. (See the "Comparison of exception classes in a rescue clause" - paragraph above) [ruby-dev:12670] + new method to detach child process. child process will be "wait"ed + automagically. -: SystemExit#status +: Process.times + + Moved from Time.times. (Time.times still remains but emits a + warning) + +: Process.waitall Added. -: Time +: Process::Status - Extended to accept a negative time_t. (Only when the platform - supports it) + Added. (({$?})) is now an instance of this class. - p Time.at(-1) - => Thu Jan 01 08:59:59 JST 1970 +: Process::UID, Process::GID, Process::Sys, -: Time#to_a -: Time#zone + Added. - Made to return "UTC" under gmtime. It used to return a platform - dependent value, typically "GMT", in 1.6 and prior. +: Signal + + Added. This module has module functions Signal.trap and Signal.list. = changes in bundled libraries -- cgit v1.2.3