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 value