ChangeLog-1.8.0

2003-08-04

Mon Aug 4 17:21:19 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

util.h

remove unnecessary parentheses. [ruby-dev:20879]

Mon Aug 4 10:00:47 2003 Shugo Maeda <[email protected]>

lib/net/imap.rb (receive_responses)

raise exception to client_thread. Thanks to William Webber.

Mon Aug 4 09:22:53 2003 William Webber <[email protected]>

lib/net/imap.rb

convert RD to RDoc.

Mon Aug 4 02:34:05 2003 NAKAMURA Usaku <[email protected]>

win32/win32.c (rb_w32_utime)

never use utime() of C runtime. [ruby-talk:77782]

2003-08-03

Sun Aug 3 23:56:50 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_call_super)

should propagate previous block for super call. [ruby-talk:77884]

Sun Aug 3 22:07:47 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tkentry.rb

support 'validatecommand' option of TkEntry/TkSpinbox widget

ext/tk/sample/{demos-en,demos-jp}/spin.rb

add

Sun Aug 3 19:25:28 2003 Nobuyoshi Nakada <[email protected]>

eval.c (call_trace_func)

clear exception flag temporarily. [ruby-dev:21090]

Sun Aug 3 18:03:44 2003 WATANABE Hirofumi <[email protected]>

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 08:53:06 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/sample/{demos-en,demos-jp}/image3.rb

add

ext/tk/lib/tkcanvas.rb

bug fix on Tk object ID management

ext/tk/lib/tktext.rb

ditto

Sun Aug 3 02:55:52 2003 Hidetoshi NAGAI <[email protected]>

process.c

modify macro to detect 'MacOS X' [ruby-talk:77849]

ext/tcltklib/lib/tcltk.rb

bug fix ( NOT MAINTAINED : only for running 'line2.rb' demo. )

Sun Aug 3 02:45:06 2003 Koji Arai <[email protected]>

numeric.c (flo_to_s)

get rid of buffer overflow.

2003-08-02

Sat Aug 2 23:51:52 2003 Yukihiro Matsumoto <[email protected]>

io.c (appendline)

clearerr(3) before raising exception, since exception may be captured by rescue. [ruby-talk:77794]

Sat Aug 2 09:58:13 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

bug fix — TkGrid failed to treat RELATIVE PLACEMENT

ext/tk/sample/demos-en/, demos-jp/

add or modify some widget demo scripts

Sat Aug 2 20:59:38 2003 GOTOU Yuuzou <[email protected]>

lib/webrick/https.rb

change an option name. :SSLCertStore -> :SSLCertificateStore.

Sat Aug 2 19:18:40 2003 Minero Aoki <[email protected]>

lib/net/smtp.rb

respond_to? needs 2nd argument. Thanks Jim Bob. [ruby-talk:77796]

Sat Aug 2 15:11:54 2003 WATANABE Hirofumi <[email protected]>

ext/extmk.rb (–no-undefined)

annoying option removed.

Sat Aug 2 14:53:55 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

gc.c

add “#pragma weak” for __libc_ia64_register_backing_store_base. [ruby-dev:21072]

Sat Aug 2 14:02:39 2003 Nobuyoshi Nakada <[email protected]>

variable.c (classname)

find regular class name if not set. [ruby-dev:20496]

Sat Aug 2 09:58:13 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

bug fix — forgot to entry a widget class name of 'labelframe' widget

ext/tk/sample/{demos-en,demos-jp}/{labelframe.rb,paned1.rb, paned2.rb,spin.rb}

add demo-scripts to the JP/EN widget demos

Sat Aug 2 05:04:30 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tkentry.rb

bug fix of TkEntry#delete

ext/tk/samples/

bug fix of some widget demos

ext/tk/lib/tk.rb

support <TkVariable object> == <Symbol>

ext/tk/lib/*.rb

freeze some object for security reason

Sat Aug 2 03:30:25 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/yaml/store.rb (YAML::Store#initialize)

filename is first argument. Thanks Kent Dahl.

Sat Aug 2 00:49:31 2003 Minero Aoki <[email protected]>

lib/net/http.rb

refine document.

2003-08-01

Fri Aug 1 23:57:45 2003 Nobuyoshi Nakada <[email protected]>

gc.c (rb_gc_mark_locations)

no need to swap arguments.

gc.c (STACK_LENGTH)

insufficient for growing up stack architectures.

Fri Aug 1 23:33:36 2003 Masatoshi Seki <[email protected].>

rubytest.rb

set dldpath on darwin.

Fri Aug 1 23:07:38 2003 Minero Aoki <[email protected]>

lib/net/http.rb

convert RD to RDoc. Thanks William Webber. [ruby-doc:456]

Fri Aug 1 19:48:56 2003 Yukihiro Matsumoto <[email protected]>

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 18:51:10 2003 Hidetoshi NAGAI <[email protected]>

process.c

bug fix — preprocessor errors occur on OpenBSD-current

Fri Aug 1 17:13:23 2003 Nobuyoshi Nakada <[email protected]>

ext/openssl/extconf.rb

should replace literally.

Fri Aug 1 16:22:57 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

win32/win32.c (isInternalCmd)

shouldn't return if find end of str. [ruby-talk:77678]

Fri Aug 1 13:45:14 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 04:58:55 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

bug fix — forget to eval given block to TkRoot.new method

ext/tk/sample/tkoptdb-safeTk.rb

new sample script

Fri Aug 1 00:52:58 2003 Yukihiro Matsumoto <[email protected]>

gc.c (Init_stack)

IA64 requires STACK_LEVEL_MAX to be less than magic number when optimizer turned on, regardless of rlimit values.

2003-07-31

Thu Jul 31 23:44:00 2003 Masatoshi SEKI <[email protected]>

lib/erb.rb

import erb-2.0.4b4.

Thu Jul 31 23:04:45 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/sample/resource.en, ext/tk/sample/resource.jp

wrong resource file format

ext/tk/lib/tk.rb

add Tk::Encoding.{encoding_convertfrom, encoding_convertto}

ext/tk/lib/tk.rb

add TkOptionDB.read_with_encoding to read non-utf8 resource file

Thu Jul 31 23:02:47 2003 NAKAMURA Usaku <[email protected]>

ext/etc/etc.c

revert getenv()'s prototype. use it only when _WIN32 is not defined.

Thu Jul 31 20:52:40 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

(IMPORTANT BUG FIX) scan of event keywords doesn't work on recent versions of Tck/Tk

ext/tk/lib/tk.rb

initialize error of instance variable on TkComposite

ext/tk/lib/multi-tk.rb

initialize error on encoding-system on MultiTkIp

ext/tk/lib/tk.rb

trouble on destroying widgets

ext/tk/sample/demos-en/, demos-jp/

add JP and EN version of Ruby/Tk widget demos

Thu Jul 31 15:25:12 2003 NAKAMURA Usaku <[email protected]>

array.c (rb_ary_collect)

must get length of array for each iteration. reported on [ruby-talk:77500], and fixed by K.Sasada <[email protected]> on [ruby-talk:77504]

Thu Jul 31 14:11:54 2003 GOTOU Yuuzou <[email protected]>

ext/openssl/extconf.rb

move gmake specific features into GNUmakefile.

Thu Jul 31 12:36:11 2003 Masatoshi SEKI <[email protected]>

bin/erb, lib/erb.rb

add explicit trim mode.

Thu Jul 31 04:59:10 2003 Yukihiro Matsumoto <[email protected]>

numeric.c (rb_num_coerce_relop)

export function.

Thu Jul 31 08:18:00 2003 Nathaniel Talbott <[email protected]>

lib/test/unit.rb

A useful return code is now set if tests fail when running automatically using the Console::TestRunner.

Thu Jul 31 07:59:18 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

wrap the command-proc of TkScale — pass the numeric object to the proc

ext/tk/lib/tk.rb

better support for widgets created on Tk interpreter (without Ruby)

ext/tk/lib/multi-tk.rb

a little more stable on Multiple Tk interpreters running

Thu Jul 31 00:17:19 2003 Shugo Maeda <[email protected]>

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.

2003-07-30

Wed Jul 30 23:55:44 2003 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

check has been dropped. “_dump must return string.” [ruby-dev:21024]

Wed Jul 30 22:35:19 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

marshal.c (w_object)

marshal_dump should not take any argument.

Wed Jul 30 15:54:04 2003 GOTOU Yuuzou <[email protected]>

ext/openssl/ossl_ssl.c (ossl_sslctx_initialize)

should initialize instance variables. [ruby-talk:77362]

Wed Jul 30 15:39:54 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/net/ftp.rb (get)

fix wrong argument name. Thanks to William Webber.

Wed Jul 30 10:31:37 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 07:23:14 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tkentry.rb

fix lack of methods for TkEntry

ext/tk/lib/multi-tk.rb, ext/tk/lib/tk.rb, ext/tk/lib/tkdialog.rb, ext/tk/lib/tkentry.rb, ext/tk/sample/safe-tk.rb, ext/tk/sample/tktimer2.rb

bug fix

ext/tk/lib/multi-tk.rb

MultiTkIp.new_* accept a block to eval under the new interpreter

Wed Jul 30 04:36:30 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c, ext/tk/lib/tk.rb, ext/tk/lib/tkafter.rb

additional check of Tk interpreters' status for a little more safety

Wed Jul 30 02:37:12 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/timeout.rb (Timeout::timeout)

execute immediately if sec is zero.

Wed Jul 30 01:36:18 2003 Aron Griffis <[email protected]>

ext/socket/socket.c (socks_init)

typo fixed. [ruby-talk:77232]

Wed Jul 30 00:48:43 2003 Yukihiro Matsumoto <[email protected]>

ext/socket/extconf.rb

the default value for –enable-socks is taken from ENV. [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.

2003-07-29

Tue Jul 29 23:10:19 2003 Yoshida Masato <[email protected]>

regex.c (re_match_exec)

incorrect multibyte match.

Tue Jul 29 22:36:50 2003 Minero Aoki <[email protected]>

lib/net/smtp.rb (send0)

do taint check only when $SAFE > 0

Tue Jul 29 19:20:34 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

lib/net/smtp.rb

unify coding style.

lib/net/http.rb

ditto.

Tue Jul 29 17:27:59 2003 NAKAMURA Usaku <[email protected]>

ruby.h (LLONG_MIN)

fix typo.

Tue Jul 29 16:38:44 2003 Yukihiro Matsumoto <[email protected]>

lib/net/smtp.rb (Net::SMTP::send0)

add taint check.

Tue Jul 29 15:41:02 2003 WATANABE Hirofumi <[email protected]>

instruby.rb (install)

preserve the timestamp for Mac OS X ranlib problem.

Tue Jul 29 01:14:51 2003 Rick Ohnemus <[email protected]>

ruby.h (LLONG_MIN)

wrong value.

Tue Jul 29 16:20:36 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

bug fix and change mainloop_abort_on_no_widget_cmd => mainloop_abort_on_exception

ext/tk/lib/multi-tk.rb

change default mode of mainloop_abort_on_exception on multi-tk.rb

ext/tk/lib/multi-tk.rb

fix a bug of the procedure for 'Delete' button on the safe-Tk frmae

Tue Jul 29 12:22:28 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

ext/etc/etc.c

add real prototype to getenv().

win32/win32.h

add arguments to definitions of functions if possible.

Tue Jul 29 08:05:30 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb, ext/tk/lib/tkdialog.rb, ext/tk/lib/tktext.rb, ext/tk/sample/tkbiff.rb, ext/tk/sample/tkdialog.rb, ext/tk/sample/tkform.rb

bug fix ( tested with Ruby/Tk widget demo )

Tue Jul 29 04:22:08 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

ext/openssl/lib/net/https.rb (use_ssl=)

raise ProtocolError if connection is set up already.

Tue Jul 29 01:45:32 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

use RTEST()

Tue Jul 29 01:24:32 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

bug fix

ext/tk/lib/multi-tk.rb

bug fix and pack options are pssed to the safeTk container

ext/tk/sample/safe-tk.rb

add example for pack options of safeTk container

2003-07-28

Mon Jul 28 22:57:52 2003 Yukihiro Matsumoto <[email protected]>

io.c (rb_f_getc)

$stdin may not be IO. [ruby-dev:20973]

Mon Jul 28 23:23:08 2003 Nobuyoshi Nakada <[email protected]>

file.c (Init_File)

IO should include File::Const. [ruby-dev:20964]

Mon Jul 28 18:53:03 2003 WATANABE Hirofumi <[email protected]>

ext/openssl/extconf.rb

check again after pkg-config for MinGW on Cygwin.

Mon Jul 28 15:32:04 2003 Yukihiro Matsumoto <[email protected]>

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 06:10:13 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

bug fix

ext/lib/tk/multi-tk.rb

bug fix

ext/lib/tk/multi-tk.rb

add methods depend on Tcl's 'interp' command

ext/lib/tk/multi-tk.rb

suppot safe-level control of each interpreter

Mon Jul 28 03:08:47 2003 Akinori MUSHA <[email protected]>

lib/set.rb

each() should return self.

Mon Jul 28 01:35:32 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-07-27

Sun Jul 27 21:16:30 2003 WATANABE Hirofumi <[email protected]>

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 19:35:06 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

add some methods to support multiple interpreters (low level)

ext/tk/lib/multi-tk.rb

new library to support multiple Tk interpreters (high level)

ext/tcltklib/demo/safeTk.rb

new sample of safeTk interpreter

ext/tk/sample/safe-tk.rb

new sample of multi-tk.rb

ext/tk/lib/tk.rb

bug fix and add feature to supprt multi-tk

ext/tk/lib/tkafter.rb

ditto

Sun Jul 27 14:43:37 2003 NAKAMURA, Hiroshi <[email protected]>

lib/debug.rb

fix breakpoint parameter parsing/checking.

(?:(file|class)

)(line_number|method)

Sun Jul 27 10:21:28 2003 Masatoshi SEKI <[email protected]>

lib/drb/unix.rb

add UNIXFileOwner, UNIXFileGroup.

Sun Jul 27 03:10:43 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

lib/tmpdir.rb

use GetWindowsDirectory, not GetSystemDirectory. [ruby-talk:77073]

2003-07-26

Sat Jul 26 21:25:21 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

ext/tk/lib/tk.rb (TkCore::chooseDirectory)

back up wrongly removed method.

Sat Jul 26 14:14:12 2003 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c

includes Enumerable as well as IO. [ruby-talk:77058]

Sat Jul 26 07:00:53 2003 Masatoshi SEKI <[email protected]>

lib/erb.rb

fix % line.

Sat Jul 26 05:31:09 2003 GOTOU Yuuzou <[email protected]>

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 <[email protected]>

ext/openssl/extconf.rb

refine va-args macro detection. [ruby-talk:76983]

Sat Jul 26 01:33:51 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-07-25

Fri Jul 25 16:43:03 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

add TclTkIp#create_slave, TclTkIp#_make_safe and TclTkIp#safe?

ext/tcltklib/MANUAL.euc

modify descriptions

ext/tk/lib/tk.rb

bug fix [ruby-talk:76980] and modify to support multi Tk IPs

ext/tk/lib/tkafter.rb

modify to support multi Tk IPs

Fri Jul 25 15:47:39 2003 GOTOU Yuuzou <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/yaml/dbm.rb

replace indexes with values_at.

Fri Jul 25 02:55:59 2003 GOTOU Yuuzou <[email protected]>

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 <[email protected]>

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.

2003-07-24

Thu Jul 24 16:41:31 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

ChangeLog (add-log-time-format)

“%c” contains timezone on XEmacs.

Thu Jul 24 16:05:22 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

eval.c (thgroup_add)

no warning for terminated threads.

Thu Jul 24 13:09:26 2003 Tanaka Akira <[email protected]>

lib/pathname.rb

added.

Thu Jul 24 11:21:10 2003 Nobuyoshi Nakada <[email protected]>

ext/io/wait/extconf.rb

removed unnecessary backward compatibility stuff.

Thu Jul 24 11:09:10 2003 WATANABE Hirofumi <[email protected]>

ext/openssl/extconf.rb

revert use of dir_config.

Thu Jul 24 09:58:32 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

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 <[email protected]>

ext/openssl/extconf.rb

cut check for OpenSSL version

Thu Jul 24 03:41:30 2003 NAKAMURA Usaku <[email protected]>

ext/tcltklib/tcltklib.c (ip_init)

need at least one statement after label.

Thu Jul 24 01:48:03 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/webrick

imported.

MANIFEST

added webrick files.

Thu Jul 24 01:32:04 2003 WATANABE Hirofumi <[email protected]>

lib/tmpdir.rb (tmpdir)

new method. remove TMPDIR. use GetSystemWindowsDirectory(GetSystemDirectory), not GetTempPath.

Thu Jul 24 01:08:43 2003 GOTOU Yuuzou <[email protected]>

ext/openssl

imported.

2003-07-23

Wed Jul 23 23:06:59 2003 WATANABE Hirofumi <[email protected]>

file.c (DOSISH)

better Cygwin support.

Wed Jul 23 19:13:21 2003 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_split_m)

the receiver may be empty string.

Wed Jul 23 18:43:00 2003 Masatoshi SEKI <[email protected]>

lib/erb.rb

import erb-2.0.4b1.

Wed Jul 23 18:21:52 2003 Nobuyoshi Nakada <[email protected]>

ext/io/wait

imported.

Wed Jul 23 16:07:35 2003 Hidetoshi NAGAI <[email protected]>

process.c

unify indentation

configure.in

add –enable-setreuid option

ext/tcltklib/tcltklib.c

TclTkIp.new accepts 'ip-name' and 'options'

ext/tk/lib/tk.rb

support arguments of TclTkIp.new

ext/tk/lib/tk*.rb

preparations for multi-Tk interpreter support

Wed Jul 23 15:49:01 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/mkmf.rb (log_src, checking_for, create_header)

Logging.message is printf like format.

Wed Jul 23 10:11:15 2003 Nobuyoshi Nakada <[email protected]>

ext/iconv/iconv.c (check_iconv)

check if Iconv instance.

ext/iconv/iconv.c (iconv_convert)

stringify argument.

Wed Jul 23 02:39:46 2003 Hidetoshi NAGAI <[email protected]>

process.c

add a module for raw syscalls to control UID/GID

process.c

add modules for portable UID/GID control

2003-07-22

Tue Jul 22 19:16:40 2003 Tanaka Akira <[email protected]>

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 <[email protected]>

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 <[email protected]>

MANIFEST (lib/cgi/session/pstore.rb, lib/yaml/baseemitter.rb)

added.

Tue Jul 22 10:52:19 2003 NAKAMURA Usaku <[email protected]>

lib/tmpdir.rb

remove charcters after “000” and regularize path.

Tue Jul 22 02:22:45 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-07-21

Mon Jul 21 01:53:43 2003 Yukihiro Matsumoto <[email protected]>

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)

2003-07-20

Sun Jul 20 11:03:25 2003 UENO Katsuhiro <[email protected]>

ext/zlib/zlib.c (gzfile_read_header)

gz->z.input may be nil after finishing reading a gzip header.

2003-07-19

Sat Jul 19 22:25:47 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

wince/stdlib.c

add bsearch().

Sat Jul 19 12:34:45 2003 David Black <[email protected]>

lib/scanf.rb

import.

Sat Jul 19 11:27:25 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

ext/Win32API/lib/win32/registry.rb (Win32::Registry::Error)

inherit StandardError instead of SystemCallError.

Sat Jul 19 02:00:39 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_attr)

extra calls of method_added. [ruby-talk:76361]

2003-07-18

Fri Jul 18 18:44:22 2003 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (init_mkmf)

clear $INSTALLFILES. [ruby-dev:20727]

Fri Jul 18 17:34:39 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

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]

2003-07-17

Thu Jul 17 18:50:26 2003 Yukihiro Matsumoto <[email protected]>

re.c (match_captures)

rename from “groups”.

Thu Jul 17 17:57:32 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_clear_cache_by_class)

check both klass and origin.

Thu Jul 17 13:46:25 2003 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_init)

set ruby_running to true after initialization.

Thu Jul 17 13:42:53 2003 WATANABE Hirofumi <[email protected]>

lib/ftools.rb (File::makedirs)

do not handle “//” as a directory.

Thu Jul 17 06:40:28 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

recover and fix typo : Tk.chooseDirectory

2003-07-16

Wed Jul 16 16:23:58 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_proc_new)

call svalue_to_avalue for yield argument.

Wed Jul 16 00:31:00 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-07-15

Tue Jul 15 19:50:49 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

ext/syck/rubyext.c (syck_mark_emitter)

forgot to rb_gc_mark the outgoing IO object.

2003-07-13

Sun Jul 13 14:55:36 2003 Koji Arai <[email protected]>

process.c (proc_getgroups, proc_setmaxgroups)

fix typo.

2003-07-12

Sat Jul 12 17:01:28 2003 NAKAMURA Usaku <[email protected]>

struct.c (struct_entry)

add prototype to avoid VC++ warnings.

Sat Jul 12 04:43:57 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-07-11

Fri Jul 11 22:37:18 2003 Nobuyoshi Nakada <[email protected]>

configure.in (aix)

needs ruby.imp even with gcc.

(ruby-bugs

PR#1007)

Fri Jul 11 18:37:37 2003 WATANABE Hirofumi <[email protected]>

instruby.rb

do not handle directories. [ruby-dev:20613]

Fri Jul 11 16:09:09 2003 Yukihiro Matsumoto <[email protected]>

util.c (ruby_strtod)

exp should be less than MDMAXEXPT.

Fri Jul 11 07:17:47 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

not create a Tcl/Tk interpreter if already defined TkCore::INTERP

ext/tk/lib/tk.rb

bugfix on TkWindow#configure

2003-07-10

Thu Jul 10 14:42:02 2003 WATANABE Hirofumi <[email protected]>

math.c (math_log)

nan takes a dummy argument on Cygwin 1.5.0.

2003-07-09

Wed Jul 9 23:50:46 2003 Nobuyoshi Nakada <[email protected]>

regex.c (mbctab_sjis)

0x80 is not shift jis first byte. [ruby-dev:20516]

Wed Jul 9 15:38:28 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

re.c (match_entry)

add prototype to avoid VC++ warnings.

Wed Jul 9 03:48:27 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-07-08

Tue Jul 8 02:35:41 2003 Yukihiro Matsumoto <[email protected]>

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.

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 <[email protected]>

bignum.c (rb_big2str)

support 32 bit (without `long long' type) machines. (ruby-bugs-ja PR#512)

2003-07-07

Mon Jul 7 10:22:46 2003 WATANABE Hirofumi <[email protected]>

ext/dbm/extconf.rb (gdbm_compat, qdbm)

add check for gdbm_compat and qdbm.

Mon Jul 7 01:34:49 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-07-05

Sat Jul 5 23:32:06 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_remove_method)

allow “remove_method” to accept multiple arguments.

Sat Jul 5 00:22:59 2003 Yukihiro Matsumoto <[email protected]>

node.h (NEW_NODE)

cast arguments to rb_node_newnode().

2003-07-04

Fri Jul 4 21:48:44 2003 Nobuyoshi Nakada <[email protected]>

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)

2003-07-03

Thu Jul 3 23:41:30 2003 Tanaka Akira <[email protected]>

lib/timeout.rb

add optional exception argument for compatibility function.

Thu Jul 3 14:22:46 2003 Yukihiro Matsumoto <[email protected]>

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.

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 <[email protected]>

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.

2003-07-02

Wed Jul 2 23:27:34 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/net/smtp.rb

synchronize document with source code.

lib/net/pop.rb

ditto.

Wed Jul 2 11:39:50 2003 Minero Aoki <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/net/pop.rb (Net::POP3#start)

typofix.

2003-07-01

Tue Jul 1 22:08:19 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

TkWindow include TkWinfo

ext/tk/lib/tk.rb

treat unknown widget classes as subclasses of TkWindow

Tue Jul 1 19:02:12 2003 WATANABE Hirofumi <[email protected]>

parse.y (rb_intern)

should use mbclen instead of mblen.

Tue Jul 1 10:36:19 2003 Nobuyoshi Nakada <[email protected]>

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.

2003-06-30

Mon Jun 30 17:53:06 2003 Nobuyoshi Nakada <[email protected]>

eval.c (mnew)

ignore metaclasses have no influence, for rklass. [ruby-talk:74706]

2003-06-29

Sun Jun 29 06:59:07 2003 Masatoshi SEKI <[email protected]>

lib/drb/drb.rb, lib/drb/invokemethod.rb

import drb-2.0.4

2003-06-28

Sat Jun 28 12:28:54 2003 Nobuyoshi Nakada <[email protected]>

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.

2003-06-27

Fri Jun 27 14:41:22 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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.

2003-06-26

Thu Jun 26 21:34:49 2003 Nobuyoshi Nakada <[email protected]>

class.c (class_instance_method_list)

get rid of warning about argument type mismatch, and inline method_list(). [ruby-core:01198]

2003-06-25

Wed Jun 25 14:40:33 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

add and modify methods — TkWidget.database_class, TkWidget.database_classname, TkWidget#database_class, TkWidget#database_classname

ext/tk/lib/tk.rb

instances of a subclass of TkToplevel or TkFrame are created with “:class=>subclass” option as default.

ext/tk/sample/tkoptdb.rb

add a new part

Wed Jun 25 12:52:58 2003 Matthew Dempsky <[email protected]>

class.c (rb_generic_class_instance_methods)

merge argument check (and warning) into one function; following DRY principle. [ruby-core:01193]

Wed Jun 25 05:49:10 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

add widget destroy hook binding to TkBindTag::ALL

ext/tk/lib/tkcanvas.rb

Although requiring manual control of GC, memory eating problem of TkCanvas Items is fixed.

ext/tk/lib/tktext.rb

add some methods and bug fix

Wed Jun 25 00:14:30 2003 Yukihiro Matsumoto <[email protected]>

variable.c (autoload_delete)

should delete Qundef from iv_tbl.

2003-06-24

Tue Jun 24 16:46:07 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

bug fix on TkToplevel, TkFrame, TkPanedwindow, TkOptionDB

ext/tk/lib/tk.rb

TkOptionDB — make it more secure to use procs defined on resourceDB

ext/tk/sample/tkoptdb.rb, resource.ja, resource.en

sample script how to use TkOptionDB.

Tue Jun 24 14:22:41 2003 why the lucky stiff <[email protected]>

lib/yaml/types.rb

replaced Kernel::Hash reference with Object::Hash from [ruby-talk:74270]

Tue Jun 24 17:59:30 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

lib/net/http.rb (HTTPHeader#proxy_basic_auth)

missing `@'. Thanks Douglas Koszerek. (ruby-bugs:PR975)

Tue Jun 24 14:31:17 2003 Minero Aoki <[email protected]>

config.guess

have wrongly returned “alphaev56-unknown-linux-” on Linux/Alpha. [ruby-dev:20434]

Tue Jun 24 04:54:46 2003 Minero Aoki <[email protected]>

configure.in

always add -mieee for gcc/alpha. [ruby-dev:20429]

Tue Jun 24 02:40:09 2003 Nobuyoshi Nakada <[email protected]>

array.c (rb_ary_unshift_m)

need to check number of arguments. [ruby-talk:74189]

2003-06-23

Mon Jun 23 23:59:56 2003 Minero Aoki <[email protected]>

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 <[email protected]>

MANIFEST

add wince files.

ext/tk/MANIFEST

add sample/tkmenubutton.rb.

Mon Jun 23 17:40:58 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

io.c (rb_open_file)

initialize flags.

time.c (time_arg)

initialize v even when argc is 10 to avoid valgrind error.

Mon Jun 23 14:22:44 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

bug fix on TkRoot and TkToplevel

Mon Jun 23 08:24:01 2003 Florian Frank <[email protected]>

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 <[email protected]>

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.

2003-06-22

Sun Jun 22 23:42:20 2003 Nobuyoshi Nakada <[email protected]>

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.

Sun Jun 22 16:17:02 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

TkRoot.new and TkToplevel.new accept Wm commands as elements

ext/tk/lib/tk.rb

TkMenu — add some methods

ext/tk/lib/tk.rb

TkOptionMenubutton — bug fix

ext/tk/sample/tkmenubutton.rb

sample of TkMenubutton and TkOptionMenubutton

2003-06-21

Sat Jun 21 23:15:08 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

wince/Makefile.sub

undefine HAVE__SETJMP.

wince/resource.rb

include winver.h in wince3.0.

Sat Jun 21 12:55:17 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

TkRoot.new and TkToplevel.new accept Wm commands as elements of a hash argument.

ext/tk/sample/tktimer2.rb

add comments about the usage of a TkTimer object.

Sat Jun 21 08:47:22 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk*.rb

remove direct-accesses to TkComm::INTERP and TkComm::INITIALIZE_TARGETS

ext/tk/lib/tk*.rb

use TkINTERP_SETUP_SCRIPTS constant for setting up the interpreter

ext/tcltklib/tcltklib.c

support to create a safe interpreter with safe-Tk

2003-06-20

Fri Jun 20 23:28:27 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 14:52:46 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

Tk interpreter returns TAINTED strings.

Fri Jun 20 03:09:21 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/csv.rb

import csv module.

2003-06-19

Thu Jun 19 22:51:41 2003 Masatoshi SEKI <[email protected]>

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:14:43 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c (lib_do_one_event)

change default value of the argument

ext/tcltklib/tcltklib.c (lib_do_one_event)

returns true/false

ext/tcltklib/tcltklib.c

add TclTkLib::EventFlag::NONE ( == 0 )

ext/tcltklib/tcltklib.c

add set_no_event_wait() and get_no_event_wait()

ext/tcltklib/MANUAL.euc

modify

ext/tcltklib/README.euc

ditto

ext/tk/lib/tk.rb

change default value of TkCore.do_one_event argument

ext/tk/lib/tk.rb

add TkCore.set_no_event_wait(wait) and TkCore.get_no_event_wait

ext/tk/lib/tk.rb

add Tk.exit ( == destroy root widget )

ext/tk/lib/tkafter.rb

rename TkAfter => TkTimer (TkAfter is an alias name)

ext/tk/lib/tkafter.rb

set_callback returns self

ext/tk/lib/tkafter.rb

continue() raises an exception, if already running or no procedure.

ext/tk/lib/tkafter.rb

skip() raises an exception, if not running.

ext/tk/sample/tktimer2.rb

new sample for TkTimer class.

Thu Jun 19 16:13:54 2003 WATANABE Hirofumi <[email protected]>

rubytest.rb

add library path to include standard libraries.

Thu Jun 19 13:13:10 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

range.c (rb_range_beg_len)

out_of_range check after adjusting end point. [ruby-dev:20370]

2003-06-18

Wed Jun 18 23:59:11 2003 Guy Decoux <[email protected]>

parse.y (call_args)

the first argument to arg_cancat() should be NODE_LIST. [ruby-core:01151]

Wed Jun 18 19:46:21 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

bug fix

ext/tk/lib/tk.rb

rename 'no_create' option to 'without_creating'

ext/tk/lib/tk.rb

add TkWindow#pack_in, TkWindow#grid_in, TkWindow#place_in

ext/tk/lib/tk.rb

add TkWindow#bind_class and TkWindow#database_class

ext/tk/lib/tk.rb

add TkBindTag.new_by_name and TkDatabaseClass for binding to database class

ext/tk/lib/tk.rb

check varname whether already exsist or not.

ext/tk/lib/tk.rb

TkTextWin#bbox returns an array of four numbers

ext/tk/lib/tk.rb

autoload TkDialog2, TkWarning2

ext/tk/lib/tk.rb

scan event callback arguments and convert to proper type

ext/tk/lib/tk.rb

TkBindTag.new accepts a block

ext/tk/lib/tk.rb

If given taglist, TkWindow#bindtags(taglist) returns taglist

ext/tk/lib/tk.rb

add TkWindow#bindtags=(taglist)

ext/tk/lib/tk.rb

Tk.focue and Tk.focus_lastfor return nil if there is no target widget.

ext/tk/lib/tk.rb

Tk::Wm.client returns the argument string when setting name

ext/tk/lib/tk.rb

TkGrid.columnconfiginfo and rowconfiginfo given a slot return a number.

ext/tk/lib/tk.rb

TkWindow.grid_columnconfiginfo and grid_rowconfiginfo — ditto

ext/tk/lib/tk.rb

rename and define alias :: TkOption ==> TkOptionDB

ext/tk/lib/tk.rb

define alias :: TkTimer ==> TkAfter

ext/tk/lib/tk.rb

some instance methods change from public to private

ext/tk/lib/tk.rb

some TkComm methods change to module functions

ext/tk/lib/tk.rb

add support for -displayof option to some TkWinfo methods

ext/tk/lib/tk.rb

bind, bind_append and bind_remove — returns the target of event-binding

ext/tk/lib/tk.rb

add Tk8.4 features

ext/tk/lib/tk.rb

add TkPaneWindow

ext/tk/lib/tkdialog.rb

bug fix

ext/tk/lib/tkdialog.rb

some methods return self

ext/tk/lib/tkdialog.rb

add TkTextMark#+(mod) and TkTextMark#-(mod)

ext/tk/lib/tkdialog.rb

add some methods

ext/tk/lib/tkcanvas.rb

bug fix and some methods return self

ext/tk/lib/tkentry.rb

some methods return self

ext/tk/lib/tkentry.rb

TkEntry#bbox returns an array of four numbers

ext/tk/lib/tkentry.rb

scan validatecommand arguments and convert to proper type

ext/tk/lib/tkbgerror.rb

support to define a error handler by user

ext/tcltklib/tcltklib.c

[ruby-talk:60759]

Wed Jun 18 13:50:06 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should dispatch based on ID type.

Wed Jun 18 12:53:42 2003 Minero Aoki <[email protected]>

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 <[email protected]>

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.

2003-06-17

Tue Jun 17 17:01:08 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

win32/win32.c (rb_w32_opendir)

need to set errno. [ruby-talk:73761]

2003-06-16

Mon Jun 16 19:01:25 2003 Yukihiro Matsumoto <[email protected]>

eval.c

remove rb_cBlock.

Mon Jun 16 18:06:33 2003 WATANABE Hirofumi <[email protected]>

numeric.c (rb_fix2uint)

renamed from rb_fix2int on IA64.

Mon Jun 16 17:02:57 2003 Nobuyoshi Nakada <[email protected]>

eval.c (proc_invoke)

format the message for localjump_error().

Mon Jun 16 16:23:56 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

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 <[email protected]>

bcc32/Makefile.sub

undefine HAVE_GETGROUPS.

2003-06-14

Sat Jun 14 16:58:41 2003 Guy Decoux <[email protected]>

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 <[email protected]>

eval.c (method_arity)

should handle NODE_BMETHOD and NODE_DMETHOD. [ruby-core:01138]

2003-06-13

Fri Jun 13 09:24:39 2003 Shugo Maeda <[email protected]>

lib/net/ftp.rb (storebinary)

seek correctly. Thanks, William Webber.

lib/net/ftp.rb (putbinaryfile)

rescue FTPPermError.

2003-06-12

Thu Jun 12 22:13:13 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

add 'no_create' option to widget initialize method.

ext/tk/MANIFEST

forgot to commit when added tkmacpkg.rb and tkwinpkg.rb

ext/tk/lib/README

ditto.

Thu Jun 12 21:14:11 2003 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tk.rb

widget configure returns self (for method call chain)

ext/tk/lib/tkmacpkg.rb

Mac resource (not new but not included until now)

ext/tk/lib/tkwinpkg.rb

Win DDE and registry (not new but not included until now)

2003-06-10

Tue Jun 10 14:26:30 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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.

2003-06-09

Mon Jun 9 19:02:33 2003 Nobuyoshi Nakada <[email protected]>

configure.in

checks presence of grp.h and setgroups().

process.c (proc_getgroups, proc_setgroups)

raise NotImplementedError unless available. [ruby-talk:73014]

Mon Jun 9 18:09:11 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

fixed 100% CPU problem of Tk.mainloop

Mon Jun 9 15:50:24 2003 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

renewal Tk.mainloop

2003-06-08

Sun Jun 8 13:37:21 2003 Takaaki Uematsu <[email protected]>

wince/setup.mak

set SUBSYSTEM in each platform.

wince/stdlib.c

fix mblen() bug.

2003-06-07

Sat Jun 7 22:22:03 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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().

2003-06-06

Fri Jun 6 20:29:14 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

process.c (proc_setgroups)

new functions.

Fri Jun 6 18:33:27 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-06-05

Thu Jun 5 21:31:55 2003 Takaaki Uematsu <[email protected]>

wince/stdlib.c

add mblen().

Thu Jun 5 18:33:46 2003 WATANABE Hirofumi <[email protected]>

ext/curses/curses.c (window_s_allocate,curses_finalize)

avoid VC++ warnings.

Thu Jun 5 17:44:11 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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 <[email protected]>

math.c (math_erf,math_erfc)

new function. [ruby-list:37753]

Thu Jun 5 14:49:43 2003 why the lucky stiff <[email protected]>

ext/syck/rubyext.c

using GC nodes caused segfault. [ruby-core:1071]

Thu Jun 5 13:48:57 2003 why the lucky stiff <[email protected]>

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.

2003-06-04

Wed Jun 4 12:06:59 2003 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_finalize)

no longer need to turn off $DEBUG in the finalizer. (ruby-bugs-ja PR#473)

2003-06-03

Tue Jun 3 22:20:49 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-06-02

Mon Jun 2 02:20:52 2003 Yukihiro Matsumoto <[email protected]>

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]

2003-06-01

Sun Jun 1 21:50:01 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

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 <[email protected]>

variable.c (rb_autoload_load)

autoloaded constants under a module belong to the module. [ruby-core:01094], [ruby-dev:20309]

2003-05-31

Sat May 31 04:36:54 2003 Nobuyoshi Nakada <[email protected]>

parse.y (rb_intern)

should handle multibyte name.

2003-05-30

Fri May 30 23:18:01 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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 <[email protected]>

ext/syck/token.c

preserve any indentation past an explicit indentation.

Fri May 30 14:55:44 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-05-29

Thu May 29 14:59:10 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

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.

2003-05-28

Wed May 28 08:44:26 2003 Yukihiro Matsumoto <[email protected]>

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]

2003-05-27

Tue May 27 20:33:18 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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.

2003-05-26

Mon May 26 23:51:38 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-05-25

Sun May 25 23:48:21 2003 Nobuyoshi Nakada <[email protected]>

bignum.c (rb_quad_pack)

should negate negative bignum.

(ruby-bugs-ja

PR#474)

Sun May 25 03:27:25 2003 Minero Aoki <[email protected]>

lib/net/smtp.rb

support LOGIN authentication, based on the patch by Kazuhiko Izawa. [ruby-talk:78981]

2003-05-24

Sat May 24 18:19:51 2003 Takaaki Uematsu <[email protected]>

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.

2003-05-23

Fri May 23 18:34:05 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_longjmp)

get rid of reentering while debug warning.

(ruby-bugs-ja

PR473)

Fri May 23 15:16:16 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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)

Fri May 23 01:26:26 2003 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_clone)

defer copying freezing state after calling initialize_copy(). [ruby-dev:20276]

2003-05-22

Thu May 22 18:07:46 2003 why the lucky stiff <[email protected]>

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.

Thu May 22 17:12:10 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

parse.y (strings, word_list)

must create new instance always. yowaken.dip.jp/tdiary/20030521.html#p02

parse.y (yylex)

slight optimization.

2003-05-21

Wed May 21 23:07:08 2003 Yukihiro Matsumoto <[email protected]>

error.c (rb_sys_fail)

should not specify errno explicitly. [ruby-dev:20264]

Wed May 21 20:51:47 2003 Nobuyoshi Nakada <[email protected]>

Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub

update dependencies.

Wed May 21 17:44:16 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/optparse.rb

get rid of warnings.

2003-05-20

Tue May 20 18:59:54 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

object.c (init_copy)

call initialize_copy at the end of copy process.

Tue May 20 17:15:55 2003 Nobuyoshi Nakada <[email protected]>

error.c (syserr_initialize)

use Errno constants as default errno for subclasses. [ruby-dev:20241]

Tue May 20 15:26:25 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

win32/win32.c (kill)

set errno after calling raise().

Tue May 20 10:51:26 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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.

Tue May 20 00:45:40 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

ext/pty/pty.c (pty_finalize_syswait)

join (using Thread#value) before detach pid. [ruby-talk:71519]

2003-05-19

Mon May 19 18:54:30 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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.

Mon May 19 23:02:10 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

class.c

add include “version.h”.

hash.c

ditto.

string.c

ditto.

Mon May 19 15:33:27 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/date.rb

use warn() instead of $stderr.puts().

sample/cal.rb

ditto.

2003-05-17

Sat May 17 12:02:25 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

eval.c (rb_f_abort)

call exit(1) if exception is raised. This patch was made by Nobuyoshi Nakada <[email protected]> on 2002-05-30. (ruby-bugs-ja PR#236)

signal.c

disable Ruby's interrupt handler at the beginning.

Sat May 17 02:17:42 2003 Nobuyoshi Nakada <[email protected]>

lib/rational.rb (Integer::denominator)

fixed typo.

(ruby-bugs-ja

PR#466)

Sat May 17 00:18:11 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

object.c (rb_class_allocate_instance)

singleton class check moved to rb_obj_alloc(). (ruby-bugs-ja PR#345)

2003-05-16

Fri May 16 23:55:50 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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)

2003-05-15

Thu May 15 21:55:54 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

win32/win32.c (kill)

fix typo and add signal 0 support.

2003-05-14

Wed May 14 20:09:26 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

ext/syck/rubyext.c

add prototypes to avoid VC++ warnings.

Wed May 14 12:23:46 2003 Minero Aoki <[email protected]>

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 <[email protected]>

lib/net/http.rb

reduce warning. (ruby-bugs-ja:PR#462)

2003-05-13

Tue May 13 22:31:04 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

regex.c (re_match_exec)

Z changed to be consistent with new $

Tue May 13 14:48:07 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-05-12

Mon May 12 18:08:21 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-05-11

Sun May 11 13:50:12 2003 Tanaka Akira <[email protected]>

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 <[email protected]>

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

2003-05-10

Sat May 10 19:55:18 2003 why the lucky stiff <[email protected]>

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 <[email protected]>

wince/string.c

file removed.

wince/stdlib.c

file added.

Sat May 10 16:17:02 2003 Shugo Maeda <[email protected]>

lib/net/imap.rb (decode_utf7)

new method.

lib/net/imap.rb (encode_utf7)

new method.

2003-05-09

Fri May 9 21:25:50 2003 why the lucky stiff <[email protected]>

ruby/ext/syck, ruby/lib/yaml

Initial checkin of YAML substances.

Fri May 9 16:38:30 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-05-08

Thu May 8 18:44:09 2003 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc)

check odd alignment stack on m68k machines.

Thu May 8 12:56:04 2003 Nobuyoshi Nakada <[email protected]>

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)

2003-05-07

Wed May 7 13:30:11 2003 Masahiro TANAKA <[email protected]>

numeric.c (num_step)

better error treatment of float values.

2003-05-06

Tue May 6 17:51:54 2003 Minero Aoki <[email protected]>

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 <[email protected]>

ext/bigdecimal/.cvsignore

new file.

ext/zlib/.cvsignore

new file.

Tue May 6 14:39:36 2003 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_methods)

list singleton methods if recur argument is false; list all methods otherwise.

2003-05-05

Mon May 5 21:19:25 2003 Koji Arai <[email protected]>

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.

Mon May 5 22:57:07 2003 Tadayoshi Funaba <[email protected]>

sample/cal.rb

use values_at instead of select.

sample/biorhythm.rb

ditto.

Mon May 5 18:59:45 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

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.

2003-05-04

Sun May 4 19:08:53 2003 Tadayoshi Funaba <[email protected]>

lib/date/format.rb

synchronized with date2 3.3.2.

Sun May 4 15:21:18 2003 Minero Aoki <[email protected]>

lib/net/smtp.rb

ESMTP -> SMTP transition wrongly fails.

Sun May 4 15:06:37 2003 Minero Aoki <[email protected]>

lib/net/pop.rb

APOP did not work. [ruby-dev:20149]

2003-05-03

Sat May 3 21:14:29 2003 Johan Holmberg <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/net/protocol.rb

reintroduce Protocol.protocol_param.

lib/net/http.rb

ditto.

lib/net/pop.rb

ditto.

lib/net/smtp.rb

ditto.

2003-05-02

Fri May 2 23:29:53 2003 Minero Aoki <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

Fri May 2 15:10:41 2003 Minero Aoki <[email protected]>

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.

2003-05-01

Thu May 1 23:18:01 2003 Yukihiro Matsumoto <[email protected]>

io.c (argf_eof)

should not block after reading all argument files. (ruby-bugs-ja PR#449)

Thu May 1 08:24:00 2003 Yukihiro Matsumoto <[email protected]>

regex.c (re_match_exec)

$ always matches at the end of string.

2003-04-30

Wed Apr 30 14:12:00 2003 [email protected] (kimura wataru)

net/imap.rb

support THREAD extension.

2003-04-27

Sun Apr 27 23:13:20 2003 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_to_i)

disallow negative radix. [ruby-dev:20087]

2003-04-26

Sat Apr 26 23:34:42 2003 Yukihiro Matsumoto <[email protected]>

parse.y (open_args)

warning message changed to “don't put space before argument parentheses”.

Sat Apr 26 14:25:00 2003 Takaaki Uematsu <[email protected]>

wince/

files removed.

wince/

files added.

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 <[email protected]>

io.c (argf_read)

ARGF.read() should read all argument files.

2003-04-25

Fri Apr 25 18:46:00 2003 Takaaki Uematsu <[email protected]>

gc.c

STACK_LEVEL_MAX=65535 on mswince.

Fri Apr 25 18:40:07 2003 Yukihiro Matsumoto <[email protected]>

io.c (argf_read)

read should not span two files. [ruby-dev:20073]

Fri Apr 25 18:19:03 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-04-24

Thu Apr 24 23:37:02 2003 Dave Thomas <[email protected]>

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 <[email protected]>

ext/extmk.rb

add -Wl,–no-undefined to LDSHARED only if GNU ld is 2.11 or later.

2003-04-23

Wed Apr 23 14:05:40 2003 Dave Thomas <[email protected]>

lib/ipaddr.rb (include?)

Support non-IPAddr parameters. [ruby-core:00980]

Wed Apr 23 13:31:10 2003 Yukihiro Matsumoto <[email protected]>

lib/cgi.rb (CGI::QueryExtension::[])

always return Value object.

Wed Apr 23 08:39:27 2003 Nobuyoshi Nakada <[email protected]>

ext/zlib/extconf.rb

bccwin32 is win32 too.

2003-04-22

Tue Apr 22 20:58:00 2003 Takaaki Uematsu <[email protected]>

ruby.c

don't call VirtualQuery in ruby_init_loadpath() on mswince.

Tue Apr 22 19:08:53 2003 Nobuyoshi Nakada <[email protected]>

marshal.c (save_mantissa, load_mantissa)

for interoperability should count cut-down bit from topmost.

Tue Apr 22 09:20:40 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-04-21

Mon Apr 21 21:59:48 2003 Nobuyoshi Nakada <[email protected]>

marshal.c

one more digit for decimal point. [ruby-talk:69808]

Mon Apr 21 21:25:59 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

sample/test.rb

avoid the MSVCRT *printf problem(float). [ruby-dev:20037]

Mon Apr 21 00:11:15 2003 Nobuyoshi Nakada <[email protected]>

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.

2003-04-20

Sun Apr 20 23:24:25 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

parse.y (void_expr0)

node might become NULL after calling remove_begin().

2003-04-19

Sat Apr 19 21:55:10 2003 Akinori MUSHA <[email protected]>

ext/Setup*

Add zlib and remove bogus and obsolete entries.

Sat Apr 19 14:47:07 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

struct.c (rb_struct_eql)

should compare values with “eql?”.

2003-04-18

Fri Apr 18 23:29:08 2003 Yukihiro Matsumoto <[email protected]>

range.c (range_check)

<=> returns nil for invalid values; should check.

Fri Apr 18 15:26:50 2003 NAKAMURA Usaku <[email protected]>

error.c (rb_raise)

workaround for some implementations of vsnprintf.

Fri Apr 18 02:23:42 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

util.c (ruby_strtod)

improved conversion accuracy.

2003-04-17

Thu Apr 17 14:39:23 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

parse.y (cond0)

warn only range literals whose both side are literals. [ruby-core:00964]

Thu Apr 17 11:10:59 2003 WATANABE Hirofumi <[email protected]>

ext/readline/readline.c

add the defined operator for bcc32.

2003-04-16

Wed Apr 16 00:14:06 2003 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-special-char-p)

should test at the point if no argument. fixed by Michael Scholz <[email protected]>.

2003-04-15

Tue Apr 15 19:35:08 2003 Minero Aoki <[email protected]>

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 <[email protected]>

struct.c (rb_struct_hash)

new methods Struct#hash, Struct#eql?.

(ruby-bugs

PR#758)

Tue Apr 15 16:05:11 2003 Nobuyoshi Nakada <[email protected]>

numeric.c (rb_fix2str)

buffer was insufficient.

(ruby-bugs-ja

PR#431)

2003-04-14

Mon Apr 14 19:45:56 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-04-13

Sun Apr 13 03:20:31 2003 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (try_func)

remove COMMON_HEADERS at first for performance.

2003-04-12

Sat Apr 12 20:59:40 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

file.c (rb_stat)

use rb_check_convert_type() to retrieve IO.

2003-04-11

Fri Apr 11 19:00:14 2003 Nobuyoshi Nakada <[email protected]>

win32/win32.c (rb_w32_stat)

check arguments. [ruby-dev:20007] [ruby-win32:535]

Fri Apr 11 15:56:08 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

lib/benchmark.rb (Benchmark::bm)

get rid of warning. [ruby-talk:69124]

Fri Apr 11 02:41:35 2003 Nobuyoshi Nakada <[email protected]>

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)

2003-04-10

Thu Apr 10 21:12:19 2003 Minero Aoki <[email protected]>

lib/net/pop.rb

Exception line was accidentally removed. [ruby-dev:19989]

Thu Apr 10 18:42:13 2003 Tadayoshi Funaba <[email protected]>

array.c (rb_ary_times)

added some checks for request size.

Thu Apr 10 03:22:38 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

eval.c (rb_obj_is_method)

indefinite return value.

Thu Apr 10 00:39:32 2003 Tanaka Akira <[email protected]>

regex.c (re_compile_pattern)

/[---]/ was warned. warn /]/.

mkconfig.rb

escape `]' in regexp.

Thu Apr 10 00:27:07 2003 Nobuyoshi Nakada <[email protected]>

time.c (time_strftime)

RSTRING(format)->ptr might become NULL.

2003-04-09

Wed Apr 9 23:54:50 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

eval.c (rb_mod_define_method)

Allow UnboundMethod as parameter.

Wed Apr 9 18:30:58 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

bignum.c (bigdivmod)

small typo.

Wed Apr 9 15:35:04 2003 NAKAMURA Usaku <[email protected]>

ext/readline/readline.c

include <unistd.h> only when HAVE_UNISTD_H is defined.

Wed Apr 9 14:05:00 2003 Nobuyoshi Nakada <[email protected]>

marshal.c (w_object)

preserve extended module on struct.

(ruby-bugs-ja

PR#422)

Wed Apr 9 03:43:14 2003 Yukihiro Matsumoto <[email protected]>

bignum.c (BIGZEROP)

macro to determine if x is a bignum zero.

2003-04-08

Tue Apr 8 11:49:31 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-04-07

Mon Apr 7 15:49:09 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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]

2003-04-06

Sun Apr 6 18:29:21 2003 UENO Katsuhiro <[email protected]>

ext/zlib/zlib.c

the return value of GzipReader#getc must be unsigned.

Sun Apr 6 00:35:37 2003 Tanaka Akira <[email protected]>

sample/exyacc.rb

use Regexp in gsub!.

2003-04-05

Sat Apr 5 23:41:28 2003 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

small but serious typo.

Sat Apr 5 04:23:05 2003 Warren Brown <[email protected]>

sprintf.c (rb_f_sprintf)

was decrementing width even if there is no sign character.

Sat Apr 5 01:41:28 2003 Yukihiro Matsumoto <[email protected]>

eval.c (backtrace)

skip internal allocator frame.

2003-04-04

Fri Apr 4 10:53:22 2003 Yukihiro Matsumoto <[email protected]>

eval.c (assign)

should prepare mrhs by svalue_to_mrhs().

2003-04-02

Wed Apr 2 15:11:23 2003 Nobuyoshi Nakada <[email protected]>

README.EXT, README.EXT.ja (3.3)

clarified -1 as free for Data_Wrap_Struct(). [ruby-dev:19881]

2003-03-31

Mon Mar 31 11:11:36 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_missing)

use “inspect” for T_OBJECT as well.

Mon Mar 31 10:50:48 2003 Yukihiro Matsumoto <[email protected]>

hash.c (env_reject_bang)

untaint key string.

hash.c (env_delete_m)

execute block only if deleting key does not exist.

2003-03-29

Sat Mar 29 17:54:46 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

MANIFEST (ext/aix_mksym.rb)

remove obsolete file.

Fri Mar 29 06:21:24 2003 UENO Katsuhiro <[email protected]>

ext/zlib

merge from rough.

2003-03-28

Fri Mar 28 19:33:39 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

regex.c (re_compile_pattern)

do not warn if “-” is at the top or last of character class.

2003-03-27

Thu Mar 27 12:10:15 2003 Tanaka Akira <[email protected]>

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 <[email protected]>

string.c (rb_str_capitalize_bang)

check length before upcase first character. (ruby-bugs:PR#697)

2003-03-26

Wed Mar 26 20:25:10 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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).

2003-03-25

Tue Mar 25 23:26:02 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

ext/strscan/strscan.c

should infect also return values of inspect.

ext/strscan/strscan.c

use snprintf() instead of sprintf().

2003-03-24

Mon Mar 24 16:55:04 2003 Takaaki Tateishi <[email protected]>

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 <[email protected]>

parse.y (block_append)

warn unused literal.

2003-03-23

Sun Mar 23 22:22:04 2003 WATANABE Hirofumi <[email protected]>

lib/jcode.rb (tr!, delete!, szueeze!)

add empty string checking.

Sun Mar 23 19:54:53 2003 Nobuyoshi Nakada <[email protected]>

gc.c (rb_gc_call_finalizer_at_exit)

use free() if dfree is -1.

2003-03-22

Sat Mar 22 15:50:29 2003 Tanaka Akira <[email protected]>

time.c (make_time_t)

try search_time_t if mktime/timegm is failed.

Sat Mar 22 13:26:33 2003 Tanaka Akira <[email protected]>

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 <[email protected]>

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 <[email protected]>

io.c (rb_io_fread)

may lose data on nonblocking read.

2003-03-21

Fri Mar 21 23:40:41 2003 Tanaka Akira <[email protected]>

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 <[email protected]>

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 <[email protected]>

eval.c (bmcall)

missing type.

Fri Mar 21 01:29:35 2003 Yukihiro Matsumoto <[email protected]>

sprintf.c (rb_f_sprintf)

copy sign bits only if value is negative.

missing.h

include <stdarg.h> or <varargs.h> if HAVE_VSNPRINTF is not defined.

2003-03-20

Thu Mar 20 18:31:37 2003 Nobuyoshi Nakada <[email protected]>

lib/optparse.rb (OptionParser#order!)

follow recent change of proc argument.

Thu Mar 20 16:12:53 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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 <[email protected]>

eval.c (bmcall)

add volatile to avoid GC problem.

Thu Mar 20 10:10:49 2003 Yukihiro Matsumoto <[email protected]>

eval.c (load_dyna)

clear ruby_errinfo. (ruby-bugs-ja PR#409)

2003-03-19

Wed Mar 19 23:05:30 2003 NAKAMURA, Hiroshi <[email protected]>

lib/tracer.rb (trace_func)

save and recover Thread.critical state. Fixed by Fukumoto Atsushi <[email protected]> [ruby-dev:19830]

Wed Mar 19 02:55:46 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-03-18

Tue Mar 18 18:24:03 2003 Yukihiro Matsumoto <[email protected]>

range.c

do not override min and max.

2003-03-16

Sun Mar 16 12:29:55 2003 Tanaka Akira <[email protected]>

lib/pp.rb (object_address_group)

use to_s instead of name to get name of class.

2003-03-14

Fri Mar 14 08:53:29 2003 Yukihiro Matsumoto <[email protected]>

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().

2003-03-12

Wed Mar 12 16:48:19 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

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([]) should be [[1,2]], not [1,2] to wrap-around.

2003-03-11

Tue Mar 11 21:00:59 2003 Minero Aoki <[email protected]>

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 <[email protected]>

lib/net/http.rb

speeding up by avoiding extra flush.

(suggested by Brian Candler <[email protected]> [ruby-talk

66516])

Tue Mar 11 04:30:12 2003 Yukihiro Matsumoto <[email protected]>

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

eval.c (rb_eval)

use svalue_to_mrhs.

eval.c (rb_yield_0)

ditto.

eval.c (proc_invoke)

break from “Proc#yield” is legal.

2003-03-10

Mon Mar 10 23:19:29 2003 Yukihiro Matsumoto <[email protected]>

file.c (rb_find_file)

need world writable directory check for relative paths too.

Mon Mar 10 11:23:00 2003 Yukihiro Matsumoto <[email protected]>

file.c (rb_find_file)

world writable directory check if $SAFE >= 1 (was $SAFE >= 2).

Mon Mar 10 01:59:47 2003 Minero Aoki <[email protected]>

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 <[email protected]>, 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.

2003-03-09

Sun Mar 9 19:30:25 2003 WATANABE Hirofumi <[email protected]>

lib/fileutils.rb (mkdir, mkdir_p)

revert.

instruby.rb (umask)

umask 0022, not 0.

Sun Mar 9 17:09:40 2003 WATANABE Hirofumi <[email protected]>

lib/fileutils.rb (mkdir, mkdir_p)

set mode to 0755.

Makefile.in (fake.rb)

set ALT_SEPARATOR to the default value.

2003-03-08

Sat Mar 8 11:30:59 2003 Nobuyoshi Nakada <[email protected]>

eval.c (massign)

fix a bug not to expand in assignment to sole lhs. [ruby-dev:19766]

2003-03-07

Fri Mar 7 21:57:25 2003 Tanaka Akira <[email protected]>

lib/pp.rb (Kernel.pp)

module function.

(MatchData#pretty_print)

new method.

Fri Mar 7 20:27:19 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

ext/dbm/extconf.rb

add QDBM support.

Fri Mar 7 12:59:39 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

ext/Win32API/Win32API.c

no longer use inline-asms.

ext/Win32API/extconf.rb

no need to add gcc options.

2003-03-06

Thu Mar 6 13:02:10 2003 Yukihiro Matsumoto <[email protected]>

parse.y (reswords)

fix reswords list.

2003-03-05

Wed Mar 5 12:13:21 2003 WATANABE Hirofumi <[email protected]>

configure.in

better YACC support on HP-UX.

Wed Mar 5 05:55:20 2003 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_cat)

remove ptr NULL check and MEMZERO(). ptr must be non NULL.

2003-03-04

Tue Mar 4 23:12:07 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

array.c (rb_ary_aref)

raise TypeError if index is a symbol. [ruby-list:37217]

array.c (rb_ary_aset)

ditto.

Tue Mar 4 15:08:08 2003 WATANABE Hirofumi <[email protected]>

configure.in

better HP-UX support.

missing/strftime.c

ditto.

Tue Mar 4 10:11:32 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

ext/dl/MANIFEST

Exclude .cvsignore. [found by: eban]

Tue Mar 4 01:17:08 2003 Akinori MUSHA <[email protected]>

ext/Win32API/MANIFEST

Belatedly add lib/win32/registry.rb. [found by: eban]

Tue Mar 4 00:33:04 2003 Akinori MUSHA <[email protected]>

MANIFEST

Belatedly add Test::Unit files. D'oh!

2003-03-03

Mon Mar 3 11:29:04 2003 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

parse 'lhs = a rescue b' as 'lhs=(a rescue b)'.

Mon Mar 3 02:53:52 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-03-02

Sun Mar 2 09:51:47 2003 Nobuyoshi Nakada <[email protected]>

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;

2003-03-01

Wed Jun 18 23:41:27 2003 Marc Cartright <[email protected]>

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.

2003-02-28

Fri Feb 28 23:50:32 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

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.

2003-02-26

Wed Feb 26 17:38:16 2003 Tanaka Akira <[email protected]>

lib/open-uri.rb

replace Kernel.open as well.

2003-02-25

Tue Feb 25 23:03:08 2003 NAKAMURA, Hiroshi <[email protected]>

lib/debug.rb (DEBUGGER__::Context#debug_command)

bp filename must be the basename of it. [ruby-talk:65644]

2003-02-24

Mon Feb 24 17:49:35 2003 Nobuyoshi Nakada <[email protected]>

parse.y (yycompile)

zero clear ruby_eval_tree_begin if compilation failed.

Mon Feb 24 08:06:29 2003 Yukihiro Matsumoto <[email protected]>

string.c (str_new)

need no MEMZERO().

2003-02-23

Sun Feb 23 17:57:06 2003 WATANABE Hirofumi <[email protected]>

lib/fileutils (fu_stream_blksize)

wrong logical condition.

2003-02-22

Sat Feb 22 03:12:56 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-02-21

Fri Feb 21 21:03:41 2003 Minero Aoki <[email protected]>

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 <[email protected]>

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 <[email protected]>

string.c (rb_str_cmp_m)

should use LONG2NUM().

Fri Feb 21 12:45:50 2003 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_cmp_m)

two small bugs fixed.

Fri Feb 21 08:03:09 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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.

2003-02-20

Thu Feb 20 19:05:51 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>.

Thu Feb 20 18:44:51 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

file.c (file_expand_path)

should not upward beyond share name.

Thu Feb 20 15:45:33 2003 WATANABE Hirofumi <[email protected]>

missing.h (strtoul)

fix prototype of strtoul.

Thu Feb 20 10:11:30 2003 Yukihiro Matsumoto <[email protected]>

parse.y (clhs)

allow “Foo::Bar = x”.

Thu Feb 20 04:07:06 2003 Nobuyoshi Nakada <[email protected]>

parse.y (primary)

self=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 <[email protected]>

eval.c (rb_eval)

“foo=” should not always be public.

Thu Feb 20 01:23:59 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_restore_context)

inhibit interrupts in critical section while context switching. [ruby-talk:64785]

2003-02-19

Wed Feb 19 18:27:42 2003 Nobuyoshi Nakada <[email protected]>

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.

2003-02-18

Tue Feb 18 21:39:27 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

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)

2003-02-17

Mon Feb 17 14:36:56 2003 Nobuyoshi Nakada <[email protected]>

win32/win32.c (rb_w32_opendir, rb_w32_utime)

need parens.

Mon Feb 17 14:13:25 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

file.c (file_expand_path)

strip last slash when path is root.

2003-02-16

Sun Feb 16 19:22:31 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

io.c (prep_stdio, Init_io)

always set binmode on Cygwin.

2003-02-15

Sat Feb 15 01:01:45 2003 Nobuyoshi Nakada <[email protected]>

file.c (file_expand_path)

fix surplus path separators while expanding at root directory. [ruby-dev:19572]

2003-02-14

Fri Feb 14 14:25:24 2003 akira yamada <[email protected]>

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 <[email protected]> at [ruby-dev:19475].

lib/uri/generic.rb (Generic#==)

should not generate an URI object from argument. Suggested by Tanaka Akira <[email protected]> at [ruby-dev:19475].

2003-02-13

Thu Feb 13 11:54:50 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-02-10

Mon Feb 10 20:55:15 2003 WATANABE Hirofumi <[email protected]>

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 <[email protected]>

lib/fileutils.rb (FileUtils#uptodate?)

use mtime for comparison.

Mon Feb 10 10:14:26 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

io.c (rb_file_sysopen)

rb_file_sysopen_internal() needs four arguments.

2003-02-09

Sun Feb 9 15:16:04 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

lib/mkmf.rb (init_mkmf)

add libdir to LIBPATH unless cross compiling.

Sun Feb 9 08:34:45 2003 Minero Aoki <[email protected]>

lib/net/http.rb

4xx raises Net::ProtoServerError, 5xx raises Net::ProtoFatalError (for backward compatibility).

Sun Feb 9 07:07:26 2003 Minero Aoki <[email protected]>

lib/fileutils.rb

new method FileUtils.pwd (really).

lib/fileutils.rb

FileUtils.pwd, cmp, identical?, uptodate? does not accept any option.

2003-02-08

Sat Feb 8 18:35:30 2003 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-forward-string)

fixed void variable error.

Sat Feb 8 16:23:11 2003 NABEYA Kenichi <[email protected]>

misc/ruby-mode.el (ruby-font-lock-keywords)

method name can be delimited by tab.

Sat Feb 8 03:57:32 2003 Akinori MUSHA <[email protected]>

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 <[email protected]>

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 <[email protected]>

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]

2003-02-07

Fri Feb 7 15:35:21 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

eval.c (proc_invoke)

should propagate self to super methods. [ruby-dev:19510]

2003-02-06

Thu Feb 6 19:04:32 2003 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_initialize_m)

should not preset “kcode” unless encoding is explicitly specified.

Thu Feb 6 19:01:32 2003 Minero Aoki <[email protected]>

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 <[email protected]>

lib/complex.rb (Complex#==)

should not raise error by type mismatch.

lib/rational.rb (Rational#==)

ditto.

Thu Feb 6 11:44:40 2003 MoonWolf <[email protected]>

re.c (rb_reg_initialize_m)

3rd argument was ignored.

Thu Feb 6 01:09:05 2003 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_count)

return 0 for empty string (was returning nil).

2003-02-05

Wed Feb 5 19:41:37 2003 Tanaka Akira <[email protected]>

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 <[email protected]>.

Wed Feb 5 17:11:02 2003 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

no .<digit> float literal anymore.

2003-02-04

Tue Feb 4 16:11:30 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-02-03

Mon Feb 3 23:46:48 2003 Yukihiro Matsumoto <[email protected]>

io.c (argf_getline)

should not increment lineno at EOF.

Mon Feb 3 16:49:19 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

re.c (rb_memsearch)

a little improvement.

Mon Feb 3 13:18:05 2003 Yukihiro Matsumoto <[email protected]>

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.

2003-02-01

Sat Feb 1 23:56:29 2003 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_merge)

Hash#merge, non destructive “update”. now there's also Hash#merge! which is an alias to “update”.

2003-01-31

Fri Jan 31 14:16:59 2003 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_index)

search using Karp-Rabin algorithm.

Fri Jan 31 12:45:11 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

lib/optparse.rb (OptionParser::List::accept)

default pattern must not be nil.

lib/optparse.rb (OptionParser::make_switch)

NoArgument doesn't override other styles.

2003-01-30

Thu Jan 30 16:46:43 2003 Nobuyoshi Nakada <[email protected]>

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 <[email protected]>

file.c (rb_file_s_expand_path)

removed a sludge.

2003-01-29

Wed Jan 29 03:24:39 2003 Michal Rokos <[email protected]>

dir.c (glob_helper)

memory leak fixed.

2003-01-28

Tue Jan 28 04:45:03 2003 Akinori MUSHA <[email protected]>

instruby.rb (parse_args), ext/extmk.rb (parse_args)

Prepend a hyphen to the first argument of MAKEFLAGS only if appropriate. Remove wrong comments.

2003-01-27

Mon Jan 27 03:30:06 2003 NAKAMURA Usaku <[email protected]>

error.c (get_syserror)

use snprintf() instead of sprintf(). pointed out by knu.

Mon Jan 27 02:06:38 2003 NAKAMURA Usaku <[email protected]>

error.c (get_syserror)

some Windows' errno have 5 digits. pointed out by znz.

2003-01-26

Sun Jan 26 19:23:10 2003 NAKAMURA Usaku <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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.

2003-01-24

Fri Jan 24 18:15:33 2003 Yukihiro Matsumoto <[email protected]>

parse.y

tMINUS should have lower precedence than tPOW.

Fri Jan 24 05:12:55 2003 Nobuyoshi Nakada <[email protected]>

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?.

2003-01-23

Thu Jan 23 17:25:04 2003 Yukihiro Matsumoto <[email protected]>

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 <[email protected]>

parse.y (arg)

missing arguments.

Thu Jan 23 14:56:52 2003 Yukihiro Matsumoto <[email protected]>

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).

Thu Jan 23 13:24:18 2003 Yukihiro Matsumoto <[email protected]>

time.c (time_arg)

was accessing garbage argv value.

Thu Jan 23 06:37:01 2003 Nobuyoshi Nakada <[email protected]>

instruby.rb

should not contain destdir in shebang line.

2003-01-22

Wed Jan 22 23:19:57 2003 NAKAMURA Usaku <[email protected]>

win32/win32.c (pipe_exec)

remove unnecessary SetStdHandle().

Wed Jan 22 20:20:59 2003 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

syntaxify tPOW negative number hack.

parse.y (negate_lit)

new function to negate literal numeric values in compile time.

Wed Jan 22 15:36:54 2003 Yukihiro Matsumoto <[email protected]>

regex.c (re_match_exec)

charset info may be stored in MBC region when $KCODE != NONE.

Wed Jan 22 14:22:53 2003 Yukihiro Matsumoto <[email protected]>

error.c (set_syserr)

should preserve duplicated error names.

2003-01-21

Tue Jan 21 20:29:31 2003 Michal Rokos <[email protected]>

mkmf.rb

make possible to add files to clean and distclean targets

Tue Jan 21 18:05:25 2003 Nobuyoshi Nakada <[email protected]>

bcc32/Makefile.sub (LIBRUBY_A)

link dmyext.

Tue Jan 21 16:59:18 2003 NAKAMURA Usaku <[email protected]>

instruby.rb

use real interpreter pathname at shebang line. [ruby-dev:19370]

Tue Jan 21 16:22:32 2003 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

put back old ** behavior for negative number right operand.

Tue Jan 21 14:46:12 2003 Tanaka Akira <[email protected]>

lib/pp.rb

Use Test::Unit.

lib/prettyprint.rb

Ditto

lib/time.rb

Ditto

lib/tsort.rb

Ditto

Tue Jan 21 04:15:50 2003 Tanaka Akira <[email protected]>

lib/pp.rb

Use redefined `to_s' as well as `inspect'. Useless `pretty_print' methods removed.

(PP::ObjectMixin#pretty_print_inspect)

new method.

2003-01-20

Mon Jan 20 21:48:43 2003 Akinori MUSHA <[email protected]>

configure.in (MANTYPE)

Detect if the system's nroff(1) groks mdoc. Provide a new option –with-mantype={doc|man} in case the check does not work as expected.

Makefile.in (MANTYPE)

Define MANTYPE and pass it to instruby.rb.

instruby.rb

Convert mdoc manpages to man for systems which nroff(1) does not grok mdoc.

Mon Jan 20 21:25:18 2003 Akinori MUSHA <[email protected]>

lib/tempfile.rb (self.open)

If a block is given, call it with tempfile as an argument and automatically close the tempfile when the block terminates.

Mon Jan 20 21:02:50 2003 Akinori MUSHA <[email protected]>

mdoc2man.rb

Properly put nested braces, parentheses and angles.

mdoc2man.rb

Add support for .An and .Aq/.Ao/.Ac.

mdoc2man.rb

Add support for .Dl.

mdoc2man.rb

Make .Pf macro actually work.

mdoc2man.rb

Properly handle .Os.

mdoc2man.rb

Correctly omit spaces around punctuation characters.

Mon Jan 20 19:43:41 2003 Akinori MUSHA <[email protected]>

mdoc2man.rb

Make this work as a library.

Mon Jan 20 18:22:40 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_f_require)

purge too many goto's.

Mon Jan 20 17:50:05 2003 Akinori MUSHA <[email protected]>

mdoc2man.rb (parse_macro)

Understand .Ux.

Mon Jan 20 17:32:56 2003 Akinori MUSHA <[email protected]>

mdoc2man.rb

New file. A mdoc to man converter ported from Perl.

Mon Jan 20 15:40:15 2003 Akinori MUSHA <[email protected]>

ruby.1

Properly close .Bl with .El.

Mon Jan 20 04:14:17 2003 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (egrep_cpp)

use inspect to show options.

lib/mkmf.rb (dir_config)

prior configured directories to defaults.

lib/mkmf.rb (dir_config)

extract first word to determine make command type.

Mon Jan 20 02:15:53 2003 Nobuyoshi Nakada <[email protected]>

ext/aix_mksym.rb

no longer used.

Mon Jan 20 00:17:16 2003 Matt Armstrong <[email protected]>

file.c (eaccess)

under windows, make eaccess() just call access(). [ruby-core:716], [ruby-bugs:PR#556]

2003-01-19

Sun Jan 19 23:08:18 2003 Akinori MUSHA <[email protected]>

lib/shellwords.rb (shellwords)

A backslash ('') in single quotes should not be regarded as meta character. This bug or maybe feature was inherited from Perl's shellwords.pl.

Sun Jan 19 14:01:12 2003 UENO Katsuhiro <[email protected]>

regex.c (is_in_list)

should work well with UTF-8.

regex.c (re_match_exec)

ditto.

2003-01-18

Sat Jan 18 14:53:49 2003 Nobuyoshi Nakada <[email protected]>

bignum.c (rb_cstr_to_inum)

should not erase all 0s, but squeeze into one. [ruby-dev:19377]

2003-01-17

Fri Jan 17 03:33:42 2003 Akinori MUSHA <[email protected]>

sprintf.c (rb_f_sprintf)

Fix a bug caused by an uninitialized variable v, that a bignum unexpectedly gets converted into a string with its higher figures all filled with ./f/7/1, depending on the base. This bug seems to have been introduced in rev.1.27.

sprintf.c (rb_f_sprintf)

Use switch instead of a sequence of else-if's.

2003-01-15

Wed Jan 15 15:18:38 2003 moumar <[email protected]>

configure.in (ARCHFILE)

set even unless –enable-shared on AIX. [ruby-talk:61466]

marshal.c (math.h)

should be included after ruby.h on AIX. [ruby-talk:61366]

2003-01-14

Tue Jan 14 21:47:56 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_f_require)

do not search adding .rb/.so suffixes if the suffix specified. [ruby-dev:18702] moonrock.jp/~don/d/200211.html#d08_t1

Tue Jan 14 18:36:41 2003 Yukihiro Matsumoto <[email protected]>

enum.c (enum_all)

now works without block.

enum.c (enum_any)

ditto.

Tue Jan 14 01:21:32 2003 Nobuyoshi Nakada <[email protected]>

io.c (next_argv)

not always set binmode.

2003-01-13

Mon Jan 13 20:45:19 2003 Guy Decoux <[email protected]>

parse.y (list_append)

avoid O(n) search using node->nd_next->nd_end.

parse.y (list_concat)

ditto.

eval.c (rb_eval)

NODE_ARRY nd_end adoption.

Mon Jan 13 02:22:11 2003 WATANABE Hirofumi <[email protected]>

ext/dl/lib/dl/win32.rb

eliminate unnecessary “A” adding.

2003-01-12

Sun Jan 12 16:07:17 2003 WATANABE Hirofumi <[email protected]>

io.c (next_argv)

inherit binmode from $defout.

2003-01-11

Sat Jan 11 22:50:47 2003 WATANABE Hirofumi <[email protected]>

ext/dl/lib/dl/win32.rb

compatibility improvement.

Sat Jan 11 01:44:16 2003 Nobuyoshi Nakada <[email protected]>

configure.in (RUBY_CHECK_IO_NEED)

added more tests.

io.c (rb_io_check_readable)

seek after synchronized write.

2003-01-10

Fri Jan 10 01:23:45 2003 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-font-lock-syntactic-keywords)

syntax classes are not allowed inside character classes. [ruby-talk:60996]

2003-01-09

Thu Jan 9 23:28:01 2003 Nobuyoshi Nakada <[email protected]>

configure.in

AC_MSG_FAILURE is a new macro in 2.54b or later.

Thu Jan 9 17:05:24 2003 Nobuyoshi Nakada <[email protected]>

configure.in (RUBY_CHECK_IO_NEED)

check whether fseek() and fflush() are needed.

io.c (flush_before_seek)

flush write stream only.

io.c (rb_io_check_readable)

seek instead of flush if the last operation was write.

io.c (rb_io_check_writable)

seek instead of flush if the last operation was read.

bcc32/Makefile.sub, win32/Makefile.sub

needs to seek between R/W.

Thu Jan 9 16:31:51 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should not discard nested NODE_BLOCK.

Thu Jan 9 15:12:30 2003 Yukihiro Matsumoto <[email protected]>

parse.y (stmt)

NODE_NOT elimination for if/unless/while/until node.

parse.y (primary)

ditto.

Thu Jan 9 13:26:18 2003 Akinori MUSHA <[email protected]>

st.h, st.c

Back out the introduction of st_*_func_t. Some compilers complain about function type mismatch.

Thu Jan 9 02:10:44 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

reduce recursive rb_eval() call by using sort of continuation passing style.

2003-01-08

Wed Jan 8 17:10:32 2003 NAKAMURA Usaku <[email protected]>

ext/Win32API/lib/win32/registry.rb

added. [new]

Wed Jan 8 15:54:05 2003 Yukihiro Matsumoto <[email protected]>

eval.c

remove ruby_last_node and assignments seems to be unnecessary

intern.h

debug does not run if ID_ALLOCATOR is zero.

Wed Jan 8 15:04:11 2003 Yukihiro Matsumoto <[email protected]>

range.c (range_each)

treat fixnums specially to boost.

numeric.c (num_step)

remove rb_scan_args() for small speedup.

2003-01-07

Tue Jan 7 17:56:08 2003 Yukihiro Matsumoto <[email protected]>

eval.c (svalue_to_avalue)

should return converted array.

Tue Jan 7 07:48:01 2003 Nobuyoshi Nakada <[email protected]>

eval.c (rb_f_local_variables)

skip $_, $~ and flip states in dynamic variables. [ruby-core:00681]

Tue Jan 7 02:46:29 2003 Yukihiro Matsumoto <[email protected]>

hash.c (env_clear)

new Hash compatible method.

hash.c (env_shift, env_invert, env_replace, env_update)

ditto.

2003-01-06

Mon Jan 6 23:36:29 2003 Akinori MUSHA <[email protected]>

st.h, st.c

Introduce new conventional typedef's, st_data_t, st_compare_func_t, st_hash_func_t and st_each_func_t.

st.h, st.c

Do explicit function declarations and do not rely on implicit declarations.

class.c, eval.c, gc.c, hash.c, marshal.c, parse.y, variable.c

Add proper casts to avoid warnings.

Mon Jan 6 20:44:43 2003 Akinori MUSHA <[email protected]>

intern.h (rb_check_array_type)

Declare rb_check_array_type().

ext/digest/md5/md5ossl.c

Include stdio.h for sprintf() and string.h for memcmp().

ext/dl/ptr.c

Include ctype.h for isdigit().

Mon Jan 6 18:43:17 2003 NAKAMURA Usaku <[email protected]>

file.c

improve DOSISH drive letter support.

Mon Jan 6 18:31:45 2003 WATANABE Hirofumi <[email protected]>

lib/fileutils.rb (ln)

add ' -f' in the verbose message.

lib/fileutils.rb (cp_r)

add 'p' in the verbose message.

Mon Jan 6 16:44:52 2003 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_join)

dispatch based on “to_str”.

array.c (rb_ary_times, rb_ary_equal)

ditto.

Mon Jan 6 13:26:35 2003 NAKAMURA Usaku <[email protected]>

process.c (proc_exec_v)

follow to proc_spawn_v(). call do_aspawn() on Win32.

process.c (rb_proc_exec)

call do_spawn() on Win32.

win32/win32.c, win32/win32.h (do_spawn, do_aspawn)

add mode flag.

process.c (proc_spawn_v, rb_f_system)

follow above change.

Mon Jan 6 05:11:15 2003 Nobuyoshi Nakada <[email protected]>

ext/extmk.rb

make $0 normal variable.

Mon Jan 6 02:32:46 2003 Nobuyoshi Nakada <[email protected]>

struct.c (make_struct)

needs meta class.

2003-01-05

Sun Jan 5 22:54:05 2003 WATANABE Hirofumi <[email protected]>

lib/fileutils.rb (ln)

`argv' is not a argument.

Sun Jan 5 17:44:37 2003 Nobuyoshi Nakada <[email protected]>

ext/extmk.rb (extmake)

set $0 temporarily while loading extconf.rb.

Sun Jan 5 14:46:46 2003 WATANABE Hirofumi <[email protected]>

instruby.rb

need paren in regexp(make -n install).

ext/extmk.rb (sysquote)

do not need to quote on mswin/bccwin/mingw.

ext/extmk.rb ($mflags)

uniq items and remove '-' and '–'. move options to the lead.

lib/fileutils.rb (install)

model on the real install command(message).

Sun Jan 5 09:36:46 2003 Nobuyoshi Nakada <[email protected]>

ruby.c (ruby_init_loadpath)

under Windows, get the module path from an internal address instead of hard coded library name.

cygwin/GNUmakefile.in, bcc32/Makefile.sub, win32/Makefile.sub (CPPFLAGS)

removed LIBRUBY_SO macro.

bcc32/Makefile.sub, win32/Makefile.sub (config.h)

no longer depends on makefiles.

Sun Jan 5 04:17:05 2003 Akinori MUSHA <[email protected]>

gc.c (SET_STACK_END)

Issue a FLUSH_REGISTER_WINDOWS here too. This fixes make test on FreeBSD/sparc64.

Sun Jan 5 03:43:47 2003 Akinori MUSHA <[email protected]>

defines.h (FLUSH_REGISTER_WINDOWS)

Make the flushw call an inline function so it can be used as an expression.

eval.c (EXEC_TAG, THREAD_SAVE_CONTEXT)

Consistently call FLUSH_REGISTER_WINDOWS before calling setjmp(). (I suspect that every setjmp() implementation should take care of register windows, though)

Sun Jan 5 03:12:32 2003 NAKAMURA Usaku <[email protected]>

file.c (utimbuf)

use utimbuf instead of _utimbuf if defined _WIN32.

win32/Makefile.sub (LIBS)

use oldnames.lib.

win32/win32.c (rb_w32_getcwd)

follow above change.

win32/win32.h

ditto.

wince/direct.c, wince/direct.h (getcwd)

ditto.

wince/io.h

ditto.

wince/string.c, wince/wince.h (stricmp, strnicmp)

ditto.

2003-01-04

Sat Jan 4 15:18:50 2003 NAKAMURA Usaku <[email protected]>

process.c (rb_proc_exec)

use same logic as DJGPP on win32 ports.

process.c (rb_f_system)

ditto.

win32/win32.c, win32/win32.h (do_aspawn)

[new]. for arrayed arguments.

win32/win32.c (CreateChild)

add new argument for real filename of executing process.

win32/win32.c (NtHasRedirection, pipe_exec)

follow above change.

Sat Jan 4 14:29:52 2003 NAKAMURA Usaku <[email protected]>

configure.in

set rb_cv_need_io_flush_between_seek=yes.

win32/Makefile.sub (config.h)

define NEED_IO_FLUSH_BETWEE_SEEK.

(pointed out by moriq [ruby-dev

19299])

Sat Jan 4 03:12:14 2003 Yukihiro Matsumoto <[email protected]>

eval.c (umethod_bind)

exact class match is not required. relax the restriction to subclasses.

Sat Jan 4 01:33:40 2003 Nobuyoshi Nakada <[email protected]>

file.c (rb_file_s_lchmod)

get rid of gcc-3 -O3 warning.

2003-01-03

Fri Jan 3 22:26:07 2003 Nobuyoshi Nakada <[email protected]>

process.c (rb_proc_times)

need to initialize first.

Fri Jan 3 01:10:17 2003 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

call “inherited” before executing class body.

class.c (rb_define_class)

call “inherited” after defining the constant.

class.c (rb_define_class_under)

ditto.

2003-01-02

Thu Jan 2 19:37:30 2003 Yukihiro Matsumoto <[email protected]>

eval.c (massign)

expand first element if RHS is an array and its size is 1, and LHS has concrete assignment target (i.e. LHS has target(s) other than *var).

eval.c (massign)

avoid unnecessary avalue/svalue conversion.

eval.c (rb_yield_0)

ditto

array.c (rb_ary_update)

do not allocate unused array if rpl is nil (i.e. merely removing elements).

Thu Jan 2 13:55:08 2003 Mathieu Bouchard <[email protected]>

io.c (io_read)

should resize supplied string if it's shorter than expected.

Thu Jan 2 11:01:20 2003 Nobuyoshi Nakada <[email protected]>

eval.c (bmcall)

arguments should be an array.

2003-01-01

Wed Jan 1 18:18:45 2003 WATANABE Hirofumi <[email protected]>

configure.in

better DJGPP support. add GNUmakefile.

djgpp/GNUmakefile

new.

Wed Jan 1 04:16:18 2003 Akinori MUSHA <[email protected]>

node.h (struct RNode)

Change argc from int to long. Otherwise NEW_CFUNC() sets argc to a wrong value on platforms where sizeof(int) != sizeof(long) and the byte order is big-endian. This fixes breakage on FreeBSD/sparc64.

2002-12-31

Tue Dec 31 23:22:50 2002 Yukihiro Matsumoto <[email protected]>

eval.c (massign)

removed awkward conversion between yvalue, mvalue, etc.

eval.c (rb_yield_0)

new parameter added to tell whether val is an array value or not.

parse.y (yield_args)

restructuring: new nodes: NODE_RESTARY2, NODE_SVALUE; removed node: NODE_RESTARGS.

Tue Dec 31 21:13:51 2002 WATANABE Hirofumi <[email protected]>

Makefile.in, {win32,bcc32}/Makefile.sub

add new target: what-where, no-install.

mkconfig.rb

add const: CROSS_COMPILING.

ext/extmk.rb

no-install support. add MAKEDIRS macro.

lib/mkmf.rb

add !ifdef .. !endif for Borland make.

process.c

improve DJGPP support. system “ls”, “-l”.

Tue Dec 31 20:16:37 2002 Akinori MUSHA <[email protected]>

ext/socket/addrinfo.h (NI_MAXHOST)

Define NI_MAXHOST and NI_MAXSERV only if they are not defined yet. This fixes build on such platforms as OpenBSD.

Tue Dec 31 20:07:49 2002 Akinori MUSHA <[email protected]>

ext/tcltklib/extconf.rb (find_tcl, find_tk)

Look for both lib{tcl,tk}M.N and lib{tcl,tk}MN on all platforms. *BSD have Tcl/Tk libraries named this way.

Tue Dec 31 19:48:21 2002 Akinori MUSHA <[email protected]>

configure.in

Improve OpenBSD support. [obtained from: OpenBSD ports]

dln.c (FUNCNAME_PATTERN)

Ditto.

Tue Dec 31 19:21:02 2002 Akinori MUSHA <[email protected]>

array.c (rb_ary_transpose)

Properly declare ary as a VALUE.

file.c (rb_file_s_chmod)

Do not directly cast an int to void * to avoid a warning.

defines.h (FLUSH_REGISTER_WINDOWS)

Add support for FreeBSD/sparc64. miniruby still coredumps in a different place, though.

Tue Dec 31 07:47:15 2002 Nobuyoshi Nakada <[email protected]>

parse.y (parse_string)

readjusted.

parse.y (heredoc_identifier)

readjusted.

parse.y (here_document)

make EOL codes of single-quoted here-documents consistent.

parse.y (yylex)

reduced unnecessary conditionals.

Tue Dec 31 04:49:51 2002 Akinori MUSHA <[email protected]>

ruby.1

mdoc'ify.

Tue Dec 31 01:30:29 2002 WATANABE Hirofumi <[email protected]>

parse.y (yylex)

do not accept “ __END__n”. ([ruby-dev:19245])

2002-12-30

Mon Dec 30 21:10:59 2002 WATANABE Hirofumi <[email protected]>

parse.y (yylex)

use strncmp instead of strcmp. accept “__END__rn”. ([ruby-dev:19241])

Mon Dec 30 20:32:14 2002 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_mark_frame)

should mark frame->node.

Mon Dec 30 19:10:30 2002 Nobuyoshi Nakada <[email protected]>

ext/extmk.rb

split –make argument contains options, assume the first word of –make-flags is always options even unless preceded by -, and ignore letter-case of options if nmake.

instruby.rb

extract -n option also from –make and –make-flags.

bcc32/Makefile.sub, win32/Makefile.sub

not prepend - to $(MFLAGS)

Mon Dec 30 16:44:14 2002 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_substr)

should share the shared string if present, instead of the original string. (ruby-bugs:PR#528)

Mon Dec 30 05:10:00 2002 Nobuyoshi Nakada <[email protected]>

ext/socket/socket.c (tcp_svr_init)

local host to init_inetsock() is VALUE but not pointer.

ext/socket/socket.c (sock_s_unpack_sockaddr_in)

get rid of gcc-3 -O3 warning.

2002-12-29

Sun Dec 29 23:45:53 2002 Nobuyoshi Nakada <[email protected]>

gc.c (gc_sweep)

adjust GC trigger.

dln.c (init_funcname_len)

get rid of gcc-3 -O3 warning.

eval.c (copy_node_scope)

ditto.

hash.c (rb_hash_foreach, delete_if_i, select_i, each_value_i, each_key_i, each_pair_i, envix)

ditto.

range.c (range_each_func)

ditto.

file.c (rb_file_s_chmod)

ditto.

Sun Dec 29 15:30:37 2002 Minero Aoki <[email protected]>

lib/fileutils.rb (fu_parseargs)

should not inherit ftools.rb's misfeature.

Sun Dec 29 05:08:13 2002 NAKAMURA Usaku <[email protected]>

lib/fileutils.rb (cmp)

return false if file size differs.

2002-12-28

Sat Dec 28 19:21:24 2002 WATANABE Hirofumi <[email protected]>

instruby.rb

remove junk args.

lib/mkmf.rb (create_makefile)

remove a trouble library before making a shared library.

win32/Makefile.sub

invoke instruby.rb with the –make-flags option.

Sat Dec 28 03:09:58 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb (CGI#[])

improvement. thanks to Kazuhiro NISHIYAMA <[email protected]>

Sat Dec 28 00:34:03 2002 WATANABE Hirofumi <[email protected]>

{win32,bcc32}/Makefile.sub

remove `=' from –make-flags options. nmake quotes args if included `=' in args.

instruby.rb

use getopts.rb.

ext/dbm/extconf.rb (-DDBM_HDR)

substitute ' with “ to avoid a error on Win32.

ext/gdbm/gdbm.c

add prototypes to avoid VC++ warnings.

2002-12-27

Fri Dec 27 21:41:57 2002 Nobuyoshi Nakada <[email protected]>

bcc32/setup.mak, win32/setup.mak(-prologue-)

move srcdir from CPP input or UNC path will be removed as a comment.

Fri Dec 27 17:55:00 2002 Takaaki Uematsu <[email protected]>

wince/config, wince/configure.bat

replace 1.7 with 1.8 in macros.

Fri Dec 27 13:28:14 2002 Minero Aoki <[email protected]>

instruby.rb

fileutils.rb accepts only one argument.

Fri Dec 27 13:23:29 2002 Minero Aoki <[email protected]>

lib/fileutils.rb (fu_parseargs)

reject illegal options correctly.

lib/fileutils.rb (uptodate?)

parameter declaration was wrong.

lib/fileutils.rb

change coding styles.

Fri Dec 27 09:25:22 2002 ABE Shigeru <[email protected]>

process.c (rb_proc_times)

avoid WindowsXP crash using volatile variables.

Fri Dec 27 02:56:58 2002 Nobuyoshi Nakada <[email protected]>

instruby.rb

check only `-' option, and use fileutils instead of ftools.

Fri Dec 27 02:45:17 2002 Wakou Aoyama <[email protected]>

lib/net/telnet.rb

Telnet#print not add “n”.

lib/cgi.rb

cgi is equal cgi[0]

2002-12-26

Thu Dec 26 22:33:18 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb (create_makefile)

check only `-' option.

configure.in

cleanups for MinGW. remove -D__NO_ISOCEXT in $CFLAGS.

win32/win32.h

prototypes for isinf, isnan are not needed on MinGW.

Thu Dec 26 19:22:00 2002 YOSHIDA Kazuhiro <[email protected]>

win32/setup.mak (-prologue-)

moved srcdir macro definition. [ruby-win32:420].

2002-12-25

Wed Dec 25 18:26:44 2002 K.Kosako <[email protected]>

regex.c (re_match)

fixed wrong G behavior. (ruby-bugs-ja:PR#377)

Wed Dec 25 16:41:16 2002 Yukihiro Matsumoto <[email protected]>

regex.c (re_match_exec)

fix odd G behavior based on the patch from Nobu.

Wed Dec 25 11:05:11 2002 Nobuyoshi Nakada <[email protected]>

bcc32/setup.mak (-generic-)

removed garbages.

Wed Dec 25 10:36:20 2002 NAKAMURA Usaku <[email protected]>

bcc32/Makefile.sub, win32/Makefile.sub (RUBY_SO_NAME, config.h)

use $(MAJOR) and $(MINOR). based on Nobu's patch. [ruby-win32:413]

bcc32/setup.mak, win32/setup.mak (-prologue-)

define MAJOR, MINOR and TEENY from version.h. based on Nobu's patch. [ruby-win32:413]

win32/Makefile.sub (config.h)

add HAVE_FLOAT_H.

win32/Makefile.sub (parse.obj)

depend on win32/win32.h.

2002-12-24

Tue Dec 24 23:49:16 2002 Akinori MUSHA <[email protected]>

lib/irb/completion.rb

Use Object#class rather than Object#type.

Tue Dec 24 23:37:40 2002 TADA Tadashi <[email protected]>

lib/cgi.rb (Cookie

:parse), lib/cgi-lib.rb (initialize): Do not pass to split() a bare string longer than 2 characters as separator.

Tue Dec 24 19:19:24 2002 Tietew <[email protected]>

numeric.c (DBL_MAX_10_EXP)

fix typo. [ruby-dev:19175]

Tue Dec 24 17:02:46 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_undefined)

use NoMethodError instead of fatal.

Tue Dec 24 02:12:45 2002 Akinori MUSHA <[email protected]>

lib/README

Synchronize with reality.

Tue Dec 24 02:05:51 2002 Akinori MUSHA <[email protected]>

MANIFEST, lib/README, lib/ipaddr.rb

Add ipaddr.rb from rough.

2002-12-22

Sun Dec 22 04:07:47 2002 NAKAMURA Usaku <[email protected]>

ext/dbm/dbm.c (fdbm_alloc)

allocator takes only one argument.

Sun Dec 22 02:49:25 2002 NAKAMURA Usaku <[email protected]>

array.c (ary_alloc), dir.c (dir_s_alloc), eval.c (thgroup_s_alloc), file.c (rb_stat_s_alloc), hash.c (hash_alloc), io.c (io_alloc), object.c (rb_module_s_alloc, rb_class_allocate_instance), re.c (match_alloc, rb_reg_s_alloc), string.c (str_alloc), time.c (time_s_alloc), ext/digest/digest.c (rb_digest_base_alloc), ext/tcltklib/tcltklib.c (ip_alloc), ext/win32ole/win32ole.c (fole_s_allocate, fev_s_allocate)

add prototype to get rid of VC++ warnings.

ext/sdbm/init.c (fsdbm_alloc)

allocator takes only one argument.

Sun Dec 22 00:36:43 2002 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (create_makefile)

accept pure ruby libraries.

2002-12-21

Sat Dec 21 23:59:42 2002 Yukihiro Matsumoto <[email protected]>

class.c (ins_methods_i)

should not show ID_ALLOCATOR.

class.c (ins_methods_prot_i)

ditto.

class.c (ins_methods_priv_i)

ditto.

class.c (ins_methods_pub_i)

ditto.

eval.c (call_trace_func)

ditto.

eval.c (rb_undefined)

ditto.

Sat Dec 21 07:27:24 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-parse-partial)

keywords must not be preceded by @ or $.

2002-12-20

Fri Dec 20 20:29:04 2002 Nobuyoshi Nakada <[email protected]>

ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c, ext/dl/handle.c, ext/dl/ptr.c, ext/dl/sym.c, ext/gdbm/gdbm.c, ext/iconv/iconv.c, ext/sdbm/init.c, ext/stringio/stringio.c, ext/strscan/strscan.c, ext/tcltklib/tcltklib.c, ext/win32ole/win32ole.c

use rb_define_alloc_func().

Fri Dec 20 18:29:04 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_fwrite)

separated from io_write().

marshal.c (w_byten)

use rb_io_fwrite() to support non-blocking IO, and added error check.

rubyio.h

prototypes; rb_io_fwrite

Fri Dec 20 17:40:59 2002 Yukihiro Matsumoto <[email protected]>

object.c (Init_Object)

should not remove Class#allocate.

lib/profiler.rb

separate profiling functions, without trace_func and at_exit setting.

Fri Dec 20 16:20:04 2002 Yukihiro Matsumoto <[email protected]>

parse.y (do_block)

split “do” block and tLBRACE_ARG block.

parse.y (cmd_brace_block)

new tLBRACE_ARG block rule

parse.y (command)

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

eval.c (ruby_finalize)

trace_func should be cleared here (after executing exit procs and finalizers).

eval.c (rb_define_alloc_func)

new allocation framework, based on Nobu's work [ruby-dev:19116]. “allocate” method is no longer used for object allocation.

Fri Dec 20 05:06:49 2002 Akinori MUSHA <[email protected]>

lib/README, lib/cgi/ftplib.rb, lib/telnet.rb

Delete ftplib.rb and telnet.rb. It has been quite some time sinc they were obsoleted and made to emit warnings.

Fri Dec 20 04:58:22 2002 Akinori MUSHA <[email protected]>

lib/tempfile.rb

Embed Rdoc style comments.

lib/tempfile.rb

Add length as an alias for size.

Fri Dec 20 03:57:32 2002 Akinori MUSHA <[email protected]>

lib/tempfile.rb

Add Tempfile#close!() as a shorthand for Tempfile#close(true).

lib/tempfile.rb

Add Tempfile#{unlink,delete}().

Fri Dec 20 03:53:01 2002 Akinori MUSHA <[email protected]>

lib/README, lib/cgi/final.rb, lib/cgi/session.rb

Delete final.rb, which was obsoleted long ago.

Fri Dec 20 00:16:06 2002 Nobuyoshi Nakada <[email protected]>

re.c (rb_reg_match_pre, rb_reg_match_post, match_to_a, match_select)

return instances of same class as the original string. [ruby-dev:19119]

2002-12-19

Thu Dec 19 22:55:49 2002 NAKAMURA Usaku <[email protected]>

numeric.c (DBL_EPSILON)

fix typo.

Thu Dec 19 22:35:20 2002 Nobuyoshi Nakada <[email protected]>

eval.c (assign)

avoid [BUG] at multiple attribute assignment.

Thu Dec 19 01:00:09 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (num_step)

use DBL_EPSILON.

array.c (rb_check_array_type)

new function: return an array

string.c (rb_check_string_type)

new function: return a string

numeric.c (rb_dbl_cmp)

returns nil if values are not comparable.

numeric.c (fix_cmp,flo_cmp)

use rb_num_coerce_cmp()

bignum.c (rb_big_cmp)

ditto.

numeric.c (rb_num_coerce_cmp)

new coercing function for “<=>”, which does not raise TypeError.

numeric.c (do_coerce)

can be suppress exception now.

object.c (rb_mod_cmp)

should return nil for non class/module objects.

Thu Dec 19 04:21:10 2002 Akinori MUSHA <[email protected]>

lib/open-uri.rb

add a missing ||. (found by: ruby -wc)

2002-12-18

Wed Dec 18 17:53:05 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_eqq)

return false if the argument is not a string. now returns boolean value.

class.c (rb_include_module)

argument should be T_MODULE, not T_class, nor T_ICLASS.

Wed Dec 18 03:52:55 2002 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_new4)

handle tail shared string.

(ruby-bugs-ja

PR#370)

string.c (rb_str_dup_frozen)

ditto.

2002-12-17

Tue Dec 17 21:08:29 2002 Nobuyoshi Nakada <[email protected]>

node.h (NODE_ATTRASGN)

new node, assignment to attribute. [ruby-core:00637].

eval.c (is_defined, rb_eval)

ditto.

parse.y (attrset, node_assign)

ditto.

string.c (rb_str_substr)

tail sharing. [ruby-core:00650]

re.c (rb_reg_nth_match)

ditto.

Tue Dec 17 16:52:38 2002 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

“defined?” should return “assignment” for attribute assignment (e.g. a.foo=b) and indexed assignment

parse.y (aryset)

use NODE_ATTRASGN.

Tue Dec 17 04:03:45 2002 Tanaka Akira <[email protected]>

lib/open-uri.rb

new file.

Tue Dec 17 00:28:19 2002 NAKAMURA Usaku <[email protected]>

file.c (utimbuf)

need to define for VC++.

2002-12-16

Mon Dec 16 15:53:20 2002 Nobuyoshi Nakada <[email protected]>

parse.y (nextc)

get rid of overrun. (pointed out by akr [ruby-list:36773])

2002-12-15

Sun Dec 15 21:16:44 2002 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (init_mkmf)

add $(topdir) to $LIBPATH if $extmk. remove adding $(archdir) to $LIBPATH.

Sat Dec 15 12:15:00 2002 Takaaki Uematsu <[email protected]>

configure.in, defines.h, dir.c, dir.h, dln.c, error.c, eval.c, file.c, hash.c, io.c, main.c, missing.c, process.c, ruby.c, rubysig.h, signal.c, st.c, util.c, util.h, bcc/Makefile.sub, win32/Makefile.sub, win32/win32.h, ext/Win32API/Win32API.c, ext/socket/getaddrinfo.c, ext/socket/getnameinfo.c, ext/socket/socket.c, ext/tcltklib/stubs.c

replace “NT” with “_WIN32”, add DOSISH_DRIVE_LETTER

wince/exe.mak

delete r at the end of lines.

wince/mswince-ruby17.def

delete rb_obj_become

Sun Dec 15 11:43:26 2002 Nobuyoshi Nakada <[email protected]>

parse.y (dispose_string)

dispose String object.

parse.y (heredoc_restore, here_document)

fix memory leak.

2002-12-14

Sat Dec 14 14:25:00 2002 Takaaki Uematsu <[email protected]>

wince/sys

add stat.c, stat.h, timeb.c, timeb.h, types.h, utime.c, utime.h

wince/dll.mak

object file name changed.

wince/io.c

add empty dup2().

wince/io.h

add dup2 definition.

Sat Dec 14 01:51:29 2002 WATANABE Hirofumi <[email protected]>

ext/dbm/extconf.rb (rb_check)

support for GNU dbm 1.8.3.

2002-12-13

Fri Dec 13 23:42:16 2002 WATANABE Hirofumi <[email protected]>

ext/dbm/extconf.rb (db_check)

check existence of the function in the specified library before checking it in libc.

Fri Dec 13 17:15:49 2002 Yukihiro Matsumoto <[email protected]>

variable.c (generic_ivar_get)

should always warn uninitialized instance variables.

Fri Dec 13 12:33:22 2002 Nobuyoshi Nakada <[email protected]>

parse.y (expr)

rescue clause was ignored.

2002-12-12

Thu Dec 12 18:19:14 2002 WATANABE Hirofumi <[email protected]>

configure.in (RUBY_PROG_GNU_LD)

add $CFLAGS, $CPPFLAGS, $LDFLAGS to the option of $CC.

configure.in

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

lib/mkmf.rb (init_mkmf)

expand config and config. don't link $LIBRUBYARG_STATIC if –disable-shared option is supplied.

configure.in (RUBY_CPPOUTFILE)

should be a better message.

ext/Win32API/extconf.rb

join with a space.

Thu Dec 12 17:27:19 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_hash)

define Regexp#hash to make regexps to be hash keys.

re.c (Init_Regexp)

define Regexp#eql? (alias to Regexp#==).

Thu Dec 12 16:26:31 2002 Nobuyoshi Nakada <[email protected]>

marshal.c (r_object0)

singleton class instance can't be loaded.

(ruby-bugs-ja

PR#366)

2002-12-11

Wed Dec 11 23:35:43 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb (create_makefile)

-no-undefined -> –no-undefined.

Wed Dec 11 17:54:59 2002 Yukihiro Matsumoto <[email protected]>

io.c (io_read)

takes optional second argument to specify a string to be written. the string should not be frozen.

io.c (rb_io_sysread)

ditto.

Wed Dec 11 11:30:28 2002 Nobuyoshi Nakada <[email protected]>

ext/digest/digest.c (rb_digest_base_copy)

renamed “become”.

ext/stringio/stringio.c (strio_copy)

ditto.

Wed Dec 11 00:45:00 2002 Yukihiro Matsumoto <[email protected]>

lib/getoptlong.rb (GetoptLong::Error)

provide a common ancestor for GetoptLong error classes (RCR#129).

2002-12-10

Tue Dec 10 17:42:39 2002 K.Kosako <[email protected]>

re.c (rb_reg_copy_object)

fixed memory leak.

Tue Dec 10 17:30:35 2002 Tanaka Akira <[email protected]>

pack.c (utf8_limits)

fix the limit of 4 bytes UTF-8 sequence.

Tue Dec 10 12:01:15 2002 Nobuyoshi Nakada <[email protected]>

eval.c (mnew)

original class of method defined in module should be the module not intermediate class. [ruby-dev:19040]

Tue Dec 10 01:16:52 2002 Yukihiro Matsumoto <[email protected]>

sprintf.c (rb_f_sprintf)

preceding “..” for negative numbers still left; removed.

sprintf.c (rb_f_sprintf)

should not prepend '0' if width > prec for example “%5.3d”.

2002-12-07

Sat Dec 7 18:14:23 2002 Yukihiro Matsumoto <[email protected]>

process.c (Init_process)

add Process.exit and Process.abort

pack.c (utf8_to_uv)

raise ArgumentError for malformed/redundant UTF-8 sequences.

2002-12-06

Fri Dec 6 03:46:00 2002 Yukihiro Matsumoto <[email protected]>

process.c (last_status_set)

add pid attribute to Process::Status.

2002-12-04

Wed Dec 4 17:31:42 2002 Yukihiro Matsumoto <[email protected]>

pack.c (uv_to_utf8)

limit maximum length of the encoded string to 6 bytes, even when the platform supports 8 bytes long integers.

pack.c (utf8_to_uv)

do not decode sequences longer than 6 bytes.

object.c (copy_object)

use “copy_object” method, not “become”.

Wed Dec 4 16:37:11 2002 Yukihiro Matsumoto <[email protected]>

object.c (copy_object)

copy finalizers as well if any.

gc.c (rb_gc_copy_finalizer)

new function to copy finalizers.

2002-12-03

Tue Dec 3 01:13:41 2002 Tanaka Akira <[email protected]>

lib/pp.rb (PP.singleline_pp)

new method.

2002-12-01

Sun Dec 1 23:04:03 2002 Nobuyoshi Nakada <[email protected]>

lib/optparse.rb (OptionParser::new)

same as OptionParser#on but returns new OptionParser::switch.

Sun Dec 1 22:43:29 2002 Nobuyoshi Nakada <[email protected]>

win32/win32.c (rb_w32_stat)

empty path is invalid, and return ENOENT rather than EBADF in such case. [ruby-talk:57177]

2002-11-29

Fri Nov 29 18:01:48 2002 Yukihiro Matsumoto <[email protected]>

pack.c (utf8_to_uv)

added checks for malformed or redundant UTF-8 sequences.

2002-11-28

Thu Nov 28 12:08:30 2002 Akinori MUSHA <[email protected]>

lib/mkmf.rb

Avoid the use of “clean::” in favor of “clean:” in order not to let make(1) choke if there is another dependency on the target added in a depend file.

Thu Nov 28 02:40:42 2002 Akinori MUSHA <[email protected]>

lib/mkmf.rb

Make sure to dig the destination directory before installing a file there. Formerly “make install” could fail depending on make(1)'s mood of the moment, especially when -jN is given.

2002-11-27

Wed Nov 27 17:39:38 2002 Akinori MUSHA <[email protected]>

ext/syslog/syslog.c

Cut redundancy.

ext/syslog/syslog.c

Do not leak ident.

Wed Nov 27 17:25:29 2002 Akinori MUSHA <[email protected]>

ext/syslog/syslog.c, ext/syslog/test.rb

Syslog.close should raise RuntimeError when not opened.

ext/syslog/syslog.c, ext/syslog/test.rb

Syslog.{ident,options,facility,mask} should all return nil when not opened.

ext/syslog/syslog.c, ext/syslog/test.rb

Change back the output format of inspect().

Wed Nov 27 16:25:43 2002 Akinori MUSHA <[email protected]>

ext/digest/test.rb

Switch from RUnit to Test::Unit.

Wed Nov 27 16:14:12 2002 Akinori MUSHA <[email protected]>

ext/syslog/syslog.c

Fix a problem where Syslog.ident was not marked and could thus be GC'd.

Wed Nov 27 16:11:53 2002 Akinori MUSHA <[email protected]>

ext/syslog/test.rb

Switch from RUnit to Test::Unit.

ext/syslog/test.rb

The output format of inspect() is slightly altered.

Wed Nov 27 06:43:26 2002 Nobuyoshi Nakada <[email protected]>

error.c (exit_initialize)

add SystemExit#initialize to set instance variable status. (ruby-bugs-ja:PR#362) Now accepts status as optional first argument.

eval.c (error_handle)

now SystemExit have status always.

eval.c (system_exit)

just instantiate SystemExit without raise.

eval.c (rb_thread_start_0)

initialize SystemExit properly.

2002-11-26

Tue Nov 26 10:17:04 2002 Yukihiro Matsumoto <[email protected]>

dln.c (init_funcname_len)

remove MAXPATHLEN dependency.

2002-11-25

Mon Nov 25 19:55:38 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb (extmake)

return true if not dynamic and not static.

Mon Nov 25 01:08:40 2002 WATANABE Hirofumi <[email protected]>

dln.c

revert and add the MAXPATHLEN definition on mswin32/mingw32.

2002-11-24

Sun Nov 24 20:36:53 2002 WATANABE Hirofumi <[email protected]>

dln.c

move the MAXPATHLEN definition in front.

2002-11-22

Fri Nov 22 22:55:01 2002 Yukihiro Matsumoto <[email protected]>

sprintf.c (rb_f_sprintf)

preceding “..” for negative hexadecimal numbers should not appear if prec (e.g. %.4) is specified.

pack.c (NUM2I32)

support platforms which does not have 32bit integers (e.g. Cray).

Fri Nov 22 19:20:36 2002 Akinori MUSHA <[email protected]>

instruby.rb

Install batch files on Windows. [Submitted by usa]

Fri Nov 22 18:31:46 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_add_method)

node may be NULL.

2002-11-21

Thu Nov 21 20:53:06 2002 Minero Aoki <[email protected]>

lib/net/smtp.rb

changes coding style.

lib/net/pop.rb

ditto.

lib/net/protocol.rb

ditto.

Thu Nov 21 20:17:08 2002 Minero Aoki <[email protected]>

lib/net/http.rb

changes coding style.

Thu Nov 21 20:04:06 2002 Minero Aoki <[email protected]>

lib/net/http.rb

should not overwrite Host: header.

Thu Nov 21 20:01:33 2002 Minero Aoki <[email protected]>

lib/net/http.rb

support Proxy-Authorization.

Thu Nov 21 11:03:39 2002 Yukihiro Matsumoto <[email protected]>

file.c (rb_find_file_ext)

should not terminate searching with empty path, just ignore.

dir.c

remove <sys/parm.h> inclusion.

2002-11-20

Wed Nov 20 02:07:12 2002 Yukihiro Matsumoto <[email protected]>

compar.c (cmp_eq,cmp_gt,cmp_ge,cmp_lt,cmp_le)

check using rb_cmpint().

error.c (init_syserr)

remove sys_nerr dependency.

Wed Nov 20 01:52:21 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (num_cmp)

added to satisfy Comparable assumption.

eval.c (rb_add_method)

“initialize” should be public if it is a singleton method.

2002-11-19

Tue Nov 19 22:37:23 2002 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

avoid dereferencing if size == 0.

(ruby-bugs-ja

PR#360)

Tue Nov 19 20:40:39 2002 Yukihiro Matsumoto <[email protected]>

time.c (time_cmp)

should return nil if an operand is not a number nor time. (ruby-bugs-ja:PR#359)

file.c (rb_stat_cmp)

should return nil if an operand is not File::Stat.

Tue Nov 19 14:35:09 2002 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_zip)

iterates over items in the receiver. zipped with nil if argument arrays are shorter. if arrays are longer, left items are ignored. now works with blocks.

enum.c (zip_i)

changed for new behavior.

array.c (rb_ary_transpose)

added. [new]

Tue Nov 19 05:12:21 2002 Akinori MUSHA <[email protected]>

instruby.rb

Do not install various working files under bin/.

Tue Nov 19 05:07:39 2002 Nobuyoshi Nakada <[email protected]>

instruby.rb

not rewrite installed scripts when dry-run mode.

lib/ostruct.rb (OpenStruct::initialize)

should symbolize keys instead of values.

Tue Nov 19 02:24:10 2002 Akinori MUSHA <[email protected]>

instruby.rb

Rewrite installed scripts' shebang lines.

instruby.rb

Use File.join() where appropriate.

Tue Nov 19 01:53:35 2002 Akinori MUSHA <[email protected]>

bin/irb

Moved from sample/irb.rb.

instruby.rb

Install script files under bin/ with ruby's program prefix and suffix.

2002-11-18

Mon Nov 18 02:13:36 2002 Akinori MUSHA <[email protected]>

lib/tempfile.rb

Make this library thread safe.

lib/tempfile.rb

Do not pick a name which was once used and is still scheduled for removal.

lib/tempfile.rb

A lock file need not and must not be scheduled for removal.

lib/tempfile.rb

Compare Max_try with the number of mkdir failures instead of the suffix counter.

lib/tempfile.rb

Overall cleanup and add some important notices.

2002-11-17

Sun Nov 17 22:57:31 2002 Nobuyoshi Nakada <[email protected]>

parse.y (dsym)

garbage returned. (ruby-bugs-ja:PR#358)

2002-11-15

Fri Nov 15 07:40:08 2002 NAKAMURA, Hiroshi <[email protected]>

observer.rb

raise NoMethodError instead of NameError. [ruby-dev:18788]

ostruct.rb

ditto. fix a bug in inspect which called String#+ with Symbol. [ruby-dev:18788]

profile.rb

illegal use of Array#sort!. replaced it with non-bang method. [ruby-dev:18792]

2002-11-14

Thu Nov 14 22:40:29 2002 Nobuyoshi Nakada <[email protected]>

configure.in (LIBRUBY_A)

append -static. [ruby-dev:18689]

configure.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED)

linker argument to link static/shared library respectively.

Makefile.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED)

added.

bcc32/Makefile.sub, win32/Makefile.sub

ditto.

instruby.rb (LIBRUBY_A)

install to libdir.

lib/mkmf.rb (link_command)

link static library of ruby, or try_run fails unless LIBRUBY_SO is installed. [ruby-dev:18646]

eval.c (call_trace_func)

toplevel caller was missing. [ruby-dev:18754]

eval.c (proc_to_s)

adjust created line number.

parse.y (primary, do_block, brace_block)

adjust line number of block to beginning line, instead of the first statement inside the block.

Thu Nov 14 08:23:42 2002 Yukihiro Matsumoto <[email protected]>

math.c (math_acos)

check errno after operation. ditto for asin, acosh, atanh, log, log10 and sqrt.

eval.c (rb_add_method)

initialize should always be private.

parse.y (expr)

add rescue modifier rule.

parse.y (command_call)

return, break and next with argument is now part of this rule.

2002-11-13

Wed Nov 13 16:22:38 2002 Nobuyoshi Nakada <[email protected]>

configure.in (DLDFLAGS)

removed -Wl,-no-undefined to ext/extmk.rb, in order to allow references to symbols in other extension libraries for mkmf.rb. [ruby-dev:18724]

ext/extmk.rb (extmake)

ditto.

ext/extmk.rb (extmake)

exit when make failed.

2002-11-10

Sun Nov 10 03:46:18 2002 Akinori MUSHA <[email protected]>

lib/set.rb

retire contain?() and add superset?(), proper_superset?() subset?(), and proper_subset?(). [obtained from: Jason Voegele's set.rb]

lib/set.rb

define several aliases: union() for |(), difference() for -(), and intersection() for &(). [obtained from: Jason Voegele's set.rb]

lib/set.rb

deal with a s/id/object_id/ leftover.

2002-11-09

Sat Nov 9 16:06:57 2002 WATANABE Hirofumi <[email protected]>

ext/tcltklib/stubs.c

should include “util.h” for ruby_strdup.

Sat Nov 9 11:39:45 2002 Nobuyoshi Nakada <[email protected]>

eval.c

remove ENABLE_TRACE/DISABLE_TRACE to trace child nodes of c-call. [ruby-dev:18699]

2002-11-08

Fri Nov 8 04:16:55 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

“a” in “a /5” should be considered as a local variable. [experimental]

2002-11-07

Thu Nov 7 09:51:37 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_yield_0)

should enable trace for non-cfunc nodes. [ruby-dev:18645]

eval.c (blk_orphan)

a block created in a different thread is orphan. [ruby-dev:17471]

2002-11-06

Wed Nov 6 16:57:06 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_define_method)

do not set NOEX_CFUNC if klass is really a module, whose methods must be safe for receiver's type.

eval.c (rb_eval)

nosuper should not be inherited unless the overwritten method is an undef placeholder.

2002-11-05

Tue Nov 5 00:46:04 2002 Akinori MUSHA <[email protected]>

ext/extmk.rb

Properly pass the given target to make(1). [pointed out by eban]

2002-11-04

Mon Nov 4 20:03:53 2002 NAKAMURA Usaku <[email protected]>

instruby.rb, lib/mkmf.rb

use CONFIG instead of checking whether CONFIG includes “–enable-shared”.

Mon Nov 4 16:49:14 2002 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

allow 'when'-less case statement; persuaded by Sean Chittenden.

Mon Nov 4 06:28:09 2002 Akinori MUSHA <[email protected]>

Makefile.in, ext/extmk.rb, bcc32/Makefile.sub, win32/Makefile.sub

Introduce better command line syntax

Mon Nov 4 03:59:51 2002 Akinori MUSHA <[email protected]>

lib/getopts.rb

Do not choke on characters that cannot be used in a variable name. Replace them with `_'. Define a hash named $OPT for convenience.

2002-11-02

Sat Nov 2 00:38:55 2002 Yukihiro Matsumoto <[email protected]>

object.c (Init_Object)

added Object#object_id, new name for Object#id. [new]

object.c (rb_obj_id_obsolete)

give warning for Object#id.

numeric.c (fix_intern)

added Fixnum#to_sym. [new]

object.c (sym_to_sym)

rename from Symbol#intern

2002-11-01

Fri Nov 1 14:21:06 2002 Yukihiro Matsumoto <[email protected]>

enum.c (enum_zip)

added Enumerable#zip. [new]

array.c (rb_ary_zip)

added Array#zip.

2002-10-31

Thu Oct 31 20:10:18 2002 Yukihiro Matsumoto <[email protected]>

error.c (init_syserr)

remove sys_nerr dependency.

Thu Oct 31 09:31:51 2002 K.Kosako <[email protected]>

eval.c (rb_export_method)

undef'ed method visibility should not be changed.

2002-10-30

Wed Oct 30 17:00:47 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_public_method_defined, etc.)

new methods: public_method_defined?, private_method_defined?, protected_method_defined?

object.c (rb_obj_public_methods)

new method Object#public_methods.

class.c (ins_methods_i)

Object#methods should list both public and protected methods.

class.c (rb_class_public_instance_methods)

new method Module#public_instance_methods.

Wed Oct 30 06:29:00 2002 Akinori MUSHA <[email protected]>

eval.c, file.c, gc.c, io.c, object.c, ruby.c, ruby.h, struct.c, ext/socket/socket.c

differentiate long and int; use proper printf type specifiers and do casts where appropriate.

Wed Oct 30 04:07:33 2002 Nobuyoshi Nakada <[email protected]>

eval.c (error_print, rb_longjmp, rb_thread_schedule)

flush error message. [ruby-dev:18582]

eval.c (ruby_cleanup)

added. just clean up without exit. [ruby-dev:18582]

eval.c (ruby_exec)

added. execute main evaluation tree without exit. [ruby-dev:18582]

intern.h

prototypes; ruby_cleanup, ruby_exec

2002-10-29

Tue Oct 29 02:00:08 2002 Nobuyoshi Nakada <[email protected]>

ext/extmk.rb (extmake)

use dummy_makefile to create dummy Makefile.

lib/mkmf.rb (find_executable0)

EXEEXT is optional.

lib/mkmf.rb (dummy_makefile)

make dummy Makefile content.

lib/mkmf.rb (create_makefile)

define EXTLIB replacing -l.

lib/mkmf.rb ($bccwin)

detect Borland make by help message.

lib/mkmf.rb (CLEANINGS)

common rules to clean.

2002-10-28

Mon Oct 28 01:27:17 2002 WATANABE Hirofumi <[email protected]>

djgpp/config.sed (@program_transform_name@)

use `%', not `,'.

2002-10-27

Sun Oct 27 22:59:50 2002 KONISHI Hiromasa <[email protected]>

ext/extmk.rb(78)

The unnecessary error when installing by bccwin32 is controlled.

lib/mkmf.rb(773)

Also in the case of bccwin32, the path was added.

Sun Oct 27 17:07:25 2002 WATANABE Hirofumi <[email protected]>

djgpp/*

sync with the latest.

ext/extmk.rb, lib/mkmf.rb

flush $stdout.

io.c (READ_DATA_PENDING_COUNT, READ_DATA_PENDING_PTR)

undef these macros on DJGPP.

2002-10-26

Sat Oct 26 10:11:47 2002 Akinori MUSHA <[email protected]>

node.h (nd_type)

cast the value to int.

Sat Oct 26 04:27:35 2002 Akinori MUSHA <[email protected]>

ext/dbm/dbm.c (fdbm_indexes, fdbm_select)

add a missing argument and prevent coredump when a nonexistent key is specified.

ext/sdbm/init.c (fsdbm_indexes, fsdbm_select)

ditto.

Sat Oct 26 03:28:43 2002 Akinori MUSHA <[email protected]>

eval.c, gc.c

use a common set of alloca() ifdef's. This fixes the build with Intel C Compiler for Linux.

eval.c (rb_f_require)

declare old_func with a real type, not just type modifiers.

2002-10-25

Fri Oct 25 02:55:01 2002 Minero Aoki <[email protected]>

string.c (rb_str_split_m)

RSTRING(str)->ptr might become NULL. [ruby-dev:18581]

2002-10-24

Thu Oct 24 21:57:02 2002 Nobuyoshi Nakada <[email protected]>

configure.in (LIBPATHFLAG)

avoid $ substitution. [ruby-dev:18577]

ext/extmk.rb (extmake)

expand $srcdir.

ext/win32ole/extconf.rb

should not override $CFLAGS, but append.

lib/mkmf.rb (config_string)

use given config hash.

bcc32/Makefile.sub (.rc.res)

directory part may be empty in Borland make.

Thu Oct 24 03:38:07 2002 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (create_makefile)

site-install target for backward compatibility.

lib/mkmf.rb (init_mkmf)

libdir prior to topdir.

configure.in (LIBPATHFLAG)

should escape $. [ruby-dev:18572]

mkconfig.rb

never substitute escaped $$.

instruby.rb

not install LIBRUBY_SO unless enable-shared. [ruby-dev:18569]

2002-10-23

Wed Oct 23 19:16:06 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

added NODE_DSYM, symbol literal with interpolation.

node.h

ditto.

intern.h

prototypes; rb_is_junk_id, rb_str_dump, rb_str_intern

object.c (sym_inspect)

escape and quote for non-alphanumeric symbols.

parse.y (dsym, tokadd_string, yylex)

extended symbol literals.

parse.y (rb_is_junk_id)

added.

string.c (rb_str_dump, rb_str_intern)

make extern.

lib/mkmf.rb (create_makefile)

deffile should be removed by distclean, not clean.

2002-10-22

Tue Oct 22 23:56:41 2002 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (init_mkmf)

add dir_config(“opt”).

Tue Oct 22 19:44:03 2002 KONISHI Hiromasa <[email protected]>

bcc32/configure.bat

The command line when calling setup.mak is corrected.

bcc32/readme.bcc32

It follows up about the option of configure.bat.

Tue Oct 22 15:23:19 2002 Nobuyoshi Nakada <[email protected]>

instruby.rb

add dryrun mode.

ext/extmk.rb (extmake)

add install: target to dummy Makefile.

ext/extmk.rb (extmake)

avoid Borland make's quirk behavior.

lib/mkmf.rb (link_command)

opt is not a makefile macro.

bcc32/Makefile.sub ($(LIBRUBY_SO) $(LIBRUBY))

EXTOBJS were not linked.

bcc32/Makefile.sub (ext/extinit.obj)

missing.

bcc32/Makefile.sub (TRY_LINK)

options have to place before any non-option arguments.

win32/Makefile.sub (TRY_LINK)

need -link and -libpath options.

bcc32/Makefile.sub, win32/Makefile.sub (RANLIB)

logical operator never work with command.com.

Tue Oct 22 00:59:59 2002 WATANABE Hirofumi <[email protected]>

configure.in (RUBY_CPPOUTFILE)

fix cache file bug.

lib/mkmf.rb (link_command)

put 'opt' after conftest.c for static linking.

2002-10-21

Mon Oct 21 22:53:02 2002 Nobuyoshi Nakada <[email protected]>

configure.in (XCFLAGS)

CFLAGS to compile ruby itself.

configure.in (LIBEXT)

suffix for static libraries.

configure.in (LIBPATHFLAG)

switch template to specify library path.

configure.in (LINK_SO)

command to link shared objects.

configure.in (DEFFILE, ARCHFILE)

miscellaneous system dependent files.

configure.in (EXPORT_PREFIX)

prefix to exported symbols on Windows.

configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS)

libraries, macros and headers used in common.

configure.in (RUBYW_INSTALL_NAME, rubyw_install_name)

GUI mode executable name.

Makefile.in (CFLAGS)

append XCFLAGS.

Makefile.in (PREP)

miscellaneous system dependent files.

Makefile.in (ruby.imp, ext/extinit.o)

moved from ext/extmk.rb.

Makefile.in (fake.rb)

CROSS_COMPILING keeps building platform.

Makefile.in (MAKEFILES)

depend on *.in and config.status.

Makefile.in (parse.c)

replace “y.tab.c” with actual name for byacc.

ext/extmk.rb, lib/mkmf.rb

integrated.

ext/extmk.rb

propagate MFLAGS.

ext/extmk.rb (extmake)

make dummy Makefile to clean even if no Makefile is made.

lib/mkmf.rb (older)

accept multiple file names and Time objects.

lib/mkmf.rb (xsystem)

split and quote.

lib/mkmf.rb (cpp_include)

make include directives.

lib/mkmf.rb (try_func)

try whether specified function is available.

lib/mkmf.rb (install_files)

default to site-install.

lib/mkmf.rb (checking_for)

added.

lib/mkmf.rb (find_executable0)

just find executable file with no message.

lib/mkmf.rb (create_header)

output header file is variable.

lib/mkmf.rb (create_makefile)

separate sections.

lib/mkmf.rb (init_mkmf)

initialize global variables.

win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR)

added.

bcc32/Makefile.sub (ARCH)

fixed to i386.

win32/Makefile.sub, bcc32/Makefile.sub (miniruby)

should not link EXTOBJS.

ext/dl/extconf.rb

use try_cpp to cross compile.

ext/dl/extconf.rb

not modify files in source directory.

2002-10-18

Fri Oct 18 23:11:21 2002 Nobuyoshi Nakada <[email protected]>

parse.y (value_expr0)

allow return/break/next/redo/retry in rhs of logical operator. [ruby-dev:18534]

parse.y (remove_begin)

eliminate useless NODE_BEGIN. [ruby-dev:18535]

Fri Oct 18 01:02:44 2002 Akinori MUSHA <[email protected]>

hash.c, eval.c

Use (*_NSGetEnviron()) instead of environ on Darwin for namespace cleanness. [ruby-core:00537]

dln.c (dln_load)

Fix Darwin support that has been disabled and switch to using it on Darwin instead of the system dlopen(). [ruby-core:00541]

2002-10-17

Thu Oct 17 19:17:56 2002 Nobuyoshi Nakada <[email protected]>

marshal.c (w_byten)

added; write n bytes from s to arg.

marshal.c (dump)

flush buffered data.

marshal.c (marshal_dump, r_byte, r_bytes0, marshal_load)

unify marshaling I/O. [ruby-talk:53368]

Thu Oct 17 12:58:24 2002 Minero Aoki <[email protected]>

lib/fileutils.rb

stat.blksize might be 0/nil.

lib/fileutils.rb

change coding style.

2002-10-16

Wed Oct 16 22:35:53 2002 Nobuyoshi Nakada <[email protected]>

sprintf.c (rb_f_sprintf)

disallow mixed usage of numbered and unnumbered arguments. [ruby-dev:18531] get rid of memory leak at exception. [ruby-core:00460]

Wed Oct 16 13:36:29 2002 Nobuyoshi Nakada <[email protected]>

variable.c (rb_global_entry)

not add global entry until initialized to avoid accessing it while GC. [ruby-dev:18514]

variable.c (rb_alias_variable)

ditto.

Wed Oct 16 01:03:54 2002 Yukihiro Matsumoto <[email protected]>

object.c (rb_str_to_dbl)

RString ptr might be NULL.

object.c (rb_cstr_to_dbl)

p pointer might be NULL.

bignum.c (rb_str_to_inum)

RString ptr might be NULL.

bignum.c (rb_cstr_to_inum)

str pointer might be NULL.

2002-10-12

Sat Oct 12 23:44:11 2002 Nobuyoshi Nakada <[email protected]>

win32/win32.c (rb_w32_putc)

wrong condition to fill or flush on bccwin32. [ruby-win32:408]

2002-10-11

Fri Oct 11 15:58:06 2002 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

rescue modifier is now an operator with precedence right below assignments. i.e. “a = b rescue c” now parsed as “a = (b rescue c)”, not as “(a = b) rescue c”. [new] [experimental]

Fri Oct 11 06:05:30 2002 Nobuyoshi Nakada <[email protected]>

win32/win32.c (rb_w32_fclose, rb_w32_close)

use closesocket() for socket. [ruby-win32:382]

win32/win32.c (StartSockets)

set NtSocketsInitialized.

win32/win32.h

prototypes; rb_w32_fclose, rb_w32_close

Fri Oct 11 00:24:57 2002 Nobuyoshi Nakada <[email protected]>

gc.c (ruby_xmalloc, ruby_xrealloc)

restrict total allocation size according to memories consumed by live objects. [ruby-dev:18482]

gc.c (gc_sweep)

estimate how live objects consume memories.

2002-10-10

Thu Oct 10 17:26:12 2002 WATANABE Hirofumi <[email protected]>

ext/tcltklib/stubs.c (ruby_tcltk_stubs)

fix memory leak. [ruby-dev:18478]

Thu Oct 10 15:20:18 2002 Nobuyoshi Nakada <[email protected]>

lib/weakref.rb (WeakRef::@@final)

use Hash#delete.

lib/weakref.rb (WeakRef::__getobj__)

examine if alive or not by ID_REV_MAP to deal with recycled object. [ruby-dev:18472]

lib/weakref.rb (WeakRef::weakref_alive?)

ditto.

2002-10-09

Wed Oct 9 07:11:25 2002 Nobuyoshi Nakada <[email protected]>

gc.c (gc_sweep)

also adjust heaps_limits when free unused heap page. [ruby-core:00526]

io.c (io_fflush)

condition to retry can occur.

io.c (io_write)

returned 0 wrongly if no error occurred.

2002-10-08

Tue Oct 8 14:19:07 2002 Nobuyoshi Nakada <[email protected]>

io.c (io_write)

must check returned value from fwrite() before test with ferror(). (ruby-bugs-ja:PR#350)

Tue Oct 8 10:55:23 2002 Tanaka Akira <[email protected]>

lib/prettyprint.rb (PrettyPrint.singleline_format)

new method.

2002-10-07

Mon Oct 7 16:43:07 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivrem)

bignum zero's len should not be 0.

Mon Oct 7 15:36:42 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivmod)

wrong condition check for Bignum zero.

bignum.c (Init_Bignum)

need to add Bignum#div.

2002-10-06

Sun Oct 6 00:49:15 2002 Minero Aoki <[email protected]>

eval.c (rb_load)

should not pass blocks to the loaded file. [ruby-dev:18458]

2002-10-04

Fri Oct 4 20:25:38 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_interrupt, rb_thread_signal_raise)

no need to save dead thread context. (same as [ruby-dev:18322])

(ruby-bugs-ja

PR#349)

Fri Oct 4 13:05:58 2002 WATANABE Hirofumi <[email protected]>

configure.in (RUBY_PROG_GNU_LD)

check whether the linker is GNU ld.

ext/extmk.rb (create_makefile)

add -Wl,-no-undefined to $DLDFLAGS on Linux if GNU ld is used and –enable-shared is specified.

Fri Oct 4 02:21:16 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_rshift)

num should be initialized by carry bits if x is negative.

bignum.c (bigdivmod)

len for bignum zero is 1, not 0.

2002-10-03

Thu Oct 3 20:22:11 2002 Nobuyoshi Nakada <[email protected]>

bcc32/mkexports.rb

to work on cygwin via telnet. [ruby-win32:358]

ext/tcltklib/tcltklib.c (ip_invoke)

requires command name argument. [ruby-dev:18438]

eval.c (ruby_init, ruby_options)

Init_stack() with local location. (ruby-bugs-ja:PR#277)

eval.c (rb_call0)

disable trace call. [ruby-dev:18074]

eval.c (eval, rb_load)

enable trace call. [ruby-dev:18074]

eval.c (rb_f_require)

set source file name for extension libraries. [ruby-dev:18445]

gc.c (Init_stack)

prefer address of argument rather than local variable to initialize rb_gc_stack_start.

ruby.c (translate_char)

translate a character in a string; DOSISH only. [ruby-dev:18274]

ruby.c (ruby_init_loadpath)

added argv handling under Human68K. [ruby-dev:18274]

ruby.c (proc_options)

translate directory separator in $0 to '/'. [ruby-dev:18274]

Thu Oct 3 00:27:26 2002 Nobuyoshi Nakada <[email protected]>

lib/delegate.rb (Delegator::initialize)

use Object#class instead of deprecated Object#type.

2002-10-02

Wed Oct 2 23:32:48 2002 Nobuyoshi Nakada <[email protected]>

configure.in (RUBY_CHECK_IO_NEED_FLUSH)

check whether fflush() is needed.

io.c (flush_before_seek)

flush before seek if buffered data may remain.

io.c (rb_io_check_readable)

flush if the last operation was write.

io.c (rb_io_check_writable)

flush if the last operation was read.

rubyio.h (FMODE_RBUF)

added.

Wed Oct 2 23:09:20 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_wait_readable)

handle retryable errors.

io.c (rb_io_wait_writable)

ditto.

ext/socket/socket.c (bsock_send)

ditto.

ext/socket/socket.c (s_recvfrom)

ditto.

ext/socket/socket.c (s_accept)

ditto.

ext/socket/socket.c (udp_send)

ditto.

ext/socket/getaddrinfo.c (afdl)

made private structures constant.

rubyio.h

prototype; rb_io_wait_readable(), rb_io_wait_writable().

Wed Oct 2 13:03:58 2002 WATANABE Hirofumi <[email protected]>

configure.in

set ac_cv_func_setitimer to “no” on Cygwin.

Wed Oct 2 10:59:29 2002 Yukihiro Matsumoto <[email protected]>

gc.c (gc_sweep)

free unused heap page to reduce process size if possible.

object.c (rb_obj_type)

deprecated Object#type; use Object#class.

2002-10-01

Tue Oct 1 23:48:32 2002 Nobuyoshi Nakada <[email protected]>

ext/socket/socket.c (init_sock)

no need for special finalizer, socket descriptor is no longer duplicated in 1.7. [ruby-talk:50732]

win32/win32.c, win32/win32.h (rb_w32_fddup, rb_w32_fdclose)

delete.

2002-09-30

Mon Sep 30 20:29:10 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_inspect)

not need to raise IOError for closed stream. [ruby-talk:51871]

Mon Sep 30 03:48:15 2002 Yukihiro Matsumoto <[email protected]>

range.c (range_check)

need no Fixnum check.

2002-09-29

Sun Sep 29 18:30:24 2002 Nobuyoshi Nakada <[email protected]>

win32/win32.c (rb_w32_open_osfhandle)

adjust rb_w32_open_osfhandle() with _open_osfhandle().

win32/win32.c (rb_w32_accept, rb_w32_socket)

return -1 on error.

win32/win32.h

should use file descriptor instead of SOCKET.

Sun Sep 29 06:33:03 2002 NAKAMURA Usaku <[email protected]>

win32/win32.c (is_socket, rb_w32_select, rb_w32_accept, rb_w32_bind, rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname, rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv, rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt, rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr, rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname, rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport)

need to protect WSAGetLastError() by RUBY_CRITICAL. [ruby-talk:51778]

2002-09-28

Sat Sep 28 20:06:36 2002 Nobuyoshi Nakada <[email protected]>

keywords

add braces around initializers.

Sat Sep 28 13:19:29 2002 Nobuyoshi Nakada <[email protected]>

hash.c (rb_hash_become)

should check self-assignment after conversion.

Sat Sep 28 10:40:44 2002 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_become)

Hash#become should check added self-assignment.

class.c (rb_make_metaclass)

metaclass of a superclass may be NULL at boot time.

Sat Sep 28 09:50:03 2002 KONISHI Hiromasa <[email protected]>

ext/extmk.rb

The condition judgment without necessity was deleted.

2002-09-27

Fri Sep 27 18:40:42 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_deadlock)

more verbose message at deadlock.

eval.c (rb_thread_schedule)

ditto.

eval.c (rb_thread_join)

ditto.

Fri Sep 27 13:24:35 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

Class#inherited should be called after the execution of the class body.

Fri Sep 27 02:41:53 2002 Akinori MUSHA <[email protected]>

ext/digest/sha1

Use OpenSSL's SHA1 engine if available. It is much faster than what we have now (sha1.). Add a knob

Fri Sep 27 02:25:14 2002 Akinori MUSHA <[email protected]>

ext/digest/rmd160

Use OpenSSL's RMD160 engine if available. It is much faster than what we have now (rmd160.). Add a knob

Fri Sep 27 01:23:39 2002 Akinori MUSHA <[email protected]>

ext/digest/md5

Use OpenSSL's MD5 engine if available. It is much faster than what we have now (md5.). Add a knob

2002-09-26

Thu Sep 26 22:44:21 2002 Akinori MUSHA <[email protected]>

ext/digest/digest.c (rb_digest_base_s_digest)

Fix a double free() bug mingled with allocation framework deployment.

ext/digest/digest.c (rb_digest_base_s_hexdigest)

Get rid of redundant struct allocation.

Thu Sep 26 09:52:52 2002 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

remove “return outside of method” check at compile time.

2002-09-25

Wed Sep 25 23:51:29 2002 Nobuyoshi Nakada <[email protected]>

dir.c (glob_helper)

must not closedir() when exception raised while globbing “**”.

marshal.c (w_uclass)

unused variable.

re.c (match_clone)

unused.

regex.c (re_compile_pattern)

get rid of implicit promotion from plain char to int.

Wed Sep 25 17:46:46 2002 NAKAMURA Usaku <[email protected]>

lib/mkmf.rb (libpathflag)

restore ENV when some error occurred.

Wed Sep 25 16:14:51 2002 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

p1 may exceed pend limit.

2002-09-23

Mon Sep 23 23:22:43 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_call0)

must not clear ruby_current_node, or backtrace cannot be generated.

intern.h (ruby_yyparse)

rather than yyparse().

parse.y (yylex)

nextc() returns -1 at end of input, not 0.

parse.y (newline_node)

reduce duplicated newline node.

parse.y (literal_concat)

get rid of warning.

parse.y (new_evstr)

fixed junk code.

Mon Sep 23 19:57:52 2002 WATANABE Hirofumi <[email protected]>

configure.in (RUBY_MINGW32)

new macro. check for the MinGW compiler environment.

lib/mkmf.rb

refactoring.

Mon Sep 23 08:27:11 2002 Tanaka Akira <[email protected]>

io.c (appendline)

forget to terminate with nul.

Mon Sep 23 02:46:29 2002 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_run)

should set toplevel visibility again here.

eval.c (rb_eval)

should not rely on ruby_class == rb_cObject check. Besides allow implicit publicity for attribute set methods.

parse.y (primary)

need not to check class_nest, just set whether method is an attrset or not.

2002-09-22

Sun Sep 22 21:49:42 2002 Nobuyoshi Nakada <[email protected]>

eval.c (call_trace_func)

should not call trace function while compilation.

eval.c (rb_call0)

also inside c-func.

parse.y (yycompile)

ditto.

ruby.c (require_libraries)

preserve source file/line for each require.

Sun Sep 22 17:08:11 2002 Tanaka Akira <[email protected]>

string.c (rb_str_each_line)

p might be at the top of the string.

2002-09-21

Sat Sep 21 23:28:28 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_make_metaclass)

class of metaclass should be metaclass of superclass, unless class itself is a metaclass; class of metaclass of metaclass should point back to self. eh, confusing, isn't it.

class.c (rb_singleton_class)

check if its class is singleton AND attached to self.

Sat Sep 21 22:23:41 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_raise)

no need to save dead thread context. [ruby-dev:18322]

2002-09-20

Fri Sep 20 23:02:01 2002 Nobuyoshi Nakada <[email protected]>

parse.y (block_append)

eliminate unused literal nodes.

parse.y (literal_concat)

refined literal concatenation.

Fri Sep 20 19:43:40 2002 Akinori MUSHA <[email protected]>

lib/set.rb

Merge rough/lib/set.rb rev.1.5-1.15.

2002-09-18

Wed Sep 18 12:41:16 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should define class/module under ruby_cbase.

eval.c (rb_eval)

should set class/module path based on ruby_cbase, not ruby_class.

eval.c (module_setup)

use ruby_cbase instead of ruby_class.

2002-09-17

Tue Sep 17 21:06:04 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_die)

put thread dead state.

eval.c (rb_thread_atfork)

free stack buffer at fork too.

Tue Sep 17 01:13:31 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_nesting)

load wrapping module should appear in Module#nesting list. (ruby-bugs-ja:PR#328)

eval.c (rb_thread_remove)

free stack buffer on remove.

Tue Sep 17 00:58:35 2002 Minero Aoki <[email protected]>

io.c

add parameter prototype.

re.c

ditto.

2002-09-15

Sun Sep 15 21:14:22 2002 KONISHI Hiromasa <[email protected]>

win32/win32.c (rb_w32_opendir, rb_w32_stat)

Corresponds to the unjust path containing “.

Sun Sep 15 19:48:55 2002 WATANABE Hirofumi <[email protected]>

configure.in (OUTFLAG, CPPOUTFILE)

moved from lib/mkmf.rb. check whether ${CPP} accepts the -o option.

win32/Makefile.sub (OUTFLAG, CPPOUTFILE)

ditto.

bcc32/Makefile.sub (OUTFLAG, CPPOUTFILE)

ditto.

djgpp/config.sed (OUTFLAG, CPPOUTFILE)

ditto.

lib/mkmf.rb (OUTFLAG, CPPOUTFILE)

use CONFIG. make easy to understand log.

mkconfig.rb (val)

should not strip.

2002-09-14

Sat Sep 14 20:13:42 2002 KONISHI Hiromasa <[email protected]>

error.c(rb_sys_fail)

remove case EPIPE on bcc32 .

2002-09-13

Fri Sep 13 23:39:49 2002 Nobuyoshi Nakada <[email protected]>

dir.c (glob_func_caller)

add prototype to get rid of warning.

Fri Sep 13 18:35:12 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

avoid uninitialized global/class variable warnings at `||='. [ruby-dev:18278]

parse.y (stmt, arg)

ditto

Fri Sep 13 13:28:04 2002 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb ($INSTALLFILES)

avoid warning when $VERBOSE mode.

2002-09-12

Thu Sep 12 23:20:10 2002 KONISHI Hiromasa <[email protected]>

bcc32/setup.mak

Control of a message.

bcc32/makefile.sub

include resource.

Thu Sep 12 18:10:03 2002 Nobuyoshi Nakada <[email protected]>

dir.c (glob_helper)

fixed freeing buffer. (ruby-bugs-ja:PR#332)

dir.c (glob_helper)

should pass matched path. (ruby-bugs-ja:PR#333)

Thu Sep 12 00:09:32 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_trap_eval)

preserve thread status and so on. [ruby-talk:40337], [ruby-core:00019]

2002-09-11

Wed Sep 11 21:25:52 2002 Tanaka Akira <[email protected]>

pp.rb (ARGF.pretty_print)

implemented.

(PP.pp)

arguments reordered.

Wed Sep 11 18:55:38 2002 Nobuyoshi Nakada <[email protected]>

eval.c (proc_to_s)

refined format. [ruby-dev:18215]

Wed Sep 11 17:47:17 2002 NAKAMURA Usaku <[email protected]>

win32/win32.c, win32/win32.h (rb_w32_getpid)

negate pid under Win9x. [ruby-dev:18262]

Wed Sep 11 12:58:57 2002 Akinori MUSHA <[email protected]>

string.c (get_pat)

Add an extra argument “quote”.

string.c (rb_str_match_m)

Do not bother to convert if a regexp is given.

Wed Sep 11 11:33:40 2002 NAKAMURA Usaku <[email protected]>

bcc32/Makefile.sub

remove unnecessary `.dll' from filename of dll's resource file.

cygwin/GNUmakefile.in

ditto. [ruby-dev:17103]

win32/Makefile.sub

ditto. [ruby-dev:17103]

win32/resource.rb

ditto. [ruby-dev:17103]

Wed Sep 11 09:59:46 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_wait_readable)

added.

io.c (rb_io_wait_writable)

added.

io.c (io_read_retryable)

added.

io.c (io_write)

retry on EINTR, ERESTART and EWOULDBLOCK. [ruby-dev:17855], [ruby-dev:17878], [ruby-core:00444]

io.c (rb_io_fread)

ditto.

io.c (read_all)

ditto.

io.c (appendline)

ditto.

io.c (rb_io_each_byte)

ditto.

io.c (rb_io_getc)

ditto.

Wed Sep 11 09:29:24 2002 NAKAMURA Usaku <[email protected]>

win32/Makefile.sub (ext)

make directory `ext' on compile dir. [ruby-dev:18255]

Wed Sep 11 00:41:10 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_mod_define_method)

initialize orig_func too.

(ruby-bugs-ja

PR#330)

Wed Sep 11 00:01:32 2002 Yukihiro Matsumoto <[email protected]>

dir.c (glob_helper)

prevent memory leak using rb_protect().

string.c (rb_str_associate)

no need to check freeze flag.

string.c (rb_str_resize)

should honor STR_ASSOC flag on resize.

string.c (rb_str_resize)

proper STR_ASSOC handling. pointed out by Michal Rokos.

string.c (rb_str_buf_cat)

ditto.

string.c (rb_str_cat)

ditto.

string.c (rb_str_buf_append)

ditto.

string.c (rb_str_append)

ditto.

2002-09-10

Tue Sep 10 23:35:46 2002 Nobuyoshi Nakada <[email protected]>

parse.y (nextc)

restore line number after here documents.

(ruby-bugs-ja

PR#331)

parse.y (heredoc_restore)

ditto.

Tue Sep 10 18:26:52 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb, lib/mkmf.rb ($INCFLAGS)

new var for -I$(topdir).

lib/mkmf.rb

add define WIN32_LEAN_AND_MEAN to improve compile times.

Tue Sep 10 17:16:14 2002 NAKAMURA Usaku <[email protected]>

win32/Makefile.sub (miniruby)

shouldn't link $(EXTOBJS). [ruby-dev:17059]

win32/Makefile.sub ($(LIBRUBY_A), $(LIBRUBY))

avoid lib.exe's warning. [ruby-dev:17059]

win32/Makefile.sub

remove unnecessary rules. [ruby-dev:17059]

win32/configure.bat, win32/setup.mak, win32/README.win32

enable to pass some arguments to configure. [ruby-dev:17059]

2002-09-09

Mon Sep 9 23:43:33 2002 WATANABE Hirofumi <[email protected]>

win32/win32.h (S_I?USR)

define only if not mingw32.

Mon Sep 9 11:21:04 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c (strio_set_string)

reinitialize properly.

ext/stringio/stringio.c (strio_become)

added self-assign check and experimental auto-conversion to StringIO.

ext/stringio/stringio.c (strio_reopen)

added.

2002-09-08

Sun Sep 8 21:29:25 2002 WATANABE Hirofumi <[email protected]>

time.c (time_free)

prototype; struct time_object -> void *. avoid GCC warnings.

lib/mkmf.rb, ext/extmk.rb ($LINK, $CPP)

move to lib/mkmf.rb.

Sun Sep 8 19:02:28 2002 NAKAMURA Usaku <[email protected]>

time.c

prototype; time_free() to avoid VC++ warnings.

ext/tcltklib/tcltklib.c

prototype; invoke_queue_handler() to avoid VC++ warning.

win32/win32.c (rb_w32_stat)

remove S_IWGRP and S_IWOTH bits from st_mode.

win32/win32.h (S_I*)

define if not defined.

Sun Sep 8 14:38:31 2002 WATANABE Hirofumi <[email protected]>

configure.in

modify program_prefix only if specified –program-prefix.

configure.in

don't generate ext/extmk.rb.

Makefile.in

execute directly $(srcdir)/ext/extmk.rb. remove -Cext option, “Dir::chdir 'ext'” in ext/extmk.rb.

{win32,bccwin32}/Makefile.sub

ditto.

instruby.rb

ditto.

ext/extmk.rb

renamed from ext/extmk.rb.in.

lib/mkmf.rb (module Logging)

create log files (mkmf.log) in each extension module directories.

ext/extmk.rb

ditto.

lib/mkmf.rb (macro_defined?)

new method.

ext/.cvsignore

remove extmk.rb.

ext/*/.cvsignore

add “*.def”.

lib/mkmf.rb (have_struct_member)

moved from ext/socket/extconf.rb.

ext/socket/extconf.rb

use macro_defined? instead of egrep_cpp.

ext/etc/extconf.rb

use have_struct_member.

ext/etc/etc.c

add prefix HAVE_ST_ to PW_ macros.

Sun Sep 8 14:36:40 2002 KONISHI Hiromasa <[email protected]>

bcc32/configure.bat

Control of a message.

bcc32/makefile.sub

@(sitearch) typo.

ext/extmk.rb.in

[bccwin32] libdir is added to a library path.

lib/mkmf.rb

ditto.

2002-09-07

Sat Sep 7 23:32:56 2002 Nobuyoshi Nakada <[email protected]>

misc/inf-ruby.el (inferior-ruby-error-regexp-alist)

regexp alist for error message from ruby.

misc/inf-ruby.el (inferior-ruby-mode)

fixed for Emacs.

misc/inf-ruby.el (ruby-send-region)

compilation-parse-errors doesn't parse first line, so insert separators before each evaluations.

Sat Sep 7 19:46:57 2002 Akinori MUSHA <[email protected]>

lib/set.rb

Disallow Set.new(false). Add even more tests. [Submitted by: “Christoph” <[email protected]>]

Sat Sep 7 19:23:56 2002 Akinori MUSHA <[email protected]>

lib/set.rb

Fix a bug in flatten()'s recursive set detection. [Submitted by: “Christoph” <[email protected]>] Some tests against the bug are added.

lib/set.rb

Resurrect the test suite by putting it after __END__ and executing `eval DATA.read'.

Sat Sep 7 08:41:39 2002 Minero Aoki <[email protected]>

parse.y (rb_gc_mark_parser)

ruby_eval_tree is marked in eval.c.

2002-09-06

Fri Sep 6 20:01:38 2002 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb ($CC)

command to compile C source.

lib/mkmf.rb (logging)

added.

lib/mkmf.rb (try_compile)

added.

lib/mkmf.rb (egrep_cpp)

use internal grep when pattern is Regexp, otherwise use external egrep command but get rid of pipe of command.com.

lib/mkmf.rb (have_func)

local variable should be volatile not to be eliminated by optimization.

lib/mkmf.rb (create_makefile)

link with CONFIG.

lib/mkmf.rb (create_makefile)

emit .SUFFIXES:.

Fri Sep 6 12:11:22 2002 Minero Aoki <[email protected]>

parse.y (rb_gc_mark_parser)

should mark ALL global variables defined in parse.y.

Fri Sep 6 01:15:23 2002 Yukihiro Matsumoto <[email protected]>

gc.c (ruby_xmalloc)

remove MALLOC_LIMIT to avoid frequent garbage collection.

Fri Sep 6 11:47:37 2002 Minero Aoki <[email protected]>

parse.y (rb_gc_mark_parser)

should mark global variables defined in parse.y.

Fri Sep 6 10:34:32 2002 Minero Aoki <[email protected]>

io.c (rb_io_puts)

RSTRING(line)->ptr might be NULL.

Fri Sep 6 10:26:37 2002 Minero Aoki <[email protected]>

parse.y

should not put non-NODE-VALUEs in the semantic stack.

Fri Sep 6 05:48:26 2002 Nobuyoshi Nakada <[email protected]>

file.c (rb_path_check)

nothing to check under DOSISH. [ruby-list:35772]

Fri Sep 6 05:03:50 2002 Minero Aoki <[email protected]>

gc.c (rb_gc)

should mark parser.

parse.y (rb_gc_mark_parser)

new function.

intern.h (rb_gc_mark_parser)

added.

2002-09-05

Thu Sep 5 18:32:32 2002 Yukihiro Matsumoto <[email protected]>

variable.c (rb_path2class)

should not use rb_eval_string().

Thu Sep 5 17:18:22 2002 Michal Rokos <[email protected]>

dln.c

fix memory leak in dln_load (ruby-core:405) and in load_1 (ruby-core:407)

Thu Sep 5 15:43:54 2002 Yukihiro Matsumoto <[email protected]>

marshal.c (w_extended)

should allow marshaling of object which is extended by named module.

class.c (rb_make_metaclass)

super may be T_ICLASS, need to skip.

Thu Sep 5 13:09:22 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

overriding false constant with class/module definition should be error. (PR#327)

Thu Sep 5 01:24:26 2002 WATANABE Hirofumi <[email protected]>

extmk.rb (create_makefile)

add macro MAKEDIRS, INSTALL_PROG, INSTALL_DATA.

extmk.rb (create_makefile)

support for building to any directory.

extmk.rb (xsystem)

move to mkmf.rb.

mkmf.rb (xsystem)

support for extmk.rb

mkmf.rb ($CPP)

remove '-E' option. add CPPFLAGS.

2002-09-04

Wed Sep 4 16:15:17 2002 Akinori MUSHA <[email protected]>

lib/set.rb

==(o) should be aware of all the Set variant instances, not just those of its subclasses. [Submitted by: “Christoph” <[email protected]>]

lib/set.rb

- Fix eql?(). [ditto]

Wed Sep 4 15:23:23 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_make_metaclass)

obj.meta.super.meta should be equal to obj.meta.meta.super (ruby-bugs-ja:PR#324).

Wed Sep 4 05:10:16 2002 Koji Arai <[email protected]>

parse.y (yylex)

the warning message “invalid character syntax” was never issued (ruby-bugs-ja:PR#323).

Wed Sep 4 01:08:45 2002 Yukihiro Matsumoto <[email protected]>

marshal.c (r_bytes)

do not use alloca (ruby-bugs:PR#382).

2002-09-03

Tue Sep 3 17:12:59 2002 WATANABE Hirofumi <[email protected]>

extmk.rb

require mkmf.rb. remove duplicate methods. use Config::CONFIG instead of @FOO@.

mkmf.rb

support for extmk.rb.

2002-09-02

Mon Sep 2 23:01:50 2002 Nobuyoshi Nakada <[email protected]>

re.c (rb_reg_search)

MatchData must be rb_cMatch.

(ruby-bugs-ja

PR#319)

Mon Sep 2 21:21:46 2002 Minero Aoki <[email protected]>

gc.c (gc_sweep)

does reclaim nodes in also compile time, if we can.

ruby.c (load_file)

omit GC if we can.

parse.y (ruby_parser_stack_on_heap)

new function.

intern.h (ruby_parser_stack_on_heap)

added.

Mon Sep 2 18:45:07 2002 Yukihiro Matsumoto <[email protected]>

variable.c (rb_copy_generic_ivar)

remove old generic instance variable table if it exists.

2002-09-01

Sun Sep 1 15:54:33 2002 WATANABE Hirofumi <[email protected]>

config.guess

fixed for Linux/PPC.

2002-08-31

Sat Aug 31 09:38:12 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_make_metaclass)

metaclass of a metaclass is a metaclass itself.

2002-08-30

Fri Aug 30 22:45:16 2002 Akinori MUSHA <[email protected]>

lib/set.rb

Added.

Fri Aug 30 20:58:54 2002 KONISHI Hiromasa <[email protected]>

ext/Win32API/Win32API.c (Win32API_Call)

typo.

Fri Aug 30 19:45:52 2002 Nobuyoshi Nakada <[email protected]>

variable.c (rb_const_assign)

st_delete() takes pointer to key.

Fri Aug 30 19:40:28 2002 Nobuyoshi Nakada <[email protected]>

ext/Win32API/Win32API.c (Win32API_Call)

RSTRING()->ptr may be NULL.

ext/nkf/nkf.c (rb_nkf_guess)

ditto.

ext/readline/readline.c (readline_s_set_completion_append_character)

ditto.

ext/socket/socket.c (sock_s_getaddrinfo, sock_s_getnameinfo)

ditto.

ext/tcltklib/tcltklib.c (ip_toUTF8, ip_fromUTF8)

ditto.

Fri Aug 30 01:32:17 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_singleton_class)

superclass of a metaclass should be a metaclass of superclass.

range.c (range_eq)

two instances must belong to a same class to be equal.

range.c (range_eql)

ditto.

io.c (rb_io_taint_check)

frozen check added.

file.c (rb_stat_become)

frozen check added.

object.c (rb_obj_become)

ditto.

re.c (rb_reg_become)

ditto.

struct.c (rb_struct_become)

ditto.

time.c (time_become)

ditto.

array.c (rb_ary_become)

should call rb_ary_modify().

hash.c (rb_hash_become)

should call rb_hash_modify().

compar.c (cmp_equal)

should not use NUM2LONG(), since <=> may return bignum.

compar.c (cmp_gt, cmp_ge, cmp_lt, cmp_le, cmp_between)

ditto.

2002-08-29

Thu Aug 29 23:34:42 2002 KONISHI Hiromasa <[email protected]>

bcc32/MakeFile.sub (sitearch)

add.

Thu Aug 29 13:36:42 2002 WATANABE Hirofumi <[email protected]>

io.c (read_all)

should use off_t instead of long.

Thu Aug 29 00:55:55 2002 Nobuyoshi Nakada <[email protected]>

marshal.c (r_object)

yield loaded objects, not intermediates.

(ruby-bugs-ja

PR#296)

Thu Aug 29 00:06:54 2002 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_become)

should not free ptr if it's shared.

eval.c (rb_alias)

prohibit making an alias named “allocate” if klass is a metaclass.

2002-08-28

Wed Aug 28 23:59:15 2002 Michal Rokos <[email protected]>

signal.c

remove ifdef SIGINT for struct signals.

variable.c

get rid of fix length buffer in rb_class_path.

Wed Aug 28 23:34:32 2002 Nobuyoshi Nakada <[email protected]>

io.c (appendline)

data was lost when raw mode.

Wed Aug 28 22:57:34 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_string_value_ptr)

StringValuePtr() should never return NULL pointer.

Wed Aug 28 19:12:46 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c (strio_initialize)

RSTRING(mode)->ptr can be NULL.

ext/stringio/stringio.c (strio_ungetc)

fix buffer overflow.

Wed Aug 28 18:19:55 2002 Michal Rokos <[email protected]>

file.c

fix memory leak in rb_stat_init.

Wed Aug 28 17:45:03 2002 Nobuyoshi Nakada <[email protected]>

win32/win32.c (kill)

negate pid under Win9x.

Wed Aug 28 16:36:40 2002 WATANABE Hirofumi <[email protected]>

configure.in (ar)

don't check ar twice.

Wed Aug 28 15:00:29 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_delete_bang)

should check if str->ptr is 0.

string.c (rb_str_squeeze_bang)

ditto.

string.c (rb_str_count)

ditto.

string.c (rb_str_lstrip_bang)

ditto.

string.c (rb_str_rstrip_bang)

ditto.

string.c (rb_str_intern)

ditto.

Wed Aug 28 11:37:35 2002 NAKAMURA Usaku <[email protected]>

win32/win32.h

define SIGINT and SIGKILL if not defined.

win32/win32.c

remove definition of SIGINT and SIGKILL.

2002-08-27

Tue Aug 27 19:50:27 2002 Nobuyoshi Nakada <[email protected]>

ruby.c (require_libraries)

prevent ruby_sourcefile from GC.

Tue Aug 27 15:03:35 2002 Yukihiro Matsumoto <[email protected]>

file.c (rb_find_file)

$LOAD_PATH must not be empty.

file.c (rb_find_file_ext)

ditto.

Tue Aug 27 02:35:21 2002 Yukihiro Matsumoto <[email protected]>

range.c (range_eq)

class check should be based on range.class, instead of Range to work with Range.dup.

range.c (range_eql)

ditto.

2002-08-26

Mon Aug 26 18:17:56 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_mod_dup)

need to preserve metaclass and flags.

Mon Aug 26 10:44:18 2002 Tanaka Akira <[email protected]>

object.c (rb_cstr_to_dbl)

had a buffer overrun.

2002-08-25

Sun Aug 25 20:10:32 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb (CGI#form)

fix ruby-bugs-ja:PR#280, add default action.

2002-08-24

Sat Aug 24 15:32:16 2002 Nobuyoshi Nakada <[email protected]>

eval.c (call_trace_func)

restore source file/line, as trace function installed in required library with -r option can be called while parsing. (ruby-bugs:PR#372)

eval.c (module_setup)

unused variable. [ruby-core:00358]

Sat Aug 24 14:59:02 2002 Yukihiro Matsumoto <[email protected]>

marshal.c (w_class)

integrate singleton check into a function to follow DRY principle.

marshal.c (w_uclass)

should check singleton method.

object.c (rb_obj_dup)

dmark and dfree functions must be match for T_DATA type.

object.c (rb_obj_dup)

class of the duped object must be match to the class of the original.

Sat Aug 24 13:57:28 2002 Tanaka Akira <[email protected]>

lib/time.rb (Time.rfc2822, Time#rfc2822)

preserve localtimeness.

lib/pp.rb

pretty_print_cycled is renamed to pretty_print_cycle.

2002-08-23

Fri Aug 23 23:59:57 2002 Nobuyoshi Nakada <[email protected]>

eval.c (method_call)

check receiver is defined.

eval.c (umethod_call)

removed.

Fri Aug 23 23:39:17 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_quote)

do not escape t, f, r, n, for they are not regular expression metacharacters.

time.c (time_s_alloc)

use time_free instead of free (null check, also serves for type mark).

time.c (time_s_at)

check dfree function too.

Fri Aug 23 17:06:48 2002 WATANABE Hirofumi <[email protected]>

configure.in

RUBY_SO_NAME is msvcrt-rubyXX on mswin32/mingw32.

configure.in (sitearch)

new var.

mkconfig.rb, lib/mkmf.rb (sitearch)

ditto.

win32/Makefile.sub, win32/setup.mak (sitearch)

ditto.

instruby.rb

ditto.

2002-08-21

Wed Aug 21 16:53:00 2002 Michal Rokos <[email protected]>

*.c

int, long types cleanup.

parse.y

ditto.

re.h, regex.h, ruby.h

ditto.

Wed Aug 21 16:43:19 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_cleanup)

should not modify the global variable curr_thread.

Wed Aug 21 16:14:26 2002 WATANABE Hirofumi <[email protected]>

configure.in

set ac_cv_func__setjmp to “no” on Cygwin.

configure.in

set ac_cv_func_crypt to “no” on MinGW.

2002-08-20

Tue Aug 20 21:47 2002 KONISHI Hiromasa <[email protected]>

io.c (rb_io_fread)

remove case EPIPE on bcc32 .

win32/win32.c (rb_w32_getc)

clear EPIPE error on bcc32.

Tue Aug 20 19:39:03 2002 WATANABE Hirofumi <[email protected]>

file.c (rb_file_s_expand_path)

accept drive letter on Cygwin.

file.c (is_absolute_path)

ditto.

Tue Aug 20 12:12:25 2002 Tietew <[email protected]>

io.c (rb_io_putc)

output via rb_io_write().

2002-08-19

Mon Aug 19 19:01:55 2002 Nobuyoshi Nakada <[email protected]>

misc/inf-ruby.el (inf-ruby-keys)

ruby-send-definition conflicted with ruby-insert-end.

misc/inf-ruby.el (inferior-ruby-mode)

compilation-minor-mode.

misc/inf-ruby.el (ruby-send-region)

send as here document to adjust source file/line. [ruby-talk:47113], [ruby-dev:17965]

misc/inf-ruby.el (ruby-send-terminator)

added to make unique terminator.

Mon Aug 19 17:08:19 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_initialize_m)

frozen check should be moved here from rb_reg_initialize().

Mon Aug 19 15:38:44 2002 Yukihiro Matsumoto <[email protected]>

array.c (sort_2)

comparison should be done as signed long.

array.c (sort_2)

should return int, not VALUE.

Mon Aug 19 12:38:33 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_save_context, rb_thread_restore_context)

save/restore SEH chain on MS-Windows at thread switch. [ruby-win32:273]

eval.c (win32_get_exception_list, win32_set_exception_list)

added.

2002-08-17

Sat Aug 17 23:01:25 2002 Yukihiro Matsumoto <[email protected]>

array.c (sort_2)

*a - *b may overflow.

Sat Aug 17 00:25:08 2002 Yukihiro Matsumoto <[email protected]>

array.c (ary_new)

len*sizeof(VALUE) may be a positive value.

array.c (rb_ary_initialize)

ditto.

2002-08-16

Fri Aug 16 15:58:16 2002 WATANABE Hirofumi <[email protected]>

io.c (NOFILE)

define NOFILE as 64 if not defined.

signal.c (sighandler_t)

rename to sh_t on dietlibc.

Fri Aug 16 15:37:04 2002 Nobuyoshi Nakada <[email protected]>

bignum.c (rb_cstr_to_inum)

new decimal and octal string.

Fri Aug 16 13:17:11 2002 Yukihiro Matsumoto <[email protected]>

object.c (rb_class_allocate_instance)

move singleton class check from rb_obj_alloc().

Fri Aug 16 11:47:24 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_fread)

renamed from io_fread and made extern.

marshal.c (r_bytes0)

check if successfully read, use rb_io_fread() instead of fread() to be preemptive.

(ruby-bugs-ja

PR#294, 295)

rubyio.h (rb_io_fread)

added.

Fri Aug 16 07:57:26 2002 Nobuyoshi Nakada <[email protected]>

eval.c (compile_error)

must not clear ruby_sourcefile here.

(ruby-bugs

PR#364).

eval.c (rb_longjmp)

set ruby_sourcefile before making backtrace.

2002-08-15

Thu Aug 15 20:38:58 2002 Nobuyoshi Nakada <[email protected]>

eval.c (ruby_current_node)

added to set sourceline on demand.

eval.c (error_pos, error_print, rb_longjmp, assign)

set source file/line.

eval.c (rb_eval)

store current node instead of file/line, and preserve it at return.

eval.c (module_setup)

ditto.

eval.c (struct thread)

store node instead of file/line.

eval.c (rb_thread_raise)

ditto.

intern.h (ruby_current_node)

added.

intern.h (ruby_set_current_source)

added.

parse.y (stmt, arg)

not fix position of assignment.

parse.y (node_assign)

ditto.

parse.y (yycompile)

clear current node.

Thu Aug 15 00:48:46 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_initialize)

should not modify frozen Regexp.

2002-08-13

Tue Aug 13 18:33:18 2002 Yukihiro Matsumoto <[email protected]>

ext/tcltklib/tcltklib.c (ip_init)

allocation framework.

Tue Aug 13 15:32:14 2002 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_replace)

should copy ifnone.

hash.c (rb_hash_dup)

should preserve HASH_PROC_DEFAULT and HASH_DELETED flags.

hash.c (rb_hash_shift)

shift from empty hash should not return its default proc.

hash.c (rb_hash_default_proc)

new method. [new]

Tue Aug 13 00:37:11 2002 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_aref)

no need for Bignum check.

array.c (rb_ary_aset)

explicit Bignum check removed.

numeric.c (fix_aref)

normalize bignum before bit-op.

bignum.c (rb_big_rand)

max may be Bignum zero.

bignum.c (rb_cstr_to_inum)

should normalize bignums, to avoid returning fixable bignum value.

bignum.c (rb_uint2big)

there should be no zero sized bignum.

2002-08-12

Mon Aug 12 23:45:28 2002 Yukihiro Matsumoto <[email protected]>

ext/extmk.rb.in

extmake() that works properly for both tkutil

Mon Aug 12 22:29:35 2002 Akinori MUSHA <[email protected]>

ruby.c (set_arg0)

Correct the position of endif.

Mon Aug 12 17:25:06 2002 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_equal)

should check HASH_PROC_DEFAULT too.

Mon Aug 12 16:15:37 2002 Nobuyoshi Nakada <[email protected]>

bignum.c (rb_big_cmp)

raise for NaN. (ruby-bugs-ja:PR#284).

2002-08-11

Sun Aug 11 09:34:07 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

set line number from all nodes.

eval.c (proc_to_s)

show source file/line if available.

marshal.c (r_object)

register TYPE_BIGNUM regardless real type.

2002-08-10

Sat Aug 10 23:47:16 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_cmp)

use dbl2big() for Floats, instead of big2dbl().

bignum.c (Init_Bignum)

rb_big_zero_p() removed. There may be Bignum zero.

2002-08-09

Fri Aug 9 13:31:40 2002 WATANABE Hirofumi <[email protected]>

ext/Win32API/extconf.rb

check existence of <windows.h>.

2002-08-08

Thu Aug 8 09:37:02 2002 Nobuyoshi Nakada <[email protected]>

lib/optparse.rb (NilClass)

must provide conversion block.

lib/optparse.rb (String)

ditto.

Thu Aug 8 00:45:15 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

new argument added for original method name. preserve original method name in frame->orig_func.

eval.c (is_defined)

use frame->orig_func, not last_func.

eval.c (rb_eval)

ditto.

eval.c (method_call)

supply data->oid also to rb_call0().

object.c (rb_class_allocate_instance)

call rb_obj_alloc() when called from alias, thus invoke original “allocate”.

eval.c (remove_method)

removing allocate from classes should cause NameError.

2002-08-07

Wed Aug 7 22:12:54 2002 Nobuyoshi Nakada <[email protected]>

lib/optparse.rb (OptionParser::Completion::convert)

returned all values not first one.

lib/optparse.rb (OptionParser::Switch::parse)

return values as is.

lib/optparse.rb (OptionParser::order)

ditto.

lib/optparse/time.rb

prior time.rb.

lib/optparse/uri.rb

require standard uri module. thanks to Minero Aoki.

Wed Aug 7 09:51:54 2002 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_equal)

should check default values.

Wed Aug 7 08:44:32 2002 Minero Aoki <[email protected]>

ext/racc/cparse/cparse.c

reduce goto.

2002-08-06

Tue Aug 6 15:19:39 2002 NAKAMURA Usaku <[email protected]>

string.c (rb_str_rindex)

must return -1 if unmatched.

2002-08-05

Mon Aug 5 22:41:18 2002 Minero Aoki <[email protected]>

MANIFEST

add lib/racc/parser.rb.

ext/racc/cparse/cparse.c

code refine.

ext/racc/cparse/MANIFEST

add depend.

2002-08-04

Sun Aug 4 22:30:50 2002 Nobuyoshi Nakada <[email protected]>

ext/curses/curses.c

follow allocation framework.

2002-08-03

Sat Aug 3 21:23:56 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

set constant in cbase scope.

eval.c (assign)

ditto.

2002-08-02

Fri Aug 2 09:12:32 2002 Minero Aoki <[email protected]>

ext/strscan/strscan.c

follow allocation framework.

Fri Aug 2 01:21:52 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (s_recvfrom)

update RSTRING len.

2002-08-01

Thu Aug 1 17:47:15 2002 Tachino Nobuhiro <[email protected]>

parse.y (tokadd_string)

ignore backslashed spaces in %w.

Thu Aug 1 14:14:15 2002 Yukihiro Matsumoto <[email protected]>

enum.c (enum_find)

do not use rb_eval_cmd(); should not accept a string for if_none.

2002-07-31

Wed Jul 31 14:11:43 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_undef)

undef should be done for klass, not ruby_class.

2002-07-30

Tue Jul 30 19:48:51 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-accurate-end-of-block)

restrict search region.

misc/ruby-mode.el (ruby-parse-partial)

reversed wrong patch.

Tue Jul 30 17:21:13 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-accurate-end-of-block)

incomplete block caused infinite loop.

misc/ruby-mode.el (ruby-parse-partial)

returns nil unless delimiters found.

Tue Jul 30 15:24:07 2002 WATANABE Hirofumi <[email protected]>

ext/tcltklib/stubs.c (ruby_tcltk_stubs)

win32_getenv returns the same address always, so allocate string by ruby_strdup.

win32/win32.c

prototype; rb_w32_open_osfhandle().

Tue Jul 30 09:11:07 2002 Minero Aoki <[email protected]>

eval.c (rb_thread_join_m)

add parameter type declaration.

Tue Jul 30 08:37:11 2002 Minero Aoki <[email protected]>

eval.c (localjump_error)

add parameter type declaration.

2002-07-29

Mon Jul 29 16:00:54 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

always use File.expand_path for $top_srcdir.

2002-07-27

Sat Jul 27 23:07:52 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (num_to_int)

default to_int implementation for every numeric class.

Sat Jul 27 08:09:03 2002 Booker C. Bense <[email protected]>

re.c (rb_reg_quote)

initial part of the string was never copied to the quoted string.

2002-07-26

Fri Jul 26 23:03:53 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

no need to convert to string twice.

Fri Jul 26 18:32:37 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-expr-beg)

wrong indent at modifiers after ?.

Fri Jul 26 16:01:16 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in (create_makefile)

use Regexp in gsub.

sample/mkproto.rb

ditto and fix bug.

Fri Jul 26 14:31:06 2002 Yukihiro Matsumoto <[email protected]>

random.c

replace with Mersenne Twister RNG.

Fri Jul 26 12:14:48 2002 Minero Aoki <[email protected]>

parse.y (yylex)

modify to accept a code like “m (a){…}”.

2002-07-25

Thu Jul 25 09:05:02 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-delimiter)

include here document.

misc/ruby-mode.el (ruby-deep-arglist)

skips spaces after parenthesis when 'space.

misc/ruby-mode.el (ruby-imenu-create-index)

fix for nested classes.

misc/ruby-mode.el (ruby-accurate-end-of-block)

added. scan a block in the order.

misc/ruby-mode.el (ruby-expr-beg)

support for here document.

misc/ruby-mode.el (ruby-parse-partial)

splitted from ruby-parse-region.

misc/ruby-mode.el (ruby-move-to-block)

skips RD style comments.

2002-07-24

Wed Jul 24 09:47:42 2002 Yukihiro Matsumoto <[email protected]>

eval.c (jump_tag_but_local_jump)

preserve retval in LocalJumpError exceptions.

parse.y (command)

no more check for “super outside of method”.

eval.c (rb_mod_define_method)

should set last_class and last_func in the block->frame.

2002-07-22

Mon Jul 22 17:23:00 2002 Yukihiro Matsumoto <[email protected]>

eval.c (error_handle)

should handle TAG_THROW as well.

2002-07-19

Fri Jul 19 10:52:32 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

new decimal notation '0d4567'.

2002-07-18

Thu Jul 18 11:52:02 2002 Shugo Maeda <[email protected]>

lib/net/ftp.rb (set_socket)

new method.

Thu Jul 18 06:51:24 2002 Minero Aoki <[email protected]>

parse.y (yylex)

fix typo.

2002-07-17

Wed Jul 17 18:41:28 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

new octal notation '0o777'.

2002-07-15

Mon Jul 15 18:36:42 2002 Yukihiro Matsumoto <[email protected]>

parse.y (string_content)

every string_content node should return string only. use NODE_EVSTR to coercing.

eval.c (rb_eval)

NODE_EVSTR support.

Mon Jul 15 10:35:35 2002 Minero Aoki <[email protected]>

parse.y (heredoc_identifier)

fix typo.

2002-07-13

Sat Jul 13 09:30:04 2002 Nobuyoshi Nakada <[email protected]>

parse.y (literal_concat_string)

wrong optimization.

Sat Jul 13 01:25:38 2002 Nobuyoshi Nakada <[email protected]>

lib/resolv.rb (Resolv::DNS::open, close)

new.

lib/optparse.rb, lib/optparse

import.

2002-07-12

Fri Jul 12 06:34:05 2002 Minero Aoki <[email protected]>

lib/net/http.rb

rename HTTP.get_uri get_response.

lib/net/http.rb

HTTP.get_print accepts URI objects.

lib/net/http.rb

HTTP.get had not work with URI objects.

Fri Jul 12 02:15:58 2002 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_match)

fix for string match.

Fri Jul 12 00:02:50 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c (strio_gets_internal)

fixed for record separator longer than 1.

2002-07-11

Thu Jul 11 17:59:20 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_quote)

avoid unnecessary string allocation.

string.c (get_pat)

quote metacharacters before compiling a string into a regex.

string.c (rb_str_split_m)

special treatment of strings of size 1, but AWK emulation. now uses get_pat().

string.c (rb_str_match_m)

quote metacharacters.

string.c (rb_str_match2)

ditto.

Thu Jul 11 12:59:23 2002 Shugo Maeda <[email protected]>

lib/resolv.rb

untaint strings read from /etc/hosts and /etc/resolv.conf to prevent SecurityError when $SAFE==1.

Thu Jul 11 09:00:43 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_slice_bang)

if there's no corresponding substring, slice! should return nil without exception.

2002-07-09

Tue Jul 9 20:03:55 2002 Keiju Ishitsuka <[email protected]>

2002-07-06

Sat Jul 6 07:35:02 2002 Jamie Herre <[email protected]>

array.c (rb_ary_insert)

type fixed.

2002-07-05

Fri Jul 5 09:17:00 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_split_m)

accept separator value nil as well.

Fri Jul 5 08:59:15 2002 Michal Rokos <[email protected]>

enum.c

Fix bug in enum_sort_by and some code indents

Fri Jul 5 05:00:40 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb (CGI#initialize)

improvement for mod_ruby. thanks to Sean Chittenden <[email protected]>, Shugo Maeda <[email protected]>

Fri Jul 5 00:10:09 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_become)

was leaking memory.

2002-07-04

Thu Jul 4 23:43:26 2002 Minero Aoki <[email protected]>

parse.y

remove useless function str_extend_p().

2002-07-03

Wed Jul 3 14:26:40 2002 Sean Chittenden <[email protected]>

lib/net/ftp.rb (get)

new method.

lib/net/ftp.rb (putt)

ditto.

lib/net/ftp.rb (binary)

ditto.

lib/net/ftp.rb (binary=)

ditto.

Wed Jul 3 13:57:53 2002 Sean Chittenden <[email protected]>

lib/net/ftp.rb (getbinaryfile)

the second argument (localfile) is now optional.

lib/net/ftp.rb (gettextfile)

ditto.

Wed Jul 3 13:45:42 2002 Shugo Maeda <[email protected]>

lib/net/ftp.rb

use &block and yield for speed.

Wed Jul 3 02:32:31 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb (CGI#initialize)

improvement for mod_ruby.

2002-07-02

Tue Jul 2 14:53:10 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_include_module)

should not alter other classes/modules by inclusion. by this fix, local order may not be preserved for some cases.

class.c (include_class_new)

module may be T_ICLASS; retrieve original module information.

Tue Jul 2 14:13:11 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb (CGI#header)

accept any type as value.

2002-06-30

Sun Jun 30 17:05:29 2002 WATANABE Hirofumi <[email protected]>

configure.in (seekdir, telldir)

add ac_cv_func_telldir=yes, ac_cv_func_seekdir=yes for MinGW.

2002-06-29

Sat Jun 29 01:43:32 2002 NAKAMURA Usaku <[email protected]>

io.c (pipe_finalize, pipe_popen)

two-way pipe support for win32.

win32/win32.c (ChildRecord, FindFreeChildSlot)

ditto.

win32/win32.c, win32/win32.h (pipe_exec)

new function for two-way pipe support for win32.

win32/win32.c, win32/win32.h (FindPipedChildSlot, rb_w32_popen, rb_w32_pclose)

removed functions for two-way pipe support for win32.

2002-06-28

Fri Jun 28 23:49:34 2002 NAKAMURA Usaku <[email protected]>

pack.c (pack_unpack)

change names of local variables because their names are overlapped.

Fri Jun 28 17:54:07 2002 Tanaka Akira <[email protected]>

lib/pp.rb

fix object address.

2002-06-27

Thu Jun 27 23:55:50 2002 NAKAMURA Usaku <[email protected]>

win32/win32.c (rb_w32_stat)

fix buffer overflow. (ruby-bugs:PR#329)

Thu Jun 27 20:57:45 2002 Tanaka Akira <[email protected]>

lib/prettyprint.rb, lib/pp.rb

convenience methods added.

Thu Jun 27 15:22:18 2002 Tanaka Akira <[email protected]>

lib/prettyprint.rb

re-implemented for incremental output to handle huge data. API is changed a bit.

lib/pp.rb

adapt new pretty printing API.

Thu Jun 27 08:28:18 2002 Nobuyoshi Nakada <[email protected]>

parse.y (literal_concat_string)

non-string last expression in #{} was ignored when followed by literal.

Thu Jun 27 03:42:04 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_expr_str)

need to process backslashes properly.

2002-06-26

Wed Jun 26 17:33:38 2002 Yukihiro Matsumoto <[email protected]>

object.c (rb_any_to_a)

declare Object#to_a to be obsolete.

object.c (rb_Array)

do not convert nil into [] automagically.

Wed Jun 26 15:40:00 2002 Nobuyoshi Nakada <[email protected]>

parse.y (words, qwords)

word list literal rules.

parse.y (parse_string)

ditto.

parse.y (yylex)

%W: word list literal with interpolation. [new]

2002-06-25

Tue Jun 25 18:53:34 2002 Nobuyoshi Nakada <[email protected]>

parse.y (string1, xstring, regexp)

moved lex_strnest initialization to string_contents/xstring_contents.

Tue Jun 25 19:24:38 2002 KONISHI Hiromasa <[email protected]>

dln.c

remove definition rb_loaderror().

Tue Jun 25 00:34:54 2002 Yukihiro Matsumoto <[email protected]>

object.c (rb_Integer)

use “to_int” instead of “to_i”. [experimental]

object.c (nil_to_f)

new method.

object.c (rb_Integer)

Symbols and nil should cause error.

object.c (rb_Float)

nil should cause error.

Tue Jun 25 00:21:00 2002 KONISHI Hiromasa <[email protected]>

dln.c

remark definition rb_loaderror().

Tue Jun 25 00:14:07 2002 Nobuyoshi Nakada <[email protected]>

parse.y (string_dvar)

allow back references in interpolation.

2002-06-24

Mon Jun 24 16:32:31 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_eval)

NODE_EVSTR is no longer used.

eval.c (eval)

not enforce to make assigned variables dynamic.

parse.y (string)

split rules to strings/xstring/regexp to allow arbitrary statements inside string interpolation.

parse.y (here_document)

splitted into three phases.

parse.y (literall_append, literal_concat)

added. append/concatenate string literals.

sample/test.rb (valid_syntax)

adjust line number for BEGIN.

lib/mkmf.rb (create_makefile)

get rid of nested string.

lib/mkmf.rb (install_rb)

site-install didn't work properly.

2002-06-23

Sun Jun 23 00:19:10 2002 Tadayoshi Funaba <[email protected]>

lib/date.rb, lib/date/format.rb, sample/cal.rb, sample/goodfriday.rb

updated to the new version (based on date2 3.3).

2002-06-22

Sat Jun 22 14:41:33 2002 Guy Decoux <[email protected]>

ext/socket/socket.c (sock_addrinfo)

make all 3 versions of getaddrinfo happy. [ruby-core:00184]

2002-06-21

Fri Jun 21 18:49:58 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

__END__ should not be effective within string literals.

2002-06-20

Thu Jun 20 21:09:37 2002 Nobuyoshi Nakada <[email protected]>

ext/readline/readline.c (readline_readline)

get rid of libreadline's bug. (ruby-bugs-ja:PR#268)

Thu Jun 20 17:10:27 2002 WATANABE Hirofumi <[email protected]>

lib/ftool.rb (BUFSIZE)

tuning, set buffer length to 8192.

configure.in (__NO_ISOCEXT)

add for mingw-runtime 2.0-2.

configure.in (__MSVCRT__)

removed because it is defined in the GCC specs.

2002-06-19

Wed Jun 19 14:46:18 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb, lib/mkmf.rb (xsystem)

open the log file if xsystem is called.

Wed Jun 19 01:01:13 2002 Yukihiro Matsumoto <[email protected]>

parse.y (here_document)

should be aware of __END__ within here documents.

Wed Jun 19 00:50:50 2002 Nobuyoshi Nakada <[email protected]>

parse.y (yylex)

? followed by successive word characters is ternary operator not numeric literal.

parse.y (yylex)

commands after break/next/rescue can take arguments. (ruby-bugs-ja:PR#265)

2002-06-18

Tue Jun 18 19:20:16 2002 NAKAMURA Usaku <[email protected]>

win32/mkexports.rb

remove unnecessary exports. (ruby-dev:17418)

Tue Jun 18 12:50:17 2002 Nobuyoshi Nakada <[email protected]>

parse.y (yylex)

should pushback proper char after '<<'.

parse.y (range_op, cond0, cond)

get rid of doubled warnings.

parse.y (value_expr)

reduce recursion level.

parse.y (logop)

ditto.

2002-06-17

Mon Jun 17 11:11:34 2002 Kazuhiro NISHIYAMA <[email protected]>

string.c (rb_str_crypt)

result need not be tainted always.

Mon Jun 17 10:51:37 2002 Nobuyoshi Nakada <[email protected]>

dln.c (dln_load)

need to preserve dln_strerror() result, calling other dl family can clear it.

2002-06-15

Sat Jun 15 22:56:37 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

obsolete '?<whitespace>'; use '?s', '?n', etc, instead.

Sat Jun 15 18:51:13 2002 Akinori MUSHA <[email protected]>

dir.c (glob_helper)

Use lstat() instead of stat() so it catches a dead symlink. Given a dead symlink named “a”, Dir.glob(“?”) did catch it but Dir.glob(“a”) somehow didn't.

Sat Jun 15 01:59:05 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

no here document after a dot.

parse.y (yylex)

should have set lex_state after '`'.

parse.y (yylex)

should have set lex_state properly after tOP_ASGN.

2002-06-14

Fri Jun 14 21:01:48 2002 KONISHI Hiromasa <[email protected]>

bcc32/mkexports.rb

insert sleep(1) for win9x.

bcc32/configure.bat

change return code LF -> CRLF for win9x.

win32/win32.c

fix rb_w32_open_osfhandle()

Fri Jun 14 15:22:19 2002 Nobuyoshi Nakada <[email protected]>

parse.y (read_escape)

deny zero-width hexadecimal character.

(ruby-bugs-ja

PR#260)

parse.y (tokadd_escape)

ditto.

regex.c (re_compile_pattern)

ditto.

Fri Jun 14 00:49:54 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big2dbl)

return canonical HUGE_VAL for infinity.

2002-06-13

Thu Jun 13 09:43:37 2002 Yukihiro Matsumoto <[email protected]>

eval.c (svalue_to_avalue)

v may be Qundef. This fix was suggested by Guy Decoux.

Thu Jun 13 00:33:49 2002 takuma ozawa <[email protected]>

hash.c (rb_hash_s_create)

use rb_hash_aset() instead of calling st_insert() directly, to dup&freeze string keys.

Thu Jun 13 00:12:54 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

proper error message for “@@0”.

parse.y (yylex)

paren to parse_string() must be zero for unparenthesized strings.

parse.y (str_extend)

broken string when unterminated “#{”.

enum.c (enum_sort_by)

had a bug in 1 element enumeration.

2002-06-12

Wed Jun 12 18:04:44 2002 akira yamada <[email protected]>

uri/common.rb (REGEXP::PATTERN::X_ABS_URI)

'file:/foo' is valid.

uri/generic.rb (Generic#xxx=)

should return substituted value.

(ruby-dev

16728.)

test/generic.rb (test_set_component)

added tests for the above change.

Wed Jun 12 02:38:00 2002 Nobuyoshi Nakada <[email protected]>

parse.y (stmt)

fix typo.

Wed Jun 12 01:10:55 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

'do' should return kDO_BLOCK on EXPR_ENDARG.

parse.y (singleton)

“def (()).a end” dumped core.

parse.y (range_op)

node may be null.

parse.y (match_gen)

ditto.

2002-06-11

Tue Jun 11 19:20:34 2002 WATANABE Hirofumi <[email protected]>

configure.in (LIBRUBY)

rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW.

configure.in, cygwin/GNUmakefile

use dllwrap when –disable-shared is specified.

Tue Jun 11 17:12:04 2002 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

void value check for “..”, “…”, “!”, and “not”.

parse.y (match_gen)

void value check for “=~”.

parse.y (value_expr)

check NODE_AND and NODE_OR recursively.

parse.y (cond0)

void value check added for conditionals.

Tue Jun 11 13:18:47 2002 Shugo Maeda <[email protected]>

lib/net/ftp.rb (noop)

new method.

lib/net/ftp.rb (site)

ditto.

Tue Jun 11 13:15:41 2002 NAKAMURA Usaku <[email protected]>

bcc32/Makefile.sub

set PROCESSOR_LEVEL to 6 if it's too big value.

win32/Makefile.sub

ditto.

Tue Jun 11 12:37:46 2002 KONISHI Hiromasa <[email protected]>

Tue Jun 11 10:18:23 2002 KONISHI Hiromasa <[email protected]>

2002-06-10

Mon Jun 10 19:02:19 2002 Nobuyoshi Nakada <[email protected]>

numeric.c (fix_lshift)

negative shift count means right shift.

(ruby-bugs-ja

PR#248)

numeric.c (fix_rshift)

return -1 when left side operand is negative. (ruby-bugs-ja:PR#247)

parse.y (yylex)

`0_' should be an error. (ruby-bugs-ja:PR#249)

Mon Jun 10 01:53:54 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

ruby_frame->last_func may be null, if it's called outside of a method.

parse.y (arg)

use INT2NUM, not INT2FIX for tUMINUS.

parse.y (arg)

unnecessary negative tPOW treatment.

parse.y (tokadd_escape)

wrong backslash escapement.

2002-06-09

Sun Jun 9 17:40:41 2002 Takaaki Tateishi <[email protected]>

ext/dl

change the callback mechanism.

2002-06-08

Sat Jun 8 00:48:38 2002 Yukihiro Matsumoto <[email protected]>

parse.y (stmt,arg)

too much void value check.

parse.y (stmt,arg)

need to check void value on rules which does not use node_assign().

2002-06-06

Thu Jun 6 19:50:39 2002 KONISHI Hiromasa <[email protected]>

Thu Jun 6 17:42:39 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (ipaddr)

need not to taint hostnames.

Thu Jun 6 12:04:30 2002 NAKAMURA Usaku <[email protected]>

win32/Makefile.sub (config.status)

use sub! instead of []= because []= causes exception.

Thu Jun 6 11:42:15 2002 Nobuyoshi Nakada <[email protected]>

lib/thread.rb (Queue::pop)

get rid of race condition.

2002-06-05

Wed Jun 5 01:56:47 2002 Hidetoshi NAGAI <[email protected]>

ext/tcltklib/tcltklib.c

Stop the running zombi-eventloop when mainloop_watchdog is killed.

2002-06-04

Tue Jun 4 23:09:24 2002 Yukihiro Matsumoto <[email protected]>

range.c (range_include)

should be based on “<=>”, whereas member? still is based on “each”.

range.c (range_min,range_max)

redefine methods based on “<=>”.

Tue Jun 4 18:28:37 2002 WATANABE Hirofumi <[email protected]>

ext/socket/extconf.rb

The IPv6 stack of Cygwin is still incomplete.

ext/Win32API/extconf.rb

refactoring.

Tue Jun 4 07:03:33 2002 Hidetoshi NAGAI <[email protected]>

ext/tk/lib/tkfont.rb

Fix bugs on TkFont.init_widget_font for Tk8.x.

ext/tk/lib/tkafter.rb

Add self to 1st argument of interval- and loop-proc TkAfter#current_interval returns an interval (sleep) time value TkAfter#current_args returns an array of arguments TkAfter#return_value returns a return value of last loop-proc

ext/tk/lib/tk*.rb

Allow to use Symbols for parameters.

ext/tk/lib/tkcanvas.rb

(TkcItem) Add 'coords' parameter to the canvas item constructor (for new notation of constructor).

ext/tcltklib/tcltklib.c

New 'mainloop' and 'mainloop_watchdog'.

ext/tk/lib/tk.rb

(Tk.restart) Add 'app-name' paramater and 'use' parameter.

ext/tk/lib/tk.rb

Add new parameter 'widgetname' to the widget constructor to support effective use of Resource Database.

ext/tk/lib/tk.rb

TkOption::get always returns a tainted string.

Tue Jun 4 00:45:50 2002 Nobuyoshi Nakada <[email protected]>

ext/socket/addrinfo.h

typo.

ext/socket/getaddrinfo.c (gai_strerror)

make literals const.

ext/socket/socket.c (init_inetsock)

ensures resources are freed at exceptions.

ext/socket/socket.c (init_unixsock)

ditto.

ext/socket/socket.c (udp_connect)

ditto.

2002-06-03

Mon Jun 3 20:39:51 2002 Masaki Suketa <[email protected]>

ext/win32ole/extconf.rb

change PLATFORM with RUBY_PLATFORM.

Mon Jun 3 07:07:07 2002 Nobuyoshi Nakada <[email protected]>

parse.y (here_document)

check if identifier is terminated.

(ruby-bugs-ja

PR#239)

parse.y (yylex)

should pushback proper char after '**'.

(ruby-bugs-ja

PR#240)

Mon Jun 3 05:56:17 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_aset)

should raise error if an indexing string is not found in the receiver.

sprintf.c (rb_f_sprintf)

“%d” should convert objects into integers using Integer().

2002-06-01

Sat Jun 1 19:20:07 2002 Masaki Suketa <[email protected]>

ext/win32ole

merge from rough.

2002-05-31

Fri May 31 17:11:42 2002 Yukihiro Matsumoto <[email protected]>

lib/tempfile.rb (Tempfile::size)

added.

2002-05-30

Thu May 30 12:52:42 2002 Yukihiro Matsumoto <[email protected]>

range.c (range_step)

iteration done using “+” if elements are Numeric. Otherwise using “succ”.

range.c (range_each)

iteration done using “succ”. If the elements does not respond to “succ”, raise TypeError. As a result, all Enumerable methods, e.g. collect, require elements to respond to “succ”.

range.c (range_member)

comparison done using “each”, if elements are non-Numeric or no-“succ” objects. Otherwise compare using “<=>”.

range.c (Init_Range)

remove “size” and “length”.

Thu May 30 09:16:36 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb

if StringIO is usable then use it.

2002-05-29

Wed May 29 18:55:47 2002 KONISHI Hiromasa <[email protected]>

Wed May 29 17:32:55 2002 WATANABE Hirofumi <[email protected]>

time.c (tmcmp, search_time_t)

activate unless HAVE_TIMEGM.

Wed May 29 13:45:15 2002 Wakou Aoyama <[email protected]>

lib/cgi.rb

not use const if GET, HEAD. check multipart form head.

2002-05-28

Tue May 28 17:56:02 2002 Sean Chittenden <[email protected]>

parse.y

yyparse defines moved from intern.h

ruby.c (proc_options)

access prefixed “ruby_yydebug”.

Tue May 28 14:07:00 2002 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

no more ugly hack for “**”, so that “-2**2” to be parsed as “(-2)**2”, whereas “- 2**2” or “-(2)**2” to be parsed as “-(2**2)”.

parse.y (yylex)

'-2' to be literal fixnum. [new]

Tue May 28 12:13:37 2002 Nobuyoshi Nakada <[email protected]>

eval.c (scope_node)

trick to keep the node has a scope.

eval.c (rb_eval)

NODE_EVSTR: write back local_tbl to the node.

eval.c (rb_eval)

NODE_SCOPE: hold the scope node in ruby_scope.

eval.c (module_setup)

ditto.

eval.c (rb_call0)

ditto.

node.h (NEW_DASGN, NEW_DASGN_CURR)

remove surplus semicolons.

2002-05-24

Fri May 24 09:06:29 2002 Yukihiro Matsumoto <[email protected]>

time.c (time_arg)

nil test against v (usec).

2002-05-23

Thu May 23 16:39:21 2002 Nobuyoshi Nakada <[email protected]>

ruby.c (proc_options)

option parsing problem.

(ruby-bugs-ja

PR#233)

Thu May 23 09:13:56 2002 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

removed “-*-” support for #! line.

io.c (rb_io_s_sysopen)

new method to get a raw file descriptor. [new]

ext/socket/socket.c (tcp_sysaccept)

new method to return an accepted socket fd (integer). [new]

ext/socket/socket.c (unix_sysaccept,sock_sysaccept)

ditto.

2002-05-22

Wed May 22 21:26:47 2002 Nobuyoshi Nakada <[email protected]>

ruby.c (proc_options)

-T consumes digits only.

Wed May 22 20:18:31 2002 WATANABE Hirofumi <[email protected]>

configure.in

need not link vsnprintf.o on MinGW.

Wed May 22 18:34:23 2002 Minero Aoki <[email protected]>

parse.y (yylex)

Here-document label ate '-'.

2002-05-21

Tue May 21 13:25:18 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-font-lock-keywords)

symbols end with '_'.

Tue May 21 04:48:37 2002 Sean Chittenden <[email protected]>

lib/cgi-lib.rb

Checking for constant MOD_RUBY instead of environment variable. Remove a mod_ruby warning and use Apache::request.headers_out[] instead.

Tue May 21 01:16:46 2002 Nobuyoshi Nakada <[email protected]>

parse.y (bodystmt)

ensure clause was executed on else clause without rescue clause.

Tue May 21 00:20:25 2002 Takaaki Tateishi <[email protected]>

ext/dl/ptr.c

rename PtrData::alloc to PtrData::malloc.

ext/dl/lib/dl/struct.c

rename Struct#alloc to Struct#malloc.

2002-05-20

Mon May 20 14:29:14 2002 Yukihiro Matsumoto <[email protected]>

object.c (Init_Object)

should do exact match for Module#==.

compar.c (cmp_eq)

returns 'false' if <=> returns 'nil'.

compar.c (cmp_gt,cmp_ge,cmp_lt,cmp_le,cmp_between)

ditto.

Mon May 20 13:28:52 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_clone)

writing stream was not copied properly.

2002-05-18

Sat May 18 21:38:11 2002 Tadayoshi Funaba <[email protected]>

lib/date.rb, lib/date/format.rb, lib/parsedate.rb

updated to the new version (based on date2 3.2.1).

Sat May 18 21:18:00 2002 NAKAMURA Usaku <[email protected]>

win32/Makefile.sub (config.h)

add VC++4/5 support about noreturn directive.

Sat May 18 02:16:41 2002 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

should propagate taintedness.

pack.c (pack_unpack)

ditto.

2002-05-17

Fri May 17 16:16:19 2002 WATANABE Hirofumi <[email protected]>

sample/test.rb

use eval instead of './miniruby -c', in order to check a syntax error.

2002-05-16

Thu May 16 14:46:34 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_select)

cleanup conditional compilation.

2002-05-15

Wed May 15 06:13:35 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

need to preserve errno before calling rb_trap_exec().

regex.c (calculate_must_string)

a bug in charset/charset_not parsing.

2002-05-14

Tue May 14 18:17:44 2002 Nobuyoshi Nakada <[email protected]>

win32/Makefile.sub

config.h inlined. and catch up with the latest change.

win32/config.h.in

no longer used.

Tue May 14 14:49:05 2002 WATANABE Hirofumi <[email protected]>

gc.c (is_pointer_to_heap)

avoid GCC 3.1 warnings.

missing/strftime.c (timezone)

it should take no argument on Cygwin.

Tue May 14 03:07:35 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_clear_cache_by_class)

new function.

eval.c (set_method_visibility)

should have clear cache for updated visibility.

2002-05-13

Mon May 13 14:38:33 2002 WATANABE Hirofumi <[email protected]>

djgpp/config.hin, djgpp/config.sed

catch up with the latest change.

Mon May 13 01:59:55 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (flo_to_s)

default format precision to be “%.16g”.

util.c (ruby_strtod)

use own strtod(3) implementation to avoid locale hell. Due to this change “0xff”.to_f no longer returns 255.0

2002-05-12

Sun May 12 03:01:08 2002 WATANABE Hirofumi <[email protected]>

missing.h

add for missing/*.c.

ruby.h

add `#include “missing.h”'.

Makefile.in

add the dependency of missing.h by gcc -MM.

MANIFEST

add missing.h

2002-05-11

Sat May 11 23:24:52 2002 Takaaki Tateishi <[email protected]>

ext/dl

enable dl's stack emulation for constructing function call.

Sat May 11 10:52:09 2002 Nobuyoshi Nakada <[email protected]>

dir.c (glob_helper)

remove escaping backslashes.

Sat May 11 02:46:43 2002 Yukihiro Matsumoto <[email protected]>

eval.c (avalue_to_yvalue)

new function to distinguish yvalue

eval.c (rb_yield_0)

use avalue_to_yvalue().

eval.c (assign)

warn if val == Qundef where it means rhs is void (e.g. yield without value or call without argument).

2002-05-10

Fri May 10 19:00:47 2002 Nobuyoshi Nakada <[email protected]>

parse.y (here_document)

preserve line number begins here document.

Fri May 10 01:55:44 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_join)

added an argument to limit time to wait the thread.

eval.c (rb_thread_join_m)

new. and added optional argument.

2002-05-08

Wed May 8 23:48:40 2002 Yukihiro Matsumoto <[email protected]>

parse.y (value_expr)

need not to warn for WHILE and UNTIL, since they can have return value (via valued break).

2002-05-07

Tue May 7 17:13:40 2002 WATANABE Hirofumi <[email protected]>

configure.in

forgot to add '-Wl,' to the gcc option on Cygwin/MinGW.

Tue May 7 15:41:33 2002 Nobuyoshi Nakada <[email protected]>

ext/iconv/iconv.c (iconv_try)

should initialize exceptions properly. (ruby-bugs-ja:PR#232)

Tue May 7 15:28:03 2002 Minero Aoki <[email protected]>

eval.c (rb_yield_0)

The destination of the goto jump was wrong.

Tue May 7 09:17:51 2002 Minero Aoki <[email protected]>

eval.c (superclass)

undesirable “unexpected return” when the superclass is not a Class.

2002-05-05

Sun May 5 06:53:45 2002 Akinori MUSHA <[email protected]>

lib/mkmf.rb

exclude topdir from the system configuration section and prevent it from being overridden.

2002-05-03

Fri May 3 20:19:00 2002 WATANABE Hirofumi <[email protected]>

configure.in

add include <errno.h> in AC_CHECK_DECLS().

win32/config.h.in

define HAVE_DECL_SYS_NERR.

2002-05-02

Thu May 2 23:42:40 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_s_quote)

# also should be quoted.

Thu May 2 18:27:13 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

use 'do…end' instead of '{}' for Borland make.

Thu May 2 08:01:56 2002 Chris Thomas <[email protected]>

error.c

use HAVE_DECL_SYS_NERR instead of platform names.

2002-04-30

Tue Apr 30 09:23:05 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (num_step)

better iteration condition for float values; suggested by Masahiro TANAKA <[email protected]>.

Tue Apr 30 05:59:42 2002 Michal Rokos <[email protected]>

range.c (range_step)

step (for Range#step method) <= 0 makes no sense, thus ArgError will be raised.

range.c (range_each)

Range#each method is special case for Range#step(1)

2002-04-29

Mon Apr 29 18:46:42 2002 Yukihiro Matsumoto <[email protected]>

file.c (rb_find_file)

load must be done from an absolute path if $SAFE >= 4.

2002-04-28

Sun Apr 28 17:01:56 2002 WATANABE Hirofumi <[email protected]>

win32/win32.c (insert)

fix prototype for ANSI C.

2002-04-26

Fri Apr 26 13:47:15 2002 Yukihiro Matsumoto <[email protected]>

enum.c (enum_partition)

new method. [new]

Fri Apr 26 13:41:00 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_s_quote)

quote whitespaces for /x cases.

Fri Apr 26 06:48:23 2002 Takaaki Tateishi <[email protected]>

ext/dl/ptr.c (cary2ary)

missing break in switch statements.

Fri Apr 26 09:35:47 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_proc_new)

make Proc from C function. [new]

intern.h (rb_proc_new)

prototype.

2002-04-24

Wed Apr 24 14:56:46 2002 Nobuyoshi Nakada <[email protected]>

eval.c (proc_to_proc)

return self. [new]

eval.c (block_pass)

no need to convert if block is Proc.

Wed Apr 24 14:21:41 2002 WATANABE Hirofumi <[email protected]>

configure.in

set size of the initial stack from 2MB to 32MB on MinGW/Cygwin.

Wed Apr 24 14:06:35 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (num_step)

try to reduce residual on Float operations.

Wed Apr 24 06:48:31 2002 Koji Arai <[email protected]>

io.c (rb_io_mode_flags)

both 'r+b' and 'rb+' should be allowed.

io.c (rb_io_mode_modenum)

ditto.

Wed Apr 24 01:16:14 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c (strio_mark)

must check if ptr is NULL first. [ruby-talk:38873]

lib/mkmf.rb (create_makefile)

should print depend file when make is other than nmake.

Wed Apr 24 00:37:12 2002 NAKAMURA Usaku <[email protected]>

ext/extmk.rb.in (create_makefile)

use `{$(srcdir)}' directive instead of `$(srcdir)/' when including depend file.

lib/mkmf.rb (create_makefile)

add `{$(srcdir)}' when including depend file.

2002-04-23

Tue Apr 23 12:58:18 2002 Yukihiro Matsumoto <[email protected]>

gc.c (rb_memerror)

rename from mem_error, and exported.

gc.c (Init_GC)

pre-allocate NoMemoryError instance.

object.c (convert_type)

error message changed from “failed to convert” to “cannot convert”, since it does not try to convert if an object does not respond to the converting method.

2002-04-22

Mon Apr 22 09:31:30 2002 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

convert Method to Proc using rb_check_convert_type().

object.c (rb_check_convert_type)

always convert T_DATA

eval.c (rb_thread_cleanup)

should not terminate main_thread by Fatal error.

regex.c (is_in_list)

need to not exclude NUL and NEWLINE.

2002-04-20

Sat Apr 20 00:19:13 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_expr_str)

wrong backslash escapement.

re.c (rb_reg_expr_str)

do not escape embedded space characters.

2002-04-19

Fri Apr 19 22:03:40 2002 NAKAMURA Usaku <[email protected]>

win32/Makefile.sub

add -DNT to $CFLAGS instead of $CPPFLAGS.

win32/setup.mak

ditto.

Fri Apr 19 17:24:22 2002 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

T_DATA process patch from Joel VanderWerf <[email protected]>. This is temporary hack; it remains undocumented, and it will be removed when marshaling is re-designed.

marshal.c (r_object)

ditto.

Fri Apr 19 17:10:55 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (num_step)

Integer#step is moved to Numeric#step; Fixnum#step is merged into this method.

numeric.c (int_dotimes)

Fixnum#times is merged.

numeric.c (int_upto)

Fixnum#upto is merged.

numeric.c (int_downto)

Fixnum#downto is merged.

Fri Apr 19 16:22:55 2002 WATANABE Hirofumi <[email protected]>

ext/socket/extconf.rb

include <windows.h>, <winsock.h> on _WIN32.

win32/win32.c

include <mswsock.h> on MINGW32.

configure.in

cleanup for autoconf 2.5x.

configure.in

use gcc -shared instead of dllwrap on Cygwin/MinGW.

ext/extmk.rb, lib/mkmf.rb

get rid of “–def=”.

Fri Apr 19 14:57:44 2002 Nobuyoshi Nakada <[email protected]>

re.c (rb_reg_to_s)

remove redundant shy group.

Fri Apr 19 01:08:20 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_cleanup)

current thread may be THREAD_STOPPED, for example when terminated from signal handler.

2002-04-18

Thu Apr 18 19:03:15 2002 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

remove /p support.

regex.h

ditto.

parse.y (parse_regx)

ditto.

Thu Apr 18 17:01:43 2002 Takaaki Tateishi <[email protected]>

ext/dl/ptr.c (rb_dlptr_cast)

removed.

Thu Apr 18 17:01:43 2002 Tanaka Akira <[email protected]>

re.c (rb_reg_to_s)

new function for Regexp#to_s.

2002-04-17

Wed Apr 17 23:55:34 2002 Akinori MUSHA <[email protected]>

ext/Setup*, ext/bigfloat/*

Back out the import of BigFloat in favor of its forthcoming successor, BigDecimal.

Wed Apr 17 16:53:33 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_expr_str)

should treat backslash specially in escaping.

Wed Apr 17 08:16:41 2002 Michal Rokos <[email protected]>

io.c

complete off_t handling; missing argument for fptr_finalize(); polished rb_scan_args call.

Wed Apr 17 00:01:59 2002 Michal Rokos <[email protected]>

dir.c

wrap multi-statement macro by do { } while (0)

eval.c, numeric,c, sprintf.c, util.c

ditto.

2002-04-16

Tue Apr 16 08:59:50 2002 Nobuyoshi Nakada <[email protected]>

eval.c (assign)

convert mrhs to mvalue.

2002-04-15

Mon Apr 15 18:12:57 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_eq)

check `y == x' if y is neither Fixnum, Bignum, nor Float.

Mon Apr 15 09:27:31 2002 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

should treat 'U' in character unit, not in byte unit.

error.c (exc_initialize)

should clear backtrace information.

2002-04-13

Sat Apr 13 23:42:43 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fptr_cleanup)

should close IO created by IO.new(fd).

rubyio.h

remove FMODE_FDOPEN

2002-04-12

Fri Apr 12 12:54:04 2002 NAKAMURA Usaku <[email protected]>

win32/Makefile.sub

use missing/acosh.c.

win32/config.h.in

define HAVE_COSH, HAVE_SINH, and HAVE_TANH.

Fri Apr 12 02:58:55 2002 Koji Arai <[email protected]>

struct.c (rb_struct_select)

fix typo.

Fri Apr 12 00:34:17 2002 Nobuyoshi Nakada <[email protected]>

MANIFEST (missing/acosh.c)

added.

Makefile.in (missing/acosh.c)

ditto.

Makefile.in (missing/fileblocks.c)

ditto.

configure.in (AC_REPLACE_FUNCS)

check acosh() on behalf of inverse hyperbolic functions, asinh() and atanh().

missing/acosh.c

added for acosh(), asinh() and atanh().

2002-04-11

Thu Apr 11 20:01:44 2002 Masahiro Tomita <[email protected]>

io.c (io_write)

check error if written data is less than specified size to detect EPIPE.

Thu Apr 11 19:10:37 2002 WATANABE Hirofumi <[email protected]>

io.c (remain_size)

IO#read returns “” if file.size == 0.

random.c (rand_init)

add check for initstate(3).

configure.in

ditto.

Thu Apr 11 09:31:19 2002 Takaaki Tateishi <[email protected]>

ext/dl/ptr.c

raise() -> rb_raise(). (Thanks Tetsuya Watanabe)

ext/dl/sym.c

ditto.

Thu Apr 11 07:57:48 2002 Michal Rokos <[email protected]>

eval.c (assign)

ruby_verbose should be surrounded by RTEST().

object.c (rb_str2cstr)

ditto.

parse.y (void_expr)

ditto.

parse.y (void_stmts)

ditto.

variable.c (rb_ivar_get)

ditto.

variable.c (rb_cvar_set)

ditto.

variable.c (rb_cvar_get)

ditto.

Thu Apr 11 07:02:31 2002 Takaaki Tateishi <[email protected]>

ext/dl

Add dl.txt instead of README and README.html.

Thu Apr 11 01:55:52 2002 Wakou Aoyama <[email protected]>

lib/cgi/session.rb

support for multipart form.

2002-04-10

Wed Apr 10 18:42:23 2002 Tachino Nobuhiro <[email protected]>

dir.c (glob_helper)

should have proceed link when link->path was non existing symbolic link.

Wed Apr 10 17:30:19 2002 Yukihiro Matsumoto <[email protected]>

variable.c (rb_obj_remove_instance_variable)

raise NameError if specified instance variable is not defined.

variable.c (generic_ivar_remove)

modified to check ivar existence.

Wed Apr 10 14:16:45 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-font-lock-keywords)

fontify symbols for unary operators and aset.

2002-04-09

Tue Apr 9 13:40:31 2002 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (try_link0)

need expand macro in command, sync with ext/extmk.rb.in.

lib/mkmf.rb (try_cpp)

ditto.

lib/mkmf.rb (egrep_cpp)

ditto.

Tue Apr 9 12:44:59 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c (check_modifiable)

performance improvement. avoid calling rb_str_modify() twice.

ext/stringio/stringio.c (strio_ungetc)

ditto.

ext/stringio/stringio.c (strio_putc)

ditto.

ext/stringio/stringio.c (strio_write)

ditto, and use rb_str_cat() as possible.

Tue Apr 9 05:17:48 2002 Akinori MUSHA <[email protected]>

re.c (match_select)

fix index references and make MatchData#select actually work.

Tue Apr 9 00:20:52 2002 Yukihiro Matsumoto <[email protected]>

file.c (rb_file_s_extname)

new method based on the proposal

2002-04-08

Mon Apr 8 04:50:51 2002 Nobuyoshi Nakada <[email protected]>

eval.c (error_handle)

default to 1 unless status is set.

eval.c (ruby_options)

guard error_handle() with PROT_NONE.

eval.c (ruby_stop)

ditto.

Mon Apr 8 01:22:24 2002 Yukihiro Matsumoto <[email protected]>

math.c (math_acosh)

added. [new]

math.c (math_asinh)

ditto.

math.c (math_atanh)

ditto.

struct.c (rb_struct_each_pair)

method added. [new]

2002-04-06

Sat Apr 6 02:04:49 2002 Guy Decoux <[email protected]>

class.c (rb_singleton_class)

wrong condition; was creating unnecessary singleton class.

Sat Apr 6 01:09:41 2002 Yukihiro Matsumoto <[email protected]>

sprintf.c (remove_sign_bits)

simplifies the condition.

bignum.c (get2comp)

calculate proper carry over.

2002-04-05

Fri Apr 5 05:07:28 2002 Takaaki Tateishi <[email protected]>

ext/dl

Add dl/struct.rb.

2002-04-04

Thu Apr 4 14:08:52 2002 Takaaki Tateishi <[email protected]>

ext/dl/lib/dl/import.rb

Get rid of ineffective encoding/decoding procedures.

Thu Apr 4 01:08:23 2002 Yukihiro Matsumoto <[email protected]>

numeric.c (int_step)

step may be a float less than 1.

2002-04-03

Wed Apr 3 20:42:34 2002 Takaaki Tateishi <[email protected]>

ext/dl

Merge Nakada's patch.

ext/dl/dl.h

define StringValuePtr for ruby-1.6.

Wed Apr 3 15:37:24 2002 Takaaki Tateishi <[email protected]>

ext/dl

Add dl/types.rb.

Wed Apr 3 01:54:10 2002 Nobuyoshi Nakada <[email protected]>

ext/extmk.rb.in (enable_config)

follow lib/mkmf.rb.

2002-04-02

Tue Apr 2 19:59:13 2002 Takaaki Tateishi <[email protected]>

ext/dl

Merge from rough.

Tue Apr 2 15:17:54 2002 Yukihiro Matsumoto <[email protected]>

Makefile.in (CPPFLAGS)

remove @includedir@.

lib/mkmf.rb (create_makefile)

ditto.

ext/extmk.rb.in (create_makefile)

ditto.

Tue Apr 2 15:09:05 2002 WATANABE Hirofumi <[email protected]>

ext/socket/socket.c (sock_addrinfo)

should clear addrinfo hints.

2002-04-01

Mon Apr 1 23:48:12 2002 Takaaki Tateishi <[email protected]>

lib/mkmf.rb

install any files using $INSTALLFILES.

(see also [ruby-dev

16683])

Mon Apr 1 17:25:50 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fptr_cleanup)

need flush even when io will not be closed.

io.c (rb_io_initialize)

was calling wrong function rb_io_mode_flags().

Mon Apr 1 16:52:00 2002 Nobuyoshi Nakada <[email protected]>

ext/sdbm/init.c (each_pair)

moved prototype before the definition.

ext/racc/cparse/cparse.c (call_scaniter)

ditto.

Mon Apr 1 15:11:40 2002 NAKAMURA Usaku <[email protected]>

ext/racc/cparse/cparse.c

prototype; call_scaniter().

ext/sdbm/init.c

prototype; each_pair().

ext/tcltklib/tcltklib.c

prototypes; _timer_for_tcl() and ip_ruby(), Nobu's patch at [ruby-dev:14483].

Mon Apr 1 10:56:40 2002 Yukihiro Matsumoto <[email protected]>

re.c (match_setter)

it's OK to assign nil to $~.

Mon Apr 1 03:55:46 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fptr_cleanup)

do not close IO created by for_fd().

io.c (rb_io_initialize)

mark IO created by for_fd

ext/socket/socket.c (bsock_s_for_fd)

ditto.

2002-03-29

Fri Mar 29 20:21:58 2002 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (create_makefile)

default FLAGS to empty strings.

Fri Mar 29 16:36:52 2002 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (arg_config)

should use Shellwords::shellwords like ext/extmk.rb.in.

lib/mkmf.rb (enable_config)

default had priority over command line options and configure_args.

lib/mkmf.rb

support autoconf 2.53 style variables from environment.

lib/mkmf.rb

add directory options.

Fri Mar 29 15:49:29 2002 Usaku Nakamura <[email protected]>

win32/README.win32

follow recent changes.

Fri Mar 29 14:44:05 2002 Yukihiro Matsumoto <[email protected]>

io.c (io_fflush)

DRY patch from /Christoph applied.

2002-03-28

Thu Mar 28 18:58:13 2002 Usaku Nakamura <[email protected]>

win32/Makefile.sub (config.status)

reflect user defined $CC in config.status.

Thu Mar 28 18:03:51 2002 Minero Aoki <[email protected]>

ext/strscan/strscan.c

add taint check.

ext/strscan/strscan.c

getch/#get_byte should set regexp registers.

ext/strscan/strscan.c

remove useless include directive.

ext/strscan/strscan.c

refactor struct strscanner.

Thu Mar 28 14:51:38 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (sock_addrinfo)

should specify socktype from outside.

2002-03-27

Wed Mar 27 17:04:30 2002 Yukihiro Matsumoto <[email protected]>

io.c (argf_binmode)

should call next_argv() to initialize ARGF.

io.c (argf_filename)

ditto.

io.c (argf_file)

ditto.

Wed Mar 27 14:47:32 2002 WATANABE Hirofumi <[email protected]>

io.c (READ_DATA_PENDING)

configure.in has supported for uClibc, so remove uClibc stuff.

Wed Mar 27 13:14:43 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_sysseek)

new method based on a patch from Aristarkh A Zagorodnikov <[email protected]>. [new]

io.c (READ_DATA_PENDING)

use !feof(fp) for default behavior.

2002-03-26

Tue Mar 26 20:28:50 2002 Minero Aoki <[email protected]>

lib/net/http.rb

HTTP.get accepts URI.

lib/net/http.rb

new method HTTP.get_uri.

lib/net/http.rb

add some HTTP 1.1 response codes.

Tue Mar 26 20:25:28 2002 Minero Aoki <[email protected]>

doc/net/protocol.rd.ja, smtp.rd.ja, pop.rd.ja

removed.

MANIFEST

remove doc/net/* entries.

Tue Mar 26 18:45:15 2002 WATANABE Hirofumi <[email protected]>

configure.in (FILE_READPTR)

check bufread instead of bufend for uClibc.

ext/extmk.rb.in (arg_config)

should use Shellwords::shellwords.

Tue Mar 26 01:56:33 2002 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

while/until statement modifiers to “begin” statement now work as “do .. while” even when begin statement has “rescue” or “ensure” [new].

parse.y (bodystmt)

rescue/ensure is allowed at every bodies, i.e. method bodies, begin bodies, class bodies, and module bodies.

Tue Mar 26 14:04:47 2002 okabe katsuyuki <[email protected]>

win32/mkexports.rb

support VC++.NET.

Tue Mar 26 14:00:17 2002 Akinori MUSHA <[email protected]>

ext/bigfloat/bigfloat.c

Fix the initializer's function name according to the new library name. (pointed out by nobu)

Tue Mar 26 11:12:01 2002 Minero Aoki <[email protected]>

lib/fileutils.rb

new file.

Tue Mar 26 03:23:50 2002 Tanaka Akira <[email protected]>

lib/pp.rb (pp)

return nil like p.

Tue Mar 26 01:48:01 2002 Akinori MUSHA <[email protected]>

ext/bigfloat/extconf.rb

Downcase the library name. (BigFloat.so -> bigfloat.so)

ext/bigfloat/bigfloat.c (BigFloat_inspect)

Alter the inspect format not to look like an array. (pointed out by akr)

ext/bigfloat/bigfloat.c (BigFloat_hash)

Implement BigFloat#hash.

ext/bigfloat/bigfloat.c (BigFloat_dump, BigFloat_load)

Support marshaling.

Tue Mar 26 00:38:11 2002 Tanaka Akira <[email protected]>

configure.in (FILE_READPTR)

check _p for 4.4BSD.

2002-03-25

Mon Mar 25 22:10:04 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (sock_addrinfo)

should specify ai_socktype for getaddrinfo hints.

Mon Mar 25 17:18:48 2002 Nobuyoshi Nakada <[email protected]>

dir.c (rb_push_glob)

local variable 'maxnest' was uninitialized.

Mon Mar 25 16:53:30 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_abort)

embed aborting message into exception object [new].

eval.c (terminate_process)

utility function for exit and abort.

Mon Mar 25 23:39:25 2002 Nobuyoshi Nakada <[email protected]>

configure.in (FILE_READPTR)

new. for IO#gets improvement.

io.c (READ_DATA_PENDING_PTR)

ditto.

io.c (remain_size)

separated from read_all().

io.c (read_all)

argument changed.

io.c (appendline)

new. get a line and append to string.

io.c (swallow)

new. swallow continuous line delimiters.

io.c (rb_io_getline_fast)

add delimiter argument.

io.c (rb_io_getline)

performance improvement.

Mon Mar 25 19:30:25 2002 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in (arg_config)

get rid of single quotes for autoconf 2.53.

Mon Mar 25 17:49:41 2002 Nobuyoshi Nakada <[email protected]>

regex.c (mbc_startpos_func)

VC6 seems to be unable to understand forward declaration for static variables.

dir.c (rb_push_glob)

local variable 'maxnest' was uninitialized.

Mon Mar 25 13:24:20 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (bsock_do_not_rev_lookup_set)

should not be allowed when $SAFE > 3.

eval.c (rb_thread_ready)

THREAD_TO_KILL threads should not turn into THREAD_RUNNABLE on wakeup.

eval.c (rb_thread_list)

THREAD_TO_KILL threads should be in the list.

eval.c (thgroup_list)

ditto; by moving gid clearance from rb_thread_cleanup().

Mon Mar 25 11:06:19 2002 Nobuyoshi Nakada <[email protected]>

dln.c (dln_argv0)

unused unless USE_DLN_A_OUT.

regex.c (mbc_startpos_func)

should be static.

2002-03-24

Sun Mar 24 12:19:09 2002 Koji Arai <[email protected]>

dir.c (fnmatch)

“*/bar” (with FNM_PATHNAME flag) does not match “foo/bar”.

Sun Mar 24 00:46:05 2002 WATANABE Hirofumi <[email protected]>

util.c (push_element)

avoid warning for djgpp.

2002-03-23

Sat Mar 23 01:50:30 2002 Yukihiro Matsumoto <[email protected]>

io.c (read_all)

files on /proc filesystem with zero stat size, may have contents.

2002-03-22

Fri Mar 22 18:07:29 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (tcp_s_gethostbyname)

refactored.

ext/socket/socket.c (sock_s_gethostbyname)

ditto.

Fri Mar 22 16:46:54 2002 Minero Aoki <[email protected]>

ext/extmk.rb.in

replace mkdir with mkpath to compile racc/cparse.

Fri Mar 22 16:22:55 2002 Yukihiro Matsumoto <[email protected]>

Fri Mar 22 16:27:24 2002 Minero Aoki <[email protected]>

lib/racc/parser.rb

new file.

ext/racc/MANIFEST, cparse.c, depend, extconf.rb

new files.

lib/README

add racc/parser.rb.

ext/Setup*

add racc/cparse.

Fri Mar 22 15:04:03 2002 Yukihiro Matsumoto <[email protected]>

eval.c (exec_under)

changing ruby_class is OK, but should not alter cbase.

eval.c (yield_under_i)

ditto.

Fri Mar 22 15:44:38 2002 Minero Aoki <[email protected]>

ext/strscan/MANIFEST, strscan.c, depend, extconf.rb

new files.

ext/Setup*

add strscan entry.

Fri Mar 22 14:32:14 2002 Minero Aoki <[email protected]>

lib/net/protocol.rb

Protocol#start should return self.

Fri Mar 22 14:14:21 2002 Tanaka Akira <[email protected]>

lib/resolv.rb

fix arguments to create exceptions. Patch from [email protected]. (ruby-bugs:PR#278)

Fri Mar 22 13:51:11 2002 Akinori MUSHA <[email protected]>

ext/bigfloat/.cvsignore, ext/bigfloat/MANIFEST

BigFloat 1.1.8 has been imported. Add .cvsignore and MANIFEST.

Fri Mar 22 04:07:55 2002 Koji Arai <[email protected]>

sprintf.c (rb_f_printf)

discard meaningless prefix “..” for '%u'.

2002-03-21

Thu Mar 21 01:11:37 2002 Usaku Nakamura <[email protected]>

win32/Makefile.sub (config.status)

fix install path (prefix).

Thu Mar 21 01:03:05 2002 Nobuyoshi Nakada <[email protected]>

ext/configsub.rb

latest autoconf style support.

2002-03-20

Wed Mar 20 22:16:25 2002 Usaku Nakamura <[email protected]>

mkconfig.rb

close duplicated $stdout before renaming rbconfig.rb.

Wed Mar 20 21:54:17 2002 Nobuyoshi Nakada <[email protected]>

win32/Makefile.sub

made variables configurable.

win32/Makefile.sub (config.h)

updates RUBY_PLATFORM from Makefile.

win32/Makefile.sub (config.status)

ditto. and use recent autoconf format.

win32/Makefile.sub (clean)

separate ext and local clean up.

win32/Makefile.sub (distclean)

ditto.

win32/config.status.in

no longer used.

Wed Mar 20 20:12:35 2002 Nobuyoshi Nakada <[email protected]>

variable.c (rb_const_list)

a temporary table must be freed.

Wed Mar 20 19:44:09 2002 Tanaka Akira <[email protected]>

mkconfig.rb

don't touch rbconfig.rb if there is a trouble.

Wed Mar 20 16:05:37 2002 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

should check receiver only once.

eval.c (is_defined)

should handle NODE_NEWLINE.

Wed Mar 20 11:29:25 2002 Aristarkh A Zagorodnikov <[email protected]>

file.c (rb_file_s_expand_path)

memory leak fixed.

Wed Mar 20 00:36:43 2002 Akinori MUSHA <[email protected]>

util.c (ruby_getcwd)

the content of buf is uncertain and must not be printed when getcwd(buf, size) has failed.

2002-03-18

Mon Mar 18 22:19:52 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c (check_modifiable)

wrong declaration.

Mon Mar 18 18:04:05 2002 Nobuyoshi Nakada <[email protected]>

ext/digest

add depend file.

ext/digest/md5

ditto.

ext/digest/rmd160

ditto.

ext/digest/sha1

ditto.

ext/digest/sha2

ditto.

ext/iconv/MANIFEST

ditto.

ext/stringio/MANIFEST

ditto.

ext/syslog

ditto.

Mon Mar 18 17:18:06 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_f_abort)

should not bypass cleanup.

ext/stringio/stringio.c (check_modifiable)

void function.

Mon Mar 18 12:52:01 2002 WATANABE Hirofumi <[email protected]>

ext/iconv/extconf.rb

workaround for GNU libiconv.

Mon Mar 18 10:55:03 2002 Nobuyoshi Nakada <[email protected]>

parse.y (parse_string)

part of multi-byte sequence must not match to paren.

parse.y (parse_qstring)

ditto.

parse.y (parse_quotedwords)

ditto.

parse.y (str_extend)

handle multi-byte characters.

Mon Mar 18 10:31:20 2002 Nobuyoshi Nakada <[email protected]>

enum.c (enum_find)

catch a value before recycle.

enum.c (enum_all)

ditto.

enum.c (enum_any)

ditto.

enum.c (enum_min)

ditto.

enum.c (enum_max)

ditto.

2002-03-17

Sun Mar 17 20:08:04 2002 Nobuyoshi Nakada <[email protected]>

ext/iconv/depend

added.

ext/stringio/depend

added.

2002-03-16

Sat Mar 16 22:43:53 2002 WATANABE Hirofumi <[email protected]>

missing/fileblocks.c

add for autoconf.

Sat Mar 16 15:30:40 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_search)

should clear last_match if pos is out of string range.

string.c (rb_str_index_m)

ditto.

string.c (rb_str_rindex)

ditto.

Sat Mar 16 09:04:58 2002 Koji Arai <[email protected]>

enum.c (enum_inject)

use the first iterated element as the initial value when omitted.

enum.c (inject_i)

ditto.

enum.c (Init_Enumerable)

Enumerable#inject now takes variable count arguments.

2002-03-15

Fri Mar 15 19:47:31 2002 Nobuyoshi Nakada <[email protected]>

win32/win32.c (StartSockets)

remove duplicated lines.

Fri Mar 15 17:44:08 2002 Usaku Nakamura <[email protected]>

bignum.c, intern.h (rb_ull2big, rb_ll2big, rb_ull2inum, rb_ll2inum, big2ull, rb_big2ull, rb_big2ll)

use LONG_LONG macro instead of long long.

numeric.c, intern.h, ruby.h (rb_num2ll, rb_num2ull)

ditto.

ruby.h

use _I64_MAX and _I64_MIN if they are defined (for VC++).

Fri Mar 15 14:02:43 2002 Nobuyoshi Nakada <[email protected]>

ext/iconv/iconv.c

fixed document, Iconv#new is no longer an iterator. thanks to Tanaka Akira <[email protected]>.

2002-03-14

Thu Mar 14 22:17:45 2002 Nobuyoshi Nakada <[email protected]>

ext/iconv

imported.

Thu Mar 14 16:42:37 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_define_class)

should handle autoload.

class.c (rb_define_module)

ditto.

Thu Mar 14 16:18:12 2002 WATANABE Hirofumi <[email protected]>

configure.in

autoconf 2.53 support. use AC_LIBOBJ.

Thu Mar 14 00:29:12 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_match)

should clear $~ if operand is nil.

re.c (rb_reg_match2)

ditto.

Thu Mar 14 12:32:59 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio/stringio.c

fixed frozen string bug. ungetc no longer raises on readonly stream unless modifies actually.

Thu Mar 14 08:57:41 2002 Nobuyoshi Nakada <[email protected]>

dir.c (rb_push_glob)

avoid SEGV when a block given.

Thu Mar 14 00:16:02 2002 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_subpat_set)

must make str independent after rb_reg_search() matched.

2002-03-13

Wed Mar 13 19:05:15 2002 Akinori MUSHA <[email protected]>

dir.c

FNM_PERIOD is obsoleted and FNM_DOTMATCH is introduced instead, which has the opposite meaning of FNM_PERIOD.

dir.c

Dir::glob now accepts optional FNM_* flags via the second argument, whereas Dir::[] doesn't.

Wed Mar 13 18:36:55 2002 Akinori MUSHA <[email protected]>

lib/getopts.rb

single_options can be nil, and is not not optional. ([*]Pointed out by gotoken)

Wed Mar 13 17:23:46 2002 Yukihiro Matsumoto <[email protected]>

configure

merge Jonathan Baker's large file support patch [ruby-talk:35316], with read_all patch in [ruby-talk:35470].

Wed Mar 13 04:06:48 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_abort)

optional message argument that be printed on termination.

2002-03-12

Tue Mar 12 17:12:06 2002 Tanaka Akira <[email protected]>

lib/resolv.rb

don't complete domains for absolute FQNs.

2002-03-11

Mon Mar 11 23:08:48 2002 Tanaka Akira <[email protected]>

lib/tsort.rb

new file.

Mon Mar 11 21:03:37 2002 Nobuyoshi Nakada <[email protected]>

ext/stringio

new.

Mon Mar 11 18:03:37 2002 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

'0111' should be '011' plus '1', since octal literals are formed by three digits at most.

Mon Mar 11 14:44:38 2002 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

module inclusion using extend() should also be detected.

eval.c (rb_eval_cmd)

cbase should not be NULL; it should be either ruby_wrapper or Object.

2002-03-10

Sun Mar 10 02:18:22 2002 Koji Arai <[email protected]>

enum.c (enum_each_with_index)

should return self.

process.c (proc_setpgrp)

should return value for non-void function.

process.c (proc_getpgid)

should raise exception if getpgid() return -1.

string.c (rb_str_ljust)

should return a duplicated string.

string.c (rb_str_rjust)

ditto.

string.c (rb_str_center)

ditto.

2002-03-09

Sat Mar 9 08:45:58 2002 Tanaka Akira <[email protected]>

ext/socket/extconf.rb (have_struct_member)

don't print checked result.

2002-03-08

Fri Mar 8 12:19:15 2002 Tanaka Akira <[email protected]>

lib/resolv.rb

use its own thread group for background threads.

Fri Mar 8 02:21:32 2002 Yukihiro Matsumoto <[email protected]>

eval.c (cvar_cbase)

utility function to find innermost non singleton cbase.

eval.c (is_defined)

adopt new cvar behavior.

eval.c (rb_eval)

ditto.

eval.c (assign)

ditto.

2002-03-07

Thu Mar 7 20:08:25 2002 Nobuyoshi Nakada <[email protected]>

gc.c (rb_source_filename)

added. holds unique strings for file names with GC space.

gc.c (rb_gc_mark)

mark source file name.

gc.c (gc_sweep)

ditto.

gc.c (Init_GC)

initialize source file name table.

intern.h (rb_source_filename)

added.

eval.c (rb_eval_string)

use rb_source_filename().

parse.y (yycompile)

ditto.

ruby.c (proc_options)

ditto.

ruby.c (load_file)

ditto.

ruby.c (ruby_script)

ditto.

ruby.c (ruby_prog_init)

ditto.

2002-03-06

Wed Mar 6 17:58:08 2002 WATANABE Hirofumi <[email protected]>

dln.c (dln_load)

use LoadLibrary instead of LoadLibraryEx.

Wed Mar 6 16:50:37 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_mod_clone)

should not call rb_obj_clone(), since Module does not provide “allocate”.

class.c (rb_singleton_class)

should create new singleton class if obj is a class or module and attached object is different, which means metaclass of singleton class is sought.

time.c (time_s_alloc)

now follows allocation framework.

2002-03-05

Tue Mar 5 05:56:29 2002 Akinori MUSHA <[email protected]>

lib/getopts.rb

Rewrite to fix some bugs and complete features. - Accept options with the colon in the first argument; getopts(“a:bcd:”) is equivalent to getopts(“bc”, “a:”, “d:”). - Do not discard the argument that caused an error. - Do not discard '-', which commonly stands for stdin or stdout. - Allow specifying a long option with a value using '='.

2002-03-04

Mon Mar 4 13:19:18 2002 Akinori MUSHA <[email protected]>

ext/extmk.rb.in (dir_config)

Sync with mkmf.rb: Fix a bug where –with-xx-{include,lib} is ignored when –with-xx-dir is specified.

Mon Mar 4 00:09:55 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should initialize outer class variables from methods in singleton class definitions.

eval.c (assign)

ditto.

2002-03-01

Fri Mar 1 11:29:10 2002 WATANABE Hirofumi <[email protected]>

ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror)

add const qualifier only for uClibc.

Fri Mar 1 11:22:51 2002 Amos Gouaux <[email protected]>

lib/net/imap.rb

added document.

lib/net/imap.rb (getquotaroot)

new method.

lib/net/imap.rb (setacl)

remove the rights if the rights parameter is nil.

lib/net/imap.rb (getacl)

return an array of MailboxACLItem.

Fri Mar 1 06:25:49 2002 Tanaka Akira <[email protected]>

ext/socket/extconf.rb (have_struct_member)

new method. check msg_control and msg_accrights in struct msghdr. check sys/uio.h.

ext/socket/socket.c

include sys/uio.h if available.

(thread_read_select)

new function.

(unix_send_io)

ditto.

(unix_recv_io)

ditto.

(unix_s_socketpair)

ditto.

(Init_socket)

define UNIXSocket#send_io, UNIXSocket#recv_io, UNIXSocket.socketpair and UNIXSocket.pair.

dln.c (dln_load)

fix typo.

2002-02-27

Wed Feb 27 16:30:50 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_include)

load modules in argument order.

st.c (st_init_table_with_size)

num_bins should be prime numbers

st.c (rehash)

ditto.

Wed Feb 27 13:18:49 2002 WATANABE Hirofumi <[email protected]>

io.c (READ_DATA_PENDING)

uClibc support.

random.c (rand_init)

ditto.

ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror)

ditto.

Wed Feb 27 07:05:17 2002 Akinori MUSHA <[email protected]>

ext/digest/sha2/sha2.c

Merge from rough. Fix a couple of off-by-one errors in Aaron Gifford's code. Obtained from: KAME via FreeBSD KAME PR: 393 FreeBSD PR: kern/34242

Wed Feb 27 03:36:47 2002 Koji Arai <[email protected]>

ext/dbm/dbm.c (fdbm_select)

1.7 behavior.

ext/gdbm/gdbm.c (fgdbm_select)

ditto.

ext/sdbm/sdbm.c (fsdbm_select)

ditto.

ext/dbm/dbm.c (fdbm_delete)

adopt Hash#delete behavior.

ext/sdbm/sdbm.c (fsdbm_delete)

ditto.

ext/gdbm/gdbm.c

need not to dup key to the block.

ext/sdbm/sdbm.c

replace RuntimeError with SDBMError.

2002-02-26

Tue Feb 26 21:34:07 2002 Usaku Nakamura <[email protected]>

bignum.c (rb_big_2comp)

void function cannot return any value.

Tue Feb 26 16:52:12 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_missing)

NoMethod error messages for true, false, nil must respond visibility like for other objects.

Tue Feb 26 15:41:30 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

call trace_func for if/while conditions.

marshal.c (r_object)

separate r_regist from proc calling.

Tue Feb 26 11:25:50 2002 akira yamada <[email protected]>

lib/uri/generic.rb

merge0 should return [oth, oth] if oth is absolute URI.

lib/uri/generic.rb

registry part must not be allowed for any schemes for the Internet. (RFC2396, section 3.2.2 and 3.2.1.)

2002-02-25

Mon Feb 25 21:22:41 2002 Akinori MUSHA <[email protected]>

ext/syslog/syslog.c

Merge from rough. Use SafeStringValue().

Mon Feb 25 21:12:08 2002 Akinori MUSHA <[email protected]>

ext/syslog/syslog.c

Merge from rough. Turn Syslog into a module keeping backward compatibility intact.

Mon Feb 25 19:35:48 2002 Nobuyoshi Nakada <[email protected]>

sample/test.rb (system)

test with scripts under the source directory.

Mon Feb 25 15:14:01 2002 Yukihiro Matsumoto <[email protected]>

eval.c (method_inspect)

should not dump core for unbound singleton methods.

object.c (rb_mod_to_s)

better description.

Mon Feb 25 13:32:13 2002 Nobuyoshi Nakada <[email protected]>

lib/shell.rb (Shell::expand_path)

relative to @cwd.

Mon Feb 25 06:30:11 2002 Koji Arai <[email protected]>

hash.c (env_select)

should path the assoc list.

2002-02-24

Sun Feb 24 17:20:22 2002 Akinori MUSHA <[email protected]>

ext/digest//.h

Merge from rough. - Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.)

2002-02-23

Sat Feb 23 21:12:13 2002 Yukihiro Matsumoto <[email protected]>

process.c (rb_syswait)

thread kludge; should be fixed to support native thread.

2002-02-22

Fri Feb 22 21:20:53 2002 Minero Aoki <[email protected]>

lib/net/protocol.rb

set read_timeout dynamically.

lib/net/http.rb

@@newimpl is always true in the main trunk.

lib/net/http.rb

HTTP.port -> default_port

lib/net/http.rb

HTTPResponse.read_response_status -> read_status_line

Fri Feb 22 19:56:15 2002 Usaku Nakamura <[email protected]>

win32/config.status.in

set LIBRUBY_SO.

Fri Feb 22 03:34:38 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (get2comp)

need to specify to carry or not.

io.c (rb_io_inspect)

embed path info.

Fri Feb 22 11:30:01 2002 Tanaka Akira <[email protected]>

lib/prettyprint.rb

FillGroup implemented.

2002-02-21

Thu Feb 21 21:40:18 2002 Usaku Nakamura <[email protected]>

ext/extmk.rb.in (create_makefile)

remove unnecessary -L option from LIBS macro.

Thu Feb 21 02:49:12 2002 Koji Arai <[email protected]>

pack.c (pack_pack)

wrong # comment treatment.

pack.c (pack_unpack)

ditto.

2002-02-20

Wed Feb 20 15:15:03 2002 Nobuyoshi Nakada <[email protected]>

intern.h

prototypes; rb_io_addstr(), rb_io_printf(), rb_io_print(), rb_io_puts()

io.c (rb_io_addstr)

make extern.

io.c (rb_io_printf)

ditto.

io.c (rb_io_print)

ditto.

io.c (rb_io_puts)

ditto.

Wed Feb 20 13:41:35 2002 Usaku Nakamura <[email protected]>

io.c (rb_io_close)

return Qnil.

Wed Feb 20 12:41:59 2002 Yukihiro Matsumoto <[email protected]>

hash.c (rb_any_cmp)

should handle Qundef in keys.

eval.c (remove_method)

should not remove a empty method to implement “undef”.

eval.c (rb_eval)

should allow singleton class def for true/false/nil.

2002-02-19

Tue Feb 19 21:43:32 2002 Minero Aoki <[email protected]>

lib/net/protocol.rb

rename Protocol.port to default_port.

lib/net/smtp.rb

ditto.

lib/net/pop.rb

ditto.

lib/net/http.rb

ditto.

lib/net/protocol.rb

rename BufferedSocket class to InternetMessageIO.

lib/net/smtp.rb

ditto.

lib/net/pop.rb

ditto.

lib/net/http.rb

ditto.

lib/net/protocol.rb

rename InternetMessageIO#write_pendstr to write_message.

lib/net/smtp.rb

ditto.

lib/net/protocol.rb

new method InternetMessageIO#through_message.

lib/net/smtp.rb

ditto.

lib/net/protocol.rb

rename InternetMessageIO#read_pendstr to read_message_to.

lib/net/pop.rb

ditto.

lib/net/protocol.rb

rename InternetMessageIO#read_pendlist to each_list_item

lib/net/pop.rb

ditto.

lib/net/protocol.rb

Now block size is 1024.

lib/net/smtp.rb

new methods SMTP#esmtp? and esmtp=.

lib/net/http.rb

Using singleton method syntax instead of singleton class clause, to avoid behavior change of class variables in ruby 1.7.

lib/net/http.rb

HTTPResponse class does not inherit from Net::Response.

lib/net/http.rb

divide HTTP#connecting into {begin,end}_transport.

lib/net/http.rb

unused class Accumulator removed.

lib/net/http.rb

Net::HTTP reads response. not HTTPRequest.

lib/net/http.rb

proxy related class-instance-variables are not initialized correctly.

Tue Feb 19 20:20:12 2002 Ed Sinjiashvili <[email protected]>

parse.y (str_extend)

backslash escape was done wrong.

Tue Feb 19 17:10:25 2002 Nobuyoshi Nakada <[email protected]>

file.c (path_check_1)

do not fail on world writable parent directories too.

Tue Feb 19 15:51:41 2002 Yukihiro Matsumoto <[email protected]>

file.c (path_check_1)

do not warn on world writable parent directories.

class.c (rb_include_module)

should preserve ancestor order in the included class/module.

Tue Feb 19 14:45:32 2002 Yukihiro Matsumoto <[email protected]>

file.c (path_check_1)

should check directory sticky bits.

process.c (security)

need not to warn twice.

marshal.c (r_object)

complete restoration before calling r_regist().

Tue Feb 19 14:24:36 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

operators in the “op” rule should make lex_state EXPR_ARG on EXPR_FNAME and EXPR_DOT.

Tue Feb 19 13:38:10 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval_string_wrap)

should hide the toplevel local variable bindings by PUSH_SCOPE().

Tue Feb 19 13:21:51 2002 WATANABE Hirofumi <[email protected]>

regex.c

fix prototypes of xmalloc(), xcalloc() and xrealloc().

Tue Feb 19 13:16:08 2002 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_ungetc)

don't fail pushed EOF back.

2002-02-18

Mon Feb 18 20:48:40 2002 Nobuyoshi Nakada <[email protected]>

pack.c (pack_pack)

avoid infinite loop at comment.

pack.c (pack_unpack)

ditto.

Mon Feb 18 14:06:28 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-block-hanging-re)

rescue block was too indented.

Mon Feb 18 13:56:44 2002 Yukihiro Matsumoto <[email protected]>

parse.y (expr_value, arg_value, primary_value)

value_expr() check in place.

eval.c (block_pass)

“&nil” should clear block given.

Mon Feb 18 02:05:56 2002 Wolfgang Jahrling <[email protected]>

dir.c (push_braces)

remove MAXPATHLEN dependency.

dir.c (dir_s_globd)

ditto.

dln.c (init_funcname)

ditto.

dln.c (load_1)

ditto.

dln.c (dln_load)

ditto.

configure.in

add GNU/Hurd switches.

2002-02-17

Sun Feb 17 23:41:37 2002 Nobuyoshi Nakada <[email protected]>

mkconfig.rb (Config::expand)

expand ${} too.

ext/extmk.rb.in (try_link0)

expand command.

ext/extmk.rb.in (try_cpp)

ditto.

ext/extmk.rb.in (extmake)

default $LIBPATH to $libdir

Sun Feb 17 21:39:24 2002 Tetsuya Watanabe <[email protected]>

ext/digest/md5/md5init.c (Init_md5)

rb_cvar_declare() is replaced by rb_cvar_set().

ext/digest/rmd160/rmd160init.c (Init_rmd160)

ditto.

ext/digest/sha1/sha1init.c (Init_sha1)

ditto.

ext/digest/sha2/sha2init.c (Init_sha2)

ditto.

Sun Feb 17 18:10:09 2002 Nobuyoshi Nakada <[email protected]>

class.c (rb_define_class)

warn unless superclass is specified explicitly.

class.c (rb_define_class_under)

ditto.

2002-02-16

Thu Feb 16 02:11:08 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-font-lock-keywords)

fontify instance/class/global variables start with '_'.

2002-02-15

Fri Feb 15 17:44:26 2002 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

allows comment in template strings.

pack.c (pack_unpack)

ditto.

Fri Feb 15 14:40:38 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

replace rb_cvar_declare() by rb_cvar_set().

eval.c (assign)

ditto.

variable.c (rb_cvar_set)

4th argument (warn) added; define new class variable if it's not defined yet.

variable.c (rb_cvar_declare)

removed.

Fri Feb 15 13:36:58 2002 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_rshift)

should properly convert the negative value to 2's compliment.

2002-02-14

Thu Feb 14 17:38:35 2002 Nobuyoshi Nakada <[email protected]>

parse.y

avoid SEGV at OP_ASIGN to pseudo variable.

Thu Feb 14 14:13:16 2002 Yukihiro Matsumoto <[email protected]>

struct.c (Init_Struct)

should undefine “allocate” for Struct class (it's redefined in the subclasses).

2002-02-13

Wed Feb 13 17:58:12 2002 Yukihiro Matsumoto <[email protected]>

parse.y (stmt)

local variable declaration order was changed since 1.6

parse.y (arg)

ditto.

pack.c (pack_pack)

add templates 'q' and 'Q'.

pack.c (pack_unpack)

ditto.

bignum.c (rb_quad_pack)

new utility function.

bignum.c (rb_quad_unpack)

ditto.

2002-02-12

Tue Feb 12 01:21:34 2002 Yukihiro Matsumoto <[email protected]>

parse.y (assignable)

should emit CVASGN within the method body.

2002-02-11

Mon Feb 11 06:13:53 2002 Matt Armstrong <[email protected]>

dir.c (dir_s_glob)

should not warn even if no match found.

Mon Feb 11 04:25:54 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

clean up class variable behavior.

eval.c (assign)

ditto.

eval.c (is_defined)

ditto.

variable.c (rb_mod_class_variables)

need not to call rb_cvar_singleton().

variable.c (rb_cvar_singleton)

removed.

Mon Feb 11 00:10:41 2002 Nobuyoshi Nakada <[email protected]>

regex.c (re_compile_fastmap)

skip begpos.

2002-02-10

Sun Feb 10 16:52:53 2002 Nobuyoshi Nakada <[email protected]>

ruby.c (load_file)

avoid SEGV on '#' only input.

2002-02-08

Fri Feb 8 23:07:23 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

singleton check should be moved from yycompile to here.

eval.c (is_defined)

check should be added here too.

Fri Feb 8 05:31:48 2002 Minero Aoki <[email protected]>

lib/net/http.rb

HTTP.Proxy should use self for proxy-class's super class.

lib/net/http.rb

initialize HTTP.proxy_port by HTTP.port.

Fri Feb 8 01:27:33 2002 Yukihiro Matsumoto <[email protected]>

parse.y (yycompile)

should inherit “in_single” if eval happened in a singleton method.

eval.c (rb_eval)

class variables from singleton methods defined within singleton class statement should work like ones defined by singleton def statements.

2002-02-07

Thu Feb 7 13:44:08 2002 akira yamada <[email protected]>

uri/common.rb (URI::join)

new method.

uri/generic.rb (Generic#merge)

URI.parse(“a/”)+“b” should return “a/b” but it returned “a//b”.

uri/generic.rb (Generic#check_path)

corrected error message, @path -> v

Thu Feb 7 00:18:43 2002 Yukihiro Matsumoto <[email protected]>

io.c (io_write)

flag when buffered write is done.

io.c (fptr_finalize)

do not raise error on EBADF if write buffer is empty.

2002-02-06

Wed Feb 6 17:18:54 2002 Nobuyoshi Nakada <[email protected]>

configure.in

keep old config.h unless changed.

Wed Feb 6 13:28:53 2002 Amos Gouaux <[email protected]>

lib/net/imap.rb

OpenSSL support.

lib/net/imap.rb (setquota)

unset quota if the second argument is nil.

Wed Feb 6 13:05:11 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_readlines)

avoid calling GetOpenFile() repeatedly.

io.c (rb_io_each_line)

ditto.

io.c (argf_getline)

ditto.

process.c

should include <time.h> to get proper CLK_TCK.

Wed Feb 6 02:10:30 2002 Nobuyoshi Nakada <[email protected]>

io.c (fptr_finalize)

ignore EBADF when f and f2 use same descriptor.

2002-02-05

Tue Feb 5 16:17:20 2002 Yukihiro Matsumoto <[email protected]>

io.c (fptr_finalize)

should raise error when fclose fails.

eval.c (method_inspect)

proper output format to distinguish methods and singleton methods.

2002-02-04

Mon Feb 4 22:44:58 2002 Nobuyoshi Nakada <[email protected]>

file.c (rb_file_s_expand_path)

should terminate.

Mon Feb 4 15:38:29 2002 Yukihiro Matsumoto <[email protected]>

object.c (rb_class_real)

should not follow ICLASS link

variable.c (classname)

should follow ICLASS link explicitly.

eval.c (rb_call)

ditto.

2002-02-01

Fri Feb 1 19:10:04 2002 Nobuyoshi Nakada <[email protected]>

intern.h

prototypes for new functions; rb_cstr_to_inum(), rb_str_to_inum(), rb_cstr_to_dbl(), rb_str_to_dbl()

bignum.c (rb_cstr_to_inum)

changed from rb_cstr2inum(), and added argument badcheck to be consistent with parser. [new]

bignum.c (rb_str_to_inum)

ditto.

bignum.c (rb_cstr2inum)

wrapper of rb_cstr_to_inum() now.

bignum.c (rb_str2inum)

ditto.

object.c (rb_cstr_to_dbl)

float number parser. [new]

object.c (rb_str_to_dbl)

ditto.

object.c (rb_Float)

use rb_cstr_to_dbl() for strict check.

object.c (rb_Integer)

use rb_str_to_inum() for strict check.

string.c (rb_str_to_f)

use rb_str_to_dbl() with less check.

string.c (rb_str_to_i)

use rb_str_to_inum() with less check.

string.c (rb_str_hex)

ditto.

string.c (rb_str_oct)

ditto.

sprintf.c (rb_f_sprintf)

ditto.

time.c (obj2long)

ditto.

parse.y (yylex)

use rb_cstr_to_inum() for strict check.

Fri Feb 1 17:46:39 2002 Nobuyoshi Nakada <[email protected]>

regex.c (mbc_startpos)

become macro.

regex.c (euc_startpos)

added for improvement.

regex.c (sjis_startpos)

ditto.

regex.c (utf8_startpos)

ditto.

Fri Feb 1 00:03:30 2002 Yukihiro Matsumoto <[email protected]>

file.c (rb_stat_inspect)

print dev, rdev in hexadecimal.

2002-01-31

Thu Jan 31 20:45:33 2002 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (dir_config)

prior –with flag.

lib/mkmf.rb (arg_config)

avoid special variables for font-lock-mode.

Thu Jan 31 13:22:36 2002 Tanaka Akira <[email protected]>

lib/pp.rb (File::Stat#pretty_print)

print rdev_major and rdev_minor.

2002-01-30

Wed Jan 30 15:58:04 2002 K.Kosako <[email protected]>

regex.c (re_adjust_startpos)

fix for SJIS and UTF-8.

regex.c (mbc_startpos)

ditto.

Wed Jan 30 13:37:05 2002 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_search)

should set regs.allocated.

Wed Jan 30 02:25:38 2002 Nobuyoshi Nakada <[email protected]>

regex.c (re_adjust_startpos)

search start of multibyte backward.

regex.c (mbc_startpos)

ditto.

2002-01-29

Tue Jan 29 17:59:20 2002 Tanaka Akira <[email protected]>

file.c

`major' and `minor' macro needs sys/mkdev.h on SunOS 5.x.

configure.in

add check for `sys/mkdev.h'.

lib/pp.rb

don't print a mode File::Stat as decimal number.

2002-01-28

Mon Jan 28 19:16:58 2002 Nobuyoshi Nakada <[email protected]>

array.c (rb_ary_fill)

shouldn't yield unless block given.

Mon Jan 28 18:33:18 2002 Nobuyoshi Nakada <[email protected]>

parse.y (yylex)

strict check for numbers.

Mon Jan 28 18:01:01 2002 Yukihiro Matsumoto <[email protected]>

file.c (rb_stat_rdev_major)

added. [new]

file.c (rb_stat_rdev_minor)

added. [new]

file.c (rb_stat_inspect)

print mode in octal.

Mon Jan 28 13:29:41 2002 K.Kosako <[email protected]>

eval.c (is_defined)

defined?(Foo::Baz) should check constants only, no methods.

eval.c (is_defined)

should not dump core on defined?(a::b) where a is not a class nor a module.

Mon Jan 28 02:50:12 2002 Yukihiro Matsumoto <[email protected]>

object.c (Init_Object)

remove dup and clone from TrueClass, FalseClass, and NilClass.

array.c (rb_ary_fill)

Array#fill takes block to get the value to fill.

2002-01-26

Sat Jan 26 20:05:18 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_to_i)

to_i(0) auto-detects base radix.

array.c (rb_ary_initialize)

fill by the block evaluation value if block is given.

2002-01-25

Fri Jan 25 17:48:43 2002 WATANABE Hirofumi <[email protected]>

configure.in (solaris)

add '-shared' only for GNU ld.

Fri Jan 25 17:16:23 2002 Yukihiro Matsumoto <[email protected]>

class.c (rb_include_module)

detect cyclic module inclusion.

Fri Jan 25 02:17:56 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_cleanup)

need not to free thread stacks at process termination.

array.c (rb_ary_fetch)

use the block to get the default value if the block is given.

eval.c (rb_thread_schedule)

should check time only if BOTH WAIT_SELECT and WAIT_TIME.

2002-01-24

Thu Jan 24 11:49:05 2002 Yukihiro Matsumoto <[email protected]>

eval.c (umethod_bind)

should update rklass field.

hash.c (rb_hash_update)

if a block is given, yields [key, value1, value2] to the block to resolve conflict.

Thu Jan 24 05:42:01 2002 Koji Arai <[email protected]>

string.c (rb_str_split_m)

no need to consider KANJI characters, if the length of separator is 1 (byte).

2002-01-23

Wed Jan 23 16:07:31 2002 Yukihiro Matsumoto <[email protected]>

array.c (Init_Array)

remove Array#filter.

Wed Jan 23 13:27:44 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_yield_0)

restore source file/line after yield.

Wed Jan 23 02:00:14 2002 Yukihiro Matsumoto <[email protected]>

object.c (rb_mod_initialize)

should accept zero argument.

object.c (rb_mod_cmp)

should raise ArgumentError if inheritance/inclusion relation between two classes/modules is not defined. [new]

2002-01-22

Tue Jan 22 17:45:23 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fsync)

new method. [new]

2002-01-21

Mon Jan 21 22:57:18 2002 Nobuyoshi Nakada <[email protected]>

signal.c (ruby_signal)

must define sighandler_t for every occasion.

Mon Jan 21 08:25:30 2002 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_stop)

should not trace error handler.

signal.c (install_sighandler)

do not install sighandler unless the old value is SIG_DFL.

io.c (io_write)

should not raise exception on O_NONBLOCK io.

dir.c (dir_set_pos)

seek should return dir, pos= should not.

2002-01-19

Sat Jan 19 02:31:45 2002 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

need not to clear method cache for NODE_CLASS, NODE_SCLASS.

gc.c (obj_free)

need not to clear method cache on class/module finalization.

2002-01-18

Fri Jan 18 23:38:03 2002 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_fetch)

index out of range raises exception unless optional second argument is specified.

Fri Jan 18 17:32:09 2002 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_s_new)

block check moved from initialize to this method.

io.c (rb_io_s_open)

open should call initialize too. IO#for_fd also calls initialize. [new]

Fri Jan 18 10:26:33 2002 Yukihiro Matsumoto <[email protected]>

error.c (rb_sys_fail)

replace INT2FIX() by INT2NUM() since errno value may not fit in Fixnum size on Hurd.

error.c (set_syserr)

ditto.

Fri Jan 18 10:12:00 2002 Usaku Nakamura <[email protected]>

ext/socket/socket.c (tcp_svr_s_open)

fix typo.

Fri Jan 18 02:27:48 2002 Yukihiro Matsumoto <[email protected]>

dir.c (dir_s_glob)

returns nil if block given.

io.c (rb_io_each_byte)

should return self.

io.c (rb_io_close_m)

close check added.

dir.c (dir_seek)

should return pos.

Fri Jan 18 01:21:53 2002 Yukihiro Matsumoto <[email protected]>

parse.y (fixpos)

orig may be (NODE*)1, which should not be dereferenced.

2002-01-17

Thu Jan 17 16:21:42 2002 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

allow “retry” from within argument passed block. [new]

eval.c (localjump_error)

should preserve exit status in the exception object. [new]

eval.c (proc_invoke)

should raise exception for “break” if it's yielding, not calling. [new]

eval.c (block_pass)

should NOT raise exception for “break”. [new]

eval.c (block_pass)

should allow block argument relay even in the tainted mode.

Thu Jan 17 09:43:05 2002 TAKAHASHI Kaoru <[email protected]>

misc/ruby-mode.el (ruby-add-log-current-method)

New function for `add-log-current-defun-function'.

Thu Jan 17 04:51:48 2002 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c

support subclassing by proper “initialize” calling convention. [new]

2002-01-16

Wed Jan 16 18:25:08 2002 Yukihiro Matsumoto <[email protected]>

st.c

primes should be primes.

Wed Jan 16 12:29:14 2002 Tanaka Akira <[email protected]>

lib/timeout.rb (timeout)

new optional argument to specify an exception class.

lib/resolv.rb

use Resolv::ResolvTimeout for internal timeout to avoid problem with timeout of application.

Wed Jan 16 11:12:30 2002 Nobuyoshi Nakada <[email protected]>

object.c (rb_Float)

remove underscores between digits.

bignum.c (rb_cstr2inum)

reject prefix followed by spaces only.

class.c (rb_class_inherited)

should use Object when no super class.

2002-01-15

Tue Jan 15 01:11:44 2002 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

method defined? check should honor protected too.

2002-01-14

Mon Jan 14 13:06:02 2002 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

should not pass tainted block, if $SAFE > 0.

2002-01-13

Sun Jan 13 09:31:41 2002 Koji Arai <[email protected]>

variable.c (rb_mod_remove_cvar)

should pass the char*.

2002-01-11

Fri Jan 11 05:06:25 2002 Nobuyoshi Nakada <[email protected]>

class.c (rb_make_metaclass)

[new]

class.c (rb_define_class_id)

use rb_make_metaclass(), don't call Class#inherited hook.

class.c (rb_class_inherited)

[new]

class.c (rb_define_class)

call Class#inherited hook here.

class.c (rb_define_class_under)

ditto after class path is set.

class.c (rb_singleton_class)

use rb_make_metaclass().

eval.c (rb_eval)

same as rb_define_class_under().

intern.h

prototypes of rb_make_metaclass() and rb_class_inherited().

object.c (rb_class_s_new)

use rb_make_metaclass() and rb_class_inherited().

object.c (Init_Object)

use rb_make_metaclass().

struct.c (make_struct)

use rb_class_inherited().

2002-01-10

Thu Jan 10 19:15:15 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_add_method)

should clear cache by id always.

eval.c (rb_disable_super)

no longer need to clear cache before rb_add_method().

eval.c (rb_export_method)

ditto.

eval.c (rb_attr)

ditto.

eval.c (rb_undef)

ditto.

eval.c (rb_eval)

ditto.

eval.c (rb_mod_modfunc)

ditto.

eval.c (rb_mod_define_method)

ditto.

Thu Jan 10 11:42:47 2002 Usaku Nakamura <[email protected]>

win32/resource.rb

Modify copyright in resource script.

Thu Jan 10 07:15:44 2002 takuma ozawa <[email protected]>

re.c (match_select)

should propagate taintness.

Thu Jan 10 00:54:57 2002 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_set_default)

Hash#default= should return the new value.

2002-01-09

Wed Jan 9 20:21:09 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-calculate-indent)

indentation after comment at beginning of buffer failed.

misc/ruby-mode.el (font-lock-defaults)

unless XEmacs, set font-lock variables in ruby-mode-hook.

2002-01-08

Tue Jan 8 15:56:20 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_to_i)

accepts optional base argument. [new]

numeric.c (rb_fix2str)

should not handle negative fixnum values int32 via calling sprintf() directly.

Tue Jan 8 15:54:02 2002 Nobuyoshi Nakada <[email protected]>

eval.c (rb_add_method)

clear replaced method from the cache.

2002-01-07

Mon Jan 7 12:38:47 2002 Tanaka Akira <[email protected]>

lib/time.rb (Time#xmlschema)

new optional argument fractional_seconds to specify a number of digits of fractional part of the time.

2002-01-05

Sat Jan 5 13:18:11 2002 Nobuyoshi Nakada <[email protected]>

range.c (range_member)

beginning check was wrong. [ruby-talk:30252]

Sat Jan 5 03:07:34 2002 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_new2)

NULL pointer check added.

Sat Jan 5 00:19:12 2002 Nobuyoshi Nakada <[email protected]>

parse.y (yycompile)

strdup()'ed twice.

2002-01-04

Fri Jan 4 18:29:10 2002 Michal Rokos <[email protected]>

class.c (rb_define_module_under)

should locate predefined module using rb_const_defined_at().

Fri Jan 4 17:23:49 2002 Nobuyoshi Nakada <[email protected]>

misc/ruby-mode.el (ruby-forward-string)

forward a string. [new]

misc/ruby-mode.el (ruby-parse-region)

handle nested parentheses in a string and terminators in #{}.

misc/ruby-mode.el (ruby-calculate-indent)

ditto.

2002-01-02

Wed Jan 2 23:34:25 2002 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (create_makefile)

add -I. to CPPFLAGS.

lib/mkmf.rb (create_makefile)

srcdir support(.def and depend file).

Wed Jan 2 11:51:56 2002 Yukihiro Matsumoto <[email protected]>

process.c (rb_f_system)

abandon vfork.

io.c (pipe_open)

ditto.

2002-01-01

Tue Jan 1 02:16:48 2002 WATANABE Hirofumi <[email protected]>

ext/curses/extconf.rb

add dir_config.

Makefile.in (fake.rb)

set RUBY_VERSION.

2001-12-31

Mon Dec 31 14:20:46 2001 Nobuyoshi Nakada <[email protected]>

parse.y (yycompile)

always store copy of filename.

parse.y (rb_compile_file)

no longer need to strdup() here.

Mon Dec 31 05:26:40 2001 Ferris McCormick <[email protected]>

defines.h

sparc linux needs different FLUSH_REGISTER_WINDOWS

Mon Dec 31 04:27:28 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

Protocol#start returns the return value of block.

lib/net/protocol.rb

set timeout limit by default.

lib/net/protocol.rb

new methods WriteAdapter#write, puts, print, printf.

lib/net/http.rb

rename HTTP#get2 to request_get, post2 to request_post …

lib/net/smtp.rb

should not resolve HELO domain automatically.

2001-12-30

Sun Dec 30 00:59:16 2001 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb (have_library)

accept -lm unconditionally on mswin32/mingw32.

2001-12-29

Sat Dec 29 01:55:42 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

abandon stclass optimization.

2001-12-28

Fri Dec 28 14:39:05 2001 Nobuyoshi Nakada <[email protected]>

array.c (rb_cmpint)

fixed typo.

2001-12-27

Thu Dec 27 18:43:04 2001 Nobuyoshi Nakada <[email protected]>

bignum.c (rb_cstr2inum)

deny “0_”.

Thu Dec 27 01:54:02 2001 Nobuyoshi Nakada <[email protected]>

bignum.c (rb_cstr2inum)

allow “0n” and so on.

2001-12-26

Wed Dec 26 19:24:21 2001 Yukihiro Matsumoto <[email protected]>

error.c (rb_invalid_str)

utility function to show inspect()'ed string.

bignum.c (rb_cstr2inum)

prints invalid strings in inspect()'ed format.

object.c (rb_Float)

ditto.

Wed Dec 26 02:41:29 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_convert_type)

no longer use rb_rescue().

2001-12-25

Tue Dec 25 18:32:16 2001 K.Kosako <[email protected]>

re.c (rb_reg_search)

initialize taint status of match object.

Tue Dec 25 02:37:49 2001 Tanaka Akira <[email protected]>

lib/pp.rb, lib/prettyprint.rb

new files.

Tue Dec 25 02:11:17 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_convert_type)

check method response check before invoking rb_rescue().

object.c (rb_check_convert_type)

ditto.

2001-12-24

Mon Dec 24 02:37:40 2001 Le Wang <[email protected]>

misc/ruby-mode.el (ruby-font-lock-syntactic-keywords)

fix font-lock problem [ruby-talk:29296].

2001-12-22

Sat Dec 22 22:52:14 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_timeval)

wrong cast to time_t.

time.c (time_plus)

ditto.

2001-12-21

Fri Dec 21 20:33:34 2001 K.Kosako <[email protected]>

parse.y (str_extend)

make up “#$;” handling.

Fri Dec 21 16:18:17 2001 Nobuyoshi Nakada <[email protected]>

dln.h, ruby.h, util.h

enable prototypes in C++.

Fri Dec 21 15:12:41 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_plus)

result should not be negative unless NEGATIVE_TIME_T is defined.

time.c (time_new_internal)

should check tv_sec overflow too.

time.c (time_timeval)

should check time_t range when time is initialized from float.

time.c (time_plus)

uses modf(3).

Fri Dec 21 03:15:52 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_mod_define_method)

must not convert Method to Proc.

Fri Dec 21 01:17:57 2001 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb (with_destdir)

new.

lib/mkmf.rb

prefix target directories with $(DESTDIR) all.

lib/mkmf.rb

no need to mkdir $(libdir)

2001-12-20

Thu Dec 20 14:08:20 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

rename Net::Socket to Net::BufferedSocket

Thu Dec 20 13:51:52 2001 K.Kosako <[email protected]>

variable.c (rb_cvar_set)

add frozen class/module check.

variable.c (rb_cvar_declare)

add frozen class/module check.

Thu Dec 20 01:01:50 2001 takuma ozawa <[email protected]>

re.c (match_to_a)

should propagate taint.

re.c (rb_reg_s_quote)

ditto.

2001-12-19

Wed Dec 19 16:58:29 2001 Shugo Maeda <[email protected]>

ext/readline/readline.c

new methods Readline::basic_word_break_characters, Readline::basic_word_break_characters=, Readline::completer_word_break_characters, Readline::completer_word_break_characters=, Readline::basic_quote_characters, Readline::basic_quote_characters=, Readline::completer_quote_characters, Readline::completer_quote_characters=, Readline::filename_quote_characters, Readline::filename_quote_characters=.

Wed Dec 19 14:05:00 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_define_method)

define_method should follow default method visibility.

eval.c (rb_attr)

should warn if the default method visibility is “module_function” (can be error).

eval.c (rb_mod_define_method)

should define class/module method also if the visibility is “module_function”.

eval.c (rb_mod_define_method)

should call hook method “method_added”, and “singleton_method_added”.

Wed Dec 19 11:42:13 2001 K.Kosako <[email protected]>

string.c

use RESIZE_CAPA for capacity change.

Wed Dec 19 03:08:40 2001 Tanaka Akira <[email protected]>

lib/time.rb

date.rb is not required anymore.

lib/resolv.rb

fix document. refine IPv6 regex.

2001-12-18

Tue Dec 18 23:24:53 2001 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (Init_socket)

add listen method to TCPServer and UNIXServer.

Tue Dec 18 17:54:53 2001 WATANABE Hirofumi <[email protected]>

sample/test.rb

Hash#indexes -> Hash#select.

Tue Dec 18 01:02:13 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

should not select a thread which is not yet initialized.

2001-12-17

Mon Dec 17 18:53:49 2001 K.Kosako <[email protected]>

string.c (rb_str_replace)

swap arguments of OBJ_INFECT.

Mon Dec 17 16:52:20 2001 Nobuyoshi Nakada <[email protected]>

intern.h

add prototypes. rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5() rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(), rb_str_dup_frozen()

ruby.h

added declaration. rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo

rubyio.h

changed double include guard macro to RUBYIO_H.

array.c (inspect_call)

make static.

eval.c (dvar_asgn)

ditto.

io.c (rb_io_close_read)

ditto.

lex.c (rb_reserved_word)

ditto.

ruby.c

(req_list_head, req_list_last): ditto.

ruby.c (require_libraries)

ditto.

Mon Dec 17 15:41:24 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_plus)

wrong boundary check.

time.c (time_minus)

ditto.

Mon Dec 17 15:19:32 2001 Tanaka Akira <[email protected]>

time.c

new method `gmtoff', `gmt_offset' and `utc_offset'.

(time_utc_offset)

new function.

(Init_Time)

bind above methods to `time_utc_offset'.

time.c

64bit time_t support.

(time_s_at)

use NUM2LONG instead of NUM2INT for tv_sec.

(time_arg)

initialize tm_isdst correctly. use long to initialize tm_year.

(search_time_t)

renamed from `make_time_t'.

(make_time_t)

call `timegm' and `mktime' instead of `search_time_t' if available.

(time_to_i)

use LONG2NUM instead of INT2NUM.

(time_localtime)

check localtime failure.

(time_gmtime)

check gmtime failure.

(time_year)

use LONG2NUM instead of INT2FIX.

(time_to_a)

use long for tm_year.

(time_dump)

check tm_year which is not representable with 17bit.

(time_load)

initialize tm_isdst.

configure.in

check existence of `mktime' and `timegm'. check existence of tm_gmtoff field of struct tm. fix negative time_t for 64bit time_t.

missing/strftime.c

fix overflow by tm_year + 1900.

lib/time.rb

use Time#utc_offset.

Mon Dec 17 00:02:04 2001 Guy Decoux <[email protected]>

variable.c (find_class_path)

should initialize iv_tbl if it's NULL.

2001-12-14

Fri Dec 14 04:23:36 2001 Minero Aoki <[email protected]>

lib/net/pop.rb

new method Net::POP3.APOP

lib/net/http.rb

set default Content-Type to x-www-form-urlencoded (causes warning)

lib/net/protocol.rb

remove Net::NetPrivate module.

lib/net/smtp.rb

ditto.

lib/net/pop.rb

ditto.

lib/net/http.rb

ditto.

Fri Dec 14 00:16:06 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_define_class)

should return the existing class if the class is already defined and its superclass is identical to the specified superclass.

class.c (rb_define_class_under)

ditto.

class.c (rb_define_module)

should return the existing module if the module is already defined.

2001-12-13

Thu Dec 13 09:52:59 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_new_internal)

avoid loop to calculate negative div, mod.

time.c (time_cmp)

should handle Bignums.

2001-12-11

Tue Dec 11 17:39:16 2001 K.Kosako <[email protected]>

array.c (rb_ary_pop)

should ELTS_SHARED flag check before REALLOC.

Tue Dec 11 12:45:28 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_match_m)

should convert an argument into regexp if it's a string.

Tue Dec 11 03:40:23 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_select)

Array#select(n,m,…) now works like Array#indexes(n,m,..). [new, experimental]

hash.c (rb_hash_select)

ditto.

hash.c (env_select)

ditto.

re.c (match_select)

ditto.

struct.c (rb_struct_select)

ditto.

Tue Dec 11 03:17:19 2001 Nobuyoshi Nakada <[email protected]>

object.c (rb_class_real)

follow included modules.

2001-12-10

Mon Dec 10 23:37:51 2001 Usaku Nakamura <[email protected]>

util.h

change prototype of ruby_qsort() to accord with its definition.

Mon Dec 10 20:30:01 2001 K.Kosako <[email protected]>

gc.c (STR_ASSOC)

use FL_USER3 instead of FL_USER2.

Mon Dec 10 17:40:02 2001 K.Kosako <[email protected]>

parse.y (str_extend)

make up pushback call.

Mon Dec 10 02:09:28 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_modify)

should copy the internal buffer if the modifying buffer is shared.

array.c (ary_make_shared)

make an internal buffer of an array to be shared.

array.c (rb_ary_shift)

avoid sliding an internal buffer by using shared buffer.

array.c (rb_ary_subseq)

avoid copying the buffer.

Mon Dec 10 01:06:56 2001 Yukihiro Matsumoto <[email protected]>

parse.y (gettable)

should freeze __FILE__ string.

2001-12-09

Sun Dec 9 18:06:26 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

calls on_connect before conn_command

Sun Dec 9 23:00:54 2001 Keiju Ishitsuka <[email protected]>

matrix.rb

Vector#* bug. reported from Massimiliano Mirra <[email protected]>.

Sun Dec 9 22:15:59 2001 Nobuyoshi Nakada <[email protected]>

enum.c (enum_sort_by)

should replace with last elements.

2001-12-08

Sat Dec 8 23:27:44 2001 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_puts)

old behavior restored. rationale: a) if you want to call to_s for arrays, you can just call print a, “n”. b) to_s wastes memory if array (and sum of its contents) is huge. c) now any object that has to_ary is treated as an array, using rb_check_convert_type().

Sat Dec 8 22:40:38 2001 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_initialize)

now accepts a block to calculate the default value. [new]

hash.c (rb_hash_aref)

call “default” method to get the value corresponding to the non existing key.

hash.c (rb_hash_default)

get the default value based on the block given to 'new'. Now it takes an optional “key” argument. “default” became the method to get the value for non existing key. Users may override “default” method to change the hash behavior.

hash.c (rb_hash_set_default)

clear the flag if a block is given to 'new'

Sat Dec 8 02:29:54 2001 Yukihiro Matsumoto <[email protected]>

object.c (Init_Object)

undef Data.allocate, left Data.new.

2001-12-07

Fri Dec 7 19:12:14 2001 Minero Aoki <[email protected]>

lib/net/smtp.rb

SMTP.new requires at least one arg.

lib/net/pop.rb

POP.new requires at least one arg.

lib/net/pop.rb

uses “raise *Error.new” instead of simple raise.

lib/net/http.rb

HTTP.new requires at least one arg.

lib/net/http.rb

changes implicit start algorithm.

Fri Dec 7 15:49:39 2001 Usaku Nakamura <[email protected]>

ext/extmk.rb.in

ignore adding -Wl,-R to DLDFLAGS when the directory is $topdir.

Fri Dec 7 13:58:58 2001 Yukihiro Matsumoto <[email protected]>

ext/curses/curses.c (window_scrollok)

use RTEST().

ext/curses/curses.c (window_idlok)

ditto.

ext/curses/curses.c (window_keypad)

ditto.

ext/curses/curses.c (window_idlok)

idlok() may return void on some platforms; so don't use return value.

ext/curses/curses.c (window_scrollok)

ditto for consistency.

ext/curses/curses.c

replace FIX2INT() by typechecking NUM2INT().

Fri Dec 7 09:51:00 2001 Yukihiro Matsumoto <[email protected]>

parse.y (str_extend)

should not process immature #$x and #@x interpolation, e.g #@#@ etc.

Fri Dec 7 03:21:18 2001 Yukihiro Matsumoto <[email protected]>

enum.c (enum_sort_by)

sort_by does not have to be stable always.

enum.c (enum_sort_by)

call qsort directly to gain performance.

2001-12-06

Thu Dec 6 18:52:28 2001 Usaku Nakamura <[email protected]>

ext/extmk.rb.in

add -Wl,-R flags to DLDFLAGS on netbsdelf.

lib/mkmf.rb

ditto.

Thu Dec 6 09:15:14 2001 Yukihiro Matsumoto <[email protected]>

util.c (ruby_qsort)

ruby_qsort(qs6) is now native thread safe.

error.c (rb_sys_fail)

it must be a bug if it's called when errno == 0.

2001-12-05

Wed Dec 5 23:36:56 2001 Yukihiro Matsumoto <[email protected]>

regex.c (WC2MBC1ST)

should not pass through > 0x80 number in UTF-8.

Wed Dec 5 20:05:18 2001 Florian Frank <[email protected]>

ext/socket/socket.c (bsock_send)

should raise EWOULDBLOCK exception.

ext/socket/socket.c (s_recvfrom)

ditto.

ext/socket/socket.c (s_accept)

ditto.

ext/socket/socket.c (udp_send)

ditto.

2001-12-04

Tue Dec 4 17:43:10 2001 Yukihiro Matsumoto <[email protected]>

ruby.h (DUPSETUP)

new SETUP macro for duplication.

time.c (time_dup)

implement in Time class using DUPSETUP.

time.c (time_getlocaltime)

new method; probably requires better name than getlocaltime. [new,experimental]

time.c (time_getgmtime)

ditto.

array.c (rb_ary_dup)

uses DUPSETUP.

string.c (rb_str_dup)

uses DUPSETUP. now properly copies instance variables too.

Tue Dec 4 03:49:06 2001 Yukihiro Matsumoto <[email protected]>

io.c (io_fread)

EAGAIN/EWOULDBLOCK should not terminate and throw away the input.

time.c (time_new_internal)

underflow adjustment must not use negative div/mod.

time.c (time_cmp)

should consider tv_usec on non Fixnum number comparison.

2001-12-03

Mon Dec 3 16:06:57 2001 WATANABE Hirofumi <[email protected]>

ext/socket/extconf.rb

remove -L/usr/local/lib.

configure.in

add -Wl,-export-dynamic on NetBSD.

Mon Dec 3 16:04:16 2001 Usaku Nakamura <[email protected]>

configure.in

not use X11BASE, since it's not always set.

Mon Dec 3 13:53:49 2001 Tanaka Akira <[email protected]>

time.c (rb_strftime)

buffer length condition was wrong.

time.c (time_strftime)

should backup buf to the original buffer.

Mon Dec 3 09:59:08 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_plus)

must detect result overflow.

time.c (time_minus)

ditto.

time.c (time_new_internal)

round usec overflow and underflow here.

time.c (time_plus)

move operand overflow/underflow check to time_new_internal().

time.c (time_minus)

ditto.

time.c (time_cmp)

should consider tv_usec too.

Mon Dec 3 03:32:22 2001 Usaku Nakamura <[email protected]>

configure.in

apply patch from NetBSD's pkgsrc (patch-aa).

2001-12-02

Sun Dec 2 22:01:52 2001 WATANABE Hirofumi <[email protected]>

configure.in

use GCC, not without_gcc. remove without_gcc.

ext/curses/extconf.rb

check for curses.h.

ext/dbm/extconf.rb

check if $CFLAGS includes DBM_HDR.

2001-12-01

Sat Dec 1 12:13:20 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_gmtime)

time_modify() should be called even if tm struct is not calculated yet.

2001-11-30

Fri Nov 30 17:02:55 2001 WATANABE Hirofumi <[email protected]>

configure.in

set target_cpu to i386 on cygwin and mingw32.

configure.in

default –enable-shared to yes on cygwin and mingw32.

Fri Nov 30 00:25:28 2001 Usaku Nakamura <[email protected]>

README.EXT

Appendix B is duplicated.

README.EXT.ja

ditto.

2001-11-29

Thu Nov 29 00:28:07 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_equal)

object with to_str must be treated as a string.

2001-11-28

Wed Nov 28 18:46:28 2001 Ville Mattila <[email protected]>

eval.c (rb_thread_select)

should subtract timeofday() from limit, not reverse.

Wed Nov 28 16:03:28 2001 K.Kosako <[email protected]>

util.c (scan_hex)

x is not a hexadecimal digit.

Wed Nov 28 13:38:04 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

should treat the case that select(2) returns 0, if a thread is under both WAIT_SELECT and WAIT_TIME. Jakub Travnik <[email protected]> actually fixed this bug.

2001-11-27

Tue Nov 27 02:15:25 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (w_float)

must distinguish -0.0 from 0.0.

2001-11-26

Mon Nov 26 20:57:24 2001 Akinori MUSHA <[email protected]>

ext/Setup*, ext/syslog/*

import the “syslog” module from the rough ruby project.

Mon Nov 26 16:14:42 2001 K.Kosako <[email protected]>

gc.c (gc_mark_all)

tweak mark order for little bit better scan.

gc.c (rb_gc_mark)

ditto.

gc.c (rb_gc)

ditto.

Mon Nov 26 16:54:59 2001 Usaku Nakamura <[email protected]>

win32/win32.c (mypopen)

fixed that mypclose() didn't really close pipe.

win32/win32.c (CreateChild)

set STARTF_USESTDHANDLES flag only when some handles are passed.

Mon Nov 26 16:31:28 2001 Yukihiro Matsumoto <[email protected]>

enum.c (sort_by_i)

slight performance boost.

2001-11-25

Sun Nov 25 21:02:18 2001 Usaku Nakamura <[email protected]>

parse.y (str_extend)

change types of second and third arguments from char to int.

2001-11-22

Thu Nov 22 20:15:28 2001 TAMURA Takashi <[email protected]>

gc.c (gc_mark_rest)

should call gc_mark_children(), not gc_mark().

gc.c (rb_gc_mark)

may cause infinite loop.

Thu Nov 22 00:28:13 2001 Yukihiro Matsumoto <[email protected]>

parse.y (str_extend)

should check nesting parentheses in #{}.

2001-11-21

Wed Nov 21 12:22:52 2001 Shugo Maeda <[email protected]>

lib/cgi.rb

CGI#header: do not set Apache.request.status for Location: if Apache.request.status is already set.

Wed Nov 21 02:24:18 2001 Yukihiro Matsumoto <[email protected]>

process.c (pst_wstopsig)

returns nil unless WIFSTOPPED() is non-zero.

process.c (pst_wtermsig)

returns nil unless WIFSIGNALED() is non-zero.

process.c (pst_wexitstatus)

returns nil unless WIFEXITED() is non-zero.

Wed Nov 21 00:17:54 2001 Ville Mattila <[email protected]>

eval.c (rb_thread_select)

tv_sec and tv_usec should not be negative.

signal.c (posix_signal)

do not set SA_RESTART for SIGVTALRM.

2001-11-20

Tue Nov 20 21:09:22 2001 Guy Decoux <[email protected]>

parse.y (call_args2)

block_arg may follow the first argument in call_args2.

Tue Nov 20 02:01:15 2001 Yukihiro Matsumoto <[email protected]>

eval.c (stack_check)

should avoid stack length check during raising SystemStackError exception.

Tue Nov 20 01:07:13 2001 Yukihiro Matsumoto <[email protected]>

parse.y (str_extend)

should not terminate string interpolation with newlines in here-docs and newline terminated strings.

2001-11-19

Mon Nov 19 17:58:49 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_modfunc)

should follow NODE_ZSUPER link; based on Guy Decoux's patch in [ruby-talk:25478].

Mon Nov 19 16:09:33 2001 Tanaka Akira <[email protected]>

string.c (rb_str_succ)

there was buffer overrun.

Mon Nov 19 14:14:58 2001 Yukihiro Matsumoto <[email protected]>

parse.y (str_extend)

term can be any character.

Mon Nov 19 04:58:42 2001 Wakou Aoyama <[email protected]>

lib/cgi.rb (header)

support for Apache. thanks to Shugo Maeda <[email protected]>.

2001-11-18

Sun Nov 18 19:37:55 2001 Nobuyoshi Nakada <[email protected]>

parse.y

needless conditionals.

parse.y (parse_regx)

parse error at unterminated regex /#{.

(ruby-bugs-ja

PR#142)

2001-11-17

Sat Nov 17 12:37:39 2001 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

should give length to utf8_to_uv().

pack.c (utf8_to_uv)

add length check.

Sat Nov 17 01:41:52 2001 Yukihiro Matsumoto <[email protected]>

massages

replace “wrong #” by “wrong number”.

marshal.c (w_float)

output Infinity and NaN explicitly.

marshal.c (r_object)

support new explicit float format.

eval.c (rb_thread_wait_for)

select may cause ERESTART on Solaris.

eval.c (rb_thread_select)

ditto.

2001-11-15

Thu Nov 15 15:29:39 2001 Nobuyoshi Nakada <[email protected]>

array.c (rb_ary_join)

non-nil separator must be converted to String. and separators' total length was wrong.

Thu Nov 15 03:37:17 2001 Usaku Nakamura <[email protected]>

hash.c (ruby_setenv)

remove USE_WIN32_RTL_ENV block since it's obsoleted.

win32/win32.c, win32/win32.h

sort out if 0 - endif or others.

Thu Nov 15 00:07:12 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_to_s)

if rb_output_fs is nil, insert newlines between array elements (use rb_default_rs as newline literal) [experimental].

2001-11-14

Wed Nov 14 15:16:23 2001 K.Kosako <[email protected]>

gc.c (init_mark_stack)

no need to clear mark_stack.

gc.c (gc_mark_all)

need to handle finalizer mark.

gc.c (gc_mark_rest)

use MEMCPY instead of memcpy.

gc.c (rb_gc_mark)

earlier const check to avoid pusing special constants into mark stack.

Wed Nov 14 01:12:07 2001 Usaku Nakamura <[email protected]>

win32/win32.c (waitpid)

fix wait count.

win32/win32.c (poll_child_status)

rename from wait_child().

Wed Nov 14 01:33:49 2001 Yukihiro Matsumoto <[email protected]>

numeric.c (fix_to_s)

'to_s' now takes optional argument to specify radix. [new]

bignum.c (rb_big_to_s)

ditto. [new]

2001-11-13

Tue Nov 13 14:39:11 2001 WATANABE Tetsuya <[email protected]>

missing/strftime.c

HP-UX support.

Tue Nov 13 19:50:30 2001 WATANABE Hirofumi <[email protected]>

configure.in

do not override CC if set.

Tue Nov 13 16:49:16 2001 Usaku Nakamura <[email protected]>

win32/win32.c (mypopen)

return error status instead of calling rb_sys_fail().

win32/win32.c (do_spawn)

ditto.

Tue Nov 13 14:39:11 2001 WATANABE Tetsuya <[email protected]>

signal.c (sighandle)

should not re-register sighandler if POSIX_SIGNAL is defined.

Tue Nov 13 12:55:59 2001 Usaku Nakamura <[email protected]>

win32/win32.c (do_spawn)

use CreateChild() instead of calling CreateProcess() directly. Original patches comes from Patrick Cheng.

win32/win32.c (mypopen)

ditto.

win32/win32.c (mypclose)

use rb_syswait() instead of waiting in this function.

win32/win32.c (waitpid)

use wait_child() instead of _cwait().

win32/win32.c (CreateChild)

added. [new]

win32/win32.c (wait_child)

added. [new]

win32/win32.c (FindFirstChildSlot)

added. [new]

win32/win32.c (FindChildSlot)

added. [new]

win32/win32.c (FindPipedChildSlot)

added. [new]

win32/win32.c (CloseChildHandle)

added. [new]

win32/win32.c (FindFreeChildSlot)

added. [new]

Tue Nov 13 12:38:12 2001 Usaku Nakamura <[email protected]>

hash.c (envix)

use GET_ENVIRON and FREE_ENVIRON to get environment variables list.

hash.c (env_keys)

ditto.

hash.c (env_each_key)

ditto.

hash.c (env_values)

ditto.

hash.c (env_keys)

ditto.

hash.c (env_each_value)

ditto.

hash.c (env_each)

ditto.

hash.c (env_inspect)

ditto.

hash.c (env_to_a)

ditto.

hash.c (env_size)

ditto.

hash.c (env_empty_p)

ditto.

hash.c (env_has_value)

ditto.

hash.c (env_index)

ditto.

hash.c (env_to_hash)

ditto.

win32/win32.c (win32_getenv)

use static buffer.

win32/win32.c, win32/win32.h (win32_get_environ)

get environment variables list. [new]

win32/win32.c, win32/win32.h (win32_free_environ)

free environment variables list. [new]

2001-11-12

Mon Nov 12 16:48:48 2001 Yukihiro Matsumoto <[email protected]>

eval.c (error_print)

errat array may be empty.

Mon Nov 12 01:30:37 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval_cmd)

should not upgrade safe level unless explicitly specified by argument newly added.

signal.c (sig_trap)

should not allow tainted trap closure.

variable.c (rb_f_trace_var)

should not allow trace_var on safe level higher than 3.

variable.c (rb_f_trace_var)

should not allow tainted trace closure.

2001-11-11

Sun Nov 11 00:12:23 2001 TAMURA Takashi <[email protected]>

gc.c

do not use static stack until system stack overflows.

2001-11-10

Sat Nov 10 03:57:09 2001 Yukihiro Matsumoto <[email protected]>

eval.c (eval)

should call Exception#exception instead of calling rb_exc_new3() directly.

error.c (exc_exception)

set “mesg” directly to the clone. it might be better to set mesg via some method for flexibility.

Sat Nov 10 00:14:24 2001 Yukihiro Matsumoto <[email protected]>

variable.c (cvar_override_check)

should print original module name, if 'a' is T_ICLASS.

parse.y (yylex)

float '1_.0' should not be allowed.

variable.c (var_getter)

should care about var as Qfalse

2001-11-09

Fri Nov 9 13:50:06 2001 Usaku Nakamura <[email protected]>

win32/config.status.in

make CFLAGS same as Makefile's one.

2001-11-08

Thu Nov 8 20:20:37 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_trap_eval)

avoid annoying warning with signal. [ruby-talk:23225]

eval.c (rb_call0)

adjust caller source file/line while evaluating optional arguments.

Thu Nov 8 18:41:58 2001 Yukihiro Matsumoto <[email protected]>

array.c (cmpint)

<=> or block for {min,max} may return bignum.

array.c (sort_1)

use rb_compint.

array.c (sort_2)

ditto.

enum.c (min_ii)

ditto.

enum.c (min_ii)

ditto.

enum.c (max_i)

ditto.

enum.c (max_ii)

ditto.

Thu Nov 8 18:21:02 2001 Yukihiro Matsumoto <[email protected]>

file.c (path_check_1)

forgot to initialize 'p'.

Thu Nov 8 14:52:15 2001 Tanaka Akira <[email protected]>

mkconfig.rb

use String#dump to generate Ruby string literal.

Thu Nov 8 15:46:54 2001 Yukihiro Matsumoto <[email protected]>

range.c (range_eql)

should override 'eql?'

array.c (rb_ary_hash)

should override 'hash' too.

2001-11-06

Tue Nov 6 14:38:48 2001 Yukihiro Matsumoto <[email protected]>

process.c (security)

always give warning for insecure PATH.

dir.c (my_getcwd)

do not rely on MAXPATHLEN.

file.c (rb_file_s_readlink)

ditto.

file.c (path_check_1)

ditto.

Tue Nov 6 14:17:14 2001 Amos Gouaux <[email protected]>

lib/net/imap.rb (getquota_response)

use astring for mailbox names.

lib/net/imap.rb (getacl_response)

ditto.

2001-11-05

Mon Nov 5 17:09:55 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

should not call rb_f_block_given_p().

2001-11-03

Sat Nov 3 23:33:18 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_chomp_bang)

should terminate string by NUL.

Sat Nov 3 22:28:51 2001 Keiju Ishitsuka <[email protected]>

matrix.rb (Matrix#column_vectors, Matrix#row_vectors)

ditto bug. this bug report and fix by [email protected].

forwardable.rb

change raise to Kernel::raise

Sat Nov 3 10:11:57 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

better error message.

2001-11-01

Thu Nov 1 14:08:42 2001 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_aref)

idx may be a Bignum.

numeric.c (fix_aref)

negative index must return zero.

Thu Nov 1 13:23:50 2001 Yukihiro Matsumoto <[email protected]>

gc.c (gc_mark_children)

should NOT treat last element of structs and arrays specially.

2001-10-31

Wed Oct 31 16:59:25 2001 Yukihiro Matsumoto <[email protected]>

eval.c (exec_under)

should initialize ruby_frame->self;

Wed Oct 31 15:09:28 2001 Yukihiro Matsumoto <[email protected]>

eval.c (POP_VARS)

should not set DVAR_DONT_RECYCLE if _old ruby_vars is already force_recycled.

Wed Oct 31 10:28:49 2001 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc)

handles mark stack overflow.

gc.c (PUSH_MARK)

use static mark stack, no more recursion.

Wed Oct 31 02:44:06 2001 Wakou Aoyama <[email protected]>

lib/cgi.rb

CGI::Cookie::parse(): Ignore duplicate keys caused by Netscape bug.

2001-10-30

Tue Oct 30 18:21:51 2001 Usaku Nakamura <[email protected]>

win32/mkexports.rb

follow the change of rb_io_puts().

Tue Oct 30 14:04:04 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_chomp_bang)

do smart chomp if $/ == 'n'. [new]

io.c (rb_io_puts)

don't treat Array specially.

bignum.c (rb_big_cmp)

should convert bignum to float.

eval.c (rb_f_eval)

can't modify untainted binding.

2001-10-29

Mon Oct 29 16:08:30 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

should preserve p0 value.

Mon Oct 29 14:56:44 2001 Usaku Nakamura <[email protected]>

intern.h (rb_protect_inspect)

follow the change of array.c.

eval.c (rb_exec_end_proc)

follow the change of rb_protect().

eval.c (method_proc, umethod_proc, rb_catch)

cast the first parameter of rb_iterate() to avoid VC++ warning.

range.c (range_step)

ditto.

ext/sdbm/init.c (fsdbm_update, fsdbm_replace)

ditto.

Mon Oct 29 07:57:31 2001 Yukihiro Matsumoto <[email protected]>

parse.y (str_extend)

should allow interpolation of $-x.

variable.c (rb_cvar_set)

empty iv_tbl may cause infinite loop.

variable.c (rb_cvar_get)

ditto.

variable.c (cvar_override_check)

ditto.

2001-10-27

Sat Oct 27 23:01:19 2001 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_eq)

convert Bignum to Float, instead of reverse.

2001-10-26

Fri Oct 26 06:19:29 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_localtime)

getting tm should not be prohibited for frozen time objects.

time.c (time_gmtime)

ditto.

version.c (Init_version)

freeze RUBY_VERSION, RUBY_RELEASE_DATE, and RUBY_PLATFORM.

file.c (Init_File)

freeze File::SEPARATOR, ALT_SEPARATOR and PATH_SEPARATOR.

file.c (rb_stat_cmp)

should check operand type before calling get_stat().

2001-10-25

Thu Oct 25 10:28:15 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval_cmd)

should not invoke “call” with a block on any occasion.

2001-10-24

Wed Oct 24 03:25:31 2001 Yukihiro Matsumoto <[email protected]>

numeric.c (fix_aref)

idx may be a Bignum.

2001-10-23

Tue Oct 23 01:21:19 2001 Nobuyoshi Nakada <[email protected]>

eval.c (proc_invoke)

fix self switching in Proc#call

eval.c (call_trace_func)

ditto.

eval.c (call_end_proc)

ditto.

eval.c (proc_call)

ditto.

eval.c (proc_yield)

ditto.

Tue Oct 23 01:15:43 2001 K.Kosako <[email protected]>

variable.c (rb_global_entry)

reconstruct global variable aliasing (sharing global_entry->var with other global_entry).

variable.c (undef_getter)

ditto.

variable.c (undef_setter)

ditto.

variable.c (val_setter)

ditto.

variable.c (mark_global_entry)

ditto.

variable.c (rb_define_hooked_variable)

ditto.

variable.c (rb_f_trace_var)

ditto.

variable.c (remove_trace)

ditto.

variable.c (rb_f_untrace_var)

ditto.

variable.c (rb_gvar_get)

ditto.

variable.c (trace_en)

ditto.

variable.c (rb_gvar_set)

ditto.

variable.c (rb_gvar_defined)

ditto.

variable.c (rb_alias_variable)

ditto.

2001-10-22

Mon Oct 22 18:53:55 2001 Masahiro Tanaka <[email protected]>

numeric.c (num_remainder)

a bug in Numeric#remainder.

Mon Oct 22 15:21:55 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_exec_end_proc)

END might be called within END block.

class.c (rb_mod_clone)

should not copy class name, since clone should remain anonymous.

2001-10-19

Fri Oct 19 23:40:37 2001 Nobuyoshi Nakada <[email protected]>

variable.c (remove_trace)

should not access already freed area.

variable.c (rb_f_untrace_var)

fix memory leak.

Fri Oct 19 17:55:14 2001 Nobuyoshi Nakada <[email protected]>

marshal.c (w_uclass)

cloned class is not user class. (ruby-bugs-ja#PR103)

marshal.c (r_object)

Struct subclass couldn't load. (ruby-bugs-ja#PR104)

2001-10-17

Wed Oct 17 14:12:50 2001 Nobuyoshi Nakada <[email protected]>

variable.c (alias_fixup)

added. ad hoc support for ordinary global variable aliasing. when original entry is set, make the alias to refer directly as possible.

variable.c (alias_getter, alias_setter)

ditto.

variable.c (rb_alias_variable)

ditto. and no need to mark alias variables.

variable.c (rb_gvar_defined)

refer the original entry of an alias.

2001-10-16

Tue Oct 16 23:29:26 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

self in a block given to define_method now be switched to the receiver of the method.

eval.c (proc_invoke)

added new parameter to allow self switching.

Tue Oct 16 21:38:15 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_f_missing)

check stack level with rb_stack_check().

eval.c (rb_call0)

ditto.

eval.c, intern.h (rb_stack_check)

added. [new]

Tue Oct 16 13:18:47 2001 Nobuyoshi Nakada <[email protected]>

object.c (rb_mod_initialize)

optional block with Module.new. [new] (from 2001-10-10)

Tue Oct 16 00:07:06 2001 Nobuyoshi Nakada <[email protected]>

parse.y (yylex)

disallow alpha-numeric and mbchar for terminator of %string.

2001-10-15

Mon Oct 15 18:00:05 2001 Pit Capitain <[email protected]>

string.c (rb_str_index)

wrong increment for non alphanumeric string.

Mon Oct 15 05:23:02 2001 Koji Arai <[email protected]>

sprintf.c (rb_f_sprintf)

support “%B”.

2001-10-10

Wed Oct 10 03:11:47 2001 Yukihiro Matsumoto <[email protected]>

file.c (rb_stat_clone)

should copy internal data too.

numeric.c (num_clone)

Numeric should not be copied by clone.

object.c (rb_obj_clone)

should check immediate values.

parse.y (command)

`yield' should take command_args.

parse.y (parse_quotedwords)

%w(…) is not a string.

2001-10-09

Tue Oct 9 18:40:35 2001 WATANABE Hirofumi <[email protected]>

process.c (Init_process)

activate the case NT.

Tue Oct 9 17:08:00 2001 Nobuyoshi Nakada <[email protected]>

eval.c (thread_status_name)

separated from rb_thread_inspect(). return string expression for thread status.

eval.c (rb_thread_status, rb_thread_inspect)

use thread_status_name().

eval.c (rb_thread_priority_set)

return the priority not but self.

2001-10-06

Sat Oct 6 23:07:08 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

NODE_MATCH3 was confusing left and right. sigh.

2001-10-05

Fri Oct 5 15:19:46 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (w_unique)

should not dump anonymous class.

Fri Oct 5 11:59:13 2001 Nobuyoshi Nakada <[email protected]>

eval.c (proc_s_new)

revived.

eval.c (Init_Proc)

define Proc.new instead of Proc.allocate to inhibit from creating uninitialized Proc.

2001-10-04

Thu Oct 4 14:11:03 2001 WATANABE Hirofumi <[email protected]>

ext/socket/socket.c (ruby_connect)

EALREADY is the equivalent for EINPROGRESS in ws2_32.lib.

2001-10-03

Wed Oct 3 20:11:06 2001 Nobuyoshi Nakada <[email protected]>

re.c (rb_reg_s_alloc)

avoid infinite recursion.

Wed Oct 3 16:49:49 2001 Nobuyoshi Nakada <[email protected]>

ext/gdbm/gdbm.c (rb_gdbm_fetch)

str is a VALUE now.

Wed Oct 3 13:32:06 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (r_object)

better allocation type check for TYPE_UCLASS. usage of allocation framework is disabled for now.

variable.c (rb_class_path)

Module may have subclass.

string.c (rb_str_update)

should maintain original negative offset.

string.c (rb_str_subpat_set)

ditto

string.c (rb_str_aset)

ditto.

re.c (rb_reg_nth_match)

should check negative nth.

re.c (rb_reg_nth_defined)

ditto.

2001-10-02

Tue Oct 2 19:12:47 2001 WATANABE Hirofumi <[email protected]>

lib/ftools.rb (catname)

allow trailing '/' for the destination.

Tue Oct 2 18:31:20 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should override existing class.

Tue Oct 2 17:08:49 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_alloc)

general instance allocation framework. use of NEWOBJ() is deprecated except within 'allocate' method.

Tue Oct 2 08:04:52 2001 Nobuyoshi Nakada <[email protected]>

marshal.c (r_object)

TYPE_UCLASS check should be inversed.

2001-10-01

Mon Oct 1 19:18:54 2001 Tanaka Akira <[email protected]>

ext/socket/socket.c (unix_addr)

getsockname(2) may result len = 0.

ext/socket/socket.c (unix_peeraddr)

getpeername(2) may result len = 0.

Mon Oct 1 09:59:07 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_subpat_set)

support function for new argument pattern String# = val. [new]

2001-09-29

Sat Sep 29 02:30:06 2001 Yukihiro Matsumoto <[email protected]>

eval.c (POP_BLOCK)

rb_gc_force_recycle() was called too much. Should not be called if SCOPE_DONT_RECYCLE is set.

2001-09-26

Wed Sep 26 22:21:52 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_aref_m)

new argument pattern String#. [new]

Wed Sep 26 19:02:39 2001 Guy Decoux <[email protected]>

parse.y

allow 'primary[] = arg'

2001-09-25

Tue Sep 25 10:46:42 2001 Usaku Nakamura <[email protected]>

win32/win32.c (isInternalCmd)

check return value of NtMakeCmdVector

2001-09-24

Mon Sep 24 00:55:06 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_substr)

should return an instance of receiver's class.

string.c (rb_str_succ)

ditto.

array.c (rb_ary_subseq)

ditto.

array.c (rb_ary_initialize)

Array.new() => [1,2,3]. [new]

2001-09-22

Sat Sep 22 22:16:08 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_reverse)

should return an instance of receiver's class.

string.c (rb_str_times)

ditto.

array.c (rb_ary_times)

ditto

string.c (str_gsub)

ditto.

string.c (rb_str_ljust)

ditto.

string.c (rb_str_rjust)

ditto.

string.c (rb_str_center)

ditto.

Sat Sep 22 12:13:39 2001 Yukihiro Matsumoto <[email protected]>

eval.c (eval)

retrieves file, line information from binding.

2001-09-20

Thu Sep 20 21:25:00 2001 Nobuyoshi Nakada <[email protected]>

eval.c (MATCH_DATA)

access via rb_svar().

Thu Sep 20 15:20:00 2001 Nobuyoshi Nakada <[email protected]>

eval.c, intern.h (rb_svar)

return reference to special variable from local variable index. [new]

eval.c (rb_eval)

use rb_svar() for NODE_FLIP{2,3}.

parse.y (rb_(backref|lastline)_(get|set))

access via rb_svar().

eval.c (proc_invoke)

push dynamic variables.

eval.c (rb_thread_yield)

push special variables as dynamic variables($_, $~ and FLIP states).

Thu Sep 20 15:20:00 2001 Nobuyoshi Nakada <[email protected]>

intern.h, parse.y (rb_is_local_id)

return true if the ID is local symbol. [new]

parse.y (internal_id)

make new ID for internal use. [new]

parse.y (cond0)

allocate internal ID for NODE_FLIP{2,3}.

eval.c (rb_f_local_variables)

use rb_is_local_id() to select visible local variables.

Thu Sep 20 15:20:00 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_start_0)

SCOPE_SHARED is removed.

eval.c, intern.h (rb_thread_scope_shared_p)

removed. special variables are no longer shared by threads.

re.c (rb_reg_search)

MATCHDATA is no longer shared by threads.

2001-09-18

Tue Sep 18 11:44:26 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_init)

String.new() => “” [new]

2001-09-11

Tue Sep 11 20:53:56 2001 Yukihiro Matsumoto <[email protected]>

dir.c (dir_path)

new method.

dir.c (dir_initialize)

wrap DIR into struct, along with path information.

2001-09-08

Sat Sep 8 07:13:42 2001 Wakou Aoyama <[email protected]>

lib/net/telnet.rb

waitfor(): improvement. thanks to [email protected]

Sat Sep 8 04:34:17 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_restore_context)

save current value of lastline and lastmatch in the thread struct for later restore.

eval.c (rb_thread_save_context)

restore lastline and lastmatch.

2001-09-07

Fri Sep 7 11:27:56 2001 akira yamada <[email protected]>

numeric.c (flo_to_s)

should handle negative float value.

Fri Sep 7 09:44:44 2001 Wakou Aoyama <[email protected]>

lib/net/telnet.rb

waitfor(): bug fix.

Fri Sep 7 07:11:34 2001 Wakou Aoyama <[email protected]>

lib/cgi.rb

CGI#doctype(): bug fix (html4Fr).

lib/net/telnet.rb, lib/cgi.rb

remove VERSION, RELEASE_DATE, VERSION_CODE, RELEASE_CODE. please use REVISION.

lib/cgi.rb

CGI#header(): bug fix.

lib/net/telnet.rb, lib/cgi.rb

concat –> +=

2001-09-06

Thu Sep 6 17:38:18 2001 Nobuyoshi Nakada <[email protected]>

dir.c (dir_s_chdir)

raise if environment variable HOME/LOGDIR not set.

dir.c (glob_helper)

avoid infinite loop on a file name with wildcard characters. (ruby-bugs#PR177)

Thu Sep 6 14:25:15 2001 Akinori MUSHA <[email protected]>

ext/digest/digest.c (rb_digest_base_s_hexdigest)

remove a debug print.

Thu Sep 6 13:56:14 2001 Akinori MUSHA <[email protected]>

ext/digest/digest.c (rb_digest_base_s_digest, rb_digest_base_s_hexdigest)

ensure that a string is given.

Thu Sep 6 13:28:51 2001 WATANABE Hirofumi <[email protected]>

lib/jcode.rb (_regexp_quote)

fix quote handling, again.

Thu Sep 6 07:28:56 2001 Nobuyoshi Nakada <[email protected]>

file.c (rb_find_file_ext)

add const qualifiers to ext.

intern.h (rb_find_file_ext)

ditto.

Thu Sep 6 07:16:14 2001 Nobuyoshi Nakada <[email protected]>

ext/socket/socket.c (Init_socket)

remove duplicating constants.

Thu Sep 6 03:15:24 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_include_module)

should check whole ancestors to avoid duplicate module inclusion.

2001-09-05

Wed Sep 5 20:02:27 2001 Shin'ya Adzumi <[email protected]>

string.c (trnext)

should check backslash before updating “now” position.

Wed Sep 5 17:41:11 2001 WATANABE Hirofumi <[email protected]>

lib/jcode.rb (_regexp_quote)

fix quote handling.

2001-09-04

Tue Sep 4 01:03:18 2001 Yukihiro Matsumoto <[email protected]>

re.c (Init_Regexp)

to_s to be alias to inspect.

2001-09-03

Mon Sep 3 22:46:59 2001 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

should support 'keyword='.

Mon Sep 3 20:26:08 2001 Nobuyoshi Nakada <[email protected]>

intern.h (rb_find_file_ext)

changed from rb_find_file_noext().

Mon Sep 3 15:12:49 2001 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

should not adjust argc/argv if -e option is supplied.

Mon Sep 3 14:11:17 2001 Akinori MUSHA <[email protected]>

error.c

unbreak the build on *BSD with gcc 3.0.1 by removing the conflicting declaration of sys_nerr for *BSD.

2001-09-01

Sat Sep 1 18:50:07 2001 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

should not alter origargv[].

ruby.c (set_arg0)

long strings for $0 dumped core.

Sat Sep 1 09:50:54 2001 Nobuyoshi Nakada <[email protected]>

ruby.c (set_arg0)

prevent SEGV when val is longer than the original arguments.

ruby.c (ruby_process_options)

initialize total length of original arguments at first.

Sat Sep 1 14:05:28 2001 Brian F. Feldman <[email protected]>

ruby.c (set_arg0)

use setprogtitle() if it's available.

Sat Sep 1 03:49:11 2001 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_popen)

accept integer flags as mode.

2001-08-31

Fri Aug 31 19:46:05 2001 Nobuyoshi Nakada <[email protected]>

file.c (rb_find_file_ext)

extension table can be supplied from outside. renamed.

eval.c (rb_f_require)

replace rb_find_file_noext by rb_find_file_ext.

Fri Aug 31 19:26:55 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_provided)

should also check feature without extension.

Fri Aug 31 13:06:33 2001 Yukihiro Matsumoto <[email protected]>

numeric.c (flo_to_s)

do not rely on decimal point to be '.'

2001-08-29

Wed Aug 29 02:18:53 2001 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

ternary ? can be followed by newline.

2001-08-28

Tue Aug 28 00:40:48 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_require)

should check static linked libraries before raising exception.

2001-08-26

Sun Aug 26 20:26:40 2001 Koji Arai <[email protected]>

ext/readline/readline.c

restore terminal mode even if readline() interrupted.

ext/readline/readline.c

returned string need to be tainted.

ext/readline/readline.c

fixed memory leak.

ext/readline/readline.c

allow negative index.

ext/readline/readline.c

added Readline::HISTORY.size same as Readline::HISTORY.length

ext/readline/readline.c

allow conditional parsing of the ~/.inputrc file by `$if Ruby'.

ext/readline/extconf.rb

check whether the libreadline has the variable `rl_completion_append_character'

2001-08-24

Fri Aug 24 15:17:40 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_equal)

check identity equality first.

string.c (rb_str_equal)

ditto.

struct.c (rb_struct_equal)

ditto.

Fri Aug 24 14:38:17 2001 Usaku Nakamura <[email protected]>

dln.c (dln_strerror)

fix a bug that sometimes made null message on win32 (Tietew <[email protected]>'s patch).

win32/win32.c (mystrerror)

ditto.

Fri Aug 24 03:15:07 2001 Yukihiro Matsumoto <[email protected]>

numeric.c (Init_Numeric)

undef Integer::new.

Fri Aug 24 00:46:44 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

NODE_WHILE should update result for each conditional evaluation.

eval.c (rb_eval)

NODE_UNTIL should return last evaluated value

2001-08-23

Thu Aug 23 21:59:38 2001 Nobuyoshi Nakada <[email protected]>

enum.c (sort_by_i)

fix typo.

Thu Aug 23 10:10:59 2001 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

should not dump core for “defined?(())”.

eval.c (umethod_bind)

recv can be an instance of descender of oklass if oklass is a Module.

2001-08-22

Wed Aug 22 23:20:03 2001 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_equal)

check identity equality first.

Wed Aug 22 19:58:59 2001 Nobuyoshi Nakada <[email protected]>

eval.c (intersect_fds)

counts intersecting fds.

eval.c (rb_thread_schedule)

only fds requested by each thread count as select_value.

2001-08-21

Tue Aug 21 22:28:09 2001 Nobuyoshi Nakada <[email protected]>

file.c (group_member)

should check real gid only.

file.c (eaccess)

do not cache euid, since effective euid may be changed via Process.euid=().

file.c (eaccess)

return -1 unless every specified access mode is permitted.

Tue Aug 21 16:09:27 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

while/until returns the value which is given to break.

parse.y (value_expr)

using while/until/class/def as an expression is now gives a warning, not an error.

Tue Aug 21 11:56:02 2001 Yukihiro Matsumoto <[email protected]>

range.c (range_eqq)

should compare strings based on magical increment (using String#upto), not dictionary order.

2001-08-20

Mon Aug 20 19:53:16 2001 WATANABE Hirofumi <[email protected]>

ext/digest/sha2/extconf.rb

fix support for cross-compiling.

mkconfig.rb

fix support for autoconf 2.52.

Mon Aug 20 17:24:15 2001 Yukihiro Matsumoto <[email protected]>

enum.c (enum_sort_by)

new method for Schewartzian transformed stable sort.

Mon Aug 20 16:09:05 2001 Yukihiro Matsumoto <[email protected]>

variable.c (mod_av_set)

detect constant overriding for built-in classes/modules.

Mon Aug 20 15:14:27 2001 Yukihiro Matsumoto <[email protected]>

parse.y (tokadd_escape)

escaped backslashes too much.

Mon Aug 20 13:24:08 2001 Yukihiro Matsumoto <[email protected]>

range.c (range_step)

'iter' here should be an array.

Mon Aug 20 12:43:08 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

should retrieve __member__ data from non-singleton class.

2001-08-18

Sat Aug 18 23:11:14 2001 Yukihiro Matsumoto <[email protected]>

variable.c (rb_cvar_get)

class variable override check added.

variable.c (rb_cvar_set)

ditto

variable.c (rb_cvar_declare)

ditto.

2001-08-17

Fri Aug 17 12:13:48 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

Protocol.new requires at least one arg.

lib/net/smtp.rb

ditto.

lib/net/pop.rb

ditto.

lib/net/http.rb

ditto.

Fri Aug 17 00:49:51 2001 Yukihiro Matsumoto <[email protected]>

parse.y (parse_regx)

handle backslash escaping of delimiter here.

2001-08-16

Thu Aug 16 23:03:40 2001 Koji Arai <[email protected]>

io.c

prevent recursive malloc calls on NEC UX/4800.

ext/socket/socket.c

ditto.

Thu Aug 16 13:54:04 2001 Usaku Nakamura <[email protected]>

ext/socket/socket.c (s_recvfrom)

fix typo.

Thu Aug 16 09:53:28 2001 Usaku Nakamura <[email protected]>

ext/socket/socket.c (s_recvfrom)

avoid VC++6 warning.

Thu Aug 16 03:50:33 2001 Usaku Nakamura <[email protected]>

win32/win32.c (NtCmdGlob)

avoid VC++ warning.

lib/mkmf.rb

add -I$(srcdir) to CPPFLAGS.

2001-08-15

Wed Aug 15 04:59:15 2001 Akinori MUSHA <[email protected]>

ext/digest/*/extconf.rb

really fix so that they build from any directory.

Wed Aug 15 04:04:02 2001 Akinori MUSHA <[email protected]>

ext/digest/sha2/extconf.rb

fix so that they build from any directory.

Wed Aug 15 01:59:19 2001 Akinori MUSHA <[email protected]>

ext/digest/defs.h

Define NO_UINT64_T instead of emitting an error to fail.

ext/digest/sha2/extconf.rb

Do not exit on error, and utilize NO_UINT64_T to detect if the system has a 64bit integer type.

2001-08-14

Tue Aug 14 21:14:07 2001 Akinori MUSHA <[email protected]>

ext/digest/sha2/extconf.rb

do not create Makefile when no 64bit integer type is detected.

Tue Aug 14 17:09:12 2001 Yukihiro Matsumoto <[email protected]>

range.c (range_step)

new method.

Tue Aug 14 11:49:00 2001 TOYOFUKU Chikanobu <[email protected]>

string.c (rb_str_cmp)

remove needless conditional.

Tue Aug 14 03:23:25 2001 Koji Arai <[email protected]>

2001-08-13

Mon Aug 13 14:16:46 2001 Akinori MUSHA <[email protected]>

bignum.c, marshal.c

Detypo: s/SIZEOF_ING/SIZEOF_INT/.

2001-08-12

Sun Aug 12 15:01:58 2001 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_cat)

fix buffer overflow.

string.c (rb_str_append)

nothing to append actually when `str2' is empty.

2001-08-11

Sat Aug 11 14:43:47 2001 Tanaka Akira <[email protected]>

array.c (rb_inspecting_p)

initialize inspect_key if it is not initialized yet.

2001-08-10

Fri Aug 10 22:14:37 2001 Yukihiro Matsumoto <[email protected]>

parse.y (cond0)

operands of logical operators are not treated as conditional expression anymore, but propagate conditional status if used in conditionals.

2001-08-07

Tue Aug 7 09:10:32 2001 Usaku Nakamura <[email protected]>

win32/win32.h

fix problems with BC++ (ruby-bugs#PR161).

2001-08-06

Mon Aug 6 23:47:46 2001 Nobuyoshi Nakada <[email protected]>

pack.c (pack_pack)

associates p/P strings once at last

string.c (rb_str_associate)

associates an Array at once, not but a String. realloc's when str_buf.

Mon Aug 6 17:01:33 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_gc_mark_threads)

should mark ruby_cref.

Mon Aug 6 14:31:37 2001 Usaku Nakamura <[email protected]>

numeric.c (num_divmod)

fix typo.

Mon Aug 6 03:29:03 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_lstrip_bang)

new method.

string.c (rb_str_rstrip_bang)

new method.

Mon Aug 6 00:35:03 2001 Guy Decoux <[email protected]>

struct.c (rb_struct_modify)

should check frozen and taint status.

2001-08-05

Sun Aug 5 19:28:39 2001 Nobuyoshi Nakada <[email protected]>

string.c (rb_str_associate)

should consider STR_ASSOC too.

Sun Aug 5 07:46:18 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_undefined)

do not recurse if method_missing is undefined.

2001-08-02

Thu Aug 2 21:37:32 2001 Yukihiro Matsumoto <[email protected]>

process.c (proc_waitpid)

now all arguments are optional.

process.c (Init_process)

waitpid is now alias to wait.

process.c (Init_process)

waitpid2 is now alias to wait2.

process.c (rb_waitpid)

made public.

ext/pty/pty.c (pty_getpty)

avoid disturbing SIGCHLD using thread and rb_waitpid.

Thu Aug 2 11:23:07 2001 Yukihiro Matsumoto <[email protected]>

process.c (proc_getpgrp)

now takes no argument on all platforms.

process.c (proc_setpgrp)

ditto.

Thu Aug 2 01:29:42 2001 Nobuyoshi Nakada <[email protected]>

file.c (strrdirsep)

removed meaningless code.

file.c (rb_file_s_expand_path)

reverted to 1.66.

2001-08-01

Wed Aug 1 16:17:47 2001 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (sock_s_pack_sockaddr_in)

added Socket::pack_sockaddr_in(). [new]

ext/socket/socket.c (sock_s_pack_sockaddr_un)

added Socket::pack_sockaddr_un(). [new]

ext/socket/socket.c (sock_s_pack_sockaddr_in)

added Socket::unpack_sockaddr_in(). [new]

ext/socket/socket.c (sock_s_pack_sockaddr_un)

added Socket::unpack_sockaddr_un(). [new]

Wed Aug 1 15:42:16 2001 Usaku Nakamura <[email protected]>

eval.c (ruby_run)

avoid VC++ warning.

2001-07-31

Tue Jul 31 17:30:53 2001 Usaku Nakamura <[email protected]>

marshal.c (Init_marshal)

fix typos.

Tue Jul 31 15:16:39 2001 Nobuyoshi Nakada <[email protected]>

process.c (last_status_set)

nothing returned, should be void.

ext/socket/socket.c (load_addr_info)

ditto.

Tue Jul 31 12:11:42 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (Init_marshal)

new constant Marshal::MAJOR_VERSION and Marshal::MINOR_VERSION.

Tue Jul 31 07:18:04 2001 Nobuyoshi Nakada <[email protected]>

file.c (rb_file_s_expand_path)

scans per path element not per byte/character, including fix of [ruby-talk:18152] and multi-byte pathname support.

Tue Jul 31 11:52:10 2001 akira yamada <[email protected]>

marshal.c (marshal_load)

ruby_verbose test should be wrapped by RTEST().

2001-07-30

Mon Jul 30 17:54:23 2001 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_index)

should return nil (not the default value) if value is not in the hash.

Mon Jul 30 12:55:47 2001 Yukihiro Matsumoto <[email protected]>

numeric.c (num_div)

new method added. alias to '/' which should be preserved even if '/' is redefined (e.g. by mathn). [new]

Mon Jul 30 11:12:14 2001 Amos Gouaux <[email protected]>

lib/net/imap.rb

added new commands for managing folder quotas and folder ACLs.

Mon Jul 30 03:19:53 2001 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_cstr2inum)

“0 ff”.hex should return 0, not 255.

2001-07-27

Fri Jul 27 22:29:41 2001 Nobuyoshi Nakada <[email protected]>

file.c (rb_file_s_expand_path)

fixed using CharNext().

Fri Jul 27 18:07:27 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_provided)

extension should be guessed using rb_find_file_noext().

eval.c (rb_f_require)

should call rb_feature_p() after extension completion.

Fri Jul 27 16:25:52 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

add CHECK_INTS before next, redo, retry to avoid potential uninterruptable infinite loop.

2001-07-26

Thu Jul 26 11:27:12 2001 WATANABE Hirofumi <[email protected]>

file.c (rb_find_file_noext, rb_find_file)

fix tilde expansion problem.

2001-07-25

Wed Jul 25 17:54:20 2001 Yukihiro Matsumoto <[email protected]>

file.c (rb_file_s_expand_path)

use CharNext() to expand.

Wed Jul 25 17:16:26 2001 Akinori MUSHA <[email protected]>

intern.h

add some missing function prototypes.

Wed Jul 25 15:50:05 2001 Guy Decoux <[email protected]>

file.c (rb_file_s_expand_path)

should not expand “.” and “..” not following dirsep.

Wed Jul 25 12:15:32 2001 WATANABE Hirofumi <[email protected]>

file.c (rb_find_file_noext)

should update f by expanded path.

file.c (rb_find_file)

ditto.

2001-07-24

Tue Jul 24 23:10:47 2001 Nobuyoshi Nakada <[email protected]>

file.c (strrdirsep)

multi-byte pathname and DOSish separator support. originally comes from Patrick Cheng. [new]

file.c (rb_file_s_basename, rb_file_s_dirname)

use strrdirsep(). comes from Patrick Cheng.

file.c (is_absolute_path)

restricted in DOSish absolute path with drive letter, and UNC support. originally comes from Patrick Cheng.

file.c (getcwd)

define macro using getwd() unless provided.

Tue Jul 24 19:23:15 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

dig the target subdirectory for lib/* files properly in case of create_makefile(“dir/name”).

2001-07-23

Mon Jul 23 00:26:04 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_provide_feature)

should not tweak extension used for loading.

2001-07-22

Sun Jul 22 21:16:43 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

introduce a couple of new make variables: CLEANFILES and DISTCLEANFILES. They'd typically be defined in a file “depend”.

2001-07-21

Sat Jul 21 09:40:10 2001 Nobuyoshi Nakada <[email protected]>

io.c (io_fread)

use fread(3) if PENDING_COUNT is available.

2001-07-20

Fri Jul 20 22:55:01 2001 Akinori MUSHA <[email protected]>

gc.c (ruby_xrealloc)

fix a dangling bug which led memory reallocation to fail even though the second try after a GC succeeds.

Fri Jul 20 03:00:46 2001 Akinori MUSHA <[email protected]>

class.c (rb_mod_include_p)

Module#include? added. [new]

Fri Jul 20 01:05:50 2001 Yukihiro Matsumoto <[email protected]>

re.c (ignorecase_setter)

give warning on modifying $=.

string.c (rb_str_casecmp)

new method. [new]

string.c (rb_str_eql)

separated from rb_str_equal(), make it always be case sensitive. [new]

string.c (rb_str_hash)

made it always be case sensitive.

2001-07-19

Thu Jul 19 13:03:15 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_f_require)

should not include path in $“ value

file.c (rb_find_file)

should return 0 explicitly on failure.

2001-07-17

Tue Jul 17 11:44:40 2001 Usaku Nakamura <[email protected]>

ruby.h

enable volatile directive with VC++.

regex.c

ditto.

Tue Jul 17 06:01:12 2001 Minero Aoki <[email protected]>

doc/net/smtp.rd.ja, pop.rd.ja, http.rd.ja

new files.

MANIFEST

add doc/net/{http,pop,smtp}.rd.ja.

Tue Jul 17 11:22:01 2001 Yukihiro Matsumoto <[email protected]>

regex.c (NUM_FAILURE_ITEMS)

was confusing NUM_REG_ITEMS and NUM_NONREG_ITEMS, which have happened to be same value.

Tue Jul 17 11:08:34 2001 Usaku Nakamura <[email protected]>

ext/extmk.rb.in

modify RM macro because command.com/cmd.exe don't recognize single quotation as quote character.

lib/mkmf.rb

ditto.

Tue Jul 17 01:38:15 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_class_new)

subclass check moved to this function.

class.c (rb_class_boot)

check less version of rb_class_new().

2001-07-16

Man Jul 16 13:21:30 2001 Usaku Nakamura <[email protected]>

file.c (file_load_ok)

fix typo.

Mon Jul 16 12:58:07 2001 Yukihiro Matsumoto <[email protected]>

eval.c (proc_invoke)

should preserve iter status for embedded frame in the block.

Mon Jul 16 00:04:39 2001 Yukihiro Matsumoto <[email protected]>

file.c (rb_file_s_expand_path)

may overrun buffer on stack.

2001-07-15

Sun Jul 15 01:38:28 2001 Guy Decoux <[email protected]>

string.c (rb_str_insert)

forgot to call rb_str_modify().

2001-07-14

Sat Jul 14 12:26:30 2001 Nobuyoshi Nakada <[email protected]>

ext/digest/*/extconf.rb

fix so that they build from any directory.

Sat Jul 14 06:20:17 2001 WATANABE Hirofumi <[email protected]>

lib/net/http.rb

HTTP#proxy? did not worked.

Sat Jul 14 02:56:19 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in

support multi-level ext/ directories.

Sat Jul 14 02:55:02 2001 Akinori MUSHA <[email protected]>

ext/.cvsignore

let cvs ignore extinit.c.

2001-07-13

Fri Jul 13 23:47:35 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

should consider reverse search.

Fri Jul 13 22:26:09 2001 Akinori MUSHA <[email protected]>

lib/mkmf.rb

use File::split to split a target into a prefix and a module name. This also works around a just found bug of String#rindex.

ext/extmk.rb.in

ditto.

Fri Jul 13 02:36:10 2001 Minero Aoki <[email protected]>

dir.c (dir_s_chdir)

warn only when invoked from multiple threads or block is not given.

2001-07-12

Thu Jul 12 15:11:48 2001 WATANABE Hirofumi <[email protected]>

ext/socket/socket.c (ruby_connect)

workaround for the setup of Cygwin socket(EALREADY).

2001-07-09

Mon Jul 9 16:49:30 2001 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

modify RM macro.

lib/mkmf.rb

ditto.

2001-07-08

Sun Jul 8 20:52:02 2001 Akinori MUSHA <[email protected]>

ruby.h

fix a wrong function name: rb_iglob() -> rb_globi().

Sun Jul 8 16:04:35 2001 Minero Aoki <[email protected]>

lib/net/http.rb

rename HTTP#request_by_name to send_request.

lib/net/protocol.rb (ProtoSocket#read)

modify typo.

2001-07-07

Sat Jul 7 17:45:35 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_convert_type)

should use rb_rescue(), not rb_rescue2().

range.c (range_init)

ditto.

2001-07-06

Fri Jul 6 18:01:10 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_dup)

copies (actually does not free) generic_ivar on dupif original owns them.

Fri Jul 6 02:15:06 2001 Akinori MUSHA <[email protected]>

lib/tempfile.rb

a tempfile must be created with mode 0600.

Fri Jul 6 14:54:27 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_require)

revamp for simpler implementation.

file.c (rb_find_file_noext)

use String object, instead of passing char* around.

file.c (rb_find_file)

ditto.

2001-07-05

Thu Jul 5 20:28:53 2001 Tietew <[email protected]>

string.c (rb_str_each_line)

should propagate taint mark.

ext/nkf/nkf.c (rb_nkf_kconv)

ditto.

Thu Jul 5 22:01:02 2001 Mitsuhiro Kondo <[email protected]>

dln.c (dln_load)

should use NSLINKMODULE_OPTION_BINDNOW.

Thu Jul 5 13:44:03 2001 Yukihiro Matsumoto <[email protected]>

ruby.c (load_file)

local variables 'c' remain uninitialized on xflag.

Thu Jul 5 10:00:59 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

prefetched escaped character too early.

2001-07-04

Wed Jul 4 08:58:30 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

add argument check for attr_readers.

Wed Jul 4 04:22:44 2001 Minero Aoki <[email protected]>

lib/net/http.rb (HTTP#request_by_name)

arg order changes.

Wed Jul 4 04:07:36 2001 Minero Aoki <[email protected]>

lib/net/http.rb (HTTP#request_by_name)

bug fix.

lib/net/http.rb

does not write Connection: by default.

lib/net/protocol.rb

“start” for started protocol is an error.

lib/net/protocol.rb

“finish” for finished protocol is an error.

Wed Jul 4 03:17:31 2001 Minero Aoki <[email protected]>

lib/net/http.rb

new method HTTP#request_by_name (test)

lib/net/http.rb

new class HTTPGenericRequest

2001-07-03

Tue Jul 3 23:58:29 2001 Akinori MUSHA <[email protected]>

lib/mkmf.rb

distclean should remove mkmf.log as well.

Tue Jul 3 18:35:49 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval_string_wrap)

should push frame (and adjust cbase) before wrapped eval.

eval.c (rb_eval_cmd)

ditto.

eval.c (eval)

should update ruby_class always after all.

Tue Jul 3 14:56:27 2001 Shugo Maeda <[email protected]>

eval.c (block_pass)

do not change wrapper information.

eval.c (rb_yield_0)

preserve wrapper information.

Tue Jul 3 08:59:50 2001 Nobuyoshi Nakada <[email protected]>

error.c (rb_name_error)

raise NameError instead of LoadError.

2001-07-02

Mon Jul 2 17:22:00 2001 Yukihiro Matsumoto <[email protected]>

error.c (exc_exception)

clone the receiver exception instead of creating brand new exception object of the receiver.

Mon Jul 2 09:53:12 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval_string_wrap)

extend new ruby_top_self, not original self.

eval.c (rb_eval_cmd)

respect ruby_wrapper if set.

eval.c (eval)

do not update ruby_class unless scope is not provided.

2001-07-01

Sun Jul 1 10:51:15 2001 Shugo Maeda <[email protected]>

eval.c (eval)

preserve wrapper information.

eval.c (proc_invoke)

ditto.

eval.c (block_pass)

ditto.

2001-06-30

Sat Jun 30 02:55:45 2001 Yukihiro Matsumoto <[email protected]>

parse.y (void_expr)

too much warnings for void context

2001-06-29

Fri Jun 29 17:23:18 2001 Yukihiro Matsumoto <[email protected]>

error.c (rb_name_error)

new function to raise NameError with name attribute set.

eval.c (rb_f_missing)

set name and args in the exception object. [new]

error.c (name_name)

NameError#name - new method.

error.c (nometh_args)

NoMethodError#args - new method.

Fri Jun 29 15:29:31 2001 Yukihiro Matsumoto <[email protected]>

lex.c (rb_reserved_word)

lex_state after tRESCUE should be EXPR_MID.

2001-06-28

Thu Jun 28 00:21:28 2001 Keiju Ishitsuka <[email protected]>

lib/matrix.rb

resolve 'ruby -w' warnings.

lib/irb/locale.rb

resolve 'ruby -w' warnings.

lib/irb/multi-irb.rb

resolve 'ruby -w' warnings.

lib/irb/ruby-lex.rb

fix problem for “\M-\…” and “\C-\…” and resolve 'ruby -w' warnings.

lib/irb/ruby-token.rb

fix typo

lib/shell/command-processor.rb

resolve 'ruby -w' warnings.

2001-06-27

Wed Jun 27 08:53:26 2001 Minero Aoki <[email protected]>

lib/net/pop.rb

new methods POP3.auth_only, POP3#auth_only

lib/net/http.rb

HTTP.Proxy returns self if ADDRESS is nil.

lib/net/protocol.rb

new method ProtocolError#response

lib/net/protocol.rb,smtp.rb,pop.rb,http.rb

add document.

2001-06-26

Tue Jun 26 18:42:42 2001 Yukihiro Matsumoto <[email protected]>

gc.c (add_heap)

allocation size of the heap unit is doubled for each allocation.

2001-06-25

Mon Jun 25 09:54:48 2001 Yukihiro Matsumoto <[email protected]>

dir.c (isdelim)

space, tab, and newline are no longer delimiters for glob patterns.

2001-06-23

Sat Jun 23 22:28:52 2001 Yukihiro Matsumoto <[email protected]>

eval.c (svalue_to_avalue)

new conversion scheme between single value and array values.

eval.c (avalue_to_svalue)

ditto.

eval.c (rb_eval)

REXPAND now uses avalue_to_svalue(), return and yield too.

eval.c (rb_yield_0)

use avalue_to_svalue().

eval.c (proc_invoke)

Proc#call gives avaules, whereas Proc#yield gives mvalues.

eval.c (bmcall)

convert given value (svalue) to avalue.

Sat Jun 23 18:28:52 2001 Akinori MUSHA <[email protected]>

ext/readline/readline.c (readline_event)

a non-void function should return a value.

2001-06-22

Fri Jun 22 23:17:28 2001 WATANABE Hirofumi <[email protected]>

ext/socket/socket.c (ruby_connect)

workaround for the setup of Cygwin socket.

Fri Jun 22 23:11:17 2001 Keiju Ishitsuka <[email protected]>

lib/irb/locale.rb

fix for require “kconv” problem

Fri Jun 22 18:08:45 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

no mvalue_to_svalue conversion here.

eval.c (massign)

takes svalue, convert it to mvalue inside.

eval.c (rb_eval)

parameters for yield/return are always svalues now.

eval.c (svalue_to_mvalue)

more strict conversion.

eval.c (mvalue_to_svalue)

ditto.

Fri Jun 22 17:12:23 2001 Yukihiro Matsumoto <[email protected]>

st.c (new_size)

prime hash size enabled.

ext/socket/socket.c (Init_socket)

SO_* constants added.

2001-06-19

Tue Jun 19 22:24:07 2001 WATANABE Hirofumi <[email protected]>

gc.c (rb_setjmp)

avoid GCC 3.0 warnings.

Tue Jun 19 18:19:30 2001 Akinori MUSHA <[email protected]>

ext/readline/readline.c

add new methods: Readline::completion_append_character and Readline::completion_append_character=.

Tue Jun 19 16:29:50 2001 Yukihiro Matsumoto <[email protected]>

eval.c (svalue_to_mvalue)

new function to convert from svalue to mvalue. [experimental]

eval.c (mvalue_to_svalue)

new function to convert from mvalue to svalue.

eval.c (rb_eval)

use mvalue_to_svalue().

eval.c (rb_yield_0)

use mvalue_to_svalue().

eval.c (proc_invoke)

proper mvalue handling.

2001-06-18

Mon Jun 18 17:38:50 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_require)

searches “.rb” and “.so” at the same time. previous behavior (search “.rb”, then “.so”) has a security risk (ruby-bugs#PR140).

array.c (rb_ary_to_ary)

new function to replace internal rb_Array(), which never calls to_a, but to_ary (rb_Array() might call both). [new]

Mon Jun 18 00:43:20 2001 Yukihiro Matsumoto <[email protected]>

regex.c (PUSH_FAILURE_POINT)

push option status again.

regex.c (re_compile_pattern)

avoid pushing unnecessary option_set.

2001-06-16

Sat Jun 16 10:58:48 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_load)

tainted string is OK if wrapped and $SAFE >= 4.

2001-06-14

Thu Jun 14 16:27:07 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_start_0)

should not nail down higher blocks before preserving original context (i.e. should not alter original context).

2001-06-13

Wed Jun 13 19:34:59 2001 Akinori MUSHA <[email protected]>

dir.c (Init_Dir)

add a new method File::fnmatch? along with File::Constants::FNM_*. While I am here, FNM_NOCASE is renamed to FNM_CASEFOLD which is commonly used by *BSD and GNU libc.

Wed Jun 13 09:33:45 2001 Yukihiro Matsumoto <[email protected]>

eval.c (proc_yield)

new method equivalent to Proc#call but no check for number of arguments. [new]

2001-06-12

Tue Jun 12 14:21:28 2001 Nobuyoshi Nakada <[email protected]>

lib/mkmf.rb

target_prefix is only for installation, not for build.

Tue Jun 12 00:41:18 2001 Yukihiro Matsumoto <[email protected]>

eval.c (method_eq)

new method Method#==. [new]

2001-06-11

Mon Jun 11 14:29:41 2001 WATANABE Hirofumi <[email protected]>

confgure.in

add RUBY_CANONICAL_BUILD.

2001-06-10

Sun Jun 10 17:31:47 2001 Guy Decoux <[email protected]>

gc.c (STR_NO_ORIG)

STR_NO_ORIG value was different between string.c and gc.c

2001-06-09

Sat Jun 9 22:10:04 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should convert *non-array at the end of arguments by using Array().

Sat Jun 9 17:04:30 2001 Nobuyoshi Nakada <[email protected]>

hash.c (ruby_setenv)

readline library leaves their environment strings uncopied. “free” check revised.

Sat Jun 9 16:31:03 2001 Usaku Nakamura <[email protected]>

ext/extmk.rb.in

Use -F and -T for mswin32 because cl.exe doesn't support -o officially and cl.exe considers that *.cc and *.cxx are OBJs.

lib/mkmf.rb

ditto.

win32/Makefile.sub

Use del instead of rm. All these changes are derived from Nobuyoshi Nakada's patch. Thanks.

2001-06-08

Fri Jun 8 22:37:40 2001 Yukihiro Matsumoto <[email protected]>

gc.c (Init_stack)

avoid __builtin_frame_address(2) to retrieve stack bottom line.

Fri Jun 8 18:14:12 2001 Yukihiro Matsumoto <[email protected]>

st.c (numhash)

should shuffle bits by dividing by prime number.

Fri Jun 8 17:05:21 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

multiple assignment behavior fixed, which results “*a = nil” makes “a == []” now.

Fri Jun 8 15:25:09 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_require)

should set SCOPE_PUBLIC before calling dln_load().

2001-06-07

Thu Jun 7 17:28:00 2001 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

exclude kDO_BLOCK too much by false condition.

2001-06-06

Wed Jun 6 23:02:36 2001 Keiju Ishitsuka <[email protected]>

lib/sync.rb

bug fix if obj.initialize has parameters when obj.extend(Sync_m)

lib/mutex_m.rb

modified bit

Wed Jun 6 16:11:06 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_load)

should check if tainted even when wrap is specified.

Wed Jun 6 14:34:27 2001 Yukihiro Matsumoto <[email protected]>

parse.y (mrhs_basic)

“*arg” should always be expanded by REXPAND.

regex.c (re_compile_pattern)

too much optimization for the cases like /(.|a)b/.

2001-06-05

Tue Jun 5 23:58:43 2001 Yukihiro Matsumoto <[email protected]>

variable.c (fc_i)

removed vast string allocation.

Tue Jun 5 16:45:48 2001 Yukihiro Matsumoto <[email protected]>

error.c (Init_Exception)

NameError went under StandardError, and NoMethodError went under NameError.

Tue Jun 5 16:40:06 2001 Yukihiro Matsumoto <[email protected]>

parse.y (rb_intern)

non identifier symbols should be categorized as ID_JUNK. [new]

Tue Jun 5 16:15:58 2001 Yukihiro Matsumoto <[email protected]>

variable.c (rb_mod_const_at)

use hash table as internal data. [new]

variable.c (rb_mod_const_of)

ditto.

variable.c (rb_const_list)

new function to convert internal data (hash table) to array of strings.

eval.c (rb_mod_s_constants)

data handling scheme has changed.

Tue Jun 5 15:16:06 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_add_method)

should not call rb_secure(), for last_func may not be set.

io.c (rb_io_ctl)

ioctl should accept any integer within C long range.

Tue Jun 5 13:41:13 2001 WATANABE Hirofumi <[email protected]>

ext/etc/extconf.rb

use egrep_cpp.

Tue Jun 5 12:44:59 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (r_object)

wrong type check for modules.

marshal.c (w_object)

should not dump anonymous classes/modules.

Tue Jun 5 01:19:34 2001 Yukihiro Matsumoto <[email protected]>

io.c (rb_open_file)

use rb_file_sysopen_internal() if the 3rd argument (permission flags) is given. [new, should be backported?]

io.c (rb_io_mode_binmode)

mode string (e.g. “r+”) to flags to open(2).

2001-06-04

Mon Jun 4 23:55:54 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

NODE_REXPAND expand an array of 1 element as the element itself. [new, should be backported?]

parse.y (ret_args)

should treat “*[a]” in rhs expression as “a”, not “[a]”.

Mon Jun 4 04:14:53 2001 Wakou Aoyama <[email protected]>

lib/shellwords.rb

don't destroy argument.

2001-06-02

Sat Jun 2 23:23:05 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

should push option modifier at the right place.

Sat Jun 2 23:05:20 2001 Shugo Maeda <[email protected]>

lib/cgi/session.rb

don't use module_function for Class.

Sat Jun 2 00:02:22 2001 Keiju Ishitsuka <[email protected]>

irb messages

fix typos.

2001-06-01

Fri Jun 1 17:26:24 2001 K.Kosako <[email protected]>

hash.c (replace_i)

ignore when key == Qundef.

Fri Jun 1 16:50:59 2001 Yukihiro Matsumoto <[email protected]>

parse.y (call_args2)

confusion with list_append() and list_concat() was fixed.

Fri Jun 1 15:01:40 2001 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

fixed 'print CGI::bar() {}, “n”' syntax breakage, adding new lex_state status. sigh. [new]

Fri Jun 1 11:21:04 2001 WATANABE Hirofumi <[email protected]>

configure.in

use waitpid on mingw32.

ext/dbm/extconf.rb

include <ndbm.h>, not <gdbm.h>.

2001-05-31

Thu May 31 18:34:57 2001 K.Kosako <[email protected]>

file.c (rb_file_s_unlink)

should not allow if $SAFE >= 2.

Thu May 31 17:23:25 2001 Yukihiro Matsumoto <[email protected]>

range.c (Init_Range)

define “to_ary”.

Thu May 31 13:30:25 2001 WATANABE Hirofumi <[email protected]>

mkconfig.rb, ext/configsub.rb

VERSION -> RUBY_VERSION.

Thu May 31 08:00:58 2001 Usaku Nakamura <[email protected]>

win32/dir.h

re-add.

Thu May 31 01:25:59 2001 Akinori MUSHA <[email protected]>

configure.in

default –with-libc_r to `no' until the problem is fixed. (FreeBSD only)

2001-05-29

Tue May 29 17:24:23 2001 K.Kosako <[email protected]>

ruby.c (proc_options)

unexpected SecurityError happens when -T4.

Tue May 29 18:46:04 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

* 1 .. 9 should be backreferences always.

regex.c (re_match)

backreferences corresponding to unclosed/unmatched parentheses should fail always.

Tue May 29 16:35:49 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_cat)

use rb_str_buf_cat() if possible. [new]

string.c (rb_str_append)

ditto.

string.c (rb_str_buf_cat)

remove unnecessary check (type, taint, modify) to gain performance.

string.c (rb_str_buf_append)

ditto.

string.c (rb_str_buf_finish)

removed.

Tue May 29 02:05:55 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_buf_new)

buffering string function. [new]

string.c (rb_str_buf_append)

ditto.

string.c (rb_str_buf_cat)

ditto.

string.c (rb_str_buf_finish)

ditto.

2001-05-28

Mon May 28 23:20:43 2001 WATANABE Hirofumi <[email protected]>

configure.in

remove unnecessary AC_CANONICAL_BUILD

defines.h

define HAVE_SETITIMER on Cygwin(bug fixed).

ruby.c

use relative path from LIBRUBY_SO.

ruby.c

don't use -mwin32 option on Cygwin.

cygwin/GNUmakefile.in

ditto.

ext/sdbm/_sdbm

ditto.

ext/tcltklib/extconf.rb

ditto.

ext/tcltklib/stubs.c

ditto.

Mon May 28 22:12:01 2001 Nobuyoshi Nakada <[email protected]>

ext/extconf.rb.in

make the priority of the make rule of .c higher than .C .

Mon May 28 13:22:19 2001 Tanaka Akira <[email protected]>

time.c (make_time_t)

local time adjustment revised.

Mon May 28 02:20:38 2001 Akinori MUSHA <[email protected]>

dir.c (glob_helper)

teach has_magic() to handle flags and get glob_helper to properly support FNM_NOESCAPE.

dir.c (fnmatch)

fix a bug when FNM_PATHNAME and FNM_PERIOD are specified at the same time.

2001-05-26

Sat May 26 09:55:26 2001 Yukihiro Matsumoto <[email protected]>

parse.y

accomplish extended syntax described in [ruby-talk:14525] using tSPC token. [new, experimental]

Sat May 26 07:05:45 2001 Usaku Nakamura <[email protected]>

MANIFEST

add win32/dir.h .

2001-05-25

Fri May 25 20:03:51 2001 Pascal Rigaux <[email protected]>

dln.c (dln_find_1)

should exclude directories in executable file lookup.

Fri May 25 18:00:26 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_obj_singleton_methods)

list methods in extended modules if optional argument is true. [new]

Fri May 25 14:19:25 2001 K.Kosako <[email protected]>

string.c (rb_str_replace)

add taint status infection

string.c (rb_str_crypt)

ditto.

string.c (rb_str_ljust)

ditto.

string.c (rb_str_rjust)

ditto.

string.c (rb_str_center)

ditto.

Fri May 25 05:39:03 2001 Akinori MUSHA <[email protected]>

ext/sha1/sha1-ruby.c (sha1_hexdigest)

fix buffer overflow. The buffer for a SHA-1 hexdigest needs to be 41 bytes in length.

Fri May 25 01:47:39 2001 Akinori MUSHA <[email protected]>

MANIFEST

update the entries I forgot to add or remove.

Fri May 25 00:57:25 2001 Akinori MUSHA <[email protected]>

ext/sha1/sha1-ruby.c (sha1_new)

separate initialize() from new().

ext/md5/md5init.c (md5i_new)

ditto.

Fri May 25 00:53:41 2001 Akinori MUSHA <[email protected]>

ext/dbm/extconf.rb

fix support for *BSD and set $CFLAGS properly.

2001-05-24

Thu May 24 16:10:33 2001 Yukihiro Matsumoto <[email protected]>

range.c (range_member)

check based on “<=>” comparison. [new]

range.c (range_check)

add “succ” check if first end is not a numeric.

range.c (range_eqq)

comparison should based on “<=>”.

range.c (range_each)

ditto.

Thu May 24 16:08:21 2001 WATANABE Hirofumi <[email protected]>

mkconfig.rb

autoconf 2.50 support.

Thu May 24 14:23:35 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

need argument adjustment for C defined blocks too.

Thu May 24 01:11:30 2001 Yukihiro Matsumoto <[email protected]>

ext/dbm/extconf.rb

header search added. [new]

2001-05-23

Wed May 23 02:58:21 2001 Tanaka Akira <[email protected]>

time.c (make_time_t)

fix ad-hoc local time adjustment, using binary tree search.

2001-05-22

Tue May 22 17:10:35 2001 K.Kosako <[email protected]>

variable.c (rb_alias_variable)

should not allow variable aliasing if $SAFE >= 4.

Tue May 22 02:37:45 2001 Yukihiro Matsumoto <[email protected]>

parse.y (expr)

“break” and “next” to take optional expression, which is used as a value for termination. [new, experimental]

eval.c (rb_eval)

“break” can give value to terminating method.

eval.c (rb_eval)

“break” and “next” to take optional expression.

eval.c (rb_yield_0)

“next” can give value to terminating “yield”.

eval.c (rb_iterate)

“break” can give value to terminating method.

eval.c (proc_call)

ditto.

2001-05-21

Mon May 21 13:15:25 2001 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big2str)

t should be protected from GC.

2001-05-19

Sat May 19 09:29:07 2001 Yukihiro Matsumoto <[email protected]>

process.c (rb_proc_times)

need not to check return value from times(2).

2001-05-18

Fri May 18 05:36:08 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in (xsystem)

backout the previous fix which was bogus.

Fri May 18 05:19:55 2001 Akinori MUSHA <[email protected]>

lib/mkmf.rb (xsystem)

make a temporary fix to get $(…) macros properly expanded on a command execution.

ext/extmk.rb.in (xsystem)

ditto.

Fri May 18 03:45:55 2001 Brian F. Feldman <[email protected]>

lib/mkmf.rb

unbreak “make install”. lib/* must be installed under $rubylibdir, not under $libdir.

Fri May 18 01:28:07 2001 Yukihiro Matsumoto <[email protected]>

parse.y (expr)

break, next, redo, retry are moved from primary.

Fri May 18 01:11:02 2001 Usaku Nakamura <[email protected]>

ext/sha1/sha1-ruby.c (sha1_new)

get rid of an unneeded rb_obj_call_init() call.

Fri May 18 01:03:55 2001 Usaku Nakamura <[email protected]>

ext/sha1/sha1.txt, ext/sha1/sha1.txt.jp

fix typos.

2001-05-17

Thu May 17 19:17:11 2001 Akinori MUSHA <[email protected]>

lib/shell.rb, lib/shell/process-controller.rb, lib/shell/command-processor.rb

translate Japanese comments into English.

Thu May 17 19:07:14 2001 Akinori MUSHA <[email protected]>

doc/shell.rd.jp

RD'ify and make some fixes.

doc/shell.rd

RD'ify, delete Japanese leftovers, make overall English fixes, and sync with doc/shell.rd.jp.

Thu May 17 17:35:04 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

address of local_vars might change during eval.

Thu May 17 07:27:09 2001 Akinori MUSHA <[email protected]>

ext/md5/md5.txt.jp, ext/sha1/sha1.txt.jp

s/SuperClass/Superclass/.

Thu May 17 07:21:44 2001 Akinori MUSHA <[email protected]>

ext/Setup.dj, ext/Setup.emx, ext/Setup.nt, ext/Setup.x68

compile sha1 in as well as md5.

ext/Setup

put sha1 in a comment.

Thu May 17 07:16:38 2001 Akinori MUSHA <[email protected]>

ext/sha1/sha1.txt.jp

add the Japanese version derived from ext/md5/md5.txt.jp.

ext/sha1/sha1.txt

revise the copyright info and reduce the difference from ext/md5/md5.txt.

ext/md5/md5.txt

reduce the difference from ext/sha1/sha1.txt.

Thu May 17 07:11:35 2001 Akinori MUSHA <[email protected]>

ext/sha1/extconf.rb, ext/sha1/sha1.c

use WORDS_BIGENDIAN to detect the platform's endian.

Thu May 17 06:31:30 2001 Akinori MUSHA <[email protected]>

ext/md5/md5.txt

make wording fixes, and mention the newly added method: “<<”.

ext/md5/md5.txt.jp

ditto.

2001-05-16

Wed May 16 18:05:52 2001 Akinori MUSHA <[email protected]>

ext/md5/md5init.c

add an instance method “<<” as an alias for “update”. (inspired by Steve Coltrin's ruby-sha1)

2001-05-15

Tue May 15 17:46:37 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_and)

should not push frozen key string.

array.c (rb_ary_or)

ditto.

Tue May 15 02:18:23 2001 Akinori MUSHA <[email protected]>

lib/thread.rb

rescue ThreadError in case the thread is dead just before calling Thread#run.

2001-05-14

Mon May 14 13:50:22 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

should save context before raising deadlock, saved context for current thread might be obsolete.

time.c (make_time_t)

non DST timezone shift supported (hopefully).

time.c (make_time_t)

strict range detection for negative time_t.

Mon May 14 11:54:20 2001 Tanaka Akira <[email protected]>

signal.c

SIGINFO added.

Mon May 14 08:57:06 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_ensure)

should not SEGV when prot_tag is NULL.

2001-05-13

Sun May 13 23:51:14 2001 Usaku Nakamura <[email protected]>

win32/resource.rb

Modify copyright in resource script.

Sun May 13 14:03:33 2001 Okada Jun <[email protected]>

lib/thread.rb

fix Queue#pop and SizedQueue#max= to avoid deadlock.

2001-05-12

Sat May 12 15:43:55 2001 Usaku Nakamura <[email protected]>

win32/win32.c (kill)

add support of signal 9 on mswin32/mingw32.

2001-05-11

Fri May 11 15:09:52 2001 WATANABE Hirofumi <[email protected]>

ruby.h (rb_string_value)

add volatile to avoid compiler warning.

string.c (rb_string_value)

ditto.

Fri May 11 03:35:33 2001 Akinori MUSHA <[email protected]>

README.EXT

Document find_library(), with_config() and dir_config().

Fri May 11 03:34:20 2001 Akinori MUSHA <[email protected]>

README.EXT.jp

Remove the description of find_header() because such a function does not actually exist.

README.EXT.jp

Update the description of dir_config().

Fri May 11 02:42:05 2001 Kazuhiro NISHIYAMA <[email protected]>

README, README.jp

Fix CVS access and mailing lists info.

Fri May 11 02:00:44 2001 Ryo HAYASAKA <[email protected]>

bignum.c (bigdivrem)

access boundary bug.

2001-05-10

Thu May 10 02:40:47 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

prohibit dumping out singleton classes.

object.c (rb_mod_to_s)

distinguish singleton classes.

variable.c (rb_class2name)

it's ok to reveal NilClass, TrueClass, FalseClass.

2001-05-09

Wed May 9 14:38:33 2001 K.Kosako <[email protected]>

eval.c (rb_yield_0)

preserve and restore ruby_cref as well.

2001-05-08

Tue May 8 18:28:19 2001 Keiju Ishitsuka <[email protected]>

Tue May 8 17:12:43 2001 K.Kosako <[email protected]>

eval.c (is_defined)

core dumped during instance_eval for special constants.

eval.c (rb_eval)

ditto.

Tue May 8 08:52:57 2001 Akinori MUSHA <[email protected]>

doc/forwardable.rd, doc/forwardable.rd.jp

Hit `=begin' and `=end' in proper places so rd2 can format them without a problem.

doc/irb/irb-tools.rd.jp, doc/irb/irb.rd, doc/irb/irb.rd.jp

ditto.

Tue May 8 08:38:53 2001 Akinori MUSHA <[email protected]>

doc/forwardable.rd, doc/forwardable.rd.jp, lib/forwardable.rb

Import forwardable 1.1.

Tue May 8 08:34:33 2001 Akinori MUSHA <[email protected]>

doc/irb/irb-tools.rd.jp, doc/irb/irb.rd.jp

Convert from JIS to EUC.

Tue May 8 03:46:39 2001 Akinori MUSHA <[email protected]>

sample/rbc.rb

Obsoleted by IRB.

2001-05-07

Mon May 7 15:58:45 2001 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

“||=” should not warn for uninitialized instance variables.

eval.c (rb_eval)

ditto.

eval.c (eval)

preserve and restore ruby_cref as well.

Mon May 7 15:45:48 2001 WATANABE Hirofumi <[email protected]>

lib/ftools.rb (syscopy)

chmod destination file only if it does not exist.

Mon May 7 14:35:57 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_is_instance_of)

takes only class/module as an argument.

2001-05-06

Sun May 6 16:27:29 2001 Koji Arai <[email protected]>

eval.c (is_defined)

rb_reg_nth_defined() may return Qnil.

2001-05-03

Thu May 3 03:15:06 2001 SHIROYAMA Takayuki <[email protected]>

configure.in

get –enable-shared to work on MacOS X.

Makefile.in

make $(LIBRUBY_SO) depend on miniruby properly. Now `make -jN' should work without a problem.

Thu May 3 02:07:45 2001 Usaku Nakamura <[email protected]>

win32/config.h.in

add SIZEOF___INT64 definition.

2001-05-02

Wed May 2 20:39:35 2001 WATANABE Hirofumi <[email protected]>

dir.c (rb_glob, rb_globi)

remove unnecessary FNM_PATHNAME.

Wed May 2 11:46:13 2001 K.Kosako <[email protected]>

eval.c (block_pass)

should not downgrade safe level.

Wed May 2 03:07:49 2001 Yukihiro Matsumoto <[email protected]>

ext/dbm/extconf.rb

allow specifying dbm-type explicitly.

ext/dbm/extconf.rb

avoid gdbm if possible, because it leaks memory, whereas gdbm.so doesn't. potential incompatibility.

Wed May 2 02:02:18 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_insert)

new method.

2001-05-01

Tue May 1 17:55:58 2001 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

lex_state after RESCUE_MOD should be EXPR_BEG.

Tue May 1 16:23:03 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_insert)

new method.

array.c (rb_ary_update)

new utility function.

Tue May 1 03:24:05 2001 Akinori MUSHA <[email protected]>

lib/irb/completion.rb, lib/irb/frame.rb, lib/irb/xmp.rb, doc/irb/irb-tools.rd.jp

Merge from irb-tools 0.7.1.

Tue May 1 03:07:17 2001 Akinori MUSHA <[email protected]>

sample/irb.rb, lib/irb.rb, lib/irb/*, doc/irb/*

Merge from irb 0.7.3.

instruby.rb

Install help-message's too.

lib/irb/main.rb

This file is not needed anymore.

2001-04-27

Fri Apr 27 09:27:10 2001 Yukihiro Matsumoto <[email protected]>

io.c (set_outfile)

should check if closed before assignment.

2001-04-26

Thu Apr 26 22:36:11 2001 WATANABE Hirofumi <[email protected]>

configure.in

don't use tzname on Cygwin 1.3.1+.

configure.in

add -mieee/-ieee to CFLAGS on OSF1/Alpha to disable “DIVISION BY ZERO” exception.

Thu Apr 26 22:30:43 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should preserve value of ruby_errinfo.

Thu Apr 26 10:36:09 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

infinite sleep should not cause dead lock.

2001-04-25

Wed Apr 25 16:40:44 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_flatten_bang)

proper recursive detection.

Wed Apr 25 15:36:15 2001 K.Kosako <[email protected]>

eval.c (yield_under)

need not to prohibit at safe level 4.

Wed Apr 25 15:22:20 2001 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

p/P packs nil into NULL.

pack.c (pack_unpack)

p/P unpacks NULL into nil.

2001-04-24

Tue Apr 24 15:35:32 2001 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

size check for P template.

ruby.c (set_arg0)

wrong predicate when new $0 value is bigger than original space.

Tue Apr 24 15:18:49 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

(dir_config) do not add the specified include directory if already included in $CPPFLAGS.

ext/extmk.rb.in, lib/mkmf.rb

(dir_config) return a more useful value, [include_dir, lib_dir].

2001-04-23

Mon Apr 23 14:43:59 2001 Yukihiro Matsumoto <[email protected]>

gc.c (id2ref)

should use NUM2ULONG()

object.c (rb_mod_const_get)

check whether name is a class variable name.

object.c (rb_mod_const_set)

ditto.

object.c (rb_mod_const_defined)

ditto.

2001-04-22

Sun Apr 22 17:44:37 2001 WATANABE Hirofumi <[email protected]>

configure.in

add -mieee to CFLAGS on Linux/Alpha to disable “DIVISION BY ZERO” exception.

configure.in

remove -ansi on OSF/1.

2001-04-21

Sat Apr 21 22:33:26 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (w_float)

precision changed to “%.16g”

Sat Apr 21 22:07:58 2001 Guy Decoux <[email protected]>

eval.c (rb_call0)

wrong retry behavior.

2001-04-20

Fri Apr 20 19:12:20 2001 Yukihiro Matsumoto <[email protected]>

numeric.c (fix_aref)

a bug on long>int architecture.

Fri Apr 20 14:57:15 2001 K.Kosako <[email protected]>

eval.c (rb_eval_string_wrap)

should restore ruby_wrapper.

2001-04-18

Wed Apr 18 04:37:51 2001 Wakou Aoyama <[email protected]>

lib/cgi.rb

CGI::Cookie: no use PATH_INFO.

Wed Apr 18 00:24:40 2001 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

char class at either edge of range should be invalid.

2001-04-17

Tue Apr 17 17:33:55 2001 Yukihiro Matsumoto <[email protected]>

eval.c (handle_rescue)

use === to compare exception match.

error.c (syserr_eqq)

comparison between SystemCallErrors should based on their error numbers.

Tue Apr 17 16:54:39 2001 K.Kosako <[email protected]>

eval.c (safe_getter)

should use INT2NUM().

Tue Apr 17 15:12:56 2001 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big2long)

2**31 cannot fit in 31 bit long.

2001-04-14

Sat Apr 14 22:46:43 2001 Guy Decoux <[email protected]>

regex.c (calculate_must_string)

wrong length calculation.

Sat Apr 14 13:37:32 2001 Usaku Nakamura <[email protected]>

win32/config.status.in

no longer use missing/alloca.c.

win32/Makefile.sub

ditto.

2001-04-13

Fri Apr 13 12:40:48 2001 K.Kosako <[email protected]>

eval.c (rb_thread_start_0)

fixed memory leak.

Fri Apr 13 16:41:18 2001 Yukihiro Matsumoto <[email protected]>

parse.y (none)

should clear cmdarg_stack too.

Fri Apr 13 06:19:29 2001 GOTOU Yuuzou <[email protected]>

io.c (rb_fopen)

use setvbuf() to avoid recursive malloc() on some platforms.

2001-04-11

Wed Apr 11 23:36:26 2001 Yukihiro Matsumoto <[email protected]>

file.c (rb_stat_dev)

device functions should honor stat field types (except long long such as dev_t).

Wed Apr 11 18:07:53 2001 K.Kosako <[email protected]>

eval.c (rb_mod_nesting)

should not push nil for nesting array.

eval.c (rb_mod_s_constants)

should not search array by rb_mod_const_at() for nil (happens for singleton class).

Wed Apr 11 13:29:26 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_singleton_class_attached)

should modify iv_tbl by itself, no longer use rb_iv_set() to avoid freeze check error.

variable.c (rb_const_get)

error message “uninitialized constant Foo at Bar::Baz” instead of “uninitialized constantBar::Baz::Foo”.

2001-04-10

Tue Apr 10 17:52:10 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_included)

new hook called from rb_mod_include().

Tue Apr 10 02:24:40 2001 Nobuyoshi Nakada <[email protected]>

io.c (opt_i_set)

should strdup() inplace_edit string.

2001-04-09

Mon Apr 9 23:29:54 2001 Yukihiro Matsumoto <[email protected]>

eval.c (exec_under)

need to push cref too.

Mon Apr 9 15:20:21 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_missing)

raise NameError for “undefined local variable or method”.

error.c (Init_Exception)

new exception NoMethodError. NameError moved under ScriptError again.

eval.c (rb_f_missing)

use NoMethodError instead of NameError.

Mon Apr 9 12:05:44 2001 Yukihiro Matsumoto <[email protected]>

file.c (Init_File)

should redefine “new” class method.

Mon Apr 9 11:56:52 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb

fix typo.

2001-04-06

Fri Apr 6 01:46:35 2001 Yukihiro Matsumoto <[email protected]>

eval.c (PUSH_CREF)

sharing cref node was problematic. maintain runtime cref list instead.

eval.c (rb_eval)

copy defn node before registering.

eval.c (rb_load)

clear ruby_cref before loading.

2001-04-05

Thu Apr 5 22:40:12 2001 Yukihiro Matsumoto <[email protected]>

variable.c (rb_const_get)

no recursion to show full class path for modules.

eval.c (rb_set_safe_level)

should set safe level in curr_thread as well.

eval.c (safe_setter)

ditto.

Thu Apr 5 13:46:06 2001 K.Kosako <[email protected]>

object.c (rb_obj_is_instance_of)

nil belongs to false, not true.

Thu Apr 5 02:19:03 2001 Yukihiro Matsumoto <[email protected]>

time.c (make_time_t)

proper (I hope) daylight saving time handling for both US and Europe. I HATE DST!

eval.c (rb_thread_wait_for)

non blocked signal interrupt should stop the interval.

2001-04-04

Wed Apr 4 03:47:03 2001 Yukihiro Matsumoto <[email protected]>

eval.c (proc_eq)

class check added.

eval.c (proc_eq)

typo fixed (“return” was omitted).

error.c (Init_Exception)

move NameError under StandardError.

class.c (rb_mod_clone)

should copy method bodies too.

bignum.c (bigdivrem)

should trim trailing zero bdigits of remainder, even if dd == 0.

file.c (check3rdbyte)

safe string check moved here.

2001-04-03

Tue Apr 3 09:56:20 2001 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in (create_makefile)

create def file only if it does not yet exist.

lib/mkmf.rb

ditto.

Tue Apr 3 00:05:07 2001 Yukihiro Matsumoto <[email protected]>

time.c (make_time_t)

remove HAVE_TM_ZONE code since it sometimes reports wrong time.

time.c (make_time_t)

remove unnecessary range check for platforms where negative time_t is available.

2001-04-02

Mon Apr 2 16:52:48 2001 Yukihiro Matsumoto <[email protected]>

process.c (proc_waitall)

should push Process::Status instead of Fixnum status.

process.c (waitall_each)

should add all entries in pid_tbl. these changes are inspired by Koji Arai. Thanks.

process.c (proc_wait)

should not iterate if pid_tbl is 0.

process.c (proc_waitall)

ditto.

Mon Apr 2 14:25:49 2001 Shugo Maeda <[email protected]>

lib/monitor.rb (wait)

ensure reentrance.

lib/monitor.rb (wait)

fix timeout support.

Mon Apr 2 12:40:45 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb (media_subtype)

return subtype.

Mon Apr 2 12:01:15 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb (flag_list)

capitalize flags.

Mon Apr 2 01:32:38 2001 Akinori MUSHA <[email protected]>

Makefile.in

Introduce MAINLIBS.

configure.in

Link libc_r against the ruby executable on FreeBSD, which is the first attempt to work around a certain problem regarding pthread on FreeBSD. It should make ruby/libruby happy when it loads an extension to a library compiled and linked with -pthread. Note, however, that libruby is not linked with libc_r so as not to mess up pthread unfriendly stuff including apache+mod_ruby and vim6+ruby_interp.

Mon Apr 2 01:16:24 2001 WATANABE Hirofumi <[email protected]>

win32/win32.c

use ruby's opendir on mingw32.

win32/dir.h, dir.c, Makefile

ditto.

2001-04-01

Sun Apr 1 23:26:14 2001 TOYOFUKU Chikanobu <[email protected]>

numeric.c (flodivmod)

a bug in no fmod case.

Sun Apr 1 18:36:14 2001 Koji Arai <[email protected]>

process.c (pst_wifsignaled)

should apply WIFSIGNALED for status

2001-03-31

Sat Mar 31 04:47:55 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb

add document and example code.

Sat Mar 31 03:24:10 2001 Yukihiro Matsumoto <[email protected]>

io.c (Init_IO)

value of $/ and $\ are no longer restricted to strings. type checks are done on demand.

class.c (rb_include_module)

module inclusion should be check taints.

ruby.h (STR2CSTR)

replace to StringType() and StringTypePtr().

ruby.h (rb_str2cstr)

ditto.

2001-03-30

Fri Mar 30 23:37:49 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_load)

should not copy toplevel local variables. It cause variable/method ambiguity. Thanks to L. Peter Deutsch.

Fri Mar 30 22:56:56 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb

rename ContinueRequest to ContinuationRequest.

Fri Mar 30 12:51:19 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_include_module)

freeze check at first.

2001-03-29

Thu Mar 29 17:05:09 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_attr)

sprintf() and rb_intern() moved into conditional body.

2001-03-28

Wed Mar 28 23:43:00 2001 Nobuyoshi Nakada <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

add C++ rules in addition to C rules for the mswin32 platforms.

Wed Mar 28 19:29:21 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

move C++ rules to the right place.

Wed Mar 28 17:39:04 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_str2cstr)

warn if string contains 0 and length value is ignored.

Wed Mar 28 15:00:31 2001 K.Kosako <[email protected]>

class.c (rb_singleton_class_clone)

should copy class constant table as well.

Wed Mar 28 14:23:23 2001 Yukihiro Matsumoto <[email protected]>

class.c (rb_include_module)

sometimes cache was mistakenly left uncleared - based on the patch by K.Kosako.

ruby.h

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

Wed Mar 28 09:52:33 2001 WATANABE Hirofumi <[email protected]>

win32/Makefile.sub

disable global optimization.

2001-03-27

Tue Mar 27 15:00:54 2001 K.Kosako <[email protected]>

eval.c (rb_mod_define_method)

should have clear method cache.

eval.c (rb_mod_define_method)

should have raised exception for type error.

Tue Mar 27 14:48:17 2001 Yukihiro Matsumoto <[email protected]>

ruby.h

changed “extern INLINE” to “static inline”.

2001-03-26

Mon Mar 26 23:19:33 2001 WATANABE Hirofumi <[email protected]>

time.c (rb_strftime)

check whether strftime returns empty string.

Mon Mar 26 21:16:56 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb

supports response handlers and multiple commands.

Mon Mar 26 17:21:07 2001 Yukihiro Matsumoto <[email protected]>

eval.c

remove TMP_PROTECT_END to prevent C_ALLOCA crash.

Mon Mar 26 14:04:41 2001 WATANABE Hirofumi <[email protected]>

ext/Win32API/Win32API.c

remove Init_win32api().

2001-03-25

Sun Mar 25 16:52:48 2001 Koji Arai <[email protected]>

file.c (rb_file_flock)

do not trap EINTR.

missing/flock.c (flock)

returns the value from lockf(2) directly.

2001-03-24

Sat Mar 24 23:44:50 2001 Yukihiro Matsumoto <[email protected]>

eval.c (ev_const_defined)

should ignore toplevel cbase (Object).

eval.c (ev_const_get)

ditto.

2001-03-23

Fri Mar 23 17:37:52 2001 Yukihiro Matsumoto <[email protected]>

ext/md5/md5.h

replace by independent md5 implementation contributed by L. Peter Deutsch (thanks).

ext/md5/md5init.c

adopted to Deutsch's md5 implementation.

Fri Mar 23 17:26:19 2001 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

string from P/p should be tainted.

Fri Mar 23 12:18:44 2001 SHIROYAMA Takayuki <[email protected]>

ext/curses/curses.c

curses on Mac OS X public beta does not have _maxx etc.

Fri Mar 23 10:50:31 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

should truncate trailing zero short for bignums.

Fri Mar 23 09:49:02 2001 Yukihiro Matsumoto <[email protected]>

object.c (sym_intern)

new method.

2001-03-22

Thu Mar 22 22:15:45 2001 WATANABE Hirofumi <[email protected]>

ext/Win32API/extconf.rb

add -fno-omit-frame-pointer.

Thu Mar 22 18:17:36 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_nesting)

should not include Object at the toplevel.

Thu Mar 22 17:43:44 2001 Yukihiro Matsumoto <[email protected]>

ruby.h

better inline function support.

configure.in (NO_C_INLINE)

check if inline is available for the C compiler.

2001-03-21

Wed Mar 21 23:07:45 2001 WATANABE Hirofumi <[email protected]>

win32/win32.c (win32_stat)

WinNT/2k “//host/share” support.

Wed Mar 21 08:05:35 2001 Nobuyoshi Nakada <[email protected]>

win32/dir.h

replace missing/dir.h .

win32/win32.h

ditto.

win32/win32.c

ditto.

Wed Mar 21 01:26:14 2001 Yukihiro Matsumoto <[email protected]>

gc.c (id2ref)

sometimes confused symbol and reference.

2001-03-20

Tue Mar 20 23:09:33 2001 WATANABE Hirofumi <[email protected]>

win32/win32.c (win32_stat)

UNC support.

dir.c (extract_path)

fix “./*” problem.

Tue Mar 20 15:10:00 2001 Yukihiro Matsumoto <[email protected]>

dir.c (glob_helper)

breaks loop after calling recursive glob_helper; all wild cards should be consumed; no need for further match.

dir.c (dir_s_glob)

gives warning if no match found.

Tue Mar 20 14:13:45 2001 Koji Arai <[email protected]>

object.c (sym_inspect)

did allocate extra byte space.

2001-03-19

Mon Mar 19 11:03:10 2001 Koji Arai <[email protected]>

marshal.c (r_object)

len calculation patch was wrong for machines SIZEOF_BDIGITS == SIZEOF_SHORT.

gc.c

alloca prototype reorganized for C_ALLOCA machine.

Mon Mar 19 19:14:47 2001 Guy Decoux <[email protected]>

marshal.c (shortlen)

shortlen should return number of bytes written.

Mon Mar 19 16:52:23 2001 K.Kosako <[email protected]>

eval.c (ev_const_defined)

need not to check if cbase->nd_class is rb_cObject.

eval.c (ev_const_get)

ditto.

Mon Mar 19 17:11:20 2001 Yukihiro Matsumoto <[email protected]>

time.c (time_zone)

return “UTC” for UTC time objects.

Mon Mar 19 16:27:32 2001 Yukihiro Matsumoto <[email protected]>

eval.c (THREAD_ALLOC)

flags should be initialized.

signal.c (rb_f_kill)

should use FIX2INT, not FIX2UINT.

Mon Mar 19 10:55:10 2001 Yukihiro Matsumoto <[email protected]>

dir.c (glob_helper)

replace lstat() by stat() to follow symlink in the case like 'symlink/*'.

dir.c (glob_helper)

gave warning too much.

2001-03-18

Sun Mar 18 08:58:18 2001 Wakou Aoyama <[email protected]>

lib/cgi.rb

// === '' –> //.match('')

lib/cgi.rb

cgi#header(): improvement for mod_ruby.

lib/cgi.rb

cgi#rfc1123date(): improvement. thanks to TADA Tadashi <[email protected]>.

lib/cgi.rb

cgi#rfc1123date(): document bug fix. thanks to Kazuhiro NISHIYAMA <[email protected]>.

lib/cgi.rb

cgi#header(): bug fix. thanks to IWATSUKI Hiroyuki <[email protected]>.

2001-03-17

Sat Mar 17 11:11:24 2001 Yukihiro Matsumoto <[email protected]>

dir.c (glob_helper)

* should follow symlink, whereas ** should not follow.

2001-03-16

Fri Mar 16 17:14:17 2001 Akinori MUSHA <[email protected]>

configure.in

Set SOLIBS properly for all ELF and FreeBSD/NetBSD/OpenBSD a.out platforms so that the shlib dependencies are recorded in the libruby shlib.

2001-03-15

Thu Mar 15 01:28:02 2001 Yukihiro Matsumoto <[email protected]>

dir.c (dir_s_chdir)

block form of Dir.chdir. (RCR#U016).

2001-03-14

Wed Mar 14 16:41:45 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

raise FATAL just once to THREAD_TO_KILL.

Wed Mar 14 10:41:34 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

0 (= Qfalse) is a valid value, so that default self should be checked by klass == 0.

bignum.c (rb_cstr2inum)

should disallow '++1', '+-1', etc.

2001-03-13

Tue Mar 13 17:51:09 2001 Yukihiro Matsumoto <[email protected]>

eval.c (ev_const_defined)

add new parameter self for special const fallback.

eval.c (ev_const_get)

ditto.

Tue Mar 13 16:39:45 2001 WATANABE Hirofumi <[email protected]>

dir.c (rb_glob_helper)

fix drive letter handling on DOSISH.

Tue Mar 13 14:54:39 2001 Minero Aoki <[email protected]>

lib/net/http.rb

add HTTPRequest#basic_auth.

lib/net/smtp.rb

raise if only account or password is given.

lib/net/protocol.rb

WriteAdapter#<< returns self.

Tue Mar 13 14:41:16 2001 Yukihiro Matsumoto <[email protected]>

io.c (argf_seek_m)

wrong calling sequence of rb_io_seek().

Tue Mar 13 09:14:19 2001 Yukihiro Matsumoto <[email protected]>

parse.y (cond0)

no special treatment of string literal in condition.

2001-03-12

Mon Mar 12 18:59:38 2001 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (create_makefile)

save/restore $libs and $LIBPATH.

2001-03-11

Sun Mar 11 18:13:34 2001 Masahiro Tanaka <[email protected]>

math.c

add acos, asin, atan, conh, sinh, tanh and hypot to Math.

configure.in

check hypot availability.

missing/hypot.c

public domain rewrite of hypot.

Sun Mar 11 13:21:04 2001 Koji Arai <[email protected]>

parse.y (warn_unless_e_option)

warning condition was wrong.

parse.y (warning_unless_e_option)

ditto.

Sun Mar 11 00:55:31 2001 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (install_rb)

fix handling of destination path.

2001-03-10

Sat Mar 10 22:56:44 2001 Yukihiro Matsumoto <[email protected]>

enum.c (enum_all)

new method 'all?', which returns true if block returns true for all elements.

enum.c (enum_any)

new method 'any?', which returns true if block returns true for any of elements.

Sat Mar 10 02:34:18 2001 WATANABE Hirofumi <[email protected]>

math.c (math_log, math_log10)

use nan() instead of 0.0/0.0 on Cygwin.

2001-03-09

Fri Mar 9 09:56:19 2001 Yukihiro Matsumoto <[email protected]>

marshal.c (marshal_load)

do not give warning unless explicitly set to verbose.

Fri Mar 9 02:07:53 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_exit)

give string value “exit” to SystemExit.

ruby.c (proc_options)

-v should not print version if proc_options called via moreswitches().

2001-03-08

Thu Mar 8 17:45:19 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

one write(2) per one line.

2001-03-07

Wed Mar 7 14:26:11 2001 WATANABE Hirofumi <[email protected]>

math.c (math_log, math_log10)

should return NaN if x < 0.0 on Cygwin.

Thu Mar 7 10:31:26 2001 Nobuyoshi Nakada <[email protected]>

parse.y (stmt)

while/until modifier must work for empty body.

2001-03-06

Tue Mar 6 22:53:58 2001 Kazuhiro Yoshida <[email protected]>

ruby.c (ruby_set_argv)

clear ARGV contents before adding args.

Tue Mar 6 10:50:29 2001 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

rescue and ensure clauses should be allowed to appear in singleton method body.

2001-03-05

Mon Mar 5 17:25:13 2001 Yukihiro Matsumoto <[email protected]>

eval.c (proc_eq)

compare Procs using blocktag equality.

eval.c (proc_to_s)

stringify according to block tag address.

Mon Mar 5 17:19:56 2001 WATANABE Hirofumi <[email protected]>

win32/win32.c (gettimeofday)

use GetLocalTime() instead of ftime() for high-resolution timing.

2001-03-04

Sun Mar 4 17:01:09 2001 WATANABE Hirofumi <[email protected]>

string.c (trnext)

support backslash escape in String#tr.

2001-03-03

Sat Mar 3 16:15:16 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

push cbase if ruby_cbase != ruby_class, for example in the case NODE_DEFN/NODE_DEFS are called within module_eval.

2001-02-28

Wed Feb 28 11:02:41 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_delete_bang)

delete! should take at least 1 argument.

ruby.c (load_file)

add rb_gc() after loading to avoid extraordinary memory growth.

Wed Feb 28 05:01:40 2001 Koji Arai <[email protected]>

dir.c (rb_glob_helper)

“./foo” should match “foo”, not “./foo”.

2001-02-27

Tue Feb 27 16:38:15 2001 Yukihiro Matsumoto <[email protected]>

eval.c (ev_const_get)

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

eval.c (ev_const_defined)

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

time.c (time_timeval)

negative time interval should not be allowed.

eval.c (proc_call)

ignore block to `call' always, despite of being orphan or not.

Wed Feb 27 10:16:32 2001 Nobuyoshi Nakada <[email protected]>

eval.c (rb_yield_0)

should check based on rb_block_given_p() and rb_f_block_given_p().

Tue Feb 27 04:13:45 2001 Nobuyoshi Nakada <[email protected]>

configure.in (frame-address)

–enable-frame-address to allow __builtin_frame_address() to be used.

eval.c (stack_length)

use __builtin_frame_address() based on the macro USE_BUILTIN_FRAME_ADDRESS.

gc.c (rb_gc)

ditto.

gc.c (Init_stack)

ditto.

2001-02-26

Mon Feb 26 16:20:27 2001 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

call ruby_show_version() just once.

dir.c (dir_s_open)

returns the value from a block (if given).

Mon Feb 26 14:29:04 2001 Akinori MUSHA <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

add C++ rules in addition to C rules.

Mon Feb 26 00:04:52 2001 Yukihiro Matsumoto <[email protected]>

eval.c (proc_call)

should not modify ruby_block->frame.iter based on ruby_frame->iter altered by PUSH_ITER().

Mon Feb 26 05:27:52 2001 Wakou Aoyama <[email protected]>

lib/net/telnet.rb

telnetmode(), binmode(): bug fix. thanks to [email protected].

Mon Feb 26 04:55:50 2001 Wakou Aoyama <[email protected]>

lib/cgi.rb

CGI#form(): bug fix. thanks to MoonWolf <[email protected]>.

lib/cgi.rb

CGI#rfc1123_date(): improvement. thanks to Tomoyasu Akita <[email protected]>.

lib/cgi.rb

CGI#header(): improvement for mod_ruby. thanks to Shugo Maeda <[email protected]>.

2001-02-25

Sun Feb 25 02:45:30 2001 WATANABE Hirofumi <[email protected]>

file.c (rb_file_s_rename)

avoid Cygwin's bug.

2001-02-24

Sat Feb 24 23:32:55 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_fd_close)

should save current context before raising exception.

Sat Feb 24 22:14:00 2001 WATANABE Hirofumi <[email protected]>

win32/win32.c (myrename)

fix error handling.

Sat Feb 24 13:58:48 2001 Minero Aoki <[email protected]>

lib/net/http.rb

always close connection on request without body.

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

change copyright.

Sat Feb 24 03:15:49 2001 Yukihiro Matsumoto <[email protected]>

io.c (set_stdin)

preserve original stdin.

io.c (set_outfile)

preserve original stdout/stderr.

2001-02-23

Fri Feb 23 08:28:58 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

clear read buffer after reopen.

lib/net/protocol.rb

refactoring.

lib/net/http.rb

split module HTTPHeader from HTTPResponse.

2001-02-20

Tue Feb 20 23:45:35 2001 WATANABE Hirofumi <[email protected]>

process.c

add W* macro if not available.

Tue Feb 20 16:37:58 2001 Yukihiro Matsumoto <[email protected]>

configure.in

add check for negative time_t for gmtime(3).

time.c (time_new_internal)

no positive check if gmtime(3) can handle negative time_t.

time.c (time_timeval)

ditto.

bignum.c (rb_big2long)

should not raise RangeError for Bignum LONG_MIN value.

2001-02-19

Mon Feb 19 17:46:37 2001 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_substr)

a” should return “”; need rubicon upgrade.

Mon Feb 19 12:10:36 2001 Triet H. Lai <[email protected]>

error.c (rb_sys_warning)

new function to give warning with strerror() message.

dir.c (rb_glob_helper)

better error handling, along with performance tune.

Mon Feb 19 01:55:43 2001 Yukihiro Matsumoto <[email protected]>

eval.c (secure_visibility)

visibility check for untainted modules.

Mon Feb 19 00:29:29 2001 Nobuyoshi Nakada <[email protected]>

signal.c (sigpipe)

sighandler which does nothing.

signal.c (trap)

set sigpipe function for SIGPIPE.

signal.c (Init_signal)

default SIGPIPE handler should be sigpipe function.

2001-02-18

Sun Feb 18 15:42:38 2001 WATANABE Hirofumi <[email protected]>

ext/curses/extconf.rb

add dir_config.

missing/flock.c

use fcntl(2) instead of lockf(2).

Sun Feb 18 05:46:03 2001 Minero Aoki <[email protected]>

lib/net/http.rb

Response#range_length was not debugged.

Sun Feb 18 04:02:03 2001 Yasushi Shoji <[email protected]>

array.c (rb_ary_subseq)

wrong boundary check.

Sun Feb 18 00:09:50 2001 Nobuyoshi Nakada <[email protected]>

win32/win32.c

make file I/O faster on mswin32/mingw32.

win32/win32.h

ditto.

rubysig.h

ditto.

2001-02-17

Sat Feb 17 23:32:45 2001 Yukihiro Matsumoto <[email protected]>

parse.y (cond0)

integer literal in condition should not be compared to lineno ($.).

2001-02-16

Fri Feb 16 01:44:56 2001 Yukihiro Matsumoto <[email protected]>

io.c (set_outfile)

f should be the FILE* from the assigning value.

ext/socket/socket.c (tcp_s_open)

should not give default value to local_host.

time.c (time_s_times)

move to Process::times.

file.c (rb_file_s_lchmod)

new method File::lchmod.

file.c (rb_file_s_lchown)

new method File::lchown.

2001-02-15

Thu Feb 15 11:33:49 2001 Shugo Maeda <[email protected]>

lib/cgi/session.rb (close)

fixed reversed condition.

Thu Feb 15 08:34:14 2001 Yukihiro Matsumoto <[email protected]>

process.c (proc_waitall)

new method based on a patch from Brian Fundakowski Feldman <[email protected]>.

process.c (last_status_set)

objectify $? value (Process::Status).

2001-02-14

Wed Feb 14 17:28:24 2001 Shugo Maeda <[email protected]>

lib/net/imap.rb

supports unknown resp_text_code.

Wed Feb 14 00:44:17 2001 Yukihiro Matsumoto <[email protected]>

dir.c (dir_s_glob)

support backslash escape of metacharacters and delimiters.

dir.c (remove_backslases)

remove backslashes from path before calling stat(2).

dir.c (dir_s_glob)

call rb_yield directly (via push_pattern) if block is given to the method.

dir.c (push_pattern)

do not call rb_ary_push; yield directly.

eval.c (blk_copy_prev)

reduced ALLOC_N too much.

eval.c (frame_dup)

ditto.

2001-02-13

Tue Feb 13 23:05:38 2001 WATANABE Hirofumi <[email protected]>

dir.c (lstat)

should use rb_sys_stat if lstat(2) is not available.

Tue Feb 13 08:43:10 2001 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_ctl)

do not call ioctl/fcntl for f2, if f and f2 have same fileno.

Tue Feb 13 01:13:43 2001 Yukihiro Matsumoto <[email protected]>

eval.c (rb_load)

raise LocalJumpError if unexpected local jumps appear during load.

ext/socket/socket.c (bsock_close_read)

don't call rb_thread_fd_close(); it's supposed to be called by io_io_close().

ext/socket/socket.c (bsock_close_read)

do not modify f and f2.

ext/socket/socket.c (bsock_close_write)

ditto.

ext/socket/socket.c (sock_new)

avoid dup(2) on sockets.

parse.y (primary)

preserve and clear in_single and in_def using stack to prevent nested method errors in singleton class bodies.

2001-02-11

Sun Feb 11 16:00:30 2001 WATANABE Hirofumi <[email protected]>

eval.c (stack_length)

use __builtin_frame_address() only if GCC and i386 CPU.

gc.c (rb_gc, Init_stack)

ditto.

configure.in

add ac_cv_func_getpgrp_void=yes on DJGPP.

2001-02-10

Sat Feb 10 23:43:49 2001 Nobuyoshi Nakada <[email protected]>

hash.c (rb_any_hash)

dumped core on machines sizeof(int) != sizeof(long).

Sat Feb 10 23:07:15 2001 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_s_for_fd)

IO::for_fd(fd) - new method.

regex.c (PREV_IS_A_LETTER)

should not treat c>0x7f as a word character if -Kn.

Sat Feb 10 00:00:30 2001 Nobuyoshi Nakada <[email protected]>

win32/win32.c (win32_stat)

replace stat to enable when pathname ends with '/' or '' for mswin32 on Win9X / Win2k.

win32/win32.h

ditto.

ruby.h

ditto.

dir.c (rb_glob_helper)

ditto.

file.c (rb_stat, rb_file_s_stat, eaccess, check3rdbyte)

ditto.

2001-02-09

Fri Feb 9 22:54:57 2001 WATANABE Hirofumi <[email protected]>

ruby.c (ruby_init_loadpath)

convert '\' to '/' before finding executable file path.

Fri Feb 9 17:41:53 2001 Triet H. Lai <[email protected]>

dir.c (rb_glob_helper)

do not follow symbolic links.

2001-02-08

Thu Feb 8 21:27:24 2001 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb (install_rb)

fix handling of relative path.

lib/mkmf.rb (create_makefile)

add srcdir.

Thu Feb 8 02:22:09 2001 Minero Aoki <[email protected]>

lib/net/http.rb

join HTTPReadResponse into HTTPResponse again.

lib/net/http.rb

move http_version() from HTTPRequest to HTTPResponse.

lib/net/protocol.rb

refactoring.

2001-02-07

Wed Feb 7 16:27:27 2001 Minero Aoki <[email protected]>

lib/net/http.rb

split HTTPResponse into HTTPReadResponse module.

lib/net/protocol.rb

add Net::net_private.

lib/net/protocol.rb

Socket#reopen takes arg, open_timeout.

Wed Feb 7 16:05:22 2001 Nobuyoshi Nakada <[email protected]>

parse.y (parse_quotedwords)

%w should allow parenthesis escape.

Wed Feb 7 00:57:42 2001 Yukihiro Matsumoto <[email protected]>

parse.y (parse_qstring)

%q should allow terminator escape.

re.c (rb_reg_options)

new method to give an option values.

parse.y (cond0)

disable special treating of integer literal in conditional unless option -e is supplied. changes current behavior. experimental.

parse.y (cond0)

give warning for string/integer literals and dot operators in conditionals unless option -e is supplied.

re.c (rb_reg_equal)

all option flags should be same to be equal.

2001-02-06

Tue Feb 6 21:30:44 2001 Minero Aoki <[email protected]>

lib/net/http.rb

call on_connect() on re-opening socket.

lib/net/pop.rb

also POP3 can use APOP auth.

Tue Feb 6 20:19:10 2001 Minero Aoki <[email protected]>

lib/net/http.rb

add HTTP#request.

lib/net/http.rb

take HTTP 1.0 server into account (incomplete).

lib/net/protocol.rb

timeout for open/read.

lib/net/protocol.rb

add Protocol#on_connect,on_disconnect.

2001-02-05

Mon Feb 5 23:15:46 2001 Yukihiro Matsumoto <[email protected]>

error.c (Init_Exception)

make Interrupt a subclass of SignalException.

Mon Feb 5 00:39:06 2001 KANEKO Naoshi <[email protected]>

dir.c

use ISXXX() instead of isxxx().

dln.c (aix_loaderror)

ditto.

file.c (rb_file_s_expand_path)

ditto.

string.c (rb_str_upcase_bang)

ditto.

win32/win32.c (do_spawn)

ditto.

win32/win32.c (NtMakeCmdVector)

ditto.

win32/win32.c (opendir)

ditto.

2001-02-03

Sat Feb 3 14:44:53 2001 Nobuyoshi Nakada <[email protected]>

configure.in (AC_C_INLINE)

check inline attribute.

gc.c (is_pointer_to_heap)

use inline rather than __inline__.

pack.c (hex2num)

ditto.

ruby.h (rb_class_of, rb_type, rb_special_const_p)

ditto.

util.c (rb_class_of, rb_type, rb_special_const_p)

defined in ruby.h.

2001-02-02

Fri Feb 2 16:14:51 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_sort_bang)

returns self, even if its length is less than 2.

eval.c (POP_VARS)

propagate DVAR_DONT_RECYCLE, if SCOPE_DONT_RECYCLE of ruby_scope is set.

2001-01-31

Wed Jan 31 22:27:29 2001 WATANABE Hirofumi <[email protected]>

configure.in

gcc-2.95.2-7(Cygwin) support. add -mwin32 if available.

cygwin/GNUmakefile

ditto.

2001-01-30

Tue Jan 30 17:56:48 2001 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_fetch)

new method.

2001-01-29

Mon Jan 29 17:36:19 2001 TOYOFUKU Chikanobu <[email protected]>

eval.c (rb_eval)

nd_iter evaluation should be wrapped by BEGIN_CALLARGS and END_CALLARGS.

Mon Jan 29 14:25:39 2001 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

return from block jumps directory to block invoker.

Mon Jan 29 01:40:27 2001 Yukihiro Matsumoto <[email protected]>

string.c (str_independent)

should not clear str->orig here. it's too early.

2001-01-26

Fri Jan 26 01:42:40 2001 Yukihiro Matsumoto <[email protected]>

parse.y

clarify do ambiguity, bit more complex but natural from my point of view.

2001-01-24

Wed Jan 24 14:58:08 2001 Akinori MUSHA <[email protected]>

lib/cgi.rb

fix the problem that when running under mod_ruby header() outputs only one Set-Cookie line.

Wed Jan 24 01:45:49 2001 Yukihiro Matsumoto <[email protected]>

eval.c (POP_BLOCK_TAG)

call rb_gc_force_recycle() if block has not been objectified.

eval.c (rb_callcc)

should nail down block->tag history to avoid rb_gc_force_recycle().

2001-01-23

Tue Jan 23 18:51:57 2001 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_call_finalizer_at_exit)

should finalize objects in deferred_final_list too.

Tue Jan 23 16:10:12 2001 Yukihiro Matsumoto <[email protected]>

gc.c (os_live_obj)

do not list terminated object.

gc.c (os_obj_of)

ditto.

gc.c (rb_gc_mark)

support new T_BLKTAG tag.

gc.c (obj_free)

ditto.

eval.c (new_blktag)

creation of new block tag, which holds destination of global jump and orphan status.

eval.c (block_pass)

break from orphan Proc object will raise a LocalJumpError exception.

2001-01-22

Mon Jan 22 16:33:16 2001 WATANABE Hirofumi <[email protected]>

mkconfig.rb

autoconf 2.49 support.

Mon Jan 22 00:32:44 2001 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

behavior consistency with proc_call(). do not propagate `break'.

2001-01-20

Sat Jan 20 03:54:00 2001 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

fixed serious syntax misbehavior. do's preceding was too high. a block in `foo bar do .. end' should be passed to `foo', not `bar'.

parse.y (block_call)

syntax restructure.

2001-01-18

Thu Jan 18 04:28:14 2001 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_s_read)

new method to call IO#read from pathname. In addition, it accepts third optional argument to specify starting point.

2001-01-17

Wed Jan 17 13:28:26 2001 WATANABE Hirofumi <[email protected]>

configure.in

remove DEFS definition.

mkconfig.rb

ditto.

win32/config.status.in

ditto.

2001-01-16

Tue Jan 16 17:00:50 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb

ignore EOFError for read.

lib/net/http.rb

user specified header was not used.

2001-01-15

Mon Jan 15 16:00:07 2001 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

should check associated pointer packed by pack(“P”). Thus pointers can be retrieved only from pointer packed strings. restriction added.

2001-01-14

Sun Jan 14 21:49:28 2001 Koji Arai <[email protected]>

sprintf.c (rb_f_sprintf)

simple typo. binary base should be 2, not '2'.

re.c (rb_reg_s_last_match)

should explicitly return nth match.

Sun Jan 14 18:21:30 2001 Usaku Nakamura <[email protected]>

win32/config.status.in

add some field.

win32/win32.c (isInternalCmd)

ignore case for shell's internal command.

win32/win32.c (do_spawn)

recognize quoted command line.

Sun Jan 14 04:10:27 2001 Minero Aoki <[email protected]>

lib/net/protocol.rb (adding)

too few “yield” in case of arg is not String/File.

lib/net/http.rb

add http request object.

2001-01-13

Sat Jan 13 19:39:30 2001 WATANABE Hirofumi <[email protected]>

re.c (rb_reg_desc)

separate RE_OPTION_MULTILINE

re.c (rb_reg_options)

add RE_OPTION_{POSIXLINE,RE_OPTION_MULTILINE, RE_OPTION_EXTENDED}

2001-01-11

Thu Jan 11 10:45:04 2001 WATANABE Hirofumi <[email protected]>

win32/win32.h, win32/config.h.in

move NORETURN from win32.h to config.h.in.

win32/config.h.in (inline)

renamed from INLINE.

djgpp/config.hin (INLINE)

removed.

Thu Jan 11 06:45:55 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_mod_dup)

should propagate FL_SINGLETON.

object.c (inspect_obj)

handles the case of no instance variable.

2001-01-10

Wed Jan 10 16:15:08 2001 WATANABE Hirofumi <[email protected]>

ruby.h

NORETURN macro is changed for VC++ 6.0.

eval.c, intern.h

ditto.

djgpp/config.hin, win32/win32.h

ditto.

configure.in

ditto.

Wed Jan 10 13:54:53 2001 WATANABE Hirofumi <[email protected]>

process.c (proc_setuid)

use setresuid() if available.

process.c (proc_setgid)

use setresgid() if available.

configure.in

ditto.

Wed Jan 10 01:50:45 2001 Yukihiro Matsumoto <[email protected]>

configure.in (AC_C_INLINE)

check inline attribute.

string.c (rb_str_reverse_bang)

forgot to call rb_str_modify().

2001-01-09

Tue Jan 9 17:41:40 2001 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_taint)

check frozen status before modifying taint status.

object.c (rb_obj_untaint)

ditto.

Tue Jan 9 16:22:14 2001 Yukihiro Matsumoto <[email protected]>

enum.c (enum_inject)

new method.

Tue Jan 9 02:16:42 2001 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_call_finalizer_at_exit)

clear klass member of terminating object.

eval.c (rb_call)

raise exception for terminated object.

2001-01-08

Mon Jan 8 21:24:37 2001 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivrem)

t2 might be too big for signed long; do not use rb_int2big(), but rb_uint2big().

Mon Jan 8 21:35:10 2001 Guy Decoux <[email protected]>

file.c (path_check_1)

should restore modified path.

Mon Jan 8 03:09:58 2001 Yukihiro Matsumoto <[email protected]>

error.c (rb_load_fail)

new func to report LoadError.

ruby.c (load_file)

use rb_load_fail.

2001-01-06

Sat Jan 6 00:17:18 2001 WATANABE Hirofumi <[email protected]>

pack.c (pack_pack)

avoid infinite loop(pack 'm2').

2001-01-05

Fri Jan 5 01:02:17 2001 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_finalize)

should enclosed by PUSH_TAG/POP_TAG.

gc.c (rb_gc_mark)

link 2 of NODE_IFUNC should not be explicitly marked. it may contain non object pointer.

2001-01-02

Tue Jan 2 00:20:06 2001 Yukihiro Matsumoto <[email protected]>

re.c (reg_s_last_match)

Regexp::last_match(nth) returns nth substring of the match (alternative for $& and $<digit>).

2000-12-31

Sun Dec 31 01:39:16 2000 Guy Decoux <[email protected]>

eval.c (rb_mod_define_method)

wrong comparison for blocks.

2000-12-30

Sat Dec 30 19:28:50 2000 Yukihiro Matsumoto <[email protected]>

gc.c (id2ref)

should handle Symbol too.

gc.c (id2ref)

should print original ptr value

Sat Dec 30 03:14:22 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_iterate)

NODE_CFUNC does not protect its data

eval.c (rb_yield_0)

use NODE_IFUNC.

gc.c (rb_gc_mark)

support NODE_IFUNC.

2000-12-29

Fri Dec 29 11:41:55 2000 Yukihiro Matsumoto <[email protected]>

gc.c (mem_error)

prohibit recursive mem_error().

(ruby-bugs-ja

PR#36)

Fri Dec 29 11:05:41 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_fd_writable)

should not switch context if rb_thread_critical is set.

eval.c (rb_thread_wait_fd)

ditto.

eval.c (rb_thread_wait_for)

ditto.

eval.c (rb_thread_select)

ditto.

eval.c (rb_thread_join)

join during critical section causes deadlock.

Fri Dec 29 00:38:46 2000 Yukihiro Matsumoto <[email protected]>

m17n.c

new file - core functions of M17N.

2000-12-26

Tue Dec 26 18:46:41 2000 NAKAMURA, Hiroshi <[email protected]>

lib/debug.rb

Avoid thread deadlock in debugging stopped thread.

lib/debug.rb

Uncleared 'finish' state.

Tue Dec 26 16:53:55 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

remove dvar node by rb_gc_force_recycle() more eagerly.

eval.c (rb_f_binding)

recycling should be stopped for outer scope too.

eval.c (proc_new)

ditto.

Tue Dec 26 15:45:35 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_inspect)

should treat multibyte characters properly.

Tue Dec 26 15:01:53 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_f_p)

should not call rb_io_flush() if rb_defout is not a IO (T_FILE).

2000-12-25

Mon Dec 25 17:49:08 2000 K.Kosako <[email protected]>

string.c (rb_str_replace_m)

unexpected string share happens if replace is done for associated (STR_NO_ORIG) string.

Mon Dec 25 15:52:39 2000 Yukihiro Matsumoto <[email protected]>

Mon Dec 25 05:11:04 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

version 2.1.2 (some bug fixes).

lib/cgi.rb

Regexp::last_match –> $1

lib/net/telnet.rb

ditto.

Mon Dec 25 04:43:02 2000 Minero Aoki <[email protected]>

lib/net/http.rb

does not send HEAD on closing socket.

Mon Dec 25 00:44:48 2000 Yukihiro Matsumoto <[email protected]>

hash.c (rb_any_cmp)

should use rb_str_cmp() if TYPE == T_STRING and CLASS_OF == rb_cString.

string.c (rb_str_new4)

should copy class of original too.

Mon Dec 25 00:04:54 2000 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_schedule)

initial value of `max' changed to -1.

Mon Dec 25 00:16:14 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_replace_m)

copy-on-write replace.

parse.y (yylex)

should handle => after identifier as well as == and =~.

2000-12-23

Sat Dec 23 23:55:57 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_cstr2inum)

Integer(“”) should not return 0.

Sat Dec 23 11:55:57 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_and)

Array#& should preserve original order.

Sat Dec 23 03:44:16 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb

set @closed false in Socket#reopen.

lib/net/pop.rb

add POP3.foreach, delete_all.

lib/net/pop.rb

add POP3#delete_all.

lib/net/http.rb

add HTTP.version_1_1, version_1_2

lib/net/http.rb

refactoring.

2000-12-22

Fri Dec 22 23:11:12 2000 Ueno Katsuhiro <[email protected]>

eval.c (rb_feature_p)

ext might be null.

Fri Dec 22 17:04:12 2000 Nobuyoshi Nakada <[email protected]>

win32/win32.c (myselect)

avoid busy loop by adjusting fd_count.

Fri Dec 22 15:07:55 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_cstr2inum)

prefix like '0x' had removed too much.

2000-12-21

Thu Dec 21 13:01:46 2000 Tanaka Akira <[email protected]>

lib/net/ftp.rb (makeport)

don't use TCPsocket.getaddress.

2000-12-20

Wed Dec 20 12:00:15 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_lshift)

should cast up to BDIGIT_DBL.

parse.y (yylex)

disallow trailing '_' for numeric literals.

bignum.c (rb_cstr2inum)

allow `_' within converting string.

eval.c (specific_eval)

should take no argument if block is supplied.

2000-12-19

Tue Dec 19 13:44:50 2000 K.Kosako <[email protected]>

io.c (rb_f_p)

should flush rb_defout, not stdout.

Tue Dec 19 00:57:10 2000 Yukihiro Matsumoto <[email protected]>

time.c (time_minus)

usec might overflow. (ruby-bugs-ja:PR#35)

eval.c (rb_obj_extend)

Object#extend should take at least one argument.

parse.y (mrhs_basic)

should check value_expr($3), not $1.

2000-12-18

Mon Dec 18 23:18:39 2000 WATANABE Hirofumi <[email protected]>

util.c (mblen, __crt0_glob_function)

add for multibyte on DJGPP 2.03.

Mon Dec 18 18:10:30 2000 Yukihiro Matsumoto <[email protected]>

time.c (time_plus)

usec might underflow (ruby-bugs-ja:#PR33).

Mon Dec 18 08:11:20 2000 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_set_default)

should call rb_hash_modify().

2000-12-16

Sat Dec 16 02:58:26 2000 Minero Aoki <[email protected]>

eval.c (rb_eval)

should clear ruby_errinfo on retry.

eval.c (rb_rescue2)

ditto.

2000-12-14

Thu Dec 14 13:06:18 2000 Nobuyoshi Nakada <[email protected]>

class.c (rb_include_module)

prohibit frozen class/module.

eval.c (rb_frozen_class_p)

make external.

intern.h (rb_frozen_class_p)

prototyped.

intern.h (rb_undef)

prototyped not but rb_undef_method() which is also in ruby.h.

Thu Dec 14 09:20:26 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

support -T1 on ruby 1.6.2

lib/cgi.rb

$1 –> Regexp::last_match

lib/net/telnet.rb

ditto.

2000-12-13

Wed Dec 13 23:27:06 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

handles case statement without expr, which looks for any TRUE (non nil, non false) when expression.

parse.y (primary)

case expression should not be compstmt, but mere expr.

parse.y (primary)

case without following expression is now separated rule.

Wed Dec 13 12:41:27 2000 WATANABE Hirofumi <[email protected]>

ruby.c (proc_options)

accept “–^M” for DOS line endings.

2000-12-12

Tue Dec 12 15:45:42 2000 Yukihiro Matsumoto <[email protected]>

parse.y (newline_node)

cancel newline unification.

2000-12-11

Mon Dec 11 23:01:57 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

supports cases `?' precedes EOF and newline.

Mon Dec 11 12:11:25 2000 Yukihiro Matsumoto <[email protected]>

eval.c (call_end_proc)

some frame members were left uninitialized.

Mon Dec 11 01:14:58 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fptr_finalize)

do not fclose stdin, stdout and stderr at exit.

2000-12-09

Sat Dec 9 17:34:48 2000 Tachino Nobuhiro <[email protected]>

time.c (time_cmp)

should check with kind_of?, not instance_of?

time.c (time_eql)

ditto.

time.c (time_minus)

ditto.

2000-12-08

Fri Dec 8 17:23:25 2000 Tachino Nobuhiro <[email protected]>

sprintf.c (rb_f_sprintf)

proper string precision treat.

Fri Dec 8 10:44:05 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_mod_remove_cvar)

Module#remove_class_variable added.

2000-12-07

Thu Dec 7 17:35:51 2000 Shugo Maeda <[email protected]>

eval.c (stack_length)

don't use __builtin_frame_address() on alpha.

2000-12-06

Wed Dec 6 18:07:13 2000 WATANABE Hirofumi <[email protected]>

djgpp/config.sed, win32/Makefile.sub

typo.

eval.c (rb_mod_define_method)

avoid VC4.0 warnings.

Wed Dec 6 13:38:08 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_and)

tuning, make hash from shorter operand.

Wed Dec 6 01:28:50 2000 SHIROYAMA Takayuki <[email protected]>

gc.c (rb_gc)

__builtin_frame_address() should not be used on MacOS X.

gc.c (Init_stack)

ditto.

2000-12-04

Mon Dec 4 13:44:01 2000 WATANABE Hirofumi <[email protected]>

lib/jcode.rb

consider multibyte. not /n.

Mon Dec 4 09:49:36 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_inspect)

output whole string contents. no more `…'

string.c (rb_str_dump)

should propagate taintness.

hash.c (env_inspect)

hash like human readable output.

variable.c (rb_ivar_get)

prohibiting instance variable access is too much restriction.

class.c (method_list)

retrieving information should not be restricted where $SAFE=4.

class.c (rb_obj_singleton_methods)

ditto.

eval.c (rb_thread_priority)

ditto.

eval.c (rb_thread_local_aref)

ditto.

variable.c (rb_obj_instance_variables)

ditto.

variable.c (rb_mod_const_at)

ditto.

variable.c (rb_mod_class_variables)

ditto.

eval.c (rb_exec_end_proc)

end_proc should be preserved.

2000-12-02

Sat Dec 2 22:32:43 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

|| should accept exactly zero argument.

parse.y (stmt)

multiple right hand side for single assignment

2000-11-29

Wed Nov 29 07:55:29 2000 Yukihiro Matsumoto <[email protected]>

marshal.c (w_long)

dumping long should be smaller than 32bit max.

marshal.c (w_long)

shorter long format for small integers(-123..122).

marshal.c (r_long)

ditto.

2000-11-28

Tue Nov 28 18:10:51 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_define_method)

quick hack to implement on-the-fly method definition. experimental.

2000-11-27

Mon Nov 27 17:00:35 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should not redefine builtin classes/modules from within wrapped load.

Mon Nov 27 08:57:33 2000 Yukihiro Matsumoto <[email protected]>

eval.c (call_end_proc)

should be isolated from outer block.

Mon Nov 27 00:10:08 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_ctl)

call ioctl/fcntl for fptr->f2 too.

process.c (rb_f_fork)

call rb_thread_atfork() after creating child process.

eval.c (rb_thread_atfork)

kill all other threads immediately, then turn the current thread into the main thread.

2000-11-25

Sat Nov 25 23:12:22 2000 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_run)

move calling point of rb_trap_exit after cleaning up threads.

eval.c (ruby_finalize)

new function to call EXIT trap, END procs and GC finalizers.

eval.c (rb_exec_end_proc)

prevent recursion.

gc.c (rb_gc_call_finalizer_at_exit)

ditto.

signal.c (rb_trap_exit)

ditto. made static.

process.c (rb_f_fork)

should swallow all exceptions from block execution.

process.c (fork_rescue)

should call ruby_finalize().

parse.y (yycompile)

rb_gc() removed. I don't remember why I put this here. test code?

2000-11-24

Fri Nov 24 22:03:48 2000 Yukihiro Matsumoto <[email protected]>

range.c (EXCL)

exclusive information is now stored in an instance variable. this enables proper marshal dump.

process.c (proc_waitpid)

should clear rb_last_status ($?) if no pid was given by waitpid(2).

2000-11-23

Thu Nov 23 01:35:38 2000 Yukihiro Matsumoto <[email protected]>

process.c (proc_waitpid2)

returns nil if no pid found.

2000-11-22

Wed Nov 22 23:45:15 2000 Yukihiro Matsumoto <[email protected]>

range.c (range_eq)

new method. Compares start and end of range respectively.

Wed Nov 22 11:01:32 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_mod_class_variables)

should honor singleton class variable rule defined yesterday.

2000-11-21

Tue Nov 21 23:24:14 2000 Mitsuteru S Nakao <[email protected]>

numeric.c (flodivmod)

missing second operand (typo).

Tue Nov 21 03:39:41 2000 Yukihiro Matsumoto <[email protected]>

marshal.c (marshal_load)

marshal format compatibility check revised. greater minor revision is UPWARD compatible; downward compatibility is not assured.

eval.c (is_defined)

clarify class variable behavior for singleton classes. class variables within singleton class should be treated like within singleton method.

2000-11-20

Mon Nov 20 13:45:21 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

set ruby_sourceline before evaluating exceptions.

gc.c (gc_sweep)

defer finalization in GC during compilation or interrupt prohibit section.

gc.c (gc_sweep)

mark all nodes before sweeping if GC happened during compilation.

eval.c (rb_eval)

should treat class variables specially in a method defined in the singleton class.

Mon Nov 20 10:20:21 2000 WATANABE Hirofumi <[email protected]>

dir.c, win32/win32.c, ruby.h

add rb_iglob().

Mon Nov 20 00:18:16 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_subseq)

should return nil for outbound start index.

marshal.c (marshal_load)

show format versions explicitly when format version mismatch happens.

2000-11-19

Sun Nov 19 06:13:24 2000 Kazuhiro NISHIYAMA <[email protected]>

marshal.c

use long for string/array length.

pack.c (swaps)

use bit-or(|) instead of plus(+).

pack.c (swapl)

ditto.

2000-11-18

Sat Nov 18 15:18:16 2000 Kazuhiro NISHIYAMA <[email protected]>

array.c (rb_ary_replace)

array size should be in long.

array.c (rb_ary_concat)

ditto.

array.c (rb_ary_hash)

ditto.

Sat Nov 18 14:07:20 2000 Minero Aoki <[email protected]>

lib/net/http.rb

Socket#readline() reads until “n”, not “rn”

2000-11-17

Fri Nov 17 14:55:18 2000 WATANABE Hirofumi <[email protected]>

string.c (rb_str_succ)

output should be NUL terminated.

Fri Nov 17 02:54:15 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_close)

need not to flush before closing.

eval.c (rb_thread_join)

should preserve last thread status when THREAD_TO_KILL.

eval.c (rb_thread_stop)

ditto.

io.c (io_fflush)

wrap fflush by TRAP_BEG, TRAP_END.

eval.c (rb_eval)

method defined within singleton class definition should behave like singleton method about class variables.

eval.c (is_defined)

ditto.

2000-11-16

Thu Nov 16 23:06:07 2000 Minero Aoki <[email protected]>

lib/net/http.rb

can call {old,new}_implementation any times.

lib/net/http.rb

HTTP#connecting, receive -> common_oper, connecting.

lib/net/http.rb

output warning if u_header includes duplicated header.

lib/net/http.rb

not check Connection:/Proxy-Connection; always read until eof.

lib/net/protocol.rb

detects and catches “break” from block.

Thu Nov 16 16:32:45 2000 Masahiro Tanaka <[email protected]>

bignum.c (bigdivrem)

should have incremented ny first.

Thu Nov 16 14:58:00 2000 Nobuyoshi Nakada <[email protected]>

ext/socket/socket.c (sock_new)

duplicates file descriptor with myfddup() on mswin32/mingw32.

win32/win32.h

uses system original fdopen().

win32/win32.c (myfddup)

newly added instead of myfdopen().

win32/win32.c (mybind, myconnect, mygetsockname, mygetsockopt, mylisten, mysetsockopt)

now accept file descriptor only, not SOCKET.

win32/win32.c (myaccept, mysocket)

return file descriptor, instead of SOCKET.

Thu Nov 16 10:23:24 2000 Yukihiro Matsumoto <[email protected]>

eval.c (massign)

too strict check for nameless rest argument.

eval.c (method_arity)

mere * should return -1.

eval.c (intersect_fds)

should check all FDs in the fd_set.

2000-11-15

Wed Nov 15 19:33:20 2000 Nobuyoshi Nakada <[email protected]>

eval.c (rb_attr)

should clear method cache before calling hook.

eval.c (rb_eval)

ditto.

eval.c (rb_mod_modfunc)

ditto.

2000-11-13

Mon Nov 13 22:44:52 2000 Yukihiro Matsumoto <[email protected]>

error.c (rb_bug)

print version to stderr.

Mon Nov 13 19:02:08 2000 WATANABE Hirofumi <[email protected]>

win32/win32.c, io.c, process.c

the exit status of program must be multiplied 256 on mswin32 and msdosdjgpp(system(), “).

2000-11-11

Sat Nov 11 22:57:38 2000 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

uniformed treatment of -a**b, where a is a number literal; hacky but behavior appears more consistent.

parse.y (newline_node)

reduce newline node (one per line).

random.c (rb_f_srand)

should be prohibited in safe level greater than 4.

Sat Nov 11 22:37:36 2000 Nobuyoshi Nakada <[email protected]>

rubysig.h

do not use rb_trap_immediate on win32.

rubysig.h

new macros, ATOMIC_TEST, ATOMIC_SET, ATOMIC_INC, ATOMIC_DEC, RUBY_CRITICAL and new definition of TRAP_BEG, TRAP_END.

gc.c (ruby_xmalloc)

should wrap malloc() by RUBY_CRITICAL.

signal.c (sighandle)

better win32 sig handling.

win32/win32.c (flock)

better implementation.

win32/win32.c (myselect)

ditto.

win32/win32.c (myaccept)

ditto.

win32/win32.c (waitpid)

ditto.

win32/win32.c (myrename)

ditto.

win32/win32.c (wait_events)

support function for win32 signal handling.

Sat Nov 11 08:34:18 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.31.

lib/net/http.rb

initializes header in HTTP, not HTTPCommand.

lib/net/protocol.rb, http.rb

rewrites proxy code.

2000-11-10

Fri Nov 10 16:15:53 2000 Yukihiro Matsumoto <[email protected]>

numeric.c (rb_num2long)

use to_int, not to_i.

error.c

T_SYMBOL was misplaced by T_UNDEF.

parse.y (yylex)

eval(“^”) caused infinite loop.

2000-11-09

Thu Nov 9 14:22:13 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_taint_check)

should check IO taintness; no operation for untainted IO should be allowed in the sandbox.

rubyio.h (GetOpenFile)

check IO taintness inside using rb_io_taint_check().

2000-11-08

Wed Nov 8 03:08:53 2000 Yukihiro Matsumoto <[email protected]>

io.c (io_fflush)

ensure fflush(3) would not block by calling rb_thread_fd_writable().

2000-11-07

Tue Nov 7 20:29:56 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.30.

lib/net/protocol.rb, smtp.rb

Command#critical_ok -> error_ok

lib/net/http.rb

reads header when also “100 Continue”.

Tue Nov 7 04:32:19 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivrem)

use bit shift to make y's MSB set.

2000-11-06

Mon Nov 6 1:22:49 2000 Yukihiro Matsumoto <[email protected]>

error.c (warn_print)

do not use err_append(), to ensure output to stderr.

error.c (rb_warn)

use warn_print() instead of err_print().

error.c (rb_warning)

ditto.

error.c (rb_bug)

ditto.

eval.c (rb_load)

re-raise exceptions during load.

time.c (make_time_t)

remove useless adjust

2000-11-02

Thu Nov 2 18:01:16 2000 Yukihiro Matsumoto <[email protected]>

random.c (rb_f_rand)

half-baked float support fixed. This fix was originally proposed by K.Kosako <[email protected]>.

2000-10-31

Tue Oct 31 17:27:17 2000 Yukihiro Matsumoto <[email protected]>

bignum.c

change digit size to `long|int' if long long is available.

marshal.c (w_object)

support `long|int' digits.

marshal.c (r_object)

ditto.

2000-10-28

Sat Oct 28 23:54:22 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

allow =end at the end of file (without a newline at the end).

2000-10-27

Fri Oct 27 10:00:27 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_cstr2inum)

should ignore trailing white spaces.

bignum.c (rb_str2inum)

string may not have sentinel NUL.

Fri Oct 27 02:37:22 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_cstr2inum)

wrongly assigned base to c before badcheck check.

2000-10-26

Thu Oct 26 02:42:50 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb

Command#critical_ok

lib/net/smtp.rb

clear critical flag before go to SMTP

2000-10-25

Wed Oct 25 12:30:19 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_concat)

replacing array might be the receiver itself. do not call rb_ary_push_m.

array.c (rb_ary_replace)

replacing array might be the receiver itself. use memmove.

2000-10-20

Fri Oct 20 07:56:23 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

ARGSPUSH should not modify args array.

2000-10-19

Thu Oct 19 14:58:17 2000 WATANABE Tetsuya <[email protected]>

pack.c (NUM2U32)

should use NUM2ULONG().

2000-10-17

Tue Oct 17 17:30:34 2000 WATANABE Hirofumi <[email protected]>

eval.c (error_print)

ruby_sourcefile may be NULL.

Tue Oct 17 16:36:28 2000 Wes Nakamura <[email protected]>

pack.c (NATINT_U32)

wrong use of sizeof.

Tue Oct 17 12:48:20 2000 Katsuyuki Komatsu <[email protected]>

eval.c (rb_abort)

nil check against ruby_errinfo.

eval.c (rb_thread_schedule)

use FOREACH_THREAD_FROM instead of FOREACH_THREAD, since curr_thread may be removed from thread ring.

eval.c (THREAD_ALLOC)

errinfo should be Qnil.

eval.c (rb_callcc)

th->prev,th->next are now already initialized in THREAD_ALLOC.

2000-10-16

Mon Oct 16 15:37:33 2000 Kazuhiro NISHIYAMA <[email protected]>

eval.c (rb_thread_inspect)

tag size was shorter than required.

object.c (rb_obj_inspect)

ditto.

Mon Oct 16 14:25:18 2000 Shugo Maeda <[email protected]>

object.c (sym_inspect)

used `name' before initialization.

Mon Oct 16 14:06:00 2000 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

use NATINT_U32 for 'l', 'L', and 'N'.

pack.c (I32,U32)

32 bit sized integer.

pack.c (OFF16,OFF32B)

big endian offset for network byteorder.

Mon Oct 16 06:39:32 2000 Minero Aoki <[email protected]>

lib/net/http.rb

hex-alpha is not [a-h] but [a-f].

Mon Oct 16 01:02:02 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_start_0)

should not abort on exception if $SAFE >= 4.

parse.y (sym)

symbols for class variable names.

2000-10-15

Sun Oct 15 01:49:18 2000 Yukihiro Matsumoto <[email protected]>

file.c (rb_file_flock)

should accept interrupt.

process.c (rb_waitpid)

ditto.

process.c (rb_waitpid)

ditto.

process.c (proc_wait)

ditto.

process.c (proc_waitpid2)

wrong recursion.

2000-10-14

Sat Oct 14 03:32:13 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_alloc)

should not link a new thread in the live thread ring before initialization.

2000-10-13

Fri Oct 13 17:08:09 2000 Shugo Maeda <[email protected]>

lib/net/imap.rb

new file.

2000-10-12

Thu Oct 12 18:56:28 2000 Minero Aoki <[email protected]>

lib/net/pop.rb

POP3#reset

lib/net/http.rb

a code for “Switch Protocol” was wrongly 100.

Thu Oct 12 01:23:38 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

bug fix: CGI::html(): PRETTY option didn't work.

Thu Oct 12 00:03:02 2000 Yukihiro Matsumoto <[email protected]>

object.c (sym_inspect)

should adjust string length.

struct.c (rb_struct_to_s)

ditto.

struct.c (rb_struct_inspect)

ditto.

2000-10-11

Wed Oct 11 22:15:47 2000 Katsuyuki Komatsu <[email protected]>

eval.c (rb_thread_inspect)

should adjust string length.

object.c (rb_any_to_s)

ditto.

object.c (rb_obj_inspect)

ditto.

Wed Oct 11 18:13:50 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_start_0)

should check insecure exit.

Wed Oct 11 14:29:51 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb

2nd arg for ProtocolError#initialize is optional.

lib/net/http.rb

code refining.

Wed Oct 11 11:13:03 2000 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

setter method (e.g. foo=) should always be public.

eval.c (rb_thread_raise)

should not raise SecurityError if exception raised by the interpreter.

eval.c (rb_thread_cleanup)

skip all THREAD_KILLED threads before FOREACH_THREAD.

2000-10-10

Tue Oct 10 16:11:54 2000 WATANABE Hirofumi <[email protected]>

dln.c (dln_load)

remove unused code for Cygwin.

Tue Oct 10 09:49:23 2000 Yukihiro Matsumoto <[email protected]>

file.c (Init_File)

FileTest.size should return 0 (not nil) for empty files.

2000-10-08

Sun Oct 8 13:20:26 2000 Guy Decoux <[email protected]>

eval.c (POP_SCOPE)

not just set SCOPE_DONT_RECYCLE, but do scope_dup().

2000-10-07

Sat Oct 7 15:10:50 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_reverse_bang)

unnecessary ALLOCA_N() was removed.

2000-10-06

Fri Oct 6 14:50:24 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in, lib/mkmf.rb

remove “DESTDIR =”.

Makefile.in, win32/Makefile.sub, ruby.1

renamed -X to -C.

Fri Oct 6 12:50:52 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_plus)

use to_ary(), not Check_Type().

array.c (rb_ary_concat)

ditto.

gc.c (rb_gc)

use __builtin_frame_address() for gcc.

eval.c (stack_length)

ditto.

parse.y (assign_in_cond)

stop warning till some better warning condition will be found.

2000-10-05

Thu Oct 5 18:02:39 2000 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_dup)

should have propagated taint flag.

(ruby-bugs

#PR64,65)

2000-10-04

Wed Oct 4 00:26:11 2000 Yukihiro Matsumoto <[email protected]>

eval.c (proc_arity)

proc{|a|}'s arity should be -1.

2000-10-02

Mon Oct 2 05:28:58 2000 akira yamada <[email protected]>

string.c (trnext)

minus at the end of pattern.

2000-10-01

Sun Oct 1 00:43:34 2000 WATANABE Hirofumi <[email protected]>

configure.in

exp-name was wrong on cygwin and mingw32.

2000-09-28

Thu Sep 28 14:57:09 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

should try must_string calculation every time.

2000-09-27

Wed Sep 27 18:40:05 2000 Yukihiro Matsumoto <[email protected]>

Wed Sep 27 16:13:05 2000 WATANABE Hirofumi <[email protected]>

mkconfig.rb

variables should be expanded only if /${?w+}?/.

2000-09-26

Tue Sep 26 18:09:51 2000 WATANABE Hirofumi <[email protected]>

string.c

include <math.h>

Tue Sep 26 15:59:50 2000 Yukihiro Matsumoto <[email protected]>

object.c (rb_mod_dup)

metaclasses of class/module should not be cleared by rb_obj_dup.

Tue Sep 26 02:44:54 2000 Yukihiro Matsumoto <[email protected]>

gc.c (GC_MALLOC_LIMIT)

size extended.

regex.c (DOUBLE_STACK)

use machine's stack region for regex stack if its size is small enough.

2000-09-25

Mon Sep 25 18:13:07 2000 Yukihiro Matsumoto <[email protected]>

regex.c

include <defines.h>.

eval.c (rb_add_method)

cache mismatch by method definition. need to clear_cache_by_id every time.

Mon Sep 25 13:31:45 2000 WATANABE Hirofumi <[email protected]>

win32/win32.c (NtCmdGlob)

substitute '\' with '/'.

Mon Sep 25 00:35:01 2000 WATANABE Hirofumi <[email protected]>

defines.h

undef HAVE_SETITIMER on cygwin.

2000-09-24

Sun Sep 24 03:01:53 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, http.rb

typo.

2000-09-23

Sat Sep 23 07:33:20 2000 Aleksi Niemela <[email protected]>

regex.c (re_compile_pattern)

nicer regexp error messages for invalid patterns.

Sat Sep 23 03:06:25 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_autoload_load)

should not require already provided features.

2000-09-22

Fri Sep 22 15:46:21 2000 Minero Aoki <[email protected]>

lib/net/http.rb

too early parameter expansion in string.

Fri Sep 22 13:58:51 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

don't use default $:

Fri Sep 22 13:42:50 2000 Katsuyuki Komatsu <[email protected]>

regex.c (PUSH_FAILURE_COUNT)

avoid casting warning on alpha.

regex.c (PUSH_FAILURE_POINT)

ditto.

Fri Sep 22 10:16:21 2000 WATANABE Hirofumi <[email protected]>

win32/config.h.in

add HAVE_TELLDIR, HAVE_SEEKDIR

2000-09-21

Thu Sep 21 19:04:34 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb, lib/mkmf.rb (install_rb)

check whether libdir is directory or not.

Thu Sep 21 17:23:05 2000 Yukihiro Matsumoto <[email protected]>

file.c (rb_file_s_symlink)

use HAVE_SYMLINK.

file.c (rb_file_s_readlink)

use HAVE_READLINK.

dir.c (dir_tell)

use HAVE_TELLDIR.

dir.c (dir_seek)

use HAVE_SEEKDIR.

configure.in (AC_CHECK_FUNCS)

lstat, symlink, readlink, telldir, seekdir checks added.

file.c (lstat)

should use stat(2) if lstat(2) is not available.

Thu Sep 21 15:59:23 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.29.

lib/net/http.rb

HTTPReadAdapter -> HTTPResponseReceiver

lib/net/http.rb (connecting)

response is got in receive()

Thu Sep 21 15:49:07 2000 Wayne Scott <[email protected]>

lib/find.rb (find)

should not follow symbolic links; tuned performance too.

2000-09-20

Wed Sep 20 23:21:38 2000 Yukihiro Matsumoto <[email protected]>

ruby.c (load_file)

two Ctrl-D was required to stop ruby at the beginning of stdin script read.

Wed Sep 20 14:01:45 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_provided)

detect infinite load loop.

eval.c (rb_provided)

too weak filename comparison.

eval.c (rb_thread_alloc)

avoid recycling still referenced dvar structures.

eval.c (rb_callcc)

ditto.

eval.c (THREAD_ALLOC)

fill dyna_vars field by ruby_dyna_vars.

2000-09-19

Tue Sep 19 23:47:44 2000 SHIROYAMA Takayuki <[email protected]>

configure.in, config.guess, config.sub

MacOS X support.

Tue Sep 19 17:47:03 2000 Yukihiro Matsumoto <[email protected]>

Tue Sep 19 16:24:52 2000 Yukihiro Matsumoto <[email protected]>

marshal.c (Init_marshal)

provide marshal.so no more.

Tue Sep 19 14:01:01 2000 WATANABE Hirofumi <[email protected]>

configure.in, win32/setup.mak

include version number in RUBY_SO_NAME.

Tue Sep 19 13:07:47 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

was confusing $~ and $_.

Tue Sep 19 13:06:53 2000 GOTOU Yuuzou <[email protected]>

signal.c (rb_f_kill)

signum may be a negative number, should be treated by signed number.

Tue Sep 19 01:14:56 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_provide)

better feature handling.

eval.c (rb_f_require)

loading ruby library may be partial state. checks in rb_thread_loading is integrated.

eval.c (rb_provided)

better thread awareness.

lib/irb/frame.rb

6 (not 5) parameters for trace_func proc.

eval.c (error_print)

should print error position even if get_backtrace() failed.

2000-09-16

Sat Sep 16 03:29:59 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_require)

rb_provided() was called too early; does not work well with threads.

parse.y (ensure)

should distinguish empty ensure and non existing ensure.

file.c (Init_File)

extending File by class of FileTest was serious mistake.

2000-09-14

Thu Sep 14 02:46:54 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_yield)

array strip should be done in this function.

2000-09-13

Wed Sep 13 17:01:03 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_eq)

incomplete value comparison of bignums.

Wed Sep 13 06:39:54 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_mod_class_variables)

Module#class_variables added.

Wed Sep 13 06:09:26 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

bug fix: CGI::header(): output status header.

Wed Sep 13 01:09:12 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

allow global variables like '$__a'.

2000-09-12

Tue Sep 12 22:28:43 2000 WATANABE Hirofumi <[email protected]>

ext/socket/extconf.rb

avoid using terrible <netinet/tcp.h> on cygwin 1.1.5.

Tue Sep 12 16:01:58 2000 WATANABE Hirofumi <[email protected]>

array.c (rb_ary_unshift_m)

typo.

Tue Sep 12 15:37:55 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

stripped array too much, should remove just for proc_call().

Tue Sep 12 07:05:24 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

version 2.0.0: require ruby1.5.4 or later.

lib/net/telnet.rb

version 1.6.0

Tue Sep 12 03:26:07 2000 Yukihiro Matsumoto <[email protected]>

eval.c (massign)

use to_ary to get an array if available.

object.c (rb_Array)

ditto.

2000-09-11

Mon Sep 11 14:24:47 2000 Yukihiro Matsumoto <[email protected]>

hash.c (ruby_setenv)

should not free the element of origenvironment.

parse.y (command_call)

kYIELD moved to this rule to allow 'a = yield b'. (ruby-bugs-ja:#PR15)

Mon Sep 11 01:27:54 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

proc#call([]) should pass single value to the block.

eval.c (callargs)

reduce array allocation.

eval.c (massign)

precise check for argument number.

2000-09-08

Fri Sep 8 10:05:17 2000 Yukihiro Matsumoto <[email protected]>

gc.c (STR_NO_ORIG)

should be FL_USER2.

2000-09-07

Thu Sep 7 14:17:51 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_cat)

should work even for concatenating same string.

2000-09-06

Wed Sep 6 17:06:38 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_cvar_declare)

should check superclass's class variable first.

Wed Sep 6 10:42:02 2000 Yukihiro Matsumoto <[email protected]>

misc/ruby-mode.el (ruby-calculate-indent)

shift continuing line if previous line ends with modifier keyword.

misc/ruby-mode.el (ruby-parse-region)

should not give up if modifiers are at the end of line.

misc/ruby-mode.el (ruby-expr-beg)

indented wrongly if modified statement was size 1.

Wed Sep 6 10:41:19 2000 Kenichi Komiya <[email protected]>

misc/ruby-mode.el (ruby-parse-region)

modifier was not handled well on emacs19.

2000-09-05

Tue Sep 5 17:10:12 2000 Yukihiro Matsumoto <[email protected]>

time.c (time_to_s)

fixed zone string UTC for utc time object.

Tue Sep 5 00:26:06 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

range worked wrongly on bm_search().

2000-09-04

Mon Sep 4 13:40:40 2000 WATANABE Hirofumi <[email protected]>

configure.in

renamed libruby.a to libruby.{cygwin,mingw32}.a on cygwin and mingw32.

2000-09-03

Sun Sep 3 23:44:04 2000 Noriaki Harada <[email protected]>

io.c (NO_SAFE_RENAME)

for BeOS too.

Sun Sep 3 11:31:53 2000 Takaaki Tateishi <[email protected]>

parse.y (rescue)

no assignment was done if rescue body was empty.

2000-09-02

Sat Sep 2 10:52:21 2000 Yukihiro Matsumoto <[email protected]>

parse.y (call_args,aref_args)

block_call can be the last argument.

parse.y (COND_PUSH,COND_POP)

maintain condition stack to allow kDO2 in parentheses in while/until/for conditions.

parse.y (yylex)

generate kDO2 for EXPR_ARG outside of while/until/for condition.

2000-09-01

Fri Sep 1 10:36:29 2000 Yukihiro Matsumoto <[email protected]>

parse.y (aref_args,opt_call_args)

add block_call to allow a method without parentheses and with block as a last argument.

hash.c (rb_hash_sort)

should not return nil.

re.c (match_aref)

should use rb_reg_nth_match().

eval.c (POP_SCOPE)

recycled scopes too much

eval.c (Init_eval)

extend room for stack allowance.

eval.c (POP_SCOPE)

frees scope too much.

2000-08-31

Thu Aug 31 14:28:39 2000 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_mark)

T_SCOPE condition must be more precise.

eval.c (scope_dup)

should not make all duped scope orphan.

Thu Aug 31 10:11:47 2000 Yukihiro Matsumoto <[email protected]>

parse.y (stmt)

allow stmt_rhs to be right hand side of multiple assignment.

time.c (rb_time_timeval)

type error should not mention the word 'interval'.

2000-08-30

Wed Aug 30 23:21:20 2000 Yukihiro Matsumoto <[email protected]>

numeric.c (rb_num2long)

use rb_Integer() instead of independent convert routine.

eval.c (rb_rescue2)

now takes arbitrary number of exception types.

object.c (rb_convert_type)

use rb_rescue2 now to handle NameError.

object.c (rb_convert_type)

better error message.

Wed Aug 30 17:09:14 2000 WATANABE Hirofumi <[email protected]>

ext/Win32API/Win32API.c (Win32API_initialize)

AlphaNT support.

Wed Aug 30 14:19:07 2000 Yukihiro Matsumoto <[email protected]>

parse.y (node_assign)

should support NODE_CVASGN2 too.

Wed Aug 30 11:31:47 2000 Nobuyoshi Nakada <[email protected]>

ext/Win32API/Win32API.c (Win32API_initialize)

add the arguments checking.

ext/Win32API/Win32API.c (Win32API_initialize)

add taint checking. allow String object in the third argument.

Wed Aug 30 10:29:40 2000 Masahiro Tomita <[email protected]>

io.c (rb_f_p)

flush output buffer.

2000-08-29

Tue Aug 29 16:29:15 2000 Yukihiro Matsumoto <[email protected]>

parse.y (assignable)

remove NODE_CVASGN3.

parse.y (gettable)

remove NODE_CVAR3.

Tue Aug 29 02:02:14 2000 Yukihiro Matsumoto <[email protected]>

lib/mkmf.rb (create_makefile)

handles create_makefile(“a/b”).

ext/extmk.rb.in (create_makefile)

ditto

2000-08-28

Mon Aug 28 18:43:54 2000 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

now handles class variables.

eval.c (rb_eval)

class variable behavior revisited.

parse.y (assignable)

ditto.

parse.y (gettable)

ditto.

regex.c (PUSH_FAILURE_COUNT)

push/pop interval count on failure stack. this fix is inspired by the Emacs21 patch from Stefan Monnier <[email protected]>.

2000-08-25

Fri Aug 25 15:24:39 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_cvar_get)

should not follow __attached__.

variable.c (rb_cvar_set)

ditto.

variable.c (rb_cvar_declare)

ditto.

variable.c (mod_av_set)

second class variable assignment at the toplevel should not give warning.

Fri Aug 25 01:18:36 2000 Yukihiro Matsumoto <[email protected]>

io.c (next_argv)

prepare path for open file.

string.c (rb_str_setter)

moved from io.c.

io.c (next_argv)

filename should be “-” for refreshed ARGF.

2000-08-24

Thu Aug 24 15:27:39 2000 WATANABE Hirofumi <[email protected]>

ext/socket/socketport.h

use `extern int h_errno' if needed.

2000-08-19

Sat Aug 19 01:34:02 2000 WATANABE Hirofumi <[email protected]>

ext/sdbm/_sdbm.c (sdbm_prep)

flags should be or-ed by O_BINARY on Win32 too.

ext/sdbm/_sdbm.c (makroom)

fill hole with 0 on Win32 too.

2000-08-18

Fri Aug 18 13:23:59 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should preserve and clear $! value before compilation.

eval.c (eval)

ditto.

Fri Aug 18 11:06:19 2000 Shugo Maeda <[email protected]>

ext/socket/socket.c (s_accept)

start GC on EMFILE/ENFILE.

2000-08-17

Thu Aug 17 16:04:48 2000 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

should clear ruby_errinfo.

Thu Aug 17 04:26:31 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.27.

lib/net/protocol.rb

writing methods returns written byte size.

lib/net/smtp.rb

send_mail accepts many destinations.

2000-08-16

Wed Aug 16 00:43:47 2000 Yukihiro Matsumoto <[email protected]>

time.c (time_s_times)

use CLK_TCK for HZ if it's defined.

2000-08-15

Tue Aug 15 17:30:59 2000 Yukihiro Matsumoto <[email protected]>

eval.c (frame_dup)

should set flag FRAME_MALLOC after argv allocation.

eval.c (blk_free)

should not free argv if GC was called before frame_dup.

Tue Aug 15 16:08:40 2000 WATANABE Hirofumi <[email protected]>

configure.in

add ac_cv_func_times=yes for mingw32.

win32/win32.c (mytimes)

typo.

Tue Aug 15 01:45:28 2000 Yukihiro Matsumoto <[email protected]>

io.c (argf_eof)

should return true at the end of ARGF without checking stdout if arguments are given.

2000-08-14

Mon Aug 14 10:34:32 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_status)

status should return false for normal termination, nil for termination by exception.

2000-08-11

Fri Aug 11 15:43:46 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_undef)

give warning for undefining __id__, __send__.

2000-08-10

Thu Aug 10 08:05:03 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_callcc)

returned current thread instead of continuation wrongly.

Thu Aug 10 05:40:28 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

$CPPFLAGS should be initialized.

ext/tcltklib/depend

add stubs.o.

ext/tcltklib/extconf.rb

use $CPPFLAGS instead of $CFLAGS.

2000-08-09

Wed Aug 9 16:31:48 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_callcc)

thread status for continuations must be THREAD_KILLED, otherwise thread_free() breaks other threads.

Wed Aug 9 13:24:25 2000 WATANABE Hirofumi <[email protected]>

win32/win32.

emulate rename(2).

2000-08-08

Tue Aug 8 14:01:46 2000 WATANABE Hirofumi <[email protected]>

ext/tcltklib/tcltklib.c

support –enable-tcltk_stubs

ext/tcltklib/extconf.rb

ditto.

ext/tcltklib/stubs.c

created. examine candidate shared libraries.

2000-08-07

Mon Aug 7 13:59:12 2000 Yukihiro Matsumoto <[email protected]>

ruby.h (CLONESETUP)

should copy flags before any potential object allocation.

regex.c (re_match)

check for stack depth was needed.

2000-08-05

Sat Aug 5 16:43:43 2000 WATANABE Hirofumi <[email protected]>

djgpp/*

convert DOS line endings to UNIX style.

djgpp/config.status

rename to config.sed for SFN.

lib/ftools.rb (compare, safe_unlink, chmod)

avoid warnings.

lib/ftools.rb (move)

typo. not `tpath', but `to'.

2000-08-04

Fri Aug 4 23:26:48 2000 Yukihiro Matsumoto <[email protected]>

eval.c (proc_call)

gives warning if a block is supplied.

eval.c (rb_eval)

no warning for discarding if an alias for the method is already made.

Fri Aug 4 16:32:29 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_reject_bang)

returns nil if no element removed.

hash.c (rb_hash_reject_bang)

returns nil if no element removed.

2000-08-03

Thu Aug 3 19:44:26 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_fd_writable)

should return integer value.

array.c (rb_ary_assoc)

search array element whose length is longer than 0 (not 1).

2000-08-02

Wed Aug 2 18:27:47 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_wait_fd)

prohibit thread context switch during compilation.

eval.c (rb_cont_call)

prohibit Continuation#call across threads.

Wed Aug 2 08:22:04 2000 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc)

clear malloc_memories to zero, to avoid potential super frequent GC invocation. (ruby-bugs:#PR48)

gc.c (rb_gc)

only add_heap() if GC trigger condition is satisfied.

2000-08-01

Tue Aug 1 16:41:58 2000 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

global load path setting moved from ruby_prog_init().

ruby.c (incpush)

renamed. push path entry at the END of the load path array. This makes -I directories sorted in order in the arguments.

2000-07-29

Sat Jul 29 23:42:04 2000 Yukihiro Matsumoto <[email protected]>

dir.c (dir_each)

should check whether dir is closed during the block execution. (ruby-bugs:#PR47)

Sat Jul 29 21:57:30 2000 WATANABE Hirofumi <[email protected]>

ruby.c (rubylib_mangle)

provide another buffer for the result.

2000-07-26

Wed Jul 26 10:09:01 2000 WATANABE Hirofumi <[email protected]>

configure.in

set SOLIBS to LIBS on Cygwin.

configure.in

LIBRUBY_SO='$(RUBY_INSTALL_NAME)'.$target_os.dll on cygwin and mingw32. ruby-cygwin.dll is bad. why?

Wed Jul 26 10:04:03 2000 Yukihiro Matsumoto <[email protected]>

gc.c (gc_sweep)

avoid full scan during compilation.

gc.c (rb_gc)

add heap during no gc period (including compilation).

2000-07-25

Tue Jul 25 19:03:04 2000 WATANABE Hirofumi <[email protected]>

cygwin/GNUmakefile

use puts instead of print, because Cygwin DLL's behavior is changed(or bug?).

configure.in

LIBRUBY_SO='$(RUBY_INSTALL_NAME)'-$target_os.dll on cygwin and mingw32.

cygwin/GNUmakefile

ditto.

Makefile.in

$(SOLIBS) should be put after dmyext.@OBJEXT@.

instruby.rb

install $(LIBRUBY) to libdir if $(LIBRUBY) != $(LIBRUBY_A_).

Tue Jul 25 15:16:00 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_p)

redirect to $defout.

2000-07-24

Mon Jul 24 18:52:55 2000 WATANABE Hirofumi <[email protected]>

win32/win32.c (win32_getenv)

should remove `static'.

ruby.c (rubylib_mangle)

support “/hoge;/foo”

Mon Jul 24 10:28:55 2000 GOTO Kentaro <[email protected]>

string.c (rb_str_count)

raise exception if no argument is given.

2000-07-23

Sun Jul 23 12:55:04 2000 Dave Thomas <[email protected]>

string.c (rb_str_rindex)

Support negative end position.

2000-07-21

Fri Jul 21 17:35:01 2000 Yukihiro Matsumoto <[email protected]>

parse.y (aref_args)

command_call now be permitted as aref_args.

process.c (proc_getpriority)

getpriority(2) may return valid negative number. use errno to detect error.

marshal.c (dump_ensure)

dumped string should be tainted if any among target objects is tainted.

marshal.c (r_regist)

restored object should be tainted if and only if the source is a file or a tainted string.

2000-07-19

Wed Jul 19 15:14:04 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivrem)

should use rb_int2big(), not rb_uint2big().

2000-07-18

Tue Jul 18 14:58:30 2000 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_options)

should treat SystemExit etc. properly.

parse.y (yycompile)

should check compile_for_eval, not ruby_in_eval.

2000-07-17

Mon Jul 17 04:29:50 2000 Minero Aoki <[email protected]>

lib/mkmf.rb

converts extension of $objs into $OBJEXT.

2000-07-16

Sun Jul 16 03:02:34 2000 Dave Thomas <[email protected]>

lib/weakref.rb

Change to use new ObjectSpace calls.

2000-07-15

Sat Jul 15 21:59:58 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should not redefine __id__ nor __send__.

gc.c (define_final)

integrate final.rb features into the interpreter. define_finalizer and undefine_finalizer was added to ObjectSpace. plus, add_finalizer, remove_finalizer, and call_finalizer are deprecated now.

Sat Jul 15 01:32:34 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_mod_method)

implements unbound method.

eval.c (Init_eval)

should prohibit `module_function' for class Class.

2000-07-14

Fri Jul 14 17:19:59 2000 WATANABE Hirofumi <[email protected]>

cygwin/GNUmakefile.in

use miniruby instead of sed.

Fri Jul 14 12:49:50 2000 Yukihiro Matsumoto <[email protected]>

io.c (argf_eof)

need to check stdin, when next_p == -1.

io.c (read_all)

use io_fread() instead of fread(3).

io.c (io_reopen)

should clearerr FILE if fd < 3.

re.c (rb_reg_match_m)

the result is exported, so it should be declared as busy.

eval.c (rb_eval)

should preserve errinfo even if return, break, etc. is called in rescue clause.

instruby.rb

install irb too.

2000-07-12

Wed Jul 12 15:32:57 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_const_get)

constants for builtin classes must have higher priority than constants from included modules at Object class.

bignum.c (bigdivrem)

small embarrassing typo.

Wed Jul 12 15:06:28 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

use rb_const_get_at().

variable.c (top_const_get)

retrieve toplevel constants only, not ones of Object (and its included modules) in general.

Wed Jul 12 15:04:11 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.26.

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

add module Net::NetPrivate and its inner classes {Read,Write}Adapter, Command, Socket, SMTPCommand, POP3Command, APOPCommand, HTTPCommand

Wed Jul 12 13:10:30 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivrem)

defer bignorm().

bignum.c (bignorm)

accepts accidental fixnums.

2000-07-11

Tue Jul 11 16:54:17 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

`@<digit>' is no longer a valid instance variable name.

Tue Jul 11 01:51:50 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_divmod)

should not use Integer(float) for the right operand.

bignum.c (rb_big_remainder)

ditto.

bignum.c (rb_big_modulo)

ditto.

2000-07-10

Mon Jul 10 15:27:16 2000 WATANABE Hirofumi <[email protected]>

io.c (pipe_finalize)

should set rb_last_status when pclose().

Mon Jul 10 09:07:54 2000 Yukihiro Matsumoto <[email protected]>

error.c (rb_bug)

print version number and such too.

2000-07-08

Sat Jul 8 23:08:40 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_start_0)

should copy previous scopes to prevent rb_gc_force_recycle().

2000-07-07

Fri Jul 7 23:36:36 2000 Katsuyuki Komatsu <[email protected]>

ext/socket/addrinfo.h

move IN_EXPERIMENTAL and IN_LOOPBACKNET definitions to ext/socket/sockport.h.

ext/socket/extconf.rb

add getservbyport() and arpa/inet.h check.

ext/socket/getaddrinfo.c (getaddrinfo)

SOCK_RAW may not be defined (ex. BeOS, Palm OS 2.x or before).

ext/socket/getnameinfo.c (getnameinfo)

getservbyport() may not exist (ex. BeOS, Palm OS).

ext/socket/sockport.h

add IN_EXPERIMENTAL, IN_CLASSA_NSHIFT, IN_LOOPBACKNET, AF_UNSPEC, PF_UNSPEC and PF_INET.

Fri Jul 7 03:30:00 2000 Yukihiro Matsumoto <[email protected]>

parse.y (aref_args)

should allow 2000-07-06

Thu Jul 6 19:12:12 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_file_s_open)

should not terminate fptr; just clear it.

ruby.c (proc_options)

should not call require_libraries() twice.

ruby.c (require_libraries)

clear req_list_head.next after execution.

Thu Jul 6 13:51:57 2000 Nobuyoshi Nakada <[email protected]>

object.c (rb_to_id)

name may not be symbol nor fixnum.

struct.c (rb_struct_s_def)

name may be nil.

Thu Jul 6 02:09:06 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (bigdivrem)

new function to return remainder.

numeric.c (fixdivmod)

now returns modulo, not remainder.

numeric.c (flodivmod)

ditto.

bignum.c (bigdivmod)

ditto.

numeric.c (num_modulo)

new method; alias to '%'.

Thu Jul 6 00:51:43 2000 WATANABE Hirofumi <[email protected]>

win32/win32.c (NtCmdGlob)

patterns should be separated and NUL terminated.

2000-07-05

Wed Jul 5 22:27:56 2000 WATANABE Hirofumi <[email protected]>

cygwin/GNUmakefile

use ruby.def to make rubycw.dll.

ext/extmk.rb.in

create target.def.

lib/mkmf.rb

ditto.

Wed Jul 5 09:47:14 2000 Yukihiro Matsumoto <[email protected]>

time.c (time_arg)

Time::local, Time::gm now take 7th optional argument for usec.

numeric.c (num_ceil, etc)

default ceil, floor, round, truncate implementation for Numeric, using `to_f'.

io.c (rb_io_reopen)

clear fptr->path after free() to prevent potential GC crash.

io.c (rb_file_s_open)

terminate fptr unless null.

io.c (rb_file_initialize)

ditto.

lib/tempfile.rb

specify FILE::CREAT|File::EXCL to open for better security.

numeric.c (flo_truncate)

new method.

Wed Jul 5 01:02:53 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

join ' ' -> join(' ').

lib/mkmf.rb

ditto.

2000-07-04

Tue Jul 4 13:51:29 2000 Yukihiro Matsumoto <[email protected]>

ext/dbm/dbm.c

add methods added to Hash in 1.5.x.

ext/gdbm/gdbm.c

ditto.

ext/sdbm/init.c

ditto.

eval.c (proc_call)

args may be Qundef (means no argument), do not call TYPE() for args.

Tue Jul 4 13:20:56 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

make command line must be single-quoted. $(RUBY_INSTALL_NAME) is command substitution in the POSIX sh.

Tue Jul 4 13:16:02 2000 Yukihiro Matsumoto <[email protected]>

util.c (rb_type)

should add T_UNDEF.

Tue Jul 4 09:30:35 2000 Yukihiro Matsumoto <[email protected]>

parse.y (here_document)

supports EOF right after terminator.

random.c (rb_f_rand)

argument is now optional (rand(max=0)).

Tue Jul 4 01:50:49 2000 WATANABE Hirofumi <[email protected]>

win32/ruby.def

remove ruby_mktemp.

Tue Jul 4 01:27:13 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_rescue2)

new function to rescue arbitrary exception.

numeric.c (do_coerce)

should catch NameError explicitly.

Tue Jul 4 00:15:23 2000 Dave Thomas <[email protected]>

numeric.c (Init_Numeric)

forgot to register Numeric#remainder.

2000-07-03

Mon Jul 3 23:46:56 2000 Katsuyuki Komatsu <[email protected]>

win32/win32.c (myselect, myaccept)

disable interrupt while executing accept() or select() to avoid Ctrl-C causes “unknown software exception (0xc0000029)”.

Mon Jul 3 18:35:41 2000 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb

use null device if it exists for cross-compiling.

Mon Jul 3 18:19:51 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.26.

lib/net/protocol.rb (finish)

do nothing unless active.

lib/net/http.rb

HTTP#{get,post}2 again (for new impl).

Mon Jul 3 16:47:22 2000 WATANABE Hirofumi <[email protected]>

cygwin/GNUmakefile

librubys.a -> lib$(RUBY_INSTALL_NAME)s.a

configure.in

use AC_CANONICAL_{HOST,TARGET,BUILD}.

Mon Jul 3 13:15:02 2000 Yukihiro Matsumoto <[email protected]>

numeric.c (fix_divmod)

x * d + m = y where d, m = x.divmod(y).

bignum.c (rb_big_divmod)

ditto.

numeric.c (fixdivmod)

does not depend C's undefined % behavior. adopt to fmod(3m) behavior.

numeric.c (flo_mod)

modulo now reserves fmod(3m) behavior.

numeric.c (num_remainder)

'deprecated' warning.

Mon Jul 3 10:27:28 2000 WATANABE Hirofumi <[email protected]>

configure.in

use AC_CANONICAL_SYSTEM.

2000-07-02

Sun Jul 2 21:17:37 2000 WATANABE Hirofumi <[email protected]>

configure.in

support without –enable-shared for cygwin/mingw32.

cygwin/GNUmakefile

ditto.

ext/extmk.rb.in

use null device if it exists for cross-compiling.

lib/mkmf.rb

ditto.

util.c (ruby_mktemp)

remove unused ruby_mktemp().

Sun Jul 2 14:18:04 2000 Koji Arai <[email protected]>

eval.c (TMP_PROTECT_END)

tmp__protect_tmp may be NULL.

Sun Jul 2 03:37:50 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.25.

lib/net/protocol.rb (each_crlf_line)

beg = 0 is needed in adding{}

lib/net/smtp.rb

allow String for to_addr of SMTP#sendmail

2000-07-01

Sat Jul 1 15:22:35 2000 Yukihiro Matsumoto <[email protected]>

numeric.c (fix_rshift)

should handle shift value more than sizeof(long).

Sat Jul 1 15:22:35 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

the value from RTEST() is not valid Ruby object. result should be either true or false.

Sat Jul 1 09:30:06 2000 Katsuyuki Komatsu <[email protected]>

re.c (rb_reg_initialize)

was freeing invalid pointer.

Sat Jul 1 03:25:56 2000 Yukihiro Matsumoto <[email protected]>

parse.y (call_args)

command_call can be the last argument of call_args. It had to be the only argument.

re.c (rb_reg_s_quote)

should not dump core even for unsane mbc string.

2000-06-30

Fri Jun 30 01:36:20 2000 Aleksi Niemela <[email protected]>

parse.y (f_norm_arg)

better, nicer error message.

2000-06-29

Thu Jun 29 07:45:33 2000 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (udp_send)

destination may be packed struct sockaddr.

object.c (rb_Integer)

Integer(nil) should be invalid, on the other hand, nil.to_i is OK.

2000-06-28

Wed Jun 28 17:26:06 2000 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (ip_recvfrom)

udp_recvfrom and tcp_recvfrom is merged and moved to IPSocket#recvfrom.

ext/socket/socket.c (sock_s_getaddrinfo)

family can be a strings such as “AF_INET” etc.

ruby.c (require_libraries)

. and RUBYLIB added to $load_path just before -r procedure.

ruby.c (proc_options)

-e, - did not exec -r.

Wed Jun 28 14:52:28 2000 Koga Youichirou <[email protected]>

config.sub

NetBSD/hpcmips support.

Wed Jun 28 10:11:06 2000 Yukihiro Matsumoto <[email protected]>

gc.c

gc trigger threshold changed; GC_NEWOBJ_LIMIT removed, FREE_MIN is increased to 4096.

2000-06-27

Tue Jun 27 22:39:28 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.24.

lib/net/protocol.rb

modified each_crlf_line again.

lib/net/protocol.rb

do_write_beg,do_write_end -> writing{} do_write_do -> do_write

lib/net/http.rb

can make proxy connection by passing addresses to HTTP.new, start.

lib/net/http.rb

HTTP.new_implementation, old_implementation: can use 1.2 implementation of head, get, post, put.

Tue Jun 27 12:05:10 2000 Katsuyuki Komatsu <[email protected]>

win32.c (myfdclr)

new function.

win32.h

add FD_CLR.

2000-06-26

Mon Jun 26 23:41:41 2000 WATANABE Hirofumi <[email protected]>

ruby.h

add cast for ANSI style.

gc.c (rb_data_object_alloc)

use RUBY_DATA_FUNC.

Mon Jun 26 22:20:03 2000 Katsuyuki Komatsu <[email protected]>

win32/win32.c (is_socket, extract_file_fd)

New function.

win32/win32.c (myfdopen)

use is_socket().

win32/win32.c (myselect)

return non socket files immediately if file and socket handles are mixed.

Mon Jun 26 16:21:30 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

wait_for cleared too early.

Mon Jun 26 09:15:31 2000 Yukihiro Matsumoto <[email protected]>

pack.c

remove obsolete 'F', 'D' specifiers.

2000-06-25

Sun Jun 25 00:55:03 2000 Katsuyuki Komatsu <[email protected]>

ext/socket/socket.c (sock_s_getnameinfo)

`res' would not be assigned if TYPE(sa) == T_STRING.

2000-06-24

Sat Jun 24 14:36:29 2000 WATANABE Hirofumi <[email protected]>

config*.dj, configure.bat, top.sed

move to djgpp/.

Sat Jun 24 02:34:17 2000 Yukihiro Matsumoto <[email protected]>

ruby.c (load_file)

call require_libraries() here to let debug.rb work properly.

2000-06-23

Fri Jun 23 22:34:51 2000 Katsuyuki Komatsu <[email protected]>

bignum.c (rb_big_lshift)

reorder xds assignment to avoid reusing `x' as `len' by VC++ 6.0 SP3 compiler with -Ox switch.

Fri Jun 23 01:11:27 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_substr)

should return empty string (“”), if beg == str.size and len == zero, mostly for convenience and backward compatibility.

parse.y (new_super)

should tweak block_pass node for super too.

string.c (rb_str_split_m)

last split element should not be nil, but “” when limit is specified.

2000-06-22

Thu Jun 22 17:27:46 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_substr)

str now returns nil when n equals to str.size.

Thu Jun 22 13:49:02 2000 Uechi Yasumasa <[email protected]>

lib/net/ftp.rb

support resuming.

Thu Jun 22 13:37:19 2000 WATANABE Hirofumi <[email protected]>

eval.c (rb_thread_sleep_forever)

merge pause() macro.

2000-06-21

Wed Jun 21 08:49:04 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should not raise exception just by defining singleton class.

Wed Jun 21 01:18:03 2000 Yukihiro Matsumoto <[email protected]>

ruby.h

two macros RUBY_DATA_FUNC and RUBY_METHOD_FUNC are added to make writing C++ extensions easier.

array.c (rb_ary_dup)

internal classes should not be shared by dup.

hash.c (rb_hash_dup)

ditto.

object.c (rb_obj_dup)

ditto.

string.c (rb_str_dup)

ditto.

error.c (Init_Exception)

renamed NotImplementError to NotImplementedError.

2000-06-20

Tue Jun 20 16:22:38 2000 Yukihiro Matsumoto <[email protected]>

time.c (make_time_t)

bug in DST boundary.

Tue Jun 20 10:54:19 2000 WATANABE Hirofumi <[email protected]>

configure.in

add eval sitedir.

Tue Jun 20 06:14:43 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

change: version syntax. old: x.yz, now: x.y.z

lib/net/telnet.rb

ditto.

Tue Jun 20 00:37:45 2000 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_kcode_m)

Regexp#kcode returns nil for code unfixed regexp object.

bignum.c (bigdivmod)

bignum zero check was wrong.

2000-06-19

Mon Jun 19 10:48:28 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_cvar_set)

forgot to add security check for class variable assignment.

2000-06-18

Sun Jun 18 22:49:13 2000 WATANABE Hirofumi <[email protected]>

configure.in

single quoted sitedir.

mkconfig.rb

add DESTDIR for cross-compiling.

lib/mkmf.rb

add DESTDIR.

ruby.c (load_file)

force binmode if fname includes “.exe” on DOSISH.

2000-06-17

Sat Jun 17 23:22:17 2000 Yukihiro Matsumoto <[email protected]>

sprintf.c (rb_f_sprintf)

should ignore negative precision given by <%.*>.

sprintf.c (rb_f_sprintf)

should allow zero precision.

Sat Jun 17 03:13:29 2000 Yukihiro Matsumoto <[email protected]>

time.c (time_localtime)

avoid unnecessary call of localtime.

time.c (time_gmtime)

avoid unnecessary call of gmtime.

process.c (proc_wait2)

new method.

process.c (proc_waitpid)

second argument made optional.

process.c (proc_waitpid2)

new method.

Sat Jun 17 00:05:00 2000 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_clone)

should initialize member fields.

2000-06-16

Fri Jun 16 22:49:34 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_rewind)

set lineno to zero.

Fri Jun 16 22:47:47 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.23.

lib/net/protocol.rb

too many CRLF in last line.

Fri Jun 16 21:23:59 2000 WATANABE Hirofumi <[email protected]>

configure.in

add pause(2) checking.

eval.c

define pause() if missing.

Fri Jun 16 18:41:58 2000 Koji Arai <[email protected]>

process.c (proc_setsid)

BSD-style setpgrp() don't return process group ID, but 0 or -1.

Fri Jun 16 16:23:35 2000 Koji Arai <[email protected]>

file.c (rb_stat_inspect)

gives detailed information; compatibility with ruby-1.4.x.

Fri Jun 16 05:18:45 2000 Yasuhiro Fukuma <[email protected]>

configure.in

FreeBSD: do not link dummy libxpg4 which was merged into libc.

Fri Jun 16 03:17:36 2000 Satoshi Nojo <[email protected]>

ext/dbm/dbm.c (fdbm_length)

use GetDBM. empty?, [] too.

ext/gdbm/gdbm.c (fgdbm_length)

ditto.

ext/sdbm/init.c (fsdbm_length)

ditto.

Fri Jun 16 01:57:31 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_sleep_forever)

pause(2) instead of sleep(3).

2000-06-15

Thu Jun 15 10:46:36 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_sub_bang)

should propagate taintness from replacement string.

2000-06-14

Wed Jun 14 17:01:41 2000 Katsuyuki Komatsu <[email protected]>

rubytest.rb

add CONFIG to the executable file name.

Wed Jun 14 14:50:00 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_f_sub)

assign to $_ only if modification happens.

string.c (rb_f_gsub)

ditto.

string.c (rb_f_chop)

ditto.

string.c (rb_f_chomp)

ditto.

io.c (io_reopen)

preserve file position by ftell/fseek, if io is a seekable.

eval.c (method_arity)

wrong arity number for the methods with optional arguments.

time.c (make_time_t)

opposite timezone shift (should be negative).

Wed Jun 14 14:07:38 2000 WATANABE Hirofumi <[email protected]>

io.c

typo(ig/if).

re.c

typo(re/reg). add rb_reg_check().

time.c

remove unneeded declare(daylight, timezone).

configure.in

add include <time.h> when daylight checking.

Wed Jun 14 11:36:52 2000 WATANABE Hirofumi <[email protected]>

marshal.c (r_object)

modified for symbols.

marshal.c (w_object)

ditto.

Wed Jun 14 10:04:58 2000 Yukihiro Matsumoto <[email protected]>

re.c (rb_memcmp)

should compare according to ruby_ignorecase.

string.c (rb_str_cmp)

use rb_memcmp.

string.c (rb_str_index)

ditto.

string.c (rb_str_rindex)

ditto.

string.c (rb_str_each_line)

ditto.

Wed Jun 14 04:58:53 2000 Dave Thomas <[email protected]>

io.c (rb_io_set_lineno)

should have returned VALUE, not integer.

Wed Jun 14 09:29:42 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_dup)

dup should always propagate taintness.

Wed Jun 14 00:50:14 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

read_multipart(): if no content body then raise EOFError.

2000-06-13

Tue Jun 13 11:46:17 2000 Yukihiro Matsumoto <[email protected]>

process.c (proc_setsid)

try implement it using setpgrp() and ioctl(fd, TIOCNOTTY, NULL).

re.c (rb_reg_prepare_re)

magic variable $= should affect regex pattern match.

time.c (make_time_t)

use tm.tm_gmtoff if possible.

time.c (time_zone)

use tm.tm_zone if available.

Tue Jun 13 01:50:57 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.22.

lib/net/http.rb

HTTPResponse#body returns body.

2000-06-12

Mon Jun 12 23:41:54 2000 WATANABE Hirofumi <[email protected]>

configure.in (daylight)

avoid GCC optimization.

Mon Jun 12 19:02:27 2000 WATANABE Hirofumi <[email protected]>

configure.in

cygwin has strange timezone.

time.c (time_zone)

use tzname and daylight.

2000-06-10

Sat Jun 10 23:10:32 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_seek)

whence is optional, default is SEEK_SET.

2000-06-09

Fri Jun 9 17:00:29 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.21.

lib/net/http.rb

exception is raised with response object.

Fri Jun 9 15:11:35 2000 Yukihiro Matsumoto <[email protected]>

time.c (make_time_t)

supports daylight saving time.

eval.c (rb_thread_safe_level)

should retrieve current $SAFE value if a thread is the current thread.

2000-06-08

Thu Jun 8 14:25:45 2000 Hiroshi Igarashi <[email protected]>

lib/mkmf.rb

add target `distclean' in Makefile for extlib. target `clean' doesn't remove Makefile.

Thu Jun 8 13:34:03 2000 Dave Thomas <[email protected]>

numeric.c

add nan?, infinite?, and finite? to Float

Thu Jun 8 00:31:04 2000 WATANABE Hirofumi <[email protected]>

regex.h

export re_mbctab properly on cygwin.

dln.c

use dlopen instead of LoadLibrary on cygwin.

Thu Jun 8 13:41:34 2000 Tadayoshi Funaba <[email protected]>

file.c (rb_file_s_basename)

might dump core.

2000-06-06

Tue Jun 6 03:29:12 2000 Yukihiro Matsumoto <[email protected]>

dir.c (dir_foreach)

now returns nil for consistency.

bignum.c (bigdivmod)

modulo by small numbers was wrong.

2000-06-05

Mon Jun 5 00:18:08 2000 WATANABE Hirofumi <[email protected]>

bignum.c

avoid conflict with USHORT on mingw32.

Mon Jun 5 00:13:35 2000 WATANABE Hirofumi <[email protected]>

eval.c (rb_thread_schedule)

=/== typo.

2000-06-04

Sun Jun 4 03:17:36 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

improve: CGI::pretty()

Sun Jun 4 02:01:10 2000 WATANABE Hirofumi <[email protected]>

lib/mkmf.rb

do not need to add -L$(topdir) in –enable-shared case.

2000-06-03

Sat Jun 3 13:50:06 2000 Yukihiro Matsumoto <[email protected]>

parse.y (rb_id2name)

should support constant attrset identifiers.

bignum.c (rb_big_eq)

Bignum#== should not raise exception.

2000-06-02

Fri Jun 2 11:24:48 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_popen)

open with a block returns the value from the block. old behavior was back.

Fri Jun 2 00:42:31 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_cleanup)

should clear priority for thread termination.

2000-06-01

Thu Jun 1 22:39:41 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.20.

lib/net/http.rb

wrongly closed the socket twice when no Content-Length: was given.

Thu Jun 1 00:59:15 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

convert Qundef to [].

2000-05-31

Wed May 31 20:45:59 2000 Dave Thomas <[email protected]>

string.c (rb_str_slice_bang)

wrong argument number.

Wed May 31 12:37:04 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_exec_end_proc)

print error message from END procs.

Wed May 31 04:06:41 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

change: CGI#out() if “HEAD” == REQUEST_METHOD then output only HTTP header.

Wed May 31 01:54:21 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

set main_thread->status to THREAD_TO_KILL, before raising deadlock error.

eval.c (rb_thread_deadlock)

if curr_thread == main_thread, do not call rb_thread_restore_context()

2000-05-30

Tue May 30 23:33:41 2000 Katsuyuki Komatsu <[email protected]>

lib/mkmf.rb (create_makefile)

add $(TARGET).ilk and *.pdb to cleanup files for mswin32.

2000-05-29

Mon May 29 10:41:10 2000 Nobuyoshi Nakada <[email protected]>

file.c (rb_file_s_basename)

should propagate taintness.

2000-05-28

Sun May 28 21:37:13 2000 WATANABE Hirofumi <[email protected]>

eval.c

bug fix: DLEXT2.

Sun May 28 19:21:43 2000 WATANABE Hirofumi <[email protected]>

win32/win32.c

use ruby's glob.

dir.c

“glob” exported and renamed to “rb_glob”.

ruby.h

ditto.

main.c

turn off command line mingw32's globbing.

2000-05-25

Wed May 25 22:25:13 2000 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

use “ftools” instead of “rm -f”.

lib/mkmf.rb

ditto.

Thu May 25 22:01:32 2000 Katsuyuki Komatsu <[email protected]>

defines.h

mswin32: remove obsolete USHORT definition.

re.h

mswin32: use EXTERN instead of extern.

regex.h

mswin32: export re_mbctab properly.

win32/ruby.def

add ruby_ignorecase and regex.c's exports.

Thu May 25 21:28:44 2000 Minero Aoki <[email protected]>

re.c (rb_reg_expr_str)

escape un-printable character.

Thu May 25 01:35:15 2000 Yukihiro Matsumoto <[email protected]>

parse.y (tokadd_escape)

forgot to add `x' to hexadecimal escape sequences.

object.c (rb_obj_dup)

dup for normal object (T_OBJECT) copies instance variables only.

2000-05-24

Wed May 24 23:49:47 2000 Yukihiro Matsumoto <[email protected]>

object.c (rb_mod_initialize)

should provide initialize.

Wed May 24 23:17:50 2000 Katsuyuki Komatsu <[email protected]>

win32/Makefile

remove unnecessary mv and rm command call.

Wed May 24 21:01:04 2000 Katsuyuki Komatsu <[email protected]>

ext/pty/pty.c

use “” instead of <> to include ruby.h and rubyio.h for BeOS (PowerPC).

file.c (rb_find_file)

should check dln_find_file() result.

win32/ruby.def

add rb_block_given_p.

Wed May 24 16:32:45 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_popen)

popen does not take 3rd argument anymore.

re.c (rb_reg_desc)

re may be zero, check before dereferencing.

Wed May 24 16:03:06 2000 Wakou Aoyama <[email protected]>

lib/cgi.rb

bug fix: CGI::escape(), CGI::Cookie::new()

lib/net/telnet.rb

improve: binmode(), telnetmode() interface

Wed May 24 13:12:31 2000 Yukihiro Matsumoto <[email protected]>

misc/ruby-mode.el (ruby-parse-region)

support `while .. do' etc. But corresponding keywords must be at the beginning of line.

2000-05-23

Tue May 23 23:50:12 2000 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_initialize_m)

wrong kcode value.

re.c (rb_reg_s_new)

forgot to initialize re->ptr.

Tue May 23 08:36:24 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

forgot to restore old option status by (?ix-ix).

regex.c (re_compile_fastmap)

anychar may match newline if RE_OPTION_MULTILINE or RE_OPTION_POSIXLINE is set.

2000-05-22

Mon May 22 22:45:06 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.19.

lib/net/http.rb

do not use Regexp “p” option.

Mon May 22 21:56:43 2000 Nobuyoshi Nakada <[email protected]>

struct.c (rb_struct_getmember)

should use ID2SYM, not INT2NUM.

Mon May 22 15:07:37 2000 Yukihiro Matsumoto <[email protected]>

file.c (rb_find_file)

should check if the file really exists.

Mon May 22 09:08:12 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_popen)

_exit(0) after processing block under the child process.

io.c (rb_io_popen)

flush stdout/stderr before subprocess termination.

eval.c (rb_check_safe_str)

insert rb_secure(4); operation requires untainted string should be prohibited in level 4.

2000-05-21

Sun May 21 21:17:00 2000 WATANABE Hirofumi <[email protected]>

configure.in

add Setup.dj for djgpp cross-compiling.

Setup.dj

add readline.

instruby.rb

copy win32/win32.h to archlibdir on mingw32.

Sun May 21 20:58:08 2000 Katsuyuki Komatsu <[email protected]>

pack.c

fix OFF16 and OFF32 definitions for Alpha and IRIX64.

Sun May 21 17:31:37 2000 WATANABE Hirofumi <[email protected]>

instruby.rb

support “make install” for cross-compiling.

ext/extmk.rb.in

ditto.

Sun May 21 14:22:49 2000 WATANABE Hirofumi <[email protected]>

Makefile.in

rename prep.rb to fake.rb.

configure.in

ditto.

2000-05-20

Sat May 20 23:29:14 2000 Yukihiro Matsumoto <[email protected]>

dir.c (dir_s_new)

does not take block; “open” does.

io.c (rb_io_s_new)

ditto.

2000-05-19

Fri May 19 07:44:26 2000 Yukihiro Matsumoto <[email protected]>

dir.c (dir_s_open)

Dir#open does not returns closed Dir if a block is given to the method.

re.c (rb_reg_initialize_m)

Regexp::new calls initialize now.

string.c (Init_String)

String#delete_at removed.

string.c (rb_str_aset_m)

should have checked argc != 2.

eval.c (rb_thread_schedule)

select(2) was called too many.

regex.c (re_compile_pattern)

a bug in (?m) support. Pointed out by Dave Thomas <[email protected]>.

2000-05-18

Thu May 18 23:55:26 2000 Katsuyuki Komatsu <[email protected]>

dln.c (search_undef)

st_lookup()'s 3rd parameter should be a pointer of the variable which has the same size and alignment as `char *'.

marshal.c (w_symbol, w_object)

ditto.

parse.y (rb_intern)

ditto.

Thu May 18 18:00:35 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.18.

lib/net/protocol.rb

Net::Version was removed.

lib/net/smtp.rb

use Socket.gethostname to get local host name.

Thu May 18 13:34:57 2000 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (ruby_connect)

should not have replaced thread_write_select() by rb_thread_fd_writable().

Thu May 18 09:01:25 2000 Katsuyuki Komatsu <[email protected]>

configure.in, ext/extmk.rb.in, lib/mkmf.rb

remove BeOS R3 support. Make a shared library (libruby.so) only if the –enable-shared option is specified.

instruby.rb

no longer use libruby.so.LIB and import.h.

io.c

fix READ_DATA_PENDING definition for BeOS (PowerPC).

2000-05-17

Wed May 17 14:14:23 2000 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_new_1)

use /m instead of /p.

Wed May 17 02:22:03 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_polling)

wait 0.06 second to let other processes run.

process.c (rb_waitpid)

avoid busy wait using rb_thread_polling.

file.c (rb_thread_flock)

ditto.

parse.y (expr)

avoid calling value_expr() twice.

Wed May 17 00:45:57 2000 WATANABE Hirofumi <[email protected]>

io.c (rb_io_binmode)

should check PLATFORMs, not O_BINARY, sigh…

Wed May 17 00:40:15 2000 Katsuyuki Komatsu <[email protected]>

win32/config.h

add DLEXT2, now DLEXT on mswin32 is “so”.

win32/config.status

ditto.

win32/ruby.def

add symbol “rb_big_divmod”.

2000-05-16

Tue May 16 19:45:32 2000 Katsuyuki Komatsu <[email protected]>

intern.h

use EXTERN instead of extern.

win32/ruby.def

add rb_defout, rb_stdout, ruby_errinfo, ruby_sourceline, ruby_sourcefile to work with eruby reported by Hiroshi Saito <[email protected]>. Export both ruby_xmalloc and xmalloc etc.

Tue May 16 17:00:05 2000 Masaki Fukushima <[email protected]>

eval.c (rb_thread_select)

should check whether fds are null.

Tue May 16 11:51:31 2000 Yukihiro Matsumoto <[email protected]>

io.c (pipe_open)

synchronize subprocess stdout/stderr.

2000-05-15

Mon May 15 15:38:09 2000 Yukihiro Matsumoto <[email protected]>

ruby.h

exported symbols should be for xmalloc etc. are now prefixed by 'ruby_', e.g. ruby_xmalloc().

eval.c (rb_thread_select)

remove busy wait for select.

dir.c (glob)

trailing path may be null, e.g. glob(“**”).

Mon May 15 14:48:41 2000 Nobuyoshi Nakada <[email protected]>

io.c (rb_io_pid)

new method; returns nil if no process attached to the IO.

Mon May 15 01:18:20 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_s_popen)

_exit after Proc execution.

2000-05-14

Sun May 14 18:05:59 2000 WATANABE Hirofumi <[email protected]>

Makefile.in

missing/nt.c -> win32/win32.c

configure.in

bug fix; static linking on mingw32.

cygwin/GNUmakefile.in

remove VPATH.

ext/extmk.rb.in

Makefile set binmode with mingw32 on cygwin32.

lib/mkmf.rb

ditto.

win32/config.h

undef HAVE_SYS_FILE_H.

Sun May 14 02:02:48 2000 WATANABE Hirofumi <[email protected]>

lib/irb/ruby-lex.rb

'/' should be escaped in character class.

Sun May 14 00:54:43 2000 WATANABE Hirofumi <[email protected]>

configure.in, …

support mingw32.

defines.h

ditto. undef EXTERN for tcl/tk on cygwin.

ext/*/extconf.rb

replace PLATFORM with RUBY_PLATFORM.

ext/socket/sockport.h

define IN_MULTICAST for missing IN_MULTICAST.

ext/tcltklib/tcltklib.c

remove declaration of rb_argv0.

file.c

should check S_IXGRP, S_ISGID, not NT.

io.c (rb_io_binmode)

should check _IOBIN, O_BINARY, not PLATFORMs.

2000-05-13

Sat May 13 14:21:15 2000 Koji Arai <[email protected]>

io.c (rb_io_s_popen)

should check whether a block is given.

2000-05-12

Fri May 12 17:33:44 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

charset_not should not exclude newline from matching set.

2000-05-11

Thu May 11 22:51:05 2000 Ryunosuke Ohshima <[email protected]>

pack.c (pack_pack)

Bignum support.

pack.c (pack_unpack)

ditto.

Thu May 11 21:19:29 2000 Hiroshi Igarashi <[email protected]>

intern.h

add missing declarations of ruby API functions.

ruby.h

fix function name in declarations.

Thu May 11 22:29:25 2000 Katsuyuki Komatsu <[email protected]>

ext/md5/depend

add $(topdir)/config.h dependency to md5c.o.

ext/md5/extconf.rb

new file to add -DHAVE_CONFIG_H flag for Alpha.

Thu May 11 10:55:52 2000 Ryunosuke Ohshima <[email protected]>

pack.c (pack_pack)

packing BER compressed integer by `w'.

pack.c (pack_unpack)

unpacking BER.

Thu May 11 00:37:55 2000 Yukihiro Matsumoto <[email protected]>

parse.y (parse_regx)

remove in_brack.

2000-05-10

Wed May 10 12:51:18 2000 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

move adding RUBYLIB and “.” to the load path after #! line parsing.

parse.y (parse_regx)

should parse backslash escape like `c[' here to avoid causing `unterminated regexp' error.

Wed May 10 00:19:53 2000 Katsuyuki Komatsu <[email protected]>

MANIFEST, beos/GNUmakefile.in, configure.in

no longer need beos/GNUmakefile.in to support BeOS R4.5.2 (Intel) as a result of eban's Makefile.in change.

io.c

NOFILE is already defined on BeOS R4.5 (Intel) or later.

lib/matrix.rb

remove debug print.

regex.c

don't use nested comment.

2000-05-09

Tue May 9 17:08:43 2000 Yukihiro Matsumoto <[email protected]>

eval.c (massign)

no longer convert nil into empty array.

io.c (rb_io_s_popen)

optional 3rd argument to give proc, which will be executed in spawned child process.

2000-05-08

Mon May 8 23:47:39 2000 Katsuyuki Komatsu <[email protected]>

eval.c (rb_callcc)

prev & next should be initialized to zero.

Mon May 8 23:17:36 2000 Yukihiro Matsumoto <[email protected]>

dln.c (dln_init)

remove possible buffer overrun. This is suggested by Aleksi Niemela <[email protected]>.

dln.c (init_funcname)

ditto.

2000-05-06

Sat May 6 23:35:47 2000 Yukihiro Matsumoto <[email protected]>

parse.y (lhs)

should allow `obj.Attr = 5' type expression.

Sat May 6 15:46:08 2000 WATANABE Hirofumi <[email protected]>

ext/socket/extconf.rb

add a new configure option to force use of the WIDE Project's getaddrinfo(): –enbale-wide-getaddrinfo.

2000-05-05

Fri May 5 21:19:22 2000 MOROHOSHI Akihiko <[email protected]>

parse.y (yylex)

allow '$1foo' and such.

Fri May 5 17:57:24 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.17.

lib/net/http.rb

write also port number in Host: field.

lib/net/http.rb

see Proxy-Connection: to decide socket connection.

Fri May 5 03:25:15 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_fastmap)

charset_not for multibyte characters excluded too many characters.

2000-05-02

Tue May 2 13:23:43 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

little bit more impartial context switching.

Tue May 2 09:50:03 2000 Katsuyuki Komatsu <[email protected]>

configure.in

add DLDLIBS to set platform specific library for extensions.

ext/extmk.rb.in

use @DLDLIBS@ instead of RUBY_PLATFORM choice.

lib/mkmf.rb

use CONFIG instead of RUBY_PLATFORM choice.

config_s.dj

add @DLDLIBS@.

win32/config.status

ditto.

win32/ruby.def

regular maintenance.

2000-05-01

Mon May 1 23:42:44 2000 WATANABE Hirofumi <[email protected]>

configure.in, eval.c

add DLEXT2. now DLEXT on Cygwin is “so”.

defines.h

use dllimport, dllexport for Cygwin 1.1.x.

ruby.h

ditto.

cygwin/GNUmakefile.in

ditto.

ext/Win32API/Win32API.c

directly “call” in asm statement for gcc 2.95.x or newer.

2000-04-29

Sat Apr 29 04:58:12 2000 Nobuyoshi Nakada <[email protected]>

array.c (rb_ary_unshift_m)

performance improvement.

2000-04-28

Fri Apr 28 00:19:22 2000 Nobuyoshi Nakada <[email protected]>

array.c (rb_ary_unshift_m)

takes items to push.

2000-04-26

Wed Apr 26 15:23:02 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_succ)

insert carrying character just before the leftmost alpha numeric character.

string.c (rb_str_succ)

proper behavior for “”.succ and “377”.succ.

string.c (rb_str_succ)

use realloc and memmove.

2000-04-25

Tue Apr 25 18:28:45 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.16.

lib/net/smtp.rb

add SMTP AUTH

Tue Apr 25 14:30:13 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_gets_internal)

shortcut when rs == rb_default_rs.

2000-04-22

Sat Apr 22 23:14:41 2000 SHIROYAMA Takayuki <[email protected]>

configure.in

MacOS X support.

Sat Apr 22 16:37:10 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.15.

lib/net/http.rb

closing socket by watching both user header and server response

2000-04-21

Fri Apr 21 21:44:34 2000 WATANABE Hirofumi <[email protected]>

io.c (rb_io_s_pipe)

should set FMODE_SYNC.

2000-04-20

Thu Apr 20 16:59:22 2000 Nobuyoshi Nakada <[email protected]>

eval.c (massign)

`*lvalue = false' should assign `[false]' to lvalue.

2000-04-19

Wed Apr 19 08:35:08 2000 Yukihiro Matsumoto <[email protected]>

class.c (rb_singleton_class)

generate singleton class for special constants: nil, true, false.

Wed Apr 19 02:09:30 2000 Yukihiro Matsumoto <[email protected]>

class.c (rb_singleton_class)

singleton method for nil, true, false is possible now.

eval.c (rb_eval)

ditto.

2000-04-18

Tue Apr 18 18:54:25 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.14.

lib/net/http.rb

new method HTTP#head2.

lib/net/http.rb

get2/post2 does not raise exceptions.

2000-04-17

Mon Apr 17 15:16:31 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_close)

to detect some exceptional status, writable IO should be flushed before close;

2000-04-15

Sat Apr 15 18:29:00 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_collect_bang)

Array#filter renamed.

2000-04-14

Fri Apr 14 19:47:11 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.13.

lib/net/pop.rb

accept illegal timestamp

lib/net/http.rb

when body was chunked, does not set Content-Length:

2000-04-11

Tue Apr 11 21:14:42 2000 Katsuyuki Komatsu <[email protected]>

config_s.dj

add @sitedir@.

configure.in

add –with-sitedir=DIR option.

instruby.rb

use CONFIG.

lib/mkmf.rb

support 'make site-install'.

win32/config.status

add @sitedir@.

Tue Apr 11 16:25:15 2000 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_2comp)

unnecessary lvalue cast removed.

Tue Apr 11 02:25:53 2000 Yukihiro Matsumoto <[email protected]>

hash.c (env_fetch)

new method.

marshal.c (marshal_dump)

accepts depth = nil for unlimited depth.

2000-04-09

Sun Apr 9 20:49:19 2000 Dave Thomas <[email protected]>

parse.y (str_extend)

Allow class variables to be expanded.

2000-04-07

Fri Apr 7 02:03:54 2000 Yukihiro Matsumoto <[email protected]>

error.c (rb_sys_fail)

escape non-printable characters.

2000-04-06

Thu Apr 6 20:10:47 2000 Katsuyuki Komatsu <[email protected]>

ext/extmk.rb.in (create_makefile)

BeOS –program-suffix support.

lib/mkmf.rb (create_makefile)

ditto.

Thu Apr 6 09:55:26 2000 Katsuyuki Komatsu <[email protected]>

error.c (rb_sys_fail)

need rb_exc_new2() call on BeOS.

2000-04-03

Mon Apr 3 17:22:27 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_reopen)

support tempfile.

eval.c (catch_i)

should supply argument.

2000-04-01

Sat Apr 1 22:50:28 2000 Yukihiro Matsumoto <[email protected]>

marshal.c (r_object)

wrong symbol restoration.

Sat Apr 1 21:30:53 2000 WATANABE Hirofumi <[email protected]>

io.c (rb_io_printf, rb_f_printf)

should use rb_io_write.

Sat Apr 1 00:16:05 2000 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_call_finalizer_at_exit)

should be clear flags before calling finalizers.

eval.c (specific_eval)

can be called without SecurityError, if $SAFE >= 4.

object.c (sym_inspect)

inspect gives “:sym”, to_s gives “sym”.

2000-03-31

Fri Mar 31 22:07:04 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.12.

lib/net/protocol.rb

update Net::Protocol::Proxy#connect

lib/net/protocol.rb

ReplyCode is not a class

lib/net/http.rb

header value format was change: values do not include header name

lib/net/http.rb

header is not a Hash, but HTTPResponse

2000-03-30

Thu Mar 30 12:19:44 2000 Katsuyuki Komatsu <[email protected]>

enum.c (enum_find)

rb_eval_cmd() should be called with array.

2000-03-28

Tue Mar 28 13:57:05 2000 Clemens Hintze <[email protected]>

ext/dbm/dbm.c (fdbm_invert)

should return new hash.

ext/gdbm/gdbm.c (fgdbm_invert)

ditto.

Tue Mar 28 00:58:03 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.11.

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

does not dispatch any commands while dispatching command.

lib/net/protocol.rb

failed to get error class of inherited ReplyCode

lib/net/http.rb

change feature of “get2”, “post2”

2000-03-27

Mon Mar 27 01:34:58 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.10.

lib/net/http.rb

return value of 'head' was wrong.

2000-03-26

Sun Mar 26 17:47:35 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.9.

lib/net/smtp.rb

SMTP#do_ready wrongly took no arguments

2000-03-25

Sat Mar 25 23:21:10 2000 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

symbols should be converted to ID before dumping out.

2000-03-24

Fri Mar 24 18:26:51 2000 Yukihiro Matsumoto <[email protected]>

file.c (test_check)

should have checked exact number of arguments.

Fri Mar 24 21:02:11 2000 Koji Arai <[email protected]>

signal.c (trap)

should treat some symbols as the signal.

Fri Mar 24 06:58:03 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.8.

lib/net/http.rb

post, get2, post2, get_body

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

separate Command/Socket documentation.

2000-03-23

Thu Mar 23 02:26:14 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fptr_finalize)

fptr may be null.

io.c (rb_io_s_new)

now calls `initialize'.

io.c (rb_io_initialize)

actual open done in this method.

io.c (rb_file_initialize)

ditto.

eval.c (rb_eval)

class variables in singleton class definition is now handled properly (I hope).

2000-03-22

Wed Mar 22 21:49:36 2000 Minero Aoki <[email protected]>

st.c (st_delete_safe)

skip already deleted entry.

hash.c (rb_hash_delete)

modify brace miss.

Wed Mar 22 08:53:58 2000 Yukihiro Matsumoto <[email protected]>

eval.c (exec_under)

do not push cbase if ruby_cbase == under.

node.h (NEW_CREF0)

preserve cbase nesting.

2000-03-21

Tue Mar 21 12:57:50 2000 Yukihiro Matsumoto <[email protected]>

object.c (rb_class_s_new)

Class::new should call `inherited'.

2000-03-18

Sat Mar 18 12:36:09 2000 Nobuyoshi Nakada <[email protected]>

eval.c (rb_backtrace, make_backtrace)

removed unused variable `lev'.

eval.c (rb_attr)

calls `method_added' at attribute definition.

eval.c (rb_mod_modfunc)

calls `singleton_method_added' while `module_function'.

eval.c (rb_eval)

parameter to `method_added' and `singleton_method_added' is Symbol.

eval.c (Init_eval)

caches IDs for `method_added' and `singleton_method_added'.

Sat Mar 18 11:25:10 2000 Yukihiro Matsumoto <[email protected]>

parse.y (rescue)

allows `rescue Error in foo'. experimental. which is better this or preparing alias `exception' for `$!'?

2000-03-17

Fri Mar 17 15:02:45 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_autoload_id)

defining new autoload should be prohibited for $SAFE > 4.

variable.c (rb_autoload_load)

autoload should be possible for $SAFE > 4.

eval.c (call_trace_func)

should handle T_ICLASS properly.

Fri Mar 17 14:34:30 2000 Yukihiro Matsumoto <[email protected]>

string.c (str_gsub)

forgot to initialize str->orig.

Fri Mar 17 01:24:59 2000 Dave Thomas <[email protected]>

string.c (rb_str_clone)

forgot to copy str->orig if STR_NO_ORIG is set by Array#pack.

2000-03-15

Wed Mar 15 21:25:04 2000 Minero Aoki <[email protected]>

array.c (rb_ary_join)

'result' is always duplicated before concat string.

Wed Mar 15 17:26:05 2000 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_s_create)

unexpected recursive call removed. this bug was found by Satoshi Nojo <[email protected]>.

Wed Mar 15 13:12:39 2000 Yukihiro Matsumoto <[email protected]>

eval.c (Init_Thread)

Thread.join removed finally.

string.c (rb_str_chomp_bang)

forgot to call rb_str_modify().

2000-03-13

Mon Mar 13 16:12:13 2000 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

distinguish real orphan block and still on-stack block passed by block argument.

Mon Mar 13 00:20:25 2000 Yukihiro Matsumoto <[email protected]>

parse.y (f_norm_arg)

proper error message when constant comes in formal argument list. this message is suggested by Muvaw Pnazte <[email protected]>.

eval.c (rb_f_raise)

proper error message when the first argument is not an exception class/object.

string.c (rb_str_dup)

dup now postpone buffer copy as long as possible. performance improved by lazy copying.

2000-03-12

Sun Mar 12 13:58:52 2000 Koji Arai <[email protected]>

signal.c (rb_f_kill)

should treat some symbols as the signal.

2000-03-11

Sat Mar 11 22:03:03 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_gsub)

performance tune by avoiding buffer copy.

eval.c (rb_f_missing)

check if argv is ID.

Sat Mar 11 15:49:41 2000 Tadayoshi Funaba <[email protected]>

struct.c (rb_struct_aref)

struct aref by symbol.

Sat Mar 11 05:07:11 2000 Yukihiro Matsumoto <[email protected]>

process.c (proc_setpriority)

should return 0, not nil.

process.c (proc_setpgid)

ditto.

2000-03-10

Fri Mar 10 18:14:54 2000 Yukihiro Matsumoto <[email protected]>

file.c (path_check_1)

confusing buf and path. this bug found by <[email protected]>.

Fri Mar 10 09:37:49 2000 Katsuyuki Komatsu <[email protected]>

MANIFEST

add beos/GNUmakefile.in.

configure.in

support BeOS R4.5.2 (Intel).

beos/GNUmakefile.in

new file to support BeOS R4.5.2 (Intel).

2000-03-09

Thu Mar 9 11:13:32 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_fastmap)

fixed embarrassing brace bug.

Thu Mar 9 01:36:32 2000 WATANABE Hirofumi <[email protected]>

missing/flock.c

emulate missing flock() with fcntl().

Thu Mar 9 00:29:35 2000 Yukihiro Matsumoto <[email protected]>

object.c (sym_to_s)

returns “:sym”.

object.c (sym_id2name)

separated from to_s; returns “sym”.

2000-03-08

Wed Mar 8 19:16:19 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.7.

lib/net/http.rb (connecting)

returns header

Wed Mar 8 02:08:43 2000 Yukihiro Matsumoto <[email protected]>

parse.y

escape expansion too early.

string.c (rb_f_scan)

Kernel#scan added.

regex.c (re_compile_pattern)

support cX et al.

2000-03-07

Tue Mar 7 01:44:27 2000 Yukihiro Matsumoto <[email protected]>

io.c (set_stdin)

simplified procedure, allows $stdin = DATA; experimental.

io.c (set_outfile)

ditto.

re.c (Init_Regexp)

new method Regexp#last_match added; it's an alternative for $~.

configure.in (DEFAULT_KCODE)

KCODE_NONE should be the default.

dir.c (dir_s_rmdir)

should return 0 on success.

signal.c

remove CWGUSI support.

2000-03-06

Mon Mar 6 12:28:37 2000 Yukihiro Matsumoto <[email protected]>

marshal.c (w_symbol)

support symbol object.

util.c

make symbol as separated class.

error.c (Init_Exception)

new exception RangeError.

ext/socket/socket.c (ip_addrsetup)

should check length of hostname.

ext/socket/socket.c (ip_addrsetup)

check newline at the end of hostname. These fixes suggested by Muvaw Pnazte <[email protected]>.

2000-03-05

Sun Mar 5 20:35:45 2000 WATANABE Hirofumi <[email protected]>

ext/Win32API/Win32API.c (Win32API_initialize)

should call LoadLibrary() everytime and should assign the hdll to Win32API object(protect the hdll from GC).

Sun Mar 5 18:49:06 2000 Nakada.Nobuyoshi <[email protected]>

misc/ruby-mode.el (ruby-parse-region)

not treat method `begin' and `end' as reserved words.

misc/ruby-mode.el (ruby-font-lock-docs)

ignore after `=begin' and `=end'.

misc/ruby-mode.el (ruby-font-lock-keywords, hilit-set-mode-patterns)

added `yield' to keywords.

misc/ruby-mode.el (ruby-font-lock-keywords, hilit-set-mode-patterns)

matches keywords at end of buffer.

Sun Mar 5 18:08:53 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.6.

lib/net/http.rb

allow to omit 'start'

2000-02-29

Tue Feb 29 01:08:26 2000 Yukihiro Matsumoto <[email protected]>

range.c (range_initialize)

initialization done in `initialize'; `initialize' should not be called more than once.

object.c (Init_Object)

default `initialize' should take zero argument.

time.c (time_s_new)

call `initialize' in Time::new.

2000-02-26

Sat Feb 26 22:39:31 2000 EGUCHI Osamu <[email protected]>

string.c (rb_str_times)

fix String#* with huge string.

Sat Feb 26 00:14:59 2000 Yukihiro Matsumoto <[email protected]>

dir.c (dir_s_new)

call `initialize' in Dir::new.

2000-02-25

Fri Feb 25 23:01:49 2000 Katsuyuki Komatsu <[email protected]>

ruby.h

export ruby_safe_level by EXTERN for mswin32.

win32/ruby.def

regular maintenance.

Fri Feb 25 22:12:46 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_reopen)

IO#reopen should accept path as well.

string.c (rb_str_s_new)

call `initialize' in String::new.

hash.c (rb_hash_s_new)

call `initialize' in Hash::new.

array.c (rb_ary_s_new)

call `initialize' in Array::new.

Fri Feb 25 12:50:20 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_start_timer)

interval changed to 10ms from 50ms.

Fri Feb 25 06:42:26 2000 GOTOU Yuuzou <[email protected]>

ext/socket/socket.c (ip_addrsetup)

hostp should remain NULL if host is nil.

2000-02-24

Thu Feb 24 16:53:47 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_schedule)

priority check for sleep expired threads needed.

2000-02-23

Wed Feb 23 14:22:32 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_join)

forgot to initialize a local variable `taint'.

2000-02-22

Tue Feb 22 07:40:55 2000 Yukihiro Matsumoto <[email protected]>

re.c (Init_Regexp)

renamed to MatchData, old name MatchingData remain as alias.

Tue Feb 22 00:20:21 2000 Minero Aoki <[email protected]>

lib/net/protocol.rb, smtp.rb, pop.rb, http.rb

1.1.5.

lib/net/session.rb

rename to protocol.rb

lib/net/protocol.rb

ProtocolSocket -> Net::Socket

lib/net/protocol.rb

Net::Socket#write, write_pendstr can take block

lib/net/smtp.rb

new methods SMTP#ready SMTPCommand#write_mail

lib/net/pop.rb

POPMail#pop can take block

2000-02-19

Sat Feb 19 23:58:51 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

pop_loop should not pop at forward jump.

2000-02-18

Fri Feb 18 17:15:40 2000 Yukihiro Matsumoto <[email protected]>

eval.c (method_clone)

method objects are now clonable.

Fri Feb 18 00:27:34 2000 Yukihiro Matsumoto <[email protected]>

variable.c (rb_shared_variable_declare)

shared variable (aka class/module variable) introduced. prefix `@@'. experimental.

class.c (rb_scan_args)

new format char '&'.

2000-02-17

Thu Feb 17 19:09:05 2000 Katsuyuki Komatsu <[email protected]>

win32/win32.c (mypopen)

don't close handle if it is not assigned.

win32/win32.c (my_open_osfhandle)

support O_NOINHERIT flag.

win32/win32.c (win32_getcwd)

rename getcwd to win32_getcwd in order to avoid using the C/C++ runtime DLL's getcwd. Use CharNext() to process directory name.

win32/win32.h

map getcwd to win32_getcwd.

2000-02-16

Wed Feb 16 00:32:49 2000 Yukihiro Matsumoto <[email protected]>

eval.c (method_arity)

nd_rest is -1 for no rest argument.

process.c (proc_waitpid)

returns nil when waitpid(2) returns 0.

2000-02-15

Tue Feb 15 01:47:00 2000 Yukihiro Matsumoto <[email protected]>

process.c (rb_f_waitpid)

pid_t should be signed.

2000-02-14

Mon Feb 14 13:59:01 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

yylex yields wrong tokens for `:foo=~expr'.

ruby.c (load_file)

exit if reading file is empty.

Mon Feb 14 03:34:52 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

`foo.bar=1' should be <foo><.><bar><=><1>, not <foo><.><bar=><1>.

eval.c (rb_thread_restore_context)

process according to RESTORE_* is moved after longjmp().

eval.c (thread_switch)

new function to process RESTORE_*.

2000-02-13

Sun Feb 13 16:19:49 2000 WATANABE Hirofumi <[email protected]>

ruby.c (require_libraries)

don't access freed memory.

ruby.c (add_modules)

ditto.

2000-02-11

Fri Feb 11 12:06:22 2000 Yukihiro Matsumoto <[email protected]>

parse.y (parse_quotedwords)

%w() need to split not only by mere spaces, but by all whitespaces.

2000-02-10

Thu Feb 10 02:12:04 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_index_m)

did not support negative offset.

2000-02-09

Wed Feb 9 21:54:26 2000 Katsuyuki Komatsu <[email protected]>

ext/socket/getaddrinfo.c

gcc –traditional support. Rearrange headers to work AC_C_CONST.

ext/socket/getnameinfo.c

ditto.

ext/socket/socket.c

mswin32: use double instead of long long.

Wed Feb 9 16:30:41 2000 Yukihiro Matsumoto <[email protected]>

numeric.c (num_coerce)

should return [y, x].

Wed Feb 9 11:07:30 2000 Yukihiro Matsumoto <[email protected]>

ruby.c (ruby_prog_init)

loadpath structure changed.

2000-02-08

Tue Feb 8 02:07:33 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

optimize for G at top.

regex.c (re_compile_pattern)

G introduced.

regex.c (re_match)

ditto.

string.c (str_sub_bang)

old behavior restored: bang method returns nil if string not changed.

regex.c (re_compile_pattern)

support independent subexpression `(?>pattern)'.

regex.c (re_match)

ditto.

2000-02-07

Mon Feb 7 15:51:08 2000 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

now understands interrupts under Ruby.

Mon Feb 7 07:51:52 2000 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_uniq_bang)

always return an Array.

array.c (rb_ary_compact_bang)

ditto.

array.c (rb_ary_flatten_bang)

ditto.

hash.c (rb_hash_reject)

returns a Hash, not an Array.

hash.c (env_reject)

ditto.

2000-02-04

Fri Feb 4 10:20:25 2000 Yukihiro Matsumoto <[email protected]>

string.c (scan_once)

scan now leaves information about the last successful pattern match in $&.

io.c (rb_io_close)

should not check closed IO.

Fri Feb 4 05:44:01 2000 Kentaro Inagaki <[email protected]>

ext/socket/socket.c (s_recv)

TRAP_BEG after retry entry.

2000-02-02

Wed Feb 2 22:33:45 2000 Nobuyoshi Nakada <[email protected]>

eval.c (rb_thread_start)

receives argument from outside, like `Thread::start(1,2,3){|a,b,c| … }'.

Wed Feb 2 22:14:40 2000 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_regsub)

should check regs->num_regs.

re.c (rb_reg_search)

remove matchcache, use static struct re_register instead.

re.c (match_getter)

avoid cloning match data.

Wed Feb 2 17:12:15 2000 Dave Thomas <[email protected]>

samples/eval.rb

Rescue new ScriptError exception

Wed Feb 2 02:06:07 2000 Yukihiro Matsumoto <[email protected]>

string.c (str_gsub_bang)

gsub! now leaves information about the last successful pattern match in $&.

2000-01-31

Mon Jan 31 15:24:58 2000 Yukihiro Matsumoto <[email protected]>

string.c (str_sub_bang)

bang method returns string always. experimental.

2000-01-30

Sun Jan 30 17:58:09 2000 WATANABE Hirofumi <[email protected]>

eval.c

arrange to use setitimer(2) for BOW, DJGPP

defines.h

ditto. use random(3) on cygwin b20.1.

Sun Jan 30 17:20:16 2000 WATANABE Hirofumi <[email protected]>

eval.c

use getrlimit(2) on DJGPP.

2000-01-27

Thu Jan 27 01:27:10 2000 GOTO Kentaro <[email protected]>

dir.c (glob)

glob pattern “/*” did not match.

2000-01-26

Wed Jan 26 22:30:47 2000 Shigeo Kobayashi <[email protected]>

numeric.c (flo_modulo)

wrong result for negative modulo.

Wed Jan 26 02:01:57 2000 Yukihiro Matsumoto <[email protected]>

file.c (test_c)

should use S_ISCHR.

file.c (rb_stat_c)

ditto.

string.c (rb_str_each_line)

should propagate tainting.

2000-01-25

Tue Jan 25 04:01:34 2000 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_freeze)

all objects made freezable.

Tue Jan 25 00:37:01 2000 WATANABE Hirofumi <[email protected]>

configure.in

use AC_CHECK_TOOL for cross compiling.

2000-01-24

Mon Jan 24 19:01:54 2000 Nobuyoshi Nakada <[email protected]>

array.c (rb_protect_inspect)

should be checked by id of objects; not by object themselves.

Mon Jan 24 18:48:08 2000 Minero Aoki <[email protected]>

eval.c (rb_eval)

too many warnings; warned on every method overriding. should be on method discarding.

Mon Jan 24 02:56:44 2000 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

-2.abs should be `(-2).abs' to accomplish the principle of less surprise. `+2' too.

eval.c (rb_eval)

when defining class is already there, and superclass differ, throw away the old class.

variable.c (rb_const_set)

gives warning again on constant redefinition.

error.c (Init_Exception)

SyntaxError, NameError, LoadError and NotImplementError are subclasses of ScriptError<Exception, not StandardError. experimental.

2000-01-22

Sat Jan 22 00:00:41 2000 Yukihiro Matsumoto <[email protected]>

parse.y (parse_quotedwords)

no longer use `String#split'. and enable space escape within quoted word list. e.g. %w(a\ b\ c abc) => [“a b c”, “abc”].

string.c (rb_str_slice_bang)

new method `slice!'.

2000-01-21

Fri Jan 21 21:56:08 2000 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb, http.rb

1.1.4.

lib/net/http.rb

can receive messages which have no Content-Length:.

Fri Jan 21 16:15:59 2000 Yukihiro Matsumoto <[email protected]>

eval.c (thgroup_s_new)

new class ThreadGroup.

2000-01-18

Tue Jan 18 12:24:28 2000 Yukihiro Matsumoto <[email protected]>

struct.c (Init_Struct)

remove Struct's own hash and eql?.

2000-01-15

Sat Jan 15 22:21:08 2000 Nobuyoshi Nakada <[email protected]>

eval.c (search_method)

argument klass may be 0.

Sat Jan 15 15:03:46 2000 Yukihiro Matsumoto <[email protected]>

enum.c (enum_index)

remove this method.

enum.c

remove use of pointers to local variables. find, find_all, min, max, index, member?, each_with_index,

eval.c (massign)

multiple assignment does not use to_a anymore. experimental.

2000-01-14

Fri Jan 14 12:22:04 2000 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_replace)

use memmove instead of memcpy for overwrapping strings (e.g. a = a).

2000-01-13

Thu Jan 13 11:12:40 2000 Yukihiro Matsumoto <[email protected]>

parse.y (arg_add)

use new node, ARGSPUSH.

2000-01-10

Mon Jan 10 18:32:28 2000 Koji Arai <[email protected]>

marshal.c (w_object)

forgot an argument to call w_ivar().

2000-01-09

Sun Jan 9 18:13:51 2000 Katsuyuki Komatsu <[email protected]>

random.c

first was not defined unless HAVE_RANDOM.

2000-01-08

Sat Jan 8 19:02:49 2000 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_sysread)

raise IOError for buffered IO.

ext/socket/socket.c (s_recv)

ditto.

2000-01-07

Fri Jan 7 00:59:29 2000 Masahiro Tomita <[email protected]>

io.c (io_fread)

TRAP_BEG/TRAP_END added around getc().

2000-01-06

Thu Jan 6 00:39:54 2000 Yukihiro Matsumoto <[email protected]>

random.c (rb_f_rand)

should be initialized unless srand is called before.

2000-01-05

Wed Jan 5 16:59:34 2000 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb, http.rb

1.1.3.

lib/net/session.rb

Session -> Protocol, …

lib/net/http.rb

HTTPCommand implementation was changed.

Wed Jan 5 02:14:46 2000 EGUCHI Osamu <[email protected]>

parse.y

Fix SEGV on empty parens with UMINUS or UPLUS.

2000-01-04

Tue Jan 4 22:25:54 2000 Yukihiro Matsumoto <[email protected]>

parse.y (stmt)

`() while cond' dumped core.

Tue Jan 4 06:04:14 2000 WATANABE Hirofumi <[email protected]>

configure.in

modify for cross-compiling. use target_* instead of host_*. use AC_CANONICAL_TARGET.

Makefile.in

ditto.

cygwin/GNUmakefile.in

ditto.

2000-01-01

Sat Jan 1 13:26:14 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

force_recycle ruby_dyna_vars to gain performance.

array.c (rb_ary_delete_at_m)

takes same argument pattern with rb_ary_aref.

Sat Jan 1 10:12:26 2000 Nobuyoshi Nakada <[email protected]>

ruby.h,util.c (rb_special_const_p)

peep hole optimization.

ruby.h,util.c (rb_test_false_or_nil)

removed.

ruby.h (RTEST, SPECIAL_CONST_P)

peep hole optimization.

ruby.h (FL_ABLE, FL_SET, FL_UNSET, FL_REVERSE)

made expressions not statements.

ruby.h (OBJ_INFECT)

newly added macro which copies taint from `s' to `x'.

Sat Jan 1 02:04:18 2000 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_safe_level)

new method.

eval.c (rb_yield_0)

recycle dyna_var_map to reduce object allocation.

1999-12-31

Fri Dec 31 00:52:48 1999 Yukihiro Matsumoto <[email protected]>

eval.c

thread independent trace_func not needed.

1999-12-30

Thu Dec 30 14:47:31 1999 akira yamada <[email protected]>

configure.in

specifies -soname in LIBRUBY_DLDFLAGS on linux platforms.

Thu Dec 30 10:51:27 1999 Yukihiro Matsumoto <[email protected]>

array.c,io.c,hash,c,re.c,string.c

`_m' suffix instead of `_method' for wrapper functions to implement method, e.g. `rb_str_join_m()'.

Thu Dec 30 02:08:02 1999 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_cstr2inum)

non-numeric format check added. currently it works only with base == 0 (i.e. Integer()).

bignum.c (rb_str2inum)

now takes VALUE to 1st argument. null byte check added.

array.c (rb_ary_replace)

unless replacement is an array, replacement shall be converted to array by `[replacement]', not by `replacement.to_a'.

array.c (rb_ary_plus)

right operand must be an array.

array.c (rb_ary_concat)

argument must be an array.

1999-12-27

Mon Dec 27 12:35:47 1999 Katsuyuki Komatsu <[email protected]>

ext/socket/socket.c (sock_finalize)

mswin32: fix socket handle leak.

win32/win32.c (myfdclose)

ditto.

1999-12-26

Sun Dec 26 23:15:13 1999 Katsuyuki Komatsu <[email protected]>

win32/win32.c (mypopen)

raise catchable error instead of rb_fatal.

win32/win32.c (mypclose)

fix process handle leak.

Sun Dec 26 16:17:11 1999 Katsuyuki Komatsu <[email protected]>

ext/Win32API/Win32API.c (Win32API_initialize)

use UINT2NUM instead of INT2NUM to set __dll__ and __proc__.

1999-12-25

Sat Dec 25 00:08:59 1999 KANEKO Naoshi <[email protected]>

ext/Win32API/Win32API.c (Win32API_Call)

remove 'dword ptr' from _asm.

1999-12-24

Fri Dec 24 10:26:47 1999 Koji Oda <[email protected]>

win32/win32.h

use “C++” linkage.

Fri Dec 24 02:00:57 1999 Yukihiro Matsumoto <[email protected]>

eval.c (THREAD_ALLOC)

should initialize th->trace.

Fri Dec 24 00:43:39 1999 KANEKO Naoshi <[email protected]>

io.c (pipe_open)

check for `fptr->f == NULL'.

win32/win32.c (mypopen)

STDERR does not work during ` function.

1999-12-22

Wed Dec 22 22:50:40 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb, http.rb

1.1.2.

lib/net/http.rb

HTTP support is enhanced a little

lib/net/http.rb

support proxy

1999-12-21

Tue Dec 21 17:21:28 1999 Koji Oda <[email protected]>

ext/socket/socket.c (sock_finalize)

mswin32: fix FILE* leak.

Tue Dec 21 05:33:56 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb, http.rb

1.1.1.

lib/net/http.rb

support HTTP chunk

1999-12-20

Mon Dec 20 19:08:12 1999 Nobuyoshi Nakada <[email protected]>

file.c (rb_file_s_expand_path)

handle dir separator correctly.

1999-12-19

Sun Dec 19 22:56:31 1999 KANEKO Naoshi <[email protected]>

lib/find.rb

support dosish root directory.

win32/Makefile

ditto.

win32/config.status

ditto.

win32/win32.c (opendir)

ditto.

win32/win32.c (opendir)

use CharPrev() to get last character of the directory name.

1999-12-18

Sat Dec 18 03:00:01 1999 Yukihiro Matsumoto <[email protected]>

file.c (path_check_1)

check should be done by absolute path.

marshal.c (r_ivar)

should restore generic_ivar too.

marshal.c (w_ivar)

should dump generic_ivar too.

1999-12-17

Fri Dec 17 22:46:46 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb, http.rb

1.1.0.

lib/net/http.rb

test release

lib/net/session.rb

support class swapping

lib/net/session.rb

Socket#flush_rbuf

lib/net/session.rb

doquote -> Net.quote

Fri Dec 17 19:27:43 1999 IWAMURO Motonori <[email protected]>

eval.c (rb_load)

should initialize ruby_frame->last_class.

1999-12-15

Wed Dec 15 01:35:29 1999 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

option to change directory changed to `-C' like tar.

ruby.c (proc_options)

argv boundary check for `-X'.

1999-12-13

Mon Dec 13 15:15:31 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_adjust_startpos)

separate startpos adjustment because of major performance drawback.

class.c (rb_singleton_class)

tainted status of the singleton class must be synchronized with the object.

eval.c (rb_thread_schedule)

implement thread priority.

1999-12-11

Sat Dec 11 03:34:38 1999 Yukihiro Matsumoto <[email protected]>

gc.c (mark_hashentry)

key should be VALUE, not ID.

io.c (argf_eof)

should check next_p too.

1999-12-09

Thu Dec 9 18:09:13 1999 EGUCHI Osamu <[email protected]>

error.c (exc_set_backtrace)

forgot to declare a VALUE argument.

Thu Dec 9 14:19:31 1999 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_taint)

explicit tainting must be prohibited at level 4 to prevent polluting trusted object by untrusted code.

file.c

file operations (stat, lstat, chmod, chown, umask, truncate, flock) are prohibited in level 2 (was level 4).

1999-12-08

Wed Dec 8 11:48:23 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_require)

prohibiting require() in the secure mode cause serious autoloading error.

variable.c (rb_obj_instance_variables)

don't need to prohibit to get list of instance variable names of untainted objects.

variable.c (rb_ivar_get)

don't need to prohibit to get instance variables of untainted objects.

variable.c (rb_mod_remove_const)

should prohibit constant removals too.

Wed Dec 8 09:23:01 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should try autoloading before defining class/module at the toplevel.

1999-12-07

Tue Dec 7 22:15:30 1999 EGUCHI Osamu <[email protected]>

configure.in

Modified rb_cv_rshift_sign detect routine and more simple/fast RSHIFT() for hpux-10.x.

Tue Dec 7 11:16:30 1999 Yukihiro Matsumoto <[email protected]>

eval.c (Init_eval)

calculate stack limit from rlimit where getrlimit(2) is available.

Tue Dec 7 09:57:33 1999 Katsuyuki Komatsu <[email protected]>

file.c (rb_file_ftype)

should have removed mode_t.

1999-12-06

Mon Dec 6 15:55:30 1999 EGUCHI Osamu <[email protected]>

numeric.c (fix_rshift)

Fix -1 >> 32 returned 0 (should be -1).

numeric.c (fix_rshift)

Fix 1 >> -1 returned 0 (should be 2).

Mon Dec 6 11:47:23 1999 Yukihiro Matsumoto <[email protected]>

sprintf.c (rb_f_sprintf)

formatted string must be tainted if any of parameters is a tainted string.

file.c (rb_file_s_expand_path)

expanded file path need not to be tainted always.

1999-12-05

Sun Dec 5 20:25:29 1999 Katsuhiro Ueno <[email protected]>

eval.c (Init_Proc)

simple typo.

gc.c (add_heap)

sizeof(RVALUE*), not sizeof(RVALUE).

1999-12-04

Sat Dec 4 01:40:22 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

adjust startpos for multibyte match unless the first pattern is forced byte match.

bignum.c (rb_big_rand)

should not use rand/random where drand48 may be available. RANDOM_NUMBER should be provided from outside.

1999-12-03

Fri Dec 3 09:54:59 1999 Yukihiro Matsumoto <[email protected]>

ruby.c (moreswitches)

there may be trailing garbage at #! line.

eval.c (rb_f_require)

should check require 'feature.o' too.

1999-12-02

Thu Dec 2 11:58:15 1999 Koji Arai <[email protected]>

eval.c (rb_thread_loading)

should maintain loading_tbl.

Thu Dec 2 10:21:43 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_loading_done)

wrong parameter to st_delete().

1999-12-01

Wed Dec 1 11:24:06 1999 Nobuyoshi Nakada <[email protected]>

ruby.c (process_sflag)

process -s properly (should not force `–').

Wed Dec 1 09:47:33 1999 Kazunori NISHI <[email protected]>

string.c (rb_str_split_method)

should increment end too.

1999-11-30

Tue Nov 30 18:00:45 1999 Yukihiro Matsumoto <[email protected]>

marshal.c

MARSHAL_MINOR incremented; format version is 4.2.

marshal.c (w_object)

distinguish class and module.

marshal.c (w_object)

save hash's default value.

marshal.c (r_object)

restore hash's default value.

Tue Nov 30 01:46:18 1999 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_source)

generated source string must be tainted if regex is tainted.

file.c (rb_file_s_basename)

basename should not be tainted unless the original path is tainted.

file.c (rb_file_s_dirname)

ditto.

1999-11-29

Mon Nov 29 20:42:13 1999 Nobuyoshi Nakada <[email protected]>

file.c (stat_new)

Struct::Stat -> File::Stat; Stat is no longer a Struct.

Mon Nov 29 15:28:52 1999 Yukihiro Matsumoto <[email protected]>

variable.c (rb_path2class)

evaluated value from path should be module or class.

1999-11-26

Fri Nov 26 18:12:49 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_exec_end_proc)

should remove only end_procs defined within load wrapper.

eval.c (rb_load)

save and restore ruby_wrapper around loading.

eval.c (rb_mark_end_proc)

mark end procs registered by END{} or at_exit{}.

eval.c (rb_set_end_proc)

should not call rb_global_variable() on heap address; it crashed mod_ruby.

1999-11-22

Mon Nov 22 14:07:24 1999 Koji Arai <[email protected]>

ruby.c (proc_options)

variable e_script should be visited by garbage collector.

1999-11-20

Sat Nov 20 10:10:41 1999 Yukihiro Matsumoto <[email protected]>

hash.c (inspect_i)

value may be nil, check revised.

1999-11-19

Fri Nov 19 18:06:21 1999 Yukihiro Matsumoto <[email protected]>

dir.c (glob)

recursive wildcard match by `**' ala zsh.

Fri Nov 19 11:44:26 1999 EGUCHI Osamu <[email protected]>

variable.c

was returning void value.

Fri Nov 19 03:57:22 1999 Nobuyoshi Nakada <[email protected]>

file.c

add methods Stat struct class to reduce stat(2).

1999-11-18

Thu Nov 18 16:18:27 1999 Yukihiro Matsumoto <[email protected]>

lib/pstore.rb

mutual lock by flock(2).

Thu Nov 18 11:44:13 1999 Masahiro Tomita <[email protected]>

io.c (read_all)

should check bytes too.

1999-11-17

Wed Nov 17 02:40:40 1999 Yukihiro Matsumoto <[email protected]>

io.c (Init_IO)

$defout (alias of $>) added.

1999-11-16

Tue Nov 16 09:47:14 1999 Yukihiro Matsumoto <[email protected]>

lib/pstore.rb

add mutual lock using symlink.

1999-11-15

Mon Nov 15 16:50:34 1999 Yukihiro Matsumoto <[email protected]>

enum.c (enum_grep)

non matching grep returns an empty array, no longer returns nil.

enum.c (enum_grep)

grep with block returns collection of evaluated values of block over matched elements.

Mon Nov 15 04:50:33 1999 Koji Arai <[email protected]>

re.c (rb_reg_source)

should not call rb_reg_expr_str() everytime.

1999-11-13

Sat Nov 13 07:34:18 1999 Yukihiro Matsumoto <[email protected]>

variable.c (rb_mod_constants)

traverse superclasses to collect constants.

eval.c (assign)

modified for shared variables.

eval.c (rb_eval)

search nested scope, then superclasses to assign shared variables within methods.

eval.c (rb_eval)

remove warnings from constants modification, because they are no longer constants.

parse.y (node_assign)

modified for shared variables.

parse.y (assignable)

allow constant assignment in methods; constants should be called `shared variable'.

1999-11-12

Fri Nov 12 23:52:19 1999 Katsuyuki Komatsu <[email protected]>

process.c (rb_f_system)

argument check for NT, __EMX__, DJGPP.

1999-11-10

Wed Nov 10 21:54:11 1999 EGUCHI Osamu <[email protected]>

hash.c (rb_any_cmp)

Fixed return without value.

Wed Nov 10 17:57:06 1999 Yukihiro Matsumoto <[email protected]>

sprintf.c

incorporate <[email protected]>'s sprintf patch at [ruby-dev:7754].

Wed Nov 10 08:28:53 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

supply class parameter for each invocation.

1999-11-09

Tue Nov 9 13:21:04 1999 EGUCHI Osamu <[email protected]>

configure.in

AC_MINIX move to before AC_EXEEXT and AC_OBJEXT.

1999-11-08

Mon Nov 8 19:52:29 1999 EGUCHI Osamu <[email protected]>

configure.in

Renamed AC_CHAR_UNSIGNED to AC_C_CHAR_UNSIGNED.

configure.in

Added default to AC_CHECK_SIZEOF().

Mon Nov 8 14:28:18 1999 Yukihiro Matsumoto <[email protected]>

parse.y (stmt)

rescue modifier added to the syntax.

keywords

kRESCUE_MOD added.

eval.c (rb_f_eval)

fake outer scope when eval() called without bindings.

eval.c (rb_f_binding)

should copy last_class in the outer frame too.

1999-11-07

Sun Nov 7 18:31:04 1999 Yasuhiro Fukuma <[email protected]>

eval.c (is_defined)

last_class may be 0.

1999-11-06

Sat Nov 6 19:26:55 1999 EGUCHI Osamu <[email protected]>

Makefile.in

Added depend entry make parse.@OBJEXT@ from parse.c for UCB make

1999-11-04

Thu Nov 4 17:41:18 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

< (wordbeg), > (wordend) disabled.

1999-11-03

Wed Nov 3 08:52:57 1999 Masaki Fukushima <[email protected]>

io.c (Init_IO)

forgot to use INT2FIX() around SEEK_SET, etc.

Wed Nov 3 00:25:20 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_split_method)

use mbclen2() to handle kcode option of regexp objects.

1999-11-01

Mon Nov 1 14:22:15 1999 EGUCHI Osamu <[email protected]>

eval.c (rb_eval)

reduce recursive calls to rb_eval() case of ||= and &&= .

1999-10-31

Sun Oct 31 13:12:42 1999 WATANABE Hirofumi <[email protected]>

regex.c (re_compile_pattern)

wrong [W] match.

1999-10-29

Fri Oct 29 16:57:30 1999 Yukihiro Matsumoto <[email protected]>

ext/nkf/lib/kconv.rb

new String methods (kconv, tojis, toeuc, tosjis).

time.c (time_s_at)

now accepts optional second argument to specify micro second.

1999-10-28

Thu Oct 28 13:35:40 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_split_method)

should be mbchar aware with single char separators.

1999-10-27

Wed Oct 27 12:57:21 1999 Yukihiro Matsumoto <[email protected]>

random.c (rb_f_srand)

random seed should be unsigned.

1999-10-26

Tue Oct 26 23:58:15 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_collect)

collect for better performance.

Tue Oct 26 19:20:54 1999 Koji Arai <[email protected]>

marshal.c (r_object)

should register class/module objects.

1999-10-23

Sat Oct 23 15:59:39 1999 Takaaki Tateishi <[email protected]>

process.c (rb_f_system)

should require at least one argument.

Sat Oct 23 12:42:44 1999 Nobuyoshi Nakada <[email protected]>

enum.c (enum_collect)

collect without block will collect elements in enumerable.

1999-10-21

Thu Oct 21 16:14:19 1999 Yukihiro Matsumoto <[email protected]>

ruby.c (moreswitches)

function to process string option; the name is stolen from perl (not implementation).

ruby.c (proc_options)

use RUBYOPT environment variable to retrieve the default options.

dir.c (fnmatch)

use eban's fnmatch; do not depend on system's fnmatch (which may have portability problem) anymore.

1999-10-20

Wed Oct 20 15:14:24 1999 Yukihiro Matsumoto <[email protected]>

marshal.c (marshal_load)

should protect the generated object table (arg->data) from GC.

1999-10-18

Mon Oct 18 16:15:52 1999 Yukihiro Matsumoto <[email protected]>

ext/nkf/nkf.c (rb_nkf_kconv)

output should be NUL terminated.

Mon Oct 18 09:03:01 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb

1.0.3

lib/net/pop.rb

new methods POP3Command#uidl, POPMail#uidl.

1999-10-17

Sun Oct 17 03:35:33 1999 Masaki Fukushima <[email protected]>

array.c (rb_ary_pop)

forgot some freeze checks.

1999-10-16

Sat Oct 16 12:57:53 1999 EGUCHI Osamu <[email protected]>

array.c (rb_ary_sort)

always returns the copied array.

1999-10-15

Fri Oct 15 22:50:41 1999 WATANABE Hirofumi <[email protected]>

error.c (sys_nerr)

on CYGWIN, it is _sys_nerr.

Fri Oct 15 01:32:31 1999 WATANABE Hirofumi <[email protected]>

io.c (rb_io_ctl)

need to use NUM2ULONG, not NUM2INT.

ext/Win32API/Win32API.c (Win32API_Call)

need to use NUM2ULONG, not NUM2INT.

Fri Oct 15 00:22:30 1999 Yukihiro Matsumoto <[email protected]>

re.c (Init_Regexp)

super class of the MatchingData, which was Data, to be Object.

eval.c (ruby_run)

evaluate required libraries before load & compiling the script.

parse.y (lex_getline)

retrieve a line from the stream, saving lines in the table in debug mode.

eval.c (call_trace_func)

treat the case ruby_sourcefile is null.

1999-10-14

Thu Oct 14 02:00:10 1999 Yukihiro Matsumoto <[email protected]>

parse.y (string)

compile time string concatenation.

1999-10-13

Wed Oct 13 07:28:09 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb

1.0.2

lib/net/session.rb

new method Session#set_pipe.

lib/net/session.rb, smtp.rb, pop.rb

add RD documentation.

Wed Oct 13 02:17:05 1999 EGUCHI Osamu <[email protected]>

array.c (rb_ary_plus)

remove recursion.

array.c (rb_ary_sort_bang)

detect modify attempt.

Wed Oct 13 02:17:05 1999 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

should copy block to prevent modifications. tag in the structure should be updated from latest prot_tag.

eval.c (proc_s_new)

tag in struct BLOCK should not point into unused stack.

dir.c (dir_s_glob)

iterate over generated matching filenames if the block is given to the method.

array.c (rb_ary_at)

new methods; at, first, last.

hash.c (rb_hash_fetch)

raises exception unless the default value is supplied.

hash.c (rb_hash_s_create)

need not remove nil from value.

hash.c (rb_hash_aset)

setting value to nil does not remove key anymore.

1999-10-12

Tue Oct 12 22:29:04 1999 Yukihiro Matsumoto <[email protected]>

io.c (io_read)

length may be 0 or negative.

Tue Oct 12 03:28:03 1999 EGUCHI Osamu <[email protected]>

array.c (rb_ary_delete_at)

allows negative position.

1999-10-11

Mon Oct 11 17:42:25 1999 Nobuyoshi Nakada <[email protected]>

parse.y (rb_intern)

should generate distinct ID_ATTRSET symbols for the name with multiple `='s at the end.

Makefile.in (CPPFLAGS)

separate cpp flags from CFLAGS.

Mon Oct 11 07:27:05 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

should not execute the `else' clause on the case the exceptions are handled by the `rescue' clause.

signal.c (Init_signal)

ignore SIGPIPE by default.

1999-10-06

Wed Oct 6 17:13:19 1999 Nobuyoshi Nakada <[email protected]>

ruby.c (addpath)

rubylib_mangled_path() modified.

1999-10-04

Mon Oct 4 12:42:32 1999 Kazuhiko Izawa <[email protected]>

pack.c (pack_unpack)

% in printf format should be %%.

Mon Oct 4 10:01:40 1999 Yukihiro Matsumoto <[email protected]>

variable.c (rb_obj_instance_variables)

should always return array for all object can have instance variables now.

Mon Oct 4 00:08:34 1999 Yukihiro Matsumoto <[email protected]>

pack.c (OFF16)

need to adjust pointer address to pack/unpack on 64bit machines.

1999-10-03

Sun Oct 3 03:05:59 1999 WATANABE Hirofumi <[email protected]>

time.c (time_arg)

mktime y2k problem.

1999-09-26

Sun Sep 26 16:54:45 1999 WATANABE Hirofumi <[email protected]>

parse.y (here_document)

`r' handling for here documents.

1999-09-22

Wed Sep 22 09:20:11 1999 Masahiro Tomita <[email protected]>

ext/socket/socket.c

SOCKS5 support.

Wed Sep 22 07:33:23 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb

1.0.1

lib/net/pop.rb

APOP did not work.

lib/net/pop.rb

modify the way to make APOP challenge.

Wed Sep 22 00:35:30 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_include)

should return boolean value.

regex.c (re_compile_fastmap)

wrong comparison with mbc.

eval.c (specific_eval)

default sourcefile name should be “(eval)” for module_eval etc.

Wed Sep 22 00:06:07 1999 Katsuyuki Komatsu <[email protected]>

win32/Makefile

update rules.

io.c (io_fread)

should not assign in char, it maybe -1.

1999-09-21

Tue Sep 21 23:57:54 1999 Yukihiro Matsumoto <[email protected]>

eval.c (call_trace_func)

should not propagate retval in trace_func.

1999-09-20

Mon Sep 20 21:35:39 1999 Katsuyuki Komatsu <[email protected]>

win32/win32.c (myselect)

assume non socket files are always readable/writable.

Mon Sep 20 01:08:02 1999 Yukihiro Matsumoto <[email protected]>

io.c (io_fread)

should not block other threads.

io.c (rb_io_synchronized)

renamed from rb_io_unbuffered(); do not call setbuf(NULL) anymore.

1999-09-18

Sat Sep 18 13:45:43 1999 Yukihiro Matsumoto <[email protected]>

1999-09-17

Fri Sep 17 23:24:17 1999 Katsuyuki Komatsu <[email protected]>

eval.c (rb_f_missing)

dumped core if no argument given.

Fri Sep 17 23:21:06 1999 Katsuyuki Komatsu <[email protected]>

win32/win32.c (myselect)

translate WSAEINTR, WSAENOTSOCK into UNIX errno constants.

Fri Sep 17 00:52:27 1999 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

assignable() may return 0.

1999-09-16

Thu Sep 16 20:46:23 1999 WATANABE Hirofumi <[email protected]>

eval.c (rb_eval)

was doubly evaluating the return expression.

Thu Sep 16 18:40:08 1999 Yukihiro Matsumoto <[email protected]>

Thu Sep 16 11:33:22 1999 WATANABE Hirofumi <[email protected]>

string.c (rb_str_match)

should return nil.

1999-09-15

Wed Sep 15 22:46:37 1999 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_s_quote)

should quote `-' too.

1999-09-14

Tue Sep 14 15:23:22 1999 Nobuyoshi Nakada <[email protected]>

parse.y (yylex)

no need to ignore `r' here.

parse.y (nextc)

strip `r' from text.

parse.y (nextc)

support `__END__rn' type terminator.

1999-09-13

Mon Sep 13 10:49:19 1999 WATANABE Hirofumi <[email protected]>

eval.c (rb_eval)

needless RTEST(ruby_verbose) removed.

Mon Sep 13 09:10:11 1999 Minero Aoki <[email protected]>

lib/net/session.rb, smtp.rb, pop.rb

1.0.0

1999-09-08

Wed Sep 8 11:37:38 1999 Tadayoshi Funaba <[email protected]>

time.c (make_time_t)

bit more strict comparison.

1999-09-07

Tue Sep 7 00:50:56 1999 Yukihiro Matsumoto <[email protected]>

range.c (range_each)

use rb_str_upto() for strings.

string.c (rb_str_upto)

set upper limit by comparing curr <= end.

range.c (range_each)

should check equality to handle magic increment.

1999-09-06

Mon Sep 6 22:43:33 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

break/next/redo available within -n/-p loop.

1999-09-03

Fri Sep 3 11:14:31 1999 Yukihiro Matsumoto <[email protected]>

compar.c (cmp_equal)

should not raise exception; protect by rb_rescue().

1999-09-02

Thu Sep 2 05:23:05 1999 WATANABE Hirofumi <[email protected]>

file.c (rb_file_s_expand_path)

use dirsep, instead of character literal '/'.

file.c (rb_file_s_expand_path)

reduce multiple dirsep at the top.

1999-09-01

Wed Sep 1 00:28:27 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call)

call rb_undefined() if a method appears not to be exist explicitly from cache.

eval.c (rb_method_boundp)

check method cache before calling rb_get_method_body().

eval.c (rb_get_method_body)

store method non-existence information in the cache.

random.c (rb_f_srand)

use getpid(2) to generate seed.

regex.c (re_match)

do not apply partial mbc match for charset_not.

regex.c (re_compile_pattern)

put extended literal prefix (0xff) only before numeric literals, not before all >0x80 char.

regex.c (re_compile_pattern)

put numeric literal in extended charset region, not normal charset bits.

regex.c (re_compile_fastmap)

calculate fastmap for charset and charset_not to treat numeric literal (e.g. 246) specially.

1999-08-28

Fri Aug 28 17:32:55 1999 Yasuhiro Fukuma <[email protected]>

eval.c (rb_eval)

should set return value (nil) explicitly if a value is omitted for return statement.

1999-08-26

Thu Aug 26 15:06:11 1999 Masaki Fukushima <[email protected]>

gc.c (rb_gc)

local variables may be placed beyond stack_end, so use an address from alloca(1) on non C_ALLOCA platforms.

Thu Aug 26 01:24:17 1999 Yukihiro Matsumoto <[email protected]>

sprintf.c (rb_f_sprintf)

“%%” is legal, but “%3.14%” is not.

1999-08-23

Mon Aug 23 00:00:54 1999 Tsukada Takuya <[email protected]>

regex.c (re_compile_fastmap)

wrong macro caused memory leak.

1999-08-21

Sat Aug 21 11:30:51 1999 Yukihiro Matsumoto <[email protected]>

eval.c (ADJ)

should not adjust addresses to data on heap.

1999-08-20

Fri Aug 20 20:50:58 1999 Kenji Nagasawa <[email protected]>

defines.h (PATH_SEP)

path separator is “;” for OS/2.

1999-08-19

Thu Aug 19 10:50:43 1999 WATANABE Tetsuya <[email protected]>

gc.c (rb_gc)

add volatile to avoid GCC optimize bug(?).

1999-08-18

Wed Aug 18 23:48:10 1999 Yukihiro Matsumoto <[email protected]>

1999-08-13

Fri Aug 13 15:41:39 1999 Yukihiro Matsumoto <[email protected]>

Fri Aug 13 03:16:07 1999 Yukihiro Matsumoto <[email protected]>

io.c (argf_forward)

since $stdout may be non-IO, ARGF.file is not guaranteed to be IO. check and forwarding added to every ARGF method.

io.c (set_outfile)

$stdout/$stderr may not be IO now.

io.c (set_stdin)

$stdin may not be IO now.

range.c (rb_range_beg_len)

round `end' to length as documented.

io.c (Init_IO)

preserve original stdin/stdout/stderr.

1999-08-12

Thu Aug 12 13:44:33 1999 Yukihiro Matsumoto <[email protected]>

eval.c (Init_load)

require receives 1 argument.

eval.c (frame_dup)

should clear tmp to avoid dangling references.

1999-08-11

Wed Aug 11 13:33:13 1999 Katsuyuki Komatsu <[email protected]>

eval.c (rb_eval)

no automatic aggregate initialization.

eval.c (module_setup)

ditto.

Wed Aug 11 18:18:41 1999 WATANABE Tetsuya <[email protected]>

eval.c (yield_under_i)

automatic aggregate initialization is an ANSI feature.

Wed Aug 11 10:10:02 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

parse `[].length==0' as `([].length)==0', not `([].length=)=0'

parse.y (yylex)

parse `[].length!=0' as `([].length)!=0', not `([].length!)=0'

parse.y (peek)

peek-in lexical buffer.

Wed Aug 11 00:34:05 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

bug on backward jump adjustment concerning stop_paren.

1999-08-10

Tue Aug 10 14:54:25 1999 Yukihiro Matsumoto <[email protected]>

ext/nkf/nkf.c (rb_nkf_guess)

binary detection was wrong.

Tue Aug 10 00:07:36 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_clone)

should use CLONESETUP().

1999-08-09

Mon Aug 9 23:57:07 1999 Yukihiro Matsumoto <[email protected]>

ruby.h (CLONESETUP)

should have copied generic instance variables too.

Mon Aug 9 10:46:54 1999 Katsuyuki Komatsu <[email protected]>

ext/socket/extconf.rb

add check for <arpa/nameser.h> and <resolv.h>.

1999-08-07

Sat Aug 7 13:19:06 1999 EGUCHI Osamu <[email protected]>

numeric.c (flo_cmp)

comparing NaN should not return value. raises FloatDomainError.

Sat Aug 7 03:09:08 1999 Yukihiro Matsumoto <[email protected]>

eval.c (blk_free)

free copied frames too.

eval.c (frame_dup)

should copy previous frames from stack to heap to preserve frame information.

1999-08-06

Fri Aug 6 15:01:07 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (s_recv)

UDPsocket#recvfrom now returns IPsocket#addr information.

array.c (rb_ary_subary)

ary should not return nil.

1999-08-05

Thu Aug 5 10:58:01 1999 Yukihiro Matsumoto <[email protected]>

eval.c (thread_mark)

protect old ruby_frame from GC during it replaced by eval().

eval.c (eval)

do not modify frame.prev; binding should preserve information about calling() too.

eval.c (rb_yield_0)

no arity check for mere yield; but only for Proc#call.

1999-08-03

Tue Aug 3 22:07:13 1999 Kazuhiro HIWADA <[email protected]>

object.c (rb_mod_clone)

should check if iv_tbl, m_tbl are initialized.

Tue Aug 3 19:03:02 1999 Yukihiro Matsumoto <[email protected]>

hash.c (rb_any_cmp)

use rb_with_disable_interrupt() to ensure clearance of rb_prohibit_interrupt even on failure.

eval.c (rb_with_disable_interrupt)

new function added.

1999-07-31

Sat Jul 31 23:23:44 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_create_0)

set THREAD_RAISED flag on thread termination by exception.

eval.c (rb_thread_join)

`$!' may not be nil for the threads created in rescue clause.

eval.c (rb_thread_status)

ditto.

eval.c (rb_thread_join)

should re-raise exception for already dead threads too.

1999-07-30

Fri Jul 30 17:56:54 1999 GOTO Kentaro <[email protected]>

object.c (rb_mod_ge)

wrong comparison.

Fri Jul 30 12:15:44 1999 Katsuyuki Komatsu <[email protected]>

ext/tcltklib/extconf.rb

win32 support.

lib/mkmf.rb

use append_library().

ext/extmk.rb.in

ditto.

Fri Jul 30 02:11:48 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_delete)

should return nil for deleting non existing item.

io.c (rb_io_close)

call rb_sys_wait() on explicit close.

io.c (rb_io_fptr_close)

do not call rb_sys_wait() on finalize.

eval.c (yield_under_i)

cbase context should be maintained for Module#module_eval(). suggested by <[email protected]>.

1999-07-28

Wed Jul 28 01:18:28 1999 WATANABE Hirofumi <[email protected]>

Makefile.in

add -I$(hdrdir)/lib to install using ftools.

util.c

use HAVE_FCNTL_H, not HAVE_FCNTL

Wed Jul 28 18:24:45 1999 Yukihiro Matsumoto <[email protected]>

1999-07-27

Tue Jul 27 09:38:08 1999 EGUCHI Osamu <[email protected]>

eval.c (rb_eval)

reduce recursive rb_eval() calls by NODE_BLOCKs.

Tue Jul 27 01:20:40 1999 WATANABE Hirofumi <[email protected]>

file.c (rb_file_s_expand_path)

drive letter patch.

1999-07-26

Mon Jul 26 02:36:31 1999 Shugo Maeda <[email protected]>

eval.c (rb_load)

should clear ruby_nerr.

eval.c (rb_thread_join)

oldbt should not be empty to unshift.

Mon Jul 26 13:33:45 1999 WATANABE Hirofumi <[email protected]>

lib/jcode.rb

replaced by faster code.

1999-07-25

Sun Jul 25 12:09:16 1999 Koji Arai <[email protected]>

dir.c (push_braces)

should treat nested braces.

1999-07-23

Fri Jul 23 02:49:49 1999 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_clear)

dummy argument added; suggested by <[email protected]>. thanks.

1999-07-22

Thu Jul 22 19:37:22 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_join)

get_backtrace() may return Qnil. typecheck added.

1999-07-20

Tue Jul 20 14:36:43 1999 WATANABE Hirofumi <[email protected]>

range.c (range_each)

do not treat String specially (for future override).

Tue Jul 20 02:28:34 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_gets)

$_ should be nil, when get returns nil.

io.c (rb_f_gets)

ditto.

1999-07-19

Mon Jul 19 17:13:09 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_fastmap)

should continue fastmap compile for anychar_repeat, for it's repeat anyway.

Mon Jul 19 01:57:28 1999 Yukihiro Matsumoto <[email protected]>

lib/mkmf.rb

no longer use install program.

ext/extmk.rb.in

use miniruby to install programs.

1999-07-17

Sat Jul 17 00:06:21 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (ipaddr)

don't do reverse lookup if attribute do_not_reverse_lookup is set for socket classes. Experimental. Note this is a global attribute.

1999-07-16

Fri Jul 16 22:18:29 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_eof)

use feof() to check EOF already met.

io.c (read_all)

should return nil at EOF.

Fri Jul 16 13:39:42 1999 Wakou Aoyama <[email protected]>

lib/telnet.rb

version 0.231.

Fri Jul 16 10:58:22 1999 WATANABE Tetsuya <[email protected]>

regex.c (re_match)

debug print removed.

Fri Jul 16 09:58:15 1999 Katsuyuki Komatsu <[email protected]>

many files

clean up unused variables found by gcc -Wall.

lib/mkmf.rb

better cygwin support etc.

ext/extmk.rb.in

ditto.

instruby.rb

ditto.

Fri Jul 16 01:37:50 1999 Koji Arai <[email protected]>

string.c (rb_str_squeeze_bang)

the type of local variable `c' should be int, not char.

string.c (rb_str_reverse)

should always return copy.

1999-07-15

Thu Jul 15 23:25:57 1999 NAKAMURA, Hiroshi <[email protected]>

lib/debug.rb

better display & frame treatment.

Thu Jul 15 21:16:41 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_each)

returns self for normal termination; returns nil for break.

string.c

non bang methods (e.g. String#sub) should always return copy of the receiver.

Thu Jul 15 21:09:15 1999 Masaki Fukushima <[email protected]>

eval.c (find_file)

do not add empty string to the path.

configure.in (with-search-path)

should not add empty string if the option is not supplied.

Thu Jul 15 17:49:08 1999 Ryo HAYASAKA <[email protected]>

ext/tcltklib/tcltklib.c

move `#include “ruby.h”' forward.

Thu Jul 15 16:54:16 1999 Yukihiro Matsumoto <[email protected]>

1999-07-14

Wed Jul 14 23:45:33 1999 Katsuyuki Komatsu <[email protected]>

eval.c (ruby_init)

initialize for the first time only.

1999-07-13

Tue Jul 13 00:15:19 1999 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_index)

re-defined; method to retrieve a key from the value.

hash.c (Init_Hash)

member? should be re-defined for Hash.

1999-07-12

Tue Jul 12 13:54:51 1999 EGUCHI Osamu <[email protected]>

io.c (rb_file_sysopen)

wrong number of argument.

Mon Jul 12 11:52:35 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_missing)

class name included in message.

eval.c (print_undef)

better error message.

1999-07-11

Sun Jul 11 05:36:17 1999 NAKAMURA, Hiroshi <[email protected]>

lib/debug.rb

patch to show proper position.

1999-07-09

Fri Jul 9 23:56:14 1999 WATANABE Hirofumi <[email protected]>

dln.c (dln_find_1)

path conv. moved to conv_to_posix_path.

dln.c (conv_to_posix_path)

path conv. should be done.

Fri Jul 9 10:26:47 1999 WATANABE Hirofumi <[email protected]>

random.c (RANDOM_NUMBER)

should place parentheses.

1999-07-08

Fri Jul 8 11:00:51 1999 Shugo Maeda <[email protected]>

numeric.c (fix_div)

division may be out of fixnum range.

bignum.c (bigdivmod)

proper sign calculation to result.

1999-07-07

Wed Jul 7 18:27:41 1999 Yukihiro Matsumoto <[email protected]>

st.c (st_delete_safe)

was modifying wrong slot.

1999-07-05

Mon Jul 5 13:17:46 1999 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_call_finalizer_at_exit)

close all files at exit.

1999-07-02

Fri Jul 2 18:00:21 1999 Minero Aoki <[email protected]>

lib/Mail/README

Mail-0.3.0 added to the distribution.

Fri Jul 2 01:45:32 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_fastmap)

avoid allocation of register variables for each invocation of re_match(). Suggested by Zasukhin Ruslan <[email protected]>. Thanks.

1999-06-29

Tue Jun 29 20:39:24 1999 Koji Arai <[email protected]>

ext/tk/lib/tk.rb (TkVariable)

bug fix; should value type check be added?

string.c (rb_str_each_line)

a bug in paragraph mode.

ruby.c (load_file)

shifted too much to skip #!.

Tue Jun 29 06:50:21 1999 Wakou Aoyama <[email protected]>

lib/CGI.rb

0.30 - cleanup release, incompatible.

lib/telnet.rb

0.22 - timeout added.

Tue Jun 29 10:49:25 1999 SHIROYAMA Takayuki <[email protected]>

configure.in

better Rhapsody support.

lib/mkmf.rb

Rhapsody/NEXTSTEP support.

Tue Jun 29 01:42:13 1999 Yukihiro Matsumoto <[email protected]>

ext/pty/pty.c (chld_changed)

should use POSIX.1 style wait.

1999-06-28

Mon Jun 28 21:07:36 1999 KIMURA Koichi <[email protected]>

ext/extmk.rb.nt

wrong result for have_library().

Mon Jun 28 15:24:05 1999 Yukihiro Matsumoto <[email protected]>

missing/isinf.c

OSF/1 raises SIGFPE on one()/zero().

regex.c (re_search)

should search til EOS, for patterns may match beyond the end of range.

Mon Jun 28 12:49:12 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_f_select)

should not accept Time objects as an argument for it is time interval.

process.c (rb_f_sleep)

ditto.

file.c (test_s)

should return nil for false condition.

Mon Jun 28 12:23:52 1999 Katsuyuki Komatsu <[email protected]>

bignum.c (rb_dbl2big)

typo.

file.c (rb_f_test)

ditto.

string.c (rb_str_crypt)

wrong message.

1999-06-27

Sun Jun 27 19:50:11 1999 Tadayoshi Funaba <[email protected]>

eval.c (rb_f_exit)

should have treat signed integer status, not VALUE.

process.c (rb_f_exit_bang)

should work like exit().

Sun Jun 27 16:21:32 1999 WATANABE Hirofumi <[email protected]>

string.c (rb_str_rindex)

wrong position to search.

1999-06-26

Sat Jun 26 04:05:30 1999 Takaaki Tateishi <[email protected]>

configure.in (configure_args)

–with-search-path to specify additional ruby search path.

ruby.c (ruby_prog_init)

additional search path.

1999-06-25

Fri Jun 25 13:09:12 1999 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

needed to initialize natint.

regex.c (re_compile_pattern)

add start_paren to avoid too much finalization on maybe_finalize_jump.

Fri Jun 25 13:07:20 1999 Koji Oda <[email protected]>

missing/isinf.c

include “config.h” added.

Fri Jun 25 07:25:05 1999 Katsuyuki Komatsu <[email protected]>

lib/mkmf.rb

initialize $(topdir).

ext/extmk.rb.in (install_rb)

install lib/*.rb properly.

configure.in (linux)

specifies -rpath on –enable-shared.

configure.in (aix)

ruby.imp must reside in $(topdir).

1999-06-24

Thu Jun 24 19:11:29 1999 Yoshida Masato <[email protected]>

parse.y (rb_str_extend)

multi-byte identifier in expression interpolation in strings.

parse.y (yylex)

support multi-byte char identifiers.

Thu Jun 24 15:27:13 1999 Yukihiro Matsumoto <[email protected]>

parse.y (f_arg)

check duplicate argument names.

gc.c (rb_gc_mark)

marking wrong member for NODE_ARGS.

string.c (rb_str_rindex)

POSITION specifies start point, not end point.

Thu Jun 24 13:00:17 1999 Yukihiro Matsumoto <[email protected]>

regex.c (print_mbc)

wrong boundary.

pack.c (uv_to_utf8)

raises ArgError for too big value.

Thu Jun 24 11:02:51 1999 Yoshida Masato <[email protected]>

pack.c (uv_to_utf8)

mask needed.

1999-06-23

Wed Jun 23 21:03:56 1999 Tadayoshi Funaba <[email protected]>

ruby.h (struct RFile)

remove iv_tbl from struct. instance variables are handled as generic ivs.

Wed Jun 23 22:06:26 1999 Tadayoshi Funaba <[email protected]>

pack.c (utf8_to_uv)

pack to 7 bytes sequence.

pack.c (uv_to_utf8)

wrong boundary.

pack.c (pack_unpack)

should treat as unsigned long.

Wed Jun 23 15:10:11 1999 Inaba Hiroto <[email protected]>

parse.y (parse_string)

failed to parse nested braces.

parse.y (parse_regx)

nested braces within #{} available.

Wed Jun 23 11:18:38 1999 Yukihiro Matsumoto <[email protected]>

regex.c (slow_search)

wrong shift width for mbcs.

eval.c (rb_thread_save_context)

should not clear th->locals.

Wed Jun 23 02:06:14 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

UMINUS binds too tight with digits. changed so that -2**2 => -4.

parse.y (close_paren)

`do' for expr termination now works it used to be.

1999-06-22

Wed Jun 22 18:26:42 1999 Koji Arai <[email protected]>

pack.c (pack_pack)

should initialize local variable `j'.

Wed Jun 22 15:24:59 1999 Koji Arai <[email protected]>

parse.y (here_document)

a bug for multiline heredoc.

Tue Jun 22 15:06:36 1999 WATANABE Hirofumi <[email protected]>

ext/socket/socket.c (ruby_socket)

forgot to return fd explicitly.

Tue Jun 22 13:34:12 1999 Yukihiro Matsumoto <[email protected]>

rubyio.h (MakeOpenFile)

should initialize member `iv_tbl'.

Wed Jun 22 10:35:51 1999 Katsuyuki Komatsu <[email protected]>

io.c (rb_io_gets_internal)

getc(3) may not set errno on interrupt.

1999-06-21

Mon Jun 21 22:39:28 1999 Yukihiro Matsumoto <[email protected]>

eval.c (call_required_libraries)

ruby_sourceline should be cleared before loading libraries.

io.c (set_stdin)

do not use reopen(), so that we don't need to dup original stdin before assigning $stdin.

Mon Jun 21 18:04:27 1999 Ryo HAYASAKA <[email protected]>

ext/dbm/dbm.c

include <cdefs.h> for solaris 2.6.

Mon Jun 21 15:59:47 1999 Nobuyoshi Nakada <[email protected]>

ext/socket/socket.c (ip_addrsetup)

forgot to put `else'.

Mon Jun 21 15:38:37 1999 Yukihiro Matsumoto <[email protected]>

io.c (fptr_finalize)

remove rb_syswait() invocation to avoid wait4(2) within GC. rb_syswait() moved to rb_io_fptr_close().

Mon Jun 21 12:05:59 1999 Tadayoshi Funaba <[email protected]>

dir.c (dir_s_glob)

remove MAXPATHLEN restriction.

ext/md5/md5init.c (md5_hexdigest)

should have used “%02x”.

1999-06-20

Sun Jun 20 19:50:38 1999 Minero Aoki <[email protected]>

string.c (rb_str_each_line)

should have checked string boundary.

1999-06-19

Sat Jun 19 22:24:12 1999 Kenji Nagasawa <[email protected]>

1999-06-18

Fri Jun 18 08:30:17 1999 Yukihiro Matsumoto <[email protected]>

marshal.c (r_byte)

add data length check.

ext/tcltklib/tcltklib.c (_timer_for_tcl)

was doing busy-wait.

1999-06-15

Tue Jun 15 10:01:21 1999 Katsuyuki Komatsu <[email protected]>

configure.in

remove trailing slash from interpreter embedded shared library path.

configure.in (INSTALL_DLLIB)

install shared lib with 0555.

instruby.rb

changed mode for shared library into 0555.

1999-06-11

Fri Jun 11 23:27:00 1999 Tadayoshi Funaba <[email protected]>

ext/etc/etc.c (etc_passwd)

should return nil, not exception for call after last passwd entry.

Fri Jun 11 15:21:21 1999 Yukihiro Matsumoto <[email protected]>

gc.c (rb_gc_mark_locations)

add safety margin 1.

eval.c (ruby_run)

should protect toplevel node tree.

ext/etc/etc.c (etc_group)

dumps core if there's no more group.

Fri Jun 11 01:50:25 1999 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_run)

Init_stack() was called too late; local variables happened to be higher (or lower) than stack_start.

1999-06-10

Thu Jun 10 16:41:48 1999 Yukihiro Matsumoto <[email protected]>

io.c

do not call `initialize' for IO objects. So with Array, Hash, Range, and Time objects.

ext/curses/curses.c (curses_getch)

made thread aware using rb_read_check().

ext/curses/curses.c (window_getch)

ditto.

ext/curses/curses.c (curses_getstr)

made (partially) thread aware using rb_read_check().

ext/curses/curses.c (window_getstr)

ditto.

io.c (rb_read_check)

new function to help making something

eval.c (is_defined)

`defined? super' should be true even for private superclass methods.

Fri Jun 10 13:42:10 1999 Koji Arai <[email protected]>

pack.c (pack_pack)

template `Z' should be allowed.

1999-06-09

Wed Jun 9 13:26:38 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_loading)

modified to avoid nested race condition of require().

ext/tcltklib/tcltklib.c (ip_invoke)

queue invocation on non main threads.

ext/tcltklib/tcltklib.c (lib_mainloop)

flush invocation queues periodically.

version.c (ruby_show_version)

now print the message to stdout.

version.c (ruby_show_copyright)

ditto.

1999-06-08

Tue Jun 8 00:00:34 1999 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

append sentinel (NUL) to the string.

ext/md5/md5init.c (md5_hexdigest)

new method to obtain printable hash string.

ext/md5/md5init.c (md5_update)

should return self.

pack.c (pack_pack)

undocumented template 'U' for UTF8.

pack.c (pack_unpack)

ditto.

marshal.c (r_byte)

should replace getc() with rb_getc().

io.c (rb_getc)

getc() replacement uses READ_DATA_PENDING() and rb_thread_wait_fd().

1999-06-07

Mon Jun 7 23:23:38 1999 Yukihiro Matsumoto <[email protected]>

object.c (rb_mod_clone)

should call CLOSESETUP().

eval.c (bind_clone)

should call CLONESETUP() for new clone.

1999-06-05

Sat Jun 5 10:32:40 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_oct)

binary (e.g. 0b10111) support.

variable.c (rb_const_set)

raise warning, not exception.

parse.y (yycompile)

initialize parser internal variables.

parse.y (close_paren)

set lex_state to EXPR_PAREN after closing parenthesis.

parse.y (yylex)

returns kDO for `do' right after method_call.

1999-06-03

Thu Jun 3 11:05:30 1999 WATANABE Hirofumi <[email protected]>

regex.c (read_backslash)

should decode b within class.

Thu Jun 3 01:06:18 1999 Katsuyuki Komatsu <[email protected]>

dln.c (dln_load)

AIX improvement (aix_findmain removed).

1999-06-02

Wed Jun 2 00:41:31 1999 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

new undocumented template Z which strips stuff after first null.

pack.c (pack_pack)

should preserve specified length of the resulting string.

1999-06-01

Tue Oct 12 13:26:27 1999 Jun-ichiro itojun Hagino <[email protected]>

signal.c (posix_signal)

RETSIGTYPE may be void.

Tue Jun 1 15:29:33 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (ruby_socket)

retry after GC, if socket(2) failed on EMFILE or ENFILE.

ext/socket/socket.c (sock_s_socketpair)

ditto.

eval.c (module_setup)

need to add PUSH_VAR/POP_VAR to clear dyna vars link list.

version.h (RUBY_RELEASE_CODE)

integer macro constant for source version detection.

Thu May 20 03:43:44 1999 Jun-ichiro itojun Hagino <[email protected]>

ext/socket/socket.c

you should use sockaddr_storage to handle IPv6 addresses.

ext/socket/getaddrinfo.c (getaddrinfo)

prevent retrieving AF_INET6 address if hints.ai_flags == AI_PASSIVE.

1999-05-31

Mon May 31 16:06:28 1999 Yukihiro Matsumoto <[email protected]>

Mon May 31 15:57:41 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_fptr_close)

close on IO which main_thread is waiting cause serious exception, that vanishes the actual fd closing. Invocation of rb_thread_fd_close() is deferred a little.

1999-05-30

Sun May 30 22:19:12 1999 Kenji Nagasawa <[email protected]>

ext/socket/socket.c

emx/gcc 0.9d now fixes things about AF_UNIX.

process.c

OS/2 EMX kludge.

Makefile.in (strncasecmp.o)

added dependency.

1999-05-29

Sat May 29 18:27:13 1999 Koji Arai <[email protected]>

regex.c (re_match)

stack boundary check needed.

Sat May 29 12:27:00 1999 Yukihiro Matsumoto <[email protected]>

ext/tcltklib/tcltklib.c (ip_invoke)

proper ref count management to avoid leak. I HATE REF COUNTING!!

eval.c (ruby_run)

moved ruby_require_libraries() to handle `-r' from ruby_options() to avoid stack corruption for threads created in libraries.

Sat May 29 02:22:12 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_yield_0)

when `for' appeared in blocks, it introduced new scope for local variables.

1999-05-28

Fri May 28 17:16:49 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_squeeze_bang)

squeeze AND of the arguments. UNDOCUMENTED.

string.c (rb_str_count)

new UNDOCUMENTED method.

string.c (rb_str_delete_bang)

delete AND of the arg ranges. UNDOCUMENTED FEATURE for 1.3.x.

ext/socket/socket.c (setipaddr)

re-wrote using ip_addrsetup().

ext/socket/socket.c (ip_addrsetup)

decode symbolic address <broadcast>.

1999-05-27

Thu May 27 12:27:42 1999 Yukihiro Matsumoto <[email protected]>

string.c (tr_trans)

should handle NUL (0) within strings.

1999-05-25

Tue May 25 16:45:11 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_f_syscall)

syscall may return values other than zero on success.

regex.c (re_match)

handle empty loop properly (hopefully).

regex.c (re_match)

remove empty group check, because it does not help non-grouping parentheses (?:..).

regex.c (re_compile_fastmap)

treating try_next, finalize_push wrong way.

regex.c

remove some obsolete functions such as group_match_null_string_p().

1999-05-24

Mon May 24 14:47:54 1999 Yukihiro Matsumoto <[email protected]>

regex.c (read_backslash)

read backslash by regex.

1999-05-23

Sun May 23 19:44:58 1999 WATANABE Hirofumi <[email protected]>

ext/pty/pty.c (getDevice)

portability patch.

1999-05-21

Fri May 21 23:01:26 1999 Katsuyuki Komatsu <[email protected]>

ext/socket/getaddrinfo.c (GET_AI)

should set error code.

1999-05-19

Wed May 19 12:27:07 1999 Yukihiro Matsumoto <[email protected]>

eval.c (exec_end_proc)

should protect exceptions.

gc.c (run_final)

ditto.

parse.y (f_rest_arg)

allow just * for rest arg.

parse.y (mlhs_basic)

allow * without formal argument.

regex.c (re_match)

the variable `part' should be initialized.

1999-05-18

Tue May 18 15:25:45 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

a bug in range adjustment.

Tue May 18 11:35:59 1999 WATANABE Hirofumi <[email protected]>

dln.c (conv_to_posix_path)

path_len argument added.

1999-05-17

Mon May 17 12:26:31 1999 Yukihiro Matsumoto <[email protected]>

numeric.c (fix_rev)

should treat Fixnum as signed long.

eval.c (massign)

add strict number check for yield (and call).

eval.c (proc_arity)

new method to return number of arguments.

eval.c (method_arity)

new method to return number of arguments.

parse.y (read_escape)

char may be unsigned.

string.c (rb_str_succ)

ditto.

string.c (tr_trans)

ditto.

object.c (Init_Object)

methods `&', `|', `^' are added to nil.

range.c (rb_range_beg_len)

it should be OK for [0..-len-1].

regex.c (re_search)

search for byte literal within mbcs.

regex.c (is_in_list)

parsh

regex.c (re_compile_fastmap)

should have not alter the loop variable `j' if TRASLATE_P().

regex.c (re_compile_pattern)

escaped characters should be read by PATFETCH_RAW©.

1999-05-15

Sat May 15 11:23:51 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

endline2 (Z) should not match at the point between a newline and end-of-line, like endline ($).

class.c (include_class_new)

should initialize iv_tbl to share between module and iclass.

1999-05-14

Fri May 14 08:50:27 1999 Akira Endo <[email protected]>

regex.c (re_compile_fastmap)

it should be k != 0 to skip.

Fri May 14 12:46:56 1999 Yukihiro Matsumoto <[email protected]>

time.c (time_load)

a bug in old marshal format support.

instruby.rb

make site_ruby directory.

Fri May 14 10:18:02 1999 WATANABE Tetsuya <[email protected]>

regex.c (re_match)

a bug in inline `.*' etc.

Fri May 14 09:58:46 1999 Minero Aoki <[email protected]>

ruby.c (addpath)

should have specified string length.

1999-05-13

Thu May 13 10:40:44 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval_string_wrap)

new function.

regex.c (re_compile_pattern)

POSIX line match should alter behavior for `^' and `$' to begbuf and endbuf2 respectively.

ext/pty/pty.c

un-ANSI-fy function arguments.

1999-05-12

Wed May 12 14:19:38 1999 Yukihiro Matsumoto <[email protected]>

struct.c (iv_get)

in case of inheritance of generated struct class, __member__ and __size__ should also be inherited. Thanks for Pros Yeboah <[email protected]>.

io.c (rb_f_gets_internal)

should check number of arguments before checking rb_rs == rb_default_rs. Thanks for Koji Arai <[email protected]>.

1999-05-11

Tue May 11 08:29:28 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

.?, .+ did not work.

1999-05-10

Mon May 10 00:59:33 1999 Yukihiro Matsumoto <[email protected]>

lib/jcode.rb

forgot to squeeze on reverse (complement) case.

string.c (tr_squeeze)

should not set modify flag to be honest, if the string is not modified.

signal.c (Init_signal)

SIGTERM should not be handled.

regex.c (re_match)

seeking for longest match is now optional, which can be set using RE_OPTION_POSIXMATCH. This satisfies POSIX longest match as much as Emacs's posix-* functions, which are known to be incomplete.

1999-05-09

Sun May 9 13:04:01 1999 Katsuyuki Komatsu <[email protected]>

ext/socket/socket.c (sock_s_getaddrinfo)

conversion from Fixnums to C integers needed.

Sun May 9 11:51:43 1999 Koji Arai <[email protected]>

range.c (range_eqq)

reverse condition.

range.c (range_s_new)

default should be end inclusive.

1999-05-08

Sat May 8 03:27:51 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (thread_connect)

replace nasty rb_thread_fd_writable() with rb_thread_select().

1999-05-07

Fri May 7 20:49:00 1999 Katsuyuki Komatsu <[email protected]>

ext/socket/getaddrinfo.c (inet_pton)

wrong parameter to inet_aton().

ext/socket/addrinfo.h (__P)

silly cut and paste typo.

Fri May 7 17:03:57 1999 Yukihiro Matsumoto <[email protected]>

dir.c (glob)

removed GPL'ed glob.c completely.

Fri May 7 08:17:19 1999 Yukihiro Matsumoto <[email protected]>

ext/sdbm/extconf.rb

sdbm extension added to the distribution.

Fri May 7 01:42:20 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (tcp_s_gethostbyname)

avoid using struct sockaddr_storage.

1999-05-06

Thu May 6 13:21:41 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_indexes)

should not use rb_ary_concat().

1999-05-04

Thu May 4 12:34:18 1999 Koji Arai <[email protected]>

parse.y (parse_string)

there should be newline escape by backslashes in strings.

parse.y (parse_qstring)

ditto.

Tue May 4 02:07:49 1999 Yukihiro Matsumoto <[email protected]>

mkconfig.rb

leave undefined $(VARIABLE) unexpanded in the Config::CONFIG hash table.

1999-05-03

Mon May 3 04:37:20 1999 Koji Arai <[email protected]>

ext/tcltklib/extconf.rb

better search for libX11.

range.c (range_s_new)

embarrassing =/== typo.

re.c (Init_Regexp)

failed to set default kcode.

Mon May 3 02:39:55 1999 WATANABE Tetsuya <[email protected]>

ext/socket/socket.c (open_inet)

typo (res and res0).

Mon May 3 09:37:22 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

expand exactn{n} at compile time. handles stop_paren specially.

regex.c (re_compile_pattern)

expand x{n} at compile time.

regex.c (re_search)

posix line match should be checked.

regex.c (re_search)

a bug in anchor condition.

1999-04-30

Fri Apr 30 18:57:41 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_rindex)

position should be END point, not START point.

re.c (rb_reg_search)

pos means end point on reverse now.

array.c (rb_ary_s_create)

should clear ary->ptr to avoid potential gc crash.

Fri Apr 30 15:24:58 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/addrinfo.h

compatibility hack for ipv4.

ext/socket/socket.c

itojun's ipv6 patches applied.

ext/socket/extconf.rb

detect ipv6 features based on itojun's ipv6 patches.

ext/extmk.rb.in (enable_config)

can handle –enable-xxx now.

lib/mkmf.rb (enable_config)

ditto.

Fri Apr 30 05:22:23 1999 Shugo Maeda <[email protected]>

string.c (rb_str_aset)

last index should not append.

1999-04-29

Thu Apr 29 18:55:31 1999 WATANABE Hirofumi <[email protected]>

dln.c (conv_to_posix_path)

remove const from args.

ruby.c (rubylib_mangle)

remove Fatal(), the obsolete function.

1999-04-27

Tue Apr 27 14:11:45 1999 Yukihiro Matsumoto <[email protected]>

parse.y (fname)

lazy workaround for keywords did not work well.

ext/extmk.rb.in

`–with-xxx=yyy' argument configuration.

lib/mkmf.rb

ditto.

misc/ruby-mode.el

forgot to handle $`.

ext/extmk.rb.in

better AIX link support proposed by <[email protected]>.

1999-04-26

Mon Apr 26 16:46:59 1999 Yukihiro Matsumoto <[email protected]>

ext/extmk.rb.in

AIX shared library support modified.

ext/aix_mksym.rb

ditto.

configure.in

ditto.

sprintf.c (rb_f_sprintf)

should allocate proper sized buffer for float numbers.

1999-04-24

Sat Apr 24 00:00:16 1999 Yukihiro Matsumoto <[email protected]>

parse.y (operation)

syntax like `a.[]=(1,2)' is allowed.

1999-04-23

Fri Apr 23 23:54:09 1999 Yukihiro Matsumoto <[email protected]>

io.c (argf_binmode)

binmode method added to ARGF.

Fri Apr 23 13:55:22 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_f_chomp)

should assign the result to $_. or maybe sub/gsub/chop/chomp should NOT assign $_ altogether.

1999-04-22

Thu Apr 22 16:50:54 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_callcc)

call scope_dup() for all scopes in the interpreter stack.

1999-04-20

Tue Apr 20 11:24:18 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_dump)

`#' should be escaped.

Tue Apr 20 02:32:42 1999 Yukihiro Matsumoto <[email protected]>

parse.y (parse_regx)

option /p for posix match added.

re.c (rb_reg_desc)

did not print options properly.

io.c (rb_file_s_open)

initialize was called twice.

1999-04-19

Mon Apr 19 18:56:21 1999 Yukihiro Matsumoto <[email protected]>

configure.in (DEFAULT_KCODE)

can specify default code for $KCODE by –with-default-kcode=(euc|sjis|utf8|none).

regex.c (IS_A_LETTER)

a byte sequence shorter than mbc should not match with w etc.

Mon Apr 19 13:49:11 1999 Yukihiro Matsumoto <[email protected]>

eval.c (eval)

should restore ruby_dyna_vars.

1999-04-16

Fri Apr 16 21:40:43 1999 Nobuyoshi Nakada <[email protected]>

io.c (f_backquote)

pipe_open may return nil.

io.c (f_open)

rb_io_open may return nil.

io.c (io_s_foreach)

ditto.

io.c (io_s_readlines)

ditto.

io.c (io_defset)

wrong message.

Fri Apr 16 15:09:20 1999 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_str2inum)

strtoul() returns long, not int.

eval.c (rb_load)

size of VALUE and ID may be different.

util.c (mmprepare)

int is too small to cast from pointers.

config.guess

avoid 'linux-gnu' for alpha-unknown-linux.

1999-04-15

Thu Apr 15 23:46:20 1999 WATANABE Hirofumi <[email protected]>

ruby.c (rubylib_mangle)

mangle path by RUBYLIB_PREFIX.

1999-04-14

Wed Apr 14 23:52:51 1999 SHIROYAMA Takayuki <[email protected]>

node.h (NODE_LMASK)

should be long to avoid overflow.

Wed Apr 14 13:14:35 1999 Katsuyuki Komatsu <[email protected]>

dln.c

AIX dynamic link.

ext/aix_ld.rb

ditto.

Wed Apr 14 12:19:09 1999 Yukihiro Matsumoto <[email protected]>

lib/thread.rb

Queue#{enq,deq} added.

1999-04-13

Tue Apr 13 17:43:56 1999 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_s_create)

Hash::[] acts more like casting.

Tue Apr 13 00:33:52 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_stdio_set)

warning for assignment to the variables $std{in,out,err}.

1999-04-12

Mon Apr 12 23:12:32 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_reopen)

check for reopening same IO.

1999-04-09

Fri Apr 9 17:45:11 1999 Yukihiro Matsumoto <[email protected]>

parse.y (rb_compile_string)

bug for nested eval().

regex.c (re_match)

should pop non-greedy stack items on failure, after best_regs are fixed.

1999-04-08

Thu Apr 8 17:30:40 1999 Yukihiro Matsumoto <[email protected]>

pack.c (PACK_LENGTH_ADJUST)

need to adjust for `*' length.

1999-04-06

Tue Apr 6 23:28:44 1999 Yukihiro Matsumoto <[email protected]>

parse.y (void_check)

add void context checks.

1999-04-05

Mon Apr 5 12:23:42 1999 Yukihiro Matsumoto <[email protected]>

time.c (time_s_at)

should copy gmt-mode.

eval.c (eval_node)

preserve ruby_eval_tree.

1999-04-02

Fri Apr 2 14:00:34 1999 NAKAMURA, Hiroshi <[email protected]>

lib/debug.rb

wrong command interpreting.

Fri Apr 2 11:46:22 1999 Yukihiro Matsumoto <[email protected]>

Fri Apr 2 10:40:04 1999 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_s_pipe)

forgot to define IO::pipe.

1999-04-01

Thu Apr 1 14:40:46 1999 Yukihiro Matsumoto <[email protected]>

eval.c (assign)

modified for rhs change.

parse.y (stmt)

unparenthesisized method calls can be right hand side expression of the assignment.

1999-03-27

Sat Mar 27 22:42:47 1999 Koji Arai <[email protected]>

ext/nkf/nkf.c (rb_nkf_kconv)

check size output_ctr before decrement.

1999-03-25

Thu Mar 25 09:11:03 1999 Yukihiro Matsumoto <[email protected]>

time.c (time_s_at)

preserve gmt-mode for result.

parse.y (rb_compile_string)

do not use cur_mid, use compile_for_eval instead.

st.c (PTR_NOT_EQUAL)

wrong logical condition.

1999-03-24

Wed Mar 24 13:06:43 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yycompile)

should clear cur_mid after compilation.

io.c (next_argv)

need to check type for ARGV.shift.

eval.c (blk_copy_prev)

need to preserve outer scope as well as outer frames.

parse.y (rb_compile_string)

return can appear within eval().

1999-03-23

Tue Mar 23 10:15:07 1999 EGUCHI Osamu <[email protected]>

configure.in

AC_C_CONST check added.

Tue Mar 23 02:07:35 1999 Yukihiro Matsumoto <[email protected]>

time.c (time_plus)

preserve gmt-mode for result.

1999-03-22

Mon Mar 22 01:32:37 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

adjust line numbers before expression interpolation within strings.

eval.c (rb_eval)

defined? returns nil for false condition.

numeric.c (num_nonzero_p)

returns nil for false condition.

1999-03-20

Sat Mar 20 13:07:43 1999 Keiju Ishitsuka <[email protected]>

lib/weakref.rb

avoid leak for two weakrefs for one object.

1999-03-19

Fri Mar 19 11:26:45 1999 WATANABE Hirofumi <[email protected]>

eval.c (ruby_run)

needed to eval END{} on exit.

eval.c (rb_exit)

ditto.

Fri Mar 19 02:17:27 1999 Yukihiro Matsumoto <[email protected]>

signal.c (Init_signal)

handles terminating signals HUP, TERM, QUIT, PIPE, etc.

1999-03-18

Thu Mar 18 15:47:18 1999 Yukihiro Matsumoto <[email protected]>

bignum.c (rb_big_and)

bug in sign calculation.

bignum.c (rb_big_or)

ditto.

io.c (rb_f_select)

forgot to use to_io to retrieve IO, after calling select(2).

1999-03-16

Tue Mar 16 19:54:31 1999 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

static linking cause infinite make loop.

Tue Mar 16 18:50:04 1999 Yoshida Masato <[email protected]>

ext/socket/socket.c (tcp_s_gethostbyname)

typo, not NUM2INT(), but INT2NUM().

ext/socket/socket.c (mkhostent)

ditto.

Tue Mar 16 12:31:44 1999 Ryo HAYASAKA <[email protected]>

file.c (utime_internal)

suppress warning by const.

time.c (time_gmtime)

ditto.

Tue Mar 16 10:23:05 1999 Yukihiro Matsumoto <[email protected]>

time.c (time_clone)

Time object can be cloned.

Tue Mar 16 03:13:10 1999 Koji Arai <[email protected]>

ruby.c (load_file)

argv should be NULL.

1999-03-15

Mon Mar 15 22:12:08 1999 Tadayoshi Funaba <[email protected]>

sprintf.c (rb_f_sprintf)

typo in arg_num check at exit.

Mon Mar 15 16:42:22 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_dup)

dup2 should copy class too.

Mon Mar 15 15:12:53 1999 Yasuhiro Fukuma <[email protected]>

lib/mkmf.rb

install program relative path check.

Mon Mar 15 14:05:25 1999 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_s_new)

2nd argument is now option. Regexp::EXTENDED can be specified.

1999-03-12

Fri Mar 12 10:47:49 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_index)

str.index(“”) should always match at offset point.

string.c (rb_str_upto)

can specify end point exclusion.

string.c (rb_str_index)

negative offset.

regex.c (re_match)

begline should not match at the point between a newline and end-of-string. endline neither.

regex.c (re_compile_pattern)

context_indep_anchors .

parse.y (parse_regx)

need not to push backslashes before escaped characters.

eval.c (rb_thread_join)

re-raises exception within target.

Fri Mar 12 01:09:36 1999 Koji Arai <[email protected]>

ext/readline/readline.c (readline_s_vi_editing_mode)

wrong number of arguments.

Fri Mar 12 02:12:50 1999 Yukihiro Matsumoto <[email protected]>

pack.c (PACK_ITEM_ADJUST)

“a”.unpack(“C3”) => [97, nil, nil]

1999-03-11

Thu Mar 11 18:23:50 1999 WATANABE Tetsuya <[email protected]>

ext/socket/socket.c (Init_socket)

UDPsocket was omitted.

Thu Mar 11 16:43:30 1999 Yukihiro Matsumoto <[email protected]>

pack.c (PACK_LENGTH_ADJUST)

push fixed number of items per template to result array.

pack.c (pack_unpack)

I/N/C etc. push nil in the array for “”.

1999-03-09

Tue Mar 9 00:19:21 1999 Yukihiro Matsumoto <[email protected]>

hash.c (ruby_unsetenv)

use ruby_setenv(name, 0).

hash.c (env_delete)

ditto.

string.c (rb_str_upto)

do not check `beg<end' to generate strings for the pattern like “a”.upto(“#a”).

range.c (range_each)

treat strings as special case.

range.c (range_each)

no longer use upto for generic cases.

1999-03-07

Sun Mar 7 14:21:32 1999 IKARASHI Akira <[email protected]>

string.c (rb_str_index)

wrong end point calculation.

1999-03-06

Sat Mar 6 02:19:12 1999 Yukihiro Matsumoto <[email protected]>

re.c (match_index)

MatchingData#index(n) added.

array.c (rb_ary_subseq)

ary returns an sub-array unless n is too small negative index.

re.c (rb_reg_match_method)

Regexp#match(str) added.

array.c (rb_ary_indexes)

understands ranges as indexes.

re.c (match_size)

MatchingData#size added.

1999-03-05

Fri Mar 5 01:04:57 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_fill)

modified for range.

array.c (rb_ary_aset)

a revisited.

1999-03-04

Thu Mar 4 14:23:29 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_subseq)

a revisited.

parse.y (method_call)

allow Const::method{}.

array.c (rb_ary_replace_method)

should replace original array.

Thu Mar 4 02:30:22 1999 Yukihiro Matsumoto <[email protected]>

configure.in

remove –disable-thread, thread feature is no longer optional.

Thu Mar 4 00:32:17 1999 Yasuhiro Fukuma <[email protected]>

parse.y (read_escape)

wrong arguments for scan_oct,scan_hex.

1999-03-03

Wed Mar 3 11:51:53 1999 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (Init_socket)

rename class names as TCPsocket -> TCPSocket etc.

1999-03-02

Tue Mar 2 19:46:42 1999 WATANABE Hirofumi <[email protected]>

configure.in (LDSHARED)

use gcc -Wl,-G for solaris with gcc.

Tue Mar 2 17:04:19 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

backslashes do not concatenate comment lines anymore.

1999-03-01

Mon Mar 1 14:05:12 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

adjust argv for optional arguments. super without arguments emit superclass method with the value from optional arguments. enabled as experiment.

1999-02-28

Sun Feb 28 14:04:07 1999 WATANABE Hirofumi <[email protected]>

parse.y (nextc)

backslash at the eof cause infinite loop

Sun Feb 28 11:01:26 1999 Tadayoshi Funaba <[email protected]>

time.c (make_time_t)

month range check added.

1999-02-27

Sat Feb 27 02:36:05 1999 Yukihiro Matsumoto <[email protected]>

re.c (Init_Regexp)

add escape as alias of quote.

re.c (rb_reg_s_quote)

char-code can be specified now.

1999-02-26

Fri Feb 26 18:45:36 1999 Yasuhiro Fukuma <[email protected]>

eval.c (error_print)

bug for error message with newlines.

Fri Feb 26 12:00:04 1999 Yukihiro Matsumoto <[email protected]>

time.c (make_time_t)

future check modified to allow 1969-12-31 at certain timezone.

time.c (time_arg)

year >= 1000 should be past.

version.c (Init_version)

constant RELEASE_DATE added.

Fri Feb 26 01:08:30 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_substr)

returns nil for out-of-range access.

array.c (rb_ary_subseq)

returns nil for out-of-range access.

array.c (rb_ary_store)

negative index message has changed.

string.c (rb_str_aset)

reallocation needed.

string.c (rb_str_aset)

allow char append to the string.

1999-02-25

Thu Feb 25 23:30:17 1999 Tadayoshi Funaba <[email protected]>

time.c (time_load)

tm_year should be packed in 17 bits, not 18.

Thu Feb 25 12:50:25 1999 Yukihiro Matsumoto <[email protected]>

missing/dup2.c

replaced by public domain version.

time.c (make_time_t)

add `future check' in loops.

object.c (rb_num2dbl)

forbid implicit conversion from nil, or strings. thus `Time.now + str' should raise error.

object.c (rb_Float)

convert nil into 0.0.

object.c (rb_Integer)

conversion method improved.

Thu Feb 25 03:27:50 1999 Shugo Maeda <[email protected]>

eval.c (rb_call)

should handle T_ICLASS properly.

Thu Feb 25 00:04:00 1999 Yukihiro Matsumoto <[email protected]>

error.c (Init_Exception)

global function Exception() removed.

variable.c (rb_class2name)

returns “nil”/“true”/“false” for them.

time.c (time_dump)

time marshaling format compressed size from 11 bytes to 8 bytes. thanx to [email protected].

eval.c (rb_obj_call_init)

should specify arguments explicitly.

1999-02-24

Wed Feb 24 15:43:28 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

comment concatenation requires preceding space before backslash at the end of line.

io.c (rb_f_pipe)

global pipe is obsolete now.

object.c (Init_Object)

remove true.to_i, false.to_i.

1999-02-23

Tue Feb 23 14:21:41 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

warn if identifier! immediately followed by `='.

Tue Feb 23 12:32:41 1999 WATANABE Hirofumi <[email protected]>

eval.c (rb_load)

tilde expansion moved to find_file.

eval.c (find_file)

tilde expansion added.

Tue Feb 23 10:50:20 1999 Yukihiro Matsumoto <[email protected]>

eval.c (require_method)

require can handle multiple fnames.

hash.c (rb_hash_foreach_iter)

hash key may be nil.

1999-02-22

Mon Feb 22 17:44:02 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

should not pop failure point on success for non-greedy matches.

io.c (Init_IO)

remove global_functions getc, readchar, ungetc, seek, tell, rewind.

1999-02-20

Sat Feb 20 22:54:26 1999 Yukihiro Matsumoto <[email protected]>

numeric.c (rb_num2long)

no implicit conversion from boolean.

Sat Feb 20 09:58:42 1999 EGUCHI Osamu <[email protected]>

numeric.c (flo_to_s)

portable Infinity and NaN support.

Sat Feb 20 07:13:31 1999 WATANABE Tetsuya <[email protected]>

io.c (rb_file_sysopen)

forgot to initialize a local variable.

1999-02-19

Fri Feb 19 23:05:07 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_subseq)

range check changed.

marshal.c

increment MARSHAL_MINOR for Time format change.

time.c (time_old_load)

support old marshal format.

time.c (time_load)

changed for new format Y/M/D/h/m/s/usec.

time.c (time_dump)

marshal dump format has changed.

Fri Feb 19 00:25:57 1999 Yukihiro Matsumoto <[email protected]>

time.c (time_arg)

should reject “sep0” and such.

time.c (time_plus)

Time#+ should not receive Time object operand.

string.c (rb_str_substr)

negative length raises exception now.

array.c (beg_len)

if end == -1, it points end of the array.

array.c (rb_ary_subseq)

negative length raises exception now.

1999-02-18

Thu Feb 18 20:57:04 1999 Tadayoshi Funaba <[email protected]>

time.c (rb_strftime)

strftime() may return 0 on success too.

time.c (time_strftime)

`0' within format string should not be omitted in the result.

time.c (rb_strftime)

zero length format.

time.c (time_to_a)

yday start with 1 now.

time.c (time_zone)

support for long timezone name.

time.c (time_yday)

yday start with 1 now.

time.c (time_minus)

minus calculation was wrong.

time.c (time_minus)

sec, usec should be at least `long', maybe they should be `time_t'.

time.c (time_plus)

addition with float was wrong.

time.c (time_to_s)

support for long timezone name.

time.c (time_gm_or_local)

too far future check moved.

time.c (time_arg)

treat 2 digit year as 69-99 => 1969-1999, 00-68 => 2000-2068

Thu Feb 18 03:56:47 1999 Yukihiro Matsumoto <[email protected]>

missing/fnmatch.c

moved to missing directory.

1999-02-17

Wed Feb 17 16:22:26 1999 Yukihiro Matsumoto <[email protected]>

struct.c (rb_struct_alloc)

actual initialization now be done in `initialize'.

Wed Feb 17 09:47:15 1999 okabe katsuyuki <[email protected]>

regex.c (re_search)

use mbclen() instead of ismbchar().

re.c (rb_reg_s_quote)

should handle mbchars properly.

Wed Feb 17 01:25:26 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

stop comment concatenation by backslash follows after >= 0x80 char. may cause problem with Latin chars.

eval.c (error_print)

exception in rb_obj_as_string() caused SEGV. protect it by PUSH_TAG/POP_TAG.

error.c (exc_exception)

`Exception#exception' should return self.

Wed Feb 17 01:12:22 1999 Hirotaka Ichikawa <[email protected]>

configure.in

BeOS patch.

1999-02-16

Tue Feb 16 14:25:00 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

should reallocate mbc space for character class unless current_mbctype is ASCII.

1999-02-15

Mon Feb 15 15:48:30 1999 WATANABE Hirofumi <[email protected]>

configure.in

specify `-Wl,-E' only for GNU ld.

Mon Feb 15 11:43:22 1999 GOTO Kentaro <[email protected]>

array.c (rb_inspecting_p)

should return Qfalse.

1999-02-14

Sun Feb 14 22:36:40 1999 EGUCHI Osamu <[email protected]>

sprintf.c (rb_f_sprintf)

`%G' was omitted.

Sun Feb 14 12:47:48 1999 EGUCHI Osamu <[email protected]>

numeric.c (Init_Numeric)

allow divide by zero on FreeBSD.

numeric.c (Init_Numeric)

FloatDomainError added.

configure.in (AC_REPLACE_FUNCS)

add checks for functions isinf, isnan, and finite.

1999-02-13

Sat Feb 13 01:24:16 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_create_0)

should protect th->thread.

1999-02-12

Fri Feb 12 16:16:47 1999 Yasuhiro Fukuma <[email protected]>

string.c (rb_str_inspect)

wrong mbc position.

Fri Feb 12 16:21:17 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_fd_close)

io.c (rb_io_fptr_close)

tell scheduler that fd is closed.

io.c (rb_io_reopen)

ditto.

io.c (READ_CHECK)

check if closed after thread context switch.

ext/socket/socket.c (bsock_close_read)

do not check the return value from shutdown(2).

ext/socket/socket.c (bsock_close_write)

ditto.

ext/socket/socket.c (sock_new)

need to dup(fd) for close_read and close_write.

parse.y (here_document)

handle newlines within #{}.

regex.h

should replace symbols for ruby.

Fri Feb 12 00:46:28 1999 Shugo Maeda <[email protected]>

marshal.c (r_object)

should update the method name in message.

marshal.c (w_object)

limit should be converted into Fixnum.

1999-02-10

Wed Feb 10 15:20:03 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

empty pattern should not cause infinite pattern match loop.

regex.c (re_compile_pattern)

RE_OPTIMIZE_ANCHOR for /.*/, not for /(.|n)/.

numeric.c (fix_pow)

`fixnum**nil' should raise TypeError.

bignum.c (rb_big_pow)

need to normalize results.

Wed Feb 10 01:42:41 1999 EGUCHI Osamu <[email protected]>

numeric.c (fix_pow)

`(5**1).type' should be Integer.

1999-02-09

Tue Feb 9 01:22:49 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

do not ignore newlines in mbchars.

io.c (rb_file_s_open)

mode can be specified by flags like open(2), e.g. File::open(path, File::CREAT|File::WRONLY).

io.c (rb_f_open)

bit-wise mode flags for pipes

io.c (Init_IO)

bit flags for open.

1999-02-06

Sat Feb 6 22:56:21 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_sub_bang)

should not overwrite match data by regexp match within the block.

string.c (rb_str_gsub_bang)

ditto.

Sat Feb 6 03:06:17 1999 Yukihiro Matsumoto <[email protected]>

re.c (match_getter)

accessing $~ without matching caused SEGV.

1999-02-05

Fri Feb 5 22:11:08 1999 EGUCHI Osamu <[email protected]>

parse.y (yylex)

binary literal support, like 0b01001.

parse.y (yylex)

octal numbers can contain `_'s.

parse.y (yylex)

warns if non-octal number follows immediately after octal literal.

parse.y (yylex)

now need at least one digit after prefix such as 0x, or 0b.

bignum.c (rb_str2inum)

recognize binary numbers like 0b0101.

Fri Feb 5 03:26:56 1999 Yasuhiro Fukuma <[email protected]>

ruby.c (proc_options)

-e without program prints error.

Fri Feb 5 00:01:50 1999 Yukihiro Matsumoto <[email protected]>

parse.y (terms)

needed to clear heredoc_end.

numeric.c (flo_div)

allow float division by zero.

1999-02-04

Thu Feb 4 11:56:24 1999 Yukihiro Matsumoto <[email protected]>

missing/strtod.c

for compatibility.

configure.in (strtod)

add strtod compatible check.

numeric.c (rb_num2long)

missing/vsnprintf.c does not support floating points.

numeric.c (flo_to_s)

ditto.

1999-02-03

Wed Feb 3 23:02:12 1999 Yoshida Masato <[email protected]>

regex.c (re_compile_pattern)

use ismbchar() to get next char.

regex.c (re_search)

wrong mbchar shift.

re.c (rb_reg_search)

needed to reset $KCODE after match.

regex.c (re_compile_fastmap)

mbchars should match with w.

Wed Feb 3 22:35:12 1999 EGUCHI Osamu <[email protected]>

parse.y (yylex)

too big float raise warning, not error.

Wed Feb 3 15:03:16 1999 Yukihiro Matsumoto <[email protected]>

parse.y (parse_regx)

need to escape parens if terminators are not any kind of parenthesis.

parse.y (parse_qstring)

ditto.

parse.y (parse_string)

ditto.

1999-02-02

Tue Feb 2 23:41:42 1999 Yoshida Masato <[email protected]>

regex.c (re_match)

wrong boundary.

regex.c (IS_A_LETTER)

re_mbctab may not be 1 for mbc.

regex.c (re_search)

mbchar support for shifting ranges.

regex.c (MBC2WC)

wrong conversion.

Tue Feb 2 17:11:26 1999 WATANABE Tetsuya <[email protected]>

string.c (rb_str_gsub_bang)

too small realloc condition.

1999-02-01

Mon Feb 1 10:01:17 1999 EGUCHI Osamu <[email protected]>

parse.y (yylex)

range check for the float literal.

1999-01-30

Sat Jan 30 18:34:16 1999 Yukihiro Matsumoto <[email protected]>

ruby.c (usage)

-h option to show brief command description.

Sat Jan 30 08:45:16 1999 IKARASHI Akira <[email protected]>

lib/cgi-lib.rb

cookie support added.

Sat Jan 30 13:38:24 1999 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

mbchars should match with w within character class. Was matching with W.

regex.c (re_match)

w should match with multi byte characters, not its first byte.

Sat Jan 30 10:06:41 1999 Yoshida Masato <[email protected]>

re.c (rb_reg_s_new)

UTF-8 flag handle (/u, /U).

re.c (rb_kcode)

$KCODE handle for UTF-8.

Sat Jan 30 01:51:16 1999 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_delete_if)

RTEST() missing.

hash.c (delete_if_i)

ditto.

enum.c (Init_Enumerable)

select (=find_all), detect (=find) added as aliases.

1999-01-29

Fri Jan 29 21:32:19 1999 WATANABE Tetsuya <[email protected]>

hash.c (rb_f_setenv)

SEGV caused by small typo.

Fri Jan 29 00:15:58 1999 Yukihiro Matsumoto <[email protected]>

lib/parsedate.rb (parsedate)

support date format like 23-Feb-93, which is required by HTTP/1.1.

variable.c (find_class_path)

avoid calling rb_iv_set().

eval.c (backtrace)

do not need to modify $SAFE internally.

variable.c (classname)

inline __classid__ access.

eval.c (THREAD_ALLOC)

needed to initialize wrapper.

lib/ftools.rb (makedirs)

allows slash at the end of the path.

numeric.c (rb_fix_induced_from)

ensure result to be Fixnum.

1999-01-28

Thu Jan 28 17:31:43 1999 Yukihiro Matsumoto <[email protected]>

numeric.c (flo_to_s)

float format changed to “%16.10g”.

Thu Jan 28 02:13:11 1999 Yoshinori Toki <[email protected]>

array.c (rb_ary_store)

expand allocated buffer by 3/2.

1999-01-27

Wed Jan 27 17:50:02 1999 Kazuhiro HIWADA <[email protected]>

bignum.c (dbl2big)

raised error if double is too big to cast into long. check added.

Wed Jan 27 03:16:18 1999 Yukihiro Matsumoto <[email protected]>

variable.c (rb_mod_const_at)

can't list constants of the untainted objects in safe mode.

class.c (method_list)

can't list methods of untainted objects in safe mode.

1999-01-26

Tue Jan 26 02:40:41 1999 GOTO Kentaro <[email protected]>

prec.c

Precision support for numbers.

1999-01-21

Thu Jan 21 19:08:14 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_f_raise)

calls `exception' method, not `new'.

error.c (exc_exception)

renamed from `new'.

1999-01-20

Wed Jan 20 03:39:48 1999 Yukihiro Matsumoto <[email protected]>

parse.y (yycompile)

rb_in_compile renamed to ruby_in_compile.

ruby.c (load_file)

define DATA if __END__ appeared in script.

1999-01-19

Tue Jan 19 14:57:51 1999 Yukihiro Matsumoto <[email protected]>

parse.y (here_document)

need to protect lex_lastline.

parse.y (yylex)

disable %//, %'', %“.

Tue Jan 19 05:01:16 1999 Koji Arai <[email protected]>

array.c (beg_len)

round range value too much.

1999-01-18

Mon Jan 18 13:02:27 1999 Kuroda Jun <[email protected]>

hash.c (env_keys)

strchr() may return NULL.

Mon Jan 18 17:51:47 1999 Yukihiro Matsumoto <[email protected]>

instruby.rb (wdir)

install libruby.a in archdir.

lib/ftools.rb (install)

removes file before installing.

Mon Jan 18 16:55:31 1999 MAEDA shugo <[email protected]>

eval.c (rb_callcc)

experimental continuation support.

1999-01-17

Sun Jan 17 19:45:37 1999 WATANABE Hirofumi <[email protected]>

pack.c (pack_pack)

nil packing caused SEGV.

1999-01-16

Sat Jan 16 13:18:03 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_concat)

character (fixnum) can be append to strings

array.c (rb_ary_unshift)

unshift returns array.

Sat Jan 16 01:39:19 1999 Yoshida Masato <[email protected]>

string.c (rb_str_split_method)

UTF-8 support.

regex.c

UTF-8 support.

1999-01-14

Thu Jan 14 00:42:55 1999 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_gsub_bang)

forget to add offset for null match.

eval.c (rb_thread_local_aset)

can't modify in tainted mode.

hash.c (env_each_key)

avoid generating temporary array.

1999-01-13

Wed Jan 13 23:58:50 1999 Yukihiro Matsumoto <[email protected]>

hash.c (rb_f_setenv)

name and value can be tainted.

1999-01-06

Wed Jan 6 02:42:08 1999 Yukihiro Matsumoto <[email protected]>

bignum.c (Init_Bignum)

forgot to define Bignum#===.

gc.c (gc_sweep)

if add_heap() is called during GC, objects on allocated heap page(s) are not marked, should not be recycled.

gc.c (gc_sweep)

should refer latest freelist.

gc.c (id2ref)

modified to support performance patch.

object.c (rb_obj_id)

performance patch (no bignum for id).

1999-01-05

Tue Jan 5 01:56:18 1999 Yukihiro Matsumoto <[email protected]>

config.guess

merge up-to-date from autoconf 2.12.

array.c (rb_ary_join)

avoid calling rb_protect_inspect() till it is really needed.

object.c (rb_obj_inspect)

show detailed information for the instance variables (infinite loop can avoid now).

struct.c (rb_struct_inspect)

avoid infinite loop.

1999-01-03

Sun Jan 3 01:37:58 1999 Takao KAWAMURA <[email protected]>

misc/ruby-mode.el (ruby-end-of-defun)

moved too much.

misc/ruby-mode.el (ruby-mode-variables)

set paragraph-separator for the mode.

misc/ruby-mode.el

proper font-lock for `def' and `nil' etc.

1999-01-02

Sat Jan 2 17:09:06 1999 Yukihiro Matsumoto <[email protected]>

eval.c (rb_jump_tag)

new api to invoke JUMP_TAG. tag values can be obtained from rb_eval_string_protect()/rb_load_protect().

eval.c (rb_rescue)

now catches all exceptions but SystemExit.

eval.c (rb_eval_string_protect)

eval string with protection.

eval.c (rb_load_protect)

load file with protection.

io.c (rb_io_puts)

avoid infinite loop for cyclic arrays.

eval.c (rb_thread_local_aref)

thread local hash tables.

object.c (rb_equal)

check exact equal before calling `=='.

1998-12-31

Thu Dec 31 22:28:53 1998 MAEDA shugo <[email protected]>

eval.c (rb_f_require)

feature names should be provided with DLEXT extension.

marshal.c (Init_marshal)

need to provide `marshal.so'.

1998-12-30

Wed Dec 30 02:29:16 1998 Yukihiro Matsumoto <[email protected]>

variable.c (classname)

do not call rb_ivar_set().

eval.c (ruby_run)

finalizers were called too early.

1998-12-25

Fri Dec 25 12:19:30 1998 Fukuda Masaki <[email protected]>

gc.c (rb_gc_mark)

should not return on FL_EXIVAR.

Fri Dec 25 11:56:51 1998 Yukihiro Matsumoto <[email protected]>

gc.c (gc_mark)

proper scanning for temporary region.

eval.c (TMP_ALLOC)

protection for C_ALLOCA was broken.

1998-12-24

Thu Dec 24 18:26:04 1998 Yukihiro Matsumoto <[email protected]>

Thu Dec 24 00:17:00 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_load)

top self should be set properly.

variable.c (classname)

check __classpath__ if it is defined.

variable.c (classname)

invalid warning at -v with static linked ruby interpreter.

eval.c (is_defined)

modified for expr::Const support.

eval.c (rb_eval)

invoke method expr::Const if expr is not class nor module.

parse.y (primary)

enable expr::identifier as method invocation.

1998-12-23

Wed Dec 23 03:04:36 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

avoid too many loop pops for (?:..).

1998-12-22

Tue Dec 22 18:01:08 1998 Yukihiro Matsumoto <[email protected]>

1998-12-21

Mon Dec 21 01:33:03 1998 Yukihiro Matsumoto <[email protected]>

eval.c (TMP_PROTECT)

add volatile to ensure GC protection.

string.c (rb_str_gsub_bang)

calculate buffer size properly.

parse.y (lex_get_str)

needed to return Qnil at EOS.

eval.c (find_file)

check policy modified, raise exception immediately for tainted load_path.

hash.c (rb_f_setenv)

do not depend on setenv() nor putenv().

1998-12-17

Thu Dec 17 06:29:23 1998 Yukihiro Matsumoto <[email protected]>

ext/tk/tkutil.c (tk_s_new)

use rb_obj_instance_eval(), instead of rb_yield_0().

eval.c (rb_f_require)

forgot to call find_file in some cases.

eval.c (rb_f_require)

`require “feature.so”' to load dynamic libraries. old `require “feature.o”' is still OK.

eval.c (rb_eval)

yield without value dumped core.

1998-12-16

Wed Dec 16 16:28:31 1998 Yukihiro Matsumoto <[email protected]>

Wed Dec 16 10:43:34 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

bound check before calling re_match().

1998-12-15

Tue Dec 15 13:59:01 1998 Yukihiro Matsumoto <[email protected]>

error.c (exc_to_s)

returns class name for unset mesg.

error.c (exc_initialize)

do not initialize @mesg by “”.

parse.y (nextc)

__END__ should handle CR+LF newlines.

1998-12-09

Wed Dec 9 13:37:12 1998 MAEDA shugo <[email protected]>

pack.c (encodes)

use buffering for B-encoding.

pack.c (pack_pack)

Q-encoding by 'M'.

1998-12-08

Tue Dec 8 14:10:00 1998 Yukihiro Matsumoto <[email protected]>

variable.c (generic_ivar_get)

any object can have instance variables now. great improvement.

variable.c (rb_name_class)

do not set __classpath__ by default, use __classid__ instead.

1998-12-07

Mon Dec 7 22:08:22 1998 Yukihiro Matsumoto <[email protected]>

ruby.h (struct RFile)

IO objects can have instance variables now.

parse.y (primary)

allows `def obj::foo; .. end'.

Mon Dec 7 18:24:50 1998 WATANABE Tetsuya <[email protected]>

ruby.c (set_arg0)

$0 support for HP-UX.

Mon Dec 7 01:30:28 1998 WATANABE Hirofumi <[email protected]>

dln.c (dln_strerror)

better error messages on win32.

1998-12-05

Sat Dec 5 23:27:23 1998 Yukihiro Matsumoto <[email protected]>

parse.y (here_document)

indentable here-doc delimiter by `<<-'. Proposed by Clemens <[email protected]>. Thanks.

1998-12-03

Thu Dec 3 16:50:17 1998 Yukihiro Matsumoto <[email protected]>

ext/extmk.rb.in (realclean)

trouble on install.

1998-11-29

Sun Nov 29 22:25:39 1998 Takaaki Tateishi <[email protected]>

process.c (f_exec)

check number of argument.

1998-11-26

Thu Nov 26 17:27:30 1998 Yukihiro Matsumoto <[email protected]>

1998-11-25

Wed Nov 25 13:07:12 1998 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_dup)

do not copy additional data (STR_NO_ORIG).

parse.y (yycompile)

reduce known memory leak (hard to remove).

Wed Nov 25 03:41:21 1998 Yukihiro Matsumoto <[email protected]>

st.c (st_init_table_with_size)

round size up to prime number.

1998-11-21

Sat Nov 21 23:27:23 1998 Yukihiro Matsumoto <[email protected]>

hash.c (rb_hash_aset)

reduce copying key strings.

gc.c (looks_pointerp)

declare as inline function if possible.

st.c (PTR_NOT_EQUAL)

compare hash values first before calling comparing function.

st.c (ADD_DIRECT)

save hash value in entries to reduce hash calculation.

string.c (rb_str_gsub_bang)

avoid rb_scan_args() to speed-up.

string.c (rb_str_sub_bang)

ditto.

Sat Nov 21 18:44:06 1998 Masaki Fukushima <[email protected]>

time.c (time_s_now)

had memory leak.

ext/md5/md5init.c (md5_new)

had memory leak.

ext/md5/md5init.c (md5_clone)

ditto.

1998-11-20

Fri Nov 20 23:23:23 1998 Yukihiro Matsumoto <[email protected]>

lib/delegate.rb

do not propagate hash and eql?.

1998-11-19

Thu Nov 19 01:40:52 1998 Yukihiro Matsumoto <[email protected]>

sample/ruby-mode.el (ruby-expr-beg)

failed to find reserved word boundary.

eval.c (rb_eval)

avoid calling `concat' method. calls rb_ary_concat() directly for efficiency.

eval.c (rb_eval)

actual rest arguments extended arrays too much.

1998-11-18

Wed Nov 18 14:30:24 1998 Yukihiro Matsumoto <[email protected]>

class.c (rb_define_global_function)

global functions now be module function of the Kernel.

Wed Nov 18 10:48:09 1998 Yukihiro Matsumoto <[email protected]>

io.c (read_all)

SEGV on large files.

1998-11-17

Tue Nov 17 18:11:20 1998 Yukihiro Matsumoto <[email protected]>

Tue Nov 17 16:58:47 1998 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

assignment to attribute name start with capital should be allowed.

eval.c (thread_alloc)

needed to mark terminated threads too.

Tue Nov 17 12:33:48 1998 Motoyuki Kasahara <[email protected]>

ext/extmk.rb.in (create_makefile)

Set `libdir' to `@libdir@', Set `pkglibdir' to `$libdir/$(RUBY_INSTALL_NAME)'.

Tue Nov 17 10:30:46 1998 Yukihiro Matsumoto <[email protected]>

sprintf.c (f_sprintf)

%l%%c -> %%l%c

Tue Nov 17 01:08:50 1998 Yukihiro Matsumoto <[email protected]>

parse.y (ret_args)

distinguish `a' and `*a' for the arguments of yield and return.

eval.c (rb_eval)

flip3 should work like sed.

eval.c (rb_eval)

flip{2,3} now have independent state for each scope to work fine with thread.

1998-11-16

Mon Nov 16 23:26:29 1998 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

exec else clause if no exception raised.

1998-11-15

Sun Nov 15 15:44:07 1998 Tadayoshi Funaba <[email protected]>

ext/extmk.rb.in (install)

bug in target.

1998-11-14

Sat Nov 14 11:02:05 1998 Motoyuki Kasahara <[email protected]>

Makefile.in (install)

Give the argument `$(DESTDIR)' to `instruby.rb'.

instruby.rb

Recognize ARG as `destdir'.

instruby.rb

Give the argument `destdir' to `extmk.rb'.

ext/extmk.rb.in

Recognize ARG as `$destdir'.

instruby.rb

Create the installation directories (bindir, libdir, archdir, pkglibdir, archdir, and mandir) under `destdir', and install all files under there.

ext/extmk.rb.in

Likewise.

Sat Nov 14 10:56:55 1998 Motoyuki Kasahara <[email protected]>

instruby.rb

Add the variable `pkglibdir'.

instruby.rb

Set the variable `libdir' to `$(libdir)', not `$(libdir)/$(ruby_install_name)'. `libruby.so' and `libruby.so.LIB' are installed at `libdir'.

instruby.rb

Set the variable `archdir' to `$(pkglibdir)/$(arch)'.

1998-11-13

Fri Nov 13 19:43:29 1998 KIMURA Koichi <[email protected]>

missing/nt.c (SafeFree)

wrong free offset.

1998-11-12

Thu Nov 12 20:11:53 1998 Koji Arai <[email protected]>

sample/ruby-mode.el

wrong highlight.

parse.y (parse_regx)

newline in regexp was ignored.

1998-11-11

Wed Nov 11 10:54:57 1998 Yukihiro Matsumoto <[email protected]>

parse.y (here_document)

<<'FOO' should not escape anything.

parse.y (here_document)

bare << here-doc available, even though it's deprecated.

file.c (rb_file_s_readlink)

return value should be tainted.

ext/etc/etc.c (setup_passwd)

information (eg. GCOS name) should be tainted (modified at Perl Conference).

1998-11-10

Tue Nov 10 00:22:11 1998 EGUCHI Osamu <[email protected]>

configure.in

elf support for FreeBSD 3.x

Tue Nov 10 00:05:43 1998 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

here document available in eval.

1998-11-09

Mon Nov 9 17:55:19 1998 Yukihiro Matsumoto <[email protected]>

1998-11-06

Fri Nov 6 19:25:27 1998 Takao KAWAMURA <[email protected]>

sample/ruby-mode.el

font-lock patch.

1998-11-05

Thu Nov 5 15:42:22 1998 Yukihiro Matsumoto <[email protected]>

sample/README, lib/README

simple description for each file.

1998-11-04

Wed Nov 4 18:14:19 1998 Yukihiro Matsumoto <[email protected]>

eval.c (assign)

attribute assignment should be called as public.

1998-11-03

Tue Nov 3 23:36:39 1998 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_dump)

dumps core for negative char value.

regex.c (re_compile_pattern)

out of boundary access for empty regexp.

1998-11-02

Mon Nov 2 22:54:01 1998 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_aset)

`str' replaces first match.

Mon Nov 2 18:24:33 1998 Yukihiro Matsumoto <[email protected]>

eval.c (thread_create)

was accessing modified status.

1998-11-01

Sun Nov 1 01:18:52 1998 EGUCHI Osamu <[email protected]>

gc.c (xrealloc)

size 0 needs round up to 1.

1998-10-31

Sat Oct 31 23:18:34 1998 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_split_method)

negative LIMIT means number of split fields are unlimited, as in perl.

string.c (rb_str_split_method)

if LIMIT is unspecified, trailing null fields are stripped.

Sat Oct 31 04:16:14 1998 Inaba Hiroto <[email protected]>

string.c (str_aref)

regexp index SEGVed.

1998-10-30

Fri Oct 30 14:33:47 1998 Yukihiro Matsumoto <[email protected]>

re.c (reg_match)

returns nil for unmatch.

dir.c (dir_entries)

new method.

eval.c (block_pass)

do not push block, substitute it.

Fri Oct 30 01:28:52 1998 Yukihiro Matsumoto <[email protected]>

range.c (range_check)

avoid <=> check for Fixnums.

array.c (rb_ary_aset)

accept negative index.

1998-10-28

Wed Oct 28 22:00:54 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

access out of boundary fixed.

Wed Oct 28 11:37:42 1998 TAMITO <[email protected]>

io.c (f_select)

fd number comparison bug.

1998-10-27

Tue Oct 27 23:07:11 1998 Yukihiro Matsumoto <[email protected]>

sample/ruby-mode.el (ruby-parse-region)

forgot to support %w() style array literal.

eval.c (rb_eval)

unused block raises warning.

1998-10-26

Mon Oct 26 09:37:53 1998 Yukihiro Matsumoto <[email protected]>

eval.c (dvar_asgn_push)

dvar pushed too many times if variable-in-block first appear in loops.

1998-10-25

Sun Oct 25 22:59:27 1998 Yukihiro Matsumoto <[email protected]>

regex.c (set_list_bits)

was using wrong offset.

1998-10-22

Thu Oct 22 00:07:11 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_obj_method)

method retrieved from tainted object should be tainted too.

eval.c (method_call)

safe_level should be restored during Method#call.

1998-10-21

Wed Oct 21 14:21:06 1998 Yukihiro Matsumoto <[email protected]>

io.c (Init_IO)

new constants IO::SEEK_{SET,CUR,END}.

io.c (rb_f_ungetc)

ungetc pushes a char back into STDIN.

1998-10-19

Mon Oct 19 11:50:00 1998 Motoyuki Kasahara <[email protected]>

ext/extmk.rb

Load '@top_srcdir@/lib/find.rb', not '../lib/find.rb'.

ext/extmk.rb

Distinguish between `top_srcdir' and `topdir'.

Makefile.in (CFLAGS)

Add `-I.'.

Makefile.in (lex.c)

Give `@srcdir@/keywords' to gperf, not `keywords'.

instruby.rb

Use `CONFIG', instead of `prefix + “/bin”'.

instruby.rb

Use `CONFIG', instead of `prefix + “/lib”'.

instruby.rb (wdir)

Add the variable to preserve the current working directory.

instruby.rb

Chdir to wdir before install `config.h' and `rbconfig.rb'.

Mon Oct 19 10:07:01 1998 EGUCHI Osamu <[email protected]>

eval.c (rb_eval)

reduce recursive calls to rb_eval().

1998-10-16

Fri Oct 16 15:31:45 1998 Yukihiro Matsumoto <[email protected]>

time.c (time_new_internal)

timeval must be positive.

1998-10-15

Thu Oct 15 13:54:48 1998 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

local variables can be accessed within right side expression in assignment, notably in blocks.

1998-10-14

Wed Oct 14 00:18:33 1998 Yukihiro Matsumoto <[email protected]>

array.c (Init_Array)

Array#=== is now for equal check, not inclusion check.

parse.y (when_args)

`when a, *b' style new syntax for array expansion in `case'.

1998-10-13

Tue Oct 13 14:30:32 1998 Yukihiro Matsumoto <[email protected]>

object.c (rb_obj_untaint)

taint marks can be unset.

eval.c (rb_eval)

taint propagation for embedded strings.

1998-10-12

Mon Oct 12 13:27:15 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call0)

check stack depth more frequently.

Mon Oct 12 08:08:30 1998 Yukihiro Matsumoto <[email protected]>

io.c (rb_p)

can print even in secure mode.

1998-10-11

Sun Oct 11 22:50:13 1998 Yukihiro Matsumoto <[email protected]>

variable.c (rb_const_set)

taint check for modification.

variable.c (rb_ivar_set)

taint check for modification.

string.c (rb_str_modify)

taint check for modification.

hash.c (rb_hash_modify)

taint check for modification.

array.c (rb_ary_modify)

taint check for modification.

ruby.h (FL_TAINT)

taint for all objects, not only strings.

1998-10-09

Fri Oct 9 17:01:14 1998 Yukihiro Matsumoto <[email protected]>

io.c (read_all)

read() returns “” at immediate EOF.

io.c (io_read)

read(nil) read all until EOF.

1998-10-08

Thu Oct 8 13:32:13 1998 Yukihiro Matsumoto <[email protected]>

time.c (time_dump)

marshal can dump Time object now.

marshal.c (Init_marshal)

rename marshal methods `_dump_to' to `_dump', `_load_from' to `_load'.

parse.y (rb_intern)

“+=”.intern generates proper symbol.

1998-10-05

Mon Oct 5 18:31:53 1998 Yukihiro Matsumoto <[email protected]>

1998-10-02

Fri Oct 2 14:22:33 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

`/s*(–)$/ =~ “- –”' did not match, because of wrong optimize condition.

1998-10-01

Mon Oct 1 01:55:16 1998 Yukihiro Matsumoto <[email protected]>

parse.y (rb_intern)

should not raise exceptions.

parse.y (yylex)

symbol like `:foo?=' should not be allowed.

ext/extmk.rb.in

makes *.a for static link modules.

1998-09-30

Wed Sep 30 14:13:06 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_start)

supports making a subclass of the Thread class.

1998-09-29

Tue Sep 29 17:46:01 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_thread_join)

join is now an instance method.

1998-09-25

Fri Sep 25 12:01:19 1998 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

`@foo!' should be an error.

1998-09-24

Thu Sep 24 14:55:06 1998 WATANABE Tetsuya <[email protected]>

ext/etc/etc.c (Init_etc)

wrong field definition.

1998-09-17

Thu Sep 17 17:09:05 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_reopen)

was creating FILE* for wrong fd.

1998-09-15

Tue Sep 15 05:28:11 1998 Koji Arai <[email protected]>

regex.c (re_compile_pattern)

forgot to fixup for the pattern like (?=(A)|(B)).

Tue Sep 15 01:06:08 1998 Yukihiro Matsumoto <[email protected]>

io.c (rb_io_gets_internal)

do not set $_ by default, only gets/readline set the variable.

eval.c (rb_f_load)

load toplevel class is set to anonymous module if safe_level >= 5, to encapsulate modification.

eval.c (rb_f_load)

set frame properly.

string.c (rb_str_each_line)

do not set $_.

1998-09-14

Mon Sep 14 14:42:27 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

beginning and end of the string, do not automatically match `b'.

string.c (scan_once)

consume at least on character.

regex.c (re_search)

wrong behavior for negative range.

1998-09-12

Sat Sep 12 21:21:26 1998 Koji Arai <[email protected]>

regex.c (re_search)

range value should be maintained.

1998-09-10

Thu Sep 10 10:55:00 1998 Yukihiro Matsumoto <[email protected]>

parse.y (backref_error)

yyerror does not understand formats.

1998-09-08

Tue Sep 8 18:05:33 1998 Yukihiro Matsumoto <[email protected]>

Tue Sep 8 10:03:39 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_each_line)

wrong line splitting with newline at top of the string.

string.c

non bang methods return copied string.

eval.c (f_END)

needed to initialize frame->argc;

1998-09-04

Fri Sep 4 11:27:40 1998 Yukihiro Matsumoto <[email protected]>

bignum.c (bigadd)

proper sign combination.

regex.c (re_search)

wrong return value for A.

1998-09-03

Thu Sep 3 14:08:14 1998 Yukihiro Matsumoto <[email protected]>

1998-09-01

Tue Sep 1 10:47:16 1998 Yukihiro Matsumoto <[email protected]>

regex.c (slow_search)

do not compare llen and blen. llen may be longer than blen, if little contains 0xff.

regex.c (mbctab_euc)

set 0x8e as multibyte character.

string.c (str_inspect)

mask character for octal output.

1998-08-31

Mon Aug 31 15:32:41 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

use calculated offset if exactn is the first opcode in the compiled regexp.

regex.c (bm_search)

use Boyer-Moore search for simple search.

regex.c (must_instr)

wrong length check if pattern includes byte escape by 0xff.

regex.c (re_compile_pattern)

need not to check current_mbctype.

1998-08-29

Sat Aug 29 16:31:40 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_check_safe_str)

avoid calling rb_id2name() in normal cases to speed-up.

eval.c (thread_raise)

do not save context of terminated thread.

regex.c (re_compile_pattern)

mask nnn over 256.

Sat Aug 29 02:09:46 1998 Koji Arai <[email protected]>

sprintf.c (f_sprintf)

wrong buffer size check.

1998-08-28

Fri Aug 28 01:57:04 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

accepts (?ix-ix) and (?ix-ix:…).

Fri Aug 28 12:25:33 1998 Hiroshi Igarashi <[email protected]>

ruby.c (ruby_require_modules)

load modules in appearing order.

Fri Aug 28 01:57:04 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

accepts (?ix-ix) and (?ix-ix:…).

1998-08-27

Thu Aug 27 12:54:28 1998 Yukihiro Matsumoto <[email protected]>

1998-08-26

Wed Aug 26 14:40:56 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

check whether ruby_class is properly set, before accessing it.

eval.c (rb_obj_instance_eval)

ruby_class should be Qnil for special objects like Fixnums.

ext/tkutil/tkutil.c (Init_tkutil)

removes calls to rb_yield_0(). used instance_eval() instead in the tk.rb.

Wed Aug 26 11:47:00 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

pop non-greedy stack elements on success.

Wed Aug 26 09:25:35 1998 WATANABE Hirofumi <[email protected]>

ruby.h

add define environ for cygwin32.

1998-08-25

Tue Aug 25 08:57:41 1998 Yukihiro Matsumoto <[email protected]>

array.c (rb_ary_sort_bang)

temporarily freeze sorting array.

1998-08-24

Mon Aug 24 18:46:44 1998 WATANABE Hirofumi <[email protected]>

dln.c (dln_find_1)

path check was too strict.

Mon Aug 24 15:28:11 1998 WATANABE Hirofumi <[email protected]>

parse.y (f_arglist)

opt_nl added after f_args.

1998-08-21

Fri Aug 21 01:06:01 1998 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c

grand renaming on socket.c.

ext/socket/socket.c (inet_aton)

supply inet_aton for those systems that do not have it.

ext/socket/socket.c (setipaddr)

use inet_aton instead of inet_addr.

ext/socket/socket.c (tcp_s_gethostbyname)

new method: works like Socket.gethostbyname but returning array contains ip-addrs as octet decimal string format like “127.0.0.1”.

ext/socket/socket.c (mkhostent)

return format changed to [host, aliases, type, ipaddr..] as documented.

1998-08-19

Wed Aug 19 00:31:09 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_ctl)

forgot to place TRAP_END at right position.

1998-08-14

Fri Aug 14 11:01:47 1998 Yukihiro Matsumoto <[email protected]>

eval.c (call_trace_func)

save __FILE__, __LINE__ before executing trace_func, since trace function should not corrupt line number information.

1998-08-13

Thu Aug 13 15:09:02 1998 Yukihiro Matsumoto <[email protected]>

array.c (ary_s_new)

was marking unallocated region on GC.

1998-08-11

Tue Aug 11 11:57:35 1998 Yukihiro Matsumoto <[email protected]>

1998-08-10

Mon Aug 10 14:05:30 1998 Yukihiro Matsumoto <[email protected]>

process.c (f_system)

removed fflush(stdin).

1998-08-07

Fri Aug 7 17:44:44 1998 Yukihiro Matsumoto <[email protected]>

error.c (err_snprintf)

replace sprintf for fixed sized buffer, with snprintf to avoid buffer over-run. For systems which does dot provide snprintf, missing/snprintf.c added.

1998-08-05

Wed Aug 5 00:47:35 1998 Yukihiro Matsumoto <[email protected]>

re.c (rb_reg_search)

recycle match object.

1998-08-03

Mon Aug 3 09:17:55 1998 Yukihiro Matsumoto <[email protected]>

string.c (rb_str_gsub_bang)

do not allocate temporary string.

string.c (rb_str_sub_bang)

use inline replace.

1998-07-29

Wed Jul 29 00:36:08 1998 Yukihiro Matsumoto <[email protected]>

hash.c (hash_s_new)

the default value can be specified.

hash.c (hash_default)

method to set the default value.

hash.c (hash_aref)

now returns the default value.

1998-07-28

Tue Jul 28 13:03:25 1998 Yukihiro Matsumoto <[email protected]>

array.c (ary_s_new)

argument to specify initial value is added.

array.c (ary_s_new)

specifies size, not capacity.

1998-07-27

Mon Jul 27 12:39:34 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_replace)

zero fill for expansion gap.

regex.c (mbctab_euc)

set flags on for 0xA1-0xFE. suggested by <[email protected]>.

string.c (str_inspect)

consider current_mbctype.

1998-07-26

Sun Jul 26 15:37:11 1998 Tadayoshi Funaba <[email protected]>

array.c (ary_s_new)

Array.new(1<<30) dumps core.

1998-07-24

Fri Jul 24 13:40:19 1998 Yukihiro Matsumoto <[email protected]>

Fri Jul 24 02:10:22 1998 Yukihiro Matsumoto <[email protected]>

marshal.c (r_bytes2)

allocated buffer size was too short.

marshal.c (w_object)

saves all options, not only casefold flag.

re.c (reg_clone)

now copies options properly.

re.c (reg_get_kcode)

code number was wrong.

1998-07-23

Thu Jul 23 13:11:32 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_attr)

argument should be symbol or string.

1998-07-22

Wed Jul 22 11:59:34 1998 Yukihiro Matsumoto <[email protected]>

regex.c (calculate_must_string)

wrong offset added.

Wed Jul 22 11:59:59 1998 Yukihiro Matsumoto <[email protected]>

st.c (rehash)

still had a GC problem. fixed.

1998-07-21

Tue Jul 21 13:19:30 1998 Yukihiro Matsumoto <[email protected]>

eval.c (gc_mark_threads)

crashed on GC before thread allocation.

st.c (rehash)

GC during rehash caused SEGV.

Tue Jul 21 01:25:10 1998 Yukihiro Matsumoto <[email protected]>

sprintf.c (f_sprintf)

integer formatter totally re-written.

sprintf.c (remove_sign_bits)

support uppercase hexadecimal.

1998-07-18

Sat Jul 18 00:14:13 1998 Yukihiro Matsumoto <[email protected]>

sprintf.c (f_sprintf)

proper sign position for %X and %O.

1998-07-17

Fri Jul 17 14:10:20 1998 Yukihiro Matsumoto <[email protected]>

Fri Jul 17 08:01:49 1998 Tadayoshi Funaba <[email protected]>

process.c (f_exec)

Check_SafeStr() added.

process.c (f_system)

Check_SafeStr() moved before fork().

1998-07-16

Thu Jul 16 22:58:48 1998 Yukihiro Matsumoto <[email protected]>

string.c (scan_once)

substrings to the block should not be tainted. use reg_nth_match(), not str_substr().

string.c (str_substr)

needed to transfer taint.

Thu Jul 16 16:15:57 1998 Yukihiro Matsumoto <[email protected]>

gc.c (xmalloc)

object allocation count added to GC trigger.

eval.c (thread_save_context)

avoid marking uninitialized stack in thread_mark. GC may be triggered by REALLOC_N().

1998-07-15

Wed Jul 15 15:11:57 1998 Yukihiro Matsumoto <[email protected]>

Wed Jul 15 15:05:27 1998 Yukihiro Matsumoto <[email protected]>

eval.c (thread_create)

exit() and abort() in threads now forwarded to main_thread.

1998-07-14

Tue Jul 14 14:03:47 1998 Yukihiro Matsumoto <[email protected]>

variable.c (obj_instance_variables)

list names that is not instance variables.

gc.c (GC_MALLOC_LIMIT)

choose smaller limit value.

1998-07-13

Mon Jul 13 12:39:38 1998 Yukihiro Matsumoto <[email protected]>

object.c (str2cstr)

should not return NULL.

1998-07-10

Fri Jul 10 11:51:46 1998 Yukihiro Matsumoto <[email protected]>

parse.y (gettable)

needed to add dyna_in_block() check.

1998-07-09

Thu Jul 9 17:38:23 1998 Yukihiro Matsumoto <[email protected]>

Thu Jul 9 16:01:48 1998 Yukihiro Matsumoto <[email protected]>

sprintf.c (fmt_setup)

format specifier for long needed.

sprintf.c (f_sprintf)

ditto.

numeric.c (fix2str)

ditto.

eval.c (thread_create)

no more ITIMER_REAL.

eval.c (thread_create)

thread finalization needed before aborting thread if thread_abort is set.

1998-07-08

Wed Jul 8 18:17:33 1998 Yukihiro Matsumoto <[email protected]>

bignum.c (big_pow)

abandon power by bignum (too big).

1998-07-07

Tue Jul 7 13:58:43 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_catch)

add C level catch/throw feature.

1998-07-06

Mon Jul 6 15:18:09 1998 Yukihiro Matsumoto <[email protected]>

parse.y (arg)

proper return values for `||=' and `&&='.

1998-07-03

Fri Jul 3 16:05:11 1998 Yukihiro Matsumoto <[email protected]>

Fri Jul 3 11:20:46 1998 Yukihiro Matsumoto <[email protected]>

marshal.c (r_byte)

byte should not extend sign bit.

numeric.c (fix_mul)

use FIX2LONG() instead of FIX2INT() for 64bit architectures.

marshal.c (r_bytes)

remove weird casting between pointer and int.

process.c (proc_setsid)

new method Process#setsid().

1998-07-02

Thu Jul 2 12:49:21 1998 Yukihiro Matsumoto <[email protected]>

marshal.c (w_object)

remove `write_bignum' label for 64bit architectures.

marshal.c (r_bytes)

needs int, not long.

1998-07-01

Wed Jul 1 14:21:06 1998 Yukihiro Matsumoto <[email protected]>

numeric.c (flo_plus)

should not allow addition with strings.

Wed Jul 1 13:09:01 1998 Keiju ISHITSUKA <[email protected]>

numeric.c (num_uminus)

wrong coerce direction.

1998-06-30

Tue Jun 30 10:13:44 1998 Yukihiro Matsumoto <[email protected]>

io.c (f_p)

accepts arbitrary number of arguments.

eval.c (rb_yield_0)

there's some case that iterator_p() returns true even if the_block was not set. check added.

Tue Jun 30 01:05:20 1998 Yukihiro Matsumoto <[email protected]>

eval.c (BEGIN_CALLARGS)

adjust the_block before evaluating the receiver's value and the arguments.

1998-06-26

Fri Jun 26 18:02:50 1998 Yukihiro Matsumoto <[email protected]>

Fri Jun 26 11:01:26 1998 WATANABE Hirofumi <[email protected]>

string.c (str_aset_method)

needed to convert to string.

1998-06-25

Thu Jun 25 02:05:50 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

optimize for `.*' at beginning of the pattern.

regex.c (re_search)

optimize for character class repeat at beginning of the pattern.

regex.c (re_compile_pattern)

detect optimization potential for the compiled patterns.

Thu Jun 25 00:02:26 1998 WATANABE Hirofumi <[email protected]>

re.c (reg_s_new)

flag value was wrong.

1998-06-24

Wed Jun 24 23:45:06 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_search)

wrong anchor handling for reverse search.

Wed Jun 24 02:18:57 1998 Yukihiro Matsumoto <[email protected]>

parse.y (mlhs)

`((a,b)),c = [[1,2]],3' assigns a=1,b=2,c=3.

1998-06-23

Tue Jun 23 11:46:16 1998 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

`&&=' and `||=' added.

1998-06-20

Sat Jun 20 02:53:50 1998 Yukihiro Matsumoto <[email protected]>

parse.y (assignable)

nesting local variables should have higher priority than normal local variables for assignment too.

1998-06-19

Fri Jun 19 18:28:19 1998 Yukihiro Matsumoto <[email protected]>

Fri Jun 19 14:34:49 1998 Yukihiro Matsumoto <[email protected]>

eval.c (assign)

support hack for nested multiple assignment.

parse.y (mlhs)

nested multiple assignment.

eval.c (rb_eval)

in-block variables now honors static scope.

configure.in

RSHIFT check moved to configure.

1998-06-18

Thu Jun 18 16:46:04 1998 Yukihiro Matsumoto <[email protected]>

Thu Jun 18 13:37:19 1998 Yukihiro Matsumoto <[email protected]>

file.c (file_s_ftype)

uses lstat(2) instead of stat(2).

dir.c (dir_s_glob)

there can be buffer overrun, check added.

eval.c (f_binding)

handles in-block variables declared after binding's generation.

numeric.c (flo_floor)

floor, ceil, round added to Float.

1998-06-17

Wed Jun 17 11:20:00 1998 Yukihiro Matsumoto <[email protected]>

parse.y (gettable)

nesting local variables should have higher priority than normal local variables.

1998-06-16

Tue Jun 16 12:30:46 1998 Yukihiro Matsumoto <[email protected]>

bignum.c (str2inum)

handles `+ddd'.

struct.c (make_struct)

name parameter can be nil for unnamed structures.

1998-06-15

Mon Jun 15 16:30:10 1998 Yukihiro Matsumoto <[email protected]>

object.c (class_s_inherited)

prohibiting to make subclass of class Class.

object.c (module_s_new)

support for making subclass of Module.

parse.y (yycompile)

clear eval_tree before compiling.

1998-06-12

Fri Jun 12 17:58:18 1998 Yukihiro Matsumoto <[email protected]>

eval.c (eval)

write back the_dyna_var into the block.

1998-06-11

Thu Jun 11 18:19:18 1998 Yukihiro Matsumoto <[email protected]>

eval.c (dvar_add_compiling)

register dyna_var at compile time.

regex.c (re_compile_pattern)

RE_DUP_MAX iteration is too big.

1998-06-10

Wed Jun 10 15:12:04 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_eof)

do not block other threads.

signal.c (trap)

reserve SIGALRM for thread.

eval.c (thread_create)

use ITIMER_REAL also to avoid system call blocking.

io.c (f_syscall)

add TRAP_BEG, TRAP_END around system calls.

io.c (io_ctl)

add TRAP_BEG, TRAP_END around system calls.

enum.c (enum_collect)

did not collect false values.

array.c (ary_new2)

forgot to initialize capa field.

1998-06-09

Tue Jun 9 18:36:15 1998 WATANABE Hirofumi <[email protected]>

string.c (str_split_method)

split dumped core for “xff”.

Tue Jun 9 16:22:12 1998 Yukihiro Matsumoto <[email protected]>

Tue Jun 9 16:04:07 1998 WATANABE Hirofumi <[email protected]>

ext/kconv/kconv.c (kconv_guess)

more precise decision for EUC, using jless algorithm (3 sequential EUC hiragana characters).

Tue Jun 9 15:12:44 1998 Yukihiro Matsumoto <[email protected]>

ext/kconv/kconv.c (kconv_guess)

wrong guess for EUC as SJIS in some cases (0xe0 - 0xef).

gc.c (xmalloc)

insert size check for big (negative in signed) allocation size.

Tue Jun 9 02:54:51 1998 Yukihiro Matsumoto <[email protected]>

lib/parsedate.rb

wday moved to the last in the return values.

1998-06-08

Mon Jun 8 10:40:16 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_split_method)

split dumped core for “0”.

1998-06-06

Sat Jun 6 22:50:52 1998 Yukihiro Matsumoto <[email protected]>

regex.c (calculate_must_string)

wrong condition for {start,stop}_nowidth.

regex.c (re_match)

various features imported from GNU regex.c 0.12, such as nested grouping, avoiding infinite loop with empty match, etc.

regex.c (register_info_type)

now use union.

regex.c (re_search)

more precise anchor(^) check.

1998-06-03

Wed Jun 3 18:07:54 1998 Yukihiro Matsumoto <[email protected]>

re.c (reg_raise)

check rb_in_compile, not rb_in_eval.

1998-06-02

Tue Jun 2 16:00:12 1998 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (udp_addrsetup)

error check enhanced.

ext/socket/socket.c (sock_s_getservbyaname)

use strtoul(), if possible.

1998-06-01

Mon Jun 1 05:26:06 1998 WATANABE Tetsuya <[email protected]>

string.c (trnext)

casting to signed char* needed.

1998-05-30

Sat May 30 07:10:02 1998 Yukihiro Matsumoto <[email protected]>

re.c (reg_prepare_re)

no more needless regular expression recompile on casefold conditions.

1998-05-28

Thu May 28 18:02:55 1998 Yukihiro Matsumoto <[email protected]>

object.c (nil_plus)

no more `+' method for nil.

1998-05-27

Wed May 27 17:33:46 1998 Yukihiro Matsumoto <[email protected]>

hash.c (hash_fetch)

new method.

regex.c (re_search)

check whether translate table is set.

1998-05-26

Tue May 26 11:39:50 1998 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

no UPLUS/UMINUS for 1st argument if parenthesises are omitted.

Tue May 26 01:09:55 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

(?XI) for turns off the corresponding option.

1998-05-25

Mon May 25 12:38:56 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

inline i option (?i).

regex.c (re_compile_pattern)

inline x option (?x).

regex.c (re_compile_pattern)

x option for regexp.

dir.c (dir_s_open)

returns block's evaluated value.

io.c (f_open)

returns block's evaluated value.

ext/curses/curses.c (curses_addstr)

nil argument caused SEGV.

1998-05-22

Fri May 22 11:52:45 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

push mark on (?:), so that laststart check for {a,b} can be done.

1998-05-21

Thu May 21 17:31:16 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_match)

wrong match (too non-greedy) for `{a,b}?'.

io.c (io_lineno)

new method IO#lineno, IO#lineno=.

1998-05-20

Wed May 20 06:04:43 1998 MAEDA shugo <[email protected]>

Wed May 20 16:32:19 1998 Yukihiro Matsumoto <[email protected]>

bignum.c (BIGDN)

use RSHIFT(), instead of mere `>>'.

1998-05-19

Tue May 19 16:36:26 1998 Yukihiro Matsumoto <[email protected]>

Tue May 19 16:31:57 1998 Yukihiro Matsumoto <[email protected]>

parse.y (assignable)

specification changed for in-block variable definition.

eval.c (dyna_var_asgn)

error in in-block variables' compile time definition.

parse.y (str_extend)

wrong nesting detection.

Tue May 19 09:47:55 1998 WATANABE Hirofumi <[email protected]>

numeric.c (num2int)

re-defined (extensions may use this).

1998-05-18

Mon May 18 16:40:50 1998 MAEDA shugo <[email protected]>

error.c (get_syserr)

BeOS support.

configure.in

modified for BeOS.

string.c (str_dump)

do not call isascii().

sprintf.c (remove_sign_bits)

forgot to initialize end pointer.

glob.c

include <alloca.h> added.

Mon May 18 14:52:21 1998 Yukihiro Matsumoto <[email protected]>

Mon May 18 03:27:57 1998 MAEDA shugo <[email protected]>

file.c (file_s_expand_path)

optional second argument `default_directory' added.

1998-05-16

Sat May 16 22:06:52 1998 WATANABE Hirofumi <[email protected]>

error.c (RAISE_ERROR)

wrong error message

1998-05-15

Fri May 15 14:43:25 1998 Yukihiro Matsumoto <[email protected]>

1998-05-14

Thu May 14 14:44:21 1998 WATANABE Hirofumi <[email protected]>

Thu May 14 14:03:16 1998 Yukihiro Matsumoto <[email protected]>

random.c (RANDOM_MAX)

guessing proper maximum value for random numbers.

random.c (f_rand)

use drand48 if possible.

1998-05-13

Wed May 13 19:05:20 1998 MAEDA shugo <[email protected]>

Wed May 13 14:56:23 1998 Yukihiro Matsumoto <[email protected]>

error.c (err_append)

generated SyntaxError was String.

ruby.h

xxx2INT, xxx2UINT checks values as int, not long.

ruby.h

remove typedef's. INT, UINT, UCHAR, USHORT.

1998-05-12

Tue May 12 17:38:00 1998 Yukihiro Matsumoto <[email protected]>

Tue May 12 11:38:08 1998 Yukihiro Matsumoto <[email protected]>

error.c (syserr_errno)

returns errno of the SystemCallError.

error.c (rb_sys_fail)

saves errno in the Exception.

error.c (set_syserr)

no need to protect syserr_list.

error.c (rb_sys_fail)

no more bufsize limit.

error.c (set_syserr)

integer value of errno can be accessed by Errno::EXXX::Errno.

1998-05-10

Sun May 10 03:10:33 1998 WATANABE Tetsuya <[email protected]>

io.c (io_tell etc.)

moved from File class to IO class.

1998-05-08

Fri May 8 12:26:37 1998 Yukihiro Matsumoto <[email protected]>

pack.c (pack_unpack)

should be unsigned int (was signed int).

1998-05-07

Thu May 7 16:34:10 1998 Yukihiro Matsumoto <[email protected]>

pack.c (pack_pack)

`V', `N' uses newly created NUM2UINT().

ruby.h (NUM2UINT)

new macro.

bignum.c (big2uint)

try to convert bignum into UINT.

re.c (reg_match)

needed to return false for match with nil.

gc.c (obj_free)

wrong condition to free string.

1998-05-06

Wed May 6 21:08:08 1998 WATANABE Hirofumi <[email protected]>

ruby.c (ruby_process_options)

modified for DJGPP.

Wed May 6 15:48:03 1998 Yukihiro Matsumoto <[email protected]>

Wed May 6 01:37:39 1998 Yukihiro Matsumoto <[email protected]>

eval.c

remove global variable `errat'.

eval.c (rb_longjmp)

embed error position information in the exception object.

1998-05-02

Sat May 2 12:20:02 1998 Yukihiro Matsumoto <[email protected]>

re.c (reg_search)

supports reverse search.

string.c (str_index_method)

does update $~ etc.

eval.c (f_load)

needed to clear the_dyna_vars.

eval.c (dyna_var_asgn)

do not push dyna_var, which is id == 0.

error.c (Init_Exception)

NotImplementError is no longer StandardError, which is not handled by default rescue.

1998-05-01

Fri May 1 00:35:51 1998 Yukihiro Matsumoto <[email protected]>

ruby.c (proc_options)

`-d' turns on verbose flag too.

error.c (exception)

last argument may be the superclass of the defining exception(s).

io.c (Init_IO)

EOFError is now subclass of the IOError.

io.c (Init_IO)

forgot to define IOError.

error.c (Init_Exception)

old Exception class renamed to StandardError. Exception now replaces old GlobalExit.

error.c (Init_Exception)

Exception is now the root of the Global Exits. There's no longer GlobalExit class.

util.c (ruby_mktemp)

check TMP, TMPDIR first.

1998-04-30

Thu Apr 30 01:08:35 1998 Yukihiro Matsumoto <[email protected]>

lib/tk.rb

call 'unknown', if proc not defined.

eval.c (handle_rescue)

default rescue handles `Exceptional' not only the instance of the `Exception's.

eval.c (f_raise)

exception can be any object.

time.c (time_gm_or_local)

call time_gmtime or time_localtime.

eval.c (f_raise)

raises TypeError if the class which is not a subclass of String is specified (checked in exc_new()).

error.c (exc_new)

need to check whether invalid class (not a subclass of String) is specified.

1998-04-29

Wed Apr 29 21:05:44 1998 WATANABE Hirofumi <[email protected]>

ruby.c (proc_options)

option '-e' via tempfile.

1998-04-28

Tue Apr 28 15:27:58 1998 Yukihiro Matsumoto <[email protected]>

Tue Apr 28 00:07:38 1998 Yukihiro Matsumoto <[email protected]>

eval.c (obj_is_proc)

type check predicate.

eval.c (obj_is_block)

ditto.

1998-04-27

Mon Apr 27 16:59:17 1998 Yukihiro Matsumoto <[email protected]>

ext/gtk/gtk.c (Init_gtk)

use timeout, not idle to avoid consuming CPU too much.

lib/tk.rb

use tcltklib#_invoke instead of `_eval'.

Mon Apr 27 16:59:17 1998 Yukihiro Matsumoto <[email protected]>

array.c (ary_sort)

use dup, not clone.

Mon Apr 27 13:46:27 1998 Tadahiro Maebashi <[email protected]>

ext/tcltklib/tcltklib.c (ip_invoke)

invoke tcl command directly. need not worry about escaping tcl characters.

Mon Apr 27 12:04:43 1998 Yukihiro Matsumoto <[email protected]>

random.c (f_rand)

do not call srand() implicitly.

1998-04-24

Fri Apr 24 14:35:45 1998 Yukihiro Matsumoto <[email protected]>

parse.y (assignable)

dyna_var_asgn actually defines nested local variables in outer context.

random.c (f_rand)

call srand(), if it has not called yet.

random.c (f_srand)

use tv_usec as the default seed.

eval.c (rb_eval)

values of nested local variables should be independent.

eval.c (rb_yield_0)

local variables wrong nested conditions.

1998-04-22

Wed Apr 22 23:27:17 1998 Yukihiro Matsumoto <[email protected]>

io.c (select_get_io)

get IO object by `to_io'.

io.c (io_to_io)

method to retrieve IO object, from delegating object for example.

Wed Apr 22 16:52:37 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_modify)

check for embedded pointer reference.

gc.c (obj_free)

ditto.

pack.c (pack_pack)

p/P template to embed pointers.

Wed Apr 22 00:07:10 1998 Tadayoshi Funaba <[email protected]>

array.c (ary_rindex)

embarrassing typo.

1998-04-21

Tue Apr 21 12:31:48 1998 Yukihiro Matsumoto <[email protected]>

configure.in (RUBY_LIB)

supports –program-{prefix,suffix}.

array.c (ary_rindex)

new method.

io.c (io_binmode)

should return self.

Tue Apr 21 08:23:04 1998 Tadayoshi Funaba <[email protected]>

parse.y (here_document)

calling parse_string with wrong arguments.

struct.c (struct_aset)

problem member assignment with name.

1998-04-20

Mon Apr 20 14:47:49 1998 Yukihiro Matsumoto <[email protected]>

time.c (time_arg)

args may be string (support for reduced implicit type conversion).

lib/base64.rb

changed to use pack/unpack with `m' template.

Mon Apr 20 06:23:20 1998 Yukihiro Matsumoto <[email protected]>

variable.c (mod_remove_const)

new method.

1998-04-18

Sat Apr 18 03:53:27 1998 Yukihiro Matsumoto <[email protected]>

hash.c (hash_each_with_index)

removed. use Enumerable's each_with_index instead.

class.c (rb_include_module)

check for super modules, since module's included modules may be changed.

1998-04-17

Fri Apr 17 21:50:47 1998 WATANABE Hirofumi <[email protected]>

marshal.c (r_long)

r_byte() may return signed byte.

Fri Apr 17 11:58:30 1998 NAGAI Hidetoshi <[email protected]>

ext/tcltklib/tcltklib.c (lib_mainloop)

thread and interrupt check.

Fri Apr 17 11:06:30 1998 Yukihiro Matsumoto <[email protected]>

eval.c (find_file)

try to fopen() to check whether file exists.

ruby.c (load_file)

ditto.

struct.c (struct_aset)

struct member can be set by member name.

Fri Apr 17 00:47:19 1998 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in

added m68k-human support

file.c (LOCK_SH)

defines moved.

array.c (ary_flatten_bang)

simplified loop.

1998-04-16

Thu Apr 16 16:52:01 1998 Yukihiro Matsumoto <[email protected]>

lib/tk.rb

thread support (experimental - maybe slow).

eval.c (rb_longjmp)

trace event on exception in raising context, just before raising exception.

struct.c (struct_s_members)

forgot to check singletons.

struct.c (struct_aref)

members can be accessed by names too.

array.c (ary_flatten)

new method.

eval.c (rb_longjmp)

prints exception information with `-d'.

object.c (any_to_s)

remove class name restriction.

Thu Apr 16 01:38:02 1998 Yukihiro Matsumoto <[email protected]>

file.c (thread_flock)

do not block other threads.

eval.c (thread_trap_eval)

signals are now delivered to the current thread again. In case that the current thread is dead, signals are forwarded to the main thread.

string.c (str_new4)

need not to duplicate frozen strings.

1998-04-15

Wed Apr 15 08:33:47 1998 Tadayoshi Funaba <[email protected]>

struct.c (struct_inspect)

remove restriction for struct names.

Wed Apr 15 02:55:02 1998 Kazuya 'Sharl' Masuda <sharl@www.ufo.co.jp>

Wed Apr 15 01:22:56 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_dup_frozen)

do not duplicate frozen strings.

parse.y (yylex)

allow nested parenthesises.

io.c (obj_displayln)

prints newline after `display'ing the receiver.

io.c (io_puts)

avoid generating “n” each time. use RS_default instead.

io.c (f_p)

ditto.

1998-04-14

Tue Apr 14 22:18:17 1998 Tadayoshi Funaba <[email protected]>

struct.c (struct_aref)

should not subtract negative index.

Tue Apr 14 11:34:50 1998 Yukihiro Matsumoto <[email protected]>

parse.y

token names prefixed by `t'.

struct.c (struct_s_def)

supports subclassing of Struct.

io.c (io_s_new)

supports subclassing of IO.

1998-04-13

Mon Apr 13 11:07:39 1998 Yukihiro Matsumoto <[email protected]>

eval.c (f_binding)

need to restore method name.

eval.c (rb_call0)

raises SystemStackError, not Fatal.

io.c (obj_display)

same as `print self'.

io.c (f_p)

can now be called in the method form.

re.c (reg_regsub)

needed to be mbchar aware.

Mon Apr 13 13:18:32 1998 Yukihiro Matsumoto <[email protected]>

eval.c (thread_trap_eval)

all signals delivered to main_thread.

Mon Apr 13 12:47:03 1998 TAKAHASHI Masayoshi <[email protected]>

re.c (kcode_set_option)

did not set SJIS on SJIS condition.

1998-04-12

Sun Apr 12 22:14:07 1998 Kazunori NISHI <[email protected]>

array.c (ary_uniq_bang)

should be `==', not `='. embarrassing.

1998-04-11

Sat Apr 11 02:13:30 1998 Yukihiro Matsumoto <[email protected]>

array.c (ary_subseq)

SEGVed for `[][1,1]'.

1998-04-10

Fri Apr 10 21:29:06 1998 Tadayoshi Funaba <[email protected]>

array.c (ary_subseq)

add check for beg larger than array length.

1998-04-09

Thu Apr 9 18:24:58 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_cmp)

do not depend on sentinel at the end of the strings.

string.c (str_chomp_bang)

forgot to set the sentinel.

1998-04-08

Wed Apr 8 17:24:11 1998 MAEDA shugo <[email protected]>

dir.c (dir_s_open)

can be called with block (like IO#open).

dir.c (dir_s_chdir)

print directory path on error.

dir.c (dir_s_chroot)

ditto

dir.c (Init_Dir)

needed to override `new'.

Wed Apr 8 00:59:13 1998 Yukihiro Matsumoto <[email protected]>

bignum.c (big2int)

converted int may be too big to fit in signed int.

parse.y (arg)

`foo += 1' should not cause an error.

variable.c (rb_const_defined)

returned false even if the constant is defined at the top level.

eval.c (f_local_variables)

dyna_var->id may be null. should have checked before calling str_new2().

1998-04-07

Tue Apr 7 01:15:15 1998 Kaneko Naoshi <[email protected]>

re.c (reg_regsub)

need to check string boundary.

Tue Apr 7 19:19:12 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_cmp)

returns either 1, 0, -1.

array.c (ary_cmp)

should check array length, too

Tue Apr 7 18:50:16 1998 Yukihiro Matsumoto <[email protected]>

Tue Apr 7 18:31:27 1998 WATANABE Hirofumi <[email protected]>

instruby.rb (mandir)

dll installation for cygwin32

Tue Apr 7 01:16:45 1998 Yukihiro Matsumoto <[email protected]>

config.sub (maybe_os)

TOWNS support?

config.guess

too strict check for libc versions on linuxes.

array.c (ary_cmp)

compare each element using `<=>'.

hash.c (hash_each_with_index)

yields [value, key] pair.

class.c (class_protected_instance_methods)

list protected method names.

class.c (ins_methods_i)

exclude protected methods.

eval.c (PUSH_BLOCK)

dynamic variables can be accessed from eval() with bindings.

1998-04-06

Mon Apr 6 14:49:06 1998 Yukihiro Matsumoto <[email protected]>

eval.c (thread_yield)

must return evaluated value.

1998-04-03

Fri Apr 3 13:07:29 1998 Yukihiro Matsumoto <[email protected]>

eval.c (thread_schedule)

context switch bypassed on wrong conditions.

variable.c (rb_name_class)

set classname by id before String class is initialized (1.0 behavior restored).

Fri Apr 3 11:25:45 1998 Yukihiro Matsumoto <[email protected]>

numeric.c (num2int)

no implicit conversion from string.

numeric.c (num2int)

check whether `to_i' returns an Integer.

numeric.c (num_zero_p)

new method.

numeric.c (num_nonzero_p)

new method. returns the receiver if it's not zero.

eval.c (obj_instance_eval)

the_class should be the object's singleton class.

error.c (exc_s_new)

message is converted into a string.

1998-04-02

Thu Apr 2 18:31:46 1998 Yukihiro Matsumoto <[email protected]>

eval.c (obj_call_init)

every object call `initialize'.

1998-04-01

Wed Apr 1 08:51:53 1998 Tadayoshi Funaba <[email protected]>

parse.y (stmt)

UNTIL_MOD should be for stmt, not only for expr.

Wed Apr 1 01:20:31 1998 Yukihiro Matsumoto <[email protected]>

object.c (true_and)

boolean operators &, | and ^.

1998-03-31

Tue Mar 31 13:23:58 1998 Yukihiro Matsumoto <[email protected]>

array.c (ary_compact_bang)

returns nil, if it does not modify the array like String's bang methods.

array.c (ary_uniq_bang)

new method to remove duplicate items.

eval.c (bind_s_new)

new method.

numeric.c (num2int)

raise exception if Fixnums too big to convert into `int' in case that sizeof(int) < sizeof(INT).

string.c (str_center)

SEGV on negative width.

eval.c (eval)

forgot to set sourcefile.

1998-03-30

Mon Mar 30 11:12:29 1998 Yukihiro Matsumoto <[email protected]>

file.c (f_test)

raises exception for unknown command.

eval.c (Init_eval)

`class_eval': alias to the module_eval.

Mon Mar 30 18:50:42 1998 Tadayoshi Funaba <[email protected]>

string.c (str_capitalize_bang)

did not check string modification.

string.c (str_delete_bang)

wrong conversion.

string.c (str_intern)

typo in error message.

Mon Mar 30 01:44:13 1998 Yukihiro Matsumoto <[email protected]>

eval.c (obj_instance_eval)

accepts block as evaluation body. No compilation needed each time.

eval.c (mod_module_eval)

ditto

file.c (file_s_umask)

umask did not return old values, if no argument given.

1998-03-29

Sun Mar 29 00:54:23 1998 Yukihiro Matsumoto <[email protected]>

eval.c (f_throw)

nil returned always.

1998-03-28

Sat Mar 28 20:40:12 1998 Yukihiro Matsumoto <[email protected]>

Sat Mar 28 16:07:11 1998 WATANABE Hirofumi <[email protected]>

io.c (io_closed)

should not cause exception for closed IO.

string.c (str_tr)

returned nil for success.

Sat Mar 28 00:47:19 1998 Yukihiro Matsumoto <[email protected]>

eval.c (f_local_variables)

new method to return an array of local variable names.

variable.c (obj_instance_variables)

now returns an array of variable names, as described in the reference.

eval.c (rb_attr)

honors default method visibility of the current scope.

1998-03-27

Fri Mar 27 13:49:27 1998 Yukihiro Matsumoto <[email protected]>

ruby.c (ruby_prog_init)

`site_ruby' added to load_path.

ruby.c (ruby_prog_init)

load-path order changed. Paths in the RUBYLIB environment variable comes first in non-tainted mode.

1998-03-26

Thu Mar 26 11:51:09 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_call)

new feature: `protected' methods.

string.c (str_dump)

new method.

eval.c (block_pass)

block argument can be nil, which means no block is supplied for the method.

1998-03-25

Wed Mar 25 21:20:13 1998 Tadayoshi Funaba <[email protected]>

string.c (str_reverse_bang)

string copied to wrong place.

Wed Mar 25 08:12:07 1998 Yukihiro Matsumoto <[email protected]>

numeric.c (flo_modulo)

caused SEGV if left operand is not a float value.

eval.c (f_eval)

optional third and fourth argument to specify file-name and line-number.

eval.c (eval)

file-name and line-number set properly.

parse.y (assign_in_cond)

literal assignment is now warning, not compile error.

error.c (Warn)

Warn() always print message, OTOH Waring() prints when verbose flag is set.

1998-03-24

Tue Mar 24 12:50:06 1998 Yukihiro Matsumoto <[email protected]>

ruby.c (ruby_prog_init)

`.' should come last in the load-path.

eval.c (Init_eval)

`__send__', alias for `send'.

1998-03-23

Mon Mar 23 12:44:12 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_chomp_bang)

now takes `rs' as an argument.

eval.c (thread_free)

main_thread should not be freed.

1998-03-20

Fri Mar 20 16:40:34 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_chomp_bang)

chomp! (and other ! methods) returns nil if it does not modify the string.

string.c (str_sub_iter_s)

should check last pattern since it may be matched to null.

1998-03-19

Thu Mar 19 13:48:55 1998 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

`10e0.9' should cause syntax error.

1998-03-18

Wed Mar 18 17:46:31 1998 Yukihiro Matsumoto <[email protected]>

ruby.c (load_file)

new file object constant DATA. Only available for the script from the file.

regex.c (re_match)

forwarding failure point popped too much.

1998-03-17

Tue Mar 17 18:23:06 1998 Yukihiro Matsumoto <[email protected]>

math.c (math_frexp)

newly added.

math.c (math_ldexp)

ditto.

bignum.c (bigdivmod)

calculates modulo.

numeric.c (fix_remainder)

returns reminder, formerly introduced as modulo.

numeric.c (fix_modulo)

calculates proper `modulo'.

bignum.c (bigdivmod)

wrong sign for reminder.

1998-03-16

Mon Mar 16 17:07:28 1998 Yukihiro Matsumoto <[email protected]>

Mon Mar 16 16:33:53 1998 WATANABE Hirofumi <[email protected]>

io.c (pipe_finalize)

needed to add pipe_finalize to pipes on cygwin32.

Mon Mar 16 14:11:06 1998 Yukihiro Matsumoto <[email protected]>

class.c (ins_methods_i)

needed to consider NOEX_UNDEF.

Mon Mar 16 13:23:53 1998 WATANABE Hirofumi <[email protected]>

io.c (io_check_closed)

check for `fptr->f2 == NULL'.

io.c (io_fptr_close)

ditto.

Mon Mar 16 11:49:25 1998 Yukihiro Matsumoto <[email protected]>

io.c (pipe_atexit)

free()ing referencing pipe_list.

range.c (range_length)

returns zero, if the first is greater than the last.

signal.c (trap_restore_mask)

restore signal mask before raising exceptions and throws.

1998-03-13

Fri Mar 13 13:49:24 1998 Yukihiro Matsumoto <[email protected]>

object.c (mod_clone)

need to dups constants and instance variables.

eval.c (rb_eval)

forgot to initialize body for NODE_DEFS.

eval.c (rb_eval)

retrieve self from calling frame, since self changes sometimes.

env.h (FRAME)

need to save self in the calling frame.

io.c (f_gets_method)

rs should be initialized by RS.

1998-03-12

Thu Mar 12 15:33:57 1998 Yukihiro Matsumoto <[email protected]>

range.c (range_s_new)

check values by `first <= last'.

parse.y (lastline_set)

fixed offset for $_ and $~ in the local variable space.

1998-03-11

Wed Mar 11 02:14:17 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_gets)

handle normal case specially for speed.

eval.c (rb_disable_super)

function to disable superclass's method explicitly.

eval.c (rb_eval)

inherits previous method definition's NOEX_UNDEF-ness, if exists.

class.c (rb_define_method)

disables superclass's overriding method by default.

Wed Mar 11 01:40:48 1998 MAEDA shugo <[email protected]>

numeric.c (flo_gt,etc.)

do not depend on `<=>', to handle NaN.

1998-03-10

Tue Mar 10 00:03:24 1998 Yukihiro Matsumoto <[email protected]>

ruby.c (load_file)

understands multiple options in #! line.

regex.c (re_compile_pattern)

support for [:alpha:] etc.

1998-03-09

Mon Mar 9 16:53:51 1998 Yukihiro Matsumoto <[email protected]>

io.h (GetOpenFile)

embed io_check_closed in GetOpenFile.

sprintf.c (f_sprintf)

zero padding failed for negative integers.

sprintf.c (remove_sign_bits)

failed to remove some bits.

1998-03-07

Sat Mar 7 21:51:46 1998 MAEDA shugo <[email protected]>

class.c (ins_methods_i)

body may be NULL for some case.

1998-03-06

Fri Mar 6 17:23:07 1998 Yukihiro Matsumoto <[email protected]>

regex.c (mbcinit)

table driven mbchar detection.

object.c (obj_alloc)

check for allocating instance for the primitive classes (mostly perfect).

ext/curses/curses.c (curses_finalize)

restore original state at interpreter termination.

ext/curses/curses.c (curses_addstr)

forgot to check argument type (caused SEGV). now uses STR2CSTR() macro.

1998-03-05

Thu Mar 5 13:47:39 1998 Yukihiro Matsumoto <[email protected]>

eval.c (block_pass)

accepts method object as block args.

eval.c (f_missing)

use any_to_s() for stringify.

1998-03-04

Wed Mar 4 01:39:52 1998 Yukihiro Matsumoto <[email protected]>

parse.y (block_arg)

new syntax - block argument in the calling arglist.

eval.c (rb_call)

no module search. simplified a lot.

eval.c (rb_eval)

block arg support.

parse.y (f_block_arg)

new syntax - block argument in the formal arglist.

1998-03-03

Tue Mar 3 14:20:15 1998 Yukihiro Matsumoto <[email protected]>

eval.c (obj_method)

returns bound method object.

eval.c (rb_call)

argument check for empty methods.

ruby.h (NUM2CHR)

new macro, originally from curses module.

Tue Mar 3 13:03:35 1998 MAEDA shugo <[email protected]>

io.c (io_putc)

new method.

Tue Mar 3 11:21:28 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_inspect)

more strict charcode detection.

eval.c (thread_stop)

stopping only thread raises ThreadError exception.

Tue Mar 3 08:04:56 1998 Tadayoshi Funaba <[email protected]>

struct.c (struct_alloc)

incomplete struct initialization made GC to access unallocated addresses.

1998-03-02

Mon Mar 2 16:28:27 1998 Yukihiro Matsumoto <[email protected]>

eval.c (thread_stop_method)

remove Thread#stop.

1998-02-27

Fri Feb 27 18:16:26 1998 Yukihiro Matsumoto <[email protected]>

Fri Feb 27 09:36:35 1998 Yukihiro Matsumoto <[email protected]>

hash.c (hash_delete_nil)

needed to compare value to nil, since nil is the valid key for hashes.

hash.c (hash_foreach_iter)

rehashing causes IndexError.

hash.c (hash_foreach_iter)

rehash check by pointer comparison.

1998-02-26

Thu Feb 26 17:22:13 1998 Yukihiro Matsumoto <[email protected]>

parse.y (fname)

convert reswords into symbols.

parse.y (reswords)

reserved words are now embedded in the syntax (sigh).

parse.y

now reserved words can be method names safely.

1998-02-25

Wed Feb 25 15:50:07 1998 Yukihiro Matsumoto <[email protected]>

eval.c (mod_module_eval)

clear the_scope's PRIVATE flag before calling eval().

gc.c (gc_call_finalizer_at_exit)

run finalizers before any data object being freed.

eval.c (rb_eval)

needed to keep prot_tag->retval before evaluating the ensure clause.

1998-02-24

Tue Feb 24 11:16:32 1998 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

reserved words can be appear as method names at right after 'def' and `.'(dot), like foo.next.

eval.c (return_check)

checks for return out of thread (formerly done in return_value).

eval.c (POP_TAG)

copy retval to outer level.

eval.c (return_value)

just set retval, no check, no unwinding.

parse.y (nextc)

line continuation by backslash at end of line.

regex.c (re_compile_pattern)

forgot to clear pending_exact on closing parentheses.

parse.y (assignable)

should not assign dyna_var to true, if it is already defined.

1998-02-23

Mon Feb 23 14:35:03 1998 Yukihiro Matsumoto <[email protected]>

object.c (obj_is_kind_of)

no longer accepts true/false/nil.

object.c ({true,false,nil}_to_i)

can be converted into integers.

Mon Feb 23 12:11:51 1998 Yukihiro Matsumoto <[email protected]>

re.c (reg_s_quote)

needed to be mbchar aware.

eval.c (proc_s_new)

wrong iter mark.

1998-02-21

Sat Feb 21 22:59:30 1998 MAEDA shugo <[email protected]>

io.c (f_syscall)

no argument check.

1998-02-20

Fri Feb 20 10:17:51 1998 Yukihiro Matsumoto <[email protected]>

ext/kconv/kconv.c (kconv_kconv)

default output code now be determined according to the value of $KCODE.

re.c (rb_get_kcode)

can retrieve $KCODE from C code.

parse.y (stmt)

if/unless modifiers returns nil, if condition is not established.

1998-02-19

Thu Feb 19 11:06:47 1998 Yukihiro Matsumoto <[email protected]>

ext/kconv/kconv.c (kconv_kconv)

charcode can be specified by code name (JIS, SJIS, EUC like value of $KCODE).

regex.c (re_compile_pattern)

forgot to fixup_jump for (?:..).

regex.c (re_compile_pattern)

needed to clear pending_exact on non-registering grouping (?:…).

1998-02-18

Wed Feb 18 19:54:21 1998 Yukihiro Matsumoto <[email protected]>

parse.y (here_document)

needed to set lex_state to EXPR_END.

Wed Feb 18 18:45:10 1998 WATANABE Hirofumi <[email protected]>

Wed Feb 18 00:41:31 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_sub_s)

needed to be mbchar aware to increment one character.

regex.c (re_match)

Z matches newline just before the end of the string.

1998-02-17

Tue Feb 17 00:04:32 1998 Yukihiro Matsumoto <[email protected]>

time.c (time_arg)

Time.gm and Time.local now understands Time#to_a format.

string.c (str_sub_s)

replace happened twice for null pattern.

regex.c (re_search)

null pattern should not match after newline at the end of string.

time.c (time_isdst)

now returns boolean value.

error.c (rb_check_type)

treat special constants in messages.

parse.y (yylex)

new form `::Const' to see toplevel constants.

parse.y (cond)

SEGV on `if ()'.

gc.c (obj_free)

some data needed explicit free().

1998-02-16

Mon Feb 16 23:55:40 1998 Yukihiro Matsumoto <[email protected]>

eval.c (blk_free)

release duplicated block informations.

eval.c (blk_copy_prev)

duplicate outer block information into the heap, when proc/binding created.

Mon Feb 16 14:38:25 1998 Yukihiro Matsumoto <[email protected]>

time.c (time_mon)

now 1 for January and so on.

time.c (time_year)

year in 19xx (no + 1900 needed anymore).

Mon Feb 16 13:28:33 1998 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

need to fetch mbchar's second byte without translation.

Mon Feb 16 12:29:27 1998 MAEDA shugo <[email protected]>

eval.c (f_pass_block)

pass iterator block to other method.

1998-02-13

Fri Feb 13 08:16:11 1998 Yukihiro Matsumoto <[email protected]>

parse.y (parse_regx)

handle s before read_escape().

parse.y (read_escape)

`s' in strings as space.

1998-02-10

Tue Feb 10 17:29:08 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_aset)

string insertion by `str = str2'.

string.c (str_oct)

does recognize `0x'.

sprintf.c (f_sprintf)

use base 10 for conversion from string to integer.

1998-02-09

Mon Feb 9 14:51:56 1998 Yukihiro Matsumoto <[email protected]>

numeric.c (do_coerce)

proper error message.

string.c (str_sum)

bug - masked by wrong value. (sigh..)

1998-02-07

Sat Feb 7 15:11:14 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_empty)

new method

1998-02-06

Fri Feb 6 01:42:15 1998 Yukihiro Matsumoto <[email protected]>

time.c (time_asctime)

use asctime(3), not strftime(3).

1998-02-05

Thu Feb 5 18:58:46 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_fptr_close)

do not free path on close().

array.c (ary_filter)

new method.

enum.c (enum_each_with_index)

new method.

Thu Feb 5 14:10:35 1998 Yukihiro Matsumoto <[email protected]>

parse.y (primary)

singleton class def can be appeared inside method bodies.

hash.c (hash_replace)

replace content.

string.c (str_replace_method)

replace content.

array.c (ary_replace_method)

replace elements.

string.c (str_succ_bang)

String#succ!

Thu Feb 5 18:20:30 1998 WATANABE Hirofumi <[email protected]>

string.c (str_upcase_bang)

multi byte character support.

1998-02-04

Wed Feb 4 13:55:26 1998 Yukihiro Matsumoto <[email protected]>

array.c (ary_reverse)

SEGV on empty array reverse.

1998-02-03

Tue Feb 3 12:24:07 1998 Yukihiro Matsumoto <[email protected]>

re.c (match_to_a)

non matching element should be nil.

ruby.c (ruby_load_script)

load script after all initialization.

bignum.c (str2inum)

need to interpret prefix `0' of `0x'.

Tue Feb 3 10:00:18 1998 WATANABE Hirofumi <[email protected]>

numeric.c (fix_rshift)

use `sizeof(INT)*8' instead of 32.

1998-02-02

Mon Feb 2 14:09:24 1998 Yukihiro Matsumoto <[email protected]>

ruby.c (set_arg0)

grab environment region too.

1998-01-29

Thu Jan 29 18:36:25 1998 WATANABE Hirofumi <[email protected]>

process.c (rb_proc_exec)

check `sh' to be exist.

Thu Jan 29 18:18:19 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_stdio_set)

assignment to $stdin or $stdout does reopen() as well as $stderr.

Thu Jan 29 14:18:40 1998 Yukihiro Matsumoto <[email protected]>

class.c (mod_ancestors)

should not include singleton classes.

object.c (obj_type)

should not return internal class.

io.c (io_reopen)

unwillingly closes stdio streams.

Thu Jan 29 11:50:35 1998 Toshihiko SHIMOKAWA <[email protected]>

ext/socket/socket.c (udp_addrsetup)

forgot to use htons().

1998-01-27

Tue Jan 27 23:15:24 1998 Yukihiro Matsumoto <[email protected]>

keywords

__FILE__, __LINE__ are available again.

1998-01-23

Fri Jan 23 14:19:28 1998 Yukihiro Matsumoto <[email protected]>

object.c (mod_to_s)

need to duplicate classpath.

error.c (exc_inspect)

need to duplicate classpath.

1998-01-22

Thu Jan 22 00:37:47 1998 Yukihiro Matsumoto <[email protected]>

ruby.h (STR2CSTR)

new macro to retrieve char*.

class.c (rb_define_method)

`initialize' should always be private, even if it defined by C extensions.

eval.c (rb_eval)

`initialize' should always be private.

Thu Jan 22 16:21:08 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

some singleton class def cause SEGV.

eval.c (TMP_ALLOC)

replace ALLOCA_N, where thread context switch may happen.

1998-01-21

Wed Jan 21 01:43:42 1998 Yukihiro Matsumoto <[email protected]>

eval.c (PUSH_FRAME)

do not use ALLOCA_N(). crash on some platforms that use missing/alloca.c.

regex.c (re_compile_pattern)

too many pops for non register subexpr.

parse.y (yylex)

open parentheses after identifiers are argument list, even if whitespaces have seen.

1998-01-20

Tue Jan 20 15:19:59 1998 Yukihiro Matsumoto <[email protected]>

parse.y (terms)

quoted word list by %w(a b c).

ext/tcltklib/extconf.rb

more accurate check for tcl/tk libs.

file.c (rb_stat)

most of the FileTest methods (and function `test') accept File objects as the argument.

1998-01-19

Tue Jan 19 18:19:24 1998 WATANABE Hirofumi <[email protected]>

ext/extmk.rb.in (install)

there should be no newline after install:

re.c (MIN)

renamed from min(). there's a local variable named min in the file, so that some cpp will raise an error.

Mon Jan 19 16:30:05 1998 Yukihiro Matsumoto <[email protected]>

process.c (rb_syswait)

no exception raised.

1998-01-16

Fri Jan 16 00:43:43 1998 Yukihiro Matsumoto <[email protected]>

ruby.h (CLONESETUP)

copies its singleton classes too.

class.c (singleton_class_attached)

saves binded object in the singleton classes.

eval.c (rb_eval)

calls singleton_method_added even in the singleton class clauses.

1998-01-15

Fri Jan 15 23:22:43 1998 WATANABE Hirofumi <[email protected]>

ruby.c (proc_options)

-S does not recognize PATH.

Thu Jan 15 02:03:12 1998 Yukihiro Matsumoto <[email protected]>

eval.c (rb_clear_cache_by_id)

clear only affected cache entries.

1998-01-14

Wed Jan 14 02:14:48 1998 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c

new UDP/IP socket classes.

1998-01-13

Tue Jan 13 10:00:18 1998 Yukihiro Matsumoto <[email protected]>

string.c (str_cmp)

ignorecase($=) works wrong.

1998-01-09

Fri Jan 9 13:19:55 1998 Yukihiro Matsumoto <[email protected]>

eval.c (f_missing)

class name omitted from the error message.

error.c (exc_inspect)

description changed.

string.c (Init_String)

GlobalExit's superclass did not filled, since GlobalExit created earlier than String.

1998-01-08

Thu Jan 8 12:10:09 1998 Yukihiro Matsumoto <[email protected]>

parse.y (aryset)

expr in the brackets can be null.

1998-01-07

Wed Jan 7 21:13:56 1998 Yukihiro Matsumoto <[email protected]>

io.c (io_reopen)

keep stderr unclosed.

io.c (io_errset)

keep stderr unclosed.

1998-01-06

Tue Jan 6 00:27:43 1998 Yukihiro Matsumoto <[email protected]>

parse.y

syntax modified for `while expr do .. end' etc.

process.c (f_exec,f_system)

can supply arbitrary name for the new process.

1998-01-05

Mon Jan 5 16:59:13 1998 WATANABE Hirofumi <[email protected]>

file.c (file_s_basename)

removes any extension by “.*”.

1998-01-04

Sun Jan 4 19:36:22 1998 WATANABE Hirofumi <[email protected]>

parse.y (yylex)

needed to update lex_p (reading point).

1998-01-03

Sat Jan 3 19:14:14 1998 WATANABE Hirofumi <[email protected]>

class.c,object.c

duplicate defines mKernel and cFinxnum.

1998-01-02

Fri Jan 2 20:38:59 1998 Yukihiro Matsumoto <[email protected]>

ext/curses/curses.c (NUM2CHAR)

uses the first character for string arguments.

array.c (ary_fill)

did not extend array for ranges.

array.c (beg_len)

did not return end pos bigger than size.

Fri Jan 2 02:09:16 1998 WATANABE Hirofumi <[email protected]>

dir.c (dir_s_chdir)

bug in nil check.

array.c (ary_fill)

bug in nil check.

1997-12-30

Tue Dec 30 11:46:23 1997 Yukihiro Matsumoto <[email protected]>

hash.c (env_path_tainted)

checks directories in PATH environment variable are not world writable.

ruby.c (load_file)

invoke specified interpreter if the #! line does not contain the word `ruby'.

1997-12-26

Fri Dec 26 03:26:41 1997 Yukihiro Matsumoto <[email protected]>

string.c (uscore_get)

type information included in the error message.

variable.c (f_untrace_var)

does not free trace-data within trace procedure.

1997-12-25

Thu Dec 25 02:50:29 1997 Yukihiro Matsumoto <[email protected]>

ruby.h

inlining some functions on gcc 2.x

1997-12-23

Tue Dec 23 02:47:33 1997 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

public/private information kept in the current scope, to remove undesired state from the class/module.

time.c (time_strftime)

remove hidden limit of 100 bytes of result string, using malloc'ed buffer.

hash.c (hash_update)

merges the contents of another hash, overriding existing keys.

regex.c (must_instr)

totally re-written.

io.c (read_all)

try to allocate proper sized buffer using fstat(2) for speedup.

1997-12-20

Sat Dec 20 00:27:28 1997 Yukihiro Matsumoto <[email protected]>

regex.c (must_instr)

need to skip 2 bytes for mbchars.

1997-12-19

Fri Dec 19 01:18:29 1997 Yukihiro Matsumoto <[email protected]>

eval.c (check_errat)

check and convert (if necessary) traceback information before assigning to the variable $@.

eval.c (f_raise)

optional third argument to specify traceback information.

io.c (f_open)

prevent infinite recursive call.

1997-12-18

Thu Dec 18 19:33:47 1997 Yukihiro Matsumoto <[email protected]>

string.c (str_rindex)

now accepts regexp as index.

Thu Dec 18 18:42:50 1997 WATANABE Hirofumi <[email protected]>

ext/socket/extconf.rb

modified to detect win32 socket lib.

Thu Dec 18 00:25:03 1997 Yukihiro Matsumoto <[email protected]>

re.c (reg_equal)

checks for source and casefold and kcode matching.

marshal.c

became built-in module.

ext/marshal/marshal.c (r_object)

displays struct name for non-compatible struct.

string.c (str_index_method)

now searches character (fixnum) in the string.

string.c (str_include)

redefine `include?'.

regex.c (re_match)

start_nowidth saves current stack position to stop_nowidth.

regex.c (re_compile_pattern)

add space to stop_nowidth to save runtime stack position.

1997-12-16

Tue Dec 16 14:57:43 1997 Yukihiro Matsumoto <[email protected]>

string.c (scan_once)

wrong exception for regexp that match with null string (use substr instead of subseq).

1997-12-13

Sat Dec 13 00:13:32 1997 Yukihiro Matsumoto <[email protected]>

parse.y (expr)

remove bare assocs from expr rule.

rbconfig.rb

renamed from config.rb (it was too generic name).

1997-12-12

Fri Dec 12 00:50:25 1997 Yukihiro Matsumoto <[email protected]>

parse.y (expr)

warns if BEGIN or END appear in the method bodies.

string.c (str_match)

calls y =~ x if y is neither String nor Regexp so that eregex.rb works.

eval.c (f_at_exit)

to register end proc.

class.c (rb_define_module_function)

define 'function' method for the Module, not private method.

class.c (rb_define_function)

function to define `function' method.

eval.c (rb_eval)

inherit visibility from superclass's method except when it is set to `function'

eval.c (rb_eval)

new visibility status `function'.

parse.y (yycompile)

do not clear eval_tree. thus enable multiple command line script by option `-e'.

eval.c (rb_eval)

END execute just once.

parse.y (expr)

BEGIN/END built in the syntax.

1997-12-11

Thu Dec 11 13:14:35 1997 Yukihiro Matsumoto <[email protected]>

object.c (mod_le)

Module (or Class) comparison.

eval.c (rb_remove_method)

raises NameError if named method does not exist.

ext/curses/curses.c

remove CHECK macro for BSD curses.

Thu Dec 11 12:44:01 1997 WATANABE Hirofumi <[email protected]>

pack.c

sun4 cc patch

1997-12-10

Wed Dec 10 15:21:36 1997 Yukihiro Matsumoto <[email protected]>

ext/marshal/marshal.c (marshal_load)

can supply evolution proc object as optional second argument.

re.c (reg_source)

get source string of the regular expression.

1997-12-09

Tue Dec 9 10:05:17 1997 Yukihiro Matsumoto <[email protected]>

parse.y (tokadd)

token buffer overrun.

ruby.c (ruby_prog_init)

forgot to protect rb_argv0 from gc.

eval.c (ruby_run)

call finalizers at process termination.

gc.c (gc_call_finalizer_at_exit)

call free proc for every Data Wrapper, and finalizer for specified objects at termination.

version.c (show_version)

version format changed.

regex.c (re_match)

wrong match with non-greedy if they appear more than once in regular expressions.

sample/ruby-mode.el (ruby-expr-beg)

forgot to handle modifiers.

1997-12-08

Mon Dec 8 19:00:15 1997 Yukihiro Matsumoto <[email protected]>

io.c (io_puts)

just put a newline if no argument given.

ext/tcltklib/tcltklib.c (lib_mainloop)

thread-aware tk handle when $tk_thread_safe is set.

ext/tcltklib/tcltklib.c (lib_mainloop)

use Tcl_DoOneEvent() instead of Tk_MainLoop().

1997-12-06

Mon Dec 6 07:11:16 1997 MAEDA shugo <[email protected]>

io.c (io_puts)

core dumped without any argument.

1997-12-05

Fri Dec 5 18:17:17 1997 Yukihiro Matsumoto <[email protected]>

eval.c (mod_remove_method)

remove (not undef) a method from the class/module.

variable.c (obj_remove_instance_variable)

method to remove instance variables.

1997-12-04

Thu Dec 4 13:50:29 1997 Yukihiro Matsumoto <[email protected]>

string.c (str_aref)

called str_index for regexp.

1997-12-01

Mon Dec 1 15:24:41 1997 Yukihiro Matsumoto <[email protected]>

compar.c (cmp_between)

wrong comparison made.

1997-11-26

Wed Nov 26 18:18:05 1997 Yukihiro Matsumoto <[email protected]>

lib/mkmf.rb

generate Makefile for extension modules out of ruby source tree. use like `ruby -r mkmf extconf.rb'.

numeric.c (fix2str)

enlarge buffer to prevent overflow on some machines.

parse.y (here_document)

wrong line number generated after here-doc.

1997-11-21

Fri Nov 21 13:17:12 1997 Yukihiro Matsumoto <[email protected]>

parse.y (yylex)

skip multibyte characters in comments.

1997-11-19

Wed Nov 19 17:19:20 1997 Yukihiro Matsumoto <[email protected]>

object.c (nil_to_a)

nil.to_a => [].

parse.y (call_args)

wrong node generation.

1997-11-18

Tue Nov 18 10:13:08 1997 Yukihiro Matsumoto <[email protected]>

array.c (Init_Array)

Array#=== works as Array#include?

regex.c (re_compile_pattern)

insert initialize code for jump_n, before entering loops.

re.c (reg_search)

does not save registers unless $& etc appear in the script.

1997-11-17

Mon Nov 17 13:01:43 1997 Yukihiro Matsumoto <[email protected]>

eval.c (is_defined)

add defined? check for receivers and arguments for calls.

re.c (reg_search)

cache last match object.

re.c (match_aref)

$[0] etc. are available.

1997-11-15

Sat Nov 15 00:11:36 1997 WATANABE Hirofumi <[email protected]>

io.c (io_s_popen)

“rb” detection

1997-11-14

Fri Nov 14 18:28:40 1997 Yukihiro Matsumoto <[email protected]>

string.c (scan_once)

returns whole match if the pattern does not contain any parentheses.

1997-11-13

Thu Nov 13 14:39:06 1997 Yukihiro Matsumoto <[email protected]>

string.c (str_sub)

returns copy of the receiver string, even if any substitution occurred.

regex.c (re_compile_pattern)

no-width match by (?=..), (?!..).

1997-11-12

Wed Nov 12 13:44:47 1997 Yukihiro Matsumoto <[email protected]>

time.c

remove coerce from Time class.

regex.c (re_match)

non-greedy match by ??, *? +?, {n,m}?.

1997-11-10

Mon Nov 10 11:24:51 1997 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

non-registering parens (?:..).

regex.c (re_compile_pattern)

new meta character < (wordbeg) and > (wordend).

regex.c (re_compile_pattern)

embedded comment for regular expression by (?#…).

1997-11-07

Fri Nov 7 16:58:24 1997 Yukihiro Matsumoto <[email protected]>

regex.c (re_compile_pattern)

perl5 regexp A and Z available.

regex.c (re_compile_pattern)

can expand compile stack dynamically.

regex.c (PUSH_FAILURE_POINT)

wrong compare condition.

1997-11-02

Wed Nov 2 16:00:00 1997 WATANABE Hirofumi <[email protected]>

string.c (str_sub_s)

“”.sub! “”, “” => “000”

1997-10-31

Fri Oct 31 15:52:10 1997 Yukihiro Matsumoto <[email protected]>

parse.y (assoc)

keyword assoc like {fg->“black”}.

1997-10-30

Thu Oct 30 17:33:38 1997 Yukihiro Matsumoto <[email protected]>

io.c (io_println)

print with newline, which is not affected by the values of $/ and $.

Thu Oct 30 16:54:01 1997 WATANABE Hirofumi <[email protected]>

string.c (str_chop_bang)

“”.chop caused SEGV.

string.c (str_chomp_bang)

method to chop out last newline.

1997-10-27

Mon Oct 27 13:49:13 1997 Yukihiro Matsumoto <[email protected]>

ext/extmk.rb.in

library may have pathname contains `.'

eval.c (rb_rescue)

should not protect SystemError.

1997-10-24

Fri Oct 24 10:58:53 1997 Yukihiro Matsumoto <[email protected]>

io.c (io_s_with_open_stream)

ensures to close stream.

1997-10-23

Thu Oct 23 11:17:44 1997 Yukihiro Matsumoto <[email protected]>

io.c (io_errset)

value of $stderr can be changed (to any IO object).

io.c (next_argv)

$< can be anything that responds to `write'.

file.c (file_s_with_open_file)

ensures to close file.

error.c (exception)

create error under the current class/module.

range.c (range_eqq)

fixnum check for last needed too.

1997-10-22

Wed Oct 22 12:52:30 1997 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c

Socket::Constants added.

file.c

File::Constants added for inclusion.

array.c (ary_join)

call ary_join() recursively for the 1st array element.

1997-10-20

Mon Oct 20 12:18:29 1997 WATANABE Hirofumi <[email protected]>

ruby.c (load_file)

wrong condition for #! check with -x.

file.c (file_s_dirname)

did return “” for “/a”.

1997-10-17

Fri Oct 17 14:29:09 1997 Yukihiro Matsumoto <[email protected]>

ruby.c

now works on alpha-linux.

bignum.c (bigadd)

some undefined side effect order assumed.

1997-10-15

Wed Oct 15 17:49:24 1997 Yukihiro Matsumoto <[email protected]>

intern.h

function prototypes added.

1997-10-13

Mon Oct 13 16:54:18 1997 Yukihiro Matsumoto <[email protected]>

class.c (rb_define_class_id)

call superclass's `inherited' method when making subclasses.

parse.y (nextc)

clear lex_lastline at the end of file.

object.c (Init_Object)

need to undef Class#append_features.

eval.c (rb_eval)

no warning on extending classes or modules.

1997-10-09

Thu Oct 9 11:17:50 1997 Yukihiro Matsumoto <[email protected]>

eval.c (error_print)

the exception name follows after the error message.

eval.c (compile_error)

error message slightly changed.

parse.y (nextc)

script parsing will be terminated by __END__ at beginning of line.

eval.c (compile_error)

`__END__' is no longer a keyword.

parse.y (nextc)

protect lastline read from script stream.

1997-10-07

Tue Oct 7 14:06:06 1997 Yukihiro Matsumoto <[email protected]>

eval.c (mod_append_features)

renamed from extend_class.

eval.c (rb_eval)

defining method calls `method_added'.

eval.c (ruby_options)

exception while processing options must terminate the interpreter.

error.c (Init_Exception)

wrong method configuration. `new' should have been a singleton method.

1997-10-06

Mon Oct 6 18:55:38 1997 Yukihiro Matsumoto <[email protected]>

ext/kconv/kconv.c (kconv_guess)

code to guess character code from string.

Mon Oct 6 18:38:17 1997 WATANABE Hirofumi <[email protected]>

pack.c

now encode/decode base64 by `m' template.

1997-10-03

Fri Oct 3 10:51:10 1997 Yukihiro Matsumoto <[email protected]>

MANIFEST

needed to include lex.c in the distribution.

eval.c (ruby_options)

f_require() called too early.

eval.c (rb_provide)

module extensions should always be `.o'.

1997-10-02

Thu Oct 2 11:38:31 1997 Yukihiro Matsumoto <[email protected]>

ext/marshal/marshal.c (r_object)

remove temporal regist for structs. (caused problem if structs form cycles.)

parse.y (match_gen)

static binding for match(=~) calls with regexp literals.

1997-10-01

Wed Oct 1 15:26:55 1997 Yukihiro Matsumoto <[email protected]>

eval.c

protect retval in struct tag from GC for C_ALLOCA.

eval.c

no more pointer value from setjmp/longjmp.

Wed Oct 1 14:01:49 1997 WATANABE Hirofumi <[email protected]>

ext/marshal/marshal.c (w_byte)

argument must be char.

Wed Oct 1 10:30:22 1997 Yukihiro Matsumoto <[email protected]>

variable.c (mod_const_at)

global constants now belongs to the class Object.

object.c (Init_Object)

new global constant NIL.

ext/marshal/marshal.c (marshal_dump)

try to set binmode.

ext/marshal/marshal.c (r_object)

forgot to re-regist structs in the object table.

eval.c (ruby_options)

call Init_ext() before any require() calls by `-r'.

1997-09-30

Fri Sep 30 14:29:22 1997 WATANABE Hirofumi <[email protected]>

ext/marshal/marshal.c (w_object)

marshal dumped core.

Tue Sep 30 10:27:39 1997 Yukihiro Matsumoto <[email protected]>

sample/test.rb

bignum test suits added.

eval.c (rb_eval)

new pseudo variable `true' and `false'.

parse.y

new keywords `true' and `false' added.

1997-09-29

Mon Sep 29 13:37:58 1997 Yukihiro Matsumoto <[email protected]>

ruby.c (forbid_setid)

forbid some options in suid mode.

ruby.h (NUM2DBL)

new macro to convert into doubles.

Mon Sep 29 13:15:56 1997 Yukihiro Matsumoto <[email protected]>

parse.y (lhs)

no more syntax error on `obj.CONSTANT = value'.

1997-09-27

Mon Sep 27 09:53:48 1997 EGUCHI Osamu <[email protected]>

bignum.c

modified for speeding.

1997-09-26

Fri Sep 26 18:27:59 1997 WATANABE Hirofumi <[email protected]>

sample/from.rb

some extensions.

Fri Sep 26 14:41:46 1997 Yukihiro Matsumoto <[email protected]>

eval.c (ruby_run)

deferred calling Init_ext() just before eval_node.

Fri Sep 26 13:27:24 1997 WATANABE Hirofumi <[email protected]>

io.c (io_isatty)

forgot to return TRUE value.

1997-09-25

Fri Sep 25 11:10:58 1997 EGUCHI Osamu <[email protected]>

eval.c

use _setjmp/_longjmp instead of setjmp/longjmp on some platforms.

1997-09-24

Wed Sep 24 17:43:13 1997 Yukihiro Matsumoto <[email protected]>

string.c (Init_String)

String#taint and String#taint? added.

class.c (mod_ancestors)

ancestors include the class itself.

Wed Sep 24 00:57:00 1997 Katsuyuki Okabe <[email protected]>

1997-09-23

Tue Sep 23 20:42:30 1997 EGUCHI Osamu <[email protected]>

parse.y (node_newnode)

SEGV on null node setup.

1997-09-22

Mon Sep 22 11:22:46 1997 Yukihiro Matsumoto <[email protected]>

ruby.c (ruby_prog_init)

wrong safe condition check.

1997-09-21

Sun Sep 21 14:46:02 1997 MAEDA shugo <[email protected]>

error.c (exc_inspect)

garbage added to classpath.

1997-09-19

Fri Sep 19 11:49:23 1997 Yukihiro Matsumoto <[email protected]>

parse.y (newtok)

forgot to adjust buffer size when shrinking the token buffer.

enum.c (enum_find)

rb_eval_cmd() does not return value.

io.c (pipe_open)

close fds on pipe exec. fcntl(fd, F_SETFD, 1) no longer used.

1997-09-16

Tue Sep 16 17:54:25 1997 Yukihiro Matsumoto <[email protected]>

file.c (f_test)

problem if wrong command specified.

ruby.c (ruby_prog_init)

close stdaux and stdprn for MSDOS.

ruby.c (ruby_prog_init)

should not add path from environment variable, if ruby is running under setuid.

process.c (init_ids)

check suid check for setuid/seteuid etc.

1997-09-15

Mon Sep 15 00:42:04 1997 WATANABE Hirofumi <[email protected]>

regex.c (re_compile_pattern)

w{3} and W{3} did not work.

1997-09-11

Thu Sep 11 10:31:48 1997 Yukihiro Matsumoto <[email protected]>

ext/socket/socket.c (sock_new)

no setbuf() for NT.

io.c (rb_fopen,rb_fdopen)

set close-on-exec for every fd.

1997-09-10

Wed Sep 10 15:55:31 1997 Yukihiro Matsumoto <[email protected]>

ext/marshal/marshal.c (r_bytes0)

extra big length check.

1997-09-09

Tue Sep 9 16:27:14 1997 Yukihiro Matsumoto <[email protected]>

io.c (pipe_fptr_atexit)

clean up popen()'ed fptr.

error.c (set_syserr)

some system has error code that is bigger than sys_nerr. grrr.

1997-09-08

Mon Sep 8 18:33:33 1997 Yukihiro Matsumoto <[email protected]>

io.c (io_s_new)

dereferenced nil for optional mode.

1997-09-05

Fri Sep 5 10:26:03 1997 Yukihiro Matsumoto <[email protected]>

class.c (class_instance_methods)

do not include methods which are changed to private in subclasses.

1997-09-04

Thu Sep 4 12:38:53 1997 Yukihiro Matsumoto <[email protected]>

variable.c (f_global_variables)

list name of the global variables.

object.c (obj_id)

returns unique integer.

1997-09-03

Wed Sep 3 14:05:16 1997 Yukihiro Matsumoto <[email protected]>

eval.c (mod_s_constants)

context sensitive constant list.

variable.c (mod_constants)

no more `all' option.

variable.c (mod_const_of)

the values for autoload classes are their name strings.

class.c (class_instance_methods)

no special treatment for singleton classes.

object.c (obj_singleton_methods)

returns list of singleton method names.

parse.y (yylex)

no here document after `class' keyword.

eval.c (f_load)

expand path if fname begins with `~'.

1997-09-02

Tue Sep 2 13:19:48 1997 Yukihiro Matsumoto <[email protected]>

class.c (ins_methods_i)

do not list undef'ed methods.

1997-09-01

Mon Sep 1 13:42:48 1997 Yukihiro Matsumoto <[email protected]>

object.c (mod_attr_reader)

create methods to define attribute reader/write/accessor.

class.c (rb_define_attr)

always defines accessors.

eval.c (rb_call)

alias occurred in the module body caused SEGV.

parse.y

did not generate here document strings properly.

Mon Sep 1 11:43:57 1997 WATANABE Hirofumi <[email protected]>

parse.y (yylex)

heredoc dropped an extra character.

1997-08-29

Fri Aug 29 11:10:21 1997 Yukihiro Matsumoto <[email protected]>

class.c (class_instance_methods)

same method names should not appear more than once.

parse.y (yylex)

spaces can follow =begin/=end.

variable.c (find_class_path)

look for class_tbl also for unnamed fundamental classes, such as Object, String, etc.

variable.c (rb_name_class)

can't name class before String class is initialized.

inits.c (rb_call_inits)

unrecognized dependency from GC to Array.

variable.c (find_class_path)

could not find class if Object's iv_tbl is NULL.

1997-08-28

Thu Aug 28 13:12:05 1997 Yukihiro Matsumoto <[email protected]>

variable.c (mod_constants)

wrong condition for singleton class.

parse.y (yylex)

revised `=begin' skip code.

parse.y (here_document)

forgot to free(eos).

parse.y (yylex)

spaces after `<<' prohibited for here documents to avoid confusing with operator `<<'.

eval.c (is_defined)

separated from rb_eval().

1997-08-27

Wed Aug 27 11:32:42 1997 Yukihiro Matsumoto <[email protected]>

variable.c (mod_name)

returns name of the class/module.

parse.y (here_document)

finally here document available now.

variable.c (fc_i)

some classes/modules does not have iv_tbl.

variable.c (find_class_path)

avoid infinite loop.

1997-08-26

Tue Aug 26 13:43:47 1997 Yukihiro Matsumoto <[email protected]>

eval.c (rb_eval)

undef'ing non-existing method will raise NameError exception.

object.c (class_s_new)

needed to create metaclass too.

eval.c (error_print)

no class name print for anonymous class.

eval.c (rb_longjmp)

proper exception raised if raise() called without arguments, with $! or $@ set.

object.c (Init_Object)

superclass()'s method argument setting was wrong again.

class.c (mod_ancestors)

list superclasses and included modules in priority order.

1997-08-25

Mon Aug 25 11:53:11 1997 Yukihiro Matsumoto <[email protected]>

sample/ruby-mode.el (ruby-parse-region)

auto-indent now supports “\” in the strings.

struct.c (struct_getmember)

new API to get member value from C language side.

1997-08-23

Sat Aug 23 21:39:05 1997 Yukihiro Matsumoto <[email protected]>

parse.y (assignable)

remove unnecessary local variable initialize by nil.

1997-08-22

Fri Aug 22 14:26:40 1997 Yukihiro Matsumoto <[email protected]>

eval.c (error_print)

modified exception print format.

1997-08-21

Thu Aug 21 16:10:58 1997 Yukihiro Matsumoto <[email protected]>

sample/ruby-mode.el (ruby-calculate-indent)

wrong indent level calculated with keyword operators.

Thu Aug 21 11:36:58 1997 WATANABE Hirofumi <[email protected]>

parse.y (arg)

ary += 1 cause SEGV

1997-08-20

Wed Aug 20 17:28:50 1997 Yukihiro Matsumoto <[email protected]>

ruby.c (ruby_process_options)

require() all modules after processing all options

process.c (rb_proc_exec)

more security checks added.

process.c (rb_proc_exec)

insecure path on exec.

hash.c (f_getenv)

PATH modification security check.

1997-08-19

Tue Aug 19 00:15:38 1997 Yukihiro Matsumoto <[email protected]>

eval.c (mod_eval)

work as normal eval() if second binding argument given.

eval.c (rb_call)

did not raise ArgumentError if too many arguments more than optional arguments (without rest arg).

eval.c (rb_eval)

did not work well for op_asgn2 (attribute self assignment).

eval.c (Init_Thread)

returns main thread.

1997-08-18

Mon Aug 18 09:25:56 1997 Yukihiro Matsumoto <[email protected]>

object.c (inspect_i)

did not display T_DATA instance variables.

parse.y

provides more accurate line number information.

eval.c (thread_value)

include value's backtrace information in the variable `$@'.

eval.c (f_abort)

print backtrace and exit.

1997-08-16

Sat Aug 16 00:17:44 1997 Yukihiro Matsumoto <[email protected]>

eval.c (class_new_instance)

do not make instance from virtual classes.

object.c (class_s_new)

do not make subclass of singleton class.

1997-08-15

Fri Aug 15 15:49:46 1997 Yukihiro Matsumoto <[email protected]>

eval.c (call_trace_func)

block context switch in the trace function.

eval.c (rb_eval)

clear method cache at class extension.

object.c (obj_type)

returns object's class even if it defines singleton methods.

Fri Aug 15 19:40:43 1997 WATANABE Hirofumi <[email protected]>

ext/socket/socket.c (Init_socket)

small typo caused SEGV.

1997-08-13

Wed Aug 13 17:51:46 1997 Yukihiro Matsumoto <[email protected]>