* io.c (rb_open_file): encoding in mode string was ignored if perm is
[ruby-svn.git] / doc / ChangeLog-1.8.0
blobd168a50f808afb550e6ae41014f7114c9fb48dc6
1 Mon Aug  4 17:21:19 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3         * class.c (class_instance_method_list): methods defined in
4           singleton class and extended modules should be included.
5           [ruby-dev:21119]
7 Mon Aug  4 13:05:57 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
9         * eval.c (method_proc): should specify YIELD_FUNC_SVALUE.
10           [ruby-dev:21107]
12         * marshal.c (w_object): should not call w_extended for USRMARSHAL
13           dump. [ruby-dev:21106]
15 Mon Aug  4 10:42:00 2003  Nathaniel Talbott  <ntalbott@ruby-lang.org>
17         * lib/test/unit/ui/console/testrunner.rb: Flushed io in the
18           Console::TestRunner so that it will output immediately.
20 Mon Aug  4 10:27:22 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
22         * util.h: remove unnecessary parentheses.  [ruby-dev:20879]
24 Mon Aug  4 10:00:47 2003  Shugo Maeda  <shugo@ruby-lang.org>
26         * lib/net/imap.rb (receive_responses): raise exception to
27         client_thread. Thanks to William Webber.
29 Mon Aug  4 09:22:53 2003  William Webber <wew@williamwebber.com>
31         * lib/net/imap.rb: convert RD to RDoc.
33 Mon Aug  4 02:34:05 2003  NAKAMURA Usaku <usa@ruby-lang.org>
35         * win32/win32.c (rb_w32_utime): never use utime() of C runtime.
36           [ruby-talk:77782]
38 Sun Aug  3 23:56:50 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
40         * eval.c (rb_call_super): should propagate previous block for
41           super call.  [ruby-talk:77884]
43 Sun Aug  3 22:07:47 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
45         * ext/tk/lib/tkentry.rb: support 'validatecommand' option of 
46           TkEntry/TkSpinbox widget
48         * ext/tk/sample/{demos-en,demos-jp}/spin.rb: add
50 Sun Aug  3 19:25:28 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
52         * eval.c (call_trace_func): clear exception flag temporarily.
53           [ruby-dev:21090]
55 Sun Aug  3 18:03:44 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
57         * regex.h (re_mbctab): should refer to RUBY_EXPORT.  [ruby-ext:02199]
59         * lib/un.h (help): new.  % ruby -run -e help cp
61 Sun Aug  3 08:53:06 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
63         * ext/tk/sample/{demos-en,demos-jp}/image3.rb: add 
65         * ext/tk/lib/tkcanvas.rb: bug fix on Tk object ID management
67         * ext/tk/lib/tktext.rb: ditto
69 Sun Aug  3 02:55:52 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
71         * process.c: modify macro to detect 'MacOS X' [ruby-talk:77849]
73         * ext/tcltklib/lib/tcltk.rb: bug fix ( NOT MAINTAINED : only
74           for running 'line2.rb' demo. )
76 Sun Aug  3 02:45:06 2003  Koji Arai  <jca02266@nifty.ne.jp>
78         * numeric.c (flo_to_s): get rid of buffer overflow.
80 Sat Aug  2 23:51:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
82         * io.c (appendline): clearerr(3) before raising exception, since
83           exception may be captured by rescue. [ruby-talk:77794]
85 Sat Aug  2 09:58:13 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
87         * ext/tk/lib/tk.rb: bug fix --- TkGrid failed to treat 
88           RELATIVE PLACEMENT
90         * ext/tk/sample/demos-en/, demos-jp/: add or modify some
91           widget demo scripts
93 Sat Aug  2 20:59:38 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
95         * lib/webrick/https.rb: change an option name.
96           :SSLCertStore -> :SSLCertificateStore.
98 Sat Aug  2 19:18:40 2003  Minero Aoki  <aamine@loveruby.net>
100         * lib/net/smtp.rb: respond_to? needs 2nd argument.
101           Thanks Jim Bob.  [ruby-talk:77796]
103 Sat Aug  2 15:11:54 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
105         * ext/extmk.rb (--no-undefined): annoying option removed.
107 Sat Aug  2 14:53:55 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
109         * lib/mkmf.rb (pkg_config): get configuration by pkg-config.  [new]
111         * ext/openssl/extconf.rb: use pkg_config.
113 Sat Aug  2 13:45:17 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
115         * gc.c: add "#pragma weak" for __libc_ia64_register_backing_store_base.
116           [ruby-dev:21072]
118 Sat Aug  2 14:02:39 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
120         * variable.c (classname): find regular class name if not set.
121           [ruby-dev:20496]
123 Sat Aug  2 09:58:13 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
125         * ext/tk/lib/tk.rb: bug fix --- forgot to entry a widget class 
126           name of 'labelframe' widget
128         * ext/tk/sample/{demos-en,demos-jp}/{labelframe.rb,paned1.rb,
129           paned2.rb,spin.rb}: add demo-scripts to the JP/EN widget demos
131 Sat Aug  2 05:04:30 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
133         * ext/tk/lib/tkentry.rb: bug fix of TkEntry#delete
135         * ext/tk/samples/: bug fix of some widget demos
137         * ext/tk/lib/tk.rb: support <TkVariable object> == <Symbol>
139         * ext/tk/lib/*.rb: freeze some object for security reason
141 Sat Aug  2 03:30:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
143         * class.c (rb_obj_singleton_methods): should not go up to
144           ancestors unless the recursive flag is set. [ruby-list:38007]
146         * eval.c (rb_yield_0): expand [] to nil if avalue is set.
147            [ruby-dev:21058]
149         * hash.c (env_each_key): use env_keys to avoid environment modify
150           on the fly.
152         * hash.c (env_each_value): use env_values for safety.
154         * hash.c (env_each): allocate environment array first.
156 Fri Aug  2 03:20:00 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
158         * lib/yaml/store.rb (YAML::Store#initialize): filename is first
159           argument.  Thanks Kent Dahl.
161 Sat Aug  2 00:49:31 2003  Minero Aoki  <aamine@loveruby.net>
163         * lib/net/http.rb: refine document.
165 Fri Aug  1 23:57:45 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
167         * gc.c (rb_gc_mark_locations): no need to swap arguments.
169         * gc.c (STACK_LENGTH): insufficient for growing up stack
170           architectures.
172         * gc.c (rb_gc, Init_stack) ditto.
174 Fri Aug  1 23:33:36 2003  Masatoshi Seki  <mas@snow.local.>
176         * rubytest.rb: set dldpath on darwin.
178 Fri Aug  1 23:07:38 2003  Minero Aoki  <aamine@loveruby.net>
180         * lib/net/http.rb: convert RD to RDoc. Thanks William Webber.
181           [ruby-doc:456]
183 Fri Aug  1 19:48:56 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
185         * ext/syck/rubyext.c (syck_emitter_write_m): forgot to declare
186           "self", making it default to "int".
188         * ext/syck/rubyext.c (syck_emitter_simple_write): ditto.
190         * gc.c (rb_gc): should mark backing store region on IA64.
192 Fri Aug  1 18:51:10 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
194         * process.c: bug fix --- preprocessor errors occur on OpenBSD-current
196 Fri Aug  1 17:13:23 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
198         * ext/openssl/extconf.rb: should replace literally.
200 Fri Aug  1 16:22:57 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
202         * io.c (rb_io_check_readable, rb_io_check_writable): ensure not
203           closed at first.
205         * io.c (rb_io_getline): check readable always.  (ruby-bugs:PR#1069)
207         * io.c (rb_io_each_byte): ditto.
209 Fri Aug  1 16:02:46 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
211         * io.c (READ_DATA_PENDING_PTR): cast to get rid of warnings.
213         * ext/socket/socket.c (unix_send_io, unix_recv_io): ditto.
215 Fri Aug  1 15:53:24 2003  NAKAMURA Usaku <usa@ruby-lang.org>
217         * win32/win32.c (isInternalCmd): shouldn't return if find end of str.
218           [ruby-talk:77678]
220 Fri Aug  1 13:45:14 2003  Nobuyoshi Nakada  <nobu@ruby-lang.org>
222         * eval.c (rb_call_super): propagate previous block if a block is
223           given.  [ruby-talk:77577]
225 Fri Aug  1 09:54:38 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
227         * array.c (rb_ary_fill): array length may be changed during the
228           block execution. [ruby-talk:77579]
230         * array.c (rb_ary_zip): ditto.
232         * array.c (rb_ary_fill): ditto.
234         * hash.c (env_reject_bang): length may be changed during the block
235           execution.
237         * hash.c (env_clear): ditto.
239 Fri Aug  1 04:58:55 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
241         * ext/tk/lib/tk.rb: bug fix --- forget to eval given block to 
242           TkRoot.new method
244         * ext/tk/sample/tkoptdb-safeTk.rb: new sample script
246 Fri Aug  1 00:52:58 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
248         * gc.c (Init_stack): IA64 requires STACK_LEVEL_MAX to be less than
249           magic number when optimizer turned on, regardless of rlimit
250           values.
252 Thu Jul 31 23:44:00 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
254         * lib/erb.rb: import erb-2.0.4b4.
256 Thu Jul 31 23:04:45 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
258         * ext/tk/sample/resource.en, ext/tk/sample/resource.jp: 
259           wrong resource file format
261         * ext/tk/lib/tk.rb: add Tk::Encoding.{encoding_convertfrom, 
262           encoding_convertto}
264         * ext/tk/lib/tk.rb: add TkOptionDB.read_with_encoding to read 
265           non-utf8 resource file
267 Thu Jul 31 23:02:47 2003  NAKAMURA Usaku <usa@ruby-lang.org>
269         * ext/etc/etc.c: revert getenv()'s prototype. use it only when _WIN32
270           is not defined.
272 Thu Jul 31 20:52:40 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
274         * ext/tk/lib/tk.rb: (IMPORTANT BUG FIX) scan of event keywords
275           doesn't work on recent versions of Tck/Tk
277         * ext/tk/lib/tk.rb: initialize error of instance variable on 
278           TkComposite
280         * ext/tk/lib/multi-tk.rb: initialize error on encoding-system on 
281           MultiTkIp
283         * ext/tk/lib/tk.rb: trouble on destroying widgets
285         * ext/tk/sample/demos-en/, demos-jp/: add JP and EN version of 
286           Ruby/Tk widget demos
288 Thu Jul 31 15:25:12 2003  NAKAMURA Usaku <usa@ruby-lang.org>
290         * array.c (rb_ary_collect): must get length of array for each
291           iteration. reported on [ruby-talk:77500], and fixed by
292           K.Sasada <ko1@namikilab.tuat.ac.jp> on [ruby-talk:77504]
294 Thu Jul 31 14:11:54 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
296         * ext/openssl/extconf.rb: move gmake specific features
297           into GNUmakefile.
299 Thu Jul 31 12:36:11 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
301         * bin/erb, lib/erb.rb: add explicit trim mode.
303 Thu Jul 31 04:59:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
305         * numeric.c (rb_num_coerce_relop): export function.
307 Thu Jul 31 08:18:00 2003  Nathaniel Talbott  <ntalbott@ruby-lang.org>
309         * lib/test/unit.rb: A useful return code is now set if tests fail when
310           running automatically using the Console::TestRunner.
312 Thu Jul 31 07:59:18 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
314         * ext/tk/lib/tk.rb: wrap the command-proc of TkScale --- pass 
315           the numeric object to the proc
317         * ext/tk/lib/tk.rb: better support for widgets created on 
318           Tk interpreter (without Ruby)
320         * ext/tk/lib/multi-tk.rb: a little more stable on Multiple Tk 
321           interpreters running
323 Thu Jul 31 00:17:19 2003  Shugo Maeda  <shugo@ruby-lang.org>
325         * lib/net/ftp.rb (return_code): obsolete.
327         * lib/net/ftp.rb (last_response_code): new method. lastresp is now
328           alias to last_response_code.
330         * lib/net/ftp.rb (last_response): new method.
332 Wed Jul 30 23:55:44 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
334         * marshal.c (w_object): check has been dropped. "_dump must return
335           string." [ruby-dev:21024]
337 Wed Jul 30 22:35:19 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
339         * lib/mkmf.rb (dir_config): allow multiple directories separated
340           by File::PATH_SEPARATOR.
342         * lib/mkmf.rb (create_makefile): DLDFLAGS include $LDFLAGS again.
343           [ruby-talk:76894]
345         * lib/mkmf.rb (init_mkmf): not default $LDFLAGS to LDFLAGS for
346           ruby itself, but default $DLDFLAGS to DLDFLAGS.
348 Wed Jul 30 16:17:06 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
350         * marshal.c (w_object): marshal_dump should not take any
351           argument.
353 Wed Jul 30 15:54:04 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
355         * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): should initialize
356           instance variables. [ruby-talk:77362]
358 Wed Jul 30 15:39:54 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
360         * ruby.c (proc_options): -F set compiled regular expression to $;.
361           [ruby-talk:77381]
363         * string.c (Init_String): no setter type check for $;
365 Wed Jul 30 15:10:02 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
367         * error.c (rb_raise): snprintf() termination moved to
368           win32/win32.c.
370         * win32/win32.c (valid_filename, str_grow): unused.
372         * win32/win32.c (NTLoginName, ChildRecord): make static.
374         * win32/win32.c (CreateChild): argument check.
376         * win32/win32.c (kill): should not call CloseHandle() when
377           OpenProcess() failed.
379         * win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): ensure buffer
380           terminated.  [ruby-talk:69672]
382 Wed Jul 30 10:54:10 2003  Shugo Maeda  <shugo@ruby-lang.org>
384         * lib/net/ftp.rb (get): fix wrong argument name. Thanks to William
385           Webber.
387 Wed Jul 30 10:31:37 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
389         * ext/iconv/iconv.c (iconv_convert): append unchanged portion
390           after overflow.  [ruby-dev:21006]
392         * ext/iconv/extconf.rb: check if iconv() 2nd argument is const.
394 Wed Jul 30 09:31:55 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
396         * configure.in (os2-emx): renamed from os2_emx, add flags to
397           CFLAGS and LDFLAGS, and remove lib prefix.  [ruby-dev:20993]
399         * file.c (rb_file_s_rename): retry with removing new file on
400           DOSISH.  [ruby-dev:21007]
402         * ext/socket/extconf.rb (sendmsg, recvmsg): check functions.
404         * ext/socket/socket.c (unix_send_io, unix_recv_io): raise
405           NotImplementedError unless system calls are available.
407         * ext/socket/socket.c (sock_initialize): rename from sock_init()
408           to get rid of conflict with OS/2 socket library.
410 Wed Jul 30 07:23:14 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
412         * ext/tk/lib/tkentry.rb: fix lack of methods for TkEntry
414         * ext/tk/lib/multi-tk.rb, ext/tk/lib/tk.rb, 
415           ext/tk/lib/tkdialog.rb, ext/tk/lib/tkentry.rb, 
416           ext/tk/sample/safe-tk.rb, ext/tk/sample/tktimer2.rb: bug fix
418         * ext/tk/lib/multi-tk.rb: MultiTkIp.new_* accept a block to 
419           eval under the new interpreter
421 Wed Jul 30 04:36:30 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
423         * ext/tcltklib/tcltklib.c, 
424           ext/tk/lib/tk.rb, ext/tk/lib/tkafter.rb: additional check of 
425           Tk interpreters' status for a little more safety
427 Wed Jul 30 02:37:12 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
429         * marshal.c (w_object): if object responds to 'marshal_dump',
430           Marshal.dump uses it to dump object.  unlike '_dump',
431           marshal_dump returns any kind of object.
433         * marshal.c (r_object0): restore instance by calling
434           'marshal_load' method.  unlike '_load', it's an instance
435           method, to handle cyclic reference.
437         * marshal.c (marshal_load): all objects read from file should be
438           tainted. [ruby-core:01325]
440 Wed Jul 30 01:47:51 2003  Hugh Sasse  <hgs@dmu.ac.uk>
442         * lib/timeout.rb (Timeout::timeout): execute immediately if sec is
443           zero.
445 Wed Jul 30 01:36:18 2003  Aron Griffis  <ruby-talk@griffis1.net>
447         * ext/socket/socket.c (socks_init): typo fixed. [ruby-talk:77232]
449 Wed Jul 30 00:48:43 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
451         * ext/socket/extconf.rb: the default value for --enable-socks is
452           taken from ENV["SOCKS_SERVER"]. [ruby-talk:77232]
454         * ruby.c (proc_options): add -W option. -W0 to shut up all warning
455           messages. [ruby-talk:77227]
457         * error.c (rb_warn): no message will be printed if the value of
458           $VERBOSE is "nil", i.e. perfect silence.
460         * ruby.c (verbose_setter): $VERBOSE value is either true, false,
461           or nil.
463         * io.c (Init_IO): no "read" check for $stdin.  in addition some
464           function names has been changed.
466 Tue Jul 29 23:10:19 2003  Yoshida Masato  <yoshidam@yoshidam.net>
468         * regex.c (re_match_exec): incorrect multibyte match.
470 Tue Jul 29 22:36:50 2003  Minero Aoki  <aamine@loveruby.net>
472         * lib/net/smtp.rb (send0): do taint check only when $SAFE > 0
474 Tue Jul 29 19:20:34 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
476         * lib/fileutils.rb (install): support preserve timestamp.
478         * instruby.rb (install): use FileUtils::install preserve mode.
480         * lib/un.rb: new.  % ruby -run -e cp -- -p foo bar
482         * lib/mkmf.rb: use un.rb instead of ftools.rb.
484         * MANIFEST: add lib/un.rb.
486         * ext/extmk.rb (INSTALL_PROG, INSTALL_DATA): modify verbose messages.
488 Tue Jul 29 18:55:22 2003  Minero Aoki  <aamine@loveruby.net>
490         * lib/net/smtp.rb: unify coding style.
492         * lib/net/http.rb: ditto.
494 Tue Jul 29 17:27:59 2003  NAKAMURA Usaku <usa@ruby-lang.org>
496         * ruby.h (LLONG_MIN): fix typo.
498 Tue Jul 29 16:38:44 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
500         * lib/net/smtp.rb (Net::SMTP::send0): add taint check.
502 Tue Jul 29 15:41:02 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
504         * instruby.rb (install): preserve the timestamp for Mac OS X ranlib
505           problem.
507 Tue Jul 29 01:14:51 2003  Rick Ohnemus  <rick_ohnemus@acm.org>
509         * ruby.h (LLONG_MIN): wrong value.
511 Mon Jul 28 22:57:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
513         * io.c (rb_f_getc): $stdin may not be IO. [ruby-dev:20973]
515 Tue Jul 29 16:20:36 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
517         * ext/tcltklib/tcltklib.c: bug fix and 
518           change mainloop_abort_on_no_widget_cmd => mainloop_abort_on_exception
519           ( to avoid thread timing trouble on accessing destroyed widgets )
521         * ext/tk/lib/multi-tk.rb: change default mode of 
522           mainloop_abort_on_exception on multi-tk.rb
524         * ext/tk/lib/multi-tk.rb: fix a bug of the procedure for 
525           'Delete' button on the safe-Tk frmae
527 Tue Jul 29 12:22:28 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
529         * ext/syck/token.c: prefixed many constants and definitions
530           with YAML_ to avoid name clash.
532         * ext/syck/gram.c: ditto.
534         * ext/syck/gram.h: ditto.
536 Tue Jul 29 12:15:37 2003  NAKAMURA Usaku <usa@ruby-lang.org>
538         * ext/etc/etc.c: add real prototype to getenv().
540         * win32/win32.h: add arguments to definitions of functions if possible.
542 Tue Jul 29 08:05:30 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
544         * ext/tk/lib/tk.rb, ext/tk/lib/tkdialog.rb, ext/tk/lib/tktext.rb, 
545           ext/tk/sample/tkbiff.rb, ext/tk/sample/tkdialog.rb, 
546           ext/tk/sample/tkform.rb: bug fix ( tested with Ruby/Tk widget demo )
548 Tue Jul 29 04:22:08 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
550         * ext/syck/syck.h: Added 'syck' yacc prefixes.
552         * ext/syck/gram.c: ditto.
554         * ext/syck/token.c: ditto.
556         * ext/syck: Added ruby.h reference to source files.
558 Tue Jul 29 03:53:28 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
560         * ext/openssl/lib/net/https.rb (use_ssl=): raise ProtocolError if
561           connection is set up already.
563 Tue Jul 29 01:45:32 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
565         * ext/tcltklib/tcltklib.c: use RTEST()
567 Tue Jul 29 01:24:32 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
569         * ext/tcltklib/tcltklib.c: bug fix
571         * ext/tk/lib/multi-tk.rb: bug fix and pack options are pssed
572           to the safeTk container
574         * ext/tk/sample/safe-tk.rb: add example for pack options of 
575           safeTk container
577 Mon Jul 28 23:23:08 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
579         * file.c (Init_File): IO should include File::Const.
580           [ruby-dev:20964]
582 Mon Jul 28 18:53:03 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
584         * ext/openssl/extconf.rb: check again after pkg-config for MinGW on
585           Cygwin.
587 Mon Jul 28 15:32:04 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
589         * ext/stringio/stringio.c (strio_gets): only "gets" should set $_.
591         * ext/stringio/stringio.c (strio_getline): should not set $_ here.
593         * io.c (argf_to_s): argf.to_s returns "ARGF".
595         * io.c (set_defout_var, set_deferr_var): make $defout and $deferr
596           obsolete.
598         * io.c (set_input_var, set_output_var): allow $stdin, $stdout,
599           $stderr not to be instance of IO.
601         * io.c (rb_f_readline): forward method to current_file. gets,
602           readline, readlines, getc, readchar, tell, seek, pos=, rewind,
603           fileno, to_io, eof, each_line, each_byte, binmode, and closed?
604           as well.
606         * io.c (argf_forward): utility function to forward method to
607           current_file.
609 Mon Jul 28 06:10:13 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
611         * ext/tcltklib/tcltklib.c: bug fix
613         * ext/lib/tk/multi-tk.rb: bug fix
615         * ext/lib/tk/multi-tk.rb: add methods depend on Tcl's 'interp' command
617         * ext/lib/tk/multi-tk.rb: suppot safe-level control of each interpreter
619 Mon Jul 28 03:08:47 2003  Akinori MUSHA  <knu@iDaemons.org>
621         * lib/set.rb: each() should return self.
623 Mon Jul 28 01:35:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
625         * string.c (rb_str_chomp_bang): defer rb_str_modify() to actual
626           modify point.  other methods, replace, tr, delete, squeeze,
627           lstrip, and rstrip as well.
629         * string.c (rb_str_rstrip_bang): remove trailing '\0' at the end
630           of string.
632         * string.c (rb_str_lstrip_bang): do not strip '\0' from the left.
634 Sun Jul 27 21:16:30 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
636         * ext/openssl/extconf.rb: better support MinGW.  add
637           dir_config("kerberos") and with_config("pkg-config").
639         * mkconfig.rb: initialize global variables to avoid warnings.
641 Sun Jul 27 19:35:06 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
643         * ext/tcltklib/tcltklib.c: add some methods to support
644           multiple interpreters (low level)
646         * ext/tk/lib/multi-tk.rb: new library to support multiple Tk 
647           interpreters (high level)
649         * ext/tcltklib/demo/safeTk.rb: new sample of safeTk interpreter
651         * ext/tk/sample/safe-tk.rb: new sample of multi-tk.rb
653         * ext/tk/lib/tk.rb: bug fix and add feature to supprt multi-tk
655         * ext/tk/lib/tkafter.rb: ditto
657 Sun Jul 27 14:43:37 2003  NAKAMURA, Hiroshi  <nahi@ruby-lang.org>
659         * lib/debug.rb: fix breakpoint parameter parsing/checking.
660           (?:(file|class):)(line_number|method)
662 Sun Jul 27 10:21:28 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
664         * lib/drb/unix.rb: add UNIXFileOwner, UNIXFileGroup.
666 Sun Jul 27 03:10:43 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
668         * io.c (io_reopen): avoid dup2() equal handles not to close itself and
669           to get rid of a msvcrt bug.  [ruby-dev:20919]
671 Sun Jul 27 00:37:16 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
673         * lib/tmpdir.rb: use GetWindowsDirectory, not GetSystemDirectory.
674           [ruby-talk:77073]
676 Sat Jul 26 21:25:21 2003  NAKAMURA Usaku <usa@ruby-lang.org>
678         * io.c (rb_fdopen): set errno if it's zero on win32 platforms.
680         * ext/openssl/ossl_ssl.c (TO_SOCKET): define special version when
681           _WIN32 is defined. this is ruby's problem, not OpenSSL.
683         * win32/win32.c: remove some old comments.
685 Sat Jul 26 14:26:57 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
687         * ext/tk/lib/tk.rb (TkCore::chooseDirectory): back up wrongly
688           removed method.
690 Sat Jul 26 14:14:12 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
692         * ext/stringio/stringio.c: includes Enumerable as well as IO.
693           [ruby-talk:77058]
695 Sat Jul 26 07:00:53 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
697         * lib/erb.rb: fix % line.
699 Sat Jul 26 05:31:09 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
701         * ext/openssl/ossl.h: fix comment.
703         * ext/openssl/ossl.c (ossl_debug): should enable if no va-args
704           macro supplied.
706 Sat Jul 26 04:04:36 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
708         * ext/openssl/extconf.rb: refine va-args macro detection.
709           [ruby-talk:76983]
711 Sat Jul 26 01:33:51 2003  NAKAMURA Usaku <usa@ruby-lang.org>
713         * ext/openssl/ossl_ssl.c (ossl_ssl_setup): need to pass the real
714           socket to SSL_get_fd on native win32 platforms.
716 Sat Jul 26 01:20:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
718         * variable.c (rb_mod_const_missing): "const_missing" should not
719           appear in the caller(); add call frame adjustment.
721         * eval.c (rb_method_missing): simplify call frame adjustment.
723 Fri Jul 26 00:04:25 2003  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
725         * ext/openssl/sample: add samples.
726           - cert2text.rb: dump certificate file as text.
727           - crlstore.rb: CRL store implementation.  Fetch CRL via HTTP when
728             http-access2 is installed.
729           - certstore.rb: certificate store implementation.
730           - cert_store_view.rb: certificate store viewer with FXRuby.  Uses
731             c_rehash.rb, crlstore.rb and certstore.rb.
733 Fri Jul 25 16:43:03 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
735         * ext/tcltklib/tcltklib.c: add TclTkIp#create_slave, 
736           TclTkIp#_make_safe and TclTkIp#safe?
738         * ext/tcltklib/MANUAL.euc: modify descriptions
740         * ext/tk/lib/tk.rb: bug fix [ruby-talk:76980] and modify to 
741           support multi Tk IPs
743         * ext/tk/lib/tkafter.rb: modify to support multi Tk IPs
745 Fri Jul 25 15:47:39 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
747         * ext/openssl/extconf.rb: add check for BN_rand_range() and
748           BN_pseudo_rand_range().
750         * ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise 
751           NotImplementedError if BN_rand_range() wan not defined.
753         * ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise 
754           NotImplementedError if BN_pseudo_rand_range() wan not defined.
756         * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_s_encrypt): avoid compiler
757           warning for OpenSSL-0.9.6.
759         * ext/openssl/ossl_pkcs7.c (ossl_pkcs7si_initialize): ditto.
761 Fri Jul 25 14:34:55 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
763         * ext/socket/socket.c (tcp_s_gethostbyname): was using
764           uninitialized size_t value. [ruby-talk:76946]
766 Fri Jul 25 13:38:38 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
768         * re.c (rb_reg_options_m): use rb_reg_options() to mask internal
769           flags.
771         * re.c (rb_reg_initialize_m): allow nil as third argument and
772           ignore, and mask code flags if the argument is given.
773           [ruby-dev:20885]
775         * re.c (rb_reg_options): get common flags directly.
777 Fri Jul 25 03:52:21 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
779         * lib/yaml/dbm.rb: replace indexes with values_at.
781 Fri Jul 25 02:55:59 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
783         * ext/openssl/extconf.rb: add check for libsocket and libnsl.
785         * ext/openssl/extconf.rb: use pkg-config to build CFLAGS and LDFLAGS.
787 Fri Jul 25 01:27:59 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
789         * ext/syck/emitter.c (syck_emitter_flush): accepts count
790           of bytes to flush.  anchor offsets now functional.
792         * ext/syck/syck.h (syck_emitter_flush): ditto.
794         * ext/syck/rubyext.c: ditto.
796         * ext/syck/token.c: URI escaping now supported.
798 Thu Jul 24 16:41:31 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
800         * lib/mkmf.rb (have_type): check if a type is defined.
802         * lib/mkmf.rb (check_sizeof): check size of a type.
804         * ext/dbm/extconf.rb: check if type DBM is defined.
805           [ruby-talk:76693]
807 Thu Jul 24 16:18:40 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
809         * ChangeLog (add-log-time-format): "%c" contains timezone on
810           XEmacs.
812 Thu Jul 24 16:05:22 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
814         * configure.in (AC_C_VOLATILE): check if volatile works.
816         * defines.h (volatile): removed.
818         * eval.c (rb_thread_group): Thread#group.  [new]
820 Thu Jul 24 15:50:42 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
822         * ext/openssl/extconf.rb: add check for win32 OpenSSL libraries.
824         * ext/openssl/extconf.rb: add check for __VA_ARGS__.
826         * ext/openssl/ossl.h: avoid non C99 compiler errors.
828 Thu Jul 24 13:32:56 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
830         * eval.c (thgroup_add): no warning for terminated threads.
832 Thu Jul 24 13:09:26 2003  Tanaka Akira  <akr@m17n.org>
834         * lib/pathname.rb: added.
836 Thu Jul 24 11:21:10 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
838         * ext/io/wait/extconf.rb: removed unnecessary backward
839           compatibility stuff.
841 Thu Jul 24 11:09:10 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
843         * ext/openssl/extconf.rb: revert use of dir_config.
845 Thu Jul 24 09:58:32 2003  NAKAMURA Usaku <usa@ruby-lang.org>
847         * ext/Win32API/lib/win32/resolv.rb: added.
849         * lib/resolv.rb: support Win32 platforms. based on Tietew's work
850           [ruby-dev:15573].
852 Thu Jul 24 04:05:46 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
854         * ext/openssl/ssl.h: undef X509_NAME and PKCS7_SIGNER_INFO to
855           avoid name confliction on mswin32.
857         * ext/openssl/ssl.c (ossl_protect_obj2bio): avoid VC++ warnings
858           in function prototype.
860         * ext/openssl/ssl.c (ossl_protect_membio2str): ditto.
862         * ext/openssl/ssl.c (ossl_protect_x509_ary2sk): ditto.
864 Thu Jul 24 03:44:04 2003  Michal Rokos  <m.rokos@sh.cvut.cz>
866         * ext/openssl/extconf.rb: cut check for OpenSSL version
868 Thu Jul 24 03:41:30 2003  NAKAMURA Usaku <usa@ruby-lang.org>
870         * ext/tcltklib/tcltklib.c (ip_init): need at least one statement after
871           label.
873 Thu Jul 24 01:48:03 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
875         * lib/cgi.rb (CGI::QueryExtension::[]): should return StringIO (or
876           Tempfile) for multipart/form.
878         * variable.c (rb_define_const): give warning for non constant
879           name. [ruby-core:01287]
881 Thu Jul 24 01:51:08 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
883         * lib/webrick: imported.
885         * MANIFEST: added webrick files.
887 Thu Jul 24 01:32:04 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
889         * lib/tmpdir.rb (tmpdir): new method.  remove TMPDIR.
890           use GetSystemWindowsDirectory(GetSystemDirectory), not GetTempPath.
892 Thu Jul 24 01:08:43 2003  GOTOU Yuuzou  <gotoyuzo@notwork.org>
894         * ext/openssl: imported.
896 Wed Jul 23 23:06:59 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
898         * file.c (DOSISH): better Cygwin support.
900 Wed Jul 23 19:13:21 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
902         * string.c (rb_str_split_m): the receiver may be empty string.
904 Wed Jul 23 18:43:00 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
906         * lib/erb.rb: import erb-2.0.4b1.
908 Wed Jul 23 18:21:52 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
910         * ext/io/wait: imported.
912 Wed Jul 23 16:07:35 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
914         * process.c: unify indentation
916         * configure.in: add --enable-setreuid option
918         * ext/tcltklib/tcltklib.c: TclTkIp.new accepts 'ip-name' and 'options'
920         * ext/tk/lib/tk.rb: support arguments of TclTkIp.new
922         * ext/tk/lib/tk*.rb: preparations for multi-Tk interpreter support
924 Wed Jul 23 15:49:01 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
926         * string.c (rb_str_lstrip_bang): strip NUL along with white
927           spaces. [ruby-talk:76659]
929         * string.c (rb_str_rstrip_bang): ditto.
931 Wed Jul 23 14:19:17 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
933         * lib/mkmf.rb (log_src, checking_for, create_header):
934           Logging.message is printf like format.
936 Wed Jul 23 10:11:15 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
938         * ext/iconv/iconv.c (check_iconv): check if Iconv instance.
940         * ext/iconv/iconv.c (iconv_convert): stringify argument.
942 Wed Jul 23 02:39:46 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
944         * process.c: add a module for raw syscalls to control UID/GID
946         * process.c: add modules for portable UID/GID control
948 Tue Jul 22 19:16:40 2003  Tanaka Akira  <akr@m17n.org>
950         * ext/iconv/iconv.c (iconv_failure_initialize): limit
951           inspect message.  [ruby-dev:20785]
953         * ext/iconv/iconv.c (rb_str_derive): share with original
954           string if possible.  [ruby-dev:20785]
956 Tue Jul 22 17:22:34 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
958         * variable.c (rb_mod_const_missing): new method. [ruby-core:00441]
960         * variable.c (rb_const_get_at): allow "const_missing" hook.
962         * variable.c (rb_const_get_0): ditto.
964         * eval.c (method_missing): rename from rb_undefined to clarify.
966         * eval.c (ruby_finalize_0): update exit status if any of END proc
967           raises SystemExit. [ruby-core:01256]
969         * signal.c (rb_trap_exit): wrap rb_eval_cmd
971         * eval.c (rb_exec_end_proc): reduce rb_protect().
973 Tue Jul 22 17:15:57 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
975         * MANIFEST (lib/cgi/session/pstore.rb, lib/yaml/baseemitter.rb):
976           added.
978 Tue Jul 22 10:52:19 2003  NAKAMURA Usaku <usa@ruby-lang.org>
980         * lib/tmpdir.rb: remove charcters after "\000" and regularize path.
982 Tue Jul 22 02:22:45 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
984         * numeric.c (num_equal): should not use rb_equal().
986         * string.c (rb_str_equal): should return nil for non string
987           operand to conform comparable convention. [ruby-dev:20759]
989 Tue Jul 22 00:19:19 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
991         * lib/tmpdir.rb: new library to get temporary directory path,
992           using GetTempPath on Win32 environment.
994         * lib/tempfile.rb: now uses tmpdir.rb.
996         * lib/cgi/session.rb, ib/drb/unix.rb: ditto.
998 Mon Jul 21 01:53:43 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1000         * string.c (rb_string_value_cstr): check null byte in the string
1001           before retrieving C ptr.  accessed via macro StringValueCStr.
1003         * file.c: use StringValueCStr to retrieve paths to system calls.
1005         * file.c (sys_fail2): raise error for two operand system calls
1006           such as rename, link, symlink.  (ruby-bugs PR#1047)
1008 Sun Jul 20 11:03:25 2003  UENO Katsuhiro  <katsu@blue.sky.or.jp>
1010         * ext/zlib/zlib.c (gzfile_read_header): gz->z.input may be nil after
1011           finishing reading a gzip header.
1013 Sat Jul 19 22:25:47 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1015         * string.c (rb_str_match2): add warning to "~string".
1016           [ruby-list:37751]
1018         * lib/net/ftp.rb (Net::FTP::open): takes block.  suggested by Gavin
1019           Sinclair in [ruby-core:01237].
1021 Sat Jul 19 19:03:24 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
1023         * wince/stdlib.c: add bsearch().
1025 Sat Jul 19 12:34:45 2003  David Black  <dblack@superlink.net>
1027         * lib/scanf.rb: import.
1029 Sat Jul 19 11:27:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1031         * lib/xmlrpc: import.
1033         * eval.c (thgroup_add): should return group for terminated thread
1034           case.
1036         * eval.c (thgroup_add): do not raise ThreadError on terminated
1037           thread addition for compatibility.  just warning.
1039 Sat Jul 19 04:50:56 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1041         * ext/iconv/charset_alias.rb, ext/iconv/extconf.rb: make wrapper
1042           script which maps charset names.  [ruby-dev:20625]
1044         * ext/iconv/iconv.c (charset_map): charset name map.
1046         * ext/iconv/iconv.c (iconv_dfree): no exception while
1047           finalization.
1049         * ext/iconv/iconv.c (iconv_s_conv): new method Iconv.conv.
1050           [ruby-dev:20588]
1052 Sat Jul 19 03:09:18 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1054         * ext/Win32API/lib/win32/registry.rb (Win32::Registry::Error):
1055           inherit StandardError instead of SystemCallError.
1057 Sat Jul 19 02:00:39 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1059         * eval.c (rb_attr): extra calls of method_added.  [ruby-talk:76361]
1061 Fri Jul 18 18:44:22 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1063         * lib/mkmf.rb (init_mkmf): clear $INSTALLFILES.  [ruby-dev:20727]
1065 Fri Jul 18 17:34:39 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1067         * lib/mkmf.rb (rm_f): use FileUtils.
1069         * lib/mkmf.rb (modified?): return mtime of the target if
1070           it exists and newer than times.
1072         * lib/mkmf.rb (install_files): add a current directory
1073           file even if it does not exist yet.
1075         * lib/mkmf.rb (configuration): do not add $LDFLAGS to
1076           DLDFLAGS.
1078         * ext/extmk.rb (extmake): check whether Makefile is newer
1079           than depend and MANIFEST.
1081 Fri Jul 18 14:57:19 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1083         * win32/win32.c (make_cmdvector): recognize quote within string.
1084           based on Nobu's patch ([ruby-win32:450]). [ruby-talk:75853]
1086 Fri Jul 18 13:04:36 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1088         * eval.c (rb_f_missing): VCALL is called only for LOCAL_ID.  no
1089           check required.
1091         * parse.y (primary): primary:tFID generates NODE_FCALL.
1092           [ruby-dev:20641]
1094 Thu Jul 17 18:50:26 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1096         * re.c (match_captures): rename from "groups".
1098 Thu Jul 17 17:57:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1100         * eval.c (rb_clear_cache_by_class): check both klass and origin.
1102 Thu Jul 17 13:46:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1104         * eval.c (ruby_init): set ruby_running to true after
1105           initialization.
1107 Thu Jul 17 13:42:53 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1109         * lib/ftools.rb (File::makedirs): do not handle "//" as a directory.
1111 Thu Jul 17 06:40:28 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1113         * ext/tk/lib/tk.rb: recover and fix typo : Tk.chooseDirectory 
1114           (Tk8.4 feature)
1116 Wed Jul 16 16:23:58 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1118         * eval.c (rb_proc_new): call svalue_to_avalue for yield argument.
1120 Wed Jul 16 00:31:00 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1122         * eval.c (rb_disable_super, rb_enable_super): deprecate.
1124         * eval.c (thgroup_s_alloc): re-implement group struct.
1126         * eval.c (thgroup_add): add check for enclose and frozen status.
1128 Tue Jul 15 19:50:49 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1130         * eval.c (rb_add_method, rb_alias): need to clear cache by
1131           ID when method defined in parent class is cached for
1132           grand child classes.  [ruby-dev:20672]
1134 Tue Jul 15 14:38:21 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1136         * lib/matrix.rb: remove elements conversion to_f, to_i, to_r.
1138         * lib/cgi/session/pstore.rb: add new file.
1140 Tue Jul 15 03:30:41 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
1142         * ext/syck/rubyext.c (syck_mark_emitter): forgot to rb_gc_mark the 
1143           outgoing IO object.
1145 Sun Jul 13 14:55:36 2003  Koji Arai  <jca02266@nifty.ne.jp>
1147         * process.c (proc_getgroups, proc_setmaxgroups): fix typo.
1149 Sat Jul 12 17:01:28 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1151         * struct.c (struct_entry): add prototype to avoid VC++ warnings.
1153 Sat Jul 12 04:43:57 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
1155         * ext/syck/emitter.c: new emitter code.
1157         * ext/syck/rubyext.c: Emitter class.
1159         * lib/yaml.rb: Load Syck emitter, if available.
1161         * lib/yaml/stream.rb: ditto.
1163         * lib/yaml/baseemitter.rb: underlying class for all emitters.
1165         * lib/yaml/rubytypes.rb: use BaseEmitter abstraction.
1167         * lib/yaml/emitter.rb: ditto.
1169 Sat Jul 12 04:23:13 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1171         * eval.c (rb_undef): need to clear cache for inherited class.
1172           (rubicon/builtin/TestModulePrivate.rb:test_undef_method)
1174 Sat Jul 12 01:21:54 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1176         * eval.c (avalue_to_svalue): typo.
1178         * eval.c (rb_load): rb_prohibit_interrupt must not underflow.
1180         * parse.y (NODE_STRTERM, tokadd_string, parse_string): moved
1181           string nest level from a static variable to NODE_STRTERM, to
1182           preserve it from word to word in %W/%w.
1184 Fri Jul 11 22:37:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1186         * configure.in (aix): needs ruby.imp even with gcc.
1187           (ruby-bugs:PR#1007)
1189 Fri Jul 11 18:37:37 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1191         * instruby.rb: do not handle directories. [ruby-dev:20613]
1193 Fri Jul 11 16:09:09 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1195         * util.c (ruby_strtod): exp should be less than MDMAXEXPT.
1197 Fri Jul 11 07:17:47 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1199         * ext/tk/lib/tk.rb: not create a Tcl/Tk interpreter if already 
1200           defined TkCore::INTERP
1202         * ext/tk/lib/tk.rb: bugfix on TkWindow#configure
1204 Thu Jul 10 14:42:02 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1206         * math.c (math_log): nan takes a dummy argument on Cygwin 1.5.0.
1208 Wed Jul  9 23:50:46 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1210         * regex.c (mbctab_sjis): 0x80 is not shift jis first byte.
1211           [ruby-dev:20516]
1213 Wed Jul  9 15:38:28 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1215         * instruby.rb: do not install shared libraries as man pages.
1217         * mkconfig.rb: support text-mount on Cygwin.
1219 Wed Jul  9 11:09:57 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1221         * re.c (match_entry): add prototype to avoid VC++ warnings.
1223 Wed Jul  9 03:48:27 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1225         * eval.c (rb_load): put rb_load_file() in a thread critical
1226           section. [ruby-dev:20490]
1228         * eval.c (compile): put rb_compile_string() in a thread critical
1229           section.
1231 Tue Jul  8 02:35:41 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1233         * variable.c (rb_const_get_0): should not warn if constant is not
1234           defined. (ruby-bugs-ja PR#509)
1236         * bignum.c (rb_big2dbl): give a warning on overflow.
1237           (ruby-bugs-ja PR#510)
1239         * util.c (ruby_strtod): change MDMAXEXPT from 511 to 308.
1241         * pack.c (utf8_to_uv): long is sufficient.  LONG_LONG is not
1242           required.
1244 Tue Jul  8 01:43:16 2003  Koji Arai  <jca02266@nifty.ne.jp>
1246         * bignum.c (rb_big2str): support 32 bit (without `long long' type)
1247           machines. (ruby-bugs-ja PR#512)
1249 Mon Jul  7 10:22:46 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1251         * ext/dbm/extconf.rb (gdbm_compat, qdbm): add check for gdbm_compat
1252           and qdbm.
1254 Mon Jul  7 01:34:49 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1256         * eval.c (rb_call_super): k->super maybe NULL if klass is Kernel.
1257            [ruby-dev:20519]
1259         * gc.c (obj_free): clear method cache when freeing class/module.
1261 Sat Jul  5  23:32:06 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1263         * eval.c (rb_mod_remove_method): allow "remove_method" to accept
1264           multiple arguments.
1266 Sat Jul  5 00:22:59 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1268         * node.h (NEW_NODE): cast arguments to rb_node_newnode().
1270 Fri Jul  4 21:48:44 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1272         * ext/syck/rubyext.c, ext/syck/syck.c, ext/syck/syck.h,
1273           ext/syck/token.c: C++ style comments are not allowed.
1274           (ruby-bugs:PR#1008)
1276 Thu Jul  3 23:41:30 2003  Tanaka Akira  <akr@m17n.org>
1278         * lib/timeout.rb: add optional exception argument for compatibility
1279           function.
1281 Thu Jul  3 14:22:46 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1283         * array.c (rb_values_at): extract common procedure from
1284           rb_ary_values_at.  follow DRY principle.
1286         * re.c (match_values_at): values_at should understand ranges.
1288         * struct.c (rb_struct_values_at): ditto.
1290         * struct.c (inspect_struct): inspect format changed; add "struct "
1291           at the top.
1293         * sprintf.c (rb_f_sprintf): "%p" specifier for inspect output.
1294           (RCR#69)
1296         * eval.c (rb_mod_undef_method): allow "undef_method" to accept
1297           multiple arguments. (RCR#146)
1299         * lib/timeout.rb: put timeout in Timeout module. (RCR#121)
1300           [ruby-talk:61028]
1302         * re.c (match_groups): new method added. (RCR#139)
1304         * variable.c (rb_mod_const_of): should exclude constant defined
1305           in Object, unless retrieving constants of Object.
1307 Thu Jul  3 12:13:05 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1309         * lib/mkmf.rb (VPATH): convert from Windows form to Unix form on 
1310           MinGW.  This fixes the build with GNU make 3.80-1 for Cygwin.
1312 Wed Jul  2 23:27:34 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1314         * string.c (rb_str_new4): do not allocate new string if original
1315           is frozen or already have copy-on-write entry. [ruby-talk:74940]
1317 Wed Jul  2 13:22:39 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1319         * string.c (rb_str_shared_replace): clear flags before copy.
1321         * string.c (rb_str_replace): ditto.
1323         * eval.c (rb_yield_0): override visibility mode for module_eval
1324           etc. (ruby-bugs-ja PR#505)
1326 Wed Jul  2 11:45:34 2003  Minero Aoki  <aamine@loveruby.net>
1328         * lib/net/smtp.rb: synchronize document with source code.
1330         * lib/net/pop.rb: ditto.
1332 Wed Jul  2 11:39:50 2003  Minero Aoki  <aamine@loveruby.net>
1334         * lib/net/smtp.rb: unify SMTP and SMTPCommand.
1336         * lib/net/smtp.rb: new exception class SMTPError.
1338         * lib/net/smtp.rb: new exception class SMTPAuthenticationError.
1340         * lib/net/smtp.rb: new exception class SMTPServerBusy.
1342         * lib/net/smtp.rb: new exception class SMTPSyntaxError.
1344         * lib/net/smtp.rb: new exception class SMTPFatalError.
1346         * lib/net/smtp.rb: new exception class SMTPUnknownError.
1348         * lib/net/smtp.rb: change critical section protect algorithm.
1350         * lib/net/smtp.rb (SMTP#do_start): check authentication args
1351           before all.
1353         * lib/net/smtp.rb: new method send_message (alias send_mail).
1355         * lib/net/smtp.rb: new method open_message_stream (alias ready).
1357         * lib/net/pop.rb: POPBadResponse is a POPError.
1359         * lib/net/pop.rb (POPMail#pop): ban ReadAdapter.
1361         * lib/net/pop.rb (POPMail#top): ditto.
1363         * lib/net/pop.rb (POP3Command): change critical section protect
1364           algorithm.
1366         * lib/net/pop.rb (POP3Command#auth): USER and PASS should be one
1367           critical block.
1369         * lib/net/pop.rb (POP3Command#retr): ban `dest' argument using
1370           iterator.
1372         * lib/net/pop.rb (POP3Command#top): ditto.
1374         * lib/net/protocol.rb: #read_message_to -> #each_message_chunk
1376         * lib/net/protocol.rb: #D -> #LOG
1378         * lib/net/protocol.rb: #D_off -> #LOG_off
1380         * lib/net/protocol.rb: #D_on -> #LOG_on
1382 Wed Jul  2 11:10:47 2003  Minero Aoki  <aamine@loveruby.net>
1384         * lib/net/http.rb: set old class aliases for backward
1385           compatibility. [ruby-talk:74863]
1387         * lib/net/protocol.rb: ditto.
1389 Wed Jul  2 01:32:40 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1391         * lib/net/pop.rb (Net::POP3#start): typofix.
1393 Tue Jul  1 22:08:19 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1395         * ext/tk/lib/tk.rb: TkWindow include TkWinfo
1397         * ext/tk/lib/tk.rb: treat unknown widget classes as subclasses
1398           of TkWindow
1400 Tue Jul  1 19:02:12 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1402         * parse.y (rb_intern): should use mbclen instead of mblen.
1404 Tue Jul  1 10:36:19 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1406         * class.c (rb_define_class, rb_define_module): also set constant under
1407           Object.  [ruby-dev:20445]
1409         * object.c (boot_defclass): ditto.
1411         * variable.c (rb_const_get_at, rb_const_get_0, rb_mod_const_at,
1412           rb_const_defined, mod_av_set, rb_const_assign): toplevel constants
1413           are now under Object, rb_class_tbl remains for GC.
1415 Mon Jun 30 17:53:06 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1417         * eval.c (mnew): ignore metaclasses have no influence, for rklass.
1418           [ruby-talk:74706]
1420 Sun Jun 29 06:59:07 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
1422         * lib/drb/drb.rb, lib/drb/invokemethod.rb: import drb-2.0.4
1423           (use LocalJumpError#reason)
1425 Sat Jun 28 12:28:54 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1427         * configure.in (rb_cv_stack_grow_dir): check stack growing direction.
1429         * eval.c (rb_thread_restore_context): prior configuration macro.
1431         * gc.c (ruby_stack_length): always return the address of lower edge.
1433         * gc.c (rb_gc_mark_locations): remove margin.  [ruby-dev:20462]
1435         * gc.c (rb_gc, Init_stack): prior configuration macro.
1437         * gc.c (Init_stack): add safety margin.
1439 Fri Jun 27 14:41:22 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1441         * string.c (rb_str_split_m): remove white spaces on the head of
1442           the last element, when limit is specified.  [ruby-talk:74506]
1444 Fri Jun 27 03:24:54 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1446         * io.c (io_fflush): need to check if closed after thread switch.
1447           [ruby-dev:20351]
1449         * io.c (fptr_finalize): ditto.
1451         * string.c (rb_str_rindex_m): fixed wrong fix.  should move backward
1452           first only when matching from the end.
1454 Thu Jun 26 21:34:49 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1456         * class.c (class_instance_method_list): get rid of warning about
1457           arguement type mismatch, and inline method_list().
1458           [ruby-core:01198]
1460 Wed Jun 25 14:40:33 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1462         * ext/tk/lib/tk.rb: add and modify methods --- 
1463           TkWidget.database_class, TkWidget.database_classname, 
1464           TkWidget#database_class, TkWidget#database_classname 
1466         * ext/tk/lib/tk.rb: instances of a subclass of TkToplevel or 
1467           TkFrame are created with ":class=>subclass" option as default.
1469         * ext/tk/sample/tkoptdb.rb: add a new part
1471 Wed Jun 25 12:52:58 2003  Matthew Dempsky  <jivera@flame.org>
1473         * class.c (rb_generic_class_instance_methods): merge argument
1474           check (and warning) into one function; following DRY principle.
1475           [ruby-core:01193]
1477 Wed Jun 25 05:49:10 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1479         * ext/tk/lib/tk.rb: add widget destroy hook binding to TkBindTag::ALL
1481         * ext/tk/lib/tkcanvas.rb: Although requiring manual control of GC, 
1482           memory eating problem of TkCanvas Items is fixed.
1484         * ext/tk/lib/tktext.rb: add some methods and bug fix
1486 Wed Jun 25 00:14:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1488         * variable.c (autoload_delete): should delete Qundef from iv_tbl.
1489           (ruby-bugs-ja PR#504)
1491 Tue Jun 24 16:46:07 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1493         * ext/tk/lib/tk.rb: bug fix on TkToplevel, TkFrame,
1494           TkPanedwindow, TkOptionDB
1496         * ext/tk/lib/tk.rb: TkOptionDB --- make it more secure to use procs 
1497           defined on resourceDB
1499         * ext/tk/sample/tkoptdb.rb, resource.ja, resource.en: 
1500           sample script how to use TkOptionDB.
1502 Tue Jun 24 14:22:41 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
1504         * lib/yaml/types.rb: replaced Kernel::Hash reference with Object::Hash
1505           from [ruby-talk:74270]
1507 Tue Jun 24 17:59:30 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1509         * eval.c (rb_yield_0): show yielded block position not only yielding
1510           point.  [ruby-dev:20441]
1512 Tue Jun 24 16:47:07 2003  Minero Aoki  <aamine@loveruby.net>
1514         * lib/net/http.rb (HTTPHeader#proxy_basic_auth): missing `@'.
1515           Thanks Douglas Koszerek. (ruby-bugs:PR975)
1517 Tue Jun 24 14:31:17 2003  Minero Aoki  <aamine@loveruby.net>
1519         * config.guess: have wrongly returned "alphaev56-unknown-linux-"
1520           on Linux/Alpha. [ruby-dev:20434]
1522 Tue Jun 24 04:54:46 2003  Minero Aoki  <aamine@loveruby.net>
1524         * configure.in: always add -mieee for gcc/alpha. [ruby-dev:20429]
1526 Tue Jun 24 02:40:09 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1528         * array.c (rb_ary_unshift_m): need to check number of arguments.
1529           [ruby-talk:74189]
1531 Mon Jun 23 23:59:56 2003  Minero Aoki  <aamine@loveruby.net>
1533         * io.c (io_close): missing prototype. [ruby-dev:20422]
1535         * ext/socket/socket.c (bsock_do_not_rev_lookup_set): ditto.
1537         * ext/win32ole/win32ole.c (foletype_guid, foletype_progid): ditto.
1539         * error.c (syserr_initialize): length argument of sprintf() is an
1540           int.
1542 Mon Jun 23 23:28:14 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1544         * MANIFEST: add wince files.
1546         * ext/tk/MANIFEST: add sample/tkmenubutton.rb.
1548 Mon Jun 23 17:40:58 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1550         * dir.c (find_dirsep): get rid of warnings.
1552         * eval.c (error_print): temporary value might be disposed by GC.
1554         * hash.c (env_has_value, env_index): should not increment NULL.
1556         * io.c (io_read, rb_io_sysread): not read when length is 0.
1558         * io.c (rb_io_reopen): ensure initialized IO.
1560         * io.c (rb_io_init_copy): sychronize file pointer.
1562         * io.c (rb_io_s_pipe): make exception proof.
1564         * string.c (rb_str_rindex_m): Fixnum 0 matched end of string.
1566 Mon Jun 23 16:18:12 2003  Tanaka Akira  <akr@m17n.org>
1568         * io.c (rb_open_file): initialize flags.
1570         * time.c (time_arg): initialize v[6] even when argc is 10 to
1571           avoid valgrind error.
1573 Mon Jun 23 14:22:44 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1575         * ext/tk/lib/tk.rb: bug fix on TkRoot and TkToplevel
1577 Mon Jun 23 08:24:01 2003  Florian Frank  <flori@nixe.ping.de>
1579         * string.c (rb_str_upto): generate sequence according to "succ"
1580           order.  formerly check was done by dictionary order.
1581           [ruby-talk:74138]
1583 Mon Jun 23 00:27:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1585         * string.c (rb_string_value): fill constant empty string along
1586           with setting ELTS_SHARED if str->ptr is NULL. [ruby-core:01179]
1588         * string.c (rb_string_value_ptr): ditto.
1590         * string.c (rb_check_string_type): ditto.
1592 Sun Jun 22 23:42:20 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1594         * string.c (str_gsub): move END(0) check before mbclen2().
1596         * string.c (scan_once): reduce END(0) check.
1598         * io.c (rb_io_initialize): accept fixnum mode.
1600         * eval.c (error_print): replace strchr() by memchr(), einfo may
1601           contain "\0".
1603         * pack.c (pack_unpack): range check for "@" move; initialize check
1604           for "m".
1606         * error.c (syserr_initialize): avoid buffer overflow.
1608         * file.c (rb_file_s_readlink): expand buffer until readlink
1609           succeed.
1611 Sun Jun 22 16:17:02 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1613         * ext/tk/lib/tk.rb: TkRoot.new and TkToplevel.new accept Wm 
1614           commands as elements
1616         * ext/tk/lib/tk.rb: TkMenu --- add some methods
1618         * ext/tk/lib/tk.rb: TkOptionMenubutton --- bug fix
1620         * ext/tk/sample/tkmenubutton.rb: sample of TkMenubutton and 
1621           TkOptionMenubutton
1623 Sat Jun 21 23:15:08 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1625         * eval.c (proc_invoke): should not propagate distination tag if
1626           tag is already handled in this level. (ruby-bugs-ja PR#501)
1628         * object.c (str_to_id): check for empty string before intern. 
1629           [ruby-talk:74006]
1631 Sat Jun 21 13:56:09 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
1633         * wince/Makefile.sub: undefine HAVE__SETJMP.
1635         * wince/resource.rb: include winver.h in wince3.0.
1637 Sat Jun 21 12:55:17 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1639         * ext/tk/lib/tk.rb: TkRoot.new and TkToplevel.new accept Wm commands 
1640           as elements of a hash argument. 
1642         * ext/tk/sample/tktimer2.rb: add comments about the usage of a 
1643           TkTimer object.
1645 Sat Jun 21 08:47:22 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1647         * ext/tk/lib/tk*.rb: remove direct-accesses to TkComm::INTERP and
1648           TkComm::INITIALIZE_TARGETS
1650         * ext/tk/lib/tk*.rb: use TkINTERP_SETUP_SCRIPTS constant for setting 
1651           up the interpreter
1653         * ext/tcltklib/tcltklib.c: support to create a safe interpreter 
1654           with safe-Tk
1656 Fri Jun 20 23:28:27 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1658         * eval.c (proc_invoke): should not propagate TAG_BREAK and
1659           TAG_RETURN from orphan Proc object. [ruby-core:01148]
1661 Fri Jun 20 15:04:28 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1663         * defines.h (PATH_ENV): name of PATH environment. [new]. 
1665         * defines.h (ENV_IGNORECASE): define for case insensitive platforms
1666           to access environment variables.
1668         * dln.c (dln_find_exe): use PATH_ENV instead of "PATH".
1670         * hash.c (env_delete, rb_f_getenv, env_fetch, rb_env_path_tainted,
1671           env_aset): ditto.
1673         * ruby.c (proc_options): ditto.
1675 Fri Jun 20 14:52:46 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1677         * ext/tcltklib/tcltklib.c: Tk interpreter returns TAINTED strings.
1679 Fri Jun 20 03:09:21 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1681         * parse.y (new_yield): distinguish "yield 1,2" and "yield [1,2]". 
1682           [ruby-dev:20360]
1684         * eval.c (rb_eval): support new_yield() change.
1686         * variable.c (rb_const_get_0): warn for Foo::BAR when BAR is a
1687           toplevel constant (i.e. a constant defined under Object).
1688           [ruby-list:36935]
1690         * parse.y (no_blockarg): separate no block argument check and
1691           ret_args argument processing. 
1693 Fri Jun 20 00:45:19 2003  NAKAMURA, Hiroshi <nahi@ruby-lang.org>
1695         * lib/csv.rb: import csv module.
1697 Thu Jun 19 22:51:41 2003  Masatoshi SEKI  <m_seki@mva.biglobe.ne.jp>
1699         * lib/drb.rb, lib/drb/drb.rb, lib/drb/eq.rb, 
1700           lib/drb/extserv.rb, lib/drb/extservm.rb, lib/drb/gw.rb, 
1701           lib/drb/invokemethod.rb, lib/drb/observer.rb, 
1702           lib/drb/timeridconv.rb, lib/drb/unix.rb: import drb-2.0.4b3
1704 Thu Jun 19 16:14:43 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1706         * ext/tcltklib/tcltklib.c (lib_do_one_event): change default
1707           value of the argument
1709         * ext/tcltklib/tcltklib.c (lib_do_one_event): returns true/false
1711         * ext/tcltklib/tcltklib.c: add TclTkLib::EventFlag::NONE ( == 0 )
1713         * ext/tcltklib/tcltklib.c: add set_no_event_wait() and 
1714           get_no_event_wait()
1716         * ext/tcltklib/MANUAL.euc: modify
1718         * ext/tcltklib/README.euc: ditto
1720         * ext/tk/lib/tk.rb: change default value of TkCore.do_one_event 
1721           argument
1723         * ext/tk/lib/tk.rb: add TkCore.set_no_event_wait(wait) and 
1724           TkCore.get_no_event_wait
1726         * ext/tk/lib/tk.rb: add Tk.exit ( == destroy root widget )
1728         * ext/tk/lib/tkafter.rb: rename TkAfter => TkTimer (TkAfter is
1729           an alias name)
1731         * ext/tk/lib/tkafter.rb: set_callback returns self
1733         * ext/tk/lib/tkafter.rb: continue() raises an exception, if already 
1734           running or no procedure.
1736         * ext/tk/lib/tkafter.rb: skip() raises an exception, if not running.
1738         * ext/tk/sample/tktimer2.rb: new sample for TkTimer class.
1740 Thu Jun 19 16:13:54 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1742         * rubytest.rb: add library path to include standard libraries.
1744 Thu Jun 19 13:13:10 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1746         * hash.c (env_delete, rb_f_getenv, env_fetch): case insensitive to
1747           access environment variables on DOSISH platforms.
1749 Thu Jun 19 00:51:47 2003  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
1751         * range.c (rb_range_beg_len): out_of_range check after adjusting
1752           end point. [ruby-dev:20370]
1754 Wed Jun 18 23:59:11 2003  Guy Decoux  <ts@moulon.inra.fr>
1756         * parse.y (call_args): the first argument to arg_cancat() should
1757           be NODE_LIST. [ruby-core:01151]
1759 Wed Jun 18 23:41:27 2003  Marc Cartright  <marc@isri.unlv.edu>
1761         * ext/zlib/zlib.c (zstream_run): In a particular situation,
1762           deflate/inflate will return Z_BUF_ERROR, even though another call
1763           is required by the zlib library.
1765 Wed Jun 18 19:46:21 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1767         * ext/tk/lib/tk.rb: bug fix
1769         * ext/tk/lib/tk.rb: rename 'no_create' option to 'without_creating'
1771         * ext/tk/lib/tk.rb: add TkWindow#pack_in, TkWindow#grid_in, 
1772           TkWindow#place_in
1774         * ext/tk/lib/tk.rb: add TkWindow#bind_class and TkWindow#database_class
1776         * ext/tk/lib/tk.rb: add TkBindTag.new_by_name and TkDatabaseClass 
1777           for binding to database class
1779         * ext/tk/lib/tk.rb: check varname whether already exsist or not. 
1780           (TkVarAccess.new)
1782         * ext/tk/lib/tk.rb: TkTextWin#bbox returns an array of four numbers
1784         * ext/tk/lib/tk.rb: autoload TkDialog2, TkWarning2
1786         * ext/tk/lib/tk.rb: scan event callback arguments and convert
1787           to proper type
1789         * ext/tk/lib/tk.rb: TkBindTag.new accepts a block
1791         * ext/tk/lib/tk.rb: If given taglist, TkWindow#bindtags(taglist) 
1792           returns taglist
1794         * ext/tk/lib/tk.rb: add TkWindow#bindtags=(taglist)
1796         * ext/tk/lib/tk.rb: Tk.focue and Tk.focus_lastfor return nil 
1797           if there is no target widget.
1799         * ext/tk/lib/tk.rb: Tk::Wm.client returns the argument string 
1800           when setting name
1802         * ext/tk/lib/tk.rb: TkGrid.columnconfiginfo and rowconfiginfo 
1803           given a slot return a number.
1805         * ext/tk/lib/tk.rb: TkWindow.grid_columnconfiginfo and 
1806           grid_rowconfiginfo --- ditto
1808         * ext/tk/lib/tk.rb: rename and define alias :: TkOption ==> TkOptionDB
1810         * ext/tk/lib/tk.rb: define alias :: TkTimer ==> TkAfter
1812         * ext/tk/lib/tk.rb: some instance methods change from public to private
1814         * ext/tk/lib/tk.rb: some TkComm methods change to module functions
1816         * ext/tk/lib/tk.rb: add support for -displayof option to some 
1817           TkWinfo methods
1819         * ext/tk/lib/tk.rb: bind, bind_append and bind_remove --- 
1820           returns the target of event-binding
1822         * ext/tk/lib/tk.rb: add Tk8.4 features
1824         * ext/tk/lib/tk.rb: add TkPaneWindow
1826         * ext/tk/lib/tkdialog.rb: bug fix
1828         * ext/tk/lib/tkdialog.rb: some methods return self
1830         * ext/tk/lib/tkdialog.rb: add TkTextMark#+(mod) and TkTextMark#-(mod)
1832         * ext/tk/lib/tkdialog.rb: add some methods
1834         * ext/tk/lib/tkcanvas.rb: bug fix and some methods return self
1836         * ext/tk/lib/tkentry.rb: some methods return self
1838         * ext/tk/lib/tkentry.rb: TkEntry#bbox returns an array of four numbers
1840         * ext/tk/lib/tkentry.rb: scan validatecommand arguments and 
1841           convert to proper type
1843         * ext/tk/lib/tkbgerror.rb: support to define a error handler by user
1845         * ext/tcltklib/tcltklib.c: [ruby-talk:60759]
1847 Wed Jun 18 13:50:06 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1849         * eval.c (rb_eval): should dispatch based on ID type.
1851 Wed Jun 18 12:53:42 2003  Minero Aoki  <aamine@loveruby.net>
1853         * eval.c (rb_yield_0): should restore scope_vmode during yield.
1854           [ruby-dev:20361]
1856 Wed Jun 18 01:13:36 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
1858         * ext/syck/rubyext.c (rb_syck_load_handler): merge key implemented.
1860         * ext/syck/rubyext.c (transfer_find_i): removed use of String#=~ in favor
1861             of Regexp#match.
1863         * lib/yaml.rb: YAML::try_implicit returns.
1865         * lib/yaml/rubytypes.rb: Regexps added for type matching.
1867         * lib/yaml/emitter.rb: fix String + nil error.
1869 Tue Jun 17 17:01:08 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
1871         * ext/syck/gram.c: added grammar for certain empty sequence entries.
1873         * ext/syck/handler.c, ext/syck/syck.c, ext/syck/syck.h: track bad anchors.
1875         * ext/syck/token.c: added pause token, tag possible circular references.
1877         * lib/yaml/rubytypes.rb: parsing YMD time as Date instance.
1879         * ext/syck/rubyext.c: ditto. DomainType, PrivateType, BadAlias classes.
1881 Tue Jun 17 21:28:27 2003  Ariff Abdullah <skywizard@time.net.my>
1883         * win32/win32.c (rb_w32_opendir): need to set errno. [ruby-talk:73761]
1885 Mon Jun 16 19:01:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1887         * eval.c: remove rb_cBlock.
1889 Mon Jun 16 18:06:33 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1891         * numeric.c (rb_fix2uint): renamed from rb_fix2int on IA64.
1893 Mon Jun 16 17:02:57 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1895         * eval.c (proc_invoke): format the message for localjump_error().
1897 Mon Jun 16 16:23:56 2003  NAKAMURA Usaku <usa@ruby-lang.org>
1899         * ext/dl/dl.c (rb_dl_callback): use rb_block_proc() instead of
1900           rb_block_new().
1902         * ext/win32ole/win32ole.c (ev_on_event): ditto.
1904 Mon Jun 16 16:06:47 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1906         * eval.c (proc_alloc): re-unification of Block and Proc.  Block
1907           class is no longer available.
1909 Mon Jun 16 14:43:14 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
1911         * bcc32/Makefile.sub: undefine HAVE_GETGROUPS.
1913 Sat Jun 14 16:58:41 2003  Guy Decoux  <ts@moulon.inra.fr>
1915         * regex.c (calculate_must_string): should handle option_set
1916           properly. [ruby-talk:73481]
1918         * regex.c (re_compile_fastmap): a bug in flag manipulation.
1919           [ruby-talk:73549]
1921 Sat Jun 14 17:59:59 2003  Guy Decoux  <ts@moulon.inra.fr>
1923         * eval.c (method_arity): should handle NODE_BMETHOD and
1924           NODE_DMETHOD. [ruby-core:01138]
1926 Fri Jun 13 09:24:39 2003  Shugo Maeda  <shugo@ruby-lang.org>
1928         * lib/net/ftp.rb (storebinary): seek correctly. Thanks, William Webber.
1930         * lib/net/ftp.rb (putbinaryfile): rescue FTPPermError.
1932 Thu Jun 12 22:13:13 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1934         * ext/tk/lib/tk.rb : add 'no_create' option to widget
1935           initialize method. 
1937         * ext/tk/MANIFEST : forgot to commit when added tkmacpkg.rb
1938           and tkwinpkg.rb
1940         * ext/tk/lib/README : ditto.
1942 Thu Jun 12 21:14:11 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1944         * ext/tk/lib/tk.rb : widget configure returns self (for method
1945           call chain)
1947         * ext/tk/lib/tkmacpkg.rb : Mac resource (not new but not
1948           included until now)
1950         * ext/tk/lib/tkwinpkg.rb : Win DDE and registry (not new but not 
1951           included until now)
1953 Tue Jun 10 14:26:30 2003  why the lucky stiff  <ruby-cvs@whytheluckystiff.net>
1955         * ext/syck/token.c: preserve newlines prepended to a block.
1957         * ext/syck/implicit.c (syck_match_implicit): added !merge and !default.
1959         * lib/yaml/constants.rb: remove '\z' escape.
1961         * lib/yaml/emitter.rb: ensure reset of @seq_map shortcut flag.
1963         * lib/yaml/encoding.rb: remove Unicode translation methods.
1965         * lib/yaml/rubytypes.rb: improved round-tripping of Strings.
1966           [ruby-core:1134]
1968 Tue Jun 10 01:07:54 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1970         * lib/irb.rb (IRB::Irb::eval_input): warn and exit if $SAFE >=3
1971           after input evaluation.
1973         * lib/irb.rb (IRB::Irb::eval_input): untaint input string.  now
1974           irb works for levels 1 and 2.
1976 Mon Jun  9 19:02:33 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
1978         * configure.in: checks presence of grp.h and setgroups().
1980         * process.c (proc_getgroups, proc_setgroups): raise
1981           NotImplementedError unless available.  [ruby-talk:73014]
1983 Mon Jun  9 18:09:11 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1985         * ext/tcltklib/tcltklib.c: fixed 100% CPU problem of Tk.mainloop
1987 Mon Jun  9 15:50:24 2003  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
1989         * ext/tcltklib/tcltklib.c: renewal Tk.mainloop
1991 Sun Jun  8 13:37:21 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
1993         * wince/setup.mak: set SUBSYSTEM in each platform.
1995         * wince/stdlib.c: fix mblen() bug.
1997 Sat Jun  7 22:22:03 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
1999         * ext/syck/rubyext.c (syck_loader_transfer): should not use
2000           rb_cProc directly, since type_proc may be Proc, Block, or
2001           Method.
2003         * parse.y (value_expr0): class and module statements should not be
2004           warned for "void value expression". [ruby-talk:72989]
2006 Sat Jun  7 01:46:41 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2008         * gc.c (add_final): should determine type by respond_to?
2010         * gc.c (define_final): ditto.
2012         * io.c (rb_io_ctl): should not depend on respond_to?
2014         * range.c (range_step): rb_check_string_type().
2016 Fri Jun  6 20:29:14 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2018         * eval.c (error_print): needs to be exception proof.
2020         * eval.c (error_handle, rb_longjmp): bails out when exception
2021           reentered.  (ruby-bugs-ja:PR#487), [ruby-core:01119],
2022           [ruby-core:01122]
2024         * eval.c (Init_Proc): pre-allocates critical error objects.
2026 Fri Jun  6 20:29:14 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2028         * parse.y (cmd_brace_block, do_block, brace_block): initialize block
2029           variables at the beginning of the block.  [ruby-talk:72521]
2031 Fri Jun  6 18:49:11 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2033         * process.c (proc_setgroups): new functions.
2035 Fri Jun  6 18:33:27 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2037         * gc.c (define_final): eliminate rb_f_lambda() call.
2039         * class.c (rb_scan_args): ditto.
2041         * signal.c (sig_trap): ditto.
2043         * hash.c (rb_hash_initialize): ditto.
2045         * variable.c (rb_f_trace_var): ditto.
2047         * ext/dl/dl.c (rb_dl_callback): ditto.
2049         * ext/win32ole/win32ole.c (ev_on_event): ditto.
2051 Fri Jun  6 16:10:01 2003  Minero Aoki  <aamine@loveruby.net>
2053         * lib/net/http.rb: define Net::HTTPResponse#to_ary for backward
2054           compatibility.  [ruby-talk:72927]
2056         * lib/net/protocol.rb: add warning.
2058 Fri Jun  6 13:30:57 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2060         * eval.c (ruby_cleanup): $SAFE is turned off in the finalization.
2061           Each END proc should preserve its own $SAFE level. [ruby-core:01119]
2063         * marshal.c (marshal_load): remove unused variable "hash".
2064           [ruby-core:01120]
2066         * hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860]
2068         * array.c (rb_ary_first): optional argument to retrieve first n
2069           elements.
2071         * array.c (rb_ary_last): optional argument to retrieve last n
2072           elements.
2074 Thu Jun  5 21:31:55 2003  Takaaki Uematsu <uema2x@jcom.home.ne.jp>
2076         * wince/stdlib.c: add mblen().
2078 Thu Jun  5 18:33:46 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
2080         * ext/curses/curses.c (window_s_allocate,curses_finalize):
2081           avoid VC++ warnings.
2083 Thu Jun  5 17:44:11 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2085         * ext/syck/rubyext.c (syck_parser_mark): was a bit heavy on the GC.
2087         * lib/yaml.rb (YAML::transfer): added.
2089 Thu Jun  5 16:11:50 2003  NAKAMURA Usaku <usa@ruby-lang.org>
2091         * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub
2092           (MISSING): link with missing/erf.c.
2094         * missing.h (erf, erfc): fix prototype.
2096         * missing/erf.c: new. [ruby-list:37753]
2098 Thu Jun  5 15:09:06 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2100         * math.c (math_erf,math_erfc): new function. [ruby-list:37753]
2102 Thu Jun  5 14:49:43 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2104         * ext/syck/rubyext.c: using GC nodes caused segfault. [ruby-core:1071]
2106 Thu Jun  5 13:48:57 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2108         * ext/syck/token.c: directives choked on a period.
2110         * ext/syck/gram.y: anchors work above a collection. [ruby-core:1071]
2112         * ext/syck/handler.c, ext/syck/syck.c: ensure a fresh strtable between
2113           parser iterations.
2115 Wed Jun  4 12:06:59 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2117         * eval.c (ruby_finalize): no longer need to turn off $DEBUG in the
2118           finalizer. (ruby-bugs-ja PR#473)
2120 Tue Jun  3 22:20:49 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2122         * eval.c (rb_call_super): should search superclass method based on
2123           orig_func, not last_func.
2125 Tue Jun  3 09:59:27 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2127         * eval.c (rb_call_super): inheritance line adjustment moved from
2128           rb_call(). [ruby-core:01113]
2130         * eval.c (rb_eval): use rb_call_super() to follow DRY principle.
2132 Mon Jun  2 02:20:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2134         * array.c (push_values_at): Array#values_at should work with
2135           ranges too.
2137         * range.c (rb_range_beg_len): length calculation was wrong.
2139         * eval.c (rb_call): should set T_ICLASS in the frame->last_class.
2140           [ruby-core:01110]
2142 Sun Jun  1 21:50:01 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
2144         * configure.in: should not use def file, use ld with
2145           --export-all-symbols option on Cygwin/MinGW.
2147         * defines.h: ditto.
2149         * cygwin/GNUmakefile.in: ditto.
2151         * ext/digest/defs.h: avoid warnings on Cygwin.
2153 Sun Jun 01 13:33:49 2003 Takaaki Uematsu <uema2x@jcom.home.ne.jp>
2155         * wince/string_wce.c: add strpbrk() for hpcpro support.
2157         * wince/setup.mak: add hpcpro(CE2.11) & armv4t(CE.NET) support.
2159         * wince/resource.rb: ditto.
2161         * wince/Makefile.sub: ditto.
2163 Sun Jun  1 10:38:28 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2165         * variable.c (rb_autoload_load): autoloaded constants under a module
2166           belong to the module.  [ruby-core:01094], [ruby-dev:20309]
2168 Sat May 31 04:36:54 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2170         * parse.y (rb_intern): should handle multibyte name.
2172 Fri May 30 23:18:01 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2174         * ext/syck/rubyext.c (rb_syck_mktime): seconds calculated wrong.
2176         * ext/syck/gram.c: flexibility to anchors and transfer methods on
2177           collections.
2179         * ext/syck/token.c: hex escapes.
2181         * lib/yaml/basenode.rb: YamlNode references changed to YAML::BaseNode.
2183 Fri May 30 22:28:04 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2185         * numeric.c (rb_num2uint, rb_fix2int): new function to convert
2186           values over INT_MAX.  [ruby-core:01099]
2188         * ruby.h (NUM2UINT, FIX2INT): ditto.
2190 Fri May 30 15:01:05 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2192         * ext/syck/token.c: preserve any indentation past an explicit
2193           indentation.
2195 Fri May 30 14:55:44 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2197         * eval.c (rb_Array): exclude Kernel#to_a instead of Object#to_a.
2198          (ruby-bugs-ja:PR#483)
2200         * lib/optparse.rb (OptionParser::Switch#parse_arg): not splat.
2202         * lib/optparse.rb (OptionParser::Switch#conv_arg): splat if no
2203           conversion supplied.
2205         * lib/optparse.rb (OptionParser::Switch::PlacedArgument#parse):
2206           override next switch after argument conversion.
2208 Fri May 30 14:41:34 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2210         * ext/syck/handler.c, ext/syck/syck.h: removed syck_fold_format().
2212         * ext/syck/gram.c: flexibility for aliases and anchors.
2214         * ext/syck/token.c: folding now handled in the tokenizer.
2216 Fri May 30 06:21:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2218         * variable.c (rb_autoload_load): should delete autoloaded
2219           symbol itself before load.  [ruby-core:01097]
2221         * variable.c (rb_mod_remove_const): must not return Qundef.
2223 Thu May 29 14:59:10 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
2225         * win32/win32.c (_CRTIMP): redefine _CRTIMP on MinGW.
2227         * configure.in: remove '-D__USE_CRTIMP' from XCFLAGS on MinGW.
2229         * win32/win32.c (NtMakeCmdVector): handle quotes only if not instring.
2231 Thu May 29 09:11:01 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2233         * eval.c (ev_const_defined, ev_const_get), variable.c
2234           (rb_const_get_at, rb_const_get, rb_mod_remove_const): use Qundef
2235           as autoload marker.  [ruby-dev:18103], [ruby-dev:18184]
2237         * eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
2238           Module#autoload, Module#autoload?.
2240         * variable.c (rb_autoload, rb_autoload_load, rb_autoload_p):
2241           manage autoload constants per classes/modules.
2243         * variable.c (rb_const_defined_at, rb_const_defined): return false
2244           for autoloading constants.
2246         * class.c (rb_define_class, rb_define_module), eval.c (rb_eval),
2247           variable.c (rb_mod_const_at, rb_const_assign): removed autoload
2248           stuff.
2250         * intern.h: prototypes; rb_autoload, rb_autoload_load,
2251           rb_autoload_p.
2253         * lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
2254           do not treat unmatched argument as an option.
2256 Wed May 28 08:44:26 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2258         * io.c (rb_f_syscall): type dispatch should be based on
2259           rb_check_string_type(), not FIXNUM_P(), because values may be a
2260           bignum.  [ruby-talk:72257]
2262 Tue May 27 20:33:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2264         * eval.c, util.c: removed duplicated includes/defines.
2266         * ext/socket/socket.c (sock_addrinfo): get rid of SEGV at NULL ptr
2267           String.  increase buffer size for 64bit platforms.
2269 Tue May 27 02:34:14 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2271         * eval.c (rb_call0): should pass the current klass value to
2272           block_invoke, which may be called via "super". [ruby-core:01077]
2274         * eval.c (block_invoke): now takes 4th argument "klass".
2276         * eval.c (block_alloc): should propagate BLOCK_PROC to
2277           ruby_block.
2279 Mon May 26 23:51:38 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2281         * marshal.c (r_object0): should not use "yield" method, use "call"
2282           instead. (ruby-bugs-ja PR#476)
2284 Mon May 26 21:39:46 2003  MoonWolf  <moonwolf@moonwolf.com>
2286         * lib/mkmf.rb, lib/optparse.rb, lib/tracer.rb: use Method#to_block
2287           instead of deprecated Method#to_proc.  (ruby-bugs-ja:PR#477)
2289 Mon May 26 21:21:20 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2291         * lib/optparse.rb (OptionParser::Switch::parse,
2292           OptionParser::order): use {Block,Proc}#call instead of deprecated
2293           #yield.
2295 Mon May 26 16:39:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2297         * eval.c (Init_Proc): Block/Proc separation. [huge change]
2299         * eval.c (block_arity): returns exact arity number for Procs out
2300           of methods. also gives 1 for {|a|..}.
2302         * string.c (rb_str_match): revert use of String#index for
2303           invocation like string =~ string.
2305         * eval.c (rb_Array): move Object#to_a exclusion hack from
2306           splat_value().  need to be in eval.c for a while.
2308 Sun May 25 23:48:21 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2310         * bignum.c (rb_quad_pack): should negate negative bignum.
2311           (ruby-bugs-ja:PR#474)
2313 Sun May 25 03:27:25 2003  Minero Aoki  <aamine@loveruby.net>
2315         * lib/net/smtp.rb: support LOGIN authentication, based on
2316           the patch by Kazuhiko Izawa. [ruby-talk:78981]
2318 Sat May 24 18:19:51 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
2320         * wince/Makefile.sub: add eMbedded Visual C++ 4.0 support.
2322         * wince/resource.rb: ditto.
2324         * wince/setup.mak: ditto.
2326         * wince/configure.bat: ditto.
2328         * wince/mkexports.rb: delete japanese comments.
2330 Fri May 23 18:34:05 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2332         * eval.c (rb_longjmp): get rid of reentering while debug warning.
2333           (ruby-bugs-ja:PR473)
2335 Fri May 23 15:16:16 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2337         * pack.c (pack_unpack): sign-extend if sizeof long is bigger than
2338           32.  (ruby-bugs-ja:PR#472)
2340 Fri May 23 14:19:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2342         * eval.c (ruby_finalize): turn off ruby_debug flag before calling
2343           at_exit procs and finalizers. (ruby-bugs-ja:PR473)
2345         * ext/tcltklib/tcltklib.c (lib_mainloop_core): OK to block if
2346           there's no other thread. (ruby-bugs:PR#861)
2348 Thu May 22 18:07:46 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2350         * ext/syck/token.c: single- and double-quoted root-level fix.
2352         * lib/yaml.rb (YAML::object_maker): can create object attributes (such as
2353           found in Exception class)
2355         * lib/yaml/rubytypes.rb: roundtripping of Exception and subclasses.
2357 Fri May 23 01:26:26 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2359         * object.c (rb_obj_clone): defer copying freezing state after
2360           calling initialize_copy().  [ruby-dev:20276]
2362 Thu May 22 17:12:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2364         * gc.c (run_final): use rb_thread_critical instead of DEFER_INTS.
2365           [ruby-dev:20272]
2367         * marshal.c: try to make ArgumentError and TypeError consistent.
2368           [ruby-core:01068]
2370 Thu May 22 15:46:37 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2372         * eval.c (rb_define_alloc_func): need not to disable
2373           rb_call_super() for allocation functions. [ruby-core:1065]
2375 Thu May 22 06:21:33 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2377         * ext/syck/rubyext.c (rb_syck_err_handler): raise ArgumentError on
2378           malformed YAML.
2380         * lib/yaml/rubytypes.rb: String#to_yaml was missing space indicators at
2381           the end of a line.
2383 Thu May 22 05:43:24 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2385         * ext/syck/rubyext.c (syck_parser_load): root-level false was returning
2386           nil.
2388         * ext/syck/token.c: root-level transfer method bug.
2390         * ext/syck/gram.c: root-level empty gave a parse error.
2392         * lib/yaml/rubytypes.rb: Symbol#to_yaml generating method call error.
2394 Thu May 22 02:46:38 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2396         * eval.c (rb_eval): splat NODE_RESTARY.  [ruby-dev:20268]
2398         * eval.c (rb_thread_fd_close): raise for writing threads.
2399           [ruby-dev:20269]
2401         * io.c (rb_io_close, io_reopen): ditto.
2403         * io.c (io_reopen): keep stdio objects for stdin, stdout,
2404           and stderr.  [ruby-dev:19442]
2406 Thu May 22 01:11:15 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2408         * parse.y (strings, word_list): must create new instance always.
2409           http://yowaken.dip.jp/tdiary/20030521.html#p02
2411         * parse.y (yylex): slight optimization.
2413 Wed May 21 23:07:08 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2415         * error.c (rb_sys_fail): should not specify errno explicitly.
2416           [ruby-dev:20264]
2418 Wed May 21 20:51:47 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2420         * Makefile.in, bcc32/Makefile.sub, win32/Makefile.sub,
2421           wince/Makefile.sub: update dependencies.
2423 Wed May 21 17:44:16 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2425         * error.c (syserr_initialize): prohibit specifying errno for
2426           subclasses of SystemCallError.  in addition, if initialize is
2427           called for SystenCallError instance, its class be changed.
2428           [ruby-dev:20257]
2430         * gc.c (run_final): to protect thread context switch, finalizers
2431           are wrapped in DEFER_INTS/ENABLE_INTS.
2433 Wed May 21 13:26:08 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2435         * lib/optparse.rb: get rid of warnings.
2437 Tue May 20 18:59:54 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2439         * eval.c (rb_thread_save_context): prohibit rb_gc_force_recycle()
2440           on thread saved ruby_dyna_vars. [ruby-dev:20236]
2442 Tue May 20 17:39:15 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2444         * object.c (init_copy): call initialize_copy at the end of copy
2445           process.
2447 Tue May 20 17:15:55 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2449         * error.c (syserr_initialize): use Errno constants as default
2450           errno for subclasses.  [ruby-dev:20241]
2452 Tue May 20 15:26:25 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
2454         * st.h: define ST_DATA_T_DEFINED for portability.
2456         * ext/syck/syck.h: add typedef, st_data_t for Ruby 1.6.
2458         * ext/syck/syck.c (syck_st_free_nodes): return int.
2460         * ext/syck/syck.c (syck_add_sym): cast the data to st_data_t
2461           to avoid error on bcc32.
2463         * ext/syck/syck.c (syck_lookup_sym): ditto.
2465         * ext/syck/syck.c (syck_free_parser): NULL is not integer.
2467 Tue May 20 13:29:04 2003  NAKAMURA Usaku <usa@ruby-lang.org>
2469         * win32/win32.c (kill): set errno after calling raise().
2471 Tue May 20 10:51:26 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2473         * eval.c (rb_f_missing): create exception instance by ordinal
2474           method.  [ruby-dev:20033]
2476         * error.c (rb_name_error, rb_sys_fail): ditto.
2478         * error.c (exc_to_s, exit_status, name_err_name,
2479           nometh_err_args, syserr_errno, syserr_eqq): access
2480           attributes.
2482         * error.c (name_err_initialize, nometh_err_initialize,
2483           syserr_initialize): initialize attributes.
2485 Tue May 20 10:26:56 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2487         * eval.c (rb_yield_0): give warning for multiple values for a
2488           block parameter.
2490         * eval.c (rb_yield_values): a function to yield multiple values.
2492         * array.c (sort_1): use rb_yield_values.
2494         * enum.c (min_ii, max_ii): ditto.
2496         * hash.c (rb_hash_update_block_i, delete_if_i, select_i,
2497           each_pair_i, env_each, env_reject_bang, env_select,
2498           env_update_i): ditto.
2500         * struct.c (rb_struct_each_pair): ditto.
2502         * eval.c (top_include): should include module in the current self,
2503           not ruby_top_self. [ruby-dev:20198]
2505         * eval.c (top_include): stop inclusion to ruby_wrapper; give
2506           warning.
2508 Mon May 19 18:54:30 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2510         * ext/syck/token.c, ext/syck/implicit.c: expanded character set to
2511           allow UTF-8, other Ruby encodings.
2513 Mon May 19 16:47:00 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2515         * ext/syck/syck.c, ext/syck/syck.h, ext/syck/token.c, ext/syck/gram.c:
2516           count line numbers only if line pointer has increased.
2518 Tue May 20 00:45:40 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2520         * dir.c (push_braces): do not push_braces() unless rbrace is found.
2521           (ruby-bugs-ja:PR#469)
2523 Tue May 20 00:09:41 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2525         * ext/pty/pty.c (pty_finalize_syswait): join (using Thread#value)
2526           before detach pid. [ruby-talk:71519]
2528 Mon May 19 23:02:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2530         * eval.c (PUSH_FRAME): save outer ruby_block. [ruby-list:37677],
2531           [ruby-dev:20202]
2533         * eval.c (BEGIN_CALLARGS): restore outer block by using
2534           ruby_block->outer.
2536         * eval.c (block_pass): do not alter block->prev, but block->outer.
2538         * array.c (get_inspect_tbl): warning on wrong condition.
2540 Mon May 19 16:13:57 2003  Minero Aoki  <aamine@loveruby.net>
2542         * class.c: add #include "version.h".
2544         * hash.c: ditto.
2546         * string.c: ditto.
2548 Mon May 19 15:33:27 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2550         * eval.c (localjump_xvalue): renamed exitstatus to exit_value
2551           since it's not exit "status" after all.
2553         * eval.c (localjump_error): add reason to LocalJumpError.
2555         * compar.c (rb_cmpint): raise error via rb_cmperr(), if cmp value
2556           is nil. now take new 2 arguments.
2558         * time.c (time_cmp): 2003-05-16 fix was incomplete.
2559           (ruby-bugs-ja:PR#458)
2561 Mon May 19 14:42:50 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2563         * object.c (rb_mod_cmp): stupid comparison fixed.
2565         * io.c (Init_IO): ARGF.path added (alias to ARGF.filename).
2566           [ruby-dev:20197]
2568 Mon May 19 13:58:03 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2570         * object.c (init_copy): rename copy_object as initialize_copy,
2571           since it works as copy constructor.
2573         * eval.c (rb_add_method): initialize_copy should always be
2574           private, like initialize.
2576 Mon May 19 13:51:50 2003  Minero Aoki  <aamine@loveruby.net>
2578         * re.c (rb_reg_quote): \n \r \f \v quoting was wrong.
2579           [ruby-dev:20203]
2581         * re.c (rb_reg_quote): rb_reg_quote(" ") should be "\\ ", not
2582           "\\s".
2584 Mon May 19 08:08:51 2003  Tadayoshi Funaba  <tadf@dotrb.org>
2586         * lib/date.rb: use warn() instead of $stderr.puts().
2588         * sample/cal.rb: ditto.
2590 Sat May 17 12:02:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2592         * array.c (get_inspect_tbl): check whether inspect_tbl value is a
2593           valid array. (ruby-bugs-ja PR#65)
2595         * array.c (inspect_ensure,rb_protect_inspect,rb_inspecting_p):
2596           use get_inspect_tbl().
2598 Sat May 17 11:50:26 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2600         * eval.c (rb_f_abort): call exit(1) if exception is raised.  This
2601           patch was made by Nobuyoshi Nakada <nobu.nokada@softhome.net> on
2602           2002-05-30.  (ruby-bugs-ja PR#236)
2604         * signal.c: disable Ruby's interrupt handler at the beginning.
2605           (ruby-bugs-ja PR#236)
2607 Sat May 17 02:17:42 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2609         * lib/rational.rb (Integer::denominator): fixed typo.
2610           (ruby-bugs-ja:PR#466)
2612 Sat May 17 00:18:11 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2614         * ext/socket/socket.c (ruby_connect): connect() after EINPROGRESS
2615           returns EINVAL on some platforms, need to check true error
2616           status.  [ruby-core:01037]
2618 Sat May 17 00:21:51 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2620         * object.c (rb_class_allocate_instance): singleton class check
2621           moved to rb_obj_alloc(). (ruby-bugs-ja PR#345)
2623 Fri May 16 23:55:50 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2625         * re.c (rb_reg_quote): should escape white space characters,
2626           \t, \f, \n, \r. (ruby-bugs-ja PR#231)
2628 Fri May 16 12:40:40 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2630         * eval.c (block_pass): chain previous block to the pushing block.
2631           [ruby-list:37677]
2633         * time.c (time_cmp): does not compare with numbers for
2634           interchangeability. (ruby-bugs-ja:PR#458)
2636 Thu May 15 21:55:54 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2638         * ext/syck/gram.c: fixes to one-line documents and end of stream
2639           documents.
2641         * ext/syck/syck.c, ext/syck/syck.h: add root_on_error to parser
2642           struct, specifying the symbol to be returned on a parse error.
2644 Thu May 15 18:44:31 2003  Tanaka Akira  <akr@m17n.org>
2646         * lib/open-uri.rb (OpenURI::Redirect#initialize): call super to
2647           initialize mesg.
2649         * lib/open-uri.rb (OpenURI::Meta#charset): call block to guess charset
2650           if block is given and charset is not given.
2652 Thu May 15 16:55:16 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2654         * object.c (rb_mod_le): returns nil if two classes/modules are not
2655           in class-superclass relationship.
2657         * object.c (rb_mod_cmp): uses new rb_mod_le() behavior.
2659 Thu May 15 07:45:30 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2661         * ext/syck/rubyext.c, ext/syck/implicit.c: timestamp repairs to
2662           timezone and milliseconds.
2664         * ext/syck/syck.c (syck_parser_reset_levels): duplicate string literal
2665           to avoid warning.
2667 Thu May 15 13:26:48 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2669         * class.c (rb_class_instance_methods): default will be changed in
2670           1.8.1.
2672         * io.c (set_stdio): better message.
2674 Thu May 15 13:18:11 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2676         * io.c (set_stdio): $stdin, $stdout, $stderr now became read-only.
2678         * variable.c (readonly_setter): message changed.
2680 Thu May 15 09:50:51 2003  NAKAMURA Usaku <usa@ruby-lang.org>
2682         * ext/syck/syck.c (syck_parser_pop_level): add prototype.
2684         * ext/syck/syck.c (syck_strndup): should return value.
2686 Thu May 15 09:32:25 2003  NAKAMURA Usaku <usa@ruby-lang.org>
2688         * win32/win32.c (kill): fix typo and add signal 0 support.
2690 Wed May 14 20:09:26 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2692         * ext/syck/gram.c: sequence-in-map shortcut, transfer methods on
2693           sequence-in-sequence, memory leak in mapping merge.
2695         * ext/syck/syck.c: memory leak in domain anchoring.
2697         * lib/yaml/rubytypes.rb, lib/yaml/types.rb: eliminated 1.6.x code.
2699 Wed May 14 19:56:43 2003  NAKAMURA Usaku <usa@ruby-lang.org>
2701         * ext/syck/rubyext.c: add prototypes to avoid VC++ warnings.
2703 Wed May 14 12:23:46 2003  Minero Aoki  <aamine@loveruby.net>
2705         * lib/net/http.rb (Net::HTTP#start): should check whether HTTP
2706           session is opened before finishing. (ruby-bugs-ja:PR#463)
2708 Wed May 14 09:12:55 2003  Minero Aoki  <aamine@loveruby.net>
2710         * lib/net/http.rb: reduce warning. (ruby-bugs-ja:PR#462)
2712 Tue May 13 22:31:04 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2714         * lib/yaml/rubytypes.rb, lib/yaml/types.rb: using Object#object_id
2715           rather than deprecated Object#id.
2717         * ext/syck/token.c: changed ASCII escapes to octal notation.
2719         * ext/Setup*: added entries for static linking of Syck extension.
2721 Tue May 13 20:31:58 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
2723         * configure.in: add '--Wl,--enable-auto-import' to DLDFLAGS
2724           on Cygwin/MinGW.
2726         * configure.in: add '-D__USE_CRTIMP' to XCFLAGS on MinGW.
2728         * ext/syck/handler.c: add proper casts.
2730         * ext/syck/syck.c: ditto.
2732 Tue May 13 17:58:08 2003  NAKAMURA Usaku <usa@ruby-lang.org>
2734         * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define
2735           HAVE_FSYNC.
2737         * win32/win32.h (fsync): define as _commit().
2739 Tue May 13 15:35:35 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2741         * regex.c (re_match_exec): \Z changed to be consistent with new $
2742           (endbuf) behavior.
2744 Tue May 13 14:48:07 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2746         * eval.c (error_pos): use $deferr for output instead of stderr
2747           directly.
2749         * eval.c (error_print,error_handle,rb_longjmp,rb_thread_schedule):
2750           ditto.
2752 Tue May 13 06:34:19 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2754         * lib/yaml/rubytypes.rb: object and struct loading
2756         * lib/yaml.rb: YAML::detect_implicit will discover typing for a Ruby
2757           string
2759         * ext/syck/: Fixed portable comments, misuse of NULL and methods without
2760           return VALUEs.
2762 Mon May 12 18:08:21 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2764         * io.c (Init_IO): new variable $deferr which is default output
2765           port of error messages.
2767         * io.c (rb_warn_m): new method "warn". [new]
2769         * error.c (warn_print): use $deferr.
2771         * error.c (rb_bug): ditto.
2773         * error.c (err_append): ditto.
2775 Sun May 11 13:50:12 2003  Tanaka Akira  <akr@m17n.org>
2777         * lib/pp.rb: refine to_s test.
2779         * lib/pp.rb (PP::ObjectMixin#pretty_print): refine to_s handling.
2781 Sun May 11 06:32:13 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2783         * ext/syck/implicit.c, ext/syck/rubyext.c: transfer methods applied to
2784           native loading
2786         * ext/syck/token.c: fix for transfer methods on same indentation as nested
2787           mapping
2789         * lib/yaml/rubytypes.rb: all type names in lowercase
2791 Sat May 10 19:55:18 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2793         * ext/syck/gram.c ext/syck/handler.c ext/syck/implicit.c
2794           ext/syck/node.c ext/syck/rubyext.c ext/syck/syck.c
2795           ext/syck/syck.h ext/syck/token.c: updated to Syck 0.27
2797         * lib/yaml/loader.rb: new YAML::Loader class
2799         * lib/yaml.rb: loading of type families leverages YAML::DefaultLoader
2801 Sat May 10 19:00:08 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
2803         * wince/string.c: file removed.
2805         * wince/stdlib.c: file added.
2807 Sat May 10 16:17:02 2003  Shugo Maeda  <shugo@ruby-lang.org>
2809         * lib/net/imap.rb (decode_utf7): new method.
2811         * lib/net/imap.rb (encode_utf7): new method.
2813 Fri May  9 21:25:50 2003  why the lucky stiff <ruby-cvs@whytheluckystiff.net>
2815         * ruby/ext/syck, ruby/lib/yaml: Initial checkin of YAML substances.
2817 Fri May  9 16:38:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2819         * io.c (rb_io_reopen): It should be possible to reopen closed IO.
2820           [ruby-talk:70941]
2822         * io.c (rb_io_reopen): inherit original file mode unless specified.
2824 Thu May  8 18:44:09 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2826         * gc.c (rb_gc): check odd alignment stack on m68k machines.
2828 Thu May  8 12:56:04 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
2830         * compar.c (rb_cmperr): raise comparison failure.
2832         * intern.h: prototype; rb_cmperr
2834         * numeric.c (flo_gt, flo_ge, flo_lt, flo_le, fix_gt, fix_ge,
2835           fix_lt, fix_le): should fail unless the argument is comparable.
2836           (ruby-bugs-ja:PR#456)
2838         * numeric.c (int_upto, int_downto): should fail unless the
2839           argument is comparable.  (ruby-bugs-ja:PR#454)
2841 Wed May  7 13:30:11 2003  Masahiro TANAKA  <masa@ir.isas.ac.jp>
2843         * numeric.c (num_step): better error treatment of float values.
2845 Tue May  6 17:51:54 2003  Minero Aoki  <aamine@loveruby.net>
2847         * lib/net/pop.rb: rename method: POP3#mail_size -> n_mails
2849         * lib/net/pop.rb: rename method: POP3#bytes -> n_bytes
2851 Tue May  6 17:21:01 2003  Minero Aoki  <aamine@loveruby.net>
2853         * ext/bigdecimal/.cvsignore: new file.
2855         * ext/zlib/.cvsignore: new file.
2857 Tue May  6 14:39:36 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2859         * object.c (rb_obj_methods): list singleton methods if recur
2860           argument is false;  list all methods otherwise.
2862 Mon May  5 21:19:25 2003  Koji Arai  <jca02266@nifty.ne.jp>
2864         * ext/gdbm/gdbm.c (fgdbm_values_at): new method to replace
2865           select(index..).
2867         * ext/sdbm/init.c (fsdbm_values_at): ditto.
2869         * ext/dbm/dbm.c (fdbm_values_at): ditto.
2871         * ext/dbm/dbm.c (DBM::VERSION): defined.
2873         * ext/gdbm/testgdbm.rb: replace select with values_at.
2875         * ext/sdbm/testsdbm.rb: ditto.
2877         * ext/dbm/testdbm.rb: ditto.
2879         * ext/dbm/testdbm.rb (setup): DBM.open(path, 0400) cause EACCESS
2880           on Berkeley DB[234].
2882 Mon May  5 22:57:07 2003  Tadayoshi Funaba  <tadf@dotrb.org>
2884         * sample/cal.rb: use values_at instead of select.
2886         * sample/biorhythm.rb: ditto.
2888 Mon May  5 18:59:45 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
2890         * sample/test.rb: substitute 'select' with 'values_at'.
2892         * lib/date.rb: ditto.
2894         * lib/parsedate.rb: ditto.
2896 Mon May  5 00:46:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2898         * array.c (rb_ary_values_at): new method to replace select(index..).
2900         * hash.c (rb_hash_values_at,env_values_at): ditto.
2902         * re.c (match_values_at): ditto.
2904         * struct.c (rb_struct_values_at): ditto.
2906         * re.c (match_select): add iterator behavior.
2908 Sun May  4 19:08:53 2003  Tadayoshi Funaba  <tadf@dotrb.org>
2910         * lib/date/format.rb: synchronized with date2 3.3.2.
2912 Sun May  4 15:21:18 2003  Minero Aoki  <aamine@loveruby.net>
2914         * lib/net/smtp.rb: ESMTP -> SMTP transition wrongly fails.
2916 Sun May  4 15:06:37 2003  Minero Aoki  <aamine@loveruby.net>
2918         * lib/net/pop.rb: APOP did not work.  [ruby-dev:20149]
2920 Sat May  3 21:14:29 2003  Johan Holmberg  <holmberg@iar.se>
2922         * ext/curses/curses.c, ext/digest/sha2/sha2.c, ext/iconv/iconv.c,
2923           ext/racc/cparse/cparse.c: include "ruby.h" at the top to shut up
2924           "_FILE_OFFSET_BITS redefined" warning on Solaris.
2926 Sat May  3 11:00:12 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2928         * class.c (rb_class_protected_instance_methods): now gives
2929           warnings to show migration path.  The default will be reversed
2930           on Jan 2004.
2932 Sat May  3 00:58:53 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2934         * object.c (rb_obj_methods): now accepts recurse parameter.
2936         * lib/delegate.rb (Delegator::initialize): instance_methods
2937           etc. now recurse by default.  need to specify false.
2939 Sat May  3 00:22:00 2003  Minero Aoki  <aamine@loveruby.net>
2941         * lib/net/protocol.rb: reintroduce Protocol.protocol_param.
2943         * lib/net/http.rb: ditto.
2945         * lib/net/pop.rb: ditto.
2947         * lib/net/smtp.rb: ditto.
2949 Fri May  2 23:29:53 2003  Minero Aoki  <aamine@loveruby.net>
2951         * lib/net/protocol.rb: remove Protocol class.
2953         * lib/net/smtp.rb (SMTP): ditto.
2955         * lib/net/pop.rb (POP3): ditto.
2957         * lib/net/http.rb (HTTP): ditto.
2959         * lib/net/protocol.rb: remove Command class.
2961         * lib/net/smtp.rb (SMTPCommand): ditto.
2963         * lib/net/pop.rb (POP3Command): ditto.
2965         * lib/net/pop.rb: remove APOPCommand class.
2967         * lib/net/protocol.rb: remove Code class and its all subclasses.
2969         * lib/net/protocol.rb: remove Response class and its all
2970           subclasses.
2972         * lib/net/pop.rb (POPMail): new method unique_id (alias uidl).
2974 Fri May  2 18:17:37 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2976         * compar.c (cmp_gt): raises ArgumentError when "<=>" give nil.
2977           inspired by discussion on comp.lang.python.
2979 Fri May  2 17:37:01 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2981         * lib/cgi/session.rb (CGI::Session::initialize): updated to
2982           support 2003-04-23 change in cgi.rb [ruby-core:1002]
2984 Fri May  2 17:21:02 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
2986         * class.c (method_list): classify methods based on nearest
2987           visibility. [ruby-dev:20127]
2989         * class.c (rb_class_instance_methods): recurse by default.  other
2990           method listing methods as well.
2992 Fri May  2 09:38:06 2003  Warren Brown  <wkb@airmail.net>
2994         * string.c (rb_str_ljust): now takes optional argument to specify
2995           pad string. [ruby-talk:70482]
2997         * string.c (rb_str_rjust): ditto.
2999         * string.c (rb_str_center): ditto.
3001         * string.c (rb_str_justify): utility function.
3003 Fri May  2 04:10:59 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3005         * eval.c (rb_add_method): call singleton_method_added or
3006           method_added for every method definition (after ruby_running).
3007           [ruby-talk:70471]
3009         * array.c (rb_ary_reverse_bang): Array#reverse! should not return
3010           nil even for arrays sized less than 2.
3012 Thu May  1 23:18:01 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3014         * io.c (argf_eof): should not block after reading all argument
3015           files. (ruby-bugs-ja PR#449)
3017 Fri May  2 15:10:41 2003  Minero Aoki  <aamine@loveruby.net>
3019         * lib/fileutils.rb: use hashes to pass options.
3021         * lib/fileutils.rb: new option mkdir(:mode), mkdir_p(:mode).
3023         * instruby.rb: follow fileutils.rb feature change.
3025 Thu May  1 08:24:00 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3027         * regex.c (re_match_exec): $ _always_ matches at the end of string.
3029 Wed Apr 30 14:12:00 2003  wanowa.kimura@nifty.ne.jp (kimura wataru)
3031         * net/imap.rb: support THREAD extension.
3033 Sun Apr 27 23:13:20 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3035         * string.c (rb_str_to_i): disallow negative radix.
3036           [ruby-dev:20087]
3038 Sat Apr 26 23:34:42 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3040         * parse.y (open_args): warning message changed to "don't put space
3041           before argument parentheses".
3043 Sat Apr 26 14:25:00 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
3045         * wince/ : files removed.
3046                    (config, dll.mak, exe.mak, mswince-ruby17.def,
3047                     io.c, process.c, signal.c, string.c, time.c)
3049         * wince/ : files added.
3050                    (assert.c, Makefile.sub, mkexports.rb, io_wce.c,
3051                     process_wce.c, signal_wce.c, string_wce.c,
3052                     time_wce.c)
3054         * wince/configure.bat : like mswin32 style.
3056         * wince/direct.c : remove "static" at _currentdir.
3058         * wince/io.h : change definition.
3060         * wince/stdio.c : _fdopen -> fdopen.
3062         * wince/process.h : add _P_OVERLAY.
3064         * wince/time.h : change definition.
3066         * wince/wincemain.c : add wce_SetCurrentDir.
3068         * wince/wince.c : add wce_SetCurrentDir and wce_fopen.
3069                           fix GetModuleFileNameA to return correct "lpFileName".
3071         * wince/wince.h : remove #ifdef.
3073         * wince/sys/utime.h, utime.c : rename _utime to utime.
3075         * wince/sys/stat.c : expand relative directory in stat.
3077 Sat Apr 26 06:33:04 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3079         * io.c (argf_read): ARGF.read() should read all argument files.
3081 Fri Apr 25 18:46:00 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
3083         * gc.c: STACK_LEVEL_MAX=65535 on mswince.
3085 Fri Apr 25 18:40:07 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3087         * io.c (argf_read): read should not span two files. [ruby-dev:20073]
3089 Fri Apr 25 18:19:03 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3091         * eval.c (splat_value): split splat_value() and avalue_splat().
3093         * io.c: there's no way to set non-IO value to current_file, thus
3094           no need for argf_forward().
3096 Fri Apr 25 02:03:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3098         * eval.c (proc_invoke): Proc#yield should pass through retry and
3099           break like keyword yield. [ruby-talk:70034]
3101         * eval.c (proc_invoke): orphan Proc now raises LocalJumpError for
3102           break and retry again.
3104         * eval.c (rb_eval): ARGSCAT should splat the argument.
3106         * eval.c (splat_value): splat operation function.
3108 Thu Apr 24 23:37:02 2003  Dave Thomas  <dave@thomases.com>
3110         * lib/matrix.rb (Matrix#minor):  Used Range#size, which no longer
3111           exists.
3113         * lib/complex.rb (new!): Complex.new had been made private, but
3114           Kernel#Complex called it. Re-exposed as new!.
3116         * lib/matrix.rb (Matrix.row_vector): Fix method name typo
3118 Thu Apr 24 19:40:02 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3120         * ext/extmk.rb: add -Wl,--no-undefined to LDSHARED only
3121           if GNU ld is 2.11 or later.
3123 Wed Apr 23 14:05:40 2003  Dave Thomas <dave@pragprog.com>
3125         * lib/ipaddr.rb (include?): Support non-IPAddr parameters.
3126           [ruby-core:00980]
3128 Wed Apr 23 13:31:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3130         * lib/cgi.rb (CGI::QueryExtension::[]): always return Value
3131           object.
3133 Wed Apr 23 08:39:27 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3135         * ext/zlib/extconf.rb: bccwin32 is win32 too.
3137 Tue Apr 22 20:58:00 2003  Takaaki Uematsu  <uema2x@jcom.home.ne.jp>
3139         * ruby.c: don't call VirtualQuery in ruby_init_loadpath()
3140           on mswince.
3142 Tue Apr 22 19:08:53 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3144         * marshal.c (save_mantissa, load_mantissa): for interoperability
3145           should count cut-down bit from topmost.
3147 Tue Apr 22 09:20:40 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3149         * parse.y (arg_ambiguous): hopefully better message.
3151         * lib/cgi.rb (CGI::QueryExtension::initialize_query): to_ary
3152           removed.
3154 Tue Apr 22 06:06:22 2003  Tanaka Akira  <akr@m17n.org>
3156         * lib/resolv.rb (Resolv::DNS::Resource#hash): use XOR to accumulate
3157           hash value.
3159         * lib/tsort.rb (TSort#each_strongly_connected_component): don't use
3160           block argument.
3161           (each_strongly_connected_component_from): ditto.
3163 Mon Apr 21 21:59:48 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3165         * marshal.c: one more digit for decimal point.  [ruby-talk:69808]
3167 Mon Apr 21 21:25:59 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3169         * numeric.c (flo_is_finite_p): use finite() if available.
3171         * win32/win32.h (isinf, isnan): define as macro.
3172           [ruby-win32:00533]
3174         * bcc32/Makefile.sub, win32/Makefile.sub: no longer use
3175           missing/isinf.c, missing/isnan.c.
3177 Mon Apr 21 18:36:28 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3179         * bignum.c (rb_cstr_to_inum): unnecessarily long buffer was used
3180           for radix 9.  [ruby-dev:20057]
3182 Mon Apr 21 17:44:34 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3184         * parse.y (block_append, value_expr0, assign_in_cond,
3185           warn_unless_e_option, warning_unless_e_option, range_op,
3186           cond0): adjust line number in warning.
3188 Mon Apr 21 00:47:42 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3190         * sample/test.rb: avoid the MSVCRT *printf problem(float).
3191           [ruby-dev:20037]
3193 Mon Apr 21 00:11:15 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3195         * marshal.c (w_float): append least mantissa bits to get rid
3196           of roundoff problem.  [ruby-talk:69518]
3198         * marshal.c (r_object0): load least mantissa bits.
3200 Sun Apr 20 23:24:25 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3202         * win32/win32.c (NtInitialize): set the floating-point control word
3203           on bcc32.
3205         * win32/win32.h, bcc32/Makefile.sub: use missing/isinf.c, should not
3206           use _finite() because it returns 0 if NaN.
3208 Sun Apr 20 03:09:30 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3210         * parse.y (void_expr0): node might become NULL after calling
3211           remove_begin().
3213 Sat Apr 19 21:55:10 2003  Akinori MUSHA  <knu@iDaemons.org>
3215         * ext/Setup*: Add zlib and remove bogus and obsolete entries.
3217 Sat Apr 19 14:47:07 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3219         * gc.c (rb_gc): use rb_gc_mark_maybe() to mark registered C
3220           addresses.  C variables may not hold valid reference to Ruby
3221           objects. [ruby-core:00975]
3223 Sat Apr 19 00:56:13 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3225         * struct.c (rb_struct_eql): should compare values with "eql?".
3227 Fri Apr 18 23:29:08 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3229         * range.c (range_check): <=> returns nil for invalid values;
3230           should check.
3232 Fri Apr 18 15:26:50 2003  NAKAMURA Usaku <usa@ruby-lang.org>
3234         * error.c (rb_raise): workaround for some implementations of
3235           vsnprintf.
3237 Fri Apr 18 02:23:42 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3239         * regex.c (re_compile_pattern): should not set RE_OPTIMIZE_ANCHOR,
3240           if anychar_repeat is enclosed by parentheses.
3242 Fri Apr 18 01:49:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3244         * util.c (ruby_strtod): improved conversion accuracy.
3246 Thu Apr 17 14:39:23 2003  NAKAMURA Usaku <usa@ruby-lang.org>
3248         * ext/dbm/dbm.c (each_pair): add prototype to avoid VC++ warnings.
3250         * ext/readline/readline.c (Init_readline): follow readline 4.2
3251           prototype.
3253 Thu Apr 17 14:22:36 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3255         * parse.y (cond0): warn only range literals whose both side are
3256           literals.  [ruby-core:00964]
3258 Thu Apr 17 11:10:59 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3260         * ext/readline/readline.c: add the defined operator for bcc32.
3262 Wed Apr 16 00:14:06 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3264         * misc/ruby-mode.el (ruby-special-char-p): should test at the
3265           point if no argument.  fixed by Michael Scholz
3266           <scholz-micha@gmx.de>.
3268 Tue Apr 15 19:35:08 2003  Minero Aoki  <aamine@loveruby.net>
3270         * lib/fileutils.rb: rm_r should raise Errno::ENOENT if file
3271           does not exist ([ruby-core:958]).  Thanks Johan Holmberg.
3273 Tue Apr 15 19:12:21 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3275         * struct.c (rb_struct_hash): new methods Struct#hash, Struct#eql?.
3276           (ruby-bugs:PR#758)
3278 Tue Apr 15 16:05:11 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3280         * numeric.c (rb_fix2str): buffer was insufficient.
3281           (ruby-bugs-ja:PR#431)
3283 Mon Apr 14 19:45:56 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3285         * file.c (file_expand_path): root must follow buf when
3286           reallocated.  [ruby-talk:69339], [ruby-dev:20025]
3288 Mon Apr 14 03:22:33 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3290         * rubyio.h (struct OpenFile): add noraise flag to finalizer.
3292         * io.c (Init_IO): define $/, $-0, and $\ as string-only
3293           variables.
3295         * string.c (rb_str_split_m): does not generate empty string if
3296           the receiver is empty.
3298         * io.c (fptr_finalize): should raise error on EBADF for readable
3299           IOs as well.
3301 Mon Apr 14 15:54:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3303         * bignum.c (rb_cstr_to_inum, rb_big2str): allow 2-36 as radix.
3305         * numeric.c (rb_fix2str): ditto.
3307         * string.c (rb_str_to_i): ditto.
3309 Sun Apr 13 03:20:31 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3311         * lib/mkmf.rb (try_func): remove COMMON_HEADERS at first for
3312           performance.
3314 Sat Apr 12 20:59:40 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3316         * misc/ruby-mode.el (ruby-beginning-of-arg): substitute
3317           ruby-backward-arg.
3319         * misc/ruby-mode.el (ruby-calculate-indent): fixed wrong
3320           indentation in brace block and parentheses.
3322         * misc/ruby-mode.el (ruby-forward-sexp, ruby-backward-sexp):
3323           support special char literal, and negative arguments.
3325 Sat Apr 12 17:52:47 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3327         * file.c (rb_stat): use rb_check_convert_type() to retrieve IO.
3329 Fri Apr 11 19:00:14 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3331         * win32/win32.c (rb_w32_stat): check arguments.  [ruby-dev:20007]
3332           [ruby-win32:535]
3334 Fri Apr 11 15:56:08 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3336         * numeric.c (coerce_rescue): prevent inspected String from GC.
3338         * numeric.c (flo_eq, rb_dbl_cmp, flo_gt, flo_ge, flo_lt, flo_le,
3339           flo_eql): correct NaN comparison.  (ruby-bugs:PR#744)
3341         * sample/test.rb: NaN comparison test.
3343 Fri Apr 11 14:48:47 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3345         * file.c (rb_stat): dereference using StringValuePtr().
3347         * file.c (rb_file_s_stat): use rb_stat(). [ruby-dev:20007]
3349 Fri Apr 11 10:51:08 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3351         * lib/benchmark.rb (Benchmark::bm): get rid of warning.
3352           [ruby-talk:69124]
3354 Fri Apr 11 02:41:35 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3356         * io.c (set_stdin): assigned value must respond to "read" and
3357           "getc".
3359         * io.c (set_outfile): assigned value must respond to "write".
3360           (ruby-bugs-ja:PR#425)
3362 Thu Apr 10 21:12:19 2003  Minero Aoki  <aamine@loveruby.net>
3364         * lib/net/pop.rb: Exception line was accidentaly removed.
3365           [ruby-dev:19989]
3367 Thu Apr 10 18:42:13 2003  Tadayoshi Funaba  <tadf@dotrb.org>
3369         * array.c (rb_ary_times): added some checks for request size.
3371 Thu Apr 10 03:22:38 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3373         * variable.c (rb_mod_name): always return empty string for
3374           anonymous class/module.  (ruby-bugs-ja PR#424)
3376         * config.sub: stop forcing addition of -gnu to -linux.
3378         * variable.c (classname): refactoring.
3380         * variable.c (rb_class_path): __tmp__classpath__ handling moved
3381           from classname().
3383 Thu Apr 10 01:52:24 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3385         * eval.c (rb_obj_is_method): indefinite return value.
3387 Thu Apr 10 00:39:32 2003  Tanaka Akira  <akr@m17n.org>
3389         * regex.c (re_compile_pattern): /[\--\-]/ was warned.  warn /]/.
3391         * mkconfig.rb: escape `]' in regexp.
3393 Thu Apr 10 00:27:07 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3395         * time.c (time_strftime): RSTRING(format)->ptr might become NULL.
3397 Wed Apr  9 23:54:50 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3399         * variable.c (rb_obj_remove_instance_variable): better message.
3400           [ruby-talk:68987]
3402         * variable.c (rb_mod_remove_const): ditto.
3404         * object.c (rb_obj_ivar_get): ditto.
3406         * object.c (rb_obj_ivar_set): ditto.
3408         * parse.y (yylex): ditto.
3410 Wed Apr  9 21:51:20 2003  Dave Thomas  <Dave@Thomases.com>
3412         * eval.c (rb_mod_define_method): Allow UnboundMethod as
3413           parameter.
3415 Wed Apr  9 18:30:58 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3417         * eval.c (top_include): include module to wrapper module if
3418           wrapper is present. experimental.  [ruby-list:37539]
3420 Wed Apr  9 17:24:21 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3422         * gc.c (rb_gc_mark_children): introduce this function again; this
3423           is required when stack was very tight. [ruby-talk:68916]
3425 Wed Apr  9 15:49:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3427         * bignum.c (bigdivmod): small typo.
3429 Wed Apr  9 15:35:04 2003  NAKAMURA Usaku <usa@ruby-lang.org>
3431         * ext/readline/readline.c: include <unistd.h> only when
3432           HAVE_UNISTD_H is defined.
3434 Wed Apr  9 14:05:00 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3436         * marshal.c (w_object): preserve extended module on struct.
3437           (ruby-bugs-ja:PR#422)
3439 Wed Apr  9 03:43:14 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3441         * bignum.c (BIGZEROP): macro to determine if x is a bignum zero.
3443 Tue Apr  8 11:49:31 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3445         * eval.c (Init_Proc): make Method and UnboundMethod independent.
3446           They are like instance and its class. [ruby-core:00941]
3448         * parse.y (yylex): disallow global variables like "$1ve".
3449           [ruby-core:00945]
3451         * marshal.c (marshal_dump): Marshal.dump(0, false) should cause an
3452           error. (ruby-bugs-ja PR#421)
3454         * regex.c (re_compile_pattern): warn if '-' is the edge of
3455           character range.
3457 Mon Apr  7 15:49:09 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3459         * ext/socket/socket.c (sock_s_unpack_sockaddr_in): remove struct
3460           size check.  getnameinfo(3) can handle. [ruby-dev:19967]
3462 Mon Apr  7 01:33:31 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3464         * io.c (io_read): do not call rb_sys_fail() when required data
3465           length is zero. (ruby-bugs-ja PR#420)
3467         * eval.c (umethod_proc): should raise TypeError, instead of
3468           returning error causing Proc.  Following the principle of "fail
3469           early".  [ruby-core:00927]
3471 Sun Apr  6 18:29:21 2003  UENO Katsuhiro  <katsu@blue.sky.or.jp>
3473         * ext/zlib/zlib.c: the return value of GzipReader#getc must be
3474           unsigned.
3476 Sun Apr  6 00:35:37 2003  Tanaka Akira  <akr@m17n.org>
3478         * sample/exyacc.rb: use Regexp in gsub!.
3480 Sat Apr  5 23:41:28 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3482         * pack.c (pack_pack): small but serious typo.
3484 Sat Apr  5 04:23:05 2003  Warren Brown  <wkb@airmail.net>
3486         * sprintf.c (rb_f_sprintf): was decrementing width even if there
3487           is no sign character.
3489 Sat Apr  5 01:41:28 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3491         * eval.c (backtrace): skip internal allocator frame.
3492           (ruby-bugs-ja PR#416)
3494 Fri Apr  4 10:53:22 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3496         * eval.c (assign): should prepare mrhs by svalue_to_mrhs().
3498 Wed Apr  2 15:11:23 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3500         * README.EXT, README.EXT.ja (3.3): clarified -1 as free for
3501           Data_Wrap_Struct().  [ruby-dev:19881]
3503 Mon Mar 31 11:11:36 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3505         * eval.c (rb_f_missing): use "inspect" for T_OBJECT as well.
3507 Mon Mar 31 10:50:48 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3509         * hash.c (env_reject_bang): untaint key string.
3511         * hash.c (env_delete_m): execute block only if deleting key does
3512           not exist.
3514 Sat Mar 29 17:54:46 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3516         * pack.c (pack_pack): do not call rb_str_buf_cat() with NULL ptr,
3517           which causes SEGV; jump to grow instead. [ruby-dev:19944]
3519 Sat Mar 29 15:19:48 2003  Tanaka Akira  <akr@m17n.org>
3521         * instruby.rb, ext/extmk.rb, lib/benchmark.rb, lib/cgi.rb,
3522           lib/debug.rb, lib/getoptlong.rb, lib/optparse.rb, lib/time.rb,
3523           lib/date/format.rb, lib/irb/ruby-lex.rb lib/uri/common.rb: revert
3524           escape for `-' in character class.
3526 Sat Mar 29 09:48:35 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3528         * eval.c (avalue_to_svalue): use rb_check_array_type() again.
3529           Clarify how "to_ary" and "to_a" work. [ruby-talk:68155]
3531         * eval.c (svalue_to_avalue): ditto.
3533         * eval.c (svalue_to_mrhs): ditto.
3535         * eval.c (rb_eval): unary splat to use to_a, but we need a hack to
3536           exclude Object#to_a until it's removed.
3538         * object.c (rb_Array): check obj.respond_to?("to_a").  Currently
3539           all object respond_to "to_a", but Object#to_a will be removed.
3541         * range.c (Init_Range): undefine to_ary.
3543         * re.c (Init_Regexp): ditto.
3545 Sat Mar 29 09:47:52 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3547         * MANIFEST (ext/aix_mksym.rb): remove obsolete file.
3549 Fri Mar 29 06:21:24 2003  UENO Katsuhiro  <katsu@blue.sky.or.jp>
3551         * ext/zlib: merge from rough.
3553 Fri Mar 28 19:33:39 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3555         * variable.c (rb_class_path): hold temporary class path in a
3556           instance variable to get rid of GC.  [ruby-dev:19932]
3558         * variable.c (classname): remove temporary class path when exact
3559           name found.
3561 Fri Mar 28 18:29:23 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3563         * regex.c (re_compile_pattern): do not warn if "-" is at the top
3564           or last of character class.
3566 Thu Mar 27 12:10:15 2003  Tanaka Akira  <akr@m17n.org>
3568         * regex.c (re_compile_pattern): fix [:name:] handling.
3569           /[\[:digit:]]/ was treated as /[[:digit:]]/.
3570           /[[:-@]/ was treated as /[\[:\-@]/.
3571           /[%-[:digit:]]/ was treated as /[%-\[:digit:]\]/.
3573 Thu Mar 27 03:26:40 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3575         * string.c (rb_str_capitalize_bang): check length before upcase
3576           first character.  (ruby-bugs:PR#697)
3578 Wed Mar 26 20:25:10 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3580         * dln.c (dln_find_1): break if path list end, even for too long
3581           path names.  (ruby-bugs-ja:PR#412)
3583 Wed Mar 26 13:19:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3585         * eval.c (avalue_splat): new function to do unary * (splat)
3586           operator.
3588         * eval.c (avalue_to_svalue,svalue_to_avalue,svalue_to_mrhs): do
3589           not use implicit "to_ary" conversion.
3591         * ext/curses/curses.c (GetWINDOW,GetMOUSE): add taint check.
3593         * ext/curses/curses.c (curses_init_screen): ditto.
3595         * ext/curses/curses.c (window_initialize): ditto.
3597         * gc.c (os_each_obj): prohibit ObjectSpace#each_object in safe
3598           mode ($SAFE >= 4).
3600 Tue Mar 25 23:26:02 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3602         * signal.c (trap): return "DEFAULT" and "IGNORE" respectively for
3603           previous sighandler SIG_DFL and SIG_IGN. [ruby-talk:67860]
3605 Tue Mar 25 12:24:15 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3607         * eval.c (rb_yield_0): call avalue_to_mrhs() to assign block
3608           parameter |a|. [ruby-dev:19897]
3610         * ruby.c (ruby_set_argv): freeze argument strings.
3612 Tue Mar 25 12:01:54 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3614         * io.c (rb_io_initialize): should check rb_secure(4).
3616         * dir.c (dir_s_getwd): should check rb_secure(4).
3618         * object.c (rb_obj_infect): function version of OBJ_INFECT().
3620         * eval.c (rb_secure_update): new function to check object update.
3622 Tue Mar 25 10:18:05 2003  Minero Aoki  <aamine@loveruby.net>
3624         * ext/strscan/strscan.c: should infect also return values of
3625           #inspect.
3627         * ext/strscan/strscan.c: use snprintf() instead of sprintf().
3629 Mon Mar 24 16:55:04 2003  Takaaki Tateishi <ttate@ttsky.net>
3631         * ext/dl/dl.c: added rb_secure(4). (Thanks to Minero Aoki)
3633         * ext/dl/sym.c: ditto.
3635         * ext/dl/ptr.c: ditto.
3637 Mon Mar 24 00:09:02 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3639         * parse.y (block_append): warn unused literal.
3641 Sun Mar 23 22:22:04 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3643         * lib/jcode.rb (tr!, delete!, szueeze!): add empty string checking.
3645 Sun Mar 23 19:54:53 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3647         * gc.c (rb_gc_call_finalizer_at_exit): use free() if dfree is -1.
3649 Sat Mar 22 15:50:29 2003  Tanaka Akira  <akr@m17n.org>
3651         * time.c (make_time_t): try search_time_t if mktime/timegm is failed.
3653 Sat Mar 22 13:26:33 2003  Tanaka Akira  <akr@m17n.org>
3655         * lib/optparse.rb, lib/jcode.rb, ext/tk/lib/tk.rb: reorder character
3656           class /[\]\[]/ to /[\[\]]/ for readability.
3658 Sat Mar 22 12:44:15 2003  Tanaka Akira  <akr@m17n.org>
3660         * lib/date/format.rb, lib/uri/common.rb: escape `[', `]', `-' in
3661           character class in regexp to avoid warning.
3663 Sat Mar 22 07:39:32 2003  Ulf Betlehem  <flu@iki.fi>
3665         * io.c (rb_io_fread): may lose data on nonblocking read.
3667 Fri Mar 21 23:40:41 2003  Tanaka Akira  <akr@m17n.org>
3669         * regex.c (re_compile_pattern): fix previous change.
3671         * instruby.rb, ext/extmk.rb, ext/tk/lib/tk.rb, lib/benchmark.rb,
3672           lib/cgi.rb, lib/debug.rb, lib/getoptlong.rb, lib/jcode.rb,
3673           lib/optparse.rb, lib/time.rb, lib/date/format.rb,
3674           lib/irb/ruby-lex.rb: escape `[', `]', `-' in character class in
3675           regexp to avoid warning.
3677 Fri Mar 21 23:23:45 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3679         * regex.c (re_compile_pattern): give warning for unescaped square
3680           brackets and minus in character class. [ruby-dev:19868]
3682 Fri Mar 21 18:12:20 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3684         * eval.c (bmcall): missing type.
3686 Fri Mar 21 01:29:35 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3688         * sprintf.c (rb_f_sprintf): copy sign bits only if value is
3689           negative.
3691         * missing.h: include <stdarg.h> or <varargs.h> if HAVE_VSNPRINTF
3692           is not defined.
3694 Thu Mar 20 18:31:37 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3696         * lib/optparse.rb (OptionParser#order!): follow recent change
3697           of proc argument.
3699 Thu Mar 20 16:12:53 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3701         * numeric.c (flo_to_s): change format specifier to "%.15g" to
3702           avoid unnecessary 9s (e.g. 99.59999999999999). (ruby-bugs-ja PR#406)
3704 Thu Mar 20 16:03:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3706         * parse.y (stmt, primary): get rid of SEGV at empty or invalid
3707           condition.  (ruby-bugs-ja:PR#410)
3709         * parse.y (cond_negative): negate condition node when NODE_NOT.
3711 Thu Mar 20 10:45:29 2003  Tanaka Akira  <akr@m17n.org>
3713         * eval.c (bmcall): add volatile to avoid GC problem.
3715 Thu Mar 20 10:10:49 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3717         * eval.c (load_dyna): clear ruby_errinfo. (ruby-bugs-ja PR#409)
3719 Wed Mar 19 23:05:30 2003  NAKAMURA, Hiroshi <nahi@ruby-lang.org>
3721         * lib/tracer.rb (trace_func): save and recover Thread.critical state.
3722           Fixed by Fukumoto Atsushi <fukumoto@imasy.or.jp> [ruby-dev:19830]
3724 Wed Mar 19 02:55:46 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3726         * io.c (read_all): make str empty if given. (ruby-bugs-ja PR#408)
3728         * io.c (io_read): ditto.
3730         * io.c (rb_io_sysread): ditto.
3732 Tue Mar 18 18:24:03 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3734         * range.c: do not override min and max.
3736 Sun Mar 16 12:29:55 2003  Tanaka Akira  <akr@m17n.org>
3738         * lib/pp.rb (object_address_group): use to_s instead of name
3739           to get name of class.
3741 Fri Mar 14 08:53:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3743         * sprintf.c (remove_sign_bits): octal left most digit for negative
3744           numbers may be '3'. (ruby-bugs-ja PR#407)
3746         * sprintf.c (rb_f_sprintf): should prefix sign bits if bignum is
3747           negative, using sign_bits().
3749 Wed Mar 12 16:48:19 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3751         * io.c (prep_stdio): set binmode only if the file descriptor
3752           is not connected to a terminal on Cygwin.
3754 Wed Mar 12 11:23:49 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3756         * eval.c (avalue_to_mrhs): split argument passing and assignment
3757           conversion.
3759         * eval.c (svalue_to_mrhs): ditto.
3761         * eval.c (avalue_to_svalue): avalue_to_svalue([[1,2]]) should be
3762           [[1,2]], not [1,2] to wrap-around.
3764 Tue Mar 11 21:00:59 2003  Minero Aoki  <aamine@loveruby.net>
3766         * lib/net/smtp.rb: Digest string wrongly included '\n' when user
3767           name is too long (ruby-bugs-ja:PR#404).
3769 Tue Mar 11 20:07:01 2003  Minero Aoki  <aamine@loveruby.net>
3771         * lib/net/http.rb: speeding up by avoiding extra flush.
3772           (suggested by Brian Candler <B.Candler@pobox.com> [ruby-talk:66516])
3774 Tue Mar 11 04:30:12 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3776         * eval.c (massign): remove unnecessary array unpacking; it should
3777           be handled before massign() by svalue_to_mrhs().
3779         * eval.c (svalue_to_mrhs): '*a = v' value conversion to avalue
3780           (i.e. [1] => [[1]], [1,2] => [1,2]).
3782         * eval.c (rb_eval): use svalue_to_mrhs.
3784         * eval.c (rb_yield_0): ditto.
3786         * eval.c (proc_invoke): break from "Proc#yield" is legal.
3788 Mon Mar 10 23:19:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3790         * file.c (rb_find_file): need world writable directory check for
3791           relative paths too.
3793 Mon Mar 10 11:23:00 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3795         * file.c (rb_find_file): world writable directory check if
3796           $SAFE >= 1 (was $SAFE >= 2).
3798 Mon Mar 10 01:59:47 2003  Minero Aoki  <aamine@loveruby.net>
3800         * lib/net/pop.rb: do not dispatch LIST when a mailbox is empty.
3802         * lib/net/pop.rb: merge the 'STAT' patch from Frank S.Fejes
3803           <frank@oopdreams.com>, with modifications (listed below).
3805         * lib/net/pop.rb: new method Net::POP#mail_size.
3807         * lib/net/pop.rb: new method Net::POP#bytes.
3809         * lib/net/pop.rb: new method Net::POPCommand#stat.
3811 Sun Mar  9 19:30:25 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3813         * lib/fileutils.rb (mkdir, mkdir_p): revert.
3815         * instruby.rb (umask): umask 0022, not 0.
3817 Sun Mar  9 17:09:40 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3819         * lib/fileutils.rb (mkdir, mkdir_p): set mode to 0755.
3821         * Makefile.in (fake.rb): set ALT_SEPARATOR to the default value.
3823 Sat Mar  8 11:30:59 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3825         * eval.c (massign): fix a bug not to expand in assignment to sole
3826           lhs.  [ruby-dev:19766]
3828 Fri Mar  7 21:57:25 2003  Tanaka Akira  <akr@m17n.org>
3830         * lib/pp.rb (Kernel.pp): module function.
3831           (MatchData#pretty_print): new method.
3833 Fri Mar  7 20:27:19 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3835         * ext/tcltklib/extconf.rb (find_tcl, find_tk): return true if
3836           non-versioned found.  [ruby-dev:19759]
3838 Fri Mar  7 15:05:35 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3840         * ext/dbm/extconf.rb: add QDBM support.
3842 Fri Mar  7 12:59:39 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3844         * eval.c (massign): deal with sole lhs, assign rest args from
3845           converted array.  [ruby-dev:19751]
3847 Fri Mar  7 03:31:36 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3849         * parse.y (dsym): :"symbol string" style should not contain `\0'.
3851         * process.c (proc_detach): new method Process.detach(pid) which
3852           create background watcher thread to issue waitpid. [new]
3854         * process.c (rb_detach_process): utility function to detach
3855           process from C code.
3857         * ext/pty/pty.c (pty_finalize_syswait): terminate watcher thread,
3858           and detach child process (by creating new idle waitpid watcher
3859           thread).
3861         * ext/pty/pty.c (pty_syswait): may lost signal stopped child.
3863 Fri Mar  7 00:30:33 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3865         * ext/Win32API/Win32API.c: no longer use inline-asms.
3867         * ext/Win32API/extconf.rb: no need to add gcc options.
3869 Thu Mar  6 13:02:10 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3871         * parse.y (reswords): fix reswords list.
3873 Wed Mar  5 12:13:21 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3875         * configure.in: better YACC support on HP-UX.
3877 Wed Mar  5 05:55:20 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3879         * string.c (rb_str_cat): remove ptr NULL check and MEMZERO(). ptr
3880           must be non NULL.
3882 Tue Mar  4 23:12:07 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3884         * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define
3885           RUBY_EXPORT to export symbols.
3887         * defines.h: use RUBY_EXTERN instead of EXTERN.
3889         * intern.h, re.h, ruby.h, rubysig.h: ditto.
3891         * win32/win32.h: remove EXTERN definition.
3893 Tue Mar  4 17:54:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3895         * array.c (rb_ary_aref): raise TypeError if index is a symbol.
3896           [ruby-list:37217]
3898         * array.c (rb_ary_aset): ditto.
3900 Tue Nov 13 14:39:11 2001  WATANABE Tetsuya  <tetsu@jpn.hp.com>
3902         * missing/strftime.c: HP-UX support.
3904 Tue Mar  4 15:08:08 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
3906         * configure.in: better HP-UX support.
3908         * missing/strftime.c: ditto.
3910 Tue Mar  4 10:11:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3912         * io.c (rb_io_popen): do not call rb_io_close() directly, call
3913           "close" method instead. [ruby-dev:19717]
3915         * io.c (rb_io_s_open): ditto.
3917         * hash.c (rb_any_hash): remove DEFER_INTS.  all do_hash() calls in
3918           st.c are at the top of functions.  No reentrant problem.
3920 Tue Mar  4 01:19:21 2003  Akinori MUSHA  <knu@iDaemons.org>
3922         * ext/dl/MANIFEST: Exclude .cvsignore. [found by: eban]
3924 Tue Mar  4 01:17:08 2003  Akinori MUSHA  <knu@iDaemons.org>
3926         * ext/Win32API/MANIFEST: Belatedly add lib/win32/registry.rb.
3927           [found by: eban]
3929 Tue Mar  4 00:33:04 2003  Akinori MUSHA  <knu@iDaemons.org>
3931         * MANIFEST: Belatedly add Test::Unit files.  D'oh!
3933 Sun Mar  2 09:51:47 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3935         * marshal.c (w_nbyte): should output always via rb_io_write().
3937         * marshal.c (dump_ensure): ditto.
3939         * marshal.c (marshal_dump): should call "binmode" method, if it
3940           responds to.
3942         * marshal.c (r_byte): should input always via "getc" method.
3944         * marshal.c (r_bytes0): should input always via "read" method.
3946         * marshal.c (marshal_load): need not to set up FILE* fp;
3948 Mon Mar  3 11:29:04 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3950         * parse.y (arg): parse 'lhs = a rescue b' as 'lhs=(a rescue b)'.
3952 Mon Mar  3 02:53:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
3954         * io.c (rb_io_fread): should not clearerr() if there's no filled
3955           buffer (i.e. rb_io_fread() returning zero).
3957 Mon Mar  3 01:42:35 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3959         * misc/ruby-mode.el (ruby-expr-beg): escaped char syntax.
3961         * misc/ruby-mode.el (ruby-parse-partial): ditto.
3963         * misc/ruby-mode.el (ruby-parse-partial): no deep indent for
3964           block.
3966         * misc/ruby-mode.el (ruby-backward-arg): skip arguments backward.
3968         * misc/ruby-mode.el (ruby-calculate-indent): too deep indentation.
3970 Fri Feb 28 23:50:32 2003  NAKAMURA Usaku <usa@ruby-lang.org>
3972         * win32/win32.c (map_errno): map OS error to errno. [new]
3974         * win32/win32.c (pipe_exec, CreateChild, poll_child_status, waitpid,
3975           kill, link, rb_w32_rename, unixtime_to_filetime, rb_w32_utime): use
3976           map_errno() instead of using GetLastError() directly.
3978         * win32/win32.c (rb_w32_select, rb_w32_accept, rb_w32_bind,
3979           rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
3980           rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
3981           rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
3982           rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
3983           rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
3984           rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport,
3985           rb_w32_fclose, rb_w32_close): map winsock error to errno.
3987 Fri Feb 28 22:54:10 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
3989         * win32/win32.c (flock): supports larger files, and maps error
3990           code.
3992         * win32/win32.c (rb_w32_asynchronize): returns errno from child
3993           thread.
3995         * win32/win32.c (rb_w32_fclose, rb_w32_close): ensures unlocked.
3997 Wed Feb 26 17:38:16 2003  Tanaka Akira  <akr@m17n.org>
3999         * lib/open-uri.rb: replace Kernel.open as well.
4001 Tue Feb 25 23:03:08 2003  NAKAMURA, Hiroshi  <nahi@ruby-lang.org>
4003         * lib/debug.rb (DEBUGGER__::Context#debug_command): bp filename must
4004           be the basename of it.  [ruby-talk:65644]
4006 Mon Feb 24 17:49:35 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4008         * parse.y (yycompile): zero clear ruby_eval_tree_begin if
4009           compilation failed.
4011 Mon Feb 24 08:06:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4013         * string.c (str_new): need no MEMZERO().
4015 Sun Feb 23 17:57:06 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4017         * lib/fileutils (fu_stream_blksize): wrong logical condition.
4018           (and -> or).
4020 Sat Feb 22 03:12:56 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4022         * numeric.c (fix_gt): use rb_num_coerce_cmp() instead of
4023           rb_num_coerce_bin.
4025         * numeric.c (fix_ge, fix_lt, fix_le): ditto.
4027         * numeric.c (flo_gt, flo_ge, flo_lt, flo_le): ditto.
4029 Sat Feb 22 02:45:20 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4031         * eval.c (rb_thread_create): may called from place higher than
4032           rb_gc_stack_start.
4034         * gc.c (Init_stack): update rb_gc_stack_start if it is lower (or
4035           higher if stack grows down) than the previous value.
4037 Fri Feb 21 21:03:41 2003  Minero Aoki  <aamine@loveruby.net>
4039         * lib/fileutils.rb: new method FileUtils#copy_stream.
4041         * lib/fileutils.rb: new method FileUtils#compare_file.
4043         * lib/fileutils.rb: new method FileUtils#compare_stream.
4045         * lib/fileutils.rb: new method FileUtils#rmtree (alias of rm_rf).
4047 Fri Feb 21 17:19:27 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4049         * eval.c (rb_f_require): do not need to abort if a DLEXT file
4050           is not found.
4052 Fri Feb 21 13:39:25 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4054         * string.c (rb_str_cmp_m): should use LONG2NUM().
4056 Fri Feb 21 12:45:50 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4058         * string.c (rb_str_cmp_m): two small bugs fixed.
4060 Fri Feb 21 08:03:09 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4062         * gc.c (rb_gc_mark): inline rb_gc_mark_children().
4064         * gc.c (gc_sweep): new tactics to increase malloc_limit mildly.
4066 Fri Feb 21 05:16:14 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4068         * string.c (rb_str_cmp_m): return nil if str2 does not respond to
4069           both "to_str" and "<=>".
4071         * compar.c (cmp_gt): return nil if "<=>" returns nil (means
4072           incomparable).
4074         * compar.c (cmp_ge, cmp_lt, cmp_le): ditto.
4076         * compar.c (cmp_between): use RTEST(), since cmp_lt and cmp_gt may
4077           return nil.
4079 Thu Feb 20 19:05:51 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4081         * eval.c (rb_thread_start_0): main thread swapped by fork() may
4082           terminate rb_thread_start_0() successfully. call ruby_stop(0);
4083           this change was suggested by Rudi Cilibrasi
4084           <cilibrar@drachma.ugcs.caltech.edu>.
4086 Thu Feb 20 18:44:51 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4088         * file.c (file_expand_path): fix wrong behavior for root file.
4089           expand_path("..", "//machine/share") => "//machine/share"
4090           expand_path("..", "c:/a") => "c:/"
4091           expand_path("..", "/a") => "/"
4093 Thu Feb 20 18:11:01 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4095         * file.c (file_expand_path): should not upward beyond share name.
4097 Thu Feb 20 15:45:33 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4099         * missing.h (strtoul): fix prototype of strtoul.
4101 Thu Feb 20 10:11:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4103         * parse.y (clhs): allow "Foo::Bar = x".
4105 Thu Feb 20 04:07:06 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4107         * parse.y (primary): "self[n]=x" can be legal even when "[]=" is
4108           private.  changes submitted in [ruby-talk:63982]
4110         * parse.y (aryset): ditto.
4112         * parse.y (attrset): "self.foo=x" can be legal even when "foo="
4113           is private.
4115         * eval.c (is_defined): private "[]=" and "foo=" support.
4117         * eval.c (rb_eval, assign): ditto.
4119 Thu Feb 20 03:58:34 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4121         * eval.c (rb_eval): "foo=" should not always be public.
4123 Thu Feb 20 01:23:59 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4125         * eval.c (rb_thread_restore_context): inhibit interrupts in
4126           critical section while context switching.  [ruby-talk:64785]
4128 Wed Feb 19 18:27:42 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4130         * node.h (nd_cpath): nested class/module declaration.
4131           [EXPERIMENTAL]
4133         * eval.c (rb_eval): ditto.
4135         * gc.c (rb_gc_mark_children): ditto.
4137         * parse.y (cpath): ditto.
4139 Tue Feb 18 21:39:27 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4141         * eval.c (rb_call0): should not report uninitialized warning by
4142           attribute reader method.
4144         * variable.c (rb_attr_get): new function to get instance variable
4145           without uninitialized warning.
4147         * io.c (argf_to_io): should prefetch argv.
4149 Tue Feb 18 00:13:50 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4151         * misc/ruby-mode.el (ruby-comment-column): customize comment
4152           column.  [new]
4154         * misc/ruby-mode.el (ruby-deep-indent-paren): deep indentation
4155           parentheses.  [new]
4157         * misc/ruby-mode.el (ruby-expr-beg): fix for / after $?.
4159         * misc/ruby-mode.el (ruby-parse-partial, ruby-calculate-indent):
4160           deep indentation support.
4162         * misc/ruby-mode.el (ruby-forward-sexp, ruby-backward-sexp):
4163           move forward/backward across one balanced expression.  [new]
4165         * misc/ruby-mode.el (ruby-indent-exp): indent balanced
4166           expression.  [new]
4168         * misc/ruby-mode.el (ruby-electric-brace): indent before
4169           show matching parenthesis.  (contributed by NABEYA Kenichi)
4171 Mon Feb 17 14:36:56 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4173         * win32/win32.c (rb_w32_opendir, rb_w32_utime): need parens.
4175 Mon Feb 17 14:13:25 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4177         * win32/win32.c (link): implement with CreateHardLink().
4179         * win32/win32.c, win32/win32.h (rb_w32_utime): enable utime() to
4180           directory if on NT. [new] (ruby-bugs-ja:PR#393)
4182 Mon Feb 17 13:28:51 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4184         * file.c (file_expand_path): strip last slash when path is
4185           root.
4187 Sun Feb 16 19:22:31 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4189         * file.c (file_expand_path): buffer might be reallocated while
4190           expanding default directory.
4192         * file.c (file_expand_path): default directory was being
4193           ignored if path was full path with no drive letter, under
4194           DOSISH.
4196 Sun Feb 16 03:14:33 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4198         * io.c (prep_stdio, Init_io): always set binmode on Cygwin.
4200 Sat Feb 15 01:01:45 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4202         * file.c (file_expand_path): fix surplus path separators while
4203           expanding at root directory.  [ruby-dev:19572]
4205 Fri Feb 14 14:25:24 2003  akira yamada  <akira@arika.org>
4207         * lib/uri/generic.rb, lib/uri/ldap.rb, lib/uri/mailto.ldap: all foo=()
4208           returns arguments passed by caller.
4210         * lib/uri/generic.rb (Generic#to_str, Generic#to_s): removed to_str.
4211           Suggested by Tanaka Akira <akr@m17n.org> at [ruby-dev:19475].
4213         * lib/uri/generic.rb (Generic#==): should not generate an URI object
4214           from argument. Suggested by Tanaka Akira <akr@m17n.org> at
4215           [ruby-dev:19475].
4217 Thu Feb 13 11:54:50 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4219         * ruby.c (ruby_init_loadpath): ensures buffer terminated
4220           before use strncpy().
4222         * ruby.c (proc_options): avoid SEGV at -S with no arguments.
4223           script argument is in effect only when -e is not given.
4224           (ruby-bugs-ja:PR#391)
4226 Thu Feb 13 01:30:10 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4228         * eval.c (rb_thread_schedule): current thread may be dead when
4229           deadlock.  (ruby-bugs:PR#588)
4231 Thu Feb 13 00:28:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4233         * range.c (range_step): step might be float 0 < x < 1.
4235         * eval.c (rb_thread_schedule): pause if no runnable thread when
4236           there's only one thread.
4238 Thu Feb 13 00:09:47 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4240         * file.c (strrdirsep): ignore trailing directory separators.
4242         * file.c (rb_file_s_expand_path): File.expand_path(".","/") should
4243           return "/".  (ruby-bugs-ja:PR#389)
4245         * file.c (rb_file_s_basename): also ignore trailing directory
4246           separators, in compliance with SUSv3.  (ruby-bugs-ja:PR#390)
4248         * file.c (rb_file_s_dirname, rb_file_s_extname): ditto.
4250         * file.c (rb_file_s_dirname): append "." if drive only.
4252         * file.c (rb_file_s_split): get rid of converting twice.
4254 Mon Feb 10 20:55:15 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4256         * ext/extmk.rb (parse_args): add '-n' to $mflags BEFORE "--".
4257           do not add DESTDIR if already included in $mflags.
4259 Mon Feb 10 19:54:30 2003  Minero Aoki  <aamine@loveruby.net>
4261         * lib/fileutils.rb (FileUtils#uptodate?): use mtime for
4262           comparison.
4264 Mon Feb 10 10:14:26 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4266         * array.c (rb_ary_to_a): return value should be an Array if the
4267           receiver is an instance of subclass of Array.
4269         * string.c (rb_str_to_s): return value should be a String if the
4270           receiver is an instance of subclass of String.
4272 Mon Feb 10 03:33:42 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4274         * io.c (rb_file_sysopen): rb_file_sysopen_internal() needs four
4275           arguments.
4277 Sun Feb  9 15:16:04 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4279         * intern.h (HAVE_RB_DEFINE_ALLOC_FUNC, RB_CVAR_SET_4ARGS):
4280           define to 1.
4282         * ruby.h (NORETURN_STYLE_NEW): ditto.
4284 Sun Feb  9 12:28:18 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4286         * lib/mkmf.rb (init_mkmf): add libdir to LIBPATH unless cross
4287           compiling.
4289 Sun Feb  9 08:34:45 2003  Minero Aoki  <aamine@loveruby.net>
4291         * lib/net/http.rb: 4xx raises Net::ProtoServerError, 5xx raises
4292           Net::ProtoFatalError (for backward compatibility).
4294 Sun Feb  9 07:07:26 2003  Minero Aoki  <aamine@loveruby.net>
4296         * lib/fileutils.rb: new method FileUtils.pwd (really).
4298         * lib/fileutils.rb: FileUtils.pwd, cmp, identical?, uptodate? does
4299           not accept any option.
4301 Sat Feb  8 18:35:30 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4303         * misc/ruby-mode.el (ruby-forward-string): fixed void variable
4304           error.
4306 Sat Feb  8 16:23:11 2003  NABEYA Kenichi  <kenichi@nabeya.com>
4308         * misc/ruby-mode.el (ruby-font-lock-keywords): method name can
4309           be delimited by tab.
4311 Sat Feb  8 03:57:32 2003  Akinori MUSHA  <knu@iDaemons.org>
4313         * lib/irb/workspace.rb, lib/irb/ext/math-mode.rb,
4314           lib/irb/ext/multi-irb.rb, lib/irb/lc/error.rb,
4315           lib/irb/lc/help-message, lib/irb/lc/ja/error.rb,
4316           lib/shell/command-processor.rb, lib/shell/error.rb,
4317           lib/shell/filter.rb: Fix typos and grammos. [approved by: keiju]
4319 Sat Feb  8 03:34:28 2003  Akinori MUSHA  <knu@iDaemons.org>
4321         * intern.h (HAVE_RB_DEFINE_ALLOC_FUNC): New boolean macro to make
4322           it easier to write extensions that work with both ~1.6 and 1.8~.
4324         * intern.h (RB_CVAR_SET_4ARGS): Ditto.
4326         * ruby.h (NORETURN_STYLE_NEW): Ditto.
4328 Sat Feb  8 00:47:24 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4330         * eval.c (rb_call): calls method_missing when superclass method
4331           does not exist.
4333         * eval.c (rb_f_missing): now handles "no super" case.
4335         * object.c (rb_obj_ivar_get): Object#instance_variable_get: new
4336           method to get instance variable value without eval(). [new]
4338         * object.c (rb_obj_ivar_set): Object#instance_variable_set: new
4339           method to set instance variable value without eval(). [new]
4341 Fri Feb  7 15:35:21 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4343         * intern.h, re.c (rb_memsearch): returns long.
4345         * string.c (rb_str_index): should return offset position.
4347 Fri Feb  7 15:30:15 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4349         * eval.c (proc_invoke): should propagate self to super
4350           methods.  [ruby-dev:19510]
4352 Thu Feb  6 19:04:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4354         * re.c (rb_reg_initialize_m): should not preset "kcode" unless
4355           encoding is explicitly specified.
4357 Thu Feb  6 19:01:32 2003  Minero Aoki  <aamine@loveruby.net>
4359         * lib/fileutils.rb: new method FileUtils.pwd.
4361         * lib/fileutils.rb: default label is ''.
4363         * lib/fileutils.rb: using module_eval again, to avoid ruby's bug.
4365         * lib/fileutils.rb: fix wrong examples in rdoc.
4367 Thu Feb  6 17:43:56 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4369         * lib/complex.rb (Complex#==): should not raise error by type
4370           mismatch.
4372         * lib/rational.rb (Rational#==): ditto.
4374 Thu Feb  6 11:44:40 2003  MoonWolf  <moonwolf@moonwolf.com>
4376         * re.c (rb_reg_initialize_m): 3rd argument was ignored.
4378 Thu Feb  6 01:09:05 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4380         * string.c (rb_str_count): return 0 for empty string (was
4381           returning nil).
4383 Wed Feb  5 19:41:37 2003  Tanaka Akira  <akr@m17n.org>
4385         * lib/open-uri.rb: dispatch code restructured to make it openable
4386           that has `open' method.
4388         * lib/open-uri.rb: Location: field may has a relative URI.
4389           pointed out by erik eriksson <ee@opera.com>.
4391 Wed Feb  5 17:11:02 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4393         * parse.y (yylex): no .<digit> float literal anymore.
4395 Tue Feb  4 16:11:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4397         * array.c (rb_ary_equal): a == b is true when b is non T_ARRAY
4398           object, if b has "to_ary" and b == a.
4400         * hash.c (rb_hash_equal): a == b is true when b is non T_HASH
4401           object, if b has "to_hash" and b == a.
4403         * string.c (rb_str_equal): a == b is true when b is non T_STRING
4404           object, if b has "to_str" and b == a.
4406 Mon Feb  3 23:46:48 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4408         * io.c (argf_getline): should not increment lineno at EOF.
4410 Mon Feb  3 16:49:19 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4412         * object.c (Init_Object): default Object#=== now calls "=="
4413           internally.
4415         * re.c (rb_reg_initialize_m): should honor option status of
4416           original regexp.
4418         * array.c (rb_ary_equal): ary2 should be T_ARRAY (no to_ary
4419           conversion).
4421         * array.c (rb_ary_eql): ditto.
4423         * string.c (rb_str_equal): str2 should be T_STRING (no to_str
4424           conversion).
4426 Mon Feb  3 16:32:52 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4428         * re.c (rb_memsearch): a little improvement.
4430 Mon Feb  3 13:18:05 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4432         * re.c (rb_memsearch): algorithm body of String#index.
4434         * error.c (Init_Exception): "to_str" removed.
4436         * eval.c (eval): should not rely on Exception#to_str
4438         * eval.c (compile_error): ditto.
4440         * error.c (err_append): ditto.
4442 Sat Feb  1 23:56:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4444         * hash.c (rb_hash_merge): Hash#merge, non destructive "update".
4445           now there's also Hash#merge! which is an alias to "update".
4447 Fri Jan 31 14:16:59 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4449         * string.c (rb_str_index): search using Karp-Rabin algorithm.
4451 Fri Jan 31 12:45:11 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4453         * variable.c (rb_obj_classname): new function.
4455         * string.c (rb_str_dup): should preserve original's class (but not
4456           hidden singleton class).
4458         * string.c (rb_str_substr): ditto.
4460         * parse.y: backout EXPR_CMDARG removal.
4462 Fri Jan 31 09:40:07 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4464         * lib/optparse.rb (OptionParser::List::accept): default
4465           pattern must not be nil.
4467         * lib/optparse.rb (OptionParser::make_switch): NoArgument doesn't
4468           override other styles.
4470 Thu Jan 30 16:46:43 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4472         * lib/optparse.rb (OptionParser::Switch::PlacedArgument): added.
4473           if the next argument doesn't start with '-', use it as the
4474           value.
4476         * lib/optparse.rb (OptionParser::make_switch): fixed a bug of
4477           pattern.
4479         * lib/optparse.rb (Array): no need to guard.
4481 Thu Jan 30 08:27:19 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4483         * file.c (rb_file_s_expand_path): removed a sludge.
4485 Wed Jan 29 03:24:39 2003  Michal Rokos  <michal@rokos.homeip.net>
4487         * dir.c (glob_helper): memory leak fixed.
4489 Tue Jan 28 04:45:03 2003  Akinori MUSHA  <knu@iDaemons.org>
4491         * instruby.rb (parse_args), ext/extmk.rb (parse_args): Prepend a
4492           hyphen to the first argument of MAKEFLAGS only if appropriate.
4493           Remove wrong comments.
4495 Mon Jan 27 03:30:06 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4497         * error.c (get_syserror): use snprintf() instead of sprintf(). pointed
4498           out by knu.
4500 Mon Jan 27 02:06:38 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4502         * error.c (get_syserror): some Windows' errno have 5 digits. pointed
4503           out by znz.
4505 Sun Jan 26 19:23:10 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4507         * instruby.rb ($mflags.set?): Check $make instead of $nmake, since
4508           there is no such a variable.
4510         * instruby.rb ($mflags.set?), ext/extmk.rb ($mflags.set?): Return
4511           false if unmatched.
4513 Sun Jan 26 19:08:30 2003  Akinori MUSHA  <knu@iDaemons.org>
4515         * lib/shellwords.rb: Embed rdoc style comments.
4517         * lib/shellwords.rb (shellwords): Use String#lstrip!.
4519         * lib/shellwords.rb (shellwords): Recognize an object that
4520           responds to to_str() by using String.new().
4522 Sun Jan 26 17:53:04 2003  Akinori MUSHA  <knu@iDaemons.org>
4524         * instruby.rb (parse_args), ext/extmk.rb (parse_args): Detect -n
4525           and emulate a dry run.  Use 'make' in case no --make argument is
4526           given.
4528 Sun Jan 26 07:18:42 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4530         * instruby.rb: re-define individual methods verbosely rather than
4531           including FileUtils::Verbose, in order to suppress messages from
4532           FileUtils#cmp.
4534         * instruby.rb (makedirs): make same directory only once even if
4535           dryrun.
4537         * lib/fileutils.rb (FileUtils::Verbose, FileUtils::NoWrite):
4538           re-define methods with define_method instead of module_eval.
4540 Sun Jan 26 03:37:18 2003  Akinori MUSHA  <knu@iDaemons.org>
4542         * instruby.rb, ext/extmk.rb, Makefile.in, win32/Makefile.sub,
4543           bcc32/Makefile.sub: Replace the complicated MFLAGS/MAKEFLAGS
4544           parser with something plain and comprehensible.  This fixes a
4545           bug where make flags were wrongly reordered and the resulted
4546           command line often did not make sense especially when BSD make
4547           is used with extra arguments given.  Tested with FreeBSD and
4548           Linux by me and mswin32, bccwin32 and mingw by usa.
4550 Fri Jan 24 18:15:33 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4552         * parse.y: tMINUS should have lower precedence than tPOW.
4554 Fri Jan 24 05:12:55 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4556         * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): deal
4557           with escaped $ and ? at the end of strings.  [ruby-talk:62297]
4559         * misc/ruby-mode.el (ruby-font-lock-keywords): added defined?.
4561 Thu Jan 23 17:25:04 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4563         * eval.c (rb_eval): do not warn discarding already undefined
4564           method.
4566         * lib/rational.rb: undef quo before replacing.
4568 Thu Jan 23 15:49:57 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4570         * parse.y (arg): missing arguments.
4572 Thu Jan 23 14:56:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4574         * lib/rational.rb: modified to support "quo".
4576         * numeric.c (num_quo): should return most exact quotient value,
4577           i.e. float by default, rational if available.
4579         * numeric.c (num_div): "div" should return x.divmod(x)[0].
4581 Thu Jan 23 13:24:18 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4583         * time.c (time_arg): was accessing garbage argv value.
4585 Thu Jan 23 06:37:01 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4587         * instruby.rb: should not contain destdir in shebang line.
4589 Wed Jan 22 23:19:57 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4591         * win32/win32.c (pipe_exec): remove unnecessary SetStdHandle().
4593 Wed Jan 22 20:20:59 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4595         * parse.y (arg): syntaxify tPOW negative number hack.
4597         * parse.y (negate_lit): new function to negate literal numeric
4598           values in compile time.
4600 Wed Jan 22 15:36:54 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4602         * regex.c (re_match_exec): charset info may be stored in MBC
4603           region when $KCODE != NONE.
4605 Wed Jan 22 14:22:53 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4607         * error.c (set_syserr): should preserve duplicated error names.
4609 Tue Jan 21 20:29:31 2003  Michal Rokos  <michal@rokos.homeip.net>
4611         * mkmf.rb: make possible to add files to clean and distclean targets
4613 Tue Jan 21 18:05:25 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4615         * bcc32/Makefile.sub (LIBRUBY_A): link dmyext.
4617 Tue Jan 21 16:59:18 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4619         * instruby.rb: use real interpreter pathname at shebang line.
4620           [ruby-dev:19370]
4622 Tue Jan 21 16:22:32 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4624         * parse.y (arg): put back old ** behavior for negative number
4625           right operand.
4627 Tue Jan 21 14:46:12 2003  Tanaka Akira  <akr@m17n.org>
4629         * lib/pp.rb: Use Test::Unit.
4631         * lib/prettyprint.rb: Ditto
4633         * lib/time.rb: Ditto
4635         * lib/tsort.rb: Ditto
4637 Tue Jan 21 04:15:50 2003  Tanaka Akira  <akr@m17n.org>
4639         * lib/pp.rb: Use redefined `to_s' as well as `inspect'.
4640           Useless `pretty_print' methods removed.
4641           (PP::ObjectMixin#pretty_print_inspect): new method.
4643 Mon Jan 20 21:48:43 2003  Akinori MUSHA  <knu@iDaemons.org>
4645         * configure.in (MANTYPE): Detect if the system's nroff(1) groks
4646           mdoc.  Provide a new option --with-mantype={doc|man} in case the
4647           check does not work as expected.
4649         * Makefile.in (MANTYPE): Define MANTYPE and pass it to
4650           instruby.rb.
4652         * instruby.rb: Convert mdoc manpages to man for systems which
4653           nroff(1) does not grok mdoc.
4655 Mon Jan 20 21:25:18 2003  Akinori MUSHA  <knu@iDaemons.org>
4657         * lib/tempfile.rb (self.open): If a block is given, call it with
4658           tempfile as an argument and automatically close the tempfile
4659           when the block terminates.
4661 Mon Jan 20 21:02:50 2003  Akinori MUSHA  <knu@iDaemons.org>
4663         * mdoc2man.rb: Properly put nested braces, parentheses and angles.
4665         * mdoc2man.rb: Add support for .An and .Aq/.Ao/.Ac.
4667         * mdoc2man.rb: Add support for .Dl.
4669         * mdoc2man.rb: Make .Pf macro actually work.
4671         * mdoc2man.rb: Properly handle .Os.
4673         * mdoc2man.rb: Correctly omit spaces around punctuation
4674           characters.
4676 Mon Jan 20 19:43:41 2003  Akinori MUSHA  <knu@iDaemons.org>
4678         * mdoc2man.rb: Make this work as a library.
4680 Mon Jan 20 18:22:40 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4682         * eval.c (rb_f_require): purge too many goto's.
4684 Mon Jan 20 17:50:05 2003  Akinori MUSHA  <knu@iDaemons.org>
4686         * mdoc2man.rb (parse_macro): Understand .Ux.
4688 Mon Jan 20 17:32:56 2003  Akinori MUSHA  <knu@iDaemons.org>
4690         * mdoc2man.rb: New file.  A mdoc to man converter ported from
4691           Perl.
4693 Mon Jan 20 15:40:15 2003  Akinori MUSHA  <knu@iDaemons.org>
4695         * ruby.1: Properly close .Bl with .El.
4697 Mon Jan 20 04:14:17 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4699         * lib/mkmf.rb (egrep_cpp): use inspect to show options.
4701         * lib/mkmf.rb (dir_config): prior configured directories to
4702           defaults.
4704         * lib/mkmf.rb (dir_config): extract first word to determine
4705           make command type.
4707 Mon Jan 20 02:15:53 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4709         * ext/aix_mksym.rb: no longer used.
4711 Mon Jan 20 00:17:16 2003  Matt Armstrong  <matt@lickey.com>
4713         * file.c (eaccess): under windows, make eaccess() just call
4714           access(). [ruby-core:716], [ruby-bugs:PR#556]
4716 Sun Jan 19 23:08:18 2003  Akinori MUSHA  <knu@iDaemons.org>
4718         * lib/shellwords.rb (shellwords): A backslash ('\') in single
4719           quotes should not be regarded as meta character.  This bug or
4720           maybe feature was inherited from Perl's shellwords.pl.
4722 Sun Jan 19 14:01:12 2003  UENO Katsuhiro  <unnie@blue.sky.or.jp>
4724         * regex.c (is_in_list): should work well with UTF-8.
4726         * regex.c (re_match_exec): ditto.
4728 Sat Jan 18 14:53:49 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4730         * bignum.c (rb_cstr_to_inum): should not erase all 0s, but
4731           squeeze into one.  [ruby-dev:19377]
4733 Fri Jan 17 03:33:42 2003  Akinori MUSHA  <knu@iDaemons.org>
4735         * sprintf.c (rb_f_sprintf): Fix a bug caused by an uninitialized
4736           variable v, that a bignum unexpectedly gets converted into a
4737           string with its higher figures all filled with ./f/7/1,
4738           depending on the base.  This bug seems to have been introduced
4739           in rev.1.27.
4741         * sprintf.c (rb_f_sprintf): Use switch instead of a sequence of
4742           else-if's.
4744 Wed Jan 15 15:18:38 2003  moumar  <moumar@netcourrier.com>
4746         * configure.in (ARCHFILE): set even unless --enable-shared on
4747           AIX.  [ruby-talk:61466]
4749         * marshal.c (math.h): should be included after ruby.h on AIX.
4750           [ruby-talk:61366]
4752 Tue Jan 14 21:47:56 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4754         * eval.c (rb_f_require): do not search adding .rb/.so suffixes if
4755           the suffix specified.  [ruby-dev:18702]
4756           http://moonrock.jp/~don/d/200211.html#d08_t1
4758 Tue Jan 14 18:36:41 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4760         * enum.c (enum_all): now works without block.
4762         * enum.c (enum_any): ditto.
4764 Tue Jan 14 01:21:32 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4766         * io.c (next_argv): not always set binmode.
4768 Mon Jan 13 20:45:19 2003  Guy Decoux  <ts@moulon.inra.fr>
4770         * parse.y (list_append): avoid O(n) search using node->nd_next->nd_end.
4772         * parse.y (list_concat): ditto.
4774         * eval.c (rb_eval): NODE_ARRY nd_end adoption.
4776 Mon Jan 13 02:22:11 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4778         * ext/dl/lib/dl/win32.rb: eliminate unnecessary "A" adding.
4780 Sun Jan 12 16:07:17 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4782         * io.c (next_argv): inherit binmode from $defout.
4784 Sat Jan 11 22:50:47 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4786         * ext/dl/lib/dl/win32.rb: compatibility improvement.
4788 Sat Jan 11 01:44:16 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4790         * configure.in (RUBY_CHECK_IO_NEED): added more tests.
4792         * io.c (rb_io_check_readable): seek after synchronized write.
4794 Fri Jan 10 01:23:45 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4796         * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords): syntax
4797           classes are not allowed inside character classes.
4798           [ruby-talk:60996]
4800 Thu Jan  9 23:28:01 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4802         * configure.in: AC_MSG_FAILURE is a new macro in 2.54b or later.
4804 Thu Jan  9 17:05:24 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4806         * configure.in (RUBY_CHECK_IO_NEED): check whether fseek() and
4807           fflush() are needed.
4809         * io.c (flush_before_seek): flush write stream only.
4811         * io.c (rb_io_check_readable): seek instead of flush if the last
4812           operation was write.
4814         * io.c (rb_io_check_writable): seek instead of flush if the last
4815           operation was read.
4817         * bcc32/Makefile.sub, win32/Makefile.sub: needs to seek between
4818           R/W.
4820 Thu Jan  9 16:31:51 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4822         * eval.c (rb_eval): should not discard nested NODE_BLOCK.
4824 Thu Jan  9 15:12:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4826         * parse.y (stmt): NODE_NOT elimination for if/unless/while/until node.
4828         * parse.y (primary): ditto.
4830 Thu Jan  9 13:26:18 2003  Akinori MUSHA  <knu@iDaemons.org>
4832         * st.h, st.c: Back out the introduction of st_*_func_t.  Some
4833           compilers complain about function type mismatch.
4835 Thu Jan  9 02:10:44 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4837         * eval.c (rb_eval): reduce recursive rb_eval() call by using sort
4838           of continuation passing style.
4840 Wed Jan  8 17:10:32 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4842         * ext/Win32API/lib/win32/registry.rb: added. [new]
4844 Wed Jan  8 15:54:05 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4846         * eval.c: remove ruby_last_node and assignments seems to be
4847           unnecessary
4849         * intern.h: debug does not run if ID_ALLOCATOR is zero.
4851 Wed Jan  8 15:04:11 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4853         * range.c (range_each): treat fixnums specially to boost.
4855         * numeric.c (num_step): remove rb_scan_args() for small speedup.
4857 Tue Jan  7 17:56:08 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4859         * eval.c (svalue_to_avalue): should return converted array.
4861 Tue Jan  7 07:48:01 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4863         * eval.c (rb_f_local_variables): skip $_, $~ and flip states in
4864           dynamic variables.  [ruby-core:00681]
4866 Tue Jan  7 02:46:29 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4868         * hash.c (env_clear): new Hash compatible method.
4870         * hash.c (env_shift, env_invert, env_replace, env_update): ditto.
4872 Mon Jan  6 23:36:29 2003  Akinori MUSHA  <knu@iDaemons.org>
4874         * st.h, st.c: Introduce new conventional typedef's, st_data_t,
4875           st_compare_func_t, st_hash_func_t and st_each_func_t.
4877         * st.h, st.c: Do explicit function declarations and do not rely on
4878           implicit declarations.
4880         * class.c, eval.c, gc.c, hash.c, marshal.c, parse.y, variable.c:
4881           Add proper casts to avoid warnings.
4883 Mon Jan  6 20:44:43 2003  Akinori MUSHA  <knu@iDaemons.org>
4885         * intern.h (rb_check_array_type): Declare rb_check_array_type().
4887         * ext/digest/md5/md5ossl.c: Include stdio.h for sprintf() and
4888           string.h for memcmp().
4890         * ext/dl/ptr.c: Include ctype.h for isdigit().
4892 Mon Jan  6 18:43:17 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4894         * file.c: improve DOSISH drive letter support.
4896 Mon Jan  6 18:31:45 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4898         * lib/fileutils.rb (ln): add ' -f' in the verbose message.
4900         * lib/fileutils.rb (cp_r): add 'p' in the verbose message.
4902 Mon Jan  6 16:44:52 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
4904         * array.c (rb_ary_join): dispatch based on "to_str".
4906         * array.c (rb_ary_times, rb_ary_equal): ditto.
4908 Mon Jan  6 13:26:35 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4910         * process.c (proc_exec_v): follow to proc_spawn_v(). call do_aspawn()
4911           on Win32.
4913         * process.c (rb_proc_exec): call do_spawn() on Win32.
4915         * win32/win32.c, win32/win32.h (do_spawn, do_aspawn): add mode flag.
4917         * process.c (proc_spawn_v, rb_f_system): follow above change.
4919 Mon Jan  6 05:11:15 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4921         * ext/extmk.rb: make $0 normal variable.
4923 Mon Jan  6 02:32:46 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4925         * struct.c (make_struct): needs meta class.
4927 Sun Jan  5 22:54:05 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4929         * lib/fileutils.rb (ln): `argv' is not a argument.
4931 Sun Jan  5 17:44:37 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4933         * ext/extmk.rb (extmake): set $0 temporarily while loading
4934           extconf.rb.
4936 Sun Jan  5 14:46:46 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
4938         * instruby.rb: need paren in regexp(make -n install).
4940         * ext/extmk.rb (sysquote): do not need to quote on mswin/bccwin/mingw.
4942         * ext/extmk.rb ($mflags): uniq items and remove '-' and '--'.
4943           move options to the lead.
4945         * lib/fileutils.rb (install): model on the real install
4946           command(message).
4948 Sun Jan  5 09:36:46 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
4950         * ruby.c (ruby_init_loadpath): under Windows, get the module
4951           path from an internal address instead of hard coded library
4952           name.
4954         * cygwin/GNUmakefile.in, bcc32/Makefile.sub,
4955           win32/Makefile.sub (CPPFLAGS): removed LIBRUBY_SO macro.
4957         * bcc32/Makefile.sub, win32/Makefile.sub (config.h): no longer
4958           depends on makefiles.
4960 Sun Jan  5 04:17:05 2003  Akinori MUSHA  <knu@iDaemons.org>
4962         * gc.c (SET_STACK_END): Issue a FLUSH_REGISTER_WINDOWS here too.
4963           This fixes make test on FreeBSD/sparc64.
4965 Sun Jan  5 03:43:47 2003  Akinori MUSHA  <knu@iDaemons.org>
4967         * defines.h (FLUSH_REGISTER_WINDOWS): Make the flushw call an
4968           inline function so it can be used as an expression.
4970         * eval.c (EXEC_TAG, THREAD_SAVE_CONTEXT): Consistently call
4971           FLUSH_REGISTER_WINDOWS before calling setjmp(). (I suspect that
4972           every setjmp() implementation should take care of register
4973           windows, though)
4975 Sun Jan  5 03:12:32 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4977         * file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32.
4979         * win32/Makefile.sub (LIBS): use oldnames.lib.
4981         * win32/win32.c (rb_w32_getcwd): follow above change.
4983         * win32/win32.h: ditto.
4985         * wince/direct.c, wince/direct.h (getcwd): ditto.
4987         * wince/io.h: ditto.
4989         * wince/string.c, wince/wince.h (stricmp, strnicmp): ditto.
4991 Sat Jan  4 15:18:50 2003  NAKAMURA Usaku <usa@ruby-lang.org>
4993         * process.c (rb_proc_exec): use same logic as DJGPP on win32 ports.
4995         * process.c (rb_f_system): ditto.
4997         * win32/win32.c, win32/win32.h (do_aspawn): [new]. for arrayed
4998           arguments.
5000         * win32/win32.c (CreateChild): add new argument for real filename of
5001           executing process.
5003         * win32/win32.c (NtHasRedirection, pipe_exec): follow above change.
5005 Sat Jan  4 14:29:52 2003  NAKAMURA Usaku <usa@ruby-lang.org>
5007         * configure.in: set rb_cv_need_io_flush_between_seek=yes.
5009         * win32/Makefile.sub (config.h): define NEED_IO_FLUSH_BETWEE_SEEK.
5010           (pointed out by moriq [ruby-dev:19299])
5012 Sat Jan  4 03:12:14 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
5014         * eval.c (umethod_bind): exact class match is not required.  relax
5015           the restriction to subclasses.
5017 Sat Jan  4 01:33:40 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5019         * file.c (rb_file_s_lchmod): get rid of gcc-3 -O3 warning.
5021 Fri Jan  3 22:26:07 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5023         * process.c (rb_proc_times): need to initialize first.
5025 Fri Jan  3 01:10:17 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
5027         * eval.c (rb_eval): call "inherited" before executing class body.
5029         * class.c (rb_define_class): call "inherited" after defining the
5030           constant.
5032         * class.c (rb_define_class_under): ditto.
5034 Thu Jan  2 19:37:30 2003  Yukihiro Matsumoto  <matz@ruby-lang.org>
5036         * eval.c (massign): expand first element if RHS is an array and
5037           its size is 1, and LHS has concrete assignment target (i.e. LHS
5038           has target(s) other than *var).
5040         * eval.c (massign): avoid unnecessary avalue/svalue conversion.
5042         * eval.c (rb_yield_0): ditto
5044         * array.c (rb_ary_update): do not allocate unused array if rpl is
5045           nil (i.e. merely removing elements).
5047 Thu Jan  2 13:55:08 2003  Mathieu Bouchard  <matju@sympatico.ca>
5049         * io.c (io_read): should resize supplied string if it's shorter
5050           than expected.
5052 Thu Jan  2 11:01:20 2003  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5054         * eval.c (bmcall): arguments should be an array.
5056 Wed Jan  1 18:18:45 2003  WATANABE Hirofumi  <eban@ruby-lang.org>
5058         * configure.in: better DJGPP support. add GNUmakefile.
5060         * djgpp/GNUmakefile: new.
5062 Wed Jan  1 04:16:18 2003  Akinori MUSHA  <knu@iDaemons.org>
5064         * node.h (struct RNode): Change argc from int to long.  Otherwise
5065           NEW_CFUNC() sets argc to a wrong value on platforms where
5066           sizeof(int) != sizeof(long) and the byte order is big-endian.
5067           This fixes breakage on FreeBSD/sparc64.
5069 Tue Dec 31 23:22:50 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5071         * eval.c (massign): removed awkward conversion between yvalue,
5072           mvalue, etc.
5074         * eval.c (rb_yield_0): new parameter added to tell whether val is
5075           an array value or not.
5077         * parse.y (yield_args): restructuring: new nodes: NODE_RESTARY2,
5078           NODE_SVALUE; removed node: NODE_RESTARGS.
5080 Tue Dec 31 21:13:51 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5082         * Makefile.in, {win32,bcc32}/Makefile.sub: add new target:
5083           what-where, no-install.
5085         * mkconfig.rb: add const: CROSS_COMPILING.
5087         * ext/extmk.rb: no-install support.  add MAKEDIRS macro.
5089         * lib/mkmf.rb: add !ifdef .. !endif for Borland make.
5091         * process.c: improve DJGPP support.  system "ls", "-l".
5093 Tue Dec 31 20:16:37 2002  Akinori MUSHA  <knu@iDaemons.org>
5095         * ext/socket/addrinfo.h (NI_MAXHOST): Define NI_MAXHOST and
5096           NI_MAXSERV only if they are not defined yet.  This fixes build
5097           on such platforms as OpenBSD.
5099 Tue Dec 31 20:07:49 2002  Akinori MUSHA  <knu@iDaemons.org>
5101         * ext/tcltklib/extconf.rb (find_tcl, find_tk): Look for both
5102           lib{tcl,tk}M.N and lib{tcl,tk}MN on all platforms.  *BSD have
5103           Tcl/Tk libraries named this way.
5105 Tue Dec 31 19:48:21 2002  Akinori MUSHA  <knu@iDaemons.org>
5107         * configure.in: Improve OpenBSD support. [obtained from: OpenBSD
5108           ports]
5110         * dln.c (FUNCNAME_PATTERN): Ditto.
5112 Tue Dec 31 19:21:02 2002  Akinori MUSHA  <knu@iDaemons.org>
5114         * array.c (rb_ary_transpose): Properly declare ary as a VALUE.
5116         * file.c (rb_file_s_chmod): Do not directly cast an int to void *
5117           to avoid a warning.
5119         * defines.h (FLUSH_REGISTER_WINDOWS): Add support for
5120           FreeBSD/sparc64.  miniruby still coredumps in a different place,
5121           though.
5123 Tue Dec 31 07:47:15 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5125         * parse.y (parse_string): readjusted.
5127         * parse.y (heredoc_identifier): readjusted.
5129         * parse.y (here_document): make EOL codes of single-quoted
5130           here-documents consistent.
5132         * parse.y (yylex): reduced unnecessary conditionals.
5134 Tue Dec 31 04:49:51 2002  Akinori MUSHA  <knu@iDaemons.org>
5136         * ruby.1: mdoc'ify.
5138 Tue Dec 31 01:30:29 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5140         * parse.y (yylex): do not accept " __END__\n".  ([ruby-dev:19245])
5142 Mon Dec 30 21:10:59 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5144         * parse.y (yylex): use strncmp instead of strcmp.
5145           accept "__END__\r\n".  ([ruby-dev:19241])
5147 Mon Dec 30 20:32:14 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5149         * gc.c (rb_gc_mark_frame): should mark frame->node.
5151 Mon Dec 30 19:10:30 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5153         * ext/extmk.rb: split --make argument contains options, assume
5154           the first word of --make-flags is always options even unless
5155           preceded by -, and ignore letter-case of options if nmake.
5157         * instruby.rb: extract -n option also from --make and
5158           --make-flags.
5160         * bcc32/Makefile.sub, win32/Makefile.sub: not prepend - to
5161           $(MFLAGS)
5163 Mon Dec 30 16:44:14 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5165         * string.c (rb_str_substr): should share the shared string if
5166           present, instead of the original string.  (ruby-bugs:PR#528)
5168 Mon Dec 30 05:10:00 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5170         * ext/socket/socket.c (tcp_svr_init): local host to
5171           init_inetsock() is VALUE but not pointer.
5173         * ext/socket/socket.c (sock_s_unpack_sockaddr_in): get rid of
5174           gcc-3 -O3 warning.
5176 Sun Dec 29 23:45:53 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5178         * gc.c (gc_sweep): adjust GC trigger.
5180         * dln.c (init_funcname_len): get rid of gcc-3 -O3 warning.
5182         * eval.c (copy_node_scope): ditto.
5184         * hash.c (rb_hash_foreach, delete_if_i, select_i, each_value_i,
5185           each_key_i, each_pair_i, envix): ditto.
5187         * range.c (range_each_func): ditto.
5189         * file.c (rb_file_s_chmod): ditto.
5191 Sun Dec 29 15:30:37 2002  Minero Aoki  <aamine@loveruby.net>
5193         * lib/fileutils.rb (fu_parseargs): should not inherit ftools.rb's
5194           misfeature.
5196 Sun Dec 29 05:08:13 2002  NAKAMURA Usaku <usa@ruby-lang.org>
5198         * lib/fileutils.rb (cmp): return false if file size differs.
5200 Sat Dec 28 19:21:24 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5202         * instruby.rb: remove junk args.
5204         * lib/mkmf.rb (create_makefile): remove a trouble library
5205           before making a shared library.
5207         * win32/Makefile.sub: invoke instruby.rb with the --make-flags option.
5209 Sat Dec 28 03:09:58 2002  Wakou Aoyama  <wakou@ruby-lang.org>
5211         * lib/cgi.rb (CGI#[]): improvement. thanks to Kazuhiro NISHIYAMA
5212           <zn@mbf.nifty.com>
5214 Sat Dec 28 00:34:03 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5216         * {win32,bcc32}/Makefile.sub: remove `=' from --make-flags options.
5217           nmake quotes args if included `=' in args.
5219         * instruby.rb: use getopts.rb.
5221         * ext/dbm/extconf.rb (-DDBM_HDR): substitute ' with " to avoid
5222           a error on Win32.
5224         * ext/gdbm/gdbm.c: add prototypes to avoid VC++ warnings.
5226 Fri Dec 27 21:41:57 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5228         * bcc32/setup.mak, win32/setup.mak(-prologue-): move srcdir from
5229           CPP input or UNC path will be removed as a comment.
5231 Fri Dec 27 17:55:00 2002  Takaaki Uematsu  <mail@uema2.cjb.net>
5233         * wince/config, wince/configure.bat: replace 1.7 with 1.8
5234           in macros.
5236 Fri Dec 27 13:28:14 2002  Minero Aoki  <aamine@loveruby.net>
5238         * instruby.rb: fileutils.rb accepts only one argument.
5240 Fri Dec 27 13:23:29 2002  Minero Aoki  <aamine@loveruby.net>
5242         * lib/fileutils.rb (fu_parseargs): reject illegal options
5243           correctly.
5245         * lib/fileutils.rb (uptodate?): parameter declaration was wrong.
5247         * lib/fileutils.rb: change coding styles.
5249 Fri Dec 27 09:25:22 2002  ABE Shigeru  <shiger-a@nifty.com>
5251         * process.c (rb_proc_times): avoid WindowsXP crash using volatile
5252           variables.
5254 Fri Dec 27 02:56:58 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5256         * instruby.rb: check only `-' option, and use fileutils instead of
5257           ftools.
5259 Fri Dec 27 02:45:17 2002  Wakou Aoyama  <wakou@ruby-lang.org>
5261         * lib/net/telnet.rb: Telnet#print not add "\n".
5263         * lib/cgi.rb: cgi['key'] is equal cgi['key'][0]
5265 Thu Dec 26 22:33:18 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5267         * ext/extmk.rb (create_makefile): check only `-' option.
5269         * configure.in: cleanups for MinGW. remove -D__NO_ISOCEXT in $CFLAGS.
5271         * win32/win32.h: prototypes for isinf, isnan are not needed on MinGW.
5273 Thu Dec 26 19:22:00 2002  YOSHIDA Kazuhiro <moriq@moriq.com>
5275         * win32/setup.mak (-prologue-): moved srcdir macro definition.
5276           [ruby-win32:420].
5278 Wed Dec 25 18:26:44 2002  K.Kosako  <kosako@sofnec.co.jp>
5280         * regex.c (re_match): fixed wrong \G behavior.  (ruby-bugs-ja:PR#377)
5282 Wed Dec 25 16:41:16 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5284         * regex.c (re_match_exec): fix odd \G behavior based on the patch
5285           from Nobu.
5287 Wed Dec 25 11:05:11 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5289         * bcc32/setup.mak (-generic-): removed garbages.
5291 Wed Dec 25 10:36:20 2002  NAKAMURA Usaku <usa@ruby-lang.org>
5293         * bcc32/Makefile.sub, win32/Makefile.sub (RUBY_SO_NAME, config.h):
5294           use $(MAJOR) and $(MINOR). based on Nobu's patch. [ruby-win32:413]
5296         * bcc32/setup.mak, win32/setup.mak (-prologue-): define MAJOR, MINOR
5297           and TEENY from version.h. based on Nobu's patch. [ruby-win32:413]
5299         * win32/Makefile.sub (config.h): add HAVE_FLOAT_H.
5301         * win32/Makefile.sub (parse.obj): depend on win32/win32.h.
5303 Tue Dec 24 23:49:16 2002  Akinori MUSHA  <knu@iDaemons.org>
5305         * lib/irb/completion.rb: Use Object#class rather than Object#type.
5307 Tue Dec 24 23:37:40 2002  TADA Tadashi <sho@spc.gr.jp>
5309         * lib/cgi.rb (Cookie::parse), lib/cgi-lib.rb (initialize): Do not
5310           pass to split() a bare string longer than 2 characters as
5311           separator.
5313 Tue Dec 24 19:19:24 2002  Tietew <tietew@tietew.net>
5315         * numeric.c (DBL_MAX_10_EXP): fix typo. [ruby-dev:19175]
5317 Tue Dec 24 17:02:46 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5319         * eval.c (rb_undefined): use NoMethodError instead of fatal.
5321 Tue Dec 24 02:12:45 2002  Akinori MUSHA  <knu@iDaemons.org>
5323         * lib/README: Synchronize with reality.
5325 Tue Dec 24 02:05:51 2002  Akinori MUSHA  <knu@iDaemons.org>
5327         * MANIFEST, lib/README, lib/ipaddr.rb: Add ipaddr.rb from rough.
5329 Sun Dec 22 04:07:47 2002  NAKAMURA Usaku <usa@ruby-lang.org>
5331         * ext/dbm/dbm.c (fdbm_alloc): allocator takes only one argument.
5333 Sun Dec 22 02:49:25 2002  NAKAMURA Usaku <usa@ruby-lang.org>
5335         * array.c (ary_alloc), dir.c (dir_s_alloc), eval.c (thgroup_s_alloc),
5336           file.c (rb_stat_s_alloc), hash.c (hash_alloc), io.c (io_alloc),
5337           object.c (rb_module_s_alloc, rb_class_allocate_instance),
5338           re.c (match_alloc, rb_reg_s_alloc), string.c (str_alloc),
5339           time.c (time_s_alloc), ext/digest/digest.c (rb_digest_base_alloc),
5340           ext/tcltklib/tcltklib.c (ip_alloc),
5341           ext/win32ole/win32ole.c (fole_s_allocate, fev_s_allocate)
5342           : add prototype to get rid of VC++ warnings.
5344         * ext/sdbm/init.c (fsdbm_alloc): allocator takes only one argument.
5346 Sun Dec 22 00:36:43 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5348         * lib/mkmf.rb (create_makefile): accept pure ruby libraries.
5350 Sat Dec 21 23:59:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5352         * class.c (ins_methods_i): should not show ID_ALLOCATOR.
5354         * class.c (ins_methods_prot_i): ditto.
5356         * class.c (ins_methods_priv_i): ditto.
5358         * class.c (ins_methods_pub_i): ditto.
5360         * eval.c (call_trace_func): ditto.
5362         * eval.c (rb_undefined): ditto.
5364 Sat Dec 21 07:27:24 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5366         * misc/ruby-mode.el (ruby-parse-partial): keywords must not be
5367           preceded by @ or $.
5369 Fri Dec 20 20:29:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5371         * ext/curses/curses.c, ext/dbm/dbm.c, ext/digest/digest.c,
5372           ext/dl/handle.c, ext/dl/ptr.c, ext/dl/sym.c, ext/gdbm/gdbm.c,
5373           ext/iconv/iconv.c, ext/sdbm/init.c, ext/stringio/stringio.c,
5374           ext/strscan/strscan.c, ext/tcltklib/tcltklib.c,
5375           ext/win32ole/win32ole.c: use rb_define_alloc_func().
5377 Fri Dec 20 18:29:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5379         * io.c (rb_io_fwrite): separated from io_write().
5381         * marshal.c (w_byten): use rb_io_fwrite() to support non-blocking
5382           IO, and added error check.
5384         * rubyio.h: prototypes; rb_io_fwrite
5386 Fri Dec 20 17:40:59 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5388         * object.c (Init_Object): should not remove Class#allocate.
5390         * lib/profiler.rb: separate profiling functions, without
5391           trace_func and at_exit setting.
5393 Fri Dec 20 16:20:04 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5395         * parse.y (do_block): split "do" block and tLBRACE_ARG block.
5397         * parse.y (cmd_brace_block): new tLBRACE_ARG block rule
5399         * parse.y (command): can take optional cmd_brace_block; use %prec
5400           to resolve shift/reduce conflict. (ruby-bugs-ja PR#372)
5402         * eval.c (ruby_finalize): trace_func should be cleared here (after
5403           executing exit procs and finalizers).
5405         * eval.c (rb_define_alloc_func): new allocation framework, based
5406           on Nobu's work [ruby-dev:19116].  "allocate" method is no longer
5407           used for object allocation.
5409 Fri Dec 20 05:06:49 2002  Akinori MUSHA  <knu@iDaemons.org>
5411         * lib/README, lib/cgi/ftplib.rb, lib/telnet.rb: Delete ftplib.rb
5412           and telnet.rb.  It has been quite some time sinc they were
5413           obsoleted and made to emit warnings.
5415 Fri Dec 20 04:58:22 2002  Akinori MUSHA  <knu@iDaemons.org>
5417         * lib/tempfile.rb: Embed Rdoc style comments.
5419         * lib/tempfile.rb: Add length as an alias for size.
5421 Fri Dec 20 03:57:32 2002  Akinori MUSHA  <knu@iDaemons.org>
5423         * lib/tempfile.rb: Add Tempfile#close!() as a shorthand for
5424           Tempfile#close(true).
5426         * lib/tempfile.rb: Add Tempfile#{unlink,delete}().
5428 Fri Dec 20 03:53:01 2002  Akinori MUSHA  <knu@iDaemons.org>
5430         * lib/README, lib/cgi/final.rb, lib/cgi/session.rb: Delete
5431           final.rb, which was obsoleted long ago.
5433 Fri Dec 20 00:16:06 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5435         * re.c (rb_reg_match_pre, rb_reg_match_post, match_to_a,
5436           match_select): return instances of same class as the original
5437           string.  [ruby-dev:19119]
5439 Thu Dec 19 22:55:49 2002  NAKAMURA Usaku <usa@ruby-lang.org>
5441         * numeric.c (DBL_EPSILON): fix typo.
5443 Thu Dec 19 22:35:20 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5445         * eval.c (assign): avoid [BUG] at multiple attribute assignment.
5447 Thu Dec 19 01:00:09 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5449         * numeric.c (num_step): use DBL_EPSILON.
5451         * array.c (rb_check_array_type): new function: return an array
5452           (convert if possible), or nil.
5454         * string.c (rb_check_string_type): new function: return a string
5455           (convert if possible), or nil.
5457         * numeric.c (rb_dbl_cmp): returns nil if values are not
5458           comparable.
5460         * numeric.c (fix_cmp,flo_cmp): use rb_num_coerce_cmp()
5462         * bignum.c (rb_big_cmp): ditto.
5464         * numeric.c (rb_num_coerce_cmp): new coercing function for "<=>",
5465           which does not raise TypeError.
5467         * numeric.c (do_coerce): can be suppress exception now.
5469         * object.c (rb_mod_cmp): should return nil for non class/module
5470           objects.
5472 Thu Dec 19 04:21:10 2002  Akinori MUSHA  <knu@iDaemons.org>
5474         * lib/open-uri.rb: add a missing ||. (found by: ruby -wc)
5476 Wed Dec 18 17:53:05 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5478         * re.c (rb_reg_eqq): return false if the argument is not a
5479           string.  now returns boolean value.
5481         * class.c (rb_include_module): argument should be T_MODULE, not
5482           T_class, nor T_ICLASS.
5484 Wed Dec 18 03:52:55 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5486         * string.c (rb_str_new4): handle tail shared string.
5487           (ruby-bugs-ja:PR#370)
5489         * string.c (rb_str_dup_frozen): ditto.
5491 Tue Dec 17 21:08:29 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5493         * node.h (NODE_ATTRASGN): new node, assignment to attribute.
5494           [ruby-core:00637].
5496         * eval.c (is_defined, rb_eval): ditto.
5498         * parse.y (attrset, node_assign): ditto.
5500         * string.c (rb_str_substr): tail sharing.  [ruby-core:00650]
5502         * re.c (rb_reg_nth_match): ditto.
5504 Tue Dec 17 16:52:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5506         * eval.c (is_defined): "defined?" should return "assignment" for
5507           attribute assignment (e.g. a.foo=b) and indexed assignment
5508           (e.g. a[2] = 44).
5510         * parse.y (aryset): use NODE_ATTRASGN.
5512 Tue Dec 17 04:03:45 2002  Tanaka Akira  <akr@m17n.org>
5514         * lib/open-uri.rb: new file.
5516 Tue Dec 17 00:28:19 2002  NAKAMURA Usaku <usa@ruby-lang.org>
5518         * file.c (utimbuf): need to define for VC++.
5520 Mon Dec 16 15:53:20 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5522         * parse.y (nextc): get rid of overrun.  (pointed out by akr
5523           [ruby-list:36773])
5525 Sun Dec 15 21:16:44 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5527         * lib/mkmf.rb (init_mkmf): add $(topdir) to $LIBPATH if $extmk.
5528           remove adding $(archdir) to $LIBPATH.
5530 Sat Dec 15 12:15:00 2002  Takaaki Uematsu <mail@uema2.cjb.net>
5532         * configure.in, defines.h, dir.c, dir.h, dln.c, error.c,
5533           eval.c, file.c, hash.c, io.c, main.c, missing.c,
5534           process.c, ruby.c, rubysig.h, signal.c, st.c, util.c, util.h,
5535           bcc/Makefile.sub, win32/Makefile.sub, win32/win32.h,
5536           ext/Win32API/Win32API.c, ext/socket/getaddrinfo.c,
5537           ext/socket/getnameinfo.c, ext/socket/socket.c,
5538           ext/tcltklib/stubs.c
5539           : replace "NT" with "_WIN32", add DOSISH_DRIVE_LETTER
5540         * wince/exe.mak : delete \r at the end of lines.
5541         * wince/mswince-ruby17.def : delete rb_obj_become
5543 Sun Dec 15 11:43:26 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5545         * parse.y (dispose_string): dispose String object.
5547         * parse.y (heredoc_restore, here_document): fix memory leak.
5549 Sat Dec 14 14:25:00 2002  Takaaki Uematsu <mail@uema2.cjb.net>
5551         * wince/sys : add stat.c, stat.h, timeb.c, timeb.h,
5552                       types.h, utime.c, utime.h
5553         * wince/dll.mak : object file name changed.
5554         * wince/io.c : add empty dup2().
5555         * wince/io.h : add dup2 definition.
5557 Sat Dec 14 01:51:29 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5559         * ext/dbm/extconf.rb (rb_check): support for GNU dbm 1.8.3.
5560           (-with-dbm-type=gdbm_compat). link against -lgdbm_compat
5561           and -lgdbm.
5563 Fri Dec 13 23:42:16 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5565         * ext/dbm/extconf.rb (db_check): check existence of the function
5566           in the specified library before checking it in libc.
5568 Fri Dec 13 17:15:49 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5570         * variable.c (generic_ivar_get): should always warn uninitialized
5571           instance variables.
5573 Fri Dec 13 12:33:22 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5575         * parse.y (expr): rescue clause was ignored.
5577 Thu Dec 12 18:19:14 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5579         * configure.in (RUBY_PROG_GNU_LD): add $CFLAGS, $CPPFLAGS, $LDFLAGS
5580           to the option of $CC.
5582         * configure.in: set LIBRUBYARG to '-l$(RUBY_SO_NAME)' if the
5583           target os is cygwin and --disable-shared option is supplied.
5585         * lib/mkmf.rb (init_mkmf): expand config["LIBRUBY"] and
5586           config["LIBRUBY_A"].  don't link $LIBRUBYARG_STATIC if
5587           --disable-shared option is supplied.
5589         * configure.in (RUBY_CPPOUTFILE): should be a better message.
5591         * ext/Win32API/extconf.rb: join with a space.
5593 Thu Dec 12 17:27:19 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5595         * re.c (rb_reg_hash): define Regexp#hash to make regexps to be
5596           hash keys.
5598         * re.c (Init_Regexp): define Regexp#eql? (alias to Regexp#==).
5600 Thu Dec 12 16:26:31 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5602         * marshal.c (r_object0): singleton class instance can't be loaded.
5603           (ruby-bugs-ja:PR#366)
5605 Wed Dec 11 23:35:43 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5607         * ext/extmk.rb (create_makefile): -no-undefined -> --no-undefined.
5609 Wed Dec 11 17:54:59 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5611         * io.c (io_read): takes optional second argument to specify a
5612           string to be written.  the string should not be frozen.
5614         * io.c (rb_io_sysread): ditto.
5616 Wed Dec 11 11:30:28 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5618         * ext/digest/digest.c (rb_digest_base_copy): renamed "become".
5620         * ext/stringio/stringio.c (strio_copy): ditto.
5622 Wed Dec 11 00:45:00 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5624         * lib/getoptlong.rb (GetoptLong::Error): provide a common ancestor
5625           for GetoptLong error classes (RCR#129).
5627 Tue Dec 10 17:42:39 2002  K.Kosako  <kosako@sofnec.co.jp>
5629         * re.c (rb_reg_copy_object): fixed memory leak.
5631 Tue Dec 10 17:30:35 2002  Tanaka Akira  <akr@m17n.org>
5633         * pack.c (utf8_limits): fix the limit of 4 bytes UTF-8 sequence.
5635 Tue Dec 10 12:01:15 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5637         * eval.c (mnew): original class of method defined in module should
5638           be the module not intermediate class.  [ruby-dev:19040]
5640 Tue Dec 10 01:16:52 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5642         * sprintf.c (rb_f_sprintf): preceding ".." for negative numbers
5643           still left;  removed.
5645         * sprintf.c (rb_f_sprintf): should not prepend '0' if width > prec
5646           for example "%5.3d".
5648 Sat Dec  7 18:14:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5650         * process.c (Init_process): add Process.exit and Process.abort
5652         * pack.c (utf8_to_uv): raise ArgumentError for malformed/redundant
5653           UTF-8 sequences.
5655 Fri Dec  6 03:46:00 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5657         * process.c (last_status_set): add pid attribute to Process::Status.
5659 Wed Dec  4 17:31:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5661         * pack.c (uv_to_utf8): limit maximum length of the encoded string
5662           to 6 bytes, even when the platform supports 8 bytes long integers.
5664         * pack.c (utf8_to_uv): do not decode sequences longer than 6 bytes.
5666         * object.c (copy_object): use "copy_object" method, not "become".
5668 Wed Dec  4 16:37:11 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5670         * object.c (copy_object): copy finalizers as well if any.
5672         * gc.c (rb_gc_copy_finalizer): new function to copy finalizers.
5674 Tue Dec  3 01:13:41 2002  Tanaka Akira  <akr@m17n.org>
5676         * lib/pp.rb (PP.singleline_pp): new method.
5678 Sun Dec  1 23:04:03 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5680         * lib/optparse.rb (OptionParser::new): same as OptionParser#on but
5681           returns new OptionParser::switch.
5683 Sun Dec  1 22:43:29 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5685         * win32/win32.c (rb_w32_stat): empty path is invalid, and return
5686           ENOENT rather than EBADF in such case.  [ruby-talk:57177]
5688 Fri Nov 29 18:01:48 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5690         * pack.c (utf8_to_uv): added checks for malformed or redundant
5691           UTF-8 sequences.
5693 Thu Nov 28 12:08:30 2002  Akinori MUSHA  <knu@iDaemons.org>
5695         * lib/mkmf.rb: Avoid the use of "clean::" in favor of "clean:" in
5696           order not to let make(1) choke if there is another dependency on
5697           the target added in a depend file.
5699 Thu Nov 28 02:40:42 2002  Akinori MUSHA  <knu@iDaemons.org>
5701         * lib/mkmf.rb: Make sure to dig the destination directory before
5702           installing a file there.  Formerly "make install" could fail
5703           depending on make(1)'s mood of the moment, especially when -jN
5704           is given.
5706 Wed Nov 27 17:39:38 2002  Akinori MUSHA  <knu@iDaemons.org>
5708         * ext/syslog/syslog.c: Cut redundancy.
5710         * ext/syslog/syslog.c: Do not leak ident.
5712 Wed Nov 27 17:25:29 2002  Akinori MUSHA  <knu@iDaemons.org>
5714         * ext/syslog/syslog.c, ext/syslog/test.rb: Syslog.close should
5715           raise RuntimeError when not opened.
5717         * ext/syslog/syslog.c, ext/syslog/test.rb:
5718           Syslog.{ident,options,facility,mask} should all return nil when
5719           not opened.
5721         * ext/syslog/syslog.c, ext/syslog/test.rb: Change back the output
5722           format of inspect().
5724 Wed Nov 27 16:25:43 2002  Akinori MUSHA  <knu@iDaemons.org>
5726         * ext/digest/test.rb: Switch from RUnit to Test::Unit.
5728 Wed Nov 27 16:14:12 2002  Akinori MUSHA  <knu@iDaemons.org>
5730         * ext/syslog/syslog.c: Fix a problem where Syslog.ident was not
5731           marked and could thus be GC'd.
5733 Wed Nov 27 16:11:53 2002  Akinori MUSHA  <knu@iDaemons.org>
5735         * ext/syslog/test.rb: Switch from RUnit to Test::Unit.
5737         * ext/syslog/test.rb: The output format of inspect() is slightly
5738           altered.
5740 Wed Nov 27 06:43:26 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5742         * error.c (exit_initialize): add SystemExit#initialize to set
5743           instance variable status.  (ruby-bugs-ja:PR#362)
5744           Now accepts status as optional first argument.
5746         * eval.c (error_handle): now SystemExit have status always.
5748         * eval.c (system_exit): just instantiate SystemExit without raise.
5750         * eval.c (rb_thread_start_0): initialize SystemExit properly.
5752 Tue Nov 26 10:17:04 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5754         * dln.c (init_funcname_len): remove MAXPATHLEN dependency.
5756 Mon Nov 25 19:55:38 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5758         * ext/extmk.rb (extmake): return true if not dynamic and not static.
5760 Mon Nov 25 01:08:40 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5762         * dln.c: revert and add the MAXPATHLEN definition on mswin32/mingw32.
5764 Sun Nov 24 20:36:53 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5766         * dln.c: move the MAXPATHLEN definition in front.
5768 Fri Nov 22 22:55:01 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5770         * sprintf.c (rb_f_sprintf): preceding ".." for negative
5771           hexadecimal numbers should not appear if prec (e.g. %.4) is
5772           specified.
5774         * pack.c (NUM2I32): support platforms which does not have 32bit
5775           integers (e.g. Cray).
5777 Fri Nov 22 19:20:36 2002  Akinori MUSHA  <knu@iDaemons.org>
5779         * instruby.rb: Install batch files on Windows. [Submitted by usa]
5781 Fri Nov 22 18:31:46 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5783         * eval.c (rb_add_method): node may be NULL.
5785 Thu Nov 21 20:53:06 2002  Minero Aoki  <aamine@loveruby.net>
5787         * lib/net/smtp.rb: changes coding style.
5789         * lib/net/pop.rb: ditto.
5791         * lib/net/protocol.rb: ditto.
5793 Thu Nov 21 20:17:08 2002  Minero Aoki  <aamine@loveruby.net>
5795         * lib/net/http.rb: changes coding style.
5797 Thu Nov 21 20:04:06 2002  Minero Aoki  <aamine@loveruby.net>
5799         * lib/net/http.rb: should not overwrite Host: header.
5800           (This patch is contributed by sean@ruby-lang.org)
5802 Thu Nov 21 20:01:33 2002  Minero Aoki  <aamine@loveruby.net>
5804         * lib/net/http.rb: support Proxy-Authorization.
5805           (This patch is contributed by Alexander Bokovoy)
5807 Thu Nov 21 11:03:39 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5809         * file.c (rb_find_file_ext): should not terminate searching with
5810           empty path, just ignore.
5812         * dir.c: remove <sys/parm.h> inclusion.
5814 Wed Nov 20 02:07:12 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5816         * compar.c (cmp_eq,cmp_gt,cmp_ge,cmp_lt,cmp_le): check using
5817           rb_cmpint().
5819         * error.c (init_syserr): remove sys_nerr dependency.
5821 Wed Nov 20 01:52:21 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5823         * numeric.c (num_cmp): added to satisfy Comparable assumption.
5825         * eval.c (rb_add_method): "initialize" should be public if it is a
5826           singleton method.
5828 Tue Nov 19 22:37:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5830         * regex.c (re_match): avoid dereferencing if size == 0.
5831           (ruby-bugs-ja:PR#360)
5833 Tue Nov 19 20:40:39 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5835         * time.c (time_cmp): should return nil if an operand is not a
5836           number nor time. (ruby-bugs-ja:PR#359)
5838         * file.c (rb_stat_cmp): should return nil if an operand is not
5839           File::Stat.
5841 Tue Nov 19 14:35:09 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5843         * array.c (rb_ary_zip): iterates over items in the receiver.
5844           zipped with nil if argument arrays are shorter.  if arrays are
5845           longer, left items are ignored.  now works with blocks.
5847         * enum.c (zip_i): changed for new behavior.
5849         * array.c (rb_ary_transpose): added. [new]
5851 Tue Nov 19 05:12:21 2002  Akinori MUSHA  <knu@iDaemons.org>
5853         * instruby.rb: Do not install various working files under bin/.
5855 Tue Nov 19 05:07:39 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5857         * instruby.rb: not rewrite installed scripts when dry-run mode.
5859         * lib/ostruct.rb (OpenStruct::initialize): should symbolize keys
5860           instead of values.
5862 Tue Nov 19 02:24:10 2002  Akinori MUSHA  <knu@iDaemons.org>
5864         * instruby.rb: Rewrite installed scripts' shebang lines.
5866         * instruby.rb: Use File.join() where appropriate.
5868 Tue Nov 19 01:53:35 2002  Akinori MUSHA  <knu@iDaemons.org>
5870         * bin/irb: Moved from sample/irb.rb.
5872         * instruby.rb: Install script files under bin/ with ruby's program
5873           prefix and suffix.
5875 Mon Nov 18 02:13:36 2002  Akinori MUSHA  <knu@iDaemons.org>
5877         * lib/tempfile.rb: Make this library thread safe.
5879         * lib/tempfile.rb: Do not pick a name which was once used and is
5880           still scheduled for removal.
5882         * lib/tempfile.rb: A lock file need not and must not be scheduled
5883           for removal.
5885         * lib/tempfile.rb: Compare Max_try with the number of mkdir
5886           failures instead of the suffix counter.
5888         * lib/tempfile.rb: Overall cleanup and add some important notices.
5890 Sun Nov 17 22:57:31 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5892         * parse.y (dsym): garbage returned.  (ruby-bugs-ja:PR#358)
5894 Fri Nov 15 07:40:08 2002  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
5896         * observer.rb: raise NoMethodError instead of NameError.
5897           [ruby-dev:18788]
5899         * ostruct.rb: ditto.  fix a bug in inspect which called String#+ with
5900           Symbol.  [ruby-dev:18788]
5902         * profile.rb: illegal use of Array#sort!.  replaced it with non-bang
5903           method.  [ruby-dev:18792]
5905 Thu Nov 14 22:40:29 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5907         * configure.in (LIBRUBY_A): append -static.  [ruby-dev:18689]
5909         * configure.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED): linker
5910           argument to link static/shared library respectively.
5912         * Makefile.in (LIBRUBYARG_STATIC, LIBRUBYARG_SHARED): added.
5914         * bcc32/Makefile.sub, win32/Makefile.sub: ditto.
5916         * instruby.rb (LIBRUBY_A): install to libdir.
5918         * lib/mkmf.rb (link_command): link static library of ruby, or
5919           try_run fails unless LIBRUBY_SO is installed.  [ruby-dev:18646]
5921         * eval.c (call_trace_func): toplevel caller was missing.
5922           [ruby-dev:18754]
5924         * eval.c (proc_to_s): adjust created line number.
5926         * parse.y (primary, do_block, brace_block): adjust line number of
5927           block to beginning line, instead of the first statement inside
5928           the block.
5930 Thu Nov 14 08:23:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5932         * math.c (math_acos): check errno after operation.  ditto for
5933           asin, acosh, atanh, log, log10 and sqrt.
5935         * eval.c (rb_add_method): initialize should always be private.
5937         * parse.y (expr): add rescue modifier rule.
5939         * parse.y (command_call): return, break and next with argument is
5940           now part of this rule.
5942 Wed Nov 13 16:22:38 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5944         * configure.in (DLDFLAGS): removed -Wl,-no-undefined to
5945           ext/extmk.rb, in order to allow references to symbols in other
5946           extension libraries for mkmf.rb.  [ruby-dev:18724]
5948         * ext/extmk.rb (extmake): ditto.
5950         * ext/extmk.rb (extmake): exit when make failed.
5952 Sun Nov 10 03:46:18 2002  Akinori MUSHA  <knu@iDaemons.org>
5954         * lib/set.rb: retire contain?() and add superset?(),
5955           proper_superset?() subset?(), and proper_subset?().
5956           [obtained from: Jason Voegele's set.rb]
5958         * lib/set.rb: define several aliases: union() for |(),
5959           difference() for -(), and intersection() for &().
5960           [obtained from: Jason Voegele's set.rb]
5962         * lib/set.rb: deal with a s/id/object_id/ leftover.
5964 Sat Nov  9 16:06:57 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
5966         * ext/tcltklib/stubs.c: should include "util.h" for ruby_strdup.
5968 Sat Nov  9 11:39:45 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5970         * eval.c: remove ENABLE_TRACE/DISABLE_TRACE to trace child nodes of
5971           c-call. [ruby-dev:18699]
5973 Fri Nov  8 04:16:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5975         * parse.y (yylex): "a" in "a /5" should be considered as a local
5976           variable. [experimental]
5978 Thu Nov  7 09:51:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
5980         * eval.c (rb_yield_0): should enable trace for non-cfunc nodes.
5981           [ruby-dev:18645]
5983         * eval.c (blk_orphan): a block created in a different thread is
5984           orphan.  [ruby-dev:17471]
5986 Wed Nov  6 16:57:06 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
5988         * class.c (rb_define_method): do not set NOEX_CFUNC if klass is
5989           really a module, whose methods must be safe for reciever's type.
5991         * eval.c (rb_eval): nosuper should not be inherited unless the
5992           overwritten method is an undef placeholder.
5994 Tue Nov  5 00:46:04 2002  Akinori MUSHA  <knu@iDaemons.org>
5996         * ext/extmk.rb: Properly pass the given target to
5997           make(1). [pointed out by eban]
5999 Mon Nov  4 20:03:53 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6001         * instruby.rb, lib/mkmf.rb: use CONFIG["ENABLE_SHARED"] instead of
6002           checking whether CONFIG["configure-args"] includes "--enable-shared".
6004 Mon Nov  4 16:49:14 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6006         * parse.y (primary): allow 'when'-less case statement; persuaded
6007           by Sean Chittenden.
6009 Mon Nov  4 06:28:09 2002  Akinori MUSHA  <knu@iDaemons.org>
6011         * Makefile.in, ext/extmk.rb, bcc32/Makefile.sub,
6012           win32/Makefile.sub: Introduce better command line syntax
6013           (--make/--make-flags/--extstatic) to extmk.rb and instruby.rb.
6014           Previously such command as 'make -j3 install' with pmake doesn't
6015           fail.  Formerly extmk.rb was receiving "make -j 3 -j 3" via the
6016           command line arguments and just ended up recognizing the first
6017           "3" as destdir. [with help of usa]
6019 Mon Nov  4 03:59:51 2002  Akinori MUSHA  <knu@iDaemons.org>
6021         * lib/getopts.rb: Do not choke on characters that cannot be used
6022           in a variable name.  Replace them with `_'.  Define a hash named
6023           $OPT for convenience.
6025 Sat Nov  2 00:38:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6027         * object.c (Init_Object): added Object#object_id, new name for
6028           Object#id. [new]
6030         * object.c (rb_obj_id_obsolete): give warning for Object#id.
6032         * numeric.c (fix_intern): added Fixnum#to_sym. [new]
6034         * object.c (sym_to_sym): rename from Symbol#intern
6036 Fri Nov  1 14:21:06 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6038         * enum.c (enum_zip): added Enumerable#zip. [new]
6040         * array.c (rb_ary_zip): added Array#zip.
6042 Thu Oct 31 20:10:18 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6044         * error.c (init_syserr): remove sys_nerr dependency.
6046 Thu Oct 31 09:31:51 2002  K.Kosako  <kosako@sofnec.co.jp>
6048         * eval.c (rb_export_method): undef'ed method visibility should not
6049           be changed.
6051 Wed Oct 30 17:00:47 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6053         * eval.c (rb_mod_public_method_defined, etc.): new methods:
6054           public_method_defined?, private_method_defined?,
6055           protected_method_defined?
6057         * object.c (rb_obj_public_methods): new method
6058           Object#public_methods.
6060         * class.c (ins_methods_i): Object#methods should list both public
6061           and protected methods.
6063         * class.c (rb_class_public_instance_methods): new method
6064           Module#public_instance_methods.
6066 Wed Oct 30 06:29:00 2002  Akinori MUSHA  <knu@iDaemons.org>
6068         * eval.c, file.c, gc.c, io.c, object.c, ruby.c, ruby.h, struct.c,
6069           ext/socket/socket.c: differentiate long and int; use proper
6070           printf type specifiers and do casts where appropriate.
6072 Wed Oct 30 04:07:33 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6074         * eval.c (error_print, rb_longjmp, rb_thread_schedule): flush
6075           error message.  [ruby-dev:18582]
6077         * eval.c (ruby_cleanup): added.  just clean up without exit.
6078           [ruby-dev:18582]
6080         * eval.c (ruby_exec): added.  execute main evaluation tree without
6081           exit.  [ruby-dev:18582]
6083         * intern.h: prototypes; ruby_cleanup, ruby_exec
6085 Tue Oct 29 02:00:08 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6087         * ext/extmk.rb (extmake): use dummy_makefile to create dummy
6088           Makefile.
6090         * lib/mkmf.rb (find_executable0): EXEEXT is optional.
6092         * lib/mkmf.rb (dummy_makefile): make dummy Makefile content.
6094         * lib/mkmf.rb (create_makefile): define EXTLIB replacing -l.
6096         * lib/mkmf.rb ($bccwin): detect Borland make by help message.
6098         * lib/mkmf.rb (CLEANINGS): common rules to clean.
6100 Mon Oct 28 01:27:17 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6102         * djgpp/config.sed (@program_transform_name@): use `%', not `,'.
6104 Sun Oct 27 22:59:50 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
6106         * ext/extmk.rb(78) : The unnecessary error when installing by bccwin32
6107                              is controlled.
6109         * lib/mkmf.rb(773) : Also in the case of bccwin32, the path was added.
6111 Sun Oct 27 17:07:25 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6113         * djgpp/*: sync with the latest.
6115         * ext/extmk.rb, lib/mkmf.rb: flush $stdout.
6117         * io.c (READ_DATA_PENDING_COUNT, READ_DATA_PENDING_PTR):
6118           undef these macros on DJGPP.
6120 Sat Oct 26 10:11:47 2002  Akinori MUSHA  <knu@iDaemons.org>
6122         * node.h (nd_type): cast the value to int.
6124 Sat Oct 26 04:27:35 2002  Akinori MUSHA  <knu@iDaemons.org>
6126         * ext/dbm/dbm.c (fdbm_indexes, fdbm_select): add a missing
6127           argument and prevent coredump when a nonexistent key is
6128           specified.
6130         * ext/sdbm/init.c (fsdbm_indexes, fsdbm_select): ditto.
6132 Sat Oct 26 03:28:43 2002  Akinori MUSHA  <knu@iDaemons.org>
6134         * eval.c, gc.c: use a common set of alloca() #ifdef's.  This fixes
6135           the build with Intel C Compiler for Linux.
6137         * eval.c (rb_f_require): declare old_func with a real type, not
6138           just type modifiers.
6140 Fri Oct 25 02:55:01 2002  Minero Aoki  <aamine@loveruby.net>
6142         * string.c (rb_str_split_m): RSTRING(str)->ptr might become NULL.
6143           [ruby-dev:18581]
6145 Thu Oct 24 21:57:02 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6147         * configure.in (LIBPATHFLAG): avoid $ substitution.
6148           [ruby-dev:18577]
6150         * ext/extmk.rb (extmake): expand $srcdir.
6152         * ext/win32ole/extconf.rb: should not override $CFLAGS, but
6153           append.
6155         * lib/mkmf.rb (config_string): use given config hash.
6157         * bcc32/Makefile.sub (.rc.res): directory part may be empty in
6158           Borland make.
6160 Thu Oct 24 03:38:07 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6162         * lib/mkmf.rb (create_makefile): site-install target for backward
6163           compatibility.
6165         * lib/mkmf.rb (init_mkmf): libdir prior to topdir.
6167         * configure.in (LIBPATHFLAG): should escape $.  [ruby-dev:18572]
6169         * mkconfig.rb: never substitute escaped $$.
6171         * instruby.rb: not install LIBRUBY_SO unless enable-shared.
6172           [ruby-dev:18569]
6174 Wed Oct 23 19:16:06 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6176         * eval.c (rb_eval): added NODE_DSYM, symbol literal with
6177           interpolation.
6179         * node.h: ditto.
6181         * intern.h: prototypes; rb_is_junk_id, rb_str_dump, rb_str_intern
6183         * object.c (sym_inspect): escape and quote for non-alphanumeric
6184           symbols.
6186         * parse.y (dsym, tokadd_string, yylex): extended symbol literals.
6188         * parse.y (rb_is_junk_id): added.
6190         * string.c (rb_str_dump, rb_str_intern) : make extern.
6192         * lib/mkmf.rb (create_makefile): deffile should be removed by
6193           distclean, not clean.
6195 Tue Oct 22 23:56:41 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6197         * lib/mkmf.rb (init_mkmf): add dir_config("opt").
6199 Tue Oct 22 19:44:03 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
6201         * bcc32/configure.bat : The command line when calling setup.mak is
6202                                 corrected.
6204         * bcc32/readme.bcc32 : It follows up about the option of configure.bat.
6206 Tue Oct 22 15:23:19 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6208         * instruby.rb: add dryrun mode.
6210         * ext/extmk.rb (extmake): add install: target to dummy Makefile.
6212         * ext/extmk.rb (extmake): avoid Borland make's quirk behavior.
6214         * lib/mkmf.rb (link_command): opt is not a makefile macro.
6216         * bcc32/Makefile.sub ($(LIBRUBY_SO) $(LIBRUBY)): EXTOBJS were not
6217           linked.
6219         * bcc32/Makefile.sub (ext/extinit.obj): missing.
6221         * bcc32/Makefile.sub (TRY_LINK): options have to place before any
6222           non-option arguments.
6224         * win32/Makefile.sub (TRY_LINK): need -link and -libpath options.
6226         * bcc32/Makefile.sub, win32/Makefile.sub (RANLIB): logical
6227           operator never work with command.com.
6229 Tue Oct 22 00:59:59 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6231         * configure.in (RUBY_CPPOUTFILE): fix cache file bug.
6233         * lib/mkmf.rb (link_command): put 'opt' after conftest.c for
6234           static linking.
6236 Mon Oct 21 22:53:02 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6238         * configure.in (XCFLAGS): CFLAGS to compile ruby itself.
6240         * configure.in (LIBEXT): suffix for static libraries.
6242         * configure.in (LIBPATHFLAG): switch template to specify library
6243           path.
6245         * configure.in (LINK_SO): command to link shared objects.
6247         * configure.in (DEFFILE, ARCHFILE): miscellaneous system dependent
6248           files.
6250         * configure.in (EXPORT_PREFIX): prefix to exported symbols on
6251           Windows.
6253         * configure.in (COMMON_LIBS, COMMON_MACROS, COMMON_HEADERS):
6254           libraries, macros and headers used in common.
6256         * configure.in (RUBYW_INSTALL_NAME, rubyw_install_name): GUI mode
6257           executable name.
6259         * Makefile.in (CFLAGS): append XCFLAGS.
6261         * Makefile.in (PREP): miscellaneous system dependent files.
6263         * Makefile.in (ruby.imp, ext/extinit.o): moved from ext/extmk.rb.
6265         * Makefile.in (fake.rb): CROSS_COMPILING keeps building platform.
6267         * Makefile.in (MAKEFILES): depend on *.in and config.status.
6269         * Makefile.in (parse.c): replace "y.tab.c" with actual name for
6270           byacc.
6272         * ext/extmk.rb, lib/mkmf.rb: integrated.
6274         * ext/extmk.rb: propagate MFLAGS.
6276         * ext/extmk.rb (extmake): make dummy Makefile to clean even if no
6277           Makefile is made.
6279         * lib/mkmf.rb (older): accept multiple file names and Time
6280           objects.
6282         * lib/mkmf.rb (xsystem): split and quote.
6284         * lib/mkmf.rb (cpp_include): make include directives.
6286         * lib/mkmf.rb (try_func): try whether specified function is
6287           available.
6289         * lib/mkmf.rb (install_files): default to site-install.
6291         * lib/mkmf.rb (checking_for): added.
6293         * lib/mkmf.rb (find_executable0): just find executable file with
6294           no message.
6296         * lib/mkmf.rb (create_header): output header file is variable.
6298         * lib/mkmf.rb (create_makefile): separate sections.
6300         * lib/mkmf.rb (init_mkmf): initialize global variables.
6302         * win32/Makefile.sub, bcc32/Makefile.sub (CPP, AR): added.
6304         * bcc32/Makefile.sub (ARCH): fixed to i386.
6306         * win32/Makefile.sub, bcc32/Makefile.sub (miniruby): should not
6307           link EXTOBJS.
6309         * ext/dl/extconf.rb: use try_cpp to cross compile.
6311         * ext/dl/extconf.rb: not modify files in source directory.
6313 Fri Oct 18 23:11:21 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6315         * parse.y (value_expr0): allow return/break/next/redo/retry in rhs
6316           of logical operator.  [ruby-dev:18534]
6318         * parse.y (remove_begin): eliminate useless NODE_BEGIN.
6319           [ruby-dev:18535]
6321 Fri Oct 18 01:02:44 2002  Akinori MUSHA  <knu@iDaemons.org>
6323         * hash.c, eval.c: Use (*_NSGetEnviron()) instead of environ on
6324           Darwin for namespace cleanness.  [ruby-core:00537]
6326         * dln.c (dln_load): Fix Darwin support that has been disabled and
6327           switch to using it on Darwin instead of the system dlopen().
6328           [ruby-core:00541]
6330 Thu Oct 17 19:17:56 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6332         * marshal.c (w_byten): added; write n bytes from s to arg.
6334         * marshal.c (dump): flush buffered data.
6336         * marshal.c (marshal_dump, r_byte, r_bytes0, marshal_load): unify
6337           marshaling I/O.  [ruby-talk:53368]
6339 Thu Oct 17 12:58:24 2002  Minero Aoki  <aamine@loveruby.net>
6341         * lib/fileutils.rb: stat.blksize might be 0/nil.
6343         * lib/fileutils.rb: change coding style.
6345 Wed Oct 16 22:35:53 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6347         * sprintf.c (rb_f_sprintf): disallow mixed usage of numbered and
6348           unnumbered arguments.  [ruby-dev:18531]
6349           get rid of memory leak at exception.  [ruby-core:00460]
6351 Wed Oct 16 13:36:29 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6353         * variable.c (rb_global_entry): not add global entry until
6354           initialized to avoid accessing it while GC.  [ruby-dev:18514]
6356         * variable.c (rb_alias_variable): ditto.
6358 Wed Oct 16 01:03:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6360         * object.c (rb_str_to_dbl): RString ptr might be NULL.
6362         * object.c (rb_cstr_to_dbl): p pointer might be NULL.
6364         * bignum.c (rb_str_to_inum): RString ptr might be NULL.
6366         * bignum.c (rb_cstr_to_inum): str pointer might be NULL.
6368 Sat Oct 12 23:44:11 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6370         * win32/win32.c (rb_w32_putc): wrong condition to fill or flush on
6371           bccwin32.  [ruby-win32:408]
6373 Fri Oct 11 15:58:06 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6375         * parse.y (arg): rescue modifier is now an operator with
6376           precedence right below assignments. i.e. "a = b rescue c" now
6377           parsed as "a = (b rescue c)", not as "(a = b) rescue c". [new]
6378           [experimental]
6380 Fri Oct 11 06:05:30 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6382         * win32/win32.c (rb_w32_fclose, rb_w32_close): use closesocket()
6383           for socket.  [ruby-win32:382]
6385         * win32/win32.c (StartSockets): set NtSocketsInitialized.
6387         * win32/win32.h: prototypes; rb_w32_fclose, rb_w32_close
6389 Fri Oct 11 00:24:57 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6391         * gc.c (ruby_xmalloc, ruby_xrealloc): restrict total allocation
6392           size according to memories consumed by live objects.
6393           [ruby-dev:18482]
6395         * gc.c (gc_sweep): estimate how live objects consume memories.
6397 Thu Oct 10 17:26:12 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6399         * ext/tcltklib/stubs.c (ruby_tcltk_stubs): fix memory leak.
6400           [ruby-dev:18478]
6402 Thu Oct 10 15:20:18 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6404         * lib/weakref.rb (WeakRef::@@final): use Hash#delete.
6406         * lib/weakref.rb (WeakRef::__getobj__): examine if alive or not by
6407           ID_REV_MAP to deal with recycled object.  [ruby-dev:18472]
6409         * lib/weakref.rb (WeakRef::weakref_alive?): ditto.
6411 Wed Oct  9 07:11:25 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6413         * gc.c (gc_sweep): also adjust heaps_limits when free unused heap
6414           page.  [ruby-core:00526]
6416         * io.c (io_fflush): condition to retry can occur.
6418         * io.c (io_write): returned 0 wrongly if no error occurred.
6420 Tue Oct  8 14:19:07 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6422         * io.c (io_write): must check returned value from fwrite() before
6423           test with ferror().  (ruby-bugs-ja:PR#350)
6425 Tue Oct  8 10:55:23 2002  Tanaka Akira  <akr@m17n.org>
6427         * lib/prettyprint.rb (PrettyPrint.singleline_format): new method.
6429 Mon Oct  7 16:43:07 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6431         * bignum.c (bigdivrem): bignum zero's len should not be 0.
6433 Mon Oct  7 15:36:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6435         * bignum.c (bigdivmod): wrong condition check for Bignum zero.
6437         * bignum.c (Init_Bignum): need to add Bignum#div.
6439 Sun Oct  6 00:49:15 2002  Minero Aoki  <aamine@loveruby.net>
6441         * eval.c (rb_load): should not pass blocks to the loaded file.
6442           [ruby-dev:18458]
6444 Fri Oct  4 20:25:38 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6446         * eval.c (rb_thread_interrupt, rb_thread_signal_raise): no need to
6447           save dead thread context. (same as [ruby-dev:18322])
6448           (ruby-bugs-ja:PR#349)
6450 Fri Oct  4 13:05:58 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6452         * configure.in (RUBY_PROG_GNU_LD): check whether the linker is GNU ld.
6454         * ext/extmk.rb (create_makefile): add -Wl,-no-undefined to $DLDFLAGS
6455           on Linux if GNU ld is used and --enable-shared is specified.
6457 Fri Oct  4 02:21:16 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6459         * bignum.c (rb_big_rshift): num should be initialized by carry
6460           bits if x is negative.
6462         * bignum.c (bigdivmod): len for bignum zero is 1, not 0.
6464 Thu Oct  3 20:22:11 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6466         * bcc32/mkexports.rb: to work on cygwin via telnet.
6467           [ruby-win32:358]
6469         * ext/tcltklib/tcltklib.c (ip_invoke): requires command name
6470           argument.  [ruby-dev:18438]
6472         * eval.c (ruby_init, ruby_options): Init_stack() with local
6473           location.  (ruby-bugs-ja:PR#277)
6475         * eval.c (rb_call0): disable trace call.  [ruby-dev:18074]
6477         * eval.c (eval, rb_load): enable trace call.  [ruby-dev:18074]
6479         * eval.c (rb_f_require): set source file name for extension
6480           libraries.  [ruby-dev:18445]
6482         * gc.c (Init_stack): prefer address of argument rather than local
6483           variable to initialize rb_gc_stack_start.
6485         * ruby.c (translate_char): translate a character in a string;
6486           DOSISH only.  [ruby-dev:18274]
6488         * ruby.c (ruby_init_loadpath): added argv[0] handling under
6489           Human68K.  [ruby-dev:18274]
6491         * ruby.c (proc_options): translate directory separator in $0 to
6492           '/'.  [ruby-dev:18274]
6494 Thu Oct  3 00:27:26 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6496         * lib/delegate.rb (Delegator::initialize): use Object#class
6497           instead of deprecated Object#type.
6499 Wed Oct  2 23:32:48 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6501         * configure.in (RUBY_CHECK_IO_NEED_FLUSH): check whether fflush()
6502           is needed.
6504         * io.c (flush_before_seek): flush before seek if buffered data
6505           may remain.
6507         * io.c (rb_io_check_readable): flush if the last operation was
6508           write.
6510         * io.c (rb_io_check_writable): flush if the last operation was
6511           read.
6513         * rubyio.h (FMODE_RBUF): added.
6515 Wed Oct  2 23:09:20 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6517         * io.c (rb_io_wait_readable): handle retryable errors.
6519         * io.c (rb_io_wait_writable): ditto.
6521         * ext/socket/socket.c (bsock_send): ditto.
6523         * ext/socket/socket.c (s_recvfrom): ditto.
6525         * ext/socket/socket.c (s_accept): ditto.
6527         * ext/socket/socket.c (udp_send): ditto.
6529         * ext/socket/getaddrinfo.c (afdl): made private structures constant.
6531         * rubyio.h: prototype; rb_io_wait_readable(), rb_io_wait_writable().
6533 Wed Oct  2 13:03:58 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6535         * configure.in: set ac_cv_func_setitimer to "no" on Cygwin.
6537 Wed Oct  2 10:59:29 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6539         * gc.c (gc_sweep): free unused heap page to reduce process size if
6540           possible.
6542         * object.c (rb_obj_type): deprecated Object#type; use Object#class.
6544 Tue Oct  1 23:48:32 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6546         * ext/socket/socket.c (init_sock): no need for special finalizer,
6547           socket descriptor is no longer duplicated in 1.7.
6548           [ruby-talk:50732]
6550         * win32/win32.c, win32/win32.h (rb_w32_fddup, rb_w32_fdclose):
6551           delete.
6553 Mon Sep 30 20:29:10 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6555         * io.c (rb_io_inspect): not need to raise IOError for closed
6556           stream.  [ruby-talk:51871]
6558 Mon Sep 30 03:48:15 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6560         * range.c (range_check): need no Fixnum check.
6562 Sun Sep 29 18:30:24 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6564         * win32/win32.c (rb_w32_open_osfhandle): adjust
6565           rb_w32_open_osfhandle() with _open_osfhandle().
6567         * win32/win32.c (rb_w32_accept, rb_w32_socket): return -1 on
6568           error.
6570         * win32/win32.h: should use file descriptor instead of SOCKET.
6572 Sun Sep 29 06:33:03 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6574         * win32/win32.c (is_socket, rb_w32_select, rb_w32_accept, rb_w32_bind,
6575           rb_w32_connect, rb_w32_getpeername, rb_w32_getsockname,
6576           rb_w32_getsockopt, rb_w32_ioctlsocket, rb_w32_listen, rb_w32_recv,
6577           rb_w32_recvfrom, rb_w32_send, rb_w32_sendto, rb_w32_setsockopt,
6578           rb_w32_shutdown, rb_w32_socket, rb_w32_gethostbyaddr,
6579           rb_w32_gethostbyname, rb_w32_gethostname, rb_w32_getprotobyname,
6580           rb_w32_getprotobynumber, rb_w32_getservbyname, rb_w32_getservbyport):
6581           need to protect WSAGetLastError() by RUBY_CRITICAL. [ruby-talk:51778]
6583 Sat Sep 28 20:06:36 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6585         * keywords: add braces around initializers.
6587 Sat Sep 28 13:19:29 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6589         * hash.c (rb_hash_become): should check self-assignment after
6590           conversion.
6592 Sat Sep 28 10:40:44 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6594         * hash.c (rb_hash_become): Hash#become should check added
6595           self-assignment.
6597         * class.c (rb_make_metaclass): metaclass of a superclass may be
6598           NULL at boot time.
6600 Sat Sep 28 09:50:03 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
6602         * ext/extmk.rb: The condition judgment without necessity was deleted.
6604 Fri Sep 27 18:40:42 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6606         * eval.c (rb_thread_deadlock): more verbose message at deadlock.
6608         * eval.c (rb_thread_schedule): ditto.
6610         * eval.c (rb_thread_join): ditto.
6612 Fri Sep 27 13:24:35 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6614         * eval.c (rb_eval): Class#inherited should be called after the
6615           execution of the class body.
6617 Fri Sep 27 02:41:53 2002  Akinori MUSHA  <knu@iDaemons.org>
6619         * ext/digest/sha1: Use OpenSSL's SHA1 engine if available.  It is
6620           much faster than what we have now (sha1.[ch]).  Add a knob
6621           (--with-bundled-sha1) to extconf.rb which makes it use the
6622           bundled one anyway.
6624 Fri Sep 27 02:25:14 2002  Akinori MUSHA  <knu@iDaemons.org>
6626         * ext/digest/rmd160: Use OpenSSL's RMD160 engine if available.  It
6627           is much faster than what we have now (rmd160.[ch]).  Add a knob
6628           (--with-bundled-rmd160) to extconf.rb which makes it use the
6629           bundled one anyway.
6631 Fri Sep 27 01:23:39 2002  Akinori MUSHA  <knu@iDaemons.org>
6633         * ext/digest/md5: Use OpenSSL's MD5 engine if available.  It is
6634           much faster than what we have now (md5.[ch]).  Add a knob
6635           (--with-bundled-md5) to extconf.rb which makes it use the
6636           bundled one anyway.
6638 Thu Sep 26 22:44:21 2002  Akinori MUSHA  <knu@iDaemons.org>
6640         * ext/digest/digest.c (rb_digest_base_s_digest): Fix a double
6641           free() bug mingled with allocation framework deployment.
6643         * ext/digest/digest.c (rb_digest_base_s_hexdigest): Get rid of
6644           redundant struct allocation.
6646 Thu Sep 26 09:52:52 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6648         * parse.y (primary): remove "return outside of method" check at
6649           compile time.
6651 Wed Sep 25 23:51:29 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6653         * dir.c (glob_helper): must not closedir() when exception raised
6654           while globbing "**".
6656         * marshal.c (w_uclass): unused variable.
6658         * re.c (match_clone): unused.
6660         * regex.c (re_compile_pattern): get rid of implicit promotion from
6661           plain char to int.
6663 Wed Sep 25 17:46:46 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6665         * lib/mkmf.rb (libpathflag): restore ENV['LIB'] when some error
6666           occurred.
6668 Wed Sep 25 16:14:51 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6670         * regex.c (re_match): p1 may exceed pend limit.
6672 Mon Sep 23 23:22:43 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6674         * eval.c (rb_call0): must not clear ruby_current_node, or
6675           backtrace cannot be generated.
6677         * intern.h (ruby_yyparse): rather than yyparse().
6679         * parse.y (yylex): nextc() returns -1 at end of input, not 0.
6681         * parse.y (newline_node): reduce duplicated newline node.
6683         * parse.y (literal_concat): get rid of warning.
6685         * parse.y (new_evstr): fixed junk code.
6687 Mon Sep 23 19:57:52 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6689         * configure.in (RUBY_MINGW32): new macro. check for the MinGW
6690           compiler environment.
6692         * lib/mkmf.rb: refactoring.
6694 Mon Sep 23 08:27:11 2002  Tanaka Akira  <akr@m17n.org>
6696         * io.c (appendline): forget to terminate with nul.
6698 Mon Sep 23 02:46:29 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6700         * eval.c (ruby_run): should set toplevel visibility again here.
6702         * eval.c (rb_eval): should not rely on ruby_class == rb_cObject
6703           check.   Besides allow implicit publicity for attribute set
6704           methods.
6706         * parse.y (primary): need not to check class_nest, just set
6707           whether method is an attrset or not.
6709 Sun Sep 22 21:49:42 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6711         * eval.c (call_trace_func): should not call trace function while
6712           compilation.
6714         * eval.c (rb_call0): also inside c-func.
6716         * parse.y (yycompile): ditto.
6718         * ruby.c (require_libraries): preserve source file/line for each
6719           require.
6721 Sun Sep 22 17:08:11 2002  Tanaka Akira  <akr@m17n.org>
6723         * string.c (rb_str_each_line): p might be at the top of the
6724           string.
6726 Sat Sep 21 23:28:28 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6728         * class.c (rb_make_metaclass): class of metaclass should be
6729           metaclass of superclass, unless class itself is a metaclass;
6730           class of metaclass of metaclass should point back to self.
6731           eh, confusing, isn't it.
6733         * class.c (rb_singleton_class): check if its class is singleton
6734           AND attached to self.
6736 Sat Sep 21 22:23:41 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6738         * eval.c (rb_thread_raise): no need to save dead thread context.
6739           [ruby-dev:18322]
6741 Fri Sep 20 23:02:01 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6743         * parse.y (block_append): eliminate unused literal nodes.
6745         * parse.y (literal_concat): refined literal concatenation.
6747 Fri Sep 20 19:43:40 2002  Akinori MUSHA  <knu@iDaemons.org>
6749         * lib/set.rb: Merge rough/lib/set.rb rev.1.5-1.15.
6751 Wed Sep 18 12:41:16 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6753         * eval.c (rb_eval): should define class/module under ruby_cbase.
6755         * eval.c (rb_eval): should set class/module path based on
6756           ruby_cbase, not ruby_class.
6758         * eval.c (module_setup): use ruby_cbase instead of ruby_class.
6760 Tue Sep 17 21:06:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6762         * eval.c (rb_thread_die): put thread dead state.
6764         * eval.c (rb_thread_atfork): free stack buffer at fork too.
6766 Tue Sep 17 01:13:31 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6768         * eval.c (rb_mod_nesting): load wrapping module should appear in
6769           Module#nesting list. (ruby-bugs-ja:PR#328)
6771         * eval.c (rb_thread_remove): free stack buffer on remove.
6773 Tue Sep 17 00:58:35 2002  Minero Aoki  <aamine@loveruby.net>
6775         * io.c: add parameter prototype.
6777         * re.c: ditto.
6779 Sun Sep 15 21:14:22 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
6781         * win32/win32.c (rb_w32_opendir, rb_w32_stat): Corresponds to
6782           the unjust path containing ".
6784 Sun Sep 15 19:48:55 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6786         * configure.in (OUTFLAG, CPPOUTFILE): moved from lib/mkmf.rb.
6787           check whether ${CPP} accepts the -o option.
6789         * win32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto.
6791         * bcc32/Makefile.sub (OUTFLAG, CPPOUTFILE): ditto.
6793         * djgpp/config.sed (OUTFLAG, CPPOUTFILE): ditto.
6795         * lib/mkmf.rb (OUTFLAG, CPPOUTFILE): use CONFIG.
6796           make easy to understand log.
6798         * mkconfig.rb (val): should not strip.
6800 Sat Sep 14 20:13:42 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
6802         * error.c(rb_sys_fail): remove case EPIPE on bcc32 .
6804 Fri Sep 13 23:39:49 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6806         * dir.c (glob_func_caller): add prototype to get rid of warning.
6808 Fri Sep 13 18:35:12 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6810         * eval.c (rb_eval): avoid uninitialized global/class variable
6811           warnings at `||='.  [ruby-dev:18278]
6813         * parse.y (stmt, arg): ditto
6815 Fri Sep 13 13:28:04 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6817         * lib/mkmf.rb ($INSTALLFILES): avoid warning when $VERBOSE mode.
6819 Thu Sep 12 23:20:10 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
6821         * bcc32/setup.mak    : Control of a message.
6823         * bcc32/makefile.sub : include resource.
6825 Thu Sep 12 18:10:03 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6827         * dir.c (glob_helper): fixed freeing buffer.  (ruby-bugs-ja:PR#332)
6829         * dir.c (glob_helper): should pass matched path.  (ruby-bugs-ja:PR#333)
6831 Thu Sep 12 00:09:32 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6833         * eval.c (rb_trap_eval): preserve thread status and so on.
6834           [ruby-talk:40337], [ruby-core:00019]
6836 Wed Sep 11 21:25:52 2002  Tanaka Akira  <akr@m17n.org>
6838         * pp.rb (ARGF.pretty_print): implemented.
6839           (PP.pp): arguments reordered.
6841 Wed Sep 11 18:55:38 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6843         * eval.c (proc_to_s): refined format.  [ruby-dev:18215]
6845 Wed Sep 11 17:47:17 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6847         * win32/win32.c, win32/win32.h (rb_w32_getpid): negate pid under Win9x.
6848           [ruby-dev:18262]
6850 Wed Sep 11 12:58:57 2002  Akinori MUSHA  <knu@iDaemons.org>
6852         * string.c (get_pat): Add an extra argument "quote".
6854         * string.c (rb_str_match_m): Do not bother to convert if a regexp
6855           is given.
6857 Wed Sep 11 11:33:40 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6859         * bcc32/Makefile.sub: remove unnecessary `.dll' from filename of
6860           dll's resource file.
6862         * cygwin/GNUmakefile.in: ditto. [ruby-dev:17103]
6864         * win32/Makefile.sub: ditto. [ruby-dev:17103]
6866         * win32/resource.rb: ditto. [ruby-dev:17103]
6868 Wed Sep 11 09:59:46 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6870         * io.c (rb_io_wait_readable): added.
6872         * io.c (rb_io_wait_writable): added.
6874         * io.c (io_read_retryable): added.
6876         * io.c (io_write): retry on EINTR, ERESTART and EWOULDBLOCK.
6877           [ruby-dev:17855], [ruby-dev:17878], [ruby-core:00444]
6879         * io.c (rb_io_fread): ditto.
6881         * io.c (read_all): ditto.
6883         * io.c (appendline): ditto.
6885         * io.c (rb_io_each_byte): ditto.
6887         * io.c (rb_io_getc): ditto.
6889 Wed Sep 11 09:29:24 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6891         * win32/Makefile.sub (ext): make directory `ext' on compile dir.
6892           [ruby-dev:18255]
6894 Wed Sep 11 00:41:10 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6896         * eval.c (rb_mod_define_method): initialize orig_func too.
6897           (ruby-bugs-ja:PR#330)
6899 Wed Sep 11 00:01:32 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
6901         * dir.c (glob_helper): prevent memory leak using rb_protect().
6903         * string.c (rb_str_associate): no need to check freeze flag.
6905         * string.c (rb_str_resize): should honor STR_ASSOC flag on
6906           resize.
6908         * string.c (rb_str_resize): proper STR_ASSOC handling.  pointed
6909           out by Michal Rokos.
6911         * string.c (rb_str_buf_cat): ditto.
6913         * string.c (rb_str_cat): ditto.
6915         * string.c (rb_str_buf_append): ditto.
6917         * string.c (rb_str_append): ditto.
6919 Tue Sep 10 23:35:46 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6921         * parse.y (nextc): restore line number after here documents.
6922           (ruby-bugs-ja:PR#331)
6924         * parse.y (heredoc_restore): ditto.
6926 Tue Sep 10 18:26:52 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6928         * ext/extmk.rb, lib/mkmf.rb ($INCFLAGS): new var for -I$(topdir).
6930         * lib/mkmf.rb: add #define WIN32_LEAN_AND_MEAN to improve compile
6931           times.
6933 Tue Sep 10 17:16:14 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6935         * win32/Makefile.sub (miniruby): shouldn't link $(EXTOBJS).
6936           [ruby-dev:17059]
6938         * win32/Makefile.sub ($(LIBRUBY_A), $(LIBRUBY)): avoid lib.exe's
6939           warning. [ruby-dev:17059]
6941         * win32/Makefile.sub: remove unnecessary rules. [ruby-dev:17059]
6943         * win32/configure.bat, win32/setup.mak, win32/README.win32: enable to
6944           pass some arguments to configure. [ruby-dev:17059]
6946 Mon Sep  9 23:43:33 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6948         * win32/win32.h (S_I?USR): define only if not mingw32.
6950 Mon Sep  9 11:21:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
6952         * ext/stringio/stringio.c (strio_set_string): reinitialize
6953           properly.
6955         * ext/stringio/stringio.c (strio_become): added self-assign check
6956           and experimental auto-conversion to StringIO.
6958         * ext/stringio/stringio.c (strio_reopen): added.
6961 Sun Sep  8 21:29:25 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6963         * time.c (time_free): prototype; struct time_object -> void *.
6964           avoid GCC warnings.
6966         * lib/mkmf.rb, ext/extmk.rb ($LINK, $CPP): move to lib/mkmf.rb.
6968 Sun Sep  8 19:02:28 2002  NAKAMURA Usaku <usa@ruby-lang.org>
6970         * time.c: prototype; time_free() to avoid VC++ warnings.
6972         * ext/tcltklib/tcltklib.c: prototype; invoke_queue_handler() to avoid
6973           VC++ warning.
6975         * win32/win32.c (rb_w32_stat): remove S_IWGRP and S_IWOTH bits from
6976           st_mode.
6978         * win32/win32.h (S_I*): define if not defined.
6980 Sun Sep  8 14:38:31 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
6982         * configure.in: modify program_prefix only if specified
6983           --program-prefix.
6985         * configure.in: don't generate ext/extmk.rb.
6987         * Makefile.in: execute directly $(srcdir)/ext/extmk.rb.
6988           remove -Cext option, "Dir::chdir 'ext'" in ext/extmk.rb.
6990         * {win32,bccwin32}/Makefile.sub: ditto.
6992         * instruby.rb: ditto.
6994         * ext/extmk.rb: renamed from ext/extmk.rb.in.
6996         * lib/mkmf.rb (module Logging): create log files (mkmf.log)
6997           in each extension module directories.
6999         * ext/extmk.rb: ditto.
7001         * lib/mkmf.rb (macro_defined?): new method.
7003         * ext/.cvsignore: remove extmk.rb.
7005         * ext/*/.cvsignore: add "*.def".
7007         * lib/mkmf.rb (have_struct_member): moved from ext/socket/extconf.rb.
7009         * ext/socket/extconf.rb: use macro_defined? instead of egrep_cpp.
7011         * ext/etc/extconf.rb: use have_struct_member.
7013         * ext/etc/etc.c: add prefix HAVE_ST_ to PW_ macros.
7015 Sun Sep  8 14:36:40 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
7017         * bcc32/configure.bat : Control of a message.
7018         * bcc32/makefile.sub  : @(sitearch) typo.
7019         * ext/extmk.rb.in     : [bccwin32] libdir is added to a library path.
7020         * lib/mkmf.rb         : ditto.
7022 Sat Sep  7 23:32:56 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7024         * misc/inf-ruby.el (inferior-ruby-error-regexp-alist): regexp
7025           alist for error message from ruby.
7027         * misc/inf-ruby.el (inferior-ruby-mode): fixed for Emacs.
7029         * misc/inf-ruby.el (ruby-send-region): compilation-parse-errors
7030           doesn't parse first line, so insert separators before each
7031           evaluations.
7033 Sat Sep  7 19:46:57 2002  Akinori MUSHA  <knu@iDaemons.org>
7035         * lib/set.rb: Disallow Set.new(false).  Add even more tests.
7036           [Submitted by: "Christoph" <chr_news@gmx.net>]
7038 Sat Sep  7 19:23:56 2002  Akinori MUSHA  <knu@iDaemons.org>
7040         * lib/set.rb: Fix a bug in flatten()'s recursive set detection.
7041           [Submitted by: "Christoph" <chr_news@gmx.net>]  Some tests
7042           against the bug are added.
7044         * lib/set.rb: Resurrect the test suite by putting it after
7045           __END__ and executing `eval DATA.read'.
7047 Sat Sep  7 08:41:39 2002  Minero Aoki  <aamine@loveruby.net>
7049         * parse.y (rb_gc_mark_parser): ruby_eval_tree is marked in eval.c.
7051 Fri Sep  6 20:01:38 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7053         * lib/mkmf.rb ($CC): command to compile C source.
7055         * lib/mkmf.rb (logging): added.
7057         * lib/mkmf.rb (try_compile): added.
7059         * lib/mkmf.rb (egrep_cpp): use internal grep when pattern is
7060           Regexp, otherwise use external egrep command but get rid of
7061           pipe of command.com.
7063         * lib/mkmf.rb (have_func): local variable should be volatile not
7064           to be eliminated by optimization.
7066         * lib/mkmf.rb (create_makefile): link with CONFIG["LIBS"].
7068         * lib/mkmf.rb (create_makefile): emit .SUFFIXES:.
7070 Fri Sep  6 12:11:22 2002  Minero Aoki  <aamine@loveruby.net>
7072         * parse.y (rb_gc_mark_parser): should mark ALL global variables
7073           defined in parse.y.
7075 Fri Sep  6 01:15:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7077         * gc.c (ruby_xmalloc): remove MALLOC_LIMIT to avoid frequent
7078           garbage collection.
7080 Fri Sep  6 11:47:37 2002  Minero Aoki  <aamine@loveruby.net>
7082         * parse.y (rb_gc_mark_parser): should mark global variables
7083           defined in parse.y.
7085 Fri Sep  6 10:34:32 2002  Minero Aoki  <aamine@loveruby.net>
7087         * io.c (rb_io_puts): RSTRING(line)->ptr might be NULL.
7089 Fri Sep  6 10:26:37 2002  Minero Aoki  <aamine@loveruby.net>
7091         * parse.y: should not put non-NODE-VALUEs in the semantic stack.
7093 Fri Sep  6 05:48:26 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7095         * file.c (rb_path_check): nothing to check under DOSISH.
7096           [ruby-list:35772]
7098 Fri Sep  6 05:03:50 2002  Minero Aoki  <aamine@loveruby.net>
7100         * gc.c (rb_gc): should mark parser.
7102         * parse.y (rb_gc_mark_parser): new function.
7104         * intern.h (rb_gc_mark_parser): added.
7106 Thu Sep  5 18:32:32 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7108         * variable.c (rb_path2class): should not use rb_eval_string().
7110 Thu Sep  5 17:18:22 2002  Michal Rokos  <michal@ruby-lang.org>
7112         * dln.c: fix memory leak in dln_load (ruby-core:405) and
7113           in load_1 (ruby-core:407)
7115 Thu Sep  5 15:43:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7117         * marshal.c (w_extended): should allow marshaling of object which
7118           is extended by named module.
7120         * class.c (rb_make_metaclass): super may be T_ICLASS, need to skip.
7122 Thu Sep  5 13:09:22 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7124         * eval.c (rb_eval): overriding false constant with class/module
7125           definition should be error.  (PR#327)
7127 Thu Sep  5 01:24:26 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7129         * extmk.rb (create_makefile): add macro MAKEDIRS, INSTALL_PROG,
7130           INSTALL_DATA.
7132         * extmk.rb (create_makefile): support for building to any directory.
7134         * extmk.rb (xsystem): move to mkmf.rb.
7136         * mkmf.rb (xsystem): support for extmk.rb
7138         * mkmf.rb ($CPP): remove '-E' option.  add CPPFLAGS.
7140 Wed Sep  4 16:15:17 2002  Akinori MUSHA  <knu@iDaemons.org>
7142         * lib/set.rb: ==(o) should be aware of all the Set variant
7143           instances, not just those of its subclasses. [Submitted by:
7144           "Christoph" <chr_news@gmx.net>]
7146         * lib/set.rb: - Fix eql?(). [ditto]
7148 Wed Sep  4 15:23:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7150         * class.c (rb_make_metaclass): obj.meta.super.meta should be equal
7151           to obj.meta.meta.super (ruby-bugs-ja:PR#324).
7153 Wed Sep  4 05:10:16 2002  Koji Arai  <jca02266@nifty.ne.jp>
7155         * parse.y (yylex): the warning message "invalid
7156           character syntax" was never issued (ruby-bugs-ja:PR#323).
7158 Wed Sep  4 01:08:45 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7160         * marshal.c (r_bytes): do not use alloca (ruby-bugs:PR#382).
7162 Tue Sep  3 17:12:59 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7164         * extmk.rb: require mkmf.rb.  remove duplicate methods.
7165           use Config::CONFIG["FOO"] instead of @FOO@.
7167         * mkmf.rb: support for extmk.rb.
7169 Mon Sep  2 23:01:50 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7171         * re.c (rb_reg_search): MatchData must be rb_cMatch.
7172           (ruby-bugs-ja:PR#319)
7174 Mon Sep  2 21:21:46 2002  Minero Aoki  <aamine@loveruby.net>
7176         * gc.c (gc_sweep): does reclaim nodes in also compile time, if we
7177           can.
7179         * ruby.c (load_file): omit GC if we can.
7181         * parse.y (ruby_parser_stack_on_heap): new function.
7183         * intern.h (ruby_parser_stack_on_heap): added.
7185 Mon Sep  2 18:45:07 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7187         * variable.c (rb_copy_generic_ivar): remove old generic instance
7188           variable table if it exists.
7190 Sun Sep  1 15:54:33 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7192         * config.guess: fixed for Linux/PPC.
7194 Sat Aug 31 09:38:12 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7196         * class.c (rb_make_metaclass): metaclass of a metaclass is a
7197           metaclass itself.
7199 Fri Aug 30 22:45:16 2002  Akinori MUSHA  <knu@iDaemons.org>
7201         * lib/set.rb: Added.
7203 Fri Aug 30 20:58:54 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
7205         * ext/Win32API/Win32API.c (Win32API_Call): typo.
7207 Fri Aug 30 19:45:52 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7209         * variable.c (rb_const_assign): st_delete() takes pointer to key.
7211 Fri Aug 30 19:40:28 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7213         * ext/Win32API/Win32API.c (Win32API_Call): RSTRING()->ptr may be
7214           NULL.
7216         * ext/nkf/nkf.c (rb_nkf_guess): ditto.
7218         * ext/readline/readline.c (readline_s_set_completion_append_character):
7219           ditto.
7221         * ext/socket/socket.c (sock_s_getaddrinfo, sock_s_getnameinfo):
7222           ditto.
7224         * ext/tcltklib/tcltklib.c (ip_toUTF8, ip_fromUTF8): ditto.
7226 Fri Aug 30 01:32:17 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7228         * class.c (rb_singleton_class): superclass of a metaclass
7229           should be a metaclass of superclass.
7231         * range.c (range_eq): two instances must belong to a same class to
7232           be equal.
7234         * range.c (range_eql): ditto.
7236         * io.c (rb_io_taint_check): frozen check added.
7238         * file.c (rb_stat_become): frozen check added.
7240         * object.c (rb_obj_become): ditto.
7242         * re.c (rb_reg_become): ditto.
7244         * struct.c (rb_struct_become): ditto.
7246         * time.c (time_become): ditto.
7248         * array.c (rb_ary_become): should call rb_ary_modify().
7250         * hash.c (rb_hash_become): should call rb_hash_modify().
7252         * compar.c (cmp_equal): should not use NUM2LONG(), since <=> may
7253           return bignum.
7255         * compar.c (cmp_gt, cmp_ge, cmp_lt, cmp_le, cmp_between): ditto.
7257 Thu Aug 29 23:34:42 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
7259         * bcc32/MakeFile.sub (sitearch): add.
7261 Thu Aug 29 13:36:42 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7263         * io.c (read_all): should use off_t instead of long.
7265 Thu Aug 29 00:55:55 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7267         * marshal.c (r_object): yield loaded objects, not intermediates.
7268           (ruby-bugs-ja:PR#296)
7270 Thu Aug 29 00:06:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7272         * array.c (rb_ary_become): should not free ptr if it's shared.
7274         * eval.c (rb_alias): prohibit making an alias named "allocate" if
7275           klass is a metaclass.
7277 Wed Aug 28 23:59:15 2002  Michal Rokos  <michal@ruby-lang.org>
7279         * signal.c: remove #ifdef SIGINT for struct signals.
7281         * variable.c: get rid of fix length buffer in rb_class_path.
7283 Wed Aug 28 23:34:32 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7285         * io.c (appendline): data was lost when raw mode.
7287 Wed Aug 28 22:57:34 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7289         * string.c (rb_string_value_ptr): StringValuePtr() should never
7290           return NULL pointer.
7292 Wed Aug 28 19:12:46 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7294         * ext/stringio/stringio.c (strio_initialize): RSTRING(mode)->ptr
7295           can be NULL.
7297         * ext/stringio/stringio.c (strio_ungetc): fix buffer overflow.
7299 Wed Aug 28 18:19:55 2002  Michal Rokos  <michal@ruby-lang.org>
7301         * file.c: fix memory leak in rb_stat_init.
7303 Wed Aug 28 17:45:03 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7305         * win32/win32.c (kill): negate pid under Win9x.
7307 Wed Aug 28 16:36:40 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7309         * configure.in (ar): don't check ar twice.
7311 Wed Aug 28 15:00:29 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7313         * string.c (rb_str_delete_bang): should check if str->ptr is 0.
7315         * string.c (rb_str_squeeze_bang): ditto.
7317         * string.c (rb_str_count): ditto.
7319         * string.c (rb_str_lstrip_bang): ditto.
7321         * string.c (rb_str_rstrip_bang): ditto.
7323         * string.c (rb_str_intern): ditto.
7325 Wed Aug 28 11:37:35 2002  NAKAMURA Usaku <usa@ruby-lang.org>
7327         * win32/win32.h: define SIGINT and SIGKILL if not defined.
7329         * win32/win32.c: remove definition of SIGINT and SIGKILL.
7331 Tue Aug 27 19:50:27 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7333         * ruby.c (require_libraries): prevent ruby_sourcefile from GC.
7335 Tue Aug 27 15:03:35 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7337         * file.c (rb_find_file): $LOAD_PATH must not be empty.
7339         * file.c (rb_find_file_ext): ditto.
7341 Tue Aug 27 02:35:21 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7343         * range.c (range_eq): class check should be based on range.class,
7344           instead of Range to work with Range.dup.
7346         * range.c (range_eql): ditto.
7348 Mon Aug 26 18:17:56 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7350         * class.c (rb_mod_dup): need to preserve metaclass and flags.
7352 Mon Aug 26 10:44:18 2002  Tanaka Akira  <akr@m17n.org>
7354         * object.c (rb_cstr_to_dbl): had a buffer overrun.
7356 Sun Aug 25 20:10:32 2002  Wakou Aoyama  <wakou@ruby-lang.org>
7358         * lib/cgi.rb (CGI#form): fix ruby-bugs-ja:PR#280, add default action.
7360 Sat Aug 24 15:32:16 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7362         * eval.c (call_trace_func): restore source file/line, as trace
7363           function installed in required library with -r option can be
7364           called while parsing.  (ruby-bugs:PR#372)
7366         * eval.c (module_setup): unused variable.  [ruby-core:00358]
7368 Sat Aug 24 14:59:02 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7370         * marshal.c (w_class): integrate singleton check into a function
7371           to follow DRY principle.
7373         * marshal.c (w_uclass): should check singleton method.
7375         * object.c (rb_obj_dup): dmark and dfree functions must be match
7376           for T_DATA type.
7378         * object.c (rb_obj_dup): class of the duped object must be match
7379           to the class of the original.
7381 Sat Aug 24 13:57:28 2002  Tanaka Akira  <akr@m17n.org>
7383         * lib/time.rb (Time.rfc2822, Time#rfc2822): preserve localtimeness.
7385         * lib/pp.rb: pretty_print_cycled is renamed to pretty_print_cycle.
7387 Fri Aug 23 23:59:57 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7389         * eval.c (method_call): check receiver is defined.
7391         * eval.c (umethod_call): removed.
7393 Fri Aug 23 23:39:17 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7395         * re.c (rb_reg_quote): do not escape \t, \f, \r, \n, for they are
7396           not regular expression metacharacters.
7398         * time.c (time_s_alloc): use time_free instead of free (null check,
7399           also serves for type mark).
7401         * time.c (time_s_at): check dfree function too.
7403 Fri Aug 23 17:06:48 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7405         * configure.in: RUBY_SO_NAME is msvcrt-rubyXX on mswin32/mingw32.
7407         * configure.in (sitearch): new var.
7409         * mkconfig.rb, lib/mkmf.rb (sitearch): ditto.
7411         * win32/Makefile.sub, win32/setup.mak (sitearch): ditto.
7413         * instruby.rb: ditto.
7415 Wed Aug 21 16:53:00 2002  Michal Rokos  <michal@ruby-lang.org>
7417         * *.c: int, long types cleanup.
7419         * parse.y: ditto.
7421         * re.h, regex.h, ruby.h: ditto.
7423 Wed Aug 21 16:43:19 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7425         * eval.c (rb_thread_cleanup): should not modify the global
7426           variable curr_thread.
7428 Wed Aug 21 16:14:26 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7430         * configure.in: set ac_cv_func__setjmp to "no" on Cygwin.
7432         * configure.in: set ac_cv_func_crypt to "no" on MinGW.
7434 Tue Aug 20 21:47 2002  KONISHI Hiromasa  <konishih@fd6.so-net.ne.jp>
7436         * io.c          (rb_io_fread): remove case EPIPE on bcc32 .
7438         * win32/win32.c (rb_w32_getc): clear EPIPE error on bcc32.
7440 Tue Aug 20 19:39:03 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7442         * file.c (rb_file_s_expand_path): accept drive letter on Cygwin.
7444         * file.c (is_absolute_path): ditto.
7446 Tue Aug 20 12:12:25 2002  Tietew <tietew@tietew.net>
7448         * io.c (rb_io_putc): output via rb_io_write().
7450 Mon Aug 19 19:01:55 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7452         * misc/inf-ruby.el (inf-ruby-keys): ruby-send-definition
7453           conflicted with ruby-insert-end.
7455         * misc/inf-ruby.el (inferior-ruby-mode): compilation-minor-mode.
7457         * misc/inf-ruby.el (ruby-send-region): send as here document to
7458           adjust source file/line.  [ruby-talk:47113], [ruby-dev:17965]
7460         * misc/inf-ruby.el (ruby-send-terminator): added to make unique
7461           terminator.
7463 Mon Aug 19 17:08:19 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7465         * re.c (rb_reg_initialize_m): frozen check should be moved here
7466           from rb_reg_initialize().
7468 Mon Aug 19 15:38:44 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7470         * array.c (sort_2): comparison should be done as signed long.
7472         * array.c (sort_2): should return int, not VALUE.
7474 Mon Aug 19 12:38:33 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7476         * eval.c (rb_thread_save_context, rb_thread_restore_context):
7477           save/restore SEH chain on MS-Windows at thread switch.
7478           [ruby-win32:273]
7480         * eval.c (win32_get_exception_list, win32_set_exception_list):
7481           added.
7483 Sat Aug 17 23:01:25 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7485         * array.c (sort_2): *a - *b may overflow.
7487 Sat Aug 17 00:25:08 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7489         * array.c (ary_new): len*sizeof(VALUE) may be a positive value.
7491         * array.c (rb_ary_initialize): ditto.
7493 Fri Aug 16 15:58:16 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7495         * io.c (NOFILE): define NOFILE as 64 if not defined.
7497         * signal.c (sighandler_t): rename to sh_t on dietlibc.
7499 Fri Aug 16 15:37:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7501         * bignum.c (rb_cstr_to_inum): new decimal and octal string.
7503 Fri Aug 16 13:17:11 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7505         * object.c (rb_class_allocate_instance): move singleton class
7506           check from rb_obj_alloc().
7508 Fri Aug 16 11:47:24 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7510         * io.c (rb_io_fread): renamed from io_fread and made extern.
7512         * marshal.c (r_bytes0): check if successfully read, use
7513           rb_io_fread() instead of fread() to be preemptive.
7514           (ruby-bugs-ja:PR#294, 295)
7516         * rubyio.h (rb_io_fread): added.
7518 Fri Aug 16 07:57:26 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7520         * eval.c (compile_error): must not clear ruby_sourcefile here.
7521           (ruby-bugs:PR#364).
7523         * eval.c (rb_longjmp): set ruby_sourcefile before making
7524           backtrace.
7526 Thu Aug 15 20:38:58 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7528         * eval.c (ruby_current_node) : added to set sourceline on demand.
7530         * eval.c (error_pos, error_print, rb_longjmp, assign): set source
7531           file/line.
7533         * eval.c (rb_eval): store current node instead of file/line, and
7534           preserve it at return.
7536         * eval.c (module_setup): ditto.
7538         * eval.c (struct thread): store node instead of file/line.
7540         * eval.c (rb_thread_raise): ditto.
7542         * intern.h (ruby_current_node): added.
7544         * intern.h (ruby_set_current_source): added.
7546         * parse.y (stmt, arg): not fix position of assignment.
7548         * parse.y (node_assign): ditto.
7550         * parse.y (yycompile): clear current node.
7552 Thu Aug 15 00:48:46 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7554         * re.c (rb_reg_initialize): should not modify frozen Regexp.
7556 Tue Aug 13 18:33:18 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7558         * ext/tcltklib/tcltklib.c (ip_init): allocation framework.
7560 Tue Aug 13 15:32:14 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7562         * hash.c (rb_hash_replace): should copy ifnone.
7564         * hash.c (rb_hash_dup): should preserve HASH_PROC_DEFAULT and
7565           HASH_DELETED flags.
7567         * hash.c (rb_hash_shift): shift from empty hash should not return
7568           its default proc.
7570         * hash.c (rb_hash_default_proc): new method. [new]
7572 Tue Aug 13 00:37:11 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7574         * array.c (rb_ary_aref): no need for Bignum check.
7576         * array.c (rb_ary_aset): explicit Bignum check removed.
7578         * numeric.c (fix_aref): normalize bignum before bit-op.
7580         * bignum.c (rb_big_rand): max may be Bignum zero.
7582         * bignum.c (rb_cstr_to_inum): should normalize bignums, to avoid
7583           returning fixable bignum value.
7585         * bignum.c (rb_uint2big): there should be no zero sized bignum.
7587 Mon Aug 12 23:45:28 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7589         * ext/extmk.rb.in: extmake() that works properly for both tkutil
7590           (tk/tkutil.so) and digest/sha1.
7592 Mon Aug 12 22:29:35 2002  Akinori MUSHA  <knu@iDaemons.org>
7594         * ruby.c (set_arg0): Correct the position of #endif.
7596 Mon Aug 12 17:25:06 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7598         * hash.c (rb_hash_equal): should check HASH_PROC_DEFAULT too.
7600 Mon Aug 12 16:15:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7602         * bignum.c (rb_big_cmp): raise for NaN.  (ruby-bugs-ja:PR#284).
7604 Sun Aug 11 09:34:07 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7606         * eval.c (rb_eval): set line number from all nodes.
7608         * eval.c (proc_to_s): show source file/line if available.
7610         * marshal.c (r_object): register TYPE_BIGNUM regardless real type.
7612 Sat Aug 10 23:47:16 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7614         * bignum.c (rb_big_cmp): use dbl2big() for Floats, instead of
7615           big2dbl().
7617         * bignum.c (Init_Bignum): rb_big_zero_p() removed.  There may be
7618           Bignum zero.
7620 Fri Aug  9 13:31:40 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7622         * ext/Win32API/extconf.rb: check existence of <windows.h>.
7624 Thu Aug  8 09:37:02 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7626         * lib/optparse.rb (NilClass): must provide conversion block.
7628         * lib/optparse.rb (String): ditto.
7630 Thu Aug  8 00:45:15 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7632         * eval.c (rb_call0): new argument added for original method name.
7633           preserve original method name in frame->orig_func.
7635         * eval.c (is_defined): use frame->orig_func, not last_func.
7637         * eval.c (rb_eval): ditto.
7639         * eval.c (method_call): supply data->oid also to rb_call0().
7641         * object.c (rb_class_allocate_instance): call rb_obj_alloc() when
7642           called from alias, thus invoke original "allocate".
7644         * eval.c (remove_method): removing allocate from classes should
7645           cause NameError.
7647 Wed Aug  7 22:12:54 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7649         * lib/optparse.rb (OptionParser::Completion::convert): returned
7650           all values not first one.
7652         * lib/optparse.rb (OptionParser::Switch::parse): return values as
7653           is.
7655         * lib/optparse.rb (OptionParser::order): ditto.
7657         * lib/optparse/time.rb: prior time.rb.
7659         * lib/optparse/uri.rb: require standard uri module.  thanks to
7660           Minero Aoki.
7662 Wed Aug  7 09:51:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7664         * hash.c (rb_hash_equal): should check default values.
7666 Wed Aug  7 08:44:32 2002  Minero Aoki  <aamine@loveruby.net>
7668         * ext/racc/cparse/cparse.c: reduce goto.
7670 Tue Aug  6 15:19:39 2002  NAKAMURA Usaku <usa@ruby-lang.org>
7672         * string.c (rb_str_rindex): must return -1 if unmatched.
7674 Mon Aug  5 22:41:18 2002  Minero Aoki  <aamine@loveruby.net>
7676         * MANIFEST: add lib/racc/parser.rb.
7678         * ext/racc/cparse/cparse.c: code refine.
7680         * ext/racc/cparse/MANIFEST: add depend.
7682 Sun Aug  4 22:30:50 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7684         * ext/curses/curses.c: follow allocation framework.
7686 Sat Aug  3 21:23:56 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7688         * eval.c (rb_eval): set constant in cbase scope.
7690         * eval.c (assign): ditto.
7692 Fri Aug  2 09:12:32 2002  Minero Aoki  <aamine@loveruby.net>
7694         * ext/strscan/strscan.c: follow allocation framework.
7696 Fri Aug  2 01:21:52 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7698         * ext/socket/socket.c (s_recvfrom): update RSTRING len.
7700 Thu Aug  1 17:47:15 2002  Tachino Nobuhiro <tachino@jp.fujitsu.com>
7702         * parse.y (tokadd_string): ignore backslashed spaces in %w.
7704 Thu Aug  1 14:14:15 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7706         * enum.c (enum_find): do not use rb_eval_cmd(); should not accept
7707           a string for if_none.
7709 Wed Jul 31 14:11:43 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7711         * eval.c (rb_undef): undef should be done for klass, not ruby_class.
7713 Tue Jul 30 19:48:51 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7715         * misc/ruby-mode.el (ruby-accurate-end-of-block): restrict search
7716           region.
7718         * misc/ruby-mode.el (ruby-parse-partial): reversed wrong patch.
7720 Tue Jul 30 17:21:13 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7722         * misc/ruby-mode.el (ruby-accurate-end-of-block): incomplete block
7723           caused infinite loop.
7725         * misc/ruby-mode.el (ruby-parse-partial): returns nil unless
7726           delimiters found.
7728 Tue Jul 30 15:24:07 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7730         * ext/tcltklib/stubs.c (ruby_tcltk_stubs): win32_getenv returns
7731           the same address always, so allocate string by ruby_strdup.
7733         * win32/win32.c: prototype; rb_w32_open_osfhandle().
7735 Tue Jul 30 09:11:07 2002  Minero Aoki  <aamine@loveruby.net>
7737         * eval.c (rb_thread_join_m): add parameter type declaration.
7739 Tue Jul 30 08:37:11 2002  Minero Aoki  <aamine@loveruby.net>
7741         * eval.c (localjump_error): add parameter type declaration.
7743 Mon Jul 29 16:00:54 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7745         * ext/extmk.rb.in: always use File.expand_path for $top_srcdir.
7747 Sat Jul 27 23:07:52 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7749         * numeric.c (num_to_int): default to_int implementation for every
7750           numeric class.
7752 Sat Jul 27 08:09:03 2002  Booker C. Bense  <bbense@slac.stanford.edu>
7754         * re.c (rb_reg_quote): initial part of the string was never copied
7755           to the quoted string.
7757 Fri Jul 26 23:03:53 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7759         * eval.c (rb_eval): no need to convert to string twice.
7761 Fri Jul 26 18:32:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7763         * misc/ruby-mode.el (ruby-expr-beg): wrong indent at modifiers
7764           after ?.
7766 Fri Jul 26 16:01:16 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7768         * ext/extmk.rb.in (create_makefile): use Regexp in gsub.
7770         * sample/mkproto.rb: ditto and fix bug.
7772 Fri Jul 26 14:31:06 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7774         * random.c: replace with Mersenne Twister RNG.
7776 Fri Jul 26 12:14:48 2002  Minero Aoki  <aamine@loveruby.net>
7778         * parse.y (yylex): modify to accept a code like "m (a){...}".
7780 Thu Jul 25 09:05:02 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7782         * misc/ruby-mode.el (ruby-delimiter): include here document.
7784         * misc/ruby-mode.el (ruby-deep-arglist): skips spaces after
7785           parenthesis when 'space.
7787         * misc/ruby-mode.el (ruby-imenu-create-index): fix for nested
7788           classes.
7790         * misc/ruby-mode.el (ruby-accurate-end-of-block): added.  scan a
7791           block in the order.
7793         * misc/ruby-mode.el (ruby-expr-beg): support for here document.
7795         * misc/ruby-mode.el (ruby-parse-partial): splitted from
7796           ruby-parse-region.
7798         * misc/ruby-mode.el (ruby-move-to-block): skips RD style comments.
7800 Wed Jul 24 09:47:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7802         * eval.c (jump_tag_but_local_jump): preserve retval in
7803           LocalJumpError exceptions.
7805         * parse.y (command): no more check for "super outside of method".
7807         * eval.c (rb_mod_define_method): should set last_class and
7808           last_func in the block->frame.
7810 Mon Jul 22 17:23:00 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7812         * eval.c (error_handle): should handle TAG_THROW as well.
7814 Fri Jul 19 10:52:32 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7816         * parse.y (yylex): new decimal notation '0d4567'.
7818 Thu Jul 18 11:52:02 2002  Shugo Maeda  <shugo@ruby-lang.org>
7820         * lib/net/ftp.rb (set_socket): new method.
7822 Thu Jul 18 06:51:24 2002  Minero Aoki  <aamine@loveruby.net>
7824         * parse.y (yylex): fix typo.
7826 Wed Jul 17 18:41:28 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7828         * parse.y (yylex): new octal notation '0o777'.
7830 Mon Jul 15 18:36:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7832         * parse.y (string_content): every string_content node should
7833           return string only.  use NODE_EVSTR to coercing.
7835         * eval.c (rb_eval): NODE_EVSTR support.
7837 Mon Jul 15 10:35:35 2002  Minero Aoki  <aamine@loveruby.net>
7839         * parse.y (heredoc_identifier): fix typo.
7841 Sat Jul 13 09:30:04 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7843         * parse.y (literal_concat_string): wrong optimization.
7845 Sat Jul 13 01:25:38 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7847         * lib/resolv.rb (Resolv::DNS::open, close): new.
7849         * lib/optparse.rb, lib/optparse: import.
7851 Fri Jul 12 06:34:05 2002  Minero Aoki  <aamine@loveruby.net>
7853         * lib/net/http.rb: rename HTTP.get_uri get_response.
7855         * lib/net/http.rb: HTTP.get_print accepts URI objects.
7857         * lib/net/http.rb: HTTP.get had not work with URI objects.
7859 Fri Jul 12 02:15:58 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7861         * string.c (rb_str_match): fix for string match.
7863 Fri Jul 12 00:02:50 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
7865         * ext/stringio/stringio.c (strio_gets_internal): fixed for record
7866           separator longer than 1.
7868 Thu Jul 11 17:59:20 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7870         * re.c (rb_reg_quote): avoid unnecessary string allocation.
7872         * string.c (get_pat): quote metacharacters before compiling a
7873           string into a regex.
7875         * string.c (rb_str_split_m): special treatment of strings of size
7876           1, but AWK emulation.  now uses get_pat().
7878         * string.c (rb_str_match_m): quote metacharacters.
7880         * string.c (rb_str_match2): ditto.
7882 Thu Jul 11 12:59:23 2002  Shugo Maeda  <shugo@ruby-lang.org>
7884         * lib/resolv.rb: untaint strings read from /etc/hosts and
7885           /etc/resolv.conf to prevent SecurityError when $SAFE==1.
7887 Thu Jul 11 09:00:43 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7889         * string.c (rb_str_slice_bang): if there's no corresponding
7890           substring, slice! should return nil without exception.
7892 Tue Jul  9 20:03:55 2002 Keiju Ishitsuka <keiju@ishitsuka.com>
7894         * irb 0.9
7896 Sat Jul  6 07:35:02 2002  Jamie Herre  <jfh@gettysgroup.com>
7898         * array.c (rb_ary_insert): type fixed.
7900 Fri Jul  5 09:17:00 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7902         * string.c (rb_str_split_m): accept separator value nil as well.
7904 Fri Jul  5 08:59:15 2002  Michal Rokos <michal@ruby-lang.org>
7906         * enum.c: Fix bug in enum_sort_by and some code indents
7908 Fri Jul  5 05:00:40 2002  Wakou Aoyama  <wakou@ruby-lang.org>
7910         * lib/cgi.rb (CGI#initialize): improvement for mod_ruby.
7911           thanks to Sean Chittenden <sean@ruby-lang.org>, Shugo Maeda
7912           <shugo@modruby.net>
7914 Fri Jul  5 00:10:09 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7916         * string.c (rb_str_become): was leaking memory.
7918 Thu Jul  4 23:43:26 2002  Minero Aoki  <aamine@loveruby.net>
7920         * parse.y: remove useless function str_extend_p().
7922 Wed Jul  3 14:26:40 2002  Sean Chittenden  <sean@ruby-lang.org>
7924         * lib/net/ftp.rb (get): new method.
7926         * lib/net/ftp.rb (putt): ditto.
7928         * lib/net/ftp.rb (binary): ditto.
7930         * lib/net/ftp.rb (binary=): ditto.
7932 Wed Jul  3 13:57:53 2002  Sean Chittenden  <sean@ruby-lang.org>
7934         * lib/net/ftp.rb (getbinaryfile): the second argument (localfile)
7935           is now optional.
7937         * lib/net/ftp.rb (gettextfile): ditto.
7939 Wed Jul  3 13:45:42 2002  Shugo Maeda  <shugo@ruby-lang.org>
7941         * lib/net/ftp.rb: use &block and yield for speed.
7943 Wed Jul  3 02:32:31 2002  Wakou Aoyama  <wakou@ruby-lang.org>
7945         * lib/cgi.rb (CGI#initialize): improvement for mod_ruby.
7947 Tue Jul  2 14:53:10 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
7949         * class.c (rb_include_module): should not alter other
7950           classes/modules by inclusion.  by this fix, local order may not
7951           be preserved for some cases.
7953         * class.c (include_class_new): module may be T_ICLASS; retrieve
7954           original module information.
7956 Tue Jul  2 14:13:11 2002  Wakou Aoyama  <wakou@ruby-lang.org>
7958         * lib/cgi.rb (CGI#header): accept any type as value.
7960 Sun Jun 30 17:05:29 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
7962         * configure.in (seekdir, telldir): add ac_cv_func_telldir=yes,
7963           ac_cv_func_seekdir=yes for MinGW.
7965 Sat Jun 29 01:43:32 2002  NAKAMURA Usaku <usa@ruby-lang.org>
7967         * io.c (pipe_finalize, pipe_popen): two-way pipe support for win32.
7969         * win32/win32.c (ChildRecord, FindFreeChildSlot): ditto.
7971         * win32/win32.c, win32/win32.h (pipe_exec): new function for two-way
7972           pipe support for win32.
7974         * win32/win32.c, win32/win32.h (FindPipedChildSlot, rb_w32_popen,
7975           rb_w32_pclose): removed functions for two-way pipe support for win32.
7977 Fri Jun 28 23:49:34 2002  NAKAMURA Usaku <usa@ruby-lang.org>
7979         * pack.c (pack_unpack): change names of local variables because their
7980           names are overlapped.
7982 Fri Jun 28 17:54:07 2002  Tanaka Akira  <akr@m17n.org>
7984         * lib/pp.rb: fix object address.
7986 Thu Jun 27 23:55:50 2002  NAKAMURA Usaku <usa@ruby-lang.org>
7988         * win32/win32.c (rb_w32_stat): fix buffer overflow. (ruby-bugs:PR#329)
7990 Thu Jun 27 20:57:45 2002  Tanaka Akira  <akr@m17n.org>
7992         * lib/prettyprint.rb, lib/pp.rb: convenience methods added.
7994 Thu Jun 27 15:22:18 2002  Tanaka Akira  <akr@m17n.org>
7996         * lib/prettyprint.rb: re-implemented for incremental output to handle
7997           huge data.  API is changed a bit.
7999         * lib/pp.rb: adapt new pretty printing API.
8001 Thu Jun 27 08:28:18 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8003         * parse.y (literal_concat_string): non-string last expression in
8004           #{} was ignored when followed by literal.
8006 Thu Jun 27 03:42:04 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8008         * re.c (rb_reg_expr_str): need to process backslashes properly.
8010 Wed Jun 26 17:33:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8012         * object.c (rb_any_to_a): declare Object#to_a to be obsolete.
8014         * object.c (rb_Array): do not convert nil into [] automagically.
8016 Wed Jun 26 15:40:00 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8018         * parse.y (words, qwords): word list literal rules.
8020         * parse.y (parse_string): ditto.
8022         * parse.y (yylex): %W: word list literal with interpolation. [new]
8024 Tue Jun 25 18:53:34 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8026         * parse.y (string1, xstring, regexp): moved lex_strnest
8027           initialization to string_contents/xstring_contents.
8029 Tue Jun 25 19:24:38 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
8031         * dln.c: remove definition rb_loaderror().
8033 Tue Jun 25 00:34:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8035         * object.c (rb_Integer): use "to_int" instead of
8036           "to_i". [experimental]
8038         * object.c (nil_to_f): new method.
8040         * object.c (rb_Integer): Symbols and nil should cause error.
8042         * object.c (rb_Float): nil should cause error.
8044 Tue Jun 25 00:21:00 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
8046         * dln.c: remark definition rb_loaderror().
8048 Tue Jun 25 00:14:07 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8050         * parse.y (string_dvar): allow back references in interpolation.
8052 Mon Jun 24 16:32:31 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8054         * eval.c (rb_eval): NODE_EVSTR is no longer used.
8056         * eval.c (eval): not enforce to make assigned variables dynamic.
8058         * parse.y (string): split rules to strings/xstring/regexp to allow
8059           arbitrary statements inside string interpolation.
8061         * parse.y (here_document): splitted into three phases.
8063         * parse.y (literall_append, literal_concat): added.
8064           append/concatenate string literals.
8066         * sample/test.rb (valid_syntax): adjust line number for BEGIN.
8068         * lib/mkmf.rb (create_makefile): get rid of nested string.
8070         * lib/mkmf.rb (install_rb): site-install didn't work properly.
8072 Sun Jun 23 00:19:10 2002  Tadayoshi Funaba  <tadf@dotrb.org>
8074         * lib/date.rb, lib/date/format.rb, sample/cal.rb, sample/goodfriday.rb:
8075           updated to the new version (based on date2 3.3).
8077 Sat Jun 22 14:41:33 2002  Guy Decoux  <ts@moulon.inra.fr>
8079         * ext/socket/socket.c (sock_addrinfo): make all 3 versions of
8080           getaddrinfo happy.  [ruby-core:00184]
8082 Fri Jun 21 18:49:58 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8084         * parse.y (yylex): __END__ should not be effective within
8085           string literals.
8087 Thu Jun 20 21:09:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8089         * ext/readline/readline.c (readline_readline): get rid of
8090           libreadline's bug. (ruby-bugs-ja:PR#268)
8092 Thu Jun 20 17:10:27 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8094         * lib/ftool.rb (BUFSIZE): tuning, set buffer length to 8192.
8096         * configure.in (__NO_ISOCEXT): add for mingw-runtime 2.0-2.
8098         * configure.in (__MSVCRT__): removed because it is defined
8099           in the GCC specs.
8101 Wed Jun 19 14:46:18 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8103         * ext/extmk.rb, lib/mkmf.rb (xsystem): open the log file if xsystem
8104           is called.
8106 Wed Jun 19 01:01:13 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8108         * parse.y (here_document): should be aware of __END__ within here
8109           documents.
8111 Wed Jun 19 00:50:50 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8113         * parse.y (yylex): ? followed by successive word characters is
8114           ternary operator not numeric literal.
8116         * parse.y (yylex): commands after break/next/rescue can take
8117           arguments.  (ruby-bugs-ja:PR#265)
8119 Tue Jun 18 19:20:16 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8121         * win32/mkexports.rb: remove unnecessary exports. (ruby-dev:17418)
8123 Tue Jun 18 12:50:17 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8125         * parse.y (yylex): should pushback proper char after '<<'.
8127         * parse.y (range_op, cond0, cond): get rid of doubled warnings.
8129         * parse.y (value_expr): reduce recursion level.
8131         * parse.y (logop): ditto.
8133 Mon Jun 17 11:11:34 2002  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
8135         * string.c (rb_str_crypt): result need not be tainted always.
8137 Mon Jun 17 10:51:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8139         * dln.c (dln_load): need to preserve dln_strerror() result,
8140           calling other dl family can clear it.
8142 Sat Jun 15 22:56:37 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8144         * parse.y (yylex): obsolete '?<whitespace>'; use '?\s', '?\n',
8145           etc, instead.
8147 Sat Jun 15 18:51:13 2002  Akinori MUSHA  <knu@iDaemons.org>
8149         * dir.c (glob_helper): Use lstat() instead of stat() so it catches
8150           a dead symlink.  Given a dead symlink named "a", Dir.glob("?")
8151           did catch it but Dir.glob("a") somehow didn't.
8153 Sat Jun 15 01:59:05 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8155         * parse.y (yylex): no here document after a dot.
8157         * parse.y (yylex): should have set lex_state after '`'.
8159         * parse.y (yylex): should have set lex_state properly after
8160           tOP_ASGN.
8162 Fri Jun 14 21:01:48 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
8164         * bcc32/mkexports.rb: insert sleep(1) for win9x.
8166         * bcc32/configure.bat: change return code LF -> CRLF for win9x.
8168         * win32/win32.c: fix rb_w32_open_osfhandle()
8170 Fri Jun 14 15:22:19 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8172         * parse.y (read_escape): deny zero-width hexadecimal character.
8173           (ruby-bugs-ja:PR#260)
8175         * parse.y (tokadd_escape): ditto.
8177         * regex.c (re_compile_pattern): ditto.
8179 Fri Jun 14 00:49:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8181         * bignum.c (rb_big2dbl): return canonical HUGE_VAL for infinity.
8183 Thu Jun 13 09:43:37 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8185         * eval.c (svalue_to_avalue): v may be Qundef.  This fix was
8186           suggested by Guy Decoux.
8188 Thu Jun 13 00:33:49 2002  takuma ozawa  <metal@mine.ne.jp>
8190         * hash.c (rb_hash_s_create): use rb_hash_aset() instead of calling
8191           st_insert() directly, to dup&freeze string keys.
8193 Thu Jun 13 00:12:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8195         * parse.y (yylex): proper error message for "@@0".
8197         * parse.y (yylex): paren to parse_string() must be zero for
8198           unparenthesized strings.
8200         * parse.y (str_extend): broken string when unterminated "#{".
8202         * enum.c (enum_sort_by): had a bug in 1 element enumeration.
8204 Wed Jun 12 18:04:44 2002  akira yamada  <akira@arika.org>
8206         * uri/common.rb (REGEXP::PATTERN::X_ABS_URI): 'file:/foo' is valid.
8208         * uri/generic.rb (Generic#xxx=): should return substituted value.
8209           (ruby-dev:16728.)
8211         * test/generic.rb (test_set_component): added tests for the above
8212           change.
8214 Wed Jun 12 02:38:00 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8216         * parse.y (stmt): fix typo.
8218 Wed Jun 12 01:10:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8220         * parse.y (yylex): 'do' should return kDO_BLOCK on EXPR_ENDARG.
8222         * parse.y (singleton): "def (()).a end" dumped core.
8224         * parse.y (range_op): node may be null.
8226         * parse.y (match_gen): ditto.
8228 Tue Jun 11 19:20:34 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8230         * configure.in (LIBRUBY): rename to lib$(LIBRUBY_SO).a on Cygwin/MinGW.
8232         * configure.in, cygwin/GNUmakefile: use dllwrap when --disable-shared
8233           is specified.
8235 Tue Jun 11 17:12:04 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8237         * parse.y (arg): void value check for "..", "...", "!", and "not".
8239         * parse.y (match_gen): void value check for "=~".
8241         * parse.y (value_expr): check NODE_AND and NODE_OR recursively.
8243         * parse.y (cond0): void value check added for conditionals.
8245 Tue Jun 11 13:18:47 2002  Shugo Maeda  <shugo@ruby-lang.org>
8247         * lib/net/ftp.rb (noop): new method.
8249         * lib/net/ftp.rb (site): ditto.
8251 Tue Jun 11 13:15:41 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8253         * bcc32/Makefile.sub: set PROCESSOR_LEVEL to 6 if it's too big value.
8255         * win32/Makefile.sub: ditto.
8257 Tue Jun 11 12:37:46 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
8259         * bcc32/configure.bat fix.
8261 Tue Jun 11 10:18:23 2002  KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
8263         * new platform [bccwin32] merged.
8264           - create new folder bcc32
8265           - modify any files for bccwin32
8266               error.c, file.c, hash.c, io.c, instruby.rb,
8267               ext/extmk.rb.in,
8268               lib/mkmf.rb, lib/ftools.rb,
8269               ext/digest/defs.h,
8270               ext/dl/depend, ext/dl/dl.c, ext/dl/sym.c, ext/dl/extconf.rb,
8271               ext/socket/extconf.rb,
8272               ext/pty/extconf.rb,
8273               ext/tcltklib/extconf.rb
8274               ext/Win32API/Win32API.c,
8275               win32/dir.h, win32/win32.c, win32/win32.h, win32/resource.rb
8277 Mon Jun 10 19:02:19 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8279         * numeric.c (fix_lshift): negative shift count means right shift.
8280           (ruby-bugs-ja:PR#248)
8282         * numeric.c (fix_rshift): return -1 when left side operand is
8283           negative. (ruby-bugs-ja:PR#247)
8285         * parse.y (yylex): `0_' should be an error. (ruby-bugs-ja:PR#249)
8287 Mon Jun 10 01:53:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8289         * eval.c (rb_eval): ruby_frame->last_func may be null, if it's
8290           called outside of a method.
8292         * parse.y (arg): use INT2NUM, not INT2FIX for tUMINUS.
8294         * parse.y (arg): unnecessary negative tPOW treatment.
8296         * parse.y (tokadd_escape): wrong backslash escapement.
8298 Sun Jun  9 17:40:41 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8300         * ext/dl: change the callback mechanism.
8302 Sat Jun  8 00:48:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8304         * parse.y (stmt,arg): too much void value check.
8306         * parse.y (stmt,arg): need to check void value on rules which does
8307           not use node_assign().
8309 Thu Jun  6 19:50:39 2002  KONISHI Hiromasa <H_Konishi@ruby-lang.org>
8311         * sample/biorhythm.rb (getPosiiton,etc)
8312           fix at changing Date module ( Date is changed Fixnum to Rational )
8314 Thu Jun  6 17:42:39 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8316         * ext/socket/socket.c (ipaddr): need not to taint hostnames.
8318 Thu Jun  6 12:04:30 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8320         * win32/Makefile.sub (config.status): use sub! instead of []= because
8321           []= causes exception.
8323 Thu Jun  6 11:42:15 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8325         * lib/thread.rb (Queue::pop): get rid of race condition.
8327 Wed Jun  5 01:56:47 2002  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
8329         * ext/tcltklib/tcltklib.c: Stop the running zombi-eventloop when
8330           mainloop_watchdog is killed.
8332 Tue Jun  4 23:09:24 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8334         * range.c (range_include): should be based on "<=>", whereas
8335           member? still is based on "each".
8337         * range.c (range_min,range_max): redefine methods based on "<=>".
8339 Tue Jun  4 18:28:37 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8341         * ext/socket/extconf.rb: The IPv6 stack of Cygwin is still incomplete.
8343         * ext/Win32API/extconf.rb: refactoring.
8345 Tue Jun  4 07:03:33 2002  Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
8347         * ext/tk/lib/tkfont.rb:  Fix bugs on TkFont.init_widget_font for Tk8.x.
8349         * ext/tk/lib/tkafter.rb: Add self to 1st argument of interval- 
8350           and loop-proc
8351           TkAfter#current_interval returns an interval (sleep) time value
8352           TkAfter#current_args returns an array of arguments
8353           TkAfter#return_value returns a return value of last loop-proc
8355         * ext/tk/lib/tk*.rb: Allow to use Symbols for parameters.
8357         * ext/tk/lib/tkcanvas.rb: (TkcItem) Add 'coords' parameter to the 
8358           canvas item constructor (for new notation of constructor).
8360         * ext/tcltklib/tcltklib.c: New 'mainloop' and 'mainloop_watchdog'.
8362         * ext/tk/lib/tk.rb: (Tk.restart) Add 'app-name' paramater and
8363           'use' parameter.
8365         * ext/tk/lib/tk.rb: Add new parameter 'widgetname' to the widget
8366           constructor to support effective use of Resource Database. 
8368         * ext/tk/lib/tk.rb: TkOption::get always returns a tainted string.
8370 Tue Jun  4 00:45:50 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8372         * ext/socket/addrinfo.h: typo.
8374         * ext/socket/getaddrinfo.c (gai_strerror): make literals const.
8376         * ext/socket/socket.c (init_inetsock): ensures resources are
8377           freed at exceptions.
8379         * ext/socket/socket.c (init_unixsock): ditto.
8381         * ext/socket/socket.c (udp_connect): ditto.
8383 Mon Jun  3 20:39:51 2002  Masaki Suketa  <masaki.suketa@nifty.ne.jp>
8385         * ext/win32ole/extconf.rb : change PLATFORM with RUBY_PLATFORM.
8387 Mon Jun  3 07:07:07 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8389         * parse.y (here_document): check if identifier is terminated.
8390           (ruby-bugs-ja:PR#239)
8392         * parse.y (yylex): should pushback proper char after '**'.
8393           (ruby-bugs-ja:PR#240)
8395 Mon Jun  3 05:56:17 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8397         * string.c (rb_str_aset): should raise error if an indexing string
8398           is not found in the receiver.
8400         * sprintf.c (rb_f_sprintf): "%d" should convert objects into
8401           integers using Integer().
8403 Sat Jun  1 19:20:07 2002  Masaki Suketa  <masaki.suketa@nifty.ne.jp>
8405         * ext/win32ole: merge from rough.
8407 Fri May 31 17:11:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8409         * lib/tempfile.rb (Tempfile::size): added.
8411 Thu May 30 12:52:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8413         * range.c (range_step): iteration done using "+" if elements are
8414           Numeric.  Otherwise using "succ".
8416         * range.c (range_each): iteration done using "succ".  If the
8417           elements does not respond to "succ", raise TypeError.  As a
8418           result, all Enumerable methods, e.g. collect, require elements
8419           to respond to "succ".
8421         * range.c (range_member): comparison done using "each", if
8422           elements are non-Numeric or no-"succ" objects.  Otherwise
8423           compare using "<=>".
8425         * range.c (Init_Range): remove "size" and "length".
8427 Thu May 30 09:16:36 2002  Wakou Aoyama  <wakou@ruby-lang.org>
8429         * lib/cgi.rb: if StringIO is usable then use it.
8431 Wed May 29 18:55:47 2002  KONISHI Hiromasa <H_Konishi@ruby-lang.org>
8433         * function renames my* and win32_* to rb_w32_* in win32/win32.c
8434           fixed files win32/win32.c, win32/win32.h, win32/dir.h,
8435                       hash.c, rubysig.h, signal.c, ext/socket/socket.c
8437 Wed May 29 17:32:55 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8439         * time.c (tmcmp, search_time_t): activate unless HAVE_TIMEGM.
8441 Wed May 29 13:45:15 2002  Wakou Aoyama  <wakou@ruby-lang.org>
8443         * lib/cgi.rb: not use const if GET, HEAD. check multipart form head.
8445 Tue May 28 17:56:02 2002  Sean Chittenden  <sean@ruby-lang.org>
8447         * parse.y: yyparse #defines moved from intern.h
8449         * ruby.c (proc_options): access prefixed "ruby_yydebug".
8451         * applied modifies to pacify some of gcc -Wall warnings.
8453 Tue May 28 14:07:00 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8455         * parse.y (arg): no more ugly hack for "**", so that "-2**2" to be
8456           parsed as "(-2)**2", whereas "- 2**2" or "-(2)**2" to be parsed
8457           as "-(2**2)".
8459         * parse.y (yylex): '-2' to be literal fixnum. [new]
8461 Tue May 28 12:13:37 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8463         * eval.c (scope_node): trick to keep the node has a scope.
8465         * eval.c (rb_eval): NODE_EVSTR: write back local_tbl to the node.
8467         * eval.c (rb_eval): NODE_SCOPE: hold the scope node in ruby_scope.
8469         * eval.c (module_setup): ditto.
8471         * eval.c (rb_call0): ditto.
8473         * node.h (NEW_DASGN, NEW_DASGN_CURR): remove surplus semicolons.
8475 Fri May 24 09:06:29 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8477         * time.c (time_arg): nil test against v[6] (usec).
8479 Thu May 23 16:39:21 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8481         * ruby.c (proc_options): option parsing problem.
8482           (ruby-bugs-ja:PR#233)
8484 Thu May 23 09:13:56 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8486         * ruby.c (proc_options): removed "-*-" support for #! line.
8488         * io.c (rb_io_s_sysopen): new method to get a raw file
8489           descriptor. [new]
8491         * ext/socket/socket.c (tcp_sysaccept): new method to return an
8492           accepted socket fd (integer). [new]
8494         * ext/socket/socket.c (unix_sysaccept,sock_sysaccept): ditto.
8496 Wed May 22 21:26:47 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8498         * ruby.c (proc_options): -T consumes digits only.
8500 Wed May 22 20:18:31 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8502         * configure.in: need not link vsnprintf.o on MinGW.
8504 Wed May 22 18:34:23 2002  Minero Aoki  <aamine@loveruby.net>
8506         * parse.y (yylex): Here-document label ate '-'.
8508 Tue May 21 13:25:18 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8510         * misc/ruby-mode.el (ruby-font-lock-keywords): symbols end with
8511           '_'.
8513 Tue May 21 04:48:37 2002  Sean Chittenden <sean@chittenden.org>
8515         * lib/cgi-lib.rb: Checking for constant MOD_RUBY instead of
8516           environment variable. Remove a mod_ruby warning and use
8517           Apache::request.headers_out[] instead.
8519 Tue May 21 01:16:46 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8521         * parse.y (bodystmt): ensure clause was executed on else clause
8522           without rescue clause.
8524 Tue May 21 00:20:25 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8526         * ext/dl/ptr.c: rename PtrData::alloc to PtrData::malloc.
8528         * ext/dl/lib/dl/struct.c: rename Struct#alloc to Struct#malloc.
8530 Mon May 20 14:29:14 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8532         * object.c (Init_Object): should do exact match for Module#==.
8534         * compar.c (cmp_eq): returns 'false' if <=> returns 'nil'.
8536         * compar.c (cmp_gt,cmp_ge,cmp_lt,cmp_le,cmp_between): ditto.
8538 Mon May 20 13:28:52 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8540         * io.c (rb_io_clone): writing stream was not copied properly.
8542 Sat May 18 21:38:11 2002  Tadayoshi Funaba  <tadf@dotrb.org>
8544         * lib/date.rb, lib/date/format.rb, lib/parsedate.rb:
8545           updated to the new version (based on date2 3.2.1).
8547 Sat May 18 21:18:00 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8549         * win32/Makefile.sub (config.h): add VC++4/5 support about noreturn
8550           directive.
8552 Sat May 18 02:16:41 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8554         * pack.c (pack_pack): should propagate taintedness.
8556         * pack.c (pack_unpack): ditto.
8558 Fri May 17 16:16:19 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8560         * sample/test.rb: use eval instead of './miniruby -c',
8561           in order to check a syntax error.
8563 Thu May 16 14:46:34 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8565         * eval.c (rb_thread_select): cleanup conditional compilation.
8567 Wed May 15 06:13:35 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8569         * eval.c (rb_thread_schedule): need to preserve errno before
8570           calling rb_trap_exec().
8572         * regex.c (calculate_must_string): a bug in charset/charset_not
8573           parsing.
8575 Tue May 14 18:17:44 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8577         * win32/Makefile.sub: config.h inlined.  and catch up with the
8578           latest change.
8580         * win32/config.h.in: no longer used.
8582 Tue May 14 14:49:05 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8584         * gc.c (is_pointer_to_heap): avoid GCC 3.1 warnings.
8586         * missing/strftime.c (timezone): it should take no argument on Cygwin.
8588 Tue May 14 03:07:35 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8590         * eval.c (rb_clear_cache_by_class): new function.
8592         * eval.c (set_method_visibility): should have clear cache for
8593           updated visibility.
8595 Mon May 13 14:38:33 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8597         * djgpp/config.hin, djgpp/config.sed: catch up with the latest change.
8599 Mon May 13 01:59:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8601         * numeric.c (flo_to_s): default format precision to be "%.16g".
8603         * util.c (ruby_strtod): use own strtod(3) implementation to avoid
8604           locale hell.  Due to this change "0xff".to_f no longer returns 255.0
8606 Sun May 12 03:01:08 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8608         * missing.h: add for missing/*.c.
8610         * ruby.h: add `#include "missing.h"'.
8612         * Makefile.in: add the dependency of missing.h by gcc -MM.
8614         * MANIFEST: add missing.h
8616 Sat May 11 23:24:52 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8618         * ext/dl: enable dl's stack emulation for constructing function call.
8620 Sat May 11 10:52:09 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8622         * dir.c (glob_helper): remove escaping backslashes.
8624 Sat May 11 02:46:43 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8626         * eval.c (avalue_to_yvalue): new function to distinguish yvalue
8627           (no-arg == Qundef) from svalue (no-arg == Qnil).
8629         * eval.c (rb_yield_0): use avalue_to_yvalue().
8631         * eval.c (assign): warn if val == Qundef where it means rhs is
8632           void (e.g. yield without value or call without argument).
8634 Fri May 10 19:00:47 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8636         * parse.y (here_document): preserve line number begins here
8637           document.
8639 Fri May 10 01:55:44 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8641         * eval.c (rb_thread_join): added an argument to limit time to wait
8642           the thread.
8644         * eval.c (rb_thread_join_m): new. and added optional argument.
8646 Wed May  8 23:48:40 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8648         * parse.y (value_expr): need not to warn for WHILE and UNTIL,
8649           since they can have return value (via valued break).
8651 Tue May  7 17:13:40 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8653         * configure.in: forgot to add '-Wl,' to the gcc option on Cygwin/MinGW.
8655 Tue May  7 15:41:33 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8657         * ext/iconv/iconv.c (iconv_try): should initialize exceptions
8658           properly. (ruby-bugs-ja:PR#232)
8660 Tue May  7 15:28:03 2002  Minero Aoki  <aamine@loveruby.net>
8662         * eval.c (rb_yield_0): The destination of the goto jump was wrong.
8664 Tue May  7 09:17:51 2002  Minero Aoki  <aamine@loveruby.net>
8666         * eval.c (superclass): undesirable "unexpected return" when the
8667           superclass is not a Class.
8669 Sun May  5 06:53:45 2002  Akinori MUSHA  <knu@iDaemons.org>
8671         * lib/mkmf.rb: exclude topdir from the system configuration
8672           section and prevent it from being overridden.
8674 Fri May  3 20:19:00 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8676         * configure.in: add #include <errno.h> in AC_CHECK_DECLS().
8678         * win32/config.h.in: define HAVE_DECL_SYS_NERR.
8680 Thu May  2 23:42:40 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8682         * re.c (rb_reg_s_quote): # also should be quoted.
8684 Thu May  2 18:27:13 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8686         * ext/extmk.rb.in, lib/mkmf.rb: use 'do...end' instead of '{}' for
8687           Borland make.
8689 Thu May  2 08:01:56 2002  Chris Thomas  <kenshin@apple.com>
8691         * error.c: use HAVE_DECL_SYS_NERR instead of platform names.
8693 Tue Apr 30 09:23:05 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8695         * numeric.c (num_step): better iteration condition for float
8696           values;  suggested by Masahiro TANAKA <masa@ir.isas.ac.jp>.
8698 Tue Apr 30 05:59:42 2002  Michal Rokos  <m.rokos@sh.cvut.cz>
8700         * range.c (range_step): step (for Range#step method) <= 0 makes no
8701           sense, thus ArgError will be raised.
8703         * range.c (range_each): Range#each method is special case for
8704           Range#step(1)
8706 Mon Apr 29 18:46:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8708         * file.c (rb_find_file): load must be done from an absolute path if
8709           $SAFE >= 4.
8711 Sun Apr 28 17:01:56 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8713         * win32/win32.c (insert): fix prototype for ANSI C.
8715 Fri Apr 26 13:47:15 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8717         * enum.c (enum_partition): new method. [new]
8719 Fri Apr 26 13:41:00 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8721         * re.c (rb_reg_s_quote): quote whitespaces for /x cases.
8723 Fri Apr 26 06:48:23 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8725         * ext/dl/ptr.c (cary2ary): missing break in switch statements.
8727 Fri Apr 26 09:35:47 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8729         * eval.c (rb_proc_new): make Proc from C function. [new]
8731         * intern.h (rb_proc_new): prototype.
8733 Wed Apr 24 14:56:46 2002  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
8735         * eval.c (proc_to_proc): return self. [new]
8737         * eval.c (block_pass): no need to convert if block is Proc.
8739 Wed Apr 24 14:21:41 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8741         * configure.in: set size of the initial stack from
8742           2MB to 32MB on MinGW/Cygwin.
8744 Wed Apr 24 14:06:35 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8746         * numeric.c (num_step): try to reduce residual on Float operations.
8748 Wed Apr 24 06:48:31 2002  Koji Arai  <jca02266@nifty.ne.jp>
8750         * io.c (rb_io_mode_flags): both 'r+b' and 'rb+' should be allowed.
8752         * io.c (rb_io_mode_modenum): ditto.
8754 Wed Apr 24 01:16:14 2002  Nobuyoshi Nakada  <nobu@ruby-lang.org>
8756         * ext/stringio/stringio.c (strio_mark): must check if ptr is NULL
8757           first.  [ruby-talk:38873]
8759         * lib/mkmf.rb (create_makefile): should print depend file when
8760           make is other than nmake.
8762 Wed Apr 24 00:37:12 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8764         * ext/extmk.rb.in (create_makefile): use `{$(srcdir)}' directive instead
8765           of `$(srcdir)/' when including depend file.
8767         * lib/mkmf.rb (create_makefile): add `{$(srcdir)}' when including depend
8768           file.
8770 Tue Apr 23 12:58:18 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8772         * gc.c (rb_memerror): rename from mem_error, and exported.
8774         * gc.c (Init_GC): pre-allocate NoMemoryError instance.
8776         * object.c (convert_type): error message changed from "failed to
8777           convert" to "cannot convert", since it does not try to convert
8778           if an object does not respond to the converting method.
8780 Mon Apr 22 09:31:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8782         * eval.c (block_pass): convert Method to Proc using
8783           rb_check_convert_type().
8785         * object.c (rb_check_convert_type): always convert T_DATA
8787         * eval.c (rb_thread_cleanup): should not terminate main_thread by
8788           Fatal error.
8790         * regex.c (is_in_list): need to not exclude NUL and NEWLINE.
8792 Sat Apr 20 00:19:13 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8794         * re.c (rb_reg_expr_str): wrong backslash escapement.
8796         * re.c (rb_reg_expr_str): do not escape embedded space
8797           characters.
8799 Fri Apr 19 22:03:40 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8801         * win32/Makefile.sub: add -DNT to $CFLAGS instead of $CPPFLAGS.
8803         * win32/setup.mak: ditto.
8805 Fri Apr 19 17:24:22 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8807         * marshal.c (w_object): T_DATA process patch from Joel VanderWerf
8808           <vjoel@PATH.Berkeley.EDU>.  This is temporary hack; it remains
8809           undocumented, and it will be removed when marshaling is
8810           re-designed.
8812         * marshal.c (r_object): ditto.
8814 Fri Apr 19 17:10:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8816         * numeric.c (num_step): Integer#step is moved to Numeric#step;
8817           Fixnum#step is merged into this method.
8819         * numeric.c (int_dotimes): Fixnum#times is merged.
8821         * numeric.c (int_upto): Fixnum#upto is merged.
8823         * numeric.c (int_downto): Fixnum#downto is merged.
8825 Fri Apr 19 16:22:55 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8827         * ext/socket/extconf.rb: include <windows.h>, <winsock.h> on _WIN32.
8829         * win32/win32.c: include <mswsock.h> on __MINGW32__.
8831         * configure.in: cleanup for autoconf 2.5x.
8833         * configure.in: use gcc -shared instead of dllwrap on Cygwin/MinGW.
8835         * ext/extmk.rb, lib/mkmf.rb: get rid of "--def=".
8837 Fri Apr 19 14:57:44 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
8839         * re.c (rb_reg_to_s): remove redundant shy group.
8841 Fri Apr 19 01:08:20 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8843         * eval.c (rb_thread_cleanup): current thread may be THREAD_STOPPED,
8844           for example when terminated from signal handler.
8846 Thu Apr 18 19:03:15 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8848         * regex.c (re_compile_pattern): remove /p support.
8850         * regex.h: ditto.
8852         * parse.y (parse_regx): ditto.
8854 Thu Apr 18 17:01:43 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8856         * ext/dl/ptr.c (rb_dlptr_cast): removed.
8858 Thu Apr 18 17:01:43 2002  Tanaka Akira  <akr@m17n.org>
8860         * re.c (rb_reg_to_s): new function for Regexp#to_s.
8862 Wed Apr 17 23:55:34 2002  Akinori MUSHA  <knu@iDaemons.org>
8864         * ext/Setup*, ext/bigfloat/*: Back out the import of BigFloat in
8865           favor of its forthcoming successor, BigDecimal.
8867 Wed Apr 17 16:53:33 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8869         * re.c (rb_reg_expr_str): should treat backslash specially in
8870           escaping.
8872 Wed Apr 17 08:16:41 2002  Michal Rokos  <m.rokos@sh.cvut.cz>
8874         * io.c: complete off_t handling; missing argument for
8875           fptr_finalize(); polished rb_scan_args call.
8877 Wed Apr 17 00:01:59 2002  Michal Rokos  <m.rokos@sh.cvut.cz>
8879         * dir.c: wrap multi-statement macro by do { } while (0)
8881         * eval.c, numeric,c, sprintf.c, util.c: ditto.
8883 Tue Apr 16 08:59:50 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
8885         * eval.c (assign): convert mrhs to mvalue.
8887 Mon Apr 15 18:12:57 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8889         * bignum.c (rb_big_eq): check `y == x' if y is neither Fixnum,
8890           Bignum, nor Float.
8892 Mon Apr 15 09:27:31 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8894         * pack.c (pack_unpack): should treat 'U' in character unit, not in
8895           byte unit.
8897         * error.c (exc_initialize): should clear backtrace information.
8899 Sat Apr 13 23:42:43 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8901         * io.c (rb_io_fptr_cleanup): should close IO created by IO.new(fd).
8903         * rubyio.h: remove FMODE_FDOPEN
8905 Fri Apr 12 12:54:04 2002  NAKAMURA Usaku <usa@ruby-lang.org>
8907         * win32/Makefile.sub: use missing/acosh.c.
8909         * win32/config.h.in: define HAVE_COSH, HAVE_SINH, and HAVE_TANH.
8911 Fri Apr 12 02:58:55 2002  Koji Arai  <jca02266@nifty.ne.jp>
8913         * struct.c (rb_struct_select): fix typo.
8915 Fri Apr 12 00:34:17 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
8917         * MANIFEST (missing/acosh.c): added.
8919         * Makefile.in (missing/acosh.c): ditto.
8921         * Makefile.in (missing/fileblocks.c): ditto.
8923         * configure.in (AC_REPLACE_FUNCS): check acosh() on behalf of
8924           inverse hyperbolic functions, asinh() and atanh().
8926         * missing/acosh.c: added for acosh(), asinh() and atanh().
8928 Thu Apr 11 20:01:44 2002  Masahiro Tomita  <tommy@tmtm.org>
8930         * io.c (io_write): check error if written data is less than
8931           specified size to detect EPIPE.
8933 Thu Apr 11 19:10:37 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
8935         * io.c (remain_size): IO#read returns "" if file.size == 0.
8937         * random.c (rand_init): add check for initstate(3).
8939         * configure.in: ditto.
8941 Thu Apr 11 09:31:19 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8943         * ext/dl/ptr.c: raise() -> rb_raise(). (Thanks Tetsuya Watanabe)
8945         * ext/dl/sym.c: ditto.
8947 Thu Apr 11 07:57:48 2002  Michal Rokos  <m.rokos@sh.cvut.cz>
8949         * eval.c (assign): ruby_verbose should be surrounded by RTEST().
8951         * object.c (rb_str2cstr): ditto.
8953         * parse.y (void_expr): ditto.
8955         * parse.y (void_stmts): ditto.
8957         * variable.c (rb_ivar_get): ditto.
8959         * variable.c (rb_cvar_set): ditto.
8961         * variable.c (rb_cvar_get): ditto.
8963 Thu Apr 11 07:02:31 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
8965         * ext/dl: Add dl.txt instead of README and README.html.
8967 Thu Apr 11 01:55:52 2002  Wakou Aoyama  <wakou@fsinet.or.jp>
8969         * lib/cgi/session.rb: support for multipart form.
8971 Wed Apr 10 18:42:23 2002  Tachino Nobuhiro <tachino@jp.fujitsu.com>
8973         * dir.c (glob_helper): should have proceed link when link->path
8974           was non existing symbolic link.
8976 Wed Apr 10 17:30:19 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
8978         * variable.c (rb_obj_remove_instance_variable): raise NameError if
8979           specified instance variable is not defined.
8981         * variable.c (generic_ivar_remove): modified to check ivar
8982           existence.
8984 Wed Apr 10 14:16:45 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
8986         * misc/ruby-mode.el (ruby-font-lock-keywords): fontify symbols for
8987           unary operators and aset.
8989 Tue Apr  9 13:40:31 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
8991         * lib/mkmf.rb (try_link0): need expand macro in command, sync with
8992           ext/extmk.rb.in.
8994         * lib/mkmf.rb (try_cpp): ditto.
8996         * lib/mkmf.rb (egrep_cpp): ditto.
8998 Tue Apr  9 12:44:59 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9000         * ext/stringio/stringio.c (check_modifiable): performance
9001           improvement.  avoid calling rb_str_modify() twice.
9003         * ext/stringio/stringio.c (strio_ungetc): ditto.
9005         * ext/stringio/stringio.c (strio_putc): ditto.
9007         * ext/stringio/stringio.c (strio_write): ditto, and use
9008           rb_str_cat() as possible.
9010 Tue Apr  9 05:17:48 2002  Akinori MUSHA  <knu@iDaemons.org>
9012         * re.c (match_select): fix index references and make
9013           MatchData#select actually work.
9015 Tue Apr  9 00:20:52 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9017         * file.c (rb_file_s_extname): new method based on the proposal
9018           (and patch) from Mike Hall. [new]
9020 Mon Apr  8 04:50:51 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9022         * eval.c (error_handle): default to 1 unless status is set.
9024         * eval.c (ruby_options): guard error_handle() with PROT_NONE.
9026         * eval.c (ruby_stop): ditto.
9028 Mon Apr  8 01:22:24 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9030         * math.c (math_acosh): added. [new]
9032         * math.c (math_asinh): ditto.
9034         * math.c (math_atanh): ditto.
9036         * struct.c (rb_struct_each_pair): method added. [new]
9038 Sat Apr  6 02:04:49 2002  Guy Decoux  <ts@moulon.inra.fr>
9040         * class.c (rb_singleton_class): wrong condition; was creating
9041           unnecessary singleton class.
9043 Sat Apr  6 01:09:41 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9045         * sprintf.c (remove_sign_bits): simplifies the condition.
9047         * bignum.c (get2comp): calculate proper carry over.
9049 Fri Apr  5 05:07:28 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
9051         * ext/dl: Add dl/struct.rb.
9053 Thu Apr  4 14:08:52 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
9055         * ext/dl/lib/dl/import.rb: Get rid of ineffective
9056           encoding/decoding procedures.
9058 Thu Apr  4 01:08:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9060         * numeric.c (int_step): step may be a float less than 1.
9062 Wed Apr  3 20:42:34 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
9064         * ext/dl: Merge Nakada's patch.
9066         * ext/dl/dl.h: define StringValuePtr for ruby-1.6.
9068 Wed Apr  3 15:37:24 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
9070         * ext/dl: Add dl/types.rb.
9072 Wed Apr  3 01:54:10 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9074         * ext/extmk.rb.in (enable_config): follow lib/mkmf.rb.
9076 Tue Apr  2 19:59:13 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
9078         * ext/dl: Merge from rough.
9080 Tue Apr  2 15:17:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9082         * Makefile.in (CPPFLAGS): remove @includedir@.
9084         * lib/mkmf.rb (create_makefile): ditto.
9086         * ext/extmk.rb.in (create_makefile): ditto.
9088 Tue Apr  2 15:09:05 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9090         * ext/socket/socket.c (sock_addrinfo): should clear addrinfo hints.
9092 Mon Apr  1 23:48:12 2002  Takaaki Tateishi <ttate@kt.jaist.ac.jp>
9094         * lib/mkmf.rb: install any files using $INSTALLFILES.
9095           (see also [ruby-dev:16683])
9097 Mon Apr  1 17:25:50 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9099         * io.c (rb_io_fptr_cleanup): need flush even when io will not be
9100           closed.
9102         * io.c (rb_io_initialize): was calling wrong function
9103           rb_io_mode_flags().
9105 Mon Apr  1 16:52:00 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9107         * ext/sdbm/init.c (each_pair): moved prototype before the
9108           definition.
9110         * ext/racc/cparse/cparse.c (call_scaniter): ditto.
9112 Mon Apr  1 15:11:40 2002  NAKAMURA Usaku <usa@ruby-lang.org>
9114         * ext/racc/cparse/cparse.c: prototype; call_scaniter().
9116         * ext/sdbm/init.c: prototype; each_pair().
9118         * ext/tcltklib/tcltklib.c: prototypes; _timer_for_tcl() and ip_ruby(),
9119           Nobu's patch at [ruby-dev:14483].
9121 Mon Apr  1 10:56:40 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9123         * re.c (match_setter): it's OK to assign nil to $~.
9125 Mon Apr  1 03:55:46 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9127         * io.c (rb_io_fptr_cleanup): do not close IO created by for_fd().
9129         * io.c (rb_io_initialize): mark IO created by for_fd
9131         * ext/socket/socket.c (bsock_s_for_fd): ditto.
9133 Fri Mar 29 20:21:58 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9135         * lib/mkmf.rb (create_makefile): default FLAGS to empty strings.
9137 Fri Mar 29 16:36:52 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9139         * lib/mkmf.rb (arg_config): should use Shellwords::shellwords like
9140           ext/extmk.rb.in.
9142         * lib/mkmf.rb (enable_config): default had priority over command
9143           line options and configure_args.
9145         * lib/mkmf.rb: support autoconf 2.53 style variables from
9146           environment.
9148         * lib/mkmf.rb: add directory options.
9150 Fri Mar 29 15:49:29 2002  Usaku Nakamura <usa@ruby-lang.org>
9152         * win32/README.win32: follow recent changes.
9154 Fri Mar 29 14:44:05 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9156         * io.c (io_fflush): DRY patch from /Christoph applied.
9158 Thu Mar 28 18:58:13 2002  Usaku Nakamura <usa@ruby-lang.org>
9160         * win32/Makefile.sub (config.status): reflect user defined $CC in
9161           config.status.
9163 Thu Mar 28 18:03:51 2002  Minero Aoki  <aamine@loveruby.net>
9165         * ext/strscan/strscan.c: add taint check.
9167         * ext/strscan/strscan.c: #getch/#get_byte should set regexp
9168           registers.
9170         * ext/strscan/strscan.c: remove useless #include directive.
9172         * ext/strscan/strscan.c: refactor struct strscanner.
9174 Thu Mar 28 14:51:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9176         * ext/socket/socket.c (sock_addrinfo): should specify socktype
9177           from outside.
9179 Wed Mar 27 17:04:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9181         * io.c (argf_binmode): should call next_argv() to initialize ARGF.
9183         * io.c (argf_filename): ditto.
9185         * io.c (argf_file): ditto.
9187 Wed Mar 27 14:47:32 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9189         * io.c (READ_DATA_PENDING): configure.in has supported for uClibc,
9190           so remove uClibc stuff.
9192 Wed Mar 27 13:14:43 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9194         * io.c (rb_io_sysseek): new method based on a patch from Aristarkh
9195           A Zagorodnikov <xm@bolotov-team.ru>. [new]
9197         * io.c (READ_DATA_PENDING): use !feof(fp) for default behavior.
9199 Tue Mar 26 20:28:50 2002  Minero Aoki  <aamine@loveruby.net>
9201         * lib/net/http.rb: HTTP.get accepts URI.
9203         * lib/net/http.rb: new method HTTP.get_uri.
9205         * lib/net/http.rb: add some HTTP 1.1 response codes.
9207 Tue Mar 26 20:25:28 2002  Minero Aoki  <aamine@loveruby.net>
9209         * doc/net/protocol.rd.ja, smtp.rd.ja, pop.rd.ja: removed.
9211         * MANIFEST: remove doc/net/* entries.
9213 Tue Mar 26 18:45:15 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9215         * configure.in (FILE_READPTR): check bufread instead of bufend
9216           for uClibc.
9218         * ext/extmk.rb.in (arg_config): should use Shellwords::shellwords.
9220 Tue Mar 26 01:56:33 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9222         * parse.y (primary): while/until statement modifiers to "begin"
9223           statement now work as "do .. while" even when begin statement
9224           has "rescue" or "ensure" [new].
9226         * parse.y (bodystmt): rescue/ensure is allowed at every bodies,
9227           i.e. method bodies, begin bodies, class bodies[new], and module
9228           bodies[new].
9230 Mon Mar 25 22:10:04 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9232         * ext/socket/socket.c (sock_addrinfo): should specify ai_socktype
9233           for getaddrinfo hints.
9235 Mon Mar 25 17:18:48 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9237         * dir.c (rb_push_glob): local variable 'maxnest' was
9238           uninitialized.
9240 Mon Mar 25 16:53:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9242         * eval.c (rb_f_abort): embed aborting message into exception
9243           object [new].
9245         * eval.c (terminate_process): utility function for exit and abort.
9247 Tue Mar 26 14:04:47 2002  okabe katsuyuki <HGC02147@nifty.ne.jp>
9249         * win32/mkexports.rb: support VC++.NET.
9251 Tue Mar 26 14:00:17 2002  Akinori MUSHA  <knu@iDaemons.org>
9253         * ext/bigfloat/bigfloat.c: Fix the initializer's function name
9254           according to the new library name. (pointed out by nobu)
9256 Tue Mar 26 11:12:01 2002  Minero Aoki  <aamine@loveruby.net>
9258         * lib/fileutils.rb: new file.
9260 Tue Mar 26 03:23:50 2002  Tanaka Akira  <akr@m17n.org>
9262         * lib/pp.rb (pp): return nil like p.
9264 Tue Mar 26 01:48:01 2002  Akinori MUSHA  <knu@iDaemons.org>
9266         * ext/bigfloat/extconf.rb: Downcase the library name. (BigFloat.so
9267           -> bigfloat.so)
9269         * ext/bigfloat/bigfloat.c (BigFloat_inspect): Alter the inspect
9270           format not to look like an array. (pointed out by akr)
9272         * ext/bigfloat/bigfloat.c (BigFloat_hash): Implement BigFloat#hash.
9274         * ext/bigfloat/bigfloat.c (BigFloat_dump, BigFloat_load):
9275           Support marshaling.
9277 Tue Mar 26 00:38:11 2002  Tanaka Akira  <akr@m17n.org>
9279         * configure.in (FILE_READPTR): check _p for 4.4BSD.
9281 Mon Mar 25 23:39:25 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9283         * configure.in (FILE_READPTR): new.  for IO#gets improvement.
9285         * io.c (READ_DATA_PENDING_PTR): ditto.
9287         * io.c (remain_size): separated from read_all().
9289         * io.c (read_all): argument changed.
9291         * io.c (appendline): new.  get a line and append to string.
9293         * io.c (swallow): new.  swallow continuous line delimiters.
9295         * io.c (rb_io_getline_fast): add delimiter argument.
9297         * io.c (rb_io_getline): performance improvement.
9299 Mon Mar 25 19:30:25 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9301         * ext/extmk.rb.in (arg_config): get rid of single quotes
9302           for autoconf 2.53.
9304 Mon Mar 25 17:49:41 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9306         * regex.c (mbc_startpos_func): VC6 seems to be unable to
9307           understand forward declaration for static variables.
9309         * dir.c (rb_push_glob): local variable 'maxnest' was
9310           uninitialized.
9312 Mon Mar 25 13:24:20 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9314         * ext/socket/socket.c (bsock_do_not_rev_lookup_set): should not be
9315           allowed when $SAFE > 3.
9317         * eval.c (rb_thread_ready): THREAD_TO_KILL threads should not turn
9318           into THREAD_RUNNABLE on wakeup.
9320         * eval.c (rb_thread_list): THREAD_TO_KILL threads should be in the
9321           list.
9323         * eval.c (thgroup_list): ditto; by moving gid clearance from
9324           rb_thread_cleanup().
9326 Mon Mar 25 11:06:19 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9328         * dln.c (dln_argv0): unused unless USE_DLN_A_OUT.
9330         * regex.c (mbc_startpos_func): should be static.
9332 Sun Mar 24 12:19:09 2002  Koji Arai  <jca02266@nifty.ne.jp>
9334         * dir.c (fnmatch): "*/bar" (with FNM_PATHNAME flag) does not
9335           match "foo/bar".
9337 Sun Mar 24 00:46:05 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9339         * util.c (push_element): avoid warning for djgpp.
9341 Sat Mar 23 01:50:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9343         * io.c (read_all): files on /proc filesystem with zero stat size,
9344           may have contents.
9346 Fri Mar 22 18:07:29 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9348         * ext/socket/socket.c (tcp_s_gethostbyname): refactored.
9350         * ext/socket/socket.c (sock_s_gethostbyname): ditto.
9352 Fri Mar 22 16:46:54 2002  Minero Aoki  <aamine@loveruby.net>
9354         * ext/extmk.rb.in: replace mkdir with mkpath to compile racc/cparse.
9356 Fri Mar 22 16:22:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9358         * the VMS support patch submitted by Akiyoshi, Masamichi
9359           <Masamichi.Akiyoshi@jp.compaq.com> is merged.
9361 Fri Mar 22 16:27:24 2002  Minero Aoki  <aamine@loveruby.net>
9363         * lib/racc/parser.rb: new file.
9365         * ext/racc/MANIFEST, cparse.c, depend, extconf.rb: new files.
9367         * lib/README: add racc/parser.rb.
9369         * ext/Setup*: add racc/cparse.
9371 Fri Mar 22 15:04:03 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9373         * eval.c (exec_under): changing ruby_class is OK, but should not
9374           alter cbase.
9376         * eval.c (yield_under_i): ditto.
9378 Fri Mar 22 15:44:38 2002  Minero Aoki  <aamine@loveruby.net>
9380         * ext/strscan/MANIFEST, strscan.c, depend, extconf.rb: new files.
9382         * ext/Setup*: add strscan entry.
9384 Fri Mar 22 14:32:14 2002  Minero Aoki  <aamine@loveruby.net>
9386         * lib/net/protocol.rb: Protocol#start should return self.
9388 Fri Mar 22 14:14:21 2002  Tanaka Akira  <akr@m17n.org>
9390         * lib/resolv.rb: fix arguments to create exceptions.
9391           Patch from matt@lickey.com.  (ruby-bugs:PR#278)
9393 Fri Mar 22 13:51:11 2002  Akinori MUSHA  <knu@iDaemons.org>
9395         * ext/bigfloat/.cvsignore, ext/bigfloat/MANIFEST: BigFloat 1.1.8
9396           has been imported.  Add .cvsignore and MANIFEST.
9398 Fri Mar 22 04:07:55 2002  Koji Arai  <jca02266@nifty.ne.jp>
9400         * sprintf.c (rb_f_printf): discard meaningless prefix ".." for '%u'.
9402 Thu Mar 21 01:11:37 2002  Usaku Nakamura <usa@ruby-lang.org>
9404         * win32/Makefile.sub (config.status): fix install path (prefix).
9406 Thu Mar 21 01:03:05 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9408         * ext/configsub.rb: latest autoconf style support.
9410 Wed Mar 20 22:16:25 2002  Usaku Nakamura <usa@ruby-lang.org>
9412         * mkconfig.rb: close duplicated $stdout before renaming rbconfig.rb.
9414 Wed Mar 20 21:54:17 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9416         * win32/Makefile.sub: made variables configurable.
9418         * win32/Makefile.sub (config.h): updates RUBY_PLATFORM from
9419           Makefile.
9421         * win32/Makefile.sub (config.status): ditto. and use recent
9422           autoconf format.
9424         * win32/Makefile.sub (clean): separate ext and local clean up.
9426         * win32/Makefile.sub (distclean): ditto.
9428         * win32/config.status.in: no longer used.
9430 Wed Mar 20 20:12:35 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9432         * variable.c (rb_const_list): a temporary table must be freed.
9434 Wed Mar 20 19:44:09 2002  Tanaka Akira  <akr@m17n.org>
9436         * mkconfig.rb: don't touch rbconfig.rb if there is a trouble.
9438 Wed Mar 20 16:05:37 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9440         * eval.c (is_defined): should check receiver only once.
9442         * eval.c (is_defined): should handle NODE_NEWLINE.
9444 Wed Mar 20 11:29:25 2002  Aristarkh A Zagorodnikov  <xm@xml-objects.com>
9446         * file.c (rb_file_s_expand_path): memory leak fixed.
9448 Wed Mar 20 00:36:43 2002  Akinori MUSHA  <knu@iDaemons.org>
9450         * util.c (ruby_getcwd): the content of buf is uncertain and must
9451           not be printed when getcwd(buf, size) has failed.
9453 Mon Mar 18 22:19:52 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9455         * ext/stringio/stringio.c (check_modifiable): wrong declaration.
9457 Mon Mar 18 18:04:05 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9459         * ext/digest: add depend file.
9461         * ext/digest/md5: ditto.
9463         * ext/digest/rmd160: ditto.
9465         * ext/digest/sha1: ditto.
9467         * ext/digest/sha2: ditto.
9469         * ext/iconv/MANIFEST: ditto.
9471         * ext/stringio/MANIFEST: ditto.
9473         * ext/syslog: ditto.
9475 Mon Mar 18 17:18:06 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9477         * eval.c (rb_f_abort): should not bypass cleanup.
9479         * ext/stringio/stringio.c (check_modifiable): void function.
9481 Mon Mar 18 12:52:01 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9483         * ext/iconv/extconf.rb: workaround for GNU libiconv.
9485 Mon Mar 18 10:55:03 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9487         * parse.y (parse_string): part of multi-byte sequence must not
9488           match to paren.
9490         * parse.y (parse_qstring): ditto.
9492         * parse.y (parse_quotedwords): ditto.
9494         * parse.y (str_extend): handle multi-byte characters.
9496 Mon Mar 18 10:31:20 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9498         * enum.c (enum_find): catch a value before recycle.
9500         * enum.c (enum_all): ditto.
9502         * enum.c (enum_any): ditto.
9504         * enum.c (enum_min): ditto.
9506         * enum.c (enum_max): ditto.
9508 Sun Mar 17 20:08:04 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9510         * ext/iconv/depend: added.
9512         * ext/stringio/depend: added.
9514 Sat Mar 16 22:43:53 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9516         * missing/fileblocks.c: add for autoconf.
9518 Sat Mar 16 15:30:40 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9520         * re.c (rb_reg_search): should clear last_match if pos is out of
9521           string range.
9523         * string.c (rb_str_index_m): ditto.
9525         * string.c (rb_str_rindex): ditto.
9527 Sat Mar 16 09:04:58 2002  Koji Arai <JCA02266@nifty.ne.jp>
9529         * enum.c (enum_inject): use the first iterated element as the
9530           initial value when omitted.
9532         * enum.c (inject_i): ditto.
9534         * enum.c (Init_Enumerable): Enumerable#inject now takes variable
9535           count arguments.
9537 Fri Mar 15 19:47:31 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9539         * win32/win32.c (StartSockets): remove duplicated lines.
9541 Fri Mar 15 17:44:08 2002  Usaku Nakamura <usa@ruby-lang.org>
9543         * bignum.c, intern.h (rb_ull2big, rb_ll2big, rb_ull2inum, rb_ll2inum,
9544           big2ull, rb_big2ull, rb_big2ll): use LONG_LONG macro instead of
9545           long long.
9547         * numeric.c, intern.h, ruby.h (rb_num2ll, rb_num2ull): ditto.
9549         * ruby.h: use _I64_MAX and _I64_MIN if they are defined (for VC++).
9551 Fri Mar 15 14:02:43 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9553         * ext/iconv/iconv.c: fixed document, Iconv#new is no longer an
9554           iterator. thanks to Tanaka Akira <akr@m17n.org>.
9556 Thu Mar 14 22:17:45 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9558         * ext/iconv: imported.
9560 Thu Mar 14 16:42:37 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9562         * class.c (rb_define_class): should handle autoload.
9564         * class.c (rb_define_module): ditto.
9566 Thu Mar 14 16:18:12 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9568         * configure.in: autoconf 2.53 support. use AC_LIBOBJ.
9570 Thu Mar 14 00:29:12 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9572         * re.c (rb_reg_match): should clear $~ if operand is nil.
9574         * re.c (rb_reg_match2): ditto.
9576 Thu Mar 14 12:32:59 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9578         * ext/stringio/stringio.c: fixed frozen string bug.  ungetc no
9579           longer raises on readonly stream unless modifies actually.
9581 Thu Mar 14 08:57:41 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9583         * dir.c (rb_push_glob): avoid SEGV when a block given.
9585 Thu Mar 14 00:16:02 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9587         * string.c (rb_str_subpat_set): must make str independent after
9588           rb_reg_search() matched.
9590 Wed Mar 13 19:05:15 2002  Akinori MUSHA  <knu@iDaemons.org>
9592         * dir.c: FNM_PERIOD is obsoleted and FNM_DOTMATCH is introduced
9593           instead, which has the opposite meaning of FNM_PERIOD.
9595         * dir.c: Dir::glob now accepts optional FNM_* flags via the second
9596           argument, whereas Dir::[] doesn't.
9598 Wed Mar 13 18:36:55 2002  Akinori MUSHA  <knu@iDaemons.org>
9600         * lib/getopts.rb: single_options can be nil[*], and is not not
9601           optional. ([*]Pointed out by gotoken)
9603 Wed Mar 13 17:23:46 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9605         * configure: merge Jonathan Baker's large file support patch
9606           [ruby-talk:35316], with read_all patch in [ruby-talk:35470].
9608 Wed Mar 13 04:06:48 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9610         * eval.c (rb_f_abort): optional message argument that be printed
9611           on termination.
9613 Tue Mar 12 17:12:06 2002  Tanaka Akira  <akr@m17n.org>
9615         * lib/resolv.rb: don't complete domains for absolute FQNs.
9617 Mon Mar 11 23:08:48 2002  Tanaka Akira  <akr@m17n.org>
9619         * lib/tsort.rb: new file.
9621 Mon Mar 11 21:03:37 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9623         * ext/stringio: new.
9625 Mon Mar 11 18:03:37 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9627         * regex.c (re_compile_pattern): '\0111' should be '\011' plus '1',
9628           since octal literals are formed by three digits at most.
9630 Mon Mar 11 14:44:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9632         * marshal.c (w_object): module inclusion using extend() should
9633           also be detected.
9635         * eval.c (rb_eval_cmd): cbase should not be NULL; it should be
9636           either ruby_wrapper or Object.
9638 Sun Mar 10 02:18:22 2002  Koji Arai  <jca02266@nifty.ne.jp>
9640         * enum.c (enum_each_with_index): should return self.
9642         * process.c (proc_setpgrp): should return value for non-void function.
9644         * process.c (proc_getpgid): should raise exception if getpgid() return -1.
9646         * string.c (rb_str_ljust): should return a duplicated string.
9648         * string.c (rb_str_rjust): ditto.
9650         * string.c (rb_str_center): ditto.
9652 Sat Mar  9 08:45:58 2002  Tanaka Akira  <akr@m17n.org>
9654         * ext/socket/extconf.rb (have_struct_member): don't print checked
9655           result.
9657 Fri Mar  8 12:19:15 2002  Tanaka Akira  <akr@m17n.org>
9659         * lib/resolv.rb: use its own thread group for background threads.
9661 Fri Mar  8 02:21:32 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9663         * eval.c (cvar_cbase): utility function to find innermost non
9664           singleton cbase.
9666         * eval.c (is_defined): adopt new cvar behavior.
9668         * eval.c (rb_eval): ditto.
9670         * eval.c (assign): ditto.
9672 Thu Mar  7 20:08:25 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9674         * gc.c (rb_source_filename): added. holds unique strings for file
9675           names with GC space.
9677         * gc.c (rb_gc_mark): mark source file name.
9679         * gc.c (gc_sweep): ditto.
9681         * gc.c (Init_GC): initialize source file name table.
9683         * intern.h (rb_source_filename): added.
9685         * eval.c (rb_eval_string): use rb_source_filename().
9687         * parse.y (yycompile): ditto.
9689         * ruby.c (proc_options): ditto.
9691         * ruby.c (load_file): ditto.
9693         * ruby.c (ruby_script): ditto.
9695         * ruby.c (ruby_prog_init): ditto.
9697 Wed Mar  6 17:58:08 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9699         * dln.c (dln_load): use LoadLibrary instead of LoadLibraryEx.
9701 Wed Mar  6 16:50:37 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9703         * class.c (rb_mod_clone): should not call rb_obj_clone(), since
9704           Module does not provide "allocate".
9706         * class.c (rb_singleton_class): should create new singleton class
9707           if obj is a class or module and attached object is different,
9708           which means metaclass of singleton class is sought.
9710         * time.c (time_s_alloc): now follows allocation framework.
9712 Tue Mar  5 05:56:29 2002  Akinori MUSHA  <knu@iDaemons.org>
9714         * lib/getopts.rb: Rewrite to fix some bugs and complete features.
9715           - Accept options with the colon in the first argument;
9716             getopts("a:bcd:") is equivalent to getopts("bc", "a:", "d:").
9717           - Do not discard the argument that caused an error.
9718           - Do not discard '-', which commonly stands for stdin or stdout.
9719           - Allow specifying a long option with a value using '='.
9720             (command --long-option=value)
9721           - Stop reading options when it meets a non-option argument.
9723 Mon Mar  4 13:19:18 2002  Akinori MUSHA  <knu@iDaemons.org>
9725         * ext/extmk.rb.in (dir_config): Sync with mkmf.rb: Fix a bug where
9726           --with-xx-{include,lib} is ignored when --with-xx-dir is
9727           specified.
9729 Mon Mar  4 00:09:55 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9731         * eval.c (rb_eval): should initialize outer class variables from
9732           methods in singleton class definitions.
9734         * eval.c (assign): ditto.
9736 Fri Mar  1 11:29:10 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9738         * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): add const
9739           qualifier only for uClibc.
9741 Fri Mar  1 11:22:51 2002  Amos Gouaux  <amos+ruby@utdallas.edu>
9743         * lib/net/imap.rb: added document.
9745         * lib/net/imap.rb (getquotaroot): new method.
9747         * lib/net/imap.rb (setacl): remove the rights if the rights
9748           parameter is nil.
9750         * lib/net/imap.rb (getacl): return an array of MailboxACLItem.
9752 Fri Mar  1 06:25:49 2002  Tanaka Akira  <akr@m17n.org>
9754         * ext/socket/extconf.rb (have_struct_member): new method.
9755           check msg_control and msg_accrights in struct msghdr.  check
9756           sys/uio.h.
9758         * ext/socket/socket.c: include sys/uio.h if available.
9759           (thread_read_select): new function.
9760           (unix_send_io): ditto.
9761           (unix_recv_io): ditto.
9762           (unix_s_socketpair): ditto.
9763           (Init_socket): define UNIXSocket#send_io, UNIXSocket#recv_io,
9764           UNIXSocket.socketpair and UNIXSocket.pair.
9766         * dln.c (dln_load): fix typo.
9768 Wed Feb 27 16:30:50 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9770         * eval.c (rb_mod_include): load modules in argument order.
9772         * st.c (st_init_table_with_size): num_bins should be prime numbers
9773           (no decrement).
9775         * st.c (rehash): ditto.
9777 Wed Feb 27 13:18:49 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
9779         * io.c (READ_DATA_PENDING): uClibc support.
9781         * random.c (rand_init): ditto.
9783         * ext/socket/{addinfo.h,getaddrinfo.c} (gai_strerror): ditto.
9785 Wed Feb 27 07:05:17 2002  Akinori MUSHA  <knu@iDaemons.org>
9787         * ext/digest/sha2/sha2.c: Merge from rough.  Fix a couple of
9788           off-by-one errors in Aaron Gifford's code.
9790           Obtained from:  KAME via FreeBSD
9791           KAME PR:        393
9792           FreeBSD PR:     kern/34242
9794 Wed Feb 27 03:36:47 2002  Koji Arai  <jca02266@nifty.ne.jp>
9796         * ext/dbm/dbm.c (fdbm_select): 1.7 behavior.
9798         * ext/gdbm/gdbm.c (fgdbm_select): ditto.
9800         * ext/sdbm/sdbm.c (fsdbm_select): ditto.
9802         * ext/dbm/dbm.c (fdbm_delete): adopt Hash#delete behavior.
9804         * ext/sdbm/sdbm.c (fsdbm_delete): ditto.
9806         * ext/gdbm/gdbm.c: need not to dup key to the block.
9808         * ext/sdbm/sdbm.c : replace RuntimeError with SDBMError.
9810 Tue Feb 26 21:34:07 2002  Usaku Nakamura <usa@ruby-lang.org>
9812         * bignum.c (rb_big_2comp): void function cannot return any value.
9814 Tue Feb 26 16:52:12 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9816         * eval.c (rb_f_missing): NoMethod error messages for true, false,
9817           nil must respond visibility like for other objects.
9819 Tue Feb 26 15:41:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9821         * eval.c (rb_eval): call trace_func for if/while conditions.
9823         * marshal.c (r_object): separate r_regist from proc calling.
9825 Tue Feb 26 11:25:50 2002  akira yamada  <akira@arika.org>
9827         * lib/uri/generic.rb: merge0 should return [oth, oth] if oth is
9828           absolute URI.
9830         * lib/uri/generic.rb: registry part must not be allowed for any
9831           schemes for the Internet. (RFC2396, section 3.2.2 and 3.2.1.)
9833 Mon Feb 25 21:22:41 2002  Akinori MUSHA  <knu@iDaemons.org>
9835         * ext/syslog/syslog.c: Merge from rough.  Use SafeStringValue().
9837 Mon Feb 25 21:12:08 2002  Akinori MUSHA  <knu@iDaemons.org>
9839         * ext/syslog/syslog.c: Merge from rough.  Turn Syslog into a
9840           module keeping backward compatibility intact.
9842 Mon Feb 25 19:35:48 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9844         * sample/test.rb (system): test with scripts under the source
9845           directory.
9847 Mon Feb 25 15:14:01 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9849         * eval.c (method_inspect): should not dump core for unbound
9850           singleton methods.
9852         * object.c (rb_mod_to_s): better description.
9854 Mon Feb 25 13:32:13 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9856         * lib/shell.rb (Shell::expand_path): relative to @cwd.
9858 Mon Feb 25 06:30:11 2002  Koji Arai  <jca02266@nifty.ne.jp>
9860         * hash.c (env_select): should path the assoc list.
9862 Sun Feb 24 17:20:22 2002  Akinori MUSHA  <knu@iDaemons.org>
9864         * ext/digest/*/*.h: Merge from rough.
9865           - Avoid namespace pollution. (MD5_* -> rb_Digest_MD5_*, etc.)
9867 Sat Feb 23 21:12:13 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9869         * process.c (rb_syswait): thread kludge; should be fixed to
9870           support native thread.
9872 Fri Feb 22 21:20:53 2002  Minero Aoki  <aamine@loveruby.net>
9874         * lib/net/protocol.rb: set read_timeout dynamically.
9876         * lib/net/http.rb: @@newimpl is always true in the main trunk.
9878         * lib/net/http.rb: HTTP.port -> default_port
9880         * lib/net/http.rb: HTTPResponse.read_response_status ->
9881           read_status_line
9883 Fri Feb 22 19:56:15 2002  Usaku Nakamura <usa@ruby-lang.org>
9885         * win32/config.status.in: set LIBRUBY_SO.
9887 Fri Feb 22 03:34:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9889         * bignum.c (get2comp): need to specify to carry or not.
9891         * io.c (rb_io_inspect): embed path info.
9893 Fri Feb 22 11:30:01 2002  Tanaka Akira  <akr@m17n.org>
9895         * lib/prettyprint.rb: FillGroup implemented.
9897 Thu Feb 21 21:40:18 2002  Usaku Nakamura <usa@ruby-lang.org>
9899         * ext/extmk.rb.in (create_makefile): remove unnecessary -L option from
9900           LIBS macro.
9902 Thu Feb 21 02:49:12 2002  Koji Arai  <jca02266@nifty.ne.jp>
9904         * pack.c (pack_pack): wrong # comment treatment.
9906         * pack.c (pack_unpack): ditto.
9908 Wed Feb 20 15:15:03 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
9910         * intern.h: prototypes; rb_io_addstr(), rb_io_printf(),
9911           rb_io_print(), rb_io_puts()
9913         * io.c (rb_io_addstr): make extern.
9915         * io.c (rb_io_printf): ditto.
9917         * io.c (rb_io_print): ditto.
9919         * io.c (rb_io_puts): ditto.
9921 Wed Feb 20 13:41:35 2002  Usaku Nakamura <usa@ruby-lang.org>
9923         * io.c (rb_io_close): return Qnil.
9925 Wed Feb 20 12:41:59 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
9927         * hash.c (rb_any_cmp): should handle Qundef in keys.
9929         * eval.c (remove_method): should not remove a empty method to
9930           implement "undef".
9932         * eval.c (rb_eval): should allow singleton class def for
9933           true/false/nil.
9935 Tue Feb 19 21:43:32 2002  Minero Aoki  <aamine@loveruby.net>
9937         * lib/net/protocol.rb: rename Protocol.port to default_port.
9939         * lib/net/smtp.rb: ditto.
9941         * lib/net/pop.rb: ditto.
9943         * lib/net/http.rb: ditto.
9945         * lib/net/protocol.rb: rename BufferedSocket class to
9946           InternetMessageIO.
9948         * lib/net/smtp.rb: ditto.
9950         * lib/net/pop.rb: ditto.
9952         * lib/net/http.rb: ditto.
9954         * lib/net/protocol.rb: rename InternetMessageIO#write_pendstr to
9955           write_message.
9957         * lib/net/smtp.rb: ditto.
9959         * lib/net/protocol.rb: new method
9960           InternetMessageIO#through_message.
9962         * lib/net/smtp.rb: ditto.
9964         * lib/net/protocol.rb: rename InternetMessageIO#read_pendstr to
9965           read_message_to.
9967         * lib/net/pop.rb: ditto.
9969         * lib/net/protocol.rb: rename InternetMessageIO#read_pendlist to
9970           each_list_item
9972         * lib/net/pop.rb: ditto.
9974         * lib/net/protocol.rb: Now block size is 1024.
9976         * lib/net/smtp.rb: new methods SMTP#esmtp? and #esmtp=.
9978         * lib/net/http.rb: Using singleton method syntax instead of
9979           singleton class clause, to avoid behavior change of class
9980           variables in ruby 1.7.
9982         * lib/net/http.rb: HTTPResponse class does not inherit from
9983           Net::Response.
9985         * lib/net/http.rb: divide HTTP#connecting into
9986           {begin,end}_transport.
9988         * lib/net/http.rb: unused class Accumulator removed.
9990         * lib/net/http.rb: Net::HTTP reads response. not HTTPRequest.
9992         * lib/net/http.rb: proxy related class-instance-variables are not
9993           initialized correctly.
9995 Tue Feb 19 20:20:12 2002  Ed Sinjiashvili  <edsin@swes.saren.ru>
9997         * parse.y (str_extend): backslash escape was done wrong.
9999 Tue Feb 19 17:10:25 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10001         * file.c (path_check_1): do not fail on world writable *parent*
10002           directories too.
10004 Tue Feb 19 15:51:41 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10006         * file.c (path_check_1): do not warn on world writable *parent*
10007           directories.
10009         * class.c (rb_include_module): should preserve ancestor order in
10010           the included class/module.
10012 Tue Feb 19 14:45:32 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10014         * file.c (path_check_1): should check directory sticky bits.
10016         * process.c (security): need not to warn twice.
10018         * marshal.c (r_object): complete restoration before calling
10019           r_regist().
10021 Tue Feb 19 14:24:36 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10023         * parse.y (yylex): operators in the "op" rule should make
10024           lex_state EXPR_ARG on EXPR_FNAME and EXPR_DOT.
10026 Tue Feb 19 13:38:10 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10028         * eval.c (rb_eval_string_wrap): should hide the toplevel local
10029           variable bindings by PUSH_SCOPE().
10031 Tue Feb 19 13:21:51 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
10033         * regex.c: fix prototypes of xmalloc(), xcalloc() and xrealloc().
10035 Tue Feb 19 13:16:08 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10037         * io.c (rb_io_ungetc): don't fail pushed EOF back.
10039 Mon Feb 18 20:48:40 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10041         * pack.c (pack_pack): avoid infinite loop at comment.
10043         * pack.c (pack_unpack): ditto.
10045 Mon Feb 18 14:06:28 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10047         * misc/ruby-mode.el (ruby-block-hanging-re): rescue block was too
10048           indented.
10050 Mon Feb 18 13:56:44 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10052         * parse.y (expr_value, arg_value, primary_value): value_expr()
10053           check in place.
10055         * eval.c (block_pass): "&nil" should clear block given.
10057 Mon Feb 18 02:05:56 2002  Wolfgang Jahrling <wolfgang@pro-linux.de>
10059         * dir.c (push_braces): remove MAXPATHLEN dependency.
10061         * dir.c (dir_s_globd): ditto.
10063         * dln.c (init_funcname): ditto.
10065         * dln.c (load_1): ditto.
10067         * dln.c (dln_load): ditto.
10069         * configure.in: add GNU/Hurd switches.
10071 Fri Feb 15 17:44:26 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10073         * pack.c (pack_pack): allows comment in template strings.
10075         * pack.c (pack_unpack): ditto.
10077 Sun Feb 17 23:41:37 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10079         * mkconfig.rb (Config::expand): expand ${} too.
10081         * ext/extmk.rb.in (try_link0): expand command.
10083         * ext/extmk.rb.in (try_cpp): ditto.
10085         * ext/extmk.rb.in (extmake): default $LIBPATH to $libdir
10087 Sun Feb 17 21:39:24 2002  Tetsuya Watanabe  <tetsuya.watanabe@nifty.com>
10089         * ext/digest/md5/md5init.c (Init_md5): rb_cvar_declare() is
10090           replaced by rb_cvar_set().
10092         * ext/digest/rmd160/rmd160init.c (Init_rmd160): ditto.
10094         * ext/digest/sha1/sha1init.c (Init_sha1): ditto.
10096         * ext/digest/sha2/sha2init.c (Init_sha2): ditto.
10098 Sun Feb 17 18:10:09 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10100         * class.c (rb_define_class): warn unless superclass is specified
10101           explicitly.
10103         * class.c (rb_define_class_under): ditto.
10105 Thu Feb 16 02:11:08 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10107         * misc/ruby-mode.el (ruby-font-lock-keywords): fontify
10108           instance/class/global variables start with '_'.
10110 Fri Feb 15 14:40:38 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10112         * eval.c (rb_eval): replace rb_cvar_declare() by rb_cvar_set().
10114         * eval.c (assign): ditto.
10116         * variable.c (rb_cvar_set): 4th argument (warn) added; define new
10117           class variable if it's not defined yet.
10119         * variable.c (rb_cvar_declare): removed.
10121 Fri Feb 15 13:36:58 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10123         * bignum.c (rb_big_rshift): should properly convert the negative
10124           value to 2's compliment.
10126 Thu Feb 14 17:38:35 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10128         * parse.y: avoid SEGV at OP_ASIGN to pseudo variable.
10130 Thu Feb 14 14:13:16 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10132         * struct.c (Init_Struct): should undefine "allocate" for Struct
10133           class (it's redefined in the subclasses).
10135 Wed Feb 13 17:58:12 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10137         * parse.y (stmt): local variable declaration order was changed
10138           since 1.6
10140         * parse.y (arg): ditto.
10142         * pack.c (pack_pack): add templates 'q' and 'Q'.
10144         * pack.c (pack_unpack): ditto.
10146         * bignum.c (rb_quad_pack): new utility function.
10148         * bignum.c (rb_quad_unpack): ditto.
10150 Tue Feb 12 01:21:34 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10152         * parse.y (assignable): should emit CVASGN within the method
10153           body.
10155 Mon Feb 11 06:13:53 2002  Matt Armstrong  <matt@lickey.com>
10157         * dir.c (dir_s_glob): should not warn even if no match found.
10159 Mon Feb 11 04:25:54 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10161         * eval.c (rb_eval): clean up class variable behavior.
10163         * eval.c (assign): ditto.
10165         * eval.c (is_defined): ditto.
10167         * variable.c (rb_mod_class_variables): need not to call rb_cvar_singleton().
10169         * variable.c (rb_cvar_singleton): removed.
10171 Mon Feb 11 00:10:41 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10173         * regex.c (re_compile_fastmap): skip begpos.
10175 Sun Feb 10 16:52:53 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10177         * ruby.c (load_file): avoid SEGV on '#' only input.
10179 Fri Feb  8 23:07:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10181         * eval.c (rb_eval): singleton check should be moved from yycompile
10182           to here.
10184         * eval.c (is_defined): check should be added here too.
10186 Fri Feb  8 05:31:48 2002  Minero Aoki  <aamine@loveruby.net>
10188         * lib/net/http.rb: HTTP.Proxy should use self for proxy-class's
10189           super class.
10191         * lib/net/http.rb: initialize HTTP.proxy_port by HTTP.port.
10193 Fri Feb  8 01:27:33 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10195         * parse.y (yycompile): should inherit "in_single" if eval happened
10196           in a singleton method.
10198         * eval.c (rb_eval): class variables from singleton methods defined
10199           within singleton class statement should work like ones defined
10200           by singleton def statements.
10202 Thu Feb  7 13:44:08 2002  akira yamada  <akira@arika.org>
10204         * uri/common.rb (URI::join): new method.
10206         * uri/generic.rb (Generic#merge): URI.parse("http://a/")+"b" should
10207           return "http://a/b" but it returned "http://a//b".
10209         * uri/generic.rb (Generic#check_path): corrected error message,
10210           @path -> v
10212 Thu Feb  7 00:18:43 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10214         * io.c (io_write): flag when buffered write is done.
10216         * io.c (fptr_finalize): do not raise error on EBADF if write
10217           buffer is empty.
10219 Wed Feb  6 17:18:54 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10221         * configure.in: keep old config.h unless changed.
10223 Wed Feb  6 13:28:53 2002  Amos Gouaux  <amos+ruby@utdallas.edu>
10225         * lib/net/imap.rb: OpenSSL support.
10227         * lib/net/imap.rb (setquota): unset quota if the second argument
10228           is nil.
10230 Wed Feb  6 13:05:11 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10232         * io.c (rb_io_readlines): avoid calling GetOpenFile() repeatedly.
10234         * io.c (rb_io_each_line): ditto.
10236         * io.c (argf_getline): ditto.
10238         * process.c: should include <time.h> to get proper CLK_TCK.
10240 Wed Feb  6 02:10:30 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10242         * io.c (fptr_finalize): ignore EBADF when f and f2 use same
10243           descriptor.
10245 Tue Feb  5 16:17:20 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10247         * io.c (fptr_finalize): should raise error when fclose fails.
10249         * eval.c (method_inspect): proper output format to distinguish
10250           methods and singleton methods.
10252 Mon Feb  4 22:44:58 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10254         * file.c (rb_file_s_expand_path): should terminate.
10256 Mon Feb  4 15:38:29 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10258         * object.c (rb_class_real): should not follow ICLASS link
10260         * variable.c (classname): should follow ICLASS link explicitly.
10262         * eval.c (rb_call): ditto.
10264 Fri Feb  1 19:10:04 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10266         * intern.h: prototypes for new functions; rb_cstr_to_inum(),
10267           rb_str_to_inum(), rb_cstr_to_dbl(), rb_str_to_dbl()
10269         * bignum.c (rb_cstr_to_inum): changed from rb_cstr2inum(), and
10270           added argument badcheck to be consistent with parser. [new]
10272         * bignum.c (rb_str_to_inum): ditto.
10274         * bignum.c (rb_cstr2inum): wrapper of rb_cstr_to_inum() now.
10276         * bignum.c (rb_str2inum): ditto.
10278         * object.c (rb_cstr_to_dbl): float number parser. [new]
10280         * object.c (rb_str_to_dbl): ditto.
10282         * object.c (rb_Float): use rb_cstr_to_dbl() for strict check.
10284         * object.c (rb_Integer): use rb_str_to_inum() for strict check.
10286         * string.c (rb_str_to_f): use rb_str_to_dbl() with less check.
10288         * string.c (rb_str_to_i): use rb_str_to_inum() with less check.
10290         * string.c (rb_str_hex): ditto.
10292         * string.c (rb_str_oct): ditto.
10294         * sprintf.c (rb_f_sprintf): ditto.
10296         * time.c (obj2long): ditto.
10298         * parse.y (yylex): use rb_cstr_to_inum() for strict check.
10300 Fri Feb  1 17:46:39 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10302         * regex.c (mbc_startpos): become macro.
10304         * regex.c (euc_startpos): added for improvement.
10306         * regex.c (sjis_startpos): ditto.
10308         * regex.c (utf8_startpos): ditto.
10310 Fri Feb  1 00:03:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10312         * file.c (rb_stat_inspect): print dev, rdev in hexadecimal.
10314 Thu Jan 31 20:45:33 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10316         * lib/mkmf.rb (dir_config): prior --with flag.
10318         * lib/mkmf.rb (arg_config): avoid special variables for
10319           font-lock-mode.
10321 Thu Jan 31 13:22:36 2002  Tanaka Akira  <akr@m17n.org>
10323         * lib/pp.rb (File::Stat#pretty_print): print rdev_major and rdev_minor.
10325 Wed Jan 30 15:58:04 2002  K.Kosako  <kosako@sofnec.co.jp>
10327         * regex.c (re_adjust_startpos): fix for SJIS and UTF-8.
10329         * regex.c (mbc_startpos): ditto.
10331 Wed Jan 30 13:37:05 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10333         * re.c (rb_reg_search): should set regs.allocated.
10335 Wed Jan 30 02:25:38 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10337         * regex.c (re_adjust_startpos): search start of multibyte
10338           backward.
10340         * regex.c (mbc_startpos): ditto.
10342 Tue Jan 29 17:59:20 2002  Tanaka Akira  <akr@m17n.org>
10344         * file.c: `major' and `minor' macro needs sys/mkdev.h on SunOS 5.x.
10346         * configure.in: add check for `sys/mkdev.h'.
10348         * lib/pp.rb: don't print a mode File::Stat as decimal number.
10350 Mon Jan 28 19:16:58 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10352         * array.c (rb_ary_fill): shouldn't yield unless block given.
10354 Mon Jan 28 18:33:18 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10356         * parse.y (yylex): strict check for numbers.
10358 Mon Jan 28 18:01:01 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10360         * file.c (rb_stat_rdev_major): added. [new]
10362         * file.c (rb_stat_rdev_minor): added. [new]
10364         * file.c (rb_stat_inspect): print mode in octal.
10366 Mon Jan 28 13:29:41 2002  K.Kosako  <kosako@sofnec.co.jp>
10368         * eval.c (is_defined): defined?(Foo::Baz) should check constants
10369           only, no methods.
10371         * eval.c (is_defined): should not dump core on defined?(a::b)
10372           where a is not a class nor a module.
10374 Mon Jan 28 02:50:12 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10376         * object.c (Init_Object): remove dup and clone from TrueClass,
10377           FalseClass, and NilClass.
10379         * array.c (rb_ary_fill): Array#fill takes block to get the value to
10380           fill.
10382 Sat Jan 26 20:05:18 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10384         * string.c (rb_str_to_i): to_i(0) auto-detects base radix.
10386         * array.c (rb_ary_initialize): fill by the block evaluation value
10387           if block is given.
10389 Fri Jan 25 17:48:43 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
10391         * configure.in (solaris): add '-shared' only for GNU ld.
10393 Fri Jan 25 17:16:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10395         * class.c (rb_include_module): detect cyclic module inclusion.
10397 Fri Jan 25 02:17:56 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10399         * eval.c (rb_thread_cleanup): need not to free thread stacks at
10400           process termination.
10402         * array.c (rb_ary_fetch): use the block to get the default value
10403           if the block is given.
10405         * eval.c (rb_thread_schedule): should check time only if BOTH
10406           WAIT_SELECT and WAIT_TIME.
10408 Thu Jan 24 11:49:05 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10410         * eval.c (umethod_bind): should update rklass field.
10412         * hash.c (rb_hash_update): if a block is given, yields [key,
10413           value1, value2] to the block to resolve conflict.
10415 Thu Jan 24 05:42:01 2002  Koji Arai  <jca02266@nifty.ne.jp>
10417         * string.c (rb_str_split_m): no need to consider KANJI
10418           characters, if the length of separator is 1 (byte).
10420 Wed Jan 23 16:07:31 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10422         * array.c (Init_Array): remove Array#filter.
10424 Wed Jan 23 13:27:44 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10426         * eval.c (rb_yield_0): restore source file/line after yield.
10428 Wed Jan 23 02:00:14 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10430         * object.c (rb_mod_initialize): should accept zero argument.
10432         * object.c (rb_mod_cmp): should raise ArgumentError if
10433           inheritance/inclusion relation between two classes/modules is
10434           not defined. [new]
10436 Tue Jan 22 17:45:23 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10438         * io.c (rb_io_fsync): new method. [new]
10440 Mon Jan 21 22:57:18 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10442         * signal.c (ruby_signal): must define sighandler_t for every
10443           occasion.
10445 Mon Jan 21 08:25:30 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10447         * eval.c (ruby_stop): should not trace error handler.
10449         * signal.c (install_sighandler): do not install sighandler unless
10450           the old value is SIG_DFL.
10452         * io.c (io_write): should not raise exception on O_NONBLOCK io.
10454         * dir.c (dir_set_pos): seek should return dir, pos= should not.
10456 Sat Jan 19 02:31:45 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10458         * eval.c (rb_eval): need not to clear method cache for NODE_CLASS,
10459           NODE_SCLASS.
10461         * gc.c (obj_free): need not to clear method cache on class/module
10462           finalization.
10464 Fri Jan 18 23:38:03 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10466         * array.c (rb_ary_fetch): index out of range raises exception
10467           unless optional second argument is specified.
10469 Fri Jan 18 17:32:09 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10471         * io.c (rb_io_s_new): block check moved from initialize to this
10472           method.
10474         * io.c (rb_io_s_open): open should call initialize too. IO#for_fd
10475           also calls initialize. [new]
10477 Fri Jan 18 10:26:33 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10479         * error.c (rb_sys_fail): replace INT2FIX() by INT2NUM() since
10480           errno value may not fit in Fixnum size on Hurd.
10482         * error.c (set_syserr): ditto.
10484 Fri Jan 18 10:12:00 2002  Usaku Nakamura <usa@ruby-lang.org>
10486         * ext/socket/socket.c (tcp_svr_s_open): fix typo.
10488 Fri Jan 18 02:27:48 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10490         * dir.c (dir_s_glob): returns nil if block given.
10492         * io.c (rb_io_each_byte): should return self.
10494         * io.c (rb_io_close_m): close check added.
10496         * dir.c (dir_seek): should return pos.
10498 Fri Jan 18 01:21:53 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10500         * parse.y (fixpos): orig may be (NODE*)1, which should not be
10501           dereferenced.
10503 Thu Jan 17 16:21:42 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10505         * eval.c (block_pass): allow "retry" from within argument passed
10506           block. [new]
10508         * eval.c (localjump_error): should preserve exit status in the
10509           exception object. [new]
10511         * eval.c (proc_invoke): should raise exception for "break" if it's
10512           yielding, not calling. [new]
10514         * eval.c (block_pass): should NOT raise exception for "break". [new]
10516         * eval.c (block_pass): should allow block argument relay even in
10517           the tainted mode.
10519 Thu Jan 17 04:51:48 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10521         * ext/socket/socket.c: support subclassing by proper "initialize"
10522           calling convention. [new]
10524 Wed Jan 16 18:25:08 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10526         * st.c: primes should be primes.
10528 Wed Jan 16 12:29:14 2002  Tanaka Akira  <akr@m17n.org>
10530         * lib/timeout.rb (timeout): new optional argument to specify an
10531           exception class.
10533         * lib/resolv.rb: use Resolv::ResolvTimeout for internal timeout to
10534           avoid problem with timeout of application.
10536 Wed Jan 16 11:12:30 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10538         * object.c (rb_Float): remove underscores between digits.
10540         * bignum.c (rb_cstr2inum): reject prefix followed by spaces only.
10542         * class.c (rb_class_inherited): should use Object when no super
10543           class.
10545 Tue Jan 15 01:11:44 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10547         * eval.c (is_defined): method defined? check should honor
10548           protected too.
10550 Mon Jan 14 13:06:02 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10552         * eval.c (block_pass): should not pass tainted block, if $SAFE > 0.
10554 Sun Jan 13 09:31:41 2002  Koji Arai  <jca02266@nifty.ne.jp>
10556         * variable.c (rb_mod_remove_cvar): should pass the char*.
10558 Fri Jan 11 05:06:25 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10560         * class.c (rb_make_metaclass): [new]
10562         * class.c (rb_define_class_id): use rb_make_metaclass(), don't
10563           call Class#inherited hook.
10565         * class.c (rb_class_inherited): [new]
10567         * class.c (rb_define_class): call Class#inherited hook here.
10569         * class.c (rb_define_class_under): ditto after class path is set.
10571         * class.c (rb_singleton_class): use rb_make_metaclass().
10573         * eval.c (rb_eval): same as rb_define_class_under().
10575         * intern.h: prototypes of rb_make_metaclass() and
10576           rb_class_inherited().
10578         * object.c (rb_class_s_new): use rb_make_metaclass() and
10579           rb_class_inherited().
10581         * object.c (Init_Object): use rb_make_metaclass().
10583         * struct.c (make_struct): use rb_class_inherited().
10585 Thu Jan 10 19:15:15 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10587         * eval.c (rb_add_method): should clear cache by id always.
10589         * eval.c (rb_disable_super): no longer need to clear cache before
10590           rb_add_method().
10592         * eval.c (rb_export_method): ditto.
10594         * eval.c (rb_attr): ditto.
10596         * eval.c (rb_undef): ditto.
10598         * eval.c (rb_eval): ditto.
10600         * eval.c (rb_mod_modfunc): ditto.
10602         * eval.c (rb_mod_define_method): ditto.
10604 Thu Jan 10 11:42:47 2002  Usaku Nakamura <usa@ruby-lang.org>
10606         * win32/resource.rb: Modify copyright in resource script.
10608 Thu Jan 10 07:15:44 2002  takuma ozawa  <metal@mine.ne.jp>
10610         * re.c (match_select): should propagate taintness.
10612 Thu Jan 10 00:54:57 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10614         * hash.c (rb_hash_set_default): Hash#default= should return the
10615           new value.
10617 Wed Jan  9 20:21:09 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10619         * misc/ruby-mode.el (ruby-calculate-indent): indentation after
10620           comment at beginning of buffer failed.
10622         * misc/ruby-mode.el (font-lock-defaults): unless XEmacs, set
10623           font-lock variables in ruby-mode-hook.
10625 Tue Jan  8 15:56:20 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10627         * string.c (rb_str_to_i): accepts optional base argument. [new]
10629         * numeric.c (rb_fix2str): should not handle negative fixnum values
10630           int32 via calling sprintf() directly.
10632 Tue Jan  8 15:54:02 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10634         * eval.c (rb_add_method): clear replaced method from the cache.
10636 Mon Jan  7 12:38:47 2002  Tanaka Akira  <akr@m17n.org>
10638         * lib/time.rb (Time#xmlschema): new optional argument
10639           fractional_seconds to specify a number of digits of
10640           fractional part of the time.
10642 Sat Jan  5 13:18:11 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10644         * range.c (range_member): beginning check was
10645           wrong. [ruby-talk:30252]
10647 Sat Jan  5 03:07:34 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10649         * string.c (rb_str_new2): NULL pointer check added.
10651 Sat Jan  5 00:19:12 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10653         * parse.y (yycompile): strdup()'ed twice.
10655 Fri Jan  4 18:29:10 2002  Michal Rokos  <m.rokos@sh.cvut.cz>
10657         * class.c (rb_define_module_under): should locate predefined
10658           module using rb_const_defined_at().
10660 Fri Jan  4 17:23:49 2002  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10662         * misc/ruby-mode.el (ruby-forward-string): forward a string. [new]
10664         * misc/ruby-mode.el (ruby-parse-region): handle nested parentheses
10665           in a string and terminators in #{}.
10667         * misc/ruby-mode.el (ruby-calculate-indent): ditto.
10669 Wed Jan  2 23:34:25 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
10671         * lib/mkmf.rb (create_makefile): add -I. to CPPFLAGS.
10673         * lib/mkmf.rb (create_makefile): srcdir support(.def and depend file).
10675 Wed Jan  2 11:51:56 2002  Yukihiro Matsumoto  <matz@ruby-lang.org>
10677         * process.c (rb_f_system): abandon vfork.
10679         * io.c (pipe_open): ditto.
10681 Tue Jan  1 02:16:48 2002  WATANABE Hirofumi  <eban@ruby-lang.org>
10683         * ext/curses/extconf.rb: add dir_config.
10685         * Makefile.in (fake.rb): set RUBY_VERSION.
10687 Mon Dec 31 14:20:46 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10689         * parse.y (yycompile): always store copy of filename.
10691         * parse.y (rb_compile_file): no longer need to strdup() here.
10693 Mon Dec 31 05:26:40 2001  Ferris McCormick  <fmccor@inforead.com>
10695         * defines.h: sparc linux needs different FLUSH_REGISTER_WINDOWS
10697 Mon Dec 31 04:27:28 2001  Minero Aoki  <aamine@mx.edit.ne.jp>
10699         * lib/net/protocol.rb: Protocol#start returns the return value of
10700           block.
10702         * lib/net/protocol.rb: set timeout limit by default.
10704         * lib/net/protocol.rb: new methods WriteAdapter#write, puts,
10705           print, printf.
10707         * lib/net/http.rb: rename HTTP#get2 to request_get, post2 to
10708           request_post ...
10710         * lib/net/smtp.rb: should not resolve HELO domain automatically.
10712 Sun Dec 30 00:59:16 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
10714         * ext/extmk.rb.in, lib/mkmf.rb (have_library): accept -lm
10715           unconditionally on mswin32/mingw32.
10717 Sat Dec 29 01:55:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10719         * regex.c (re_search): abandon stclass optimization.
10721 Fri Dec 28 14:39:05 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10723         * array.c (rb_cmpint): fixed typo.
10725 Thu Dec 27 18:43:04 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10727         * bignum.c (rb_cstr2inum): deny "0_".
10729 Thu Dec 27 01:54:02 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10731         * bignum.c (rb_cstr2inum): allow "0\n" and so on.
10733 Wed Dec 26 19:24:21 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10735         * error.c (rb_invalid_str): utility function to show inspect()'ed
10736           string.
10738         * bignum.c (rb_cstr2inum): prints invalid strings in inspect()'ed
10739           format.
10741         * object.c (rb_Float): ditto.
10743 Wed Dec 26 02:41:29 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10745         * object.c (rb_convert_type): no longer use rb_rescue().
10747 Tue Dec 25 18:32:16 2001  K.Kosako  <kosako@sofnec.co.jp>
10749         * re.c (rb_reg_search): initialize taint status of match object.
10751 Tue Dec 25 02:37:49 2001  Tanaka Akira  <akr@m17n.org>
10753         * lib/pp.rb, lib/prettyprint.rb: new files.
10755 Tue Dec 25 02:11:17 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10757         * object.c (rb_convert_type): check method response check before
10758           invoking rb_rescue().
10760         * object.c (rb_check_convert_type): ditto.
10762 Mon Dec 24 02:37:40 2001  Le Wang  <lewang@bigfoot.com>
10764         * misc/ruby-mode.el (ruby-font-lock-syntactic-keywords):
10765           fix font-lock problem [ruby-talk:29296].
10767 Sat Dec 22 22:52:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10769         * time.c (time_timeval): wrong cast to time_t.
10771         * time.c (time_plus): ditto.
10773 Fri Dec 21 20:33:34 2001  K.Kosako  <kosako@sofnec.co.jp>
10775         * parse.y (str_extend): make up "#$;" handling.
10777 Fri Dec 21 16:18:17 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10779         * dln.h, ruby.h, util.h: enable prototypes in C++.
10781 Fri Dec 21 15:12:41 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10783         * time.c (time_plus): result should not be negative unless
10784           NEGATIVE_TIME_T is defined.
10786         * time.c (time_new_internal): should check tv_sec overflow too.
10788         * time.c (time_timeval): should check time_t range when time is
10789           initialized from float.
10791         * time.c (time_plus): uses modf(3).
10793 Fri Dec 21 03:15:52 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10795         * eval.c (rb_mod_define_method): must not convert Method to Proc.
10797 Fri Dec 21 01:17:57 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10799         * lib/mkmf.rb (with_destdir): new.
10801         * lib/mkmf.rb: prefix target directories with $(DESTDIR) all.
10803         * lib/mkmf.rb: no need to mkdir $(libdir)
10805 Thu Dec 20 14:08:20 2001  Minero Aoki  <aamine@loveruby.net>
10807         * lib/net/protocol.rb: rename Net::Socket to Net::BufferedSocket
10809 Thu Dec 20 13:51:52 2001  K.Kosako  <kosako@sofnec.co.jp>
10811         * variable.c (rb_cvar_set): add frozen class/module check.
10813         * variable.c (rb_cvar_declare): add frozen class/module check.
10815 Thu Dec 20 01:01:50 2001  takuma ozawa  <metal@mine.ne.jp>
10817         * re.c (match_to_a): should propagate taint.
10819         * re.c (rb_reg_s_quote): ditto.
10821 Wed Dec 19 16:58:29 2001  Shugo Maeda  <shugo@ruby-lang.org>
10823         * ext/readline/readline.c: new methods
10824           Readline::basic_word_break_characters,
10825           Readline::basic_word_break_characters=,
10826           Readline::completer_word_break_characters,
10827           Readline::completer_word_break_characters=,
10828           Readline::basic_quote_characters,
10829           Readline::basic_quote_characters=,
10830           Readline::completer_quote_characters,
10831           Readline::completer_quote_characters=,
10832           Readline::filename_quote_characters,
10833           Readline::filename_quote_characters=.
10835 Wed Dec 19 14:05:00 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10837         * eval.c (rb_mod_define_method): define_method should follow
10838           default method visibility.
10840         * eval.c (rb_attr): should warn if the default method visibility
10841           is "module_function" (can be error).
10843         * eval.c (rb_mod_define_method): should define class/module method
10844           also if the visibility is "module_function".
10846         * eval.c (rb_mod_define_method): should call hook method
10847           "method_added", and "singleton_method_added".
10849 Wed Dec 19 11:42:13 2001  K.Kosako  <kosako@sofnec.co.jp>
10851         * string.c: use RESIZE_CAPA for capacity change.
10853 Wed Dec 19 03:08:40 2001  Tanaka Akira  <akr@m17n.org>
10855         * lib/time.rb: date.rb is not required anymore.
10857         * lib/resolv.rb: fix document.  refine IPv6 regex.
10859 Tue Dec 18 23:24:53 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10861         * ext/socket/socket.c (Init_socket): add listen method to
10862           TCPServer and UNIXServer.
10864 Tue Dec 18 17:54:53 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
10866         * sample/test.rb: Hash#indexes -> Hash#select.
10868 Tue Dec 18 01:02:13 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10870         * eval.c (rb_thread_schedule): should not select a thread which is
10871           not yet initialized.
10873 Mon Dec 17 18:53:49 2001  K.Kosako  <kosako@sofnec.co.jp>
10875         * string.c (rb_str_replace): swap arguments of OBJ_INFECT.
10877 Mon Dec 17 16:52:20 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10879         * intern.h: add prototypes.
10880           rb_gc_enable(), rb_gc_disable(), rb_gc_start(), rb_str_new5()
10881           rb_str_buf_append(), rb_str_buf_cat(), rb_str_buf_cat2(),
10882           rb_str_dup_frozen()
10884         * ruby.h: added declaration.
10885           rb_defout, rb_stdin, rb_stdout, rb_stderr, ruby_errinfo
10887         * rubyio.h: changed double include guard macro to RUBYIO_H.
10889         * array.c (inspect_call): make static.
10891         * eval.c (dvar_asgn): ditto.
10893         * io.c (rb_io_close_read): ditto.
10895         * lex.c (rb_reserved_word): ditto.
10897         * ruby.c: (req_list_head, req_list_last): ditto.
10899         * ruby.c (require_libraries): ditto.
10901 Mon Dec 17 15:41:24 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10903         * time.c (time_plus): wrong boundary check.
10905         * time.c (time_minus): ditto.
10907 Mon Dec 17 15:19:32 2001  Tanaka Akira  <akr@m17n.org>
10909         * time.c: new method `gmtoff', `gmt_offset' and `utc_offset'.
10910           (time_utc_offset): new function.
10911           (Init_Time): bind above methods to `time_utc_offset'.
10913         * time.c: 64bit time_t support.
10914           (time_s_at): use NUM2LONG instead of NUM2INT for tv_sec.
10915           (time_arg): initialize tm_isdst correctly.
10916           use long to initialize tm_year.
10917           (search_time_t): renamed from `make_time_t'.
10918           (make_time_t): call `timegm' and `mktime' instead of `search_time_t'
10919           if available.
10920           (time_to_i): use LONG2NUM instead of INT2NUM.
10921           (time_localtime): check localtime failure.
10922           (time_gmtime): check gmtime failure.
10923           (time_year): use LONG2NUM instead of INT2FIX.
10924           (time_to_a): use long for tm_year.
10925           (time_dump): check tm_year which is not representable with 17bit.
10926           (time_load): initialize tm_isdst.
10928         * configure.in: check existence of `mktime' and `timegm'.
10929           check existence of tm_gmtoff field of struct tm.
10930           fix negative time_t for 64bit time_t.
10932         * missing/strftime.c: fix overflow by tm_year + 1900.
10934         * lib/time.rb: use Time#utc_offset.
10936 Mon Dec 17 00:02:04 2001  Guy Decoux  <ts@moulon.inra.fr>
10938         * variable.c (find_class_path): should initialize iv_tbl if it's
10939           NULL.
10941 Fri Dec 14 04:23:36 2001  Minero Aoki  <aamine@loveruby.net>
10943         * lib/net/pop.rb: new method Net::POP3.APOP
10945         * lib/net/http.rb: set default Content-Type to
10946           x-www-form-urlencoded (causes warning)
10948         * lib/net/protocol.rb: remove Net::NetPrivate module.
10950         * lib/net/smtp.rb: ditto.
10952         * lib/net/pop.rb: ditto.
10954         * lib/net/http.rb: ditto.
10956 Fri Dec 14 00:16:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10958         * class.c (rb_define_class): should return the existing class if
10959           the class is already defined and its superclass is identical to
10960           the specified superclass.
10962         * class.c (rb_define_class_under): ditto.
10964         * class.c (rb_define_module): should return the existing module if
10965           the module is already defined.
10967 Thu Dec 13 09:52:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10969         * time.c (time_new_internal): avoid loop to calculate negative
10970           div, mod.
10972         * time.c (time_cmp): should handle Bignums.
10974 Tue Dec 11 17:39:16 2001  K.Kosako  <kosako@sofnec.co.jp>
10976         * array.c (rb_ary_pop): should ELTS_SHARED flag check before
10977           REALLOC.
10979 Tue Dec 11 12:45:28 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10981         * string.c (rb_str_match_m): should convert an argument into
10982           regexp if it's a string.
10984 Tue Dec 11 03:40:23 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
10986         * array.c (rb_ary_select): Array#select(n,m,...) now works like
10987           Array#indexes(n,m,..). [new, experimental]
10989         * hash.c (rb_hash_select): ditto.
10991         * hash.c (env_select): ditto.
10993         * re.c (match_select): ditto.
10995         * struct.c (rb_struct_select): ditto.
10997 Tue Dec 11 03:17:19 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
10999         * object.c (rb_class_real): follow included modules.
11001 Mon Dec 10 23:37:51 2001  Usaku Nakamura  <usa@ruby-lang.org>
11003         * util.h: change prototype of ruby_qsort() to accord with its
11004           definition.
11006 Mon Dec 10 20:30:01 2001  K.Kosako  <kosako@sofnec.co.jp>
11008         * gc.c (STR_ASSOC): use FL_USER3 instead of FL_USER2.
11010 Mon Dec 10 17:40:02 2001  K.Kosako  <kosako@sofnec.co.jp>
11012         * parse.y (str_extend): make up pushback call.
11014 Mon Dec 10 02:09:28 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11016         * array.c (rb_ary_modify): should copy the internal buffer if the
11017           modifying buffer is shared.
11019         * array.c (ary_make_shared): make an internal buffer of an array
11020           to be shared.
11022         * array.c (rb_ary_shift): avoid sliding an internal buffer by
11023           using shared buffer.
11025         * array.c (rb_ary_subseq): avoid copying the buffer.
11027 Mon Dec 10 01:06:56 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11029         * parse.y (gettable): should freeze __FILE__ string.
11031 Sun Dec  9 18:06:26 2001  Minero Aoki  <aamine@loveruby.net>
11033         * lib/net/protocol.rb: calls on_connect before conn_command
11035 Sat Dec  8 23:27:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11037         * io.c (rb_io_puts): old behavior restored.  rationale: a) if you
11038           want to call to_s for arrays, you can just call print a, "\n".
11039           b) to_s wastes memory if array (and sum of its contents) is
11040           huge.  c) now any object that has to_ary is treated as an array,
11041           using rb_check_convert_type().
11043 Sat Dec  8 22:40:38 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11045         * hash.c (rb_hash_initialize): now accepts a block to calculate
11046           the default value. [new]
11048         * hash.c (rb_hash_aref): call "default" method to get the value
11049           corresponding to the non existing key.
11051         * hash.c (rb_hash_default): get the default value based on the
11052           block given to 'new'.  Now it takes an optional "key" argument.
11053           "default" became the method to get the value for non existing
11054           key.  Users may override "default" method to change the hash
11055           behavior.
11057         * hash.c (rb_hash_set_default): clear the flag if a block is given
11058           to 'new'
11060 Sat Dec  8 02:29:54 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11062         * object.c (Init_Object): undef Data.allocate, left Data.new.
11064 Fri Dec  7 19:12:14 2001  Minero Aoki  <aamine@loveruby.net>
11066         * lib/net/smtp.rb: SMTP.new requires at least one arg.
11068         * lib/net/pop.rb: POP.new requires at least one arg.
11070         * lib/net/pop.rb: uses "raise *Error.new" instead of simple raise.
11072         * lib/net/http.rb: HTTP.new requires at least one arg.
11074         * lib/net/http.rb: changes implicit start algorithm.
11076 Fri Dec  7 15:49:39 2001  Usaku Nakamura <usa@ruby-lang.org>
11078         * ext/extmk.rb.in: ignore adding -Wl,-R to DLDFLAGS when the directory
11079           is $topdir.
11081 Fri Dec  7 13:58:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11083         * ext/curses/curses.c (window_scrollok): use RTEST().
11085         * ext/curses/curses.c (window_idlok): ditto.
11087         * ext/curses/curses.c (window_keypad): ditto.
11089         * ext/curses/curses.c (window_idlok): idlok() may return void on
11090           some platforms; so don't use return value.
11092         * ext/curses/curses.c (window_scrollok): ditto for consistency.
11094         * ext/curses/curses.c: replace FIX2INT() by typechecking NUM2INT().
11096 Fri Dec  7 09:51:00 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11098         * parse.y (str_extend): should not process immature #$x and
11099           #@x interpolation, e.g #@#@ etc.
11101 Fri Dec  7 03:21:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11103         * enum.c (enum_sort_by): sort_by does not have to be stable always.
11105         * enum.c (enum_sort_by): call qsort directly to gain performance.
11107 Thu Dec  6 18:52:28 2001  Usaku Nakamura  <usa@ruby-lang.org>
11109         * ext/extmk.rb.in: add -Wl,-R flags to DLDFLAGS on netbsdelf.
11111         * lib/mkmf.rb: ditto.
11113 Thu Dec  6 09:15:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11115         * util.c (ruby_qsort): ruby_qsort(qs6) is now native thread safe.
11117         * error.c (rb_sys_fail): it must be a bug if it's called when
11118           errno == 0.
11120 Wed Dec  5 23:36:56 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11122         * regex.c (WC2MBC1ST): should not pass through > 0x80 number in UTF-8.
11124 Wed Dec  5 20:05:18 2001  Florian Frank  <flori@ping.de>
11126         * ext/socket/socket.c (bsock_send): should raise EWOULDBLOCK
11127           exception.
11129         * ext/socket/socket.c (s_recvfrom): ditto.
11131         * ext/socket/socket.c (s_accept): ditto.
11133         * ext/socket/socket.c (udp_send): ditto.
11135 Tue Dec  4 17:43:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11137         * ruby.h (DUPSETUP): new SETUP macro for duplication.
11139         * time.c (time_dup): implement in Time class using DUPSETUP.
11141         * time.c (time_getlocaltime): new method;  probably requires
11142           better name than getlocaltime. [new,experimental]
11144         * time.c (time_getgmtime): ditto.
11146         * array.c (rb_ary_dup): uses DUPSETUP.
11148         * string.c (rb_str_dup): uses DUPSETUP.  now properly copies
11149           instance variables too.
11151 Tue Dec  4 03:49:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11153         * io.c (io_fread): EAGAIN/EWOULDBLOCK should not terminate and
11154           throw away the input.
11156         * time.c (time_new_internal): underflow adjustment must not use
11157           negative div/mod.
11159         * time.c (time_cmp): should consider tv_usec on non Fixnum number
11160           comparison.
11161 Sun Dec  9 23:00:54 2001  Keiju Ishitsuka <keiju@ishitsuka.com>
11162         * matrix.rb: Vector#* bug. reported from Massimiliano Mirra
11163           <info@chromatic-harp.com>.
11165 Sun Dec  9 22:15:59 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11167         * enum.c (enum_sort_by): should replace with last elements.
11169 Mon Dec  3 16:06:57 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11171         * ext/socket/extconf.rb: remove -L/usr/local/lib.
11173         * configure.in: add -Wl,-export-dynamic on NetBSD.
11175 Mon Dec  3 16:04:16 2001  Usaku Nakamura <usa@ruby-lang.org>
11177         * configure.in: not use X11BASE, since it's not always set.
11179 Mon Dec  3 13:53:49 2001  Tanaka Akira  <akr@m17n.org>
11181         * time.c (rb_strftime): buffer length condition was wrong.
11183         * time.c (time_strftime): should backup buf to the original
11184           buffer.
11186 Mon Dec  3 09:59:08 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11188         * time.c (time_plus): must detect result overflow.
11190         * time.c (time_minus): ditto.
11192         * time.c (time_new_internal): round usec overflow and underflow
11193           here.
11195         * time.c (time_plus): move operand overflow/underflow check to
11196           time_new_internal().
11198         * time.c (time_minus): ditto.
11200         * time.c (time_cmp): should consider tv_usec too.
11202 Mon Dec  3 03:32:22 2001  Usaku Nakamura  <usa@ruby-lang.org>
11204         * configure.in: apply patch from NetBSD's pkgsrc (patch-aa).
11206 Sun Dec  2 22:01:52 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11208         * configure.in: use GCC, not without_gcc. remove without_gcc.
11210         * ext/curses/extconf.rb: check for curses.h.
11212         * ext/dbm/extconf.rb: check if $CFLAGS includes DBM_HDR.
11214 Sat Dec  1 12:13:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11216         * time.c (time_gmtime): time_modify() should be called even if tm
11217           struct is not calculated yet.
11219 Fri Nov 30 17:02:55 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11221         * configure.in: set target_cpu to i386 on cygwin and mingw32.
11223         * configure.in: default --enable-shared to yes on cygwin and mingw32.
11225 Fri Nov 30 00:25:28 2001  Usaku Nakamura  <usa@ruby-lang.org>
11227         * README.EXT: Appendix B is duplicated.
11229         * README.EXT.ja: ditto.
11231 Thu Nov 29 00:28:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11233         * string.c (rb_str_equal): object with to_str must be treated as a
11234           string.
11236 Wed Nov 28 18:46:28 2001  Ville Mattila  <mulperi@iki.fi>
11238         * eval.c (rb_thread_select): should subtract timeofday() from
11239           limit, not reverse.
11241 Wed Nov 28 16:03:28 2001  K.Kosako  <kosako@sofnec.co.jp>
11243         * util.c (scan_hex): x is not a hexadecimal digit.
11245 Wed Nov 28 13:38:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11247         * eval.c (rb_thread_schedule): should treat the case that
11248           select(2) returns 0, if a thread is under both WAIT_SELECT and
11249           WAIT_TIME.  Jakub Travnik <J.Travnik@sh.cvut.cz> actually fixed
11250           this bug.
11252 Tue Nov 27 02:15:25 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11254         * marshal.c (w_float): must distinguish -0.0 from 0.0.
11256 Mon Nov 26 20:57:24 2001  Akinori MUSHA  <knu@iDaemons.org>
11258         * ext/Setup*, ext/syslog/*: import the "syslog" module from the
11259           rough ruby project.
11261 Mon Nov 26 16:14:42 2001  K.Kosako  <kosako@sofnec.co.jp>
11263         * gc.c (gc_mark_all): tweak mark order for little bit better scan.
11265         * gc.c (rb_gc_mark): ditto.
11267         * gc.c (rb_gc): ditto.
11269 Mon Nov 26 16:54:59 2001  Usaku Nakamura <usa@ruby-lang.org>
11271         * win32/win32.c (mypopen): fixed that mypclose() didn't really close
11272           pipe.
11274         * win32/win32.c (CreateChild): set STARTF_USESTDHANDLES flag only
11275           when some handles are passed.
11277 Mon Nov 26 16:31:28 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11279         * enum.c (sort_by_i): slight performance boost.
11281 Sun Nov 25 21:02:18 2001  Usaku Nakamura  <usa@ruby-lang.org>
11283         * parse.y (str_extend): change types of second and third arguments
11284           from char to int.
11286 Thu Nov 22 20:15:28 2001  TAMURA Takashi  <sheepman@tcn.zaq.ne.jp>
11288         * gc.c (gc_mark_rest): should call gc_mark_children(), not gc_mark().
11290         * gc.c (rb_gc_mark): may cause infinite loop.
11292 Thu Nov 22 00:28:13 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11294         * parse.y (str_extend): should check nesting parentheses in #{}.
11296 Wed Nov 21 12:22:52 2001  Shugo Maeda  <shugo@ruby-lang.org>
11298         * lib/cgi.rb: CGI#header: do not set Apache.request.status for
11299           Location: if Apache.request.status is already set.
11301 Wed Nov 21 02:24:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11303         * process.c (pst_wstopsig): returns nil unless WIFSTOPPED() is
11304           non-zero.
11306         * process.c (pst_wtermsig): returns nil unless WIFSIGNALED() is
11307           non-zero.
11309         * process.c (pst_wexitstatus): returns nil unless WIFEXITED() is
11310           non-zero.
11312 Wed Nov 21 00:17:54 2001  Ville Mattila  <mulperi@iki.fi>
11314         * eval.c (rb_thread_select): tv_sec and tv_usec should not be
11315           negative.
11317         * signal.c (posix_signal): do not set SA_RESTART for SIGVTALRM.
11319 Tue Nov 20 21:09:22 2001  Guy Decoux  <ts@moulon.inra.fr>
11321         * parse.y (call_args2): block_arg may follow the first argument in
11322           call_args2.
11324 Tue Nov 20 02:01:15 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11326         * eval.c (stack_check): should avoid stack length check during
11327           raising SystemStackError exception.
11329 Tue Nov 20 01:07:13 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11331         * parse.y (str_extend): should not terminate string interpolation
11332           with newlines in here-docs and newline terminated strings.
11334 Mon Nov 19 17:58:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11336         * eval.c (rb_mod_modfunc): should follow NODE_ZSUPER link; based
11337           on Guy Decoux's patch in [ruby-talk:25478].
11339 Mon Nov 19 16:09:33 2001  Tanaka Akira  <akr@m17n.org>
11341         * string.c (rb_str_succ): there was buffer overrun.
11343 Mon Nov 19 14:14:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11345         * parse.y (str_extend): term can be any character.
11347 Mon Nov 19 04:58:42 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
11349         * lib/cgi.rb (header): support for Apache. thanks to
11350           Shugo Maeda <shugo@ruby-lang.org>.
11352 Sun Nov 18 19:37:55 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11354         * parse.y: needless conditionals.
11356         * parse.y (parse_regx): parse error at unterminated regex /#{.
11357           (ruby-bugs-ja:PR#142)
11359 Sat Nov 17 12:37:39 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11361         * pack.c (pack_unpack): should give length to utf8_to_uv().
11363         * pack.c (utf8_to_uv): add length check.
11365 Sat Nov 17 01:41:52 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11367         * massages: replace "wrong #" by "wrong number".
11369         * marshal.c (w_float): output Infinity and NaN explicitly.
11371         * marshal.c (r_object): support new explicit float format.
11373         * eval.c (rb_thread_wait_for): select may cause ERESTART on
11374           Solaris.
11376         * eval.c (rb_thread_select): ditto.
11378 Thu Nov 15 15:29:39 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11380         * array.c (rb_ary_join): non-nil separator must be converted to
11381           String.  and separators' total length was wrong.
11383 Thu Nov 15 03:37:17 2001  Usaku Nakamura  <usa@ruby-lang.org>
11385         * hash.c (ruby_setenv): remove USE_WIN32_RTL_ENV block since it's
11386           obsoleted.
11388         * win32/win32.c, win32/win32.h: sort out #if 0 - #endif or others.
11390 Thu Nov 15 00:07:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11392         * array.c (rb_ary_to_s): if rb_output_fs is nil, insert newlines
11393           between array elements (use rb_default_rs as newline literal)
11394           [experimental].
11396 Wed Nov 14 15:16:23 2001  K.Kosako  <kosako@sofnec.co.jp>
11398         * gc.c (init_mark_stack): no need to clear mark_stack.
11400         * gc.c (gc_mark_all): need to handle finalizer mark.
11402         * gc.c (gc_mark_rest): use MEMCPY instead of memcpy.
11404         * gc.c (rb_gc_mark): earlier const check to avoid pusing special
11405           constants into mark stack.
11407 Wed Nov 14 01:12:07 2001  Usaku Nakamura  <usa@ruby-lang.org>
11409         * win32/win32.c (waitpid): fix wait count.
11411         * win32/win32.c (poll_child_status): rename from wait_child().
11413 Wed Nov 14 01:33:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11415         * numeric.c (fix_to_s): 'to_s' now takes optional argument to
11416           specify radix. [new]
11418         * bignum.c (rb_big_to_s): ditto. [new]
11420 Tue Nov 13 19:50:30 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11422         * configure.in: do not override CC if set.
11424 Tue Nov 13 16:49:16 2001  Usaku Nakamura <usa@ruby-lang.org>
11426         * win32/win32.c (mypopen): return error status instead of calling
11427           rb_sys_fail().
11429         * win32/win32.c (do_spawn): ditto.
11431 Tue Nov 13 14:39:11 2001  WATANABE Tetsuya  <tetsu@jpn.hp.com>
11433         * signal.c (sighandle): should not re-register sighandler if
11434           POSIX_SIGNAL is defined.
11436 Tue Nov 13 12:55:59 2001  Usaku Nakamura <usa@ruby-lang.org>
11438         * win32/win32.c (do_spawn): use CreateChild() instead of calling
11439           CreateProcess() directly. Original patches comes from Patrick Cheng.
11441         * win32/win32.c (mypopen): ditto.
11443         * win32/win32.c (mypclose): use rb_syswait() instead of waiting in this
11444           function.
11446         * win32/win32.c (waitpid): use wait_child() instead of _cwait().
11448         * win32/win32.c (CreateChild): added. [new]
11450         * win32/win32.c (wait_child): added. [new]
11452         * win32/win32.c (FindFirstChildSlot): added. [new]
11454         * win32/win32.c (FindChildSlot): added. [new]
11456         * win32/win32.c (FindPipedChildSlot): added. [new]
11458         * win32/win32.c (CloseChildHandle): added. [new]
11460         * win32/win32.c (FindFreeChildSlot): added. [new]
11462 Tue Nov 13 12:38:12 2001  Usaku Nakamura <usa@ruby-lang.org>
11464         * hash.c (envix): use GET_ENVIRON and FREE_ENVIRON to get environment
11465           variables list.
11467         * hash.c (env_keys): ditto.
11469         * hash.c (env_each_key): ditto.
11471         * hash.c (env_values): ditto.
11473         * hash.c (env_keys): ditto.
11475         * hash.c (env_each_value): ditto.
11477         * hash.c (env_each): ditto.
11479         * hash.c (env_inspect): ditto.
11481         * hash.c (env_to_a): ditto.
11483         * hash.c (env_size): ditto.
11485         * hash.c (env_empty_p): ditto.
11487         * hash.c (env_has_value): ditto.
11489         * hash.c (env_index): ditto.
11491         * hash.c (env_to_hash): ditto.
11493         * win32/win32.c (win32_getenv): use static buffer.
11495         * win32/win32.c, win32/win32.h (win32_get_environ): get environment
11496           variables list. [new]
11498         * win32/win32.c, win32/win32.h (win32_free_environ): free environment
11499           variables list. [new]
11501 Mon Nov 12 16:48:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11503         * eval.c (error_print): errat array may be empty.
11505 Mon Nov 12 01:30:37 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11507         * eval.c (rb_eval_cmd): should not upgrade safe level unless
11508           explicitly specified by argument newly added.
11510         * signal.c (sig_trap): should not allow tainted trap closure.
11512         * variable.c (rb_f_trace_var): should not allow trace_var on safe
11513           level higher than 3.
11515         * variable.c (rb_f_trace_var): should not allow tainted trace
11516           closure.
11518 Sun Nov 11 00:12:23 2001  TAMURA Takashi  <sheepman@tcn.zaq.ne.jp>
11520         * gc.c: do not use static stack until system stack overflows.
11522 Sat Nov 10 03:57:09 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11524         * eval.c (eval): should call Exception#exception instead of
11525           calling rb_exc_new3() directly.
11527         * error.c (exc_exception): set "mesg" directly to the clone.  it
11528           might be better to set mesg via some method for flexibility.
11530 Sat Nov 10 00:14:24 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11532         * variable.c (cvar_override_check): should print original module
11533           name, if 'a' is T_ICLASS.
11535         * parse.y (yylex): float '1_.0' should not be allowed.
11537         * variable.c (var_getter): should care about var as Qfalse
11538           (ruby-bugs#PR199).
11540 Fri Nov  9 13:50:06 2001  Usaku Nakamura <usa@ruby-lang.org>
11542         * win32/config.status.in: make CFLAGS same as Makefile's one.
11544 Thu Nov  8 20:20:37 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11546         * eval.c (rb_trap_eval): avoid annoying warning with signal.
11547           [ruby-talk:23225]
11549         * eval.c (rb_call0): adjust caller source file/line while
11550           evaluating optional arguments.
11552 Thu Nov  8 18:41:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11554         * array.c (cmpint): <=> or block for {min,max} may return bignum.
11556         * array.c (sort_1): use rb_compint.
11558         * array.c (sort_2): ditto.
11560         * enum.c (min_ii): ditto.
11562         * enum.c (min_ii): ditto.
11564         * enum.c (max_i): ditto.
11566         * enum.c (max_ii): ditto.
11568 Thu Nov  8 18:21:02 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11570         * file.c (path_check_1): forgot to initialize 'p'.
11572 Thu Nov  8 14:52:15 2001  Tanaka Akira  <akr@m17n.org>
11574         * mkconfig.rb: use String#dump to generate Ruby string literal.
11576 Thu Nov  8 15:46:54 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11578         * range.c (range_eql): should override 'eql?'
11580         * array.c (rb_ary_hash): should override 'hash' too.
11582 Tue Nov  6 14:38:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11584         * process.c (security): always give warning for insecure PATH.
11586         * dir.c (my_getcwd): do not rely on MAXPATHLEN.
11588         * file.c (rb_file_s_readlink): ditto.
11590         * file.c (path_check_1): ditto.
11592 Tue Nov  6 14:17:14 2001  Amos Gouaux <amos+ruby@utdallas.edu>
11594         * lib/net/imap.rb (getquota_response): use astring for mailbox
11595           names.
11597         * lib/net/imap.rb (getacl_response): ditto.
11599 Mon Nov  5 17:09:55 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11601         * eval.c (rb_yield_0): should not call rb_f_block_given_p().
11603 Sat Nov  3 23:33:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11605         * string.c (rb_str_chomp_bang): should terminate string by NUL.
11607 Sat Nov  3 22:28:51 2001  Keiju Ishitsuka <keiju@ishitsuka.com>
11609         * matrix.rb (Matrix#column_vectors, Matrix#row_vectors): ditto bug.
11610           this bug report and fix by tsutomu@nucba.ac.jp.
11612         * forwardable.rb: change raise to Kernel::raise
11614 Sat Nov  3 10:11:57 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11616         * eval.c (rb_yield_0): better error message.
11618 Thu Nov  1 14:08:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11620         * bignum.c (rb_big_aref): idx may be a Bignum.
11622         * numeric.c (fix_aref): negative index must return zero.
11624 Thu Nov  1 13:23:50 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11626         * gc.c (gc_mark_children): should NOT treat last element of
11627           structs and arrays specially.
11629 Wed Oct 31 16:59:25 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11631         * eval.c (exec_under): should initialize ruby_frame->self;
11633 Wed Oct 31 15:09:28 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11635         * eval.c (POP_VARS): should not set DVAR_DONT_RECYCLE if _old
11636           ruby_vars is already force_recycled.
11638 Wed Oct 31 10:28:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11640         * gc.c (rb_gc): handles mark stack overflow.
11642         * gc.c (PUSH_MARK): use static mark stack, no more recursion.
11644 Wed Oct 31 02:44:06 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
11646         * lib/cgi.rb: CGI::Cookie::parse(): Ignore duplicate keys caused by
11647           Netscape bug.
11649 Tue Oct 30 18:21:51 2001  Usaku Nakamura <usa@ruby-lang.org>
11651         * win32/mkexports.rb: follow the change of rb_io_puts().
11653 Tue Oct 30 14:04:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11655         * string.c (rb_str_chomp_bang): do smart chomp if $/ == '\n'. [new]
11657         * io.c (rb_io_puts): don't treat Array specially.
11659         * bignum.c (rb_big_cmp): should convert bignum to float.
11661         * eval.c (rb_f_eval): can't modify untainted binding.
11663 Mon Oct 29 16:08:30 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11665         * regex.c (re_compile_pattern): should preserve p0 value.
11667 Mon Oct 29 14:56:44 2001  Usaku Nakamura <usa@ruby-lang.org>
11669         * intern.h (rb_protect_inspect): follow the change of array.c.
11671         * eval.c (rb_exec_end_proc): follow the change of rb_protect().
11673         * eval.c (method_proc, umethod_proc, rb_catch): cast the first
11674           parameter of rb_iterate() to avoid VC++ warning.
11676         * range.c (range_step): ditto.
11678         * ext/sdbm/init.c (fsdbm_update, fsdbm_replace): ditto.
11680 Mon Oct 29 07:57:31 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11682         * parse.y (str_extend): should allow interpolation of $-x.
11684         * variable.c (rb_cvar_set): empty iv_tbl may cause infinite loop.
11686         * variable.c (rb_cvar_get): ditto.
11688         * variable.c (cvar_override_check): ditto.
11690 Sat Oct 27 23:01:19 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11692         * bignum.c (rb_big_eq): convert Bignum to Float, instead of
11693           reverse.
11695 Fri Oct 26 06:19:29 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11697         * time.c (time_localtime): getting tm should not be prohibited for
11698           frozen time objects.
11700         * time.c (time_gmtime): ditto.
11702         * version.c (Init_version): freeze RUBY_VERSION,
11703           RUBY_RELEASE_DATE, and RUBY_PLATFORM.
11705         * file.c (Init_File): freeze File::SEPARATOR, ALT_SEPARATOR and
11706           PATH_SEPARATOR.
11708         * file.c (rb_stat_cmp): should check operand type before calling
11709           get_stat().
11711 Thu Oct 25 10:28:15 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11713         * eval.c (rb_eval_cmd): should not invoke "call" with a block on
11714           any occasion.
11716 Wed Oct 24 03:25:31 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11718         * numeric.c (fix_aref): idx may be a Bignum.
11720 Tue Oct 23 01:21:19 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11722         * eval.c (proc_invoke): fix self switching in Proc#call
11723           (ruby-bugs-ja#PR108) and GC failure.  use Qundef instead of 0
11724           to direct not switching self.
11726         * eval.c (call_trace_func): ditto.
11728         * eval.c (call_end_proc): ditto.
11730         * eval.c (proc_call): ditto.
11732         * eval.c (proc_yield): ditto.
11734 Tue Oct 23 01:15:43 2001  K.Kosako  <kosako@sofnec.co.jp>
11736         * variable.c (rb_global_entry): reconstruct global variable
11737           aliasing (sharing global_entry->var with other global_entry).
11739         * variable.c (undef_getter): ditto.
11741         * variable.c (undef_setter): ditto.
11743         * variable.c (val_setter): ditto.
11745         * variable.c (mark_global_entry): ditto.
11747         * variable.c (rb_define_hooked_variable): ditto.
11749         * variable.c (rb_f_trace_var): ditto.
11751         * variable.c (remove_trace): ditto.
11753         * variable.c (rb_f_untrace_var): ditto.
11755         * variable.c (rb_gvar_get): ditto.
11757         * variable.c (trace_en): ditto.
11759         * variable.c (rb_gvar_set): ditto.
11761         * variable.c (rb_gvar_defined): ditto.
11763         * variable.c (rb_alias_variable): ditto.
11765 Mon Oct 22 18:53:55 2001  Masahiro Tanaka  <masa@stars.gsfc.nasa.gov>
11767         * numeric.c (num_remainder): a bug in Numeric#remainder.
11769 Mon Oct 22 15:21:55 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11771         * eval.c (rb_exec_end_proc): END might be called within END
11772           block.
11774         * class.c (rb_mod_clone): should not copy class name, since clone
11775           should remain anonymous.
11777 Fri Oct 19 23:40:37 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11779         * variable.c (remove_trace): should not access already freed area.
11781         * variable.c (rb_f_untrace_var): fix memory leak.
11783 Fri Oct 19 17:55:14 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11785         * marshal.c (w_uclass): cloned class is not user
11786           class. (ruby-bugs-ja#PR103)
11788         * marshal.c (r_object): Struct subclass couldn't
11789           load. (ruby-bugs-ja#PR104)
11791 Wed Oct 17 14:12:50 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11793         * variable.c (alias_fixup): added. ad hoc support for ordinary
11794           global variable aliasing. when original entry is set, make the
11795           alias to refer directly as possible.
11797         * variable.c (alias_getter, alias_setter): ditto.
11799         * variable.c (rb_alias_variable): ditto. and no need to mark alias
11800           variables.
11802         * variable.c (rb_gvar_defined): refer the original entry of an alias.
11804 Tue Oct 16 23:29:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11806         * eval.c (rb_call0): self in a block given to define_method now be
11807           switched to the receiver of the method.
11809         * eval.c (proc_invoke): added new parameter to allow self
11810           switching.
11812 Tue Oct 16 21:38:15 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11814         * eval.c (rb_f_missing): check stack level with rb_stack_check().
11816         * eval.c (rb_call0): ditto.
11818         * eval.c, intern.h (rb_stack_check): added. [new]
11820 Tue Oct 16 13:18:47 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11822         * object.c (rb_mod_initialize): optional block with
11823           Module.new. [new] (from 2001-10-10)
11825 Tue Oct 16 00:07:06 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11827         * parse.y (yylex): disallow alpha-numeric and mbchar for
11828           terminator of %string.
11830 Mon Oct 15 18:00:05 2001  Pit Capitain  <pit@capitain.de>
11832         * string.c (rb_str_index): wrong increment for non alphanumeric
11833           string.
11835 Mon Oct 15 05:23:02 2001  Koji Arai  <JCA02266@nifty.ne.jp>
11837         * sprintf.c (rb_f_sprintf): support "%B".
11839 Wed Oct 10 03:11:47 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11841         * file.c (rb_stat_clone): should copy internal data too.
11843         * numeric.c (num_clone): Numeric should not be copied by clone.
11845         * object.c (rb_obj_clone): should check immediate values.
11847         * parse.y (command): `yield' should take command_args.
11849         * parse.y (parse_quotedwords): %w(...) is not a string.
11851 Tue Oct  9 18:40:35 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11853         * process.c (Init_process): activate the case NT.
11855 Tue Oct  9 17:08:00 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11857         * eval.c (thread_status_name): separated from
11858           rb_thread_inspect(). return string expression for thread status.
11860         * eval.c (rb_thread_status, rb_thread_inspect): use
11861           thread_status_name().
11863         * eval.c (rb_thread_priority_set): return the priority not but
11864           self.
11866 Sat Oct  6 23:07:08 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11868         * eval.c (rb_eval): NODE_MATCH3 was confusing left and right. sigh.
11870 Fri Oct  5 15:19:46 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11872         * marshal.c (w_unique): should not dump anonymous class.
11874 Fri Oct  5 11:59:13 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11876         * eval.c (proc_s_new): revived.
11878         * eval.c (Init_Proc): define Proc.new instead of Proc.allocate to
11879           inhibit from creating uninitialized Proc.
11881 Thu Oct  4 14:11:03 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11883         * ext/socket/socket.c (ruby_connect): EALREADY is the equivalent
11884           for EINPROGRESS in ws2_32.lib.
11886 Wed Oct  3 20:11:06 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11888         * re.c (rb_reg_s_alloc): avoid infinite recursion.
11890 Wed Oct  3 16:49:49 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11892         * ext/gdbm/gdbm.c (rb_gdbm_fetch): str is a VALUE now.
11894 Wed Oct  3 13:32:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11896         * marshal.c (r_object): better allocation type check for
11897           TYPE_UCLASS. usage of allocation framework is disabled for now.
11899         * variable.c (rb_class_path): Module may have subclass.
11901         * string.c (rb_str_update): should maintain original negative
11902           offset.
11904         * string.c (rb_str_subpat_set): ditto
11906         * string.c (rb_str_aset): ditto.
11908         * re.c (rb_reg_nth_match): should check negative nth.
11910         * re.c (rb_reg_nth_defined): ditto.
11912 Tue Oct  2 19:12:47 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
11914         * lib/ftools.rb (catname): allow trailing '/' for the destination.
11916 Tue Oct  2 18:31:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11918         * eval.c (rb_eval): should override existing class.
11920 Tue Oct  2 17:08:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11922         * object.c (rb_obj_alloc): general instance allocation framework.
11923           use of NEWOBJ() is deprecated except within 'allocate' method.
11925 Tue Oct  2 08:04:52 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11927         * marshal.c (r_object): TYPE_UCLASS check should be inversed.
11929 Mon Oct  1 19:18:54 2001  Tanaka Akira  <akr@m17n.org>
11931         * ext/socket/socket.c (unix_addr): getsockname(2) may result len = 0.
11933         * ext/socket/socket.c (unix_peeraddr): getpeername(2) may result
11934           len = 0.
11936 Mon Oct  1 09:59:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11938         * string.c (rb_str_subpat_set): support function for new argument
11939           pattern String#[re,offset] = val. [new]
11941 Sat Sep 29 02:30:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11943         * eval.c (POP_BLOCK): rb_gc_force_recycle() was called too much.
11944           Should not be called if SCOPE_DONT_RECYCLE is set.
11946 Wed Sep 26 22:21:52 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11948         * string.c (rb_str_aref_m): new argument pattern
11949           String#[re,offset]. [new]
11951 Wed Sep 26 19:02:39 2001  Guy Decoux  <ts@moulon.inra.fr>
11953         * parse.y: allow 'primary[] = arg'
11955 Tue Sep 25 10:46:42 2001  Usaku Nakamura  <usa@ruby-lang.org>
11957         * win32/win32.c (isInternalCmd): check return value of NtMakeCmdVector
11958           (Tietew <tietew@tietew.net>'s patch).
11960 Mon Sep 24 00:55:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11962         * string.c (rb_str_substr): should return an instance of
11963           receiver's class.
11965         * string.c (rb_str_succ): ditto.
11967         * array.c (rb_ary_subseq): ditto.
11969         * array.c (rb_ary_initialize): Array.new([1,2,3]) => [1,2,3]. [new]
11971 Sat Sep 22 22:16:08 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11973         * string.c (rb_str_reverse): should return an instance of
11974           receiver's class.
11976         * string.c (rb_str_times): ditto.
11978         * array.c (rb_ary_times): ditto
11980         * string.c (str_gsub): ditto.
11982         * string.c (rb_str_ljust): ditto.
11984         * string.c (rb_str_rjust): ditto.
11986         * string.c (rb_str_center): ditto.
11988 Sat Sep 22 12:13:39 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
11990         * eval.c (eval): retrieves file, line information from binding.
11992 Thu Sep 20 21:25:00 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11994         * eval.c (MATCH_DATA): access via rb_svar().
11996 Thu Sep 20 15:20:00 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
11998         * eval.c, intern.h (rb_svar): return reference to special variable
11999           from local variable index. [new]
12001         * eval.c (rb_eval): use rb_svar() for NODE_FLIP{2,3}.
12003         * parse.y (rb_(backref|lastline)_(get|set)): access via rb_svar().
12005         * eval.c (proc_invoke): push dynamic variables.
12007         * eval.c (rb_thread_yield): push special variables as dynamic
12008           variables($_, $~ and FLIP states).
12010 Thu Sep 20 15:20:00 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12012         * intern.h, parse.y (rb_is_local_id): return true if the ID is
12013           local symbol. [new]
12015         * parse.y (internal_id): make new ID for internal use. [new]
12017         * parse.y (cond0): allocate internal ID for NODE_FLIP{2,3}.
12019         * eval.c (rb_f_local_variables): use rb_is_local_id() to select
12020           visible local variables.
12022 Thu Sep 20 15:20:00 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12024         * eval.c (rb_thread_start_0): SCOPE_SHARED is removed.
12026         * eval.c, intern.h (rb_thread_scope_shared_p): removed. special
12027           variables are no longer shared by threads.
12029         * re.c (rb_reg_search): MATCHDATA is no longer shared by threads.
12031 Tue Sep 18 11:44:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12033         * string.c (rb_str_init): String.new() => "" [new]
12035 Tue Sep 11 20:53:56 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12037         * dir.c (dir_path): new method.
12039         * dir.c (dir_initialize): wrap DIR into struct, along with path
12040           information.
12042 Sat Sep  8 07:13:42 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
12044         * lib/net/telnet.rb: waitfor(): improvement. thanks to
12045           nobu.nakada@nifty.ne.jp
12047 Sat Sep  8 04:34:17 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12049         * eval.c (rb_thread_restore_context): save current value of
12050           lastline and lastmatch in the thread struct for later restore.
12052         * eval.c (rb_thread_save_context): restore lastline and lastmatch.
12054 Fri Sep  7 11:27:56 2001  akira yamada  <akira@ruby-lang.org>
12056         * numeric.c (flo_to_s): should handle negative float value.
12058 Fri Sep  7 09:44:44 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
12060         * lib/net/telnet.rb: waitfor(): bug fix.
12062 Fri Sep  7 07:11:34 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
12064         * lib/cgi.rb: CGI#doctype(): bug fix (html4Fr).
12066         * lib/net/telnet.rb, lib/cgi.rb: remove VERSION, RELEASE_DATE,
12067           VERSION_CODE, RELEASE_CODE. please use REVISION.
12069         * lib/cgi.rb: CGI#header(): bug fix.
12071         * lib/net/telnet.rb, lib/cgi.rb: concat --> +=
12073 Thu Sep  6 17:38:18 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12075         * dir.c (dir_s_chdir): raise if environment variable HOME/LOGDIR
12076           not set.
12078         * dir.c (glob_helper): avoid infinite loop on a file name with
12079           wildcard characters. (ruby-bugs#PR177)
12081 Thu Sep  6 14:25:15 2001  Akinori MUSHA  <knu@iDaemons.org>
12083         * ext/digest/digest.c (rb_digest_base_s_hexdigest): remove a debug
12084           print.
12086 Thu Sep  6 13:56:14 2001  Akinori MUSHA  <knu@iDaemons.org>
12088         * ext/digest/digest.c (rb_digest_base_s_digest,
12089           rb_digest_base_s_hexdigest): ensure that a string is given.
12091 Thu Sep  6 13:28:51 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12093         * lib/jcode.rb (_regexp_quote): fix quote handling, again.
12095 Thu Sep  6 07:28:56 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12097         * file.c (rb_find_file_ext): add const qualifiers to ext.
12099         * intern.h (rb_find_file_ext): ditto.
12101 Thu Sep  6 07:16:14 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12103         * ext/socket/socket.c (Init_socket): remove duplicating constants.
12105 Thu Sep  6 03:15:24 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12107         * class.c (rb_include_module): should check whole ancestors to
12108           avoid duplicate module inclusion.
12110 Wed Sep  5 20:02:27 2001  Shin'ya Adzumi  <adzumi@denpa.org>
12112         * string.c (trnext): should check backslash before updating "now"
12113           position.
12115 Wed Sep  5 17:41:11 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12117         * lib/jcode.rb (_regexp_quote): fix quote handling.
12119 Tue Sep  4 01:03:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12121         * re.c (Init_Regexp): to_s to be alias to inspect.
12123 Mon Sep  3 22:46:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12125         * parse.y (yylex): should support 'keyword='.
12127 Mon Sep  3 20:26:08 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12129         * intern.h (rb_find_file_ext): changed from rb_find_file_noext().
12131 Mon Sep  3 15:12:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12133         * ruby.c (proc_options): should not adjust argc/argv if -e option
12134           is supplied.
12136 Mon Sep  3 14:11:17 2001  Akinori MUSHA  <knu@iDaemons.org>
12138         * error.c: unbreak the build on *BSD with gcc 3.0.1 by removing
12139           the conflicting declaration of sys_nerr for *BSD.
12141 Sat Sep  1 18:50:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12143         * ruby.c (proc_options): should not alter origargv[].
12145         * ruby.c (set_arg0): long strings for $0 dumped core.
12147 Sat Sep  1 09:50:54 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12149         * ruby.c (set_arg0): prevent SEGV when val is longer than the
12150           original arguments.
12152         * ruby.c (ruby_process_options): initialize total length of
12153           original arguments at first.
12155 Sat Sep  1 14:05:28 2001  Brian F. Feldman  <green@FreeBSD.org>
12157         * ruby.c (set_arg0): use setprogtitle() if it's available.
12159 Sat Sep  1 03:49:11 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12161         * io.c (rb_io_popen): accept integer flags as mode.
12163 Fri Aug 31 19:46:05 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12165         * file.c (rb_find_file_ext): extension table can be supplied from
12166           outside.  renamed.
12168         * eval.c (rb_f_require): replace rb_find_file_noext by
12169           rb_find_file_ext.
12171 Fri Aug 31 19:26:55 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12173         * eval.c (rb_provided): should also check feature without
12174           extension.
12176 Fri Aug 31 13:06:33 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12178         * numeric.c (flo_to_s): do not rely on decimal point to be '.'
12180 Wed Aug 29 02:18:53 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12182         * parse.y (yylex): ternary ? can be followed by newline.
12184 Tue Aug 28 00:40:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12186         * eval.c (rb_f_require): should check static linked libraries
12187           before raising exception.
12189 Fri Aug 24 15:17:40 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12191         * array.c (rb_ary_equal): check identity equality first.
12193         * string.c (rb_str_equal): ditto.
12195         * struct.c (rb_struct_equal): ditto.
12197 Fri Aug 24 14:38:17 2001  Usaku Nakamura  <usa@ruby-lang.org>
12199         * dln.c (dln_strerror): fix a bug that sometimes made null message on
12200           win32 (Tietew <tietew@tietew.net>'s patch).
12202         * win32/win32.c (mystrerror): ditto.
12204 Fri Aug 24 03:15:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12206         * numeric.c (Init_Numeric): undef Integer::new.
12208 Fri Aug 24 00:46:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12210         * eval.c (rb_eval): NODE_WHILE should update result for each
12211           conditional evaluation.
12213         * eval.c (rb_eval): NODE_UNTIL should return last evaluated value
12214           (or value given to break).
12216 Thu Aug 23 21:59:38 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12218         * enum.c (sort_by_i): fix typo.
12220 Thu Aug 23 10:10:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12222         * eval.c (is_defined): should not dump core for "defined?(())".
12224         * eval.c (umethod_bind): recv can be an instance of descender of
12225           oklass if oklass is a Module.
12227 Wed Aug 22 23:20:03 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12229         * hash.c (rb_hash_equal): check identity equality first.
12231 Wed Aug 22 19:58:59 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12233         * eval.c (intersect_fds): counts intersecting fds.
12235         * eval.c (rb_thread_schedule): only fds requested by
12236           each thread count as select_value.
12238 Tue Aug 21 22:28:09 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12240         * file.c (group_member): should check real gid only.
12242         * file.c (eaccess): do not cache euid, since effective euid may be
12243           changed via Process.euid=().
12245         * file.c (eaccess): return -1 unless every specified access mode
12246           is permitted.
12248 Tue Aug 21 16:09:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12250         * eval.c (rb_eval): while/until returns the value which is given
12251           to break.
12253         * parse.y (value_expr): using while/until/class/def as an
12254           expression is now gives a warning, not an error.
12256 Tue Aug 21 11:56:02 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12258         * range.c (range_eqq): should compare strings based on magical
12259           increment (using String#upto), not dictionary order.
12261 Mon Aug 20 19:53:16 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12263         * ext/digest/sha2/extconf.rb: fix support for cross-compiling.
12265         * mkconfig.rb: fix support for autoconf 2.52.
12267 Mon Aug 20 17:24:15 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12269         * enum.c (enum_sort_by): new method for Schewartzian transformed
12270           stable sort.
12272 Mon Aug 20 16:09:05 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12274         * variable.c (mod_av_set): detect constant overriding for built-in
12275           classes/modules.
12277 Mon Aug 20 15:14:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12279         * parse.y (tokadd_escape): escaped backslashes too much.
12281 Mon Aug 20 13:24:08 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12283         * range.c (range_step): 'iter' here should be an array.
12285 Mon Aug 20 12:43:08 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12287         * marshal.c (w_object): should retrieve __member__ data from
12288           non-singleton class.
12290 Sat Aug 18 23:11:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12292         * variable.c (rb_cvar_get): class variable override check added.
12294         * variable.c (rb_cvar_set): ditto
12296         * variable.c (rb_cvar_declare): ditto.
12298 Fri Aug 17 12:13:48 2001  Minero Aoki  <aamine@loveruby.net>
12300         * lib/net/protocol.rb: Protocol.new requires at least one arg.
12302         * lib/net/smtp.rb: ditto.
12304         * lib/net/pop.rb: ditto.
12306         * lib/net/http.rb: ditto.
12308 Fri Aug 17 00:49:51 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12310         * parse.y (parse_regx): handle backslash escaping of delimiter here.
12312 Thu Aug 16 23:03:40 2001  Koji Arai  <JCA02266@nifty.ne.jp>
12314         * io.c: prevent recursive malloc calls on NEC UX/4800.
12316         * ext/socket/socket.c: ditto.
12318 Thu Aug 16 13:54:04 2001  Usaku Nakamura  <usa@ruby-lang.org>
12320         * ext/socket/socket.c (s_recvfrom): fix typo.
12322 Thu Aug 16 09:53:28 2001  Usaku Nakamura  <usa@ruby-lang.org>
12324         * ext/socket/socket.c (s_recvfrom): avoid VC++6 warning.
12326 Thu Aug 16 03:50:33 2001  Usaku Nakamura  <usa@ruby-lang.org>
12328         * win32/win32.c (NtCmdGlob): avoid VC++ warning.
12330         * lib/mkmf.rb: add -I$(srcdir) to CPPFLAGS.
12332 Wed Aug 15 04:59:15 2001  Akinori MUSHA  <knu@iDaemons.org>
12334         * ext/digest/*/extconf.rb: really fix so that they build from any
12335           directory.
12337 Wed Aug 15 04:04:02 2001  Akinori MUSHA  <knu@iDaemons.org>
12339         * ext/digest/sha2/extconf.rb: fix so that they build from any
12340           directory.
12342 Wed Aug 15 01:59:19 2001  Akinori MUSHA  <knu@iDaemons.org>
12344         * ext/digest/defs.h: Define NO_UINT64_T instead of emitting an
12345           error to fail.
12347         * ext/digest/sha2/extconf.rb: Do not exit on error, and utilize
12348           NO_UINT64_T to detect if the system has a 64bit integer type.
12350 Tue Aug 14 21:14:07 2001  Akinori MUSHA  <knu@iDaemons.org>
12352         * ext/digest/sha2/extconf.rb: do not create Makefile when no 64bit
12353           integer type is detected.
12355 Tue Aug 14 17:09:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12357         * range.c (range_step): new method.
12359 Tue Aug 14 11:49:00 2001  TOYOFUKU Chikanobu  <toyofuku@juice.or.jp>
12361         * string.c (rb_str_cmp): remove needless conditional.
12363 Tue Aug 14 03:23:25 2001  Koji Arai  <JCA02266@nifty.ne.jp>
12365         * string.c (rb_str_lstrip_bang) `return Qnil' was missing.
12367 Mon Aug 13 14:16:46 2001  Akinori MUSHA  <knu@iDaemons.org>
12369         * bignum.c, marshal.c: Detypo: s/SIZEOF_ING/SIZEOF_INT/.
12371 Sun Aug 12 15:01:58 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12373         * string.c (rb_str_cat): fix buffer overflow.
12375         * string.c (rb_str_append): nothing to append actually when `str2'
12376           is empty.
12378 Sat Aug 11 14:43:47 2001  Tanaka Akira  <akr@m17n.org>
12380         * array.c (rb_inspecting_p): initialize inspect_key if it is
12381           not initialized yet.
12383 Fri Aug 10 22:14:37 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12385         * parse.y (cond0): operands of logical operators are not treated
12386           as conditional expression anymore, but propagate conditional
12387           status if used in conditionals.
12389 Tue Aug  7 09:10:32 2001  Usaku Nakamura  <usa@ruby-lang.org>
12391         * win32/win32.h: fix problems with BC++ (ruby-bugs#PR161).
12393 Mon Aug  6 23:47:46 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12395         * pack.c (pack_pack): associates p/P strings once at last
12396           (reverted to 1.26).
12398         * string.c (rb_str_associate): associates an Array at once, not
12399           but a String. realloc's when str_buf.
12401 Mon Aug  6 17:01:33 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12403         * eval.c (rb_gc_mark_threads): should mark ruby_cref.
12405 Mon Aug  6 14:31:37 2001  Usaku Nakamura  <usa@ruby-lang.org>
12407         * numeric.c (num_divmod): fix typo.
12409 Mon Aug  6 03:29:03 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12411         * string.c (rb_str_lstrip_bang): new method.
12413         * string.c (rb_str_rstrip_bang): new method.
12415 Mon Aug  6 00:35:03 2001  Guy Decoux  <decoux@moulon.inra.fr>
12417         * struct.c (rb_struct_modify): should check frozen and taint
12418           status.
12420 Sun Aug  5 19:28:39 2001  Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
12422         * string.c (rb_str_associate): should consider STR_ASSOC too.
12424 Sun Aug  5 07:46:18 2001  Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
12426         * eval.c (rb_undefined): do not recurse if method_missing is
12427           undefined.
12429 Thu Aug  2 21:37:32 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12431         * process.c (proc_waitpid): now all arguments are optional.
12433         * process.c (Init_process): waitpid is now alias to wait.
12435         * process.c (Init_process): waitpid2 is now alias to wait2.
12437         * process.c (rb_waitpid): made public.
12439         * ext/pty/pty.c (pty_getpty): avoid disturbing SIGCHLD using
12440           thread and rb_waitpid.
12442 Thu Aug  2 11:23:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12444         * process.c (proc_getpgrp): now takes no argument on all
12445           platforms.
12447         * process.c (proc_setpgrp): ditto.
12449 Thu Aug  2 01:29:42 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12451         * file.c (strrdirsep): removed meaningless code.
12453         * file.c (rb_file_s_expand_path): reverted to 1.66.
12455 Wed Aug  1 16:17:47 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12457         * ext/socket/socket.c (sock_s_pack_sockaddr_in): added
12458           Socket::pack_sockaddr_in(). [new]
12460         * ext/socket/socket.c (sock_s_pack_sockaddr_un): added
12461           Socket::pack_sockaddr_un(). [new]
12463         * ext/socket/socket.c (sock_s_pack_sockaddr_in): added
12464           Socket::unpack_sockaddr_in(). [new]
12466         * ext/socket/socket.c (sock_s_pack_sockaddr_un): added
12467           Socket::unpack_sockaddr_un(). [new]
12469 Wed Aug  1 15:42:16 2001  Usaku Nakamura  <usa@ruby-lang.org>
12471         * eval.c (ruby_run): avoid VC++ warning.
12473 Tue Jul 31 17:30:53 2001  Usaku Nakamura  <usa@ruby-lang.org>
12475         * marshal.c (Init_marshal): fix typos.
12477 Tue Jul 31 15:16:39 2001  Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
12479         * process.c (last_status_set): nothing returned, should be void.
12481         * ext/socket/socket.c (load_addr_info): ditto.
12483 Tue Jul 31 12:11:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12485         * marshal.c (Init_marshal): new constant Marshal::MAJOR_VERSION
12486           and Marshal::MINOR_VERSION.
12488 Tue Jul 31 07:18:04 2001  Nobuyoshi Nakada <nobu.nokada@softhome.net>
12490         * file.c (rb_file_s_expand_path): scans per path element not per
12491           byte/character, including fix of [ruby-talk:18152] and
12492           multi-byte pathname support.
12494 Tue Jul 31 11:52:10 2001  akira yamada  <akira@ruby-lang.org>
12496         * marshal.c (marshal_load): ruby_verbose test should be wrapped by
12497           RTEST().
12499 Mon Jul 30 17:54:23 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12501         * hash.c (rb_hash_index): should return nil (not the default
12502           value) if value is not in the hash.
12504 Mon Jul 30 12:55:47 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12506         * numeric.c (num_div): new method added.  alias to '/' which
12507           should be preserved even if '/' is redefined (e.g. by
12508           mathn). [new]
12510 Mon Jul 30 11:12:14 2001  Amos Gouaux <amos+ruby@utdallas.edu>
12512         * lib/net/imap.rb: added new commands for managing folder quotas
12513           and folder ACLs.
12515 Mon Jul 30 03:19:53 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12517         * bignum.c (rb_cstr2inum): "0 ff".hex should return 0, not 255.
12519 Fri Jul 27 22:29:41 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12521         * file.c (rb_file_s_expand_path): fixed using CharNext().
12523 Fri Jul 27 18:07:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12525         * eval.c (rb_provided): extension should be guessed using
12526           rb_find_file_noext().
12528         * eval.c (rb_f_require): should call rb_feature_p() after
12529           extension completion.
12531 Fri Jul 27 16:25:52 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12533         * eval.c (rb_eval): add CHECK_INTS before next, redo, retry to
12534           avoid potential uninterruptable infinite loop.
12536 Thu Jul 26 11:27:12 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12538         * file.c (rb_find_file_noext, rb_find_file): fix tilde expansion
12539           problem.
12541 Wed Jul 25 17:54:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12543         * file.c (rb_file_s_expand_path): use CharNext() to expand.
12545 Wed Jul 25 17:16:26 2001  Akinori MUSHA  <knu@iDaemons.org>
12547         * intern.h: add some missing function prototypes.
12549 Wed Jul 25 15:50:05 2001  Guy Decoux  <decoux@moulon.inra.fr>
12551         * file.c (rb_file_s_expand_path): should not expand "." and ".."
12552           not following dirsep.
12554 Wed Jul 25 12:15:32 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12556         * file.c (rb_find_file_noext): should update f by expanded path.
12558         * file.c (rb_find_file): ditto.
12560 Tue Jul 24 23:10:47 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12562         * file.c (strrdirsep): multi-byte pathname and DOSish separator
12563           support. originally comes from Patrick Cheng. [new]
12565         * file.c (rb_file_s_basename, rb_file_s_dirname): use
12566           strrdirsep(). comes from Patrick Cheng.
12568         * file.c (is_absolute_path): restricted in DOSish absolute path
12569           with drive letter, and UNC support. originally comes from
12570           Patrick Cheng.
12572         * file.c (getcwd): define macro using getwd() unless provided.
12574 Tue Jul 24 19:23:15 2001  Akinori MUSHA  <knu@iDaemons.org>
12576         * ext/extmk.rb.in, lib/mkmf.rb: dig the target subdirectory for
12577           lib/* files properly in case of create_makefile("dir/name").
12579 Mon Jul 23 00:26:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12581         * eval.c (rb_provide_feature): should not tweak extension used for
12582           loading.
12584 Sun Jul 22 21:16:43 2001  Akinori MUSHA  <knu@iDaemons.org>
12586         * ext/extmk.rb.in, lib/mkmf.rb: introduce a couple of new make
12587           variables: CLEANFILES and DISTCLEANFILES.  They'd typically be
12588           defined in a file "depend".
12590 Sat Jul 21 09:40:10 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12592         * io.c (io_fread): use fread(3) if PENDING_COUNT is available.
12594 Fri Jul 20 22:55:01 2001  Akinori MUSHA  <knu@iDaemons.org>
12596         * gc.c (ruby_xrealloc): fix a dangling bug which led memory
12597           reallocation to fail even though the second try after a GC
12598           succeeds.
12600 Fri Jul 20 03:00:46 2001  Akinori MUSHA  <knu@iDaemons.org>
12602         * class.c (rb_mod_include_p): Module#include? added. [new]
12604 Fri Jul 20 01:05:50 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12606         * re.c (ignorecase_setter): give warning on modifying $=.
12608         * string.c (rb_str_casecmp): new method. [new]
12610         * string.c (rb_str_eql): separated from rb_str_equal(), make it
12611           always be case sensitive. [new]
12613         * string.c (rb_str_hash): made it always be case sensitive.
12615 Thu Jul 19 13:03:15 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12617         * eval.c (rb_f_require): should not include path in $" value
12619         * file.c (rb_find_file): should return 0 explicitly on failure.
12621 Tue Jul 17 11:44:40 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
12623         * ruby.h: enable volatile directive with VC++.
12625         * regex.c: ditto.
12627 Tue Jul 17 06:01:12 2001  Minero Aoki  <aamine@loveruby.net>
12629         * doc/net/smtp.rd.ja, pop.rd.ja, http.rd.ja: new files.
12631         * MANIFEST: add doc/net/{http,pop,smtp}.rd.ja.
12633 Tue Jul 17 11:22:01 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12635         * regex.c (NUM_FAILURE_ITEMS): was confusing NUM_REG_ITEMS and
12636           NUM_NONREG_ITEMS, which have happened to be same value.
12638 Tue Jul 17 11:08:34 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
12640         * ext/extmk.rb.in: modify RM macro because command.com/cmd.exe don't
12641           recognize single quotation as quote character.
12643         * lib/mkmf.rb: ditto.
12645 Tue Jul 17 01:38:15 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12647         * class.c (rb_class_new): subclass check moved to this function.
12649         * class.c (rb_class_boot): check less version of rb_class_new().
12651 Man Jul 16 13:21:30 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
12653         * file.c (file_load_ok): fix typo.
12655 Mon Jul 16 12:58:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12657         * eval.c (proc_invoke): should preserve iter status for embedded
12658           frame in the block.
12660 Mon Jul 16 00:04:39 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12662         * file.c (rb_file_s_expand_path): may overrun buffer on stack.
12664 Sun Jul 15 01:38:28 2001  Guy Decoux  <decoux@moulon.inra.fr>
12666         * string.c (rb_str_insert): forgot to call rb_str_modify().
12668 Sat Jul 14 12:26:30 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12670         * ext/digest/*/extconf.rb: fix so that they build from any
12671           directory.
12673 Sat Jul 14 06:20:17 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12675         * lib/net/http.rb: HTTP#proxy? did not worked.
12677 Sat Jul 14 02:56:19 2001  Akinori MUSHA  <knu@iDaemons.org>
12679         * ext/extmk.rb.in: support multi-level ext/ directories.
12680           (e.g. you can have ext/foo, ext/foo/bar and ext/foo/baz)
12682 Sat Jul 14 02:55:02 2001  Akinori MUSHA  <knu@iDaemons.org>
12684         * ext/.cvsignore: let cvs ignore extinit.c.
12686 Fri Jul 13 23:47:35 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12688         * regex.c (re_search): should consider reverse search.
12690 Fri Jul 13 22:26:09 2001  Akinori MUSHA  <knu@iDaemons.org>
12692         * lib/mkmf.rb: use File::split to split a target into a prefix and
12693           a module name.  This also works around a just found bug of
12694           String#rindex.
12696         * ext/extmk.rb.in: ditto.
12698 Fri Jul 13 02:36:10 2001  Minero Aoki  <aamine@loveruby.net>
12700         * dir.c (dir_s_chdir): warn only when invoked from multiple
12701           threads or block is not given.
12703 Thu Jul 12 15:11:48 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12705         * ext/socket/socket.c (ruby_connect): workaround for the setup of
12706           Cygwin socket(EALREADY).
12708 Mon Jul  9 16:49:30 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12710         * ext/extmk.rb.in: modify RM macro.
12712         * lib/mkmf.rb: ditto.
12714 Sun Jul  8 20:52:02 2001  Akinori MUSHA  <knu@iDaemons.org>
12716         * ruby.h: fix a wrong function name: rb_iglob() -> rb_globi().
12718 Sun Jul  8 16:04:35 2001  Minero Aoki  <aamine@loveruby.net>
12720         * lib/net/http.rb: rename HTTP#request_by_name to send_request.
12722         * lib/net/protocol.rb (ProtoSocket#read): modify typo.
12724 Sat Jul  7 17:45:35 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12726         * object.c (rb_convert_type): should use rb_rescue(), not rb_rescue2().
12728         * range.c (range_init): ditto.
12730 Fri Jul  6 18:01:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12732         * object.c (rb_obj_dup): copies (actually does not free)
12733           generic_ivar on dupif original owns them.
12735 Fri Jul  6 02:15:06 2001  Akinori MUSHA  <knu@iDaemons.org>
12737         * lib/tempfile.rb: a tempfile must be created with mode 0600.
12739 Thu Jul  5 20:28:53 2001  Tietew <tietew@tietew.net>
12741         * string.c (rb_str_each_line): should propagate taint mark.
12743         * ext/nkf/nkf.c (rb_nkf_kconv): ditto.
12745 Fri Jul  6 14:54:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12747         * eval.c (rb_f_require): revamp for simpler implementation.
12749         * file.c (rb_find_file_noext): use String object, instead of
12750           passing char* around.
12752         * file.c (rb_find_file): ditto.
12754 Thu Jul  5 22:01:02 2001  Mitsuhiro Kondo  <kondo@nik-prt.co.jp>
12756         * dln.c (dln_load): should use NSLINKMODULE_OPTION_BINDNOW.
12758 Thu Jul  5 13:44:03 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12760         * ruby.c (load_file): local variables 'c' remain uninitialized on
12761           xflag.
12763 Thu Jul  5 10:00:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12765         * regex.c (re_match): prefetched escaped character too early.
12767 Wed Jul  4 08:58:30 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12769         * eval.c (rb_call0): add argument check for attr_readers.
12771 Wed Jul  4 04:22:44 2001  Minero Aoki  <aamine@loveruby.net>
12773         * lib/net/http.rb (HTTP#request_by_name): arg order changes.
12775 Wed Jul  4 04:07:36 2001  Minero Aoki  <aamine@loveruby.net>
12777         * lib/net/http.rb (HTTP#request_by_name): bug fix.
12779         * lib/net/http.rb: does not write Connection: by default.
12781         * lib/net/protocol.rb: "start" for started protocol is an error.
12783         * lib/net/protocol.rb: "finish" for finished protocol is an error.
12785 Wed Jul  4 03:17:31 2001  Minero Aoki  <aamine@loveruby.net>
12787         * lib/net/http.rb: new method HTTP#request_by_name (test)
12789         * lib/net/http.rb: new class HTTPGenericRequest
12791 Tue Jul  3 23:58:29 2001  Akinori MUSHA  <knu@iDaemons.org>
12793         * lib/mkmf.rb: distclean should remove mkmf.log as well.
12795 Tue Jul  3 18:35:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12797         * eval.c (rb_eval_string_wrap): should push frame (and adjust
12798           cbase) before wrapped eval.
12800         * eval.c (rb_eval_cmd): ditto.
12802         * eval.c (eval): should update ruby_class always after all.
12804 Tue Jul  3 14:56:27 2001  Shugo Maeda <shugo@ruby-lang.org>
12806         * eval.c (block_pass): do not change wrapper information.
12808         * eval.c (rb_yield_0):  preserve wrapper information.
12810 Tue Jul  3 08:59:50 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
12812         * error.c (rb_name_error): raise NameError instead of LoadError.
12814 Mon Jul  2 17:22:00 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12816         * error.c (exc_exception): clone the receiver exception instead of
12817           creating brand new exception object of the receiver.
12819 Mon Jul  2 09:53:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12821         * eval.c (rb_eval_string_wrap): extend new ruby_top_self, not
12822           original self.
12824         * eval.c (rb_eval_cmd): respect ruby_wrapper if set.
12826         * eval.c (eval): do not update ruby_class unless scope is not
12827           provided.
12829 Sun Jul  1 10:51:15 2001  Shugo Maeda <shugo@ruby-lang.org>
12831         * eval.c (eval): preserve wrapper information.
12833         * eval.c (proc_invoke): ditto.
12835         * eval.c (block_pass): ditto.
12837 Sat Jun 30 02:55:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12839         * parse.y (void_expr): too much warnings for void context
12840           (e.g. foo[1] that can be mere Proc call).
12842 Fri Jun 29 17:23:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12844         * error.c (rb_name_error): new function to raise NameError with
12845           name attribute set.
12847         * eval.c (rb_f_missing): set name and args in the exception
12848           object. [new]
12850         * error.c (name_name): NameError#name - new method.
12852         * error.c (nometh_args): NoMethodError#args - new method.
12854 Fri Jun 29 15:29:31 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12856         * lex.c (rb_reserved_word): lex_state after tRESCUE should be
12857           EXPR_MID.
12859 Thu Jun 28 00:21:28 2001  Keiju Ishitsuka <keiju@ishitsuka.com>
12861         * lib/matrix.rb: resolve 'ruby -w' warnings.
12863         * lib/irb/locale.rb: resolve 'ruby -w' warnings.
12865         * lib/irb/multi-irb.rb: resolve 'ruby -w' warnings.
12867         * lib/irb/ruby-lex.rb: fix problem for "\\M-\\..." and "\\C-\\..."
12868           and resolve 'ruby -w' warnings.
12870         * lib/irb/ruby-token.rb: fix typo
12872         * lib/shell/command-processor.rb: resolve 'ruby -w' warnings.
12874 Wed Jun 27 08:53:26 2001  Minero Aoki  <aamine@loveruby.net>
12876         * lib/net/pop.rb: new methods POP3.auth_only, POP3#auth_only
12878         * lib/net/http.rb: HTTP.Proxy returns self if ADDRESS is nil.
12880         * lib/net/protocol.rb: new method ProtocolError#response
12882         * lib/net/protocol.rb,smtp.rb,pop.rb,http.rb: add document.
12884 Tue Jun 26 18:42:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12886         * gc.c (add_heap): allocation size of the heap unit is doubled for
12887           each allocation.
12889 Mon Jun 25 09:54:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12891         * dir.c (isdelim): space, tab, and newline are no longer
12892           delimiters for glob patterns.
12894 Sat Jun 23 22:28:52 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12896         * eval.c (svalue_to_avalue): new conversion scheme between single
12897           value and array values.
12899         * eval.c (avalue_to_svalue): ditto.
12901         * eval.c (rb_eval): REXPAND now uses avalue_to_svalue(), return
12902           and yield too.
12904         * eval.c (rb_yield_0): use avalue_to_svalue().
12906         * eval.c (proc_invoke): Proc#call gives avaules, whereas
12907           Proc#yield gives mvalues.
12909         * eval.c (bmcall): convert given value (svalue) to avalue.
12911 Sat Jun 23 18:28:52 2001  Akinori MUSHA  <knu@iDaemons.org>
12913         * ext/readline/readline.c (readline_event): a non-void function
12914           should return a value.
12916 Fri Jun 22 23:17:28 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12918         * ext/socket/socket.c (ruby_connect): workaround for the setup of
12919           Cygwin socket.
12921 Fri Jun 22 23:11:17 2001 Keiju Ishitsuka <keiju@ishitsuka.com>
12923         * lib/irb/locale.rb: fix for require "kconv" problem
12925 Fri Jun 22 18:08:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12927         * eval.c (rb_yield_0): no mvalue_to_svalue conversion here.
12929         * eval.c (massign): takes svalue, convert it to mvalue inside.
12931         * eval.c (rb_eval): parameters for yield/return are always
12932           svalues now.
12934         * eval.c (svalue_to_mvalue): more strict conversion.
12936         * eval.c (mvalue_to_svalue): ditto.
12938 Fri Jun 22 17:12:23 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12940         * st.c (new_size): prime hash size enabled.
12942         * ext/socket/socket.c (Init_socket): SO_* constants added.
12944 Tue Jun 19 22:24:07 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
12946         * gc.c (rb_setjmp): avoid GCC 3.0 warnings.
12948 Tue Jun 19 18:19:30 2001  Akinori MUSHA  <knu@iDaemons.org>
12950         * ext/readline/readline.c: add new methods:
12951           Readline::completion_append_character and
12952           Readline::completion_append_character=.
12954 Tue Jun 19 16:29:50 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12956         * eval.c (svalue_to_mvalue): new function to convert from svalue
12957           to mvalue. [experimental]
12959         * eval.c (mvalue_to_svalue): new function to convert from mvalue
12960           to svalue.
12962         * eval.c (rb_eval): use mvalue_to_svalue().
12964         * eval.c (rb_yield_0): use mvalue_to_svalue().
12966         * eval.c (proc_invoke): proper mvalue handling.
12968 Mon Jun 18 17:38:50 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12970         * eval.c (rb_f_require): searches ".rb" and ".so" at the same
12971           time.  previous behavior (search ".rb", then ".so") has a
12972           security risk (ruby-bugs#PR140).
12974         * array.c (rb_ary_to_ary): new function to replace internal
12975           rb_Array(), which never calls to_a, but to_ary (rb_Array() might
12976           call both). [new]
12978 Mon Jun 18 00:43:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12980         * regex.c (PUSH_FAILURE_POINT): push option status again.
12982         * regex.c (re_compile_pattern): avoid pushing unnecessary
12983           option_set.
12985 Sat Jun 16 10:58:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12987         * eval.c (rb_load): tainted string is OK if wrapped *and*
12988           $SAFE >= 4.
12990 Thu Jun 14 16:27:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
12992         * eval.c (rb_thread_start_0): should not nail down higher blocks
12993           before preserving original context (i.e. should not alter
12994           original context).
12996 Wed Jun 13 19:34:59 2001  Akinori MUSHA  <knu@iDaemons.org>
12998         * dir.c (Init_Dir): add a new method File::fnmatch? along with
12999           File::Constants::FNM_*.  While I am here, FNM_NOCASE is renamed
13000           to FNM_CASEFOLD which is commonly used by *BSD and GNU libc.
13002 Wed Jun 13 09:33:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13004         * eval.c (proc_yield): new method equivalent to Proc#call but no
13005           check for number of arguments. [new]
13007 Tue Jun 12 14:21:28 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
13009         * lib/mkmf.rb: target_prefix is only for installation, not for
13010           build.
13012 Tue Jun 12 00:41:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13014         * eval.c (method_eq): new method Method#==. [new]
13016 Mon Jun 11 14:29:41 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13018         * confgure.in: add RUBY_CANONICAL_BUILD.
13020 Sun Jun 10 17:31:47 2001  Guy Decoux  <decoux@moulon.inra.fr>
13022         * gc.c (STR_NO_ORIG): STR_NO_ORIG value was different between
13023           string.c and gc.c
13025 Sat Jun  9 22:10:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13027         * eval.c (rb_eval): should convert *non-array at the end of
13028           arguments by using Array().
13030 Sat Jun  9 17:04:30 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
13032         * hash.c (ruby_setenv): readline library leaves their environment
13033           strings uncopied.  "free" check revised.
13035 Sat Jun  9 16:31:03 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13037         * ext/extmk.rb.in: Use -F and -T for mswin32 because cl.exe doesn't
13038           support -o officially and cl.exe considers that *.cc and *.cxx are
13039           OBJs.
13041         * lib/mkmf.rb: ditto.
13043         * win32/Makefile.sub: Use del instead of rm.
13044           All these changes are derived from Nobuyoshi Nakada's patch.
13045           Thanks.
13047 Fri Jun  8 22:37:40 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13049         * gc.c (Init_stack): avoid __builtin_frame_address(2) to retrieve
13050           stack bottom line.
13052 Fri Jun  8 18:14:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13054         * st.c (numhash): should shuffle bits by dividing by prime number.
13056 Fri Jun  8 17:05:21 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13058         * eval.c (rb_eval): multiple assignment behavior fixed, which
13059           results "*a = nil" makes "a == []" now.
13061 Fri Jun  8 15:25:09 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13063         * eval.c (rb_f_require): should set SCOPE_PUBLIC before calling
13064           dln_load().
13066 Thu Jun  7 17:28:00 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13068         * parse.y (yylex): exclude kDO_BLOCK too much by false condition.
13070 Wed Jun  6 23:02:36 2001  Keiju Ishitsuka  <keiju@ishitsuka.com>
13072         * lib/sync.rb: bug fix if obj.initialize has parameters when
13073           obj.extend(Sync_m)
13075         * lib/mutex_m.rb: modified bit
13077 Wed Jun  6 16:11:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13079         * eval.c (rb_load): should check if tainted even when wrap is
13080           specified.
13082 Wed Jun  6 14:34:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13084         * parse.y (mrhs_basic): "*arg" should always be expanded by REXPAND.
13086         * regex.c (re_compile_pattern): too much optimization for the
13087           cases like /(.|a)b/.
13089 Tue Jun  5 23:58:43 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13091         * variable.c (fc_i): removed vast string allocation.
13093 Tue Jun  5 16:45:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13095         * error.c (Init_Exception): NameError went under StandardError,
13096           and NoMethodError went under NameError.
13098 Tue Jun  5 16:40:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13100         * parse.y (rb_intern): non identifier symbols should be
13101           categorized as ID_JUNK. [new]
13103 Tue Jun  5 16:15:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13105         * variable.c (rb_mod_const_at): use hash table as internal
13106           data. [new]
13108         * variable.c (rb_mod_const_of): ditto.
13110         * variable.c (rb_const_list): new function to convert internal
13111           data (hash table) to array of strings.
13113         * eval.c (rb_mod_s_constants): data handling scheme has changed.
13115 Tue Jun  5 15:16:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13117         * eval.c (rb_add_method): should not call rb_secure(), for
13118           last_func may not be set.
13120         * io.c (rb_io_ctl): ioctl should accept any integer within C long
13121           range.
13123 Tue Jun  5 13:41:13 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13125         * ext/etc/extconf.rb: use egrep_cpp.
13127 Tue Jun  5 12:44:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13129         * marshal.c (r_object): wrong type check for modules.
13131         * marshal.c (w_object): should not dump anonymous classes/modules.
13133 Tue Jun  5 01:19:34 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13135         * io.c (rb_open_file): use rb_file_sysopen_internal() if the 3rd
13136           argument (permission flags) is given. [new, should be backported?]
13138         * io.c (rb_io_mode_binmode): mode string (e.g. "r+") to flags to
13139           open(2).
13141 Mon Jun  4 23:55:54 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13143         * eval.c (rb_eval): NODE_REXPAND expand an array of 1 element as
13144           the element itself. [new, should be backported?]
13146         * parse.y (ret_args): should treat "*[a]" in rhs expression as
13147           "a", not "[a]".
13149 Mon Jun  4 04:14:53 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
13151         * lib/shellwords.rb: don't destroy argument.
13153 Sat Jun  2 23:23:05 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13155         * regex.c (re_compile_pattern): should push option modifier at the
13156           right place.
13158 Sat Jun  2 23:05:20 2001  Shugo Maeda <shugo@ruby-lang.org>
13160         * lib/cgi/session.rb: don't use module_function for Class.
13162 Sat Jun  2 00:02:22 2001  Keiju Ishitsuka <keiju@ishitsuka.com>
13164         * irb messages: fix typos.
13166 Fri Jun  1 17:26:24 2001  K.Kosako  <kosako@sofnec.co.jp>
13168         * hash.c (replace_i): ignore when key == Qundef.
13170 Fri Jun  1 16:50:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13172         * parse.y (call_args2): confusion with list_append() and
13173           list_concat() was fixed.
13175 Fri Jun  1 15:01:40 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13177         * parse.y (yylex): fixed 'print CGI::bar() {}, "\n"' syntax
13178           breakage, adding new lex_state status.  sigh. [new]
13180 Fri Jun  1 11:21:04 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13182         * configure.in: use waitpid on mingw32.
13184         * ext/dbm/extconf.rb: include <ndbm.h>, not <gdbm.h>.
13186 Thu May 31 18:34:57 2001  K.Kosako  <kosako@sofnec.co.jp>
13188         * file.c (rb_file_s_unlink): should not allow if $SAFE >= 2.
13190 Thu May 31 17:23:25 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13192         * range.c (Init_Range): define "to_ary".
13194 Thu May 31 13:30:25 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13196         * mkconfig.rb, ext/configsub.rb: VERSION -> RUBY_VERSION.
13198 Thu May 31 08:00:58 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13200         * win32/dir.h: re-add.
13202 Thu May 31 01:25:59 2001  Akinori MUSHA  <knu@iDaemons.org>
13204         * configure.in: default --with-libc_r to `no' until the problem is
13205           fixed. (FreeBSD only)
13207 Tue May 29 17:24:23 2001  K.Kosako  <kosako@sofnec.co.jp>
13209         * ruby.c (proc_options): unexpected SecurityError happens when -T4.
13211 Tue May 29 18:46:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13213         * regex.c (re_compile_pattern): * \1 .. \9 should be
13214           backreferences always.
13216         * regex.c (re_match): backreferences corresponding to
13217           unclosed/unmatched parentheses should fail always.
13219 Tue May 29 16:35:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13221         * string.c (rb_str_cat): use rb_str_buf_cat() if possible. [new]
13223         * string.c (rb_str_append): ditto.
13225         * string.c (rb_str_buf_cat): remove unnecessary check (type,
13226           taint, modify) to gain performance.
13228         * string.c (rb_str_buf_append): ditto.
13230         * string.c (rb_str_buf_finish): removed.
13232 Tue May 29 02:05:55 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13234         * string.c (rb_str_buf_new): buffering string function. [new]
13236         * string.c (rb_str_buf_append): ditto.
13238         * string.c (rb_str_buf_cat): ditto.
13240         * string.c (rb_str_buf_finish): ditto.
13242 Mon May 28 23:20:43 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13244         * configure.in: remove unnecessary AC_CANONICAL_BUILD
13246         * defines.h: #define HAVE_SETITIMER on Cygwin(bug fixed).
13248         * ruby.c: use relative path from LIBRUBY_SO.
13250         * ruby.c: don't use -mwin32 option on Cygwin.
13252         * cygwin/GNUmakefile.in: ditto.
13254         * ext/sdbm/_sdbm: ditto.
13256         * ext/tcltklib/extconf.rb: ditto.
13258         * ext/tcltklib/stubs.c: ditto.
13260 Mon May 28 22:12:01 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
13262         * ext/extconf.rb.in: make the priority of the make rule of .c
13263           higher than .C .
13265 Mon May 28 13:22:19 2001  Tanaka Akira  <akr@m17n.org>
13267         * time.c (make_time_t): local time adjustment revised.
13269 Mon May 28 02:20:38 2001  Akinori MUSHA  <knu@iDaemons.org>
13271         * dir.c (glob_helper): teach has_magic() to handle flags and get
13272           glob_helper to properly support FNM_NOESCAPE.
13274         * dir.c (fnmatch): fix a bug when FNM_PATHNAME and FNM_PERIOD are
13275           specified at the same time.
13277 Sat May 26 09:55:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13279         * parse.y: accomplish extended syntax described in [ruby-talk:14525]
13280           using tSPC token. [new, experimental]
13282 Sat May 26 07:05:45 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13284         * MANIFEST: add win32/dir.h .
13286 Fri May 25 20:03:51 2001  Pascal Rigaux  <pixel@mandrakesoft.com>
13288         * dln.c (dln_find_1): should exclude directories in executable
13289           file lookup.
13291 Fri May 25 18:00:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13293         * class.c (rb_obj_singleton_methods): list methods in extended
13294           modules if optional argument is true. [new]
13296 Fri May 25 14:19:25 2001  K.Kosako  <kosako@sofnec.co.jp>
13298         * string.c (rb_str_replace): add taint status infection
13299           (OBJ_INFECT()).
13301         * string.c (rb_str_crypt): ditto.
13303         * string.c (rb_str_ljust): ditto.
13305         * string.c (rb_str_rjust): ditto.
13307         * string.c (rb_str_center): ditto.
13309 Fri May 25 05:39:03 2001  Akinori MUSHA  <knu@iDaemons.org>
13311         * ext/sha1/sha1-ruby.c (sha1_hexdigest): fix buffer overflow.  The
13312           buffer for a SHA-1 hexdigest needs to be 41 bytes in length.
13314 Fri May 25 01:47:39 2001  Akinori MUSHA  <knu@iDaemons.org>
13316         * MANIFEST: update the entries I forgot to add or remove.
13318 Fri May 25 00:57:25 2001  Akinori MUSHA  <knu@iDaemons.org>
13320         * ext/sha1/sha1-ruby.c (sha1_new): separate initialize() from
13321           new().
13323         * ext/md5/md5init.c (md5i_new): ditto.
13325 Fri May 25 00:53:41 2001  Akinori MUSHA  <knu@iDaemons.org>
13327         * ext/dbm/extconf.rb: fix support for *BSD and set $CFLAGS
13328           properly.
13330 Thu May 24 16:10:33 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13332         * range.c (range_member): check based on "<=>" comparison. [new]
13334         * range.c (range_check): add "succ" check if first end is not a
13335           numeric.
13337         * range.c (range_eqq): comparison should based on "<=>".
13339         * range.c (range_each): ditto.
13341 Thu May 24 16:08:21 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13343         * mkconfig.rb: autoconf 2.50 support.
13345 Thu May 24 14:23:35 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13347         * eval.c (rb_yield_0): need argument adjustment for C defined
13348           blocks too.
13350 Thu May 24 01:11:30 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13352         * ext/dbm/extconf.rb: header search added. [new]
13354 Wed May 23 02:58:21 2001  Tanaka Akira  <akr@m17n.org>
13356         * time.c (make_time_t): fix ad-hoc local time adjustment, using
13357           binary tree search.
13359 Tue May 22 17:10:35 2001  K.Kosako  <kosako@sofnec.co.jp>
13361         * variable.c (rb_alias_variable): should not allow variable
13362           aliasing if $SAFE >= 4.
13364 Tue May 22 02:37:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13366         * parse.y (expr): "break" and "next" to take optional expression,
13367           which is used as a value for termination. [new, experimental]
13369         * eval.c (rb_eval): "break" can give value to terminating method.
13371         * eval.c (rb_eval): "break" and "next" to take optional expression.
13373         * eval.c (rb_yield_0): "next" can give value to terminating "yield".
13375         * eval.c (rb_iterate): "break" can give value to terminating method.
13377         * eval.c (proc_call): ditto.
13379 Mon May 21 13:15:25 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13381         * bignum.c (rb_big2str): t should be protected from GC.
13383 Sat May 19 09:29:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13385         * process.c (rb_proc_times): need not to check return value from
13386           times(2).
13388 Fri May 18 05:36:08 2001  Akinori MUSHA  <knu@iDaemons.org>
13390         * ext/extmk.rb.in (xsystem): backout the previous fix which was
13391           bogus.
13393 Fri May 18 05:19:55 2001  Akinori MUSHA  <knu@iDaemons.org>
13395         * lib/mkmf.rb (xsystem): make a temporary fix to get $(...) macros
13396           properly expanded on a command execution.
13398         * ext/extmk.rb.in (xsystem): ditto.
13400 Fri May 18 03:45:55 2001  Brian F. Feldman  <green@FreeBSD.org>
13402         * lib/mkmf.rb: unbreak "make install".  lib/* must be installed
13403           under $rubylibdir, not under $libdir.
13405 Fri May 18 01:28:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13407         * parse.y (expr): break, next, redo, retry are moved from primary.
13409 Fri May 18 01:11:02 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13411         * ext/sha1/sha1-ruby.c (sha1_new): get rid of an unneeded
13412           rb_obj_call_init() call.
13414 Fri May 18 01:03:55 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13416         * ext/sha1/sha1.txt, ext/sha1/sha1.txt.jp: fix typos.
13418 Thu May 17 19:17:11 2001  Akinori MUSHA  <knu@iDaemons.org>
13420         * lib/shell.rb, lib/shell/process-controller.rb,
13421           lib/shell/command-processor.rb: translate Japanese comments into
13422           English.
13424 Thu May 17 19:07:14 2001  Akinori MUSHA  <knu@iDaemons.org>
13426         * doc/shell.rd.jp: RD'ify and make some fixes.
13428         * doc/shell.rd: RD'ify, delete Japanese leftovers, make overall
13429           English fixes, and sync with doc/shell.rd.jp.
13431 Thu May 17 17:35:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13433         * eval.c (rb_call0): address of local_vars might change during eval.
13435 Thu May 17 07:27:09 2001  Akinori MUSHA  <knu@iDaemons.org>
13437         * ext/md5/md5.txt.jp, ext/sha1/sha1.txt.jp:
13438           s/SuperClass/Superclass/.
13440 Thu May 17 07:21:44 2001  Akinori MUSHA  <knu@iDaemons.org>
13442         * ext/Setup.dj, ext/Setup.emx, ext/Setup.nt, ext/Setup.x68:
13443           compile sha1 in as well as md5.
13445         * ext/Setup: put sha1 in a comment.
13447 Thu May 17 07:16:38 2001  Akinori MUSHA  <knu@iDaemons.org>
13449         * ext/sha1/sha1.txt.jp: add the Japanese version derived from
13450           ext/md5/md5.txt.jp.
13452         * ext/sha1/sha1.txt: revise the copyright info and reduce the
13453           difference from ext/md5/md5.txt.
13455         * ext/md5/md5.txt: reduce the difference from ext/sha1/sha1.txt.
13457 Thu May 17 07:11:35 2001  Akinori MUSHA  <knu@iDaemons.org>
13459         * ext/sha1/extconf.rb, ext/sha1/sha1.c: use WORDS_BIGENDIAN to
13460           detect the platform's endian.
13462 Thu May 17 06:31:30 2001  Akinori MUSHA  <knu@iDaemons.org>
13464         * ext/md5/md5.txt: make wording fixes, and mention the newly added
13465           method: "<<".
13467         * ext/md5/md5.txt.jp: ditto.
13469 Wed May 16 18:05:52 2001  Akinori MUSHA  <knu@iDaemons.org>
13471         * ext/md5/md5init.c: add an instance method "<<" as an alias for
13472           "update". (inspired by Steve Coltrin's ruby-sha1)
13474 Tue May 15 17:46:37 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13476         * array.c (rb_ary_and): should not push frozen key string.
13478         * array.c (rb_ary_or): ditto.
13480 Tue May 15 02:18:23 2001  Akinori MUSHA  <knu@iDaemons.org>
13482         * lib/thread.rb: rescue ThreadError in case the thread is dead
13483           just before calling Thread#run.
13485 Mon May 14 13:50:22 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13487         * eval.c (rb_thread_schedule): should save context before raising
13488           deadlock, saved context for current thread might be obsolete.
13490         * time.c (make_time_t): non DST timezone shift supported (hopefully).
13492         * time.c (make_time_t): strict range detection for negative time_t.
13494 Mon May 14 11:54:20 2001  Tanaka Akira  <akr@m17n.org>
13496         * signal.c: SIGINFO added.
13498 Mon May 14 08:57:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13500         * eval.c (rb_ensure): should not SEGV when prot_tag is NULL.
13502 Sun May 13 23:51:14 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13504         * win32/resource.rb: Modify copyright in resource script.
13506 Sun May 13 14:03:33 2001  Okada Jun  <yun@be-in.org>
13508         * lib/thread.rb: fix Queue#pop and SizedQueue#max= to avoid
13509           deadlock.
13511 Sat May 12 15:43:55 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13513         * win32/win32.c (kill): add support of signal 9 on mswin32/mingw32.
13515 Fri May 11 15:09:52 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13517         * ruby.h (rb_string_value): add volatile to avoid compiler warning.
13519         * string.c (rb_string_value): ditto.
13521 Fri May 11 03:35:33 2001  Akinori MUSHA  <knu@iDaemons.org>
13523         * README.EXT: Document find_library(), with_config() and
13524           dir_config().
13526 Fri May 11 03:34:20 2001  Akinori MUSHA  <knu@iDaemons.org>
13528         * README.EXT.jp: Remove the description of find_header() because
13529           such a function does not actually exist.
13531         * README.EXT.jp: Update the description of dir_config().
13533 Fri May 11 02:42:05 2001  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
13535         * README, README.jp: Fix CVS access and mailing lists info.
13537 Fri May 11 02:00:44 2001  Ryo HAYASAKA  <ryoh@jaist.ac.jp>
13539         * bignum.c (bigdivrem): access boundary bug.
13541 Thu May 10 02:40:47 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13543         * marshal.c (w_object): prohibit dumping out singleton classes.
13545         * object.c (rb_mod_to_s): distinguish singleton classes.
13547         * variable.c (rb_class2name): it's ok to reveal NilClass,
13548           TrueClass, FalseClass.
13550 Wed May  9 14:38:33 2001  K.Kosako  <kosako@sofnec.co.jp>
13552         * eval.c (rb_yield_0): preserve and restore ruby_cref as well.
13554 Tue May  8 18:28:19 2001  Keiju Ishitsuka  <keiju@ishitsuka.com>
13556         * lib/irb.rb lib/irb/multi-irb.rb lib/irb/ruby-lex.rb
13557           lib/irb/version.rb resolve ctrl-c problem
13559 Tue May  8 17:12:43 2001  K.Kosako  <kosako@sofnec.co.jp>
13561         * eval.c (is_defined): core dumped during instance_eval for
13562           special constants.
13564         * eval.c (rb_eval): ditto.
13566 Tue May  8 08:52:57 2001  Akinori MUSHA  <knu@iDaemons.org>
13568         * doc/forwardable.rd, doc/forwardable.rd.jp: Hit `=begin' and
13569           `=end' in proper places so rd2 can format them without a problem.
13571         * doc/irb/irb-tools.rd.jp, doc/irb/irb.rd, doc/irb/irb.rd.jp:
13572           ditto.
13574 Tue May  8 08:38:53 2001  Akinori MUSHA  <knu@iDaemons.org>
13576         * doc/forwardable.rd, doc/forwardable.rd.jp, lib/forwardable.rb:
13577           Import forwardable 1.1.
13579 Tue May  8 08:34:33 2001  Akinori MUSHA  <knu@iDaemons.org>
13581         * doc/irb/irb-tools.rd.jp, doc/irb/irb.rd.jp: Convert from JIS to
13582           EUC.
13584 Tue May  8 03:46:39 2001  Akinori MUSHA  <knu@iDaemons.org>
13586         * sample/rbc.rb: Obsoleted by IRB.
13588 Mon May  7 15:58:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13590         * parse.y (arg): "||=" should not warn for uninitialized instance
13591           variables.
13593         * eval.c (rb_eval): ditto.
13595         * eval.c (eval): preserve and restore ruby_cref as well.
13597 Mon May  7 15:45:48 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13599         * lib/ftools.rb (syscopy): chmod destination file only if
13600           it does not exist.
13602 Mon May  7 14:35:57 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13604         * object.c (rb_obj_is_instance_of): takes only class/module as an
13605           argument.
13607 Sun May  6 16:27:29 2001  Koji Arai  <JCA02266@nifty.ne.jp>
13609         * eval.c (is_defined): rb_reg_nth_defined() may return Qnil.
13611 Thu May  3 03:15:06 2001  SHIROYAMA Takayuki <psi@fortune.nest.or.jp>
13613         * configure.in: get --enable-shared to work on MacOS X.
13615         * Makefile.in: make $(LIBRUBY_SO) depend on miniruby properly.
13616           Now `make -jN' should work without a problem.
13618 Thu May  3 02:07:45 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13620         * win32/config.h.in: add SIZEOF___INT64 definition.
13622 Wed May  2 20:39:35 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13624         * dir.c (rb_glob, rb_globi): remove unnecessary FNM_PATHNAME.
13626 Wed May  2 11:46:13 2001  K.Kosako  <kosako@sofnec.co.jp>
13628         * eval.c (block_pass): should not downgrade safe level.
13630 Wed May  2 03:07:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13632         * ext/dbm/extconf.rb: allow specifying dbm-type explicitly.
13634         * ext/dbm/extconf.rb: avoid gdbm if possible, because it leaks
13635           memory, whereas gdbm.so doesn't.  potential incompatibility.
13637 Wed May  2 02:02:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13639         * string.c (rb_str_insert): new method.
13641 Tue May  1 17:55:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13643         * parse.y (yylex): lex_state after RESCUE_MOD should be EXPR_BEG.
13645 Tue May  1 16:23:03 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13647         * array.c (rb_ary_insert): new method.
13649         * array.c (rb_ary_update): new utility function.
13651 Tue May  1 03:24:05 2001  Akinori MUSHA  <knu@iDaemons.org>
13653         * lib/irb/completion.rb, lib/irb/frame.rb, lib/irb/xmp.rb,
13654           doc/irb/irb-tools.rd.jp: Merge from irb-tools 0.7.1.
13656 Tue May  1 03:07:17 2001  Akinori MUSHA  <knu@iDaemons.org>
13658         * sample/irb.rb, lib/irb.rb, lib/irb/*, doc/irb/*: Merge from irb
13659           0.7.3.
13661         * instruby.rb: Install help-message's too.
13663         * lib/irb/main.rb: This file is not needed anymore.
13665 Fri Apr 27 09:27:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13667         * io.c (set_outfile): should check if closed before assignment.
13669 Thu Apr 26 22:36:11 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13671         * configure.in:  don't use tzname on Cygwin 1.3.1+.
13673         * configure.in: add -mieee/-ieee to CFLAGS on OSF1/Alpha
13674           to disable "DIVISION BY ZERO" exception.
13676 Thu Apr 26 22:30:43 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13678         * eval.c (rb_eval): should preserve value of ruby_errinfo.
13680 Thu Apr 26 10:36:09 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13682         * eval.c (rb_thread_schedule): infinite sleep should not cause
13683           dead lock.
13685 Wed Apr 25 16:40:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13687         * array.c (rb_ary_flatten_bang): proper recursive detection.
13689 Wed Apr 25 15:36:15 2001  K.Kosako  <kosako@sofnec.co.jp>
13691         * eval.c (yield_under): need not to prohibit at safe level 4.
13693 Wed Apr 25 15:22:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13695         * pack.c (pack_pack): p/P packs nil into NULL.
13697         * pack.c (pack_unpack): p/P unpacks NULL into nil.
13699 Tue Apr 24 15:35:32 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13701         * pack.c (pack_pack): size check for P template.
13703         * ruby.c (set_arg0): wrong predicate when new $0 value is bigger
13704           than original space.
13706 Tue Apr 24 15:18:49 2001  Akinori MUSHA  <knu@iDaemons.org>
13708         * ext/extmk.rb.in, lib/mkmf.rb: (dir_config) do not add the
13709           specified include directory if already included in $CPPFLAGS.
13711         * ext/extmk.rb.in, lib/mkmf.rb: (dir_config) return a more useful
13712           value, [include_dir, lib_dir].
13714 Mon Apr 23 14:43:59 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13716         * gc.c (id2ref): should use NUM2ULONG()
13718         * object.c (rb_mod_const_get): check whether name is a class
13719           variable name.
13721         * object.c (rb_mod_const_set): ditto.
13723         * object.c (rb_mod_const_defined): ditto.
13725 Sat Apr 21 22:33:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13727         * marshal.c (w_float): precision changed to "%.16g"
13729 Sat Apr 21 22:07:58 2001  Guy Decoux  <decoux@moulon.inra.fr>
13731         * eval.c (rb_call0): wrong retry behavior.
13733 Fri Apr 20 19:12:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13735         * numeric.c (fix_aref): a bug on long>int architecture.
13737 Fri Apr 20 14:57:15 2001  K.Kosako  <kosako@sofnec.co.jp>
13739         * eval.c (rb_eval_string_wrap): should restore ruby_wrapper.
13741 Sun Apr 22 17:44:37 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13743         * configure.in: add -mieee to CFLAGS on Linux/Alpha
13744           to disable "DIVISION BY ZERO" exception.
13746         * configure.in: remove -ansi on OSF/1.
13748 Wed Apr 18 04:37:51 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
13750         * lib/cgi.rb: CGI::Cookie: no use PATH_INFO.
13752 Wed Apr 18 00:24:40 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13754         * regex.c (re_compile_pattern): char class at either edge of range
13755           should be invalid.
13757 Tue Apr 17 17:33:55 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13759         * eval.c (handle_rescue): use === to compare exception match.
13761         * error.c (syserr_eqq): comparison between SytemCallErrors should
13762           based on their error numbers.
13764 Tue Apr 17 16:54:39 2001  K.Kosako  <kosako@sofnec.co.jp>
13766         * eval.c (safe_getter): should use INT2NUM().
13768 Tue Apr 17 15:12:56 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13770         * bignum.c (rb_big2long): 2**31 cannot fit in 31 bit long.
13772 Sat Apr 14 22:46:43 2001  Guy Decoux  <decoux@moulon.inra.fr>
13774         * regex.c (calculate_must_string): wrong length calculation.
13776 Sat Apr 14 13:37:32 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
13778         * win32/config.status.in: no longer use missing/alloca.c.
13780         * win32/Makefile.sub: ditto.
13782 Fri Apr 13 12:40:48 2001  K.Kosako  <kosako@sofnec.co.jp>
13784         * eval.c (rb_thread_start_0): fixed memory leak.
13786 Fri Apr 13 16:41:18 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13788         * parse.y (none): should clear cmdarg_stack too.
13790 Fri Apr 13 06:19:29 2001  GOTOU Yuuzou  <gotoyuzo@notwork.org>
13792         * io.c (rb_fopen): use setvbuf() to avoid recursive malloc() on
13793           some platforms.
13795 Wed Apr 11 23:36:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13797         * file.c (rb_stat_dev): device functions should honor stat field
13798           types (except long long such as dev_t).
13800 Wed Apr 11 18:07:53 2001  K.Kosako  <kosako@sofnec.co.jp>
13802         * eval.c (rb_mod_nesting): should not push nil for nesting array.
13804         * eval.c (rb_mod_s_constants): should not search array by
13805           rb_mod_const_at() for nil (happens for singleton class).
13807 Wed Apr 11 13:29:26 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13809         * class.c (rb_singleton_class_attached): should modify iv_tbl by
13810           itself, no longer use rb_iv_set() to avoid freeze check error.
13812         * variable.c (rb_const_get): error message "uninitialized constant
13813           Foo at Bar::Baz" instead of "uninitialized constantBar::Baz::Foo".
13815 Tue Apr 10 17:52:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13817         * eval.c (rb_mod_included): new hook called from rb_mod_include().
13819 Tue Apr 10 02:24:40 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
13821         * io.c (opt_i_set): should strdup() inplace_edit string.
13823 Mon Apr  9 23:29:54 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13825         * eval.c (exec_under): need to push cref too.
13827 Mon Apr  9 15:20:21 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13829         * eval.c (rb_f_missing): raise NameError for "undefined local
13830           variable or method".
13832         * error.c (Init_Exception): new exception NoMethodError.
13833           NameError moved under ScriptError again.
13835         * eval.c (rb_f_missing): use NoMethodError instead of NameError.
13837 Mon Apr  9 12:05:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13839         * file.c (Init_File): should redefine "new" class method.
13841 Mon Apr  9 11:56:52 2001  Shugo Maeda <shugo@ruby-lang.org>
13843         * lib/net/imap.rb: fix typo.
13845 Fri Apr  6 01:46:35 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13847         * eval.c (PUSH_CREF): sharing cref node was problematic.  maintain
13848           runtime cref list instead.
13850         * eval.c (rb_eval): copy defn node before registering.
13852         * eval.c (rb_load): clear ruby_cref before loading.
13854 Thu Apr  5 22:40:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13856         * variable.c (rb_const_get): no recursion to show full class path
13857           for modules.
13859         * eval.c (rb_set_safe_level): should set safe level in curr_thread
13860           as well.
13862         * eval.c (safe_setter): ditto.
13864 Thu Apr  5 13:46:06 2001  K.Kosako  <kosako@sofnec.co.jp>
13866         * object.c (rb_obj_is_instance_of): nil belongs to false, not true.
13868 Thu Apr  5 02:19:03 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13870         * time.c (make_time_t): proper (I hope) daylight saving time
13871           handling for both US and Europe.  I HATE DST!
13873         * eval.c (rb_thread_wait_for): non blocked signal interrupt should
13874           stop the interval.
13876 Wed Apr  4 03:47:03 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13878         * eval.c (proc_eq): class check added.
13880         * eval.c (proc_eq): typo fixed ("return" was omitted).
13882         * error.c (Init_Exception): move NameError under StandardError.
13884         * class.c (rb_mod_clone): should copy method bodies too.
13886         * bignum.c (bigdivrem): should trim trailing zero bdigits of
13887           remainder, even if dd == 0.
13889         * file.c (check3rdbyte): safe string check moved here.
13891 Tue Apr  3 09:56:20 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13893         * ext/extmk.rb.in (create_makefile): create def file only if
13894           it does not yet exist.
13896         * lib/mkmf.rb: ditto.
13898 Tue Apr  3 00:05:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13900         * time.c (make_time_t): remove HAVE_TM_ZONE code since it
13901           sometimes reports wrong time.
13903         * time.c (make_time_t): remove unnecessary range check for
13904           platforms where negative time_t is available.
13906 Mon Apr  2 16:52:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13908         * process.c (proc_waitall): should push Process::Status instead of
13909           Fixnum status.
13911         * process.c (waitall_each): should add all entries in pid_tbl.
13912           these changes are inspired by Koji Arai.  Thanks.
13914         * process.c (proc_wait): should not iterate if pid_tbl is 0.
13916         * process.c (proc_waitall): ditto.
13918 Mon Apr  2 14:25:49 2001  Shugo Maeda <shugo@ruby-lang.org>
13920         * lib/monitor.rb (wait): ensure reentrance.
13922         * lib/monitor.rb (wait): fix timeout support.
13924 Mon Apr  2 12:40:45 2001  Shugo Maeda <shugo@ruby-lang.org>
13926         * lib/net/imap.rb (media_subtype): return subtype.
13928 Mon Apr  2 12:01:15 2001  Shugo Maeda <shugo@ruby-lang.org>
13930         * lib/net/imap.rb (flag_list): capitalize flags.
13932 Mon Apr  2 01:32:38 2001  Akinori MUSHA  <knu@iDaemons.org>
13934         * Makefile.in: Introduce MAINLIBS.
13936         * configure.in: Link libc_r against the ruby executable on
13937           FreeBSD, which is the first attempt to work around a certain
13938           problem regarding pthread on FreeBSD.  It should make ruby/libruby
13939           happy when it loads an extension to a library compiled and linked
13940           with -pthread.  Note, however, that libruby is _not_ linked with
13941           libc_r so as not to mess up pthread unfriendly stuff including
13942           apache+mod_ruby and vim6+ruby_interp.
13944 Mon Apr  2 01:16:24 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
13946         * win32/win32.c: use ruby's opendir on mingw32.
13948         * win32/dir.h, dir.c, Makefile: ditto.
13950 Sun Apr  1 23:26:14 2001  TOYOFUKU Chikanobu  <toyofuku@juice.or.jp>
13952         * numeric.c (flodivmod): a bug in no fmod case.
13954 Sun Apr  1 18:36:14 2001  Koji Arai  <JCA02266@nifty.ne.jp>
13956         * process.c (pst_wifsignaled): should apply WIFSIGNALED for status
13957           (int), not st (VALUE).
13959 Sat Mar 31 04:47:55 2001  Shugo Maeda  <shugo@ruby-lang.org>
13961         * lib/net/imap.rb: add document and example code.
13963 Sat Mar 31 03:24:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13965         * io.c (Init_IO): value of $/ and $\ are no longer restricted to
13966           strings.  type checks are done on demand.
13968         * class.c (rb_include_module): module inclusion should be check
13969           taints.
13971         * ruby.h (STR2CSTR): replace to StringType() and StringTypePtr().
13973         * ruby.h (rb_str2cstr): ditto.
13975 Fri Mar 30 23:37:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13977         * eval.c (rb_load): should not copy toplevel local variables.  It
13978           cause variable/method ambiguity.  Thanks to L. Peter Deutsch.
13980 Fri Mar 30 22:56:56 2001  Shugo Maeda  <shugo@ruby-lang.org>
13982         * lib/net/imap.rb: rename ContinueRequest to ContinuationRequest.
13984 Fri Mar 30 12:51:19 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13986         * class.c (rb_include_module): freeze check at first.
13988 Thu Mar 29 17:05:09 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
13990         * eval.c (rb_attr): sprintf() and rb_intern() moved into
13991           conditional body.
13993 Wed Mar 28 23:43:00 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
13995         * ext/extmk.rb.in, lib/mkmf.rb: add C++ rules in addition to C
13996           rules for the mswin32 platforms.
13998 Wed Mar 28 19:29:21 2001  Akinori MUSHA  <knu@iDaemons.org>
14000         * ext/extmk.rb.in, lib/mkmf.rb: move C++ rules to the right place.
14002 Wed Mar 28 17:39:04 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14004         * object.c (rb_str2cstr): warn if string contains \0 and length
14005           value is ignored.
14007 Wed Mar 28 15:00:31 2001  K.Kosako  <kosako@sofnec.co.jp>
14009         * class.c (rb_singleton_class_clone): should copy class constant
14010           table as well.
14012 Wed Mar 28 14:23:23 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14014         * class.c (rb_include_module): sometimes cache was mistakenly left
14015           uncleared - based on the patch by K.Kosako.
14017         * ruby.h: all Check_SafeStr()'s are replaced by SafeStr() to
14018           ensure 'to_str' be always effective.
14020 Wed Mar 28 09:52:33 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14022         * win32/Makefile.sub: disable global optimization.
14024 Tue Mar 27 15:00:54 2001  K.Kosako  <kosako@sofnec.co.jp>
14026         * eval.c (rb_mod_define_method): should have clear method cache.
14028         * eval.c (rb_mod_define_method): should have raised exception for
14029           type error.
14031 Tue Mar 27 14:48:17 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14033         * ruby.h: changed "extern INLINE" to "static inline".
14035 Mon Mar 26 23:19:33 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14037         * time.c (rb_strftime): check whether strftime returns empty string.
14039 Mon Mar 26 21:16:56 2001  Shugo Maeda  <shugo@ruby-lang.org>
14041         * lib/net/imap.rb: supports response handlers and multiple commands.
14043 Mon Mar 26 17:21:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14045         * eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash.
14047 Mon Mar 26 14:04:41 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14049         * ext/Win32API/Win32API.c: remove Init_win32api().
14051 Sun Mar 25 16:52:48 2001  Koji Arai  <JCA02266@nifty.ne.jp>
14053         * file.c (rb_file_flock): do not trap EINTR.
14055         * missing/flock.c (flock): returns the value from lockf(2)
14056           directly.
14058 Sat Mar 24 23:44:50 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14060         * eval.c (ev_const_defined): should ignore toplevel cbase (Object).
14062         * eval.c (ev_const_get): ditto.
14064 Fri Mar 23 17:37:52 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14066         * ext/md5/md5.h: replace by independent md5 implementation
14067           contributed by L. Peter Deutsch (thanks).
14069         * ext/md5/md5init.c: adopted to Deutsch's md5 implementation.
14071 Fri Mar 23 17:26:19 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14073         * pack.c (pack_unpack): string from P/p should be tainted.
14075 Fri Mar 23 12:18:44 2001  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
14077         * ext/curses/curses.c: curses on Mac OS X public beta does not
14078           have _maxx etc.
14080 Fri Mar 23 10:50:31 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14082         * marshal.c (w_object): should truncate trailing zero short for
14083           bignums.
14085 Fri Mar 23 09:49:02 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14087         * object.c (sym_intern): new method.
14089 Thu Mar 22 22:15:45 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14091         * ext/Win32API/extconf.rb: add -fno-omit-frame-pointer.
14093 Thu Mar 22 18:17:36 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14095         * eval.c (rb_mod_nesting): should not include Object at the
14096           toplevel.
14098 Thu Mar 22 17:43:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14100         * ruby.h: better inline function support.
14102         * configure.in (NO_C_INLINE): check if inline is available for the
14103           C compiler.
14105 Mon Mar 19 11:03:10 2001  Koji Arai  <JCA02266@nifty.ne.jp>
14107         * marshal.c (r_object): len calculation patch was wrong for
14108           machines SIZEOF_BDIGITS == SIZEOF_SHORT.
14110         * gc.c: alloca prototype reorganized for C_ALLOCA machine.
14112 Wed Mar 21 23:07:45 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14114         * win32/win32.c (win32_stat): WinNT/2k "//host/share" support.
14116 Wed Mar 21 08:05:35 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14118         * win32/dir.h: replace missing/dir.h .
14120         * win32/win32.h: ditto.
14122         * win32/win32.c: ditto.
14124 Wed Mar 21 01:26:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14126         * gc.c (id2ref): sometimes confused symbol and reference.
14128 Tue Mar 20 23:09:33 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14130         * win32/win32.c (win32_stat): UNC support.
14132         * dir.c (extract_path): fix "./*" problem.
14134 Tue Mar 20 15:10:00 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14136         * dir.c (glob_helper): breaks loop after calling recursive
14137           glob_helper; all wild cards should be consumed; no need for
14138           further match.
14140         * dir.c (dir_s_glob): gives warning if no match found.
14142 Tue Mar 20 14:13:45 2001  Koji Arai  <JCA02266@nifty.ne.jp>
14144         * object.c (sym_inspect): did allocate extra byte space.
14146 Mon Mar 19 19:14:47 2001  Guy Decoux  <decoux@moulon.inra.fr>
14148         * marshal.c (shortlen): shortlen should return number of bytes
14149           written.
14151 Mon Mar 19 16:52:23 2001  K.Kosako  <kosako@sofnec.co.jp>
14153         * eval.c (ev_const_defined): need not to check if cbase->nd_class
14154           is rb_cObject.
14156         * eval.c (ev_const_get): ditto.
14158 Mon Mar 19 17:11:20 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14160         * time.c (time_zone): return "UTC" for UTC time objects.
14162 Mon Mar 19 16:27:32 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14164         * eval.c (THREAD_ALLOC): flags should be initialized.
14166         * signal.c (rb_f_kill): should use FIX2INT, not FIX2UINT.
14168 Mon Mar 19 10:55:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14170         * dir.c (glob_helper): replace lstat() by stat() to follow symlink
14171           in the case like 'symlink/*'.
14173         * dir.c (glob_helper): gave warning too much.
14175 Sun Mar 18 08:58:18 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
14177         * lib/cgi.rb: // === '' --> //.match('')
14179         * lib/cgi.rb: cgi#header(): improvement for mod_ruby.
14181         * lib/cgi.rb: cgi#rfc1123date(): improvement.
14182           thanks to TADA Tadashi <sho@spc.gr.jp>.
14184         * lib/cgi.rb: cgi#rfc1123date(): document bug fix.
14185           thanks to Kazuhiro NISHIYAMA <zn@mbf.nifty.com>.
14187         * lib/cgi.rb: cgi#header(): bug fix.
14188           thanks to IWATSUKI Hiroyuki <don@na.rim.or.jp>.
14190 Sat Mar 17 11:11:24 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14192         * dir.c (glob_helper): * should follow symlink, whereas ** should
14193           not follow.
14195 Thu Mar 15 01:28:02 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14197         * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016).
14199 Fri Mar 16 17:14:17 2001  Akinori MUSHA  <knu@iDaemons.org>
14201         * configure.in: Set SOLIBS properly for all ELF and
14202           FreeBSD/NetBSD/OpenBSD a.out platforms so that the shlib
14203           dependencies are recorded in the libruby shlib.
14205 Wed Mar 14 16:41:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14207         * eval.c (rb_thread_schedule): raise FATAL just once to
14208           THREAD_TO_KILL.
14210 Wed Mar 14 10:41:34 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14212         * eval.c (rb_yield_0): 0 (= Qfalse) is a valid value, so that
14213           default self should be checked by klass == 0.
14215         * bignum.c (rb_cstr2inum): should disallow '++1', '+-1', etc.
14217 Tue Mar 13 17:51:09 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14219         * eval.c (ev_const_defined): add new parameter self for special
14220           const fallback.
14222         * eval.c (ev_const_get): ditto.
14224 Tue Mar 13 16:39:45 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14226         * dir.c (rb_glob_helper): fix drive letter handling on DOSISH.
14228 Tue Mar 13 14:54:39 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14230         * lib/net/http.rb: add HTTPRequest#basic_auth.
14232         * lib/net/smtp.rb: raise if only account or password is given.
14234         * lib/net/protocol.rb: WriteAdapter#<< returns self.
14236 Tue Mar 13 14:41:16 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14238         * io.c (argf_seek_m): wrong calling sequence of rb_io_seek().
14240 Tue Mar 13 09:14:19 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14242         * parse.y (cond0): no special treatment of string literal in
14243           condition.
14245 Mon Mar 12 18:59:38 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14247         * lib/mkmf.rb (create_makefile): save/restore $libs and $LIBPATH.
14249 Sun Mar 11 18:13:34 2001  Masahiro Tanaka  <masa@stars.gsfc.nasa.gov>
14251         * math.c: add acos, asin, atan, conh, sinh, tanh and hypot to Math.
14253         * configure.in: check hypot availability.
14255         * missing/hypot.c: public domain rewrite of hypot.
14257 Sun Mar 11 13:21:04 2001  Koji Arai  <JCA02266@nifty.ne.jp>
14259         * parse.y (warn_unless_e_option): warning condition was wrong.
14261         * parse.y (warning_unless_e_option): ditto.
14263 Sun Mar 11 00:55:31 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14265         * lib/mkmf.rb (install_rb): fix handling of destination path.
14267 Sat Mar 10 22:56:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14269         * enum.c (enum_all): new method 'all?', which returns true if
14270           block returns true for all elements.
14272         * enum.c (enum_any): new method 'any?', which returns true if
14273           block returns true for any of elements.
14275 Sat Mar 10 02:34:18 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14277         * math.c (math_log, math_log10): use nan() instead of 0.0/0.0 on Cygwin.
14279 Fri Mar  9 09:56:19 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14281         * marshal.c (marshal_load): do not give warning unless explicitly
14282           set to verbose.
14284 Fri Mar  9 02:07:53 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14286         * eval.c (rb_exit): give string value "exit" to SystemExit.
14288         * ruby.c (proc_options): -v should not print version if
14289           proc_options called via moreswitches().
14291 Thu Mar  8 17:45:19 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14293         * lib/net/protocol.rb: one write(2) per one line.
14295 Wed Mar  7 14:26:11 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14297         * math.c (math_log, math_log10): should return NaN if x < 0.0
14298           on Cygwin.
14300 Thu Mar  7 10:31:26 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14302         * parse.y (stmt): while/until modifier must work for empty body.
14304 Tue Mar  6 22:53:58 2001  Kazuhiro Yoshida   <moriq.kazuhiro@nifty.ne.jp>
14306         * ruby.c (ruby_set_argv): clear ARGV contents before adding args.
14308 Tue Mar  6 10:50:29 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14310         * parse.y (primary): rescue and ensure clauses should be allowed
14311           to appear in singleton method body.
14313 Mon Mar  5 17:25:13 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14315         * eval.c (proc_eq): compare Procs using blocktag equality.
14317         * eval.c (proc_to_s): stringify according to block tag address.
14319 Mon Mar  5 17:19:56 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14321         * win32/win32.c (gettimeofday): use GetLocalTime() instead of ftime()
14322           for high-resolution timing.
14324 Sun Mar  4 17:01:09 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14326         * string.c (trnext): support backslash escape in String#tr.
14328 Sat Mar  3 16:15:16 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14330         * eval.c (rb_eval): push cbase if ruby_cbase != ruby_class, for
14331           example in the case NODE_DEFN/NODE_DEFS are called within
14332           module_eval.
14334 Wed Feb 28 11:02:41 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14336         * string.c (rb_str_delete_bang): delete! should take at least 1
14337           argument.
14339         * ruby.c (load_file): add rb_gc() after loading to avoid
14340           extraordinary memory growth.
14342 Wed Feb 28 05:01:40 2001  Koji Arai  <JCA02266@nifty.ne.jp>
14344         * dir.c (rb_glob_helper): "./foo" should match "foo", not "./foo".
14346 Tue Feb 27 16:38:15 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14348         * eval.c (ev_const_get): retrieve Object's constant if no current
14349           class is available (e.g. defining singleton class for Fixnums).
14351         * eval.c (ev_const_defined): check Object's constant if no current
14352           class is available (e.g. defining singleton class for Fixnums).
14354         * time.c (time_timeval): negative time interval should not be
14355           allowed.
14357         * eval.c (proc_call): ignore block to `call' always, despite of
14358           being orphan or not.
14360 Wed Feb 27 10:16:32 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14362         * eval.c (rb_yield_0): should check based on rb_block_given_p()
14363           and rb_f_block_given_p().
14365 Tue Feb 27 04:13:45 2001 Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14367         * configure.in (frame-address): --enable-frame-address to allow
14368           __builtin_frame_address() to be used.
14370         * eval.c (stack_length): use __builtin_frame_address() based on
14371           the macro USE_BUILTIN_FRAME_ADDRESS.
14373         * gc.c (rb_gc): ditto.
14375         * gc.c (Init_stack): ditto.
14377 Mon Feb 26 16:20:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14379         * ruby.c (proc_options): call ruby_show_version() just once.
14381         * dir.c (dir_s_open): returns the value from a block (if given).
14383 Mon Feb 26 14:29:04 2001  Akinori MUSHA  <knu@iDaemons.org>
14385         * ext/extmk.rb.in, lib/mkmf.rb: add C++ rules in addition to C
14386           rules.
14388 Mon Feb 26 00:04:52 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14390         * eval.c (proc_call): should not modify ruby_block->frame.iter
14391           based on ruby_frame->iter altered by PUSH_ITER().
14393 Mon Feb 26 05:27:52 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
14395         * lib/net/telnet.rb: #telnetmode(), #binmode(): bug fix.
14396           thanks to nobu.nakada@nifty.ne.jp.
14398 Mon Feb 26 04:55:50 2001  Wakou Aoyama  <wakou@fsinet.or.jp>
14400         * lib/cgi.rb: CGI#form(): bug fix.
14401           thanks to MoonWolf <moonwolf@moonwolf.com>.
14403         * lib/cgi.rb: CGI#rfc1123_date(): improvement.
14404           thanks to Tomoyasu Akita <genzo-@dm4lab.to>.
14406         * lib/cgi.rb: CGI#header(): improvement for mod_ruby.
14407           thanks to Shugo Maeda <shugo@ruby-lang.org>.
14409 Sun Feb 25 02:45:30 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14411         * file.c (rb_file_s_rename): avoid Cygwin's bug.
14413 Sat Feb 24 23:32:55 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14415         * eval.c (rb_thread_fd_close): should save current context before
14416           raising exception.
14418 Sat Feb 24 22:14:00 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14420         * win32/win32.c (myrename): fix error handling.
14422 Sat Feb 24 13:58:48 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14424         * lib/net/http.rb: always close connection on request without
14425           body.
14427         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: change copyright.
14429 Sat Feb 24 03:15:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14431         * io.c (set_stdin): preserve original stdin.
14433         * io.c (set_outfile): preserve original stdout/stderr.
14435 Fri Feb 23 08:28:58 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14437         * lib/net/protocol.rb: clear read buffer after reopen.
14439         * lib/net/protocol.rb: refactoring.
14441         * lib/net/http.rb: split module HTTPHeader from HTTPResponse.
14443 Tue Feb 20 23:45:35 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14445         * process.c: add W* macro if not available.
14447 Tue Feb 20 16:37:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14449         * configure.in: add check for negative time_t for gmtime(3).
14451         * time.c (time_new_internal): no positive check if gmtime(3) can
14452           handle negative time_t.
14454         * time.c (time_timeval): ditto.
14456         * bignum.c (rb_big2long): should not raise RangeError for Bignum
14457           LONG_MIN value.
14459 Mon Feb 19 17:46:37 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14461         * string.c (rb_str_substr): "a"[1,2] should return ""; need
14462           rubicon upgrade.
14464 Mon Feb 19 12:10:36 2001  Triet H. Lai  <thlai@mail.usyd.edu.au>
14466         * error.c (rb_sys_warning): new function to give warning with
14467           strerror() message.
14469         * dir.c (rb_glob_helper): better error handling, along with
14470           performance tune.
14472 Mon Feb 19 01:55:43 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14474         * eval.c (secure_visibility): visibility check for untainted modules.
14476 Mon Feb 19 00:29:29 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14478         * signal.c (sigpipe): sighandler which does nothing.
14480         * signal.c (trap): set sigpipe function for SIGPIPE.
14482         * signal.c (Init_signal): default SIGPIPE handler should be
14483           sigpipe function.
14485 Sun Feb 18 15:42:38 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14487         * ext/curses/extconf.rb: add dir_config.
14489         * missing/flock.c: use fcntl(2) instead of lockf(2).
14491 Sun Feb 18 05:46:03 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14493         * lib/net/http.rb: Response#range_length was not debugged.
14495 Sun Feb 18 04:02:03 2001  Yasushi Shoji  <yashi@yashi.com>
14497         * array.c (rb_ary_subseq): wrong boundary check.
14499 Sun Feb 18 00:09:50 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14501         * win32/win32.c: make file I/O faster on mswin32/mingw32.
14503         * win32/win32.h: ditto.
14505         * rubysig.h: ditto.
14507 Sat Feb 17 23:32:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14509         * parse.y (cond0): integer literal in condition should not be
14510           compared to lineno ($.).
14512 Fri Feb 16 01:44:56 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14514         * io.c (set_outfile): f should be the FILE* from the assigning value.
14516         * ext/socket/socket.c (tcp_s_open): should not give default value
14517           to local_host.
14519         * time.c (time_s_times): move to Process::times.
14521         * file.c (rb_file_s_lchmod): new method File::lchmod.
14523         * file.c (rb_file_s_lchown): new method File::lchown.
14525 Thu Feb 15 11:33:49 2001  Shugo Maeda <shugo@ruby-lang.org>
14527         * lib/cgi/session.rb (close): fixed reversed condition.
14529 Thu Feb 15 08:34:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14531         * process.c (proc_waitall): new method based on a patch from Brian
14532           Fundakowski Feldman <green@green.dyndns.org>.
14534         * process.c (last_status_set): objectify $? value (Process::Status).
14536 Wed Feb 14 17:28:24 2001  Shugo Maeda <shugo@ruby-lang.org>
14538         * lib/net/imap.rb: supports unknown resp_text_code.
14540 Wed Feb 14 00:44:17 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14542         * dir.c (dir_s_glob): support backslash escape of metacharacters
14543           and delimiters.
14545         * dir.c (remove_backslases): remove backslashes from path before
14546           calling stat(2).
14548         * dir.c (dir_s_glob): call rb_yield directly (via push_pattern) if
14549           block is given to the method.
14551         * dir.c (push_pattern): do not call rb_ary_push; yield directly.
14553         * eval.c (blk_copy_prev): reduced ALLOC_N too much.
14555         * eval.c (frame_dup): ditto.
14557 Tue Feb 13 23:05:38 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14559         * dir.c (lstat): should use rb_sys_stat if lstat(2) is not
14560           available.
14562 Tue Feb 13 08:43:10 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14564         * io.c (rb_io_ctl): do not call ioctl/fcntl for f2, if f and f2
14565           have same fileno.
14567 Tue Feb 13 01:13:43 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14569         * eval.c (rb_load): raise LocalJumpError if unexpected local jumps
14570           appear during load.
14572         * ext/socket/socket.c (bsock_close_read): don't call rb_thread_fd_close();
14573           it's supposed to be called by io_io_close().
14575         * ext/socket/socket.c (bsock_close_read): do not modify f and f2.
14577         * ext/socket/socket.c (bsock_close_write): ditto.
14579         * ext/socket/socket.c (sock_new): avoid dup(2) on sockets.
14581         * parse.y (primary): preserve and clear in_single and in_def using
14582           stack to prevent nested method errors in singleton class bodies.
14584 Sun Feb 11 16:00:30 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14586         * eval.c (stack_length): use __builtin_frame_address() only if
14587           GCC and i386 CPU.
14589         * gc.c (rb_gc, Init_stack): ditto.
14591         * configure.in: add ac_cv_func_getpgrp_void=yes on DJGPP.
14593 Sat Feb 10 23:43:49 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14595         * hash.c (rb_any_hash): dumped core on machines sizeof(int) != sizeof(long).
14597 Sat Feb 10 23:07:15 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14599         * io.c (rb_io_s_for_fd): IO::for_fd(fd) - new method.
14601         * regex.c (PREV_IS_A_LETTER): should not treat c>0x7f as a word
14602           character if -Kn.
14604 Sat Feb 10 00:00:30 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14606         * win32/win32.c (win32_stat): replace stat to enable when pathname
14607           ends with '/' or '\' for mswin32 on Win9X / Win2k.
14609         * win32/win32.h: ditto.
14611         * ruby.h: ditto.
14613         * dir.c (rb_glob_helper): ditto.
14615         * file.c (rb_stat, rb_file_s_stat, eaccess, check3rdbyte): ditto.
14617 Fri Feb  9 22:54:57 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14619         * ruby.c (ruby_init_loadpath): convert '\\' to '/'
14620           before finding executable file path.
14622 Fri Feb  9 17:41:53 2001  Triet H. Lai  <thlai@mail.usyd.edu.au>
14624         * dir.c (rb_glob_helper): do not follow symbolic links.
14626 Thu Feb  8 21:27:24 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14628         * lib/mkmf.rb (install_rb): fix handling of relative path.
14630         * lib/mkmf.rb (create_makefile): add srcdir.
14632 Thu Feb  8 02:22:09 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14634         * lib/net/http.rb: join HTTPReadResponse into HTTPResponse again.
14636         * lib/net/http.rb: move http_version() from HTTPRequest to
14637           HTTPResponse.
14639         * lib/net/protocol.rb: refactoring.
14641 Wed Feb  7 16:27:27 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14643         * lib/net/http.rb: split HTTPResponse into HTTPReadResponse
14644           module.
14646         * lib/net/protocol.rb: add Net::net_private.
14648         * lib/net/protocol.rb: Socket#reopen takes arg, open_timeout.
14650 Wed Feb  7 16:05:22 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14652         * parse.y (parse_quotedwords): %w should allow parenthesis escape.
14654 Wed Feb  7 00:57:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14656         * parse.y (parse_qstring): %q should allow terminator escape.
14658         * re.c (rb_reg_options): new method to give an option values.
14660         * parse.y (cond0): disable special treating of integer literal in
14661           conditional unless option -e is supplied.  changes current
14662           behavior.  experimental.
14664         * parse.y (cond0): give warning for string/integer literals and
14665           dot operators in conditionals unless option -e is supplied.
14667         * re.c (rb_reg_equal): all option flags should be same to be equal.
14669 Tue Feb  6 21:30:44 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14671         * lib/net/http.rb: call on_connect() on re-opening socket.
14673         * lib/net/pop.rb: also POP3 can use APOP auth.
14675 Tue Feb  6 20:19:10 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14677         * lib/net/http.rb: add HTTP#request.
14679         * lib/net/http.rb: take HTTP 1.0 server into account (incomplete).
14681         * lib/net/protocol.rb: timeout for open/read.
14683         * lib/net/protocol.rb: add Protocol#on_connect,on_disconnect.
14685 Mon Feb  5 23:15:46 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14687         * error.c (Init_Exception): make Interrupt a subclass of
14688           SignalException.
14690 Mon Feb 5 00:39:06 2001  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
14692         * dir.c: use ISXXX() instead of isxxx().
14694         * dln.c (aix_loaderror): ditto.
14696         * file.c (rb_file_s_expand_path): ditto.
14698         * string.c (rb_str_upcase_bang): ditto.
14700         * win32/win32.c (do_spawn): ditto.
14702         * win32/win32.c (NtMakeCmdVector): ditto.
14704         * win32/win32.c (opendir): ditto.
14706 Sat Feb  3 14:44:53 2001  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
14708         * configure.in (AC_C_INLINE): check inline attribute.
14710         * gc.c (is_pointer_to_heap): use inline rather than __inline__.
14712         * pack.c (hex2num): ditto.
14714         * ruby.h (rb_class_of, rb_type, rb_special_const_p): ditto.
14716         * util.c (rb_class_of, rb_type, rb_special_const_p): defined in
14717           ruby.h.
14719 Fri Feb  2 16:14:51 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14721         * array.c (rb_ary_sort_bang): returns self, even if its length is
14722           less than 2.
14724         * eval.c (POP_VARS): propagate DVAR_DONT_RECYCLE, if
14725           SCOPE_DONT_RECYCLE of ruby_scope is set.
14727 Wed Jan 31 22:27:29 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14729         * configure.in: gcc-2.95.2-7(Cygwin) support.
14730           add -mwin32 if available.
14732         * cygwin/GNUmakefile: ditto.
14734 Tue Jan 30 17:56:48 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14736         * array.c (rb_ary_fetch): new method.
14738 Mon Jan 29 17:36:19 2001  TOYOFUKU Chikanobu  <toyofuku@juice.or.jp>
14740         * eval.c (rb_eval): nd_iter evaluation should be wrapped by
14741           BEGIN_CALLARGS and END_CALLARGS.
14743 Mon Jan 29 14:25:39 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14745         * eval.c (block_pass): return from block jumps directory to
14746           block invoker.
14748 Mon Jan 29 01:40:27 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14750         * string.c (str_independent): should not clear str->orig here.
14751           it's too early.
14753 Fri Jan 26 01:42:40 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14755         * parse.y: clarify do ambiguity, bit more complex but natural
14756           from my point of view.
14758 Wed Jan 24 14:58:08 2001  Akinori MUSHA  <knu@ruby-lang.org>
14760         * lib/cgi.rb: fix the problem that when running under mod_ruby
14761           header() outputs only one Set-Cookie line.
14763 Wed Jan 24 01:45:49 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14765         * eval.c (POP_BLOCK_TAG): call rb_gc_force_recycle() if block has
14766           not been objectified.
14768         * eval.c (rb_callcc): should nail down block->tag history to avoid
14769           rb_gc_force_recycle().
14771 Tue Jan 23 18:51:57 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14773         * gc.c (rb_gc_call_finalizer_at_exit): should finalize objects in
14774           deferred_final_list too.
14776 Tue Jan 23 16:10:12 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14778         * gc.c (os_live_obj): do not list terminated object.
14780         * gc.c (os_obj_of): ditto.
14782         * gc.c (rb_gc_mark): support new T_BLKTAG tag.
14784         * gc.c (obj_free): ditto.
14786         * eval.c (new_blktag): creation of new block tag, which holds
14787           destination of global jump and orphan status.
14789         * eval.c (block_pass): break from orphan Proc object will raise a
14790           LocalJumpError exception.
14792 Mon Jan 22 16:33:16 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14794         * mkconfig.rb: autoconf 2.49 support.
14796 Mon Jan 22 00:32:44 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14798         * eval.c (block_pass): behavior consistency with proc_call(). do
14799           not propagate `break'.
14801 Sat Jan 20 03:54:00 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14803         * parse.y (yylex): fixed serious syntax misbehavior.  do's
14804           preceding was too high.  a block in `foo bar do .. end' should
14805           be passed to `foo', not `bar'.
14807         * parse.y (block_call): syntax restructure.
14809 Thu Jan 18 04:28:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14811         * io.c (rb_io_s_read): new method to call IO#read from
14812           pathname.  In addition, it accepts third optional argument to
14813           specify starting point.
14815 Wed Jan 17 13:28:26 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14817         * configure.in: remove DEFS definition.
14819         * mkconfig.rb: ditto.
14821         * win32/config.status.in: ditto.
14823 Tue Jan 16 17:00:50 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14825         * lib/net/protocol.rb: ignore EOFError for read.
14827         * lib/net/http.rb: user specified header was not used.
14829 Mon Jan 15 16:00:07 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14831         * pack.c (pack_unpack): should check associated pointer packed by
14832           pack("P").  Thus pointers can be retrieved only from pointer
14833           packed strings.  restriction added.
14835 Sun Jan 14 21:49:28 2001  Koji Arai  <JCA02266@nifty.ne.jp>
14837         * sprintf.c (rb_f_sprintf): simple typo.  binary base should be 2,
14838           not '2'.
14840         * re.c (rb_reg_s_last_match): should explicitly return nth match.
14842 Sun Jan 14 18:21:30 2001  Usaku Nakamura  <usa@osb.att.ne.jp>
14844         * win32/config.status.in: add some field.
14846         * win32/win32.c (isInternalCmd): ignore case for shell's internal
14847           command.
14849         * win32/win32.c (do_spawn): recognize quoted command line.
14851 Sun Jan 14 04:10:27 2001  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
14853         * lib/net/protocol.rb (adding): too few "yield" in case of arg is
14854           not String/File.
14856         * lib/net/http.rb: add http request object.
14858 Sat Jan 13 19:39:30 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14860         * re.c (rb_reg_desc): separate RE_OPTION_MULTILINE
14862         * re.c (rb_reg_options): add RE_OPTION_{POSIXLINE,RE_OPTION_MULTILINE,
14863           RE_OPTION_EXTENDED}
14865 Thu Jan 11 10:45:04 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14867         * win32/win32.h, win32/config.h.in: move NORETURN from win32.h
14868           to config.h.in.
14870         * win32/config.h.in (inline): renamed from INLINE.
14872         * djgpp/config.hin (INLINE): removed.
14874 Thu Jan 11 06:45:55 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14876         * object.c (rb_mod_dup): should propagate FL_SINGLETON.
14878         * object.c (inspect_obj): handles the case of no instance variable.
14880 Wed Jan 10 16:15:08 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14882         * ruby.h: NORETURN macro is changed for VC++ 6.0.
14884         * eval.c, intern.h: ditto.
14886         * djgpp/config.hin, win32/win32.h: ditto.
14888         * configure.in: ditto.
14890 Wed Jan 10 13:54:53 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14892         * process.c (proc_setuid): use setresuid() if available.
14894         * process.c (proc_setgid): use setresgid() if available.
14896         * configure.in: ditto.
14898 Wed Jan 10 01:50:45 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14900         * configure.in (AC_C_INLINE): check inline attribute.
14902         * string.c (rb_str_reverse_bang): forgot to call rb_str_modify().
14904 Tue Jan  9 17:41:40 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14906         * object.c (rb_obj_taint): check frozen status before modifying
14907           taint status.
14909         * object.c (rb_obj_untaint): ditto.
14911 Tue Jan  9 16:22:14 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14913         * enum.c (enum_inject): new method.
14915 Tue Jan  9 02:16:42 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14917         * gc.c (rb_gc_call_finalizer_at_exit): clear klass member of
14918           terminating object.
14920         * eval.c (rb_call): raise exception for terminated object.
14922 Mon Jan  8 21:24:37 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14924         * bignum.c (bigdivrem): t2 might be too big for signed long; do
14925           not use rb_int2big(), but rb_uint2big().
14927 Mon Jan  8 21:35:10 2001  Guy Decoux  <decoux@moulon.inra.fr>
14929         * file.c (path_check_1): should restore modified path.
14931 Mon Jan  8 03:09:58 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14933         * error.c (rb_load_fail): new func to report LoadError.
14935         * ruby.c (load_file): use rb_load_fail.
14937 Sat Jan  6 00:17:18 2001  WATANABE Hirofumi  <eban@ruby-lang.org>
14939         * pack.c (pack_pack): avoid infinite loop(pack 'm2').
14941 Fri Jan  5 01:02:17 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14943         * eval.c (ruby_finalize): should enclosed by PUSH_TAG/POP_TAG.
14945         * gc.c (rb_gc_mark): link 2 of NODE_IFUNC should not be explicitly
14946           marked.  it may contain non object pointer.
14948 Tue Jan  2 00:20:06 2001  Yukihiro Matsumoto  <matz@ruby-lang.org>
14950         * re.c (reg_s_last_match): Regexp::last_match(nth) returns nth
14951           substring of the match  (alternative for $& and $<digit>).
14953 Sun Dec 31 01:39:16 2000  Guy Decoux  <decoux@moulon.inra.fr>
14955         * eval.c (rb_mod_define_method): wrong comparison for blocks.
14957 Sat Dec 30 19:28:50 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
14959         * gc.c (id2ref): should handle Symbol too.
14961         * gc.c (id2ref): should print original ptr value
14963 Sat Dec 30 03:14:22 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
14965         * eval.c (rb_iterate): NODE_CFUNC does not protect its data
14966           (nd_tval), so create new node NODE_IFUNC for iteration C
14967           function.
14969         * eval.c (rb_yield_0): use NODE_IFUNC.
14971         * gc.c (rb_gc_mark): support NODE_IFUNC.
14973 Fri Dec 29 11:41:55 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
14975         * gc.c (mem_error): prohibit recursive mem_error().
14976           (ruby-bugs-ja:PR#36)
14978 Fri Dec 29 11:05:41 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
14980         * eval.c (rb_thread_fd_writable): should not switch context if
14981           rb_thread_critical is set.
14983         * eval.c (rb_thread_wait_fd): ditto.
14985         * eval.c (rb_thread_wait_for): ditto.
14987         * eval.c (rb_thread_select): ditto.
14989         * eval.c (rb_thread_join): join during critical section causes
14990           deadlock.
14992 Fri Dec 29 00:38:46 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
14994         * m17n.c: new file - core functions of M17N.
14996 Tue Dec 26 18:46:41 2000  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
14998         * lib/debug.rb: Avoid thread deadlock in debugging stopped thread.
15000         * lib/debug.rb: Uncleared 'finish' state.
15002 Tue Dec 26 16:53:55 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15004         * eval.c (rb_yield_0): remove dvar node by rb_gc_force_recycle()
15005           more eagerly.
15007         * eval.c (rb_f_binding): recycling should be stopped for outer
15008           scope too.
15010         * eval.c (proc_new): ditto.
15012 Tue Dec 26 15:45:35 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15014         * string.c (rb_str_inspect): should treat multibyte characters
15015           properly.
15017 Mon Dec 25 17:49:08 2000  K.Kosako  <kosako@sofnec.co.jp>
15019         * string.c (rb_str_replace_m): unexpected string share happens if
15020           replace is done for associated (STR_NO_ORIG) string.
15022 Tue Dec 26 15:01:53 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15024         * io.c (rb_f_p): should not call rb_io_flush() if rb_defout is not
15025           a IO (T_FILE).
15027 Mon Dec 25 15:52:39 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15029         * stable version 1.6.2 released.
15031 Mon Dec 25 05:11:04 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
15033         * lib/cgi.rb: version 2.1.2 (some bug fixes).
15035         * lib/cgi.rb: Regexp::last_match[1] --> $1
15037         * lib/net/telnet.rb: ditto.
15039 Mon Dec 25 04:43:02 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15041         * lib/net/http.rb: does not send HEAD on closing socket.
15043 Mon Dec 25 00:44:48 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15045         * hash.c (rb_any_cmp): should use rb_str_cmp() if TYPE == T_STRING
15046           and CLASS_OF == rb_cString.
15048         * string.c (rb_str_new4): should copy class of original too.
15050 Mon Dec 25 00:04:54 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
15052         * eval.c (rb_thread_schedule): initial value of `max' changed to -1.
15054 Mon Dec 25 00:16:14 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15056         * string.c (rb_str_replace_m): copy-on-write replace.
15058         * parse.y (yylex): should handle => after identifier as well as ==
15059           and =~.
15061 Sat Dec 23 23:55:57 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15063         * bignum.c (rb_cstr2inum): Integer("") should not return 0.
15065 Sat Dec 23 11:55:57 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15067         * array.c (rb_ary_and): Array#& should preserve original order.
15069 Sat Dec 23 03:44:16 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15071         * lib/net/protocol.rb: set @closed false in Socket#reopen.
15073         * lib/net/pop.rb: add POP3.foreach, delete_all.
15075         * lib/net/pop.rb: add POP3#delete_all.
15077         * lib/net/http.rb: add HTTP.version_1_1, version_1_2
15079         * lib/net/http.rb: refactoring.
15081 Fri Dec 22 23:11:12 2000  Ueno Katsuhiro  <unnie@blue.sky.or.jp>
15083         * eval.c (rb_feature_p): ext might be null.
15085 Fri Dec 22 17:04:12 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
15087         * win32/win32.c (myselect): avoid busy loop by adjusting fd_count.
15089 Fri Dec 22 15:07:55 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15091         * bignum.c (rb_cstr2inum): prefix like '0x' had removed too much.
15093 Thu Dec 21 13:01:46 2000  Tanaka Akira  <akr@m17n.org>
15095         * lib/net/ftp.rb (makeport): don't use TCPsocket.getaddress.
15097 Wed Dec 20 12:00:15 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15099         * bignum.c (rb_big_lshift): should cast up to BDIGIT_DBL.
15101         * parse.y (yylex): disallow trailing '_' for numeric literals.
15103         * bignum.c (rb_cstr2inum): allow `_' within converting string.
15105         * eval.c (specific_eval): should take no argument if block is
15106           supplied.
15108 Tue Dec 19 13:44:50 2000  K.Kosako  <kosako@sofnec.co.jp>
15110         * io.c (rb_f_p): should flush rb_defout, not stdout.
15112 Tue Dec 19 00:57:10 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15114         * time.c (time_minus): usec might overflow. (ruby-bugs-ja:PR#35)
15116         * eval.c (rb_obj_extend): Object#extend should take at least one
15117           argument.
15119         * parse.y (mrhs_basic): should check value_expr($3), not $1.
15121 Mon Dec 18 23:18:39 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15123         * util.c (mblen, __crt0_glob_function): add for multibyte
15124           on DJGPP 2.03.
15126 Mon Dec 18 18:10:30 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15128         * time.c (time_plus): usec might underflow (ruby-bugs-ja:#PR33).
15130 Mon Dec 18 08:11:20 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15132         * hash.c (rb_hash_set_default): should call rb_hash_modify().
15134 Sat Dec 16 02:58:26 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15136         * eval.c (rb_eval): should clear ruby_errinfo on retry.
15138         * eval.c (rb_rescue2): ditto.
15140 Thu Dec 14 13:06:18 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
15142         * class.c (rb_include_module): prohibit frozen class/module.
15144         * eval.c (rb_frozen_class_p): make external.
15146         * intern.h (rb_frozen_class_p): prototyped.
15148         * intern.h (rb_undef): prototyped not but rb_undef_method()
15149           which is also in ruby.h.
15151 Thu Dec 14 09:20:26 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
15153         * lib/cgi.rb: support -T1 on ruby 1.6.2
15155         * lib/cgi.rb: $1 --> Regexp::last_match[1]
15157         * lib/net/telnet.rb: ditto.
15159 Wed Dec 13 23:27:06 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15161         * eval.c (rb_eval): handles case statement without expr, which
15162           looks for any TRUE (non nil, non false) when expression.
15164         * parse.y (primary): case expression should not be compstmt, but
15165           mere expr.
15167         * parse.y (primary): case without following expression is now
15168           separated rule.
15170 Wed Dec 13 12:41:27 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15172         * ruby.c (proc_options): accept "--^M" for DOS line endings.
15174 Tue Dec 12 15:45:42 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15176         * parse.y (newline_node): cancel newline unification.
15178 Mon Dec 11 23:01:57 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15180         * parse.y (yylex): supports cases `?' precedes EOF and newline.
15182 Mon Dec 11 12:11:25 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15184         * eval.c (call_end_proc): some frame members were left
15185           uninitialized.
15187 Mon Dec 11 01:14:58 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15189         * io.c (rb_io_fptr_finalize): do not fclose stdin, stdout and
15190           stderr at exit.
15192 Sat Dec  9 17:34:48 2000  Tachino Nobuhiro <tachino@open.nm.fujitsu.co.jp>
15194         * time.c (time_cmp): should check with kind_of?, not instance_of?
15196         * time.c (time_eql): ditto.
15198         * time.c (time_minus): ditto.
15200 Fri Dec  8 17:23:25 2000  Tachino Nobuhiro <tachino@open.nm.fujitsu.co.jp>
15202         * sprintf.c (rb_f_sprintf): proper string precision treat.
15204 Fri Dec  8 10:44:05 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15206         * variable.c (rb_mod_remove_cvar): Module#remove_class_variable
15207           added.
15209 Thu Dec  7 17:35:51 2000  Shugo Maeda  <shugo@ruby-lang.org>
15211         * eval.c (stack_length): don't use __builtin_frame_address() on alpha.
15213 Wed Dec  6 18:07:13 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15215         * djgpp/config.sed, win32/Makefile.sub: typo.
15217         * eval.c (rb_mod_define_method): avoid VC4.0 warnings.
15219 Wed Dec  6 13:38:08 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15221         * array.c (rb_ary_and): tuning, make hash from shorter operand.
15223 Wed Dec  6 01:28:50 2000  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
15225         * gc.c (rb_gc): __builtin_frame_address() should not be used on
15226           MacOS X.
15228         * gc.c (Init_stack): ditto.
15230 Mon Dec  4 13:44:01 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15232         * lib/jcode.rb: consider multibyte. not /n.
15234 Mon Dec  4 09:49:36 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15236         * string.c (rb_str_inspect): output whole string contents. no more `...'
15238         * string.c (rb_str_dump): should propagate taintness.
15240         * hash.c (env_inspect): hash like human readable output.
15242         * variable.c (rb_ivar_get): prohibiting instance variable access
15243           is too much restriction.
15245         * class.c (method_list): retrieving information should not be
15246           restricted where $SAFE=4.
15248         * class.c (rb_obj_singleton_methods): ditto.
15250         * eval.c (rb_thread_priority): ditto.
15252         * eval.c (rb_thread_local_aref): ditto.
15254         * variable.c (rb_obj_instance_variables): ditto.
15256         * variable.c (rb_mod_const_at): ditto.
15258         * variable.c (rb_mod_class_variables): ditto.
15260         * eval.c (rb_exec_end_proc): end_proc should be preserved.
15262 Sat Dec  2 22:32:43 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15264         * eval.c (rb_yield_0): || should accept exactly zero argument.
15266         * parse.y (stmt): multiple right hand side for single assignment
15267           (e.g. a = 1,2) is allowed.
15269 Wed Nov 29 07:55:29 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15271         * marshal.c (w_long): dumping long should be smaller than 32bit max.
15273         * marshal.c (w_long): shorter long format for small integers(-123..122).
15275         * marshal.c (r_long): ditto.
15277 Tue Nov 28 18:10:51 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15279         * eval.c (rb_mod_define_method): quick hack to implement
15280           on-the-fly method definition.  experimental.
15282 Mon Nov 27 17:00:35 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15284         * eval.c (rb_eval): should not redefine builtin classes/modules
15285           from within wrapped load.
15287 Mon Nov 27 08:57:33 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15289         * eval.c (call_end_proc): should be isolated from outer block.
15291 Mon Nov 27 00:10:08 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15293         * io.c (rb_io_ctl): call ioctl/fcntl for fptr->f2 too.
15295         * process.c (rb_f_fork): call rb_thread_atfork() after creating
15296           child process.
15298         * eval.c (rb_thread_atfork): kill all other threads immediately,
15299           then turn the current thread into the main thread.
15301 Sat Nov 25 23:12:22 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15303         * eval.c (ruby_run): move calling point of rb_trap_exit after
15304           cleaning up threads.
15306         * eval.c (ruby_finalize): new function to call EXIT trap, END
15307           procs and GC finalizers.
15309         * eval.c (rb_exec_end_proc): prevent recursion.
15311         * gc.c (rb_gc_call_finalizer_at_exit): ditto.
15313         * signal.c (rb_trap_exit): ditto. made static.
15315         * process.c (rb_f_fork): should swallow all exceptions from block
15316           execution.
15318         * process.c (fork_rescue): should call ruby_finalize().
15320         * parse.y (yycompile): rb_gc() removed.  I don't remember why I put
15321           this here.  test code?
15323 Fri Nov 24 22:03:48 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15325         * range.c (EXCL): exclusive information is now stored in an
15326           instance variable.  this enables proper marshal dump.
15328         * process.c (proc_waitpid): should clear rb_last_status ($?) if
15329           no pid was given by waitpid(2).
15331 Thu Nov 23 01:35:38 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15333         * process.c (proc_waitpid2): returns nil if no pid found.
15335 Wed Nov 22 23:45:15 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15337         * range.c (range_eq): new method.  Compares start and end of range
15338           respectively.
15340 Wed Nov 22 11:01:32 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15342         * variable.c (rb_mod_class_variables): should honor singleton
15343           class variable rule defined yesterday.
15345 Tue Nov 21 23:24:14 2000  Mitsuteru S Nakao  <nakao@kuicr.kyoto-u.ac.jp>
15347         * numeric.c (flodivmod): missing second operand (typo).
15349 Tue Nov 21 03:39:41 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15351         * marshal.c (marshal_load): marshal format compatibility check
15352           revised.   greater minor revision is UPWARD compatible;
15353           downward compatibility is not assured.
15355         * eval.c (is_defined): clarify class variable behavior for
15356           singleton classes.  class variables within singleton class
15357           should be treated like within singleton method.
15359 Mon Nov 20 13:45:21 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15361         * eval.c (rb_eval): set ruby_sourceline before evaluating
15362           exceptions.
15364         * gc.c (gc_sweep): defer finalization in GC during compilation or
15365           interrupt prohibit section.
15367         * gc.c (gc_sweep): mark all nodes before sweeping if GC happened
15368           during compilation.
15370         * eval.c (rb_eval): should treat class variables specially in a
15371           method defined in the singleton class.
15373 Mon Nov 20 10:20:21 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15375         * dir.c, win32/win32.c, ruby.h: add rb_iglob().
15377 Mon Nov 20 00:18:16 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15379         * array.c (rb_ary_subseq): should return nil for outbound start
15380           index.
15382         * marshal.c (marshal_load): show format versions explicitly when
15383           format version mismatch happens.
15385 Sun Nov 19 06:13:24 2000  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
15387         * marshal.c: use long for string/array length.
15389         * pack.c (swaps): use bit-or(|) instead of plus(+).
15391         * pack.c (swapl): ditto.
15393 Sat Nov 18 15:18:16 2000  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
15395         * array.c (rb_ary_replace): array size should be in long.
15397         * array.c (rb_ary_concat): ditto.
15399         * array.c (rb_ary_hash): ditto.
15401 Sat Nov 18 14:07:20 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15403         * lib/net/http.rb: Socket#readline() reads until "\n", not "\r\n"
15405 Fri Nov 17 14:55:18 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15407         * string.c (rb_str_succ): output should be NUL terminated.
15409 Fri Nov 17 02:54:15 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15411         * io.c (rb_io_close): need not to flush before closing.
15413         * eval.c (rb_thread_join): should preserve last thread status when
15414           THREAD_TO_KILL.
15416         * eval.c (rb_thread_stop): ditto.
15418         * io.c (io_fflush): wrap fflush by TRAP_BEG, TRAP_END.
15420         * eval.c (rb_eval): method defined within singleton class
15421           definition should behave like singleton method about class
15422           variables.
15424         * eval.c (is_defined): ditto.
15426 Thu Nov 16 23:06:07 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15428         * lib/net/http.rb: can call {old,new}_implementation any times.
15430         * lib/net/http.rb: HTTP#connecting, receive ->
15431           common_oper, connecting.
15433         * lib/net/http.rb: output warning if u_header includes
15434           duplicated header.
15436         * lib/net/http.rb: not check Connection:/Proxy-Connection;
15437           always read until eof.
15439         * lib/net/protocol.rb: detects and catches "break" from block.
15441 Thu Nov 16 16:32:45 2000  Masahiro Tanaka  <masa@stars.gsfc.nasa.gov>
15443         * bignum.c (bigdivrem): should have incremented ny first.
15445 Thu Nov 16 14:58:00 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
15447         * ext/socket/socket.c (sock_new): duplicates file descriptor
15448           with myfddup() on mswin32/mingw32.
15450         * win32/win32.h: uses system original fdopen().
15452         * win32/win32.c (myfddup): newly added instead of myfdopen().
15454         * win32/win32.c (mybind, myconnect, mygetsockname, mygetsockopt,
15455           mylisten, mysetsockopt): now accept file descriptor only, not
15456           SOCKET.
15458         * win32/win32.c (myaccept, mysocket): return file descriptor,
15459           instead of SOCKET.
15461 Thu Nov 16 10:23:24 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15463         * eval.c (massign): too strict check for nameless rest argument.
15465         * eval.c (method_arity): mere * should return -1.
15467         * eval.c (intersect_fds): should check all FDs in the fd_set.
15469 Wed Nov 15 19:33:20 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
15471         * eval.c (rb_attr): should clear method cache before calling hook.
15473         * eval.c (rb_eval): ditto.
15475         * eval.c (rb_mod_modfunc): ditto.
15477 Mon Nov 13 22:44:52 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15479         * error.c (rb_bug): print version to stderr.
15481 Mon Nov 13 19:02:08 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15483         * win32/win32.c, io.c, process.c: the exit status of program must be
15484           multiplied 256 on mswin32 and msdosdjgpp(system(), ``).
15486 Sat Nov 11 22:57:38 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15488         * parse.y (arg): uniformed treatment of -a**b, where a is a
15489           number literal;  hacky but behavior appears more consistent.
15491         * parse.y (newline_node): reduce newline node (one per line).
15493         * random.c (rb_f_srand): should be prohibited in safe level
15494           greater than 4.
15496 Sat Nov 11 22:37:36 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
15498         * rubysig.h: do not use rb_trap_immediate on win32.
15500         * rubysig.h: new macros, ATOMIC_TEST, ATOMIC_SET, ATOMIC_INC,
15501           ATOMIC_DEC, RUBY_CRITICAL and new definition of TRAP_BEG,
15502           TRAP_END.
15504         * gc.c (ruby_xmalloc): should wrap malloc() by RUBY_CRITICAL.
15506         * signal.c (sighandle): better win32 sig handling.
15508         * win32/win32.c (flock): better implementation.
15510         * win32/win32.c (myselect): ditto.
15512         * win32/win32.c (myaccept): ditto.
15514         * win32/win32.c (waitpid): ditto.
15516         * win32/win32.c (myrename): ditto.
15518         * win32/win32.c (wait_events): support function for win32 signal
15519           handling.
15521 Sat Nov 11 08:34:18 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15523         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.31.
15525         * lib/net/http.rb: initializes header in HTTP, not HTTPCommand.
15527         * lib/net/protocol.rb, http.rb: rewrites proxy code.
15529 Fri Nov 10 16:15:53 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15531         * numeric.c (rb_num2long): use to_int, not to_i.
15533         * error.c: T_SYMBOL was misplaced by T_UNDEF.
15535         * parse.y (yylex): eval("^") caused infinite loop.
15537 Thu Nov  9 14:22:13 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15539         * io.c (rb_io_taint_check): should check IO taintness; no
15540           operation for untainted IO should be allowed in the sandbox.
15542         * rubyio.h (GetOpenFile): check IO taintness inside using
15543           rb_io_taint_check().
15545 Wed Nov  8 03:08:53 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15547         * io.c (io_fflush): ensure fflush(3) would not block by calling
15548           rb_thread_fd_writable().
15550 Tue Nov  7 20:29:56 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15552         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.30.
15554         * lib/net/protocol.rb, smtp.rb: Command#critical_ok -> error_ok
15556         * lib/net/http.rb: reads header when also "100 Continue".
15558 Tue Nov  7 04:32:19 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15560         * bignum.c (bigdivrem): use bit shift to make y's MSB set.
15562 Mon Nov  6  1:22:49 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15564         * error.c (warn_print): do not use err_append(), to ensure output
15565           to stderr.
15567         * error.c (rb_warn): use warn_print() instead of err_print().
15569         * error.c (rb_warning): ditto.
15571         * error.c (rb_bug): ditto.
15573         * eval.c (rb_load): re-raise exceptions during load.
15575         * time.c (make_time_t): remove useless adjust
15577 Thu Nov  2 18:01:16 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15579         * random.c (rb_f_rand): half-baked float support fixed.  This fix
15580           was originally proposed by K.Kosako <kosako@sofnec.co.jp>.
15582 Tue Oct 31 17:27:17 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15584         * bignum.c: change digit size to `long|int' if long long is
15585           available.
15587         * marshal.c (w_object): support `long|int' digits.
15589         * marshal.c (r_object): ditto.
15591 Sat Oct 28 23:54:22 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15593         * parse.y (yylex): allow =end at the end of file (without a
15594           newline at the end).
15596 Fri Oct 27 10:00:27 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15598         * bignum.c (rb_cstr2inum): should ignore trailing white spaces.
15600         * bignum.c (rb_str2inum): string may not have sentinel NUL.
15602 Fri Oct 27 02:37:22 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15604         * bignum.c (rb_cstr2inum): wrongly assigned base to c before
15605           badcheck check.
15607 Thu Oct 26 02:42:50 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15609         * lib/net/protocol.rb: Command#critical_ok
15611         * lib/net/smtp.rb: clear critical flag before go to SMTP
15613 Wed Oct 25 12:30:19 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15615         * array.c (rb_ary_concat): replacing array might be the receiver
15616           itself.  do not call rb_ary_push_m.
15618         * array.c (rb_ary_replace): replacing array might be the receiver
15619           itself.  use memmove.
15621 Fri Oct 20 07:56:23 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15623         * eval.c (rb_eval): ARGSPUSH should not modify args array.
15625 Thu Oct 19 14:58:17 2000  WATANABE Tetsuya  <tetsu@jpn.hp.com>
15627         * pack.c (NUM2U32): should use NUM2ULONG().
15629 Tue Oct 17 17:30:34 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15631         * eval.c (error_print): ruby_sourcefile may be NULL.
15633 Tue Oct 17 16:36:28 2000  Wes Nakamura  <wknaka@pobox.com>
15635         * pack.c (NATINT_U32): wrong use of sizeof.
15637 Tue Oct 17 12:48:20 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
15639         * eval.c (rb_abort): nil check against ruby_errinfo.
15641         * eval.c (rb_thread_schedule): use FOREACH_THREAD_FROM instead of
15642           FOREACH_THREAD, since curr_thread may be removed from thread ring.
15644         * eval.c (THREAD_ALLOC): errinfo should be Qnil.
15646         * eval.c (rb_callcc): th->prev,th->next are now already
15647           initialized in THREAD_ALLOC.
15649 Mon Oct 16 15:37:33 2000  Kazuhiro NISHIYAMA  <zn@mbf.nifty.com>
15651         * eval.c (rb_thread_inspect): tag size was shorter than required.
15653         * object.c (rb_obj_inspect): ditto.
15655 Mon Oct 16 14:25:18 2000  Shugo Maeda  <shugo@ruby-lang.org>
15657         * object.c (sym_inspect): used `name' before initialization.
15659 Mon Oct 16 14:06:00 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15661         * pack.c (pack_pack): use NATINT_U32 for 'l', 'L', and 'N'.
15663         * pack.c (I32,U32): 32 bit sized integer.
15665         * pack.c (OFF16,OFF32B): big endian offset for network byteorder.
15667 Mon Oct 16 06:39:32 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15669         * lib/net/http.rb: hex-alpha is not [a-h] but [a-f].
15671 Mon Oct 16 01:02:02 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15673         * eval.c (rb_thread_start_0): should not abort on exception if
15674           $SAFE >= 4.
15676         * parse.y (sym): symbols for class variable names.
15678 Sun Oct 15 01:49:18 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15680         * file.c (rb_file_flock): should accept interrupt.
15682         * process.c (rb_waitpid): ditto.
15684         * process.c (rb_waitpid): ditto.
15686         * process.c (proc_wait): ditto.
15688         * process.c (proc_waitpid2): wrong recursion.
15690 Sat Oct 14 03:32:13 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15692         * eval.c (rb_thread_alloc): should not link a new thread in the
15693           live thread ring before initialization.
15695 Fri Oct 13 17:08:09 2000  Shugo Maeda  <shugo@ruby-lang.org>
15697         * lib/net/imap.rb: new file.
15699 Thu Oct 12 18:56:28 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15701         * lib/net/pop.rb: POP3#reset
15703         * lib/net/http.rb: a code for "Switch Protocol" was wrongly 100.
15705 Thu Oct 12 01:23:38 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
15707         * lib/cgi.rb: bug fix: CGI::html(): PRETTY option didn't work.
15709 Thu Oct 12 00:03:02 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15711         * object.c (sym_inspect): should adjust string length.
15713         * struct.c (rb_struct_to_s): ditto.
15715         * struct.c (rb_struct_inspect): ditto.
15717 Wed Oct 11 22:15:47 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
15719         * eval.c (rb_thread_inspect): should adjust string length.
15721         * object.c (rb_any_to_s): ditto.
15723         * object.c (rb_obj_inspect): ditto.
15725 Wed Oct 11 18:13:50 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15727         * eval.c (rb_thread_start_0): should check insecure exit.
15729 Wed Oct 11 14:29:51 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15731         * lib/net/protocol.rb: 2nd arg for ProtocolError#initialize is
15732           optional.
15734         * lib/net/http.rb: code refining.
15736 Wed Oct 11 11:13:03 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15738         * parse.y (primary): setter method (e.g. foo=) should always be
15739           public.
15741         * eval.c (rb_thread_raise): should not raise SecurityError if
15742           exception raised by the interpreter.
15744         * eval.c (rb_thread_cleanup): skip all THREAD_KILLED threads
15745           before FOREACH_THREAD.
15747 Tue Oct 10 16:11:54 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15749         * dln.c (dln_load): remove unused code for Cygwin.
15751 Tue Oct 10 09:49:23 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15753         * file.c (Init_File): FileTest.size should return 0 (not nil) for
15754           empty files.
15756 Sun Oct  8 13:20:26 2000  Guy Decoux  <decoux@moulon.inra.fr>
15758         * eval.c (POP_SCOPE): not just set SCOPE_DONT_RECYCLE, but do
15759           scope_dup().
15761 Sat Oct  7 15:10:50 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15763         * string.c (rb_str_reverse_bang): unnecessary ALLOCA_N() was
15764           removed.
15766 Fri Oct  6 14:50:24 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15768         * ext/extmk.rb.in, lib/mkmf.rb: remove "DESTDIR =".
15770         * Makefile.in, win32/Makefile.sub, ruby.1: renamed -X to -C.
15772 Fri Oct  6 12:50:52 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15774         * array.c (rb_ary_plus): use to_ary(), not Check_Type().
15776         * array.c (rb_ary_concat): ditto.
15778         * gc.c (rb_gc): use __builtin_frame_address() for gcc.
15780         * eval.c (stack_length): ditto.
15782         * parse.y (assign_in_cond): stop warning till some better warning
15783           condition will be found.
15785 Thu Oct  5 18:02:39 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15787         * object.c (rb_obj_dup): should have propagated taint flag.
15788           (ruby-bugs:#PR64,65)
15790 Wed Oct  4 00:26:11 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15792         * eval.c (proc_arity): proc{|a|}'s arity should be -1.
15794 Mon Oct  2 05:28:58 2000  akira yamada  <akira@ruby-lang.org>
15796         * string.c (trnext): minus at the end of pattern.
15798 Sun Oct  1 00:43:34 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15800         * configure.in: exp-name was wrong on cygwin and mingw32.
15802 Thu Sep 28 14:57:09 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15804         * regex.c (re_compile_pattern): should try must_string calculation
15805           every time.
15807 Tue Sep 19 23:47:44 2000  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
15809         * configure.in, config.guess, config.sub: MacOS X support.
15811 Wed Sep 27 18:40:05 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15813         * stable version 1.6.1 released.
15815 Wed Sep 27 16:13:05 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15817         * mkconfig.rb: variables should be expanded only if /\$\{?\w+\}?/.
15819 Tue Sep 26 18:09:51 2000  WATANABE Hirofumi  <eban@ruby-lang.org>
15821         * string.c: include <math.h>
15823 Tue Sep 26 15:59:50 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15825         * object.c (rb_mod_dup): metaclasses of class/module should not be
15826           cleared by rb_obj_dup.
15828 Tue Sep 26 02:44:54 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15830         * gc.c (GC_MALLOC_LIMIT): size extended.
15832         * regex.c (DOUBLE_STACK): use machine's stack region for regex
15833           stack if its size is small enough.
15835 Mon Sep 25 18:13:07 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15837         * regex.c: include <defines.h>.
15839         * eval.c (rb_add_method): cache mismatch by method
15840           definition. need to clear_cache_by_id every time.
15842 Mon Sep 25 13:31:45 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
15844         * win32/win32.c (NtCmdGlob): substitute '\\' with '/'.
15846 Mon Sep 25 00:35:01 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
15848         * defines.h: #undef HAVE_SETITIMER on cygwin.
15850 Sun Sep 24 03:01:53 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15852         * lib/net/protocol.rb, http.rb: typo.
15854 Sat Sep 23 07:33:20 2000  Aleksi Niemela  <aleksi.niemela@cinnober.com>
15856         * regex.c (re_compile_pattern): nicer regexp error messages for
15857           invalid patterns.
15859 Sat Sep 23 03:06:25 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15861         * variable.c (rb_autoload_load): should not require already
15862           provided features.
15864 Fri Sep 22 15:46:21 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15866         * lib/net/http.rb: too early parameter expansion in string.
15868 Fri Sep 22 13:58:51 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
15870         * ext/extmk.rb.in: don't use default $:
15872 Fri Sep 22 13:42:50 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
15874         * regex.c (PUSH_FAILURE_COUNT): avoid casting warning on alpha.
15876         * regex.c (PUSH_FAILURE_POINT): ditto.
15878 Fri Sep 22 10:16:21 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
15880         * win32/config.h.in: add HAVE_TELLDIR, HAVE_SEEKDIR
15882 Thu Sep 21 19:04:34 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
15884         * ext/extmk.rb, lib/mkmf.rb (install_rb): check whether libdir is
15885           directory or not.
15887 Thu Sep 21 17:23:05 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15889         * file.c (rb_file_s_symlink): use HAVE_SYMLINK.
15891         * file.c (rb_file_s_readlink): use HAVE_READLINK.
15893         * dir.c (dir_tell): use HAVE_TELLDIR.
15895         * dir.c (dir_seek): use HAVE_SEEKDIR.
15897         * configure.in (AC_CHECK_FUNCS): lstat, symlink, readlink,
15898           telldir, seekdir checks added.
15900         * file.c (lstat): should use stat(2) if lstat(2) is not
15901           available.
15903 Thu Sep 21 15:59:23 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
15905         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.29.
15907         * lib/net/http.rb: HTTPReadAdapter -> HTTPResponseReceiver
15909         * lib/net/http.rb (connecting): response is got in receive()
15911 Thu Sep 21 15:49:07 2000  Wayne Scott  <wscott@ichips.intel.com>
15913         * lib/find.rb (find): should not follow symbolic links;
15914           tuned performance too.
15916 Wed Sep 20 23:21:38 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15918         * ruby.c (load_file): two Ctrl-D was required to stop ruby at the
15919           beginning of stdin script read.
15921 Wed Sep 20 14:01:45 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15923         * eval.c (rb_provided): detect infinite load loop.
15925         * eval.c (rb_provided): too weak filename comparison.
15927         * eval.c (rb_thread_alloc): avoid recycling still referenced
15928           dvar structures.
15930         * eval.c (rb_callcc): ditto.
15932         * eval.c (THREAD_ALLOC): fill dyna_vars field by ruby_dyna_vars.
15934 Tue Sep 19 17:47:03 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15936         * stable version 1.6.0 released.
15938 Tue Sep 19 16:24:52 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15940         * marshal.c (Init_marshal): provide marshal.so no more.
15942 Tue Sep 19 14:01:01 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
15944         * configure.in, win32/setup.mak: include version number
15945           in RUBY_SO_NAME.
15947 Tue Sep 19 13:07:47 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15949         * parse.y (yylex): was confusing $~ and $_.
15951 Tue Sep 19 13:06:53 2000  GOTOU Yuuzou  <gotoyuzo@notwork.org>
15953         * signal.c (rb_f_kill): signum may be a negative number, should be
15954           treated by signed number.
15956 Tue Sep 19 01:14:56 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15958         * eval.c (rb_provide): better feature handling.
15960         * eval.c (rb_f_require): loading ruby library may be partial
15961           state.  checks in rb_thread_loading is integrated.
15963         * eval.c (rb_provided): better thread awareness.
15965         * lib/irb/frame.rb: 6 (not 5) parameters for trace_func proc.
15967         * eval.c (error_print): should print error position even if
15968           get_backtrace() failed.
15970 Sat Sep 16 03:29:59 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15972         * eval.c (rb_f_require): rb_provided() was called too early; does
15973           not work well with threads.
15975         * parse.y (ensure): should distinguish empty ensure and non
15976           existing ensure.
15978         * file.c (Init_File): extending File by class of FileTest was
15979           serious mistake.
15981 Thu Sep 14 02:46:54 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15983         * eval.c (rb_thread_yield): array strip should be done in this
15984           function.
15986 Wed Sep 13 17:01:03 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15988         * bignum.c (rb_big_eq): incomplete value comparison of bignums.
15990 Wed Sep 13 06:39:54 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
15992         * variable.c (rb_mod_class_variables): Module#class_variables added.
15994 Wed Sep 13 06:09:26 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
15996         * lib/cgi.rb: bug fix: CGI::header(): output status header.
15998 Wed Sep 13 01:09:12 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16000         * parse.y (yylex): allow global variables like '$__a'.
16002 Tue Sep 12 22:28:43 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16004         * ext/socket/extconf.rb: avoid using terrible <netinet/tcp.h>
16005           on cygwin 1.1.5.
16007 Tue Sep 12 16:01:58 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16009         * array.c (rb_ary_unshift_m): typo.
16011 Tue Sep 12 15:37:55 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16013         * eval.c (rb_yield_0): stripped array too much, should remove just
16014           for proc_call().
16016 Tue Sep 12 07:05:24 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
16018         * lib/cgi.rb: version 2.0.0: require ruby1.5.4 or later.
16020         * lib/net/telnet.rb: version 1.6.0
16022 Tue Sep 12 03:26:07 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16024         * eval.c (massign): use to_ary to get an array if available.
16026         * object.c (rb_Array): ditto.
16028 Mon Sep 11 14:24:47 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16030         * hash.c (ruby_setenv): should not free the element of
16031           origenvironment.
16033         * parse.y (command_call): kYIELD moved to this rule to allow
16034           'a = yield b'. (ruby-bugs-ja:#PR15)
16036 Mon Sep 11 01:27:54 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16038         * eval.c (rb_yield_0): proc#call([]) should pass single value to
16039           the block.
16041         * eval.c (callargs): reduce array allocation.
16043         * eval.c (massign): precise check for argument number.
16045 Fri Sep  8 10:05:17 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16047         * gc.c (STR_NO_ORIG): should be FL_USER2.
16049 Thu Sep  7 14:17:51 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16051         * string.c (rb_str_cat): should work even for concatenating same
16052           string.
16054 Wed Sep  6 17:06:38 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16056         * variable.c (rb_cvar_declare): should check superclass's class
16057           variable first.
16059 Wed Sep  6 10:42:02 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16061         * misc/ruby-mode.el (ruby-calculate-indent): shift continuing line
16062           if previous line ends with modifier keyword.
16064         * misc/ruby-mode.el (ruby-parse-region): should not give up if
16065           modifiers are at the end of line.
16067         * misc/ruby-mode.el (ruby-expr-beg): indented wrongly if modified
16068           statement was size 1.
16070 Wed Sep  6 10:41:19 2000  Kenichi Komiya  <kom@mail1.accsnet.ne.jp>
16072         * misc/ruby-mode.el (ruby-parse-region): modifier was not handled
16073           well on emacs19.
16075 Tue Sep  5 17:10:12 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16077         * time.c (time_to_s): fixed zone string UTC for utc time object.
16079 Tue Sep  5 00:26:06 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16081         * regex.c (re_search): range worked wrongly on bm_search().
16083 Mon Sep  4 13:40:40 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16085         * configure.in: renamed libruby.a to libruby.{cygwin,mingw32}.a
16086           on cygwin and mingw32.
16088 Sun Sep  3 23:44:04 2000  Noriaki Harada  <tenmei@maoh.office.ne.jp>
16090         * io.c (NO_SAFE_RENAME): for BeOS too.
16092 Sun Sep  3 11:31:53 2000  Takaaki Tateishi  <ttate@jaist.ac.jp>
16094         * parse.y (rescue): no assignment was done if rescue body was
16095           empty.
16097 Sat Sep  2 10:52:21 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16099         * parse.y (call_args,aref_args): block_call can be the last
16100           argument.
16102         * parse.y (COND_PUSH,COND_POP): maintain condition stack to allow
16103           kDO2 in parentheses in while/until/for conditions.
16105         * parse.y (yylex): generate kDO2 for EXPR_ARG outside of
16106           while/until/for condition.
16108 Fri Sep  1 10:36:29 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16110         * parse.y (aref_args,opt_call_args): add block_call to allow a
16111           method without parentheses and with block as a last argument.
16113         * hash.c (rb_hash_sort): should not return nil.
16115         * re.c (match_aref): should use rb_reg_nth_match().
16117         * eval.c (POP_SCOPE): recycled scopes too much
16119         * eval.c (Init_eval): extend room for stack allowance.
16121         * eval.c (POP_SCOPE): frees scope too much.
16123 Thu Aug 31 14:28:39 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16125         * gc.c (rb_gc_mark): T_SCOPE condition must be more precise.
16127         * eval.c (scope_dup): should not make all duped scope orphan.
16129 Thu Aug 31 10:11:47 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16131         * parse.y (stmt): allow stmt_rhs to be right hand side of multiple
16132           assignment.
16134         * time.c (rb_time_timeval): type error should not mention the word
16135           'interval'.
16137 Wed Aug 30 23:21:20 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16139         * numeric.c (rb_num2long): use rb_Integer() instead of independent
16140           convert routine.
16142         * eval.c (rb_rescue2): now takes arbitrary number of exception types.
16144         * object.c (rb_convert_type): use rb_rescue2 now to handle NameError.
16146         * object.c (rb_convert_type): better error message.
16148 Wed Aug 30 17:09:14 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16150         * ext/Win32API/Win32API.c (Win32API_initialize): AlphaNT support.
16152 Wed Aug 30 14:19:07 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16154         * parse.y (node_assign): should support NODE_CVASGN2 too.
16156 Wed Aug 30 11:31:47 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
16158         * ext/Win32API/Win32API.c (Win32API_initialize): add the
16159           arguments checking.
16161         * ext/Win32API/Win32API.c (Win32API_initialize): add taint
16162           checking. allow String object in the third argument.
16164 Wed Aug 30 10:29:40 2000  Masahiro Tomita  <tommy@tmtm.org>
16166         * io.c (rb_f_p): flush output buffer.
16168 Tue Aug 29 16:29:15 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16170         * parse.y (assignable): remove NODE_CVASGN3.
16172         * parse.y (gettable): remove NODE_CVAR3.
16174 Tue Aug 29 02:02:14 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16176         * lib/mkmf.rb (create_makefile): handles create_makefile("a/b").
16178         * ext/extmk.rb.in (create_makefile): ditto
16180 Mon Aug 28 18:43:54 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16182         * eval.c (is_defined): now handles class variables.
16184         * eval.c (rb_eval): class variable behavior revisited.
16186         * parse.y (assignable): ditto.
16188         * parse.y (gettable): ditto.
16190         * regex.c (PUSH_FAILURE_COUNT): push/pop interval count on failure
16191           stack.  this fix is inspired by the Emacs21 patch from Stefan
16192           Monnier <monnier@cs.yale.edu>.
16194 Fri Aug 25 15:24:39 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16196         * variable.c (rb_cvar_get): should not follow __attached__.
16198         * variable.c (rb_cvar_set): ditto.
16200         * variable.c (rb_cvar_declare): ditto.
16202         * variable.c (mod_av_set): second class variable assignment at the
16203           toplevel should not give warning.
16205 Fri Aug 25 01:18:36 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16207         * io.c (next_argv): prepare path for open file.
16209         * string.c (rb_str_setter): moved from io.c.
16211         * io.c (next_argv): filename should be "-" for refreshed ARGF.
16213 Thu Aug 24 15:27:39 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16215         * ext/socket/socketport.h: use `extern int h_errno' if needed.
16217 Sat Aug 19 01:34:02 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16219         * ext/sdbm/_sdbm.c (sdbm_prep): flags should be or-ed by O_BINARY on
16220           Win32 too.
16222         * ext/sdbm/_sdbm.c (makroom): fill hole with 0 on Win32 too.
16224 Fri Aug 18 13:23:59 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16226         * eval.c (rb_eval): should preserve and clear $! value before
16227           compilation.
16229         * eval.c (eval): ditto.
16231 Fri Aug 18 11:06:19 2000  Shugo Maeda  <shugo@ruby-lang.org>
16233         * ext/socket/socket.c (s_accept): start GC on EMFILE/ENFILE.
16235 Thu Aug 17 16:04:48 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16237         * eval.c (is_defined): should clear ruby_errinfo.
16239 Thu Aug 17 04:26:31 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16241         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.27.
16243         * lib/net/protocol.rb: writing methods returns written byte size.
16245         * lib/net/smtp.rb: send_mail accepts many destinations.
16247 Wed Aug 16 00:43:47 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16249         * time.c (time_s_times): use CLK_TCK for HZ if it's defined.
16251 Tue Aug 15 17:30:59 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16253         * eval.c (frame_dup): should set flag FRAME_MALLOC after
16254           argv allocation.
16256         * eval.c (blk_free): should not free argv if GC was called before
16257           frame_dup.
16259 Tue Aug 15 16:08:40 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16261         * configure.in: add ac_cv_func_times=yes for mingw32.
16263         * win32/win32.c (mytimes): typo.
16265 Tue Aug 15 01:45:28 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16267         * io.c (argf_eof): should return true at the end of ARGF without
16268           checking stdout if arguments are given.
16270 Mon Aug 14 10:34:32 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16272         * eval.c (rb_thread_status): status should return false for normal
16273           termination, nil for termination by exception.
16275 Fri Aug 11 15:43:46 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16277         * eval.c (rb_undef): give warning for undefining __id__, __send__.
16279 Thu Aug 10 08:05:03 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16281         * eval.c (rb_callcc): returned current thread instead of
16282           continuation wrongly.
16284 Thu Aug 10 05:40:28 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16286         * ext/extmk.rb.in: $CPPFLAGS should be initialized.
16288         * ext/tcltklib/depend: add stubs.o.
16290         * ext/tcltklib/extconf.rb: use $CPPFLAGS instead of $CFLAGS.
16292 Wed Aug  9 16:31:48 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16294         * eval.c (rb_callcc): thread status for continuations must be
16295           THREAD_KILLED, otherwise thread_free() breaks other threads.
16297 Wed Aug  9 13:24:25 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16299         * win32/win32.[ch]: emulate rename(2).
16301 Tue Aug  8 14:01:46 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16303         * ext/tcltklib/tcltklib.c: support --enable-tcltk_stubs
16305         * ext/tcltklib/extconf.rb: ditto.
16307         * ext/tcltklib/stubs.c: created. examine candidate shared libraries.
16309 Mon Aug  7 13:59:12 2000  Yukihiro Matsumoto  <matz@ruby-lang.org>
16311         * ruby.h (CLONESETUP): should copy flags before any potential
16312           object allocation.
16314         * regex.c (re_match): check for stack depth was needed.
16316 Sat Aug  5 16:43:43 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16318         * djgpp/*: convert DOS line endings to UNIX style.
16320         * djgpp/config.status: rename to config.sed for SFN.
16322         * lib/ftools.rb (compare, safe_unlink, chmod): avoid warnings.
16324         * lib/ftools.rb (move): typo. not `tpath', but `to'.
16326 Fri Aug  4 23:26:48 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16328         * eval.c (proc_call): gives warning if a block is supplied.
16330         * eval.c (rb_eval): no warning for discarding if an alias for the
16331           method is already made.
16333 Fri Aug  4 16:32:29 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16335         * array.c (rb_ary_reject_bang): returns nil if no element removed.
16337         * hash.c (rb_hash_reject_bang): returns nil if no element removed.
16339 Thu Aug  3 19:44:26 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16341         * eval.c (rb_thread_fd_writable): should return integer value.
16343         * array.c (rb_ary_assoc): search array element whose length is
16344           longer than 0 (not 1).
16346 Wed Aug  2 18:27:47 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16348         * eval.c (rb_thread_wait_fd): prohibit thread context switch
16349           during compilation.
16351         * eval.c (rb_cont_call): prohibit Continuation#call across threads.
16353 Wed Aug  2 08:22:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16355         * gc.c (rb_gc): clear malloc_memories to zero, to avoid potential
16356           super frequent GC invocation. (ruby-bugs:#PR48)
16358         * gc.c (rb_gc): only add_heap() if GC trigger condition is
16359           satisfied.
16361 Tue Aug  1 16:41:58 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16363         * ruby.c (proc_options): global load path setting moved from
16364           ruby_prog_init().
16366         * ruby.c (incpush): renamed.  push path entry at the END of the
16367           load path array.  This makes -I directories sorted in order in
16368           the arguments.
16370 Sat Jul 29 23:42:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16372         * dir.c (dir_each): should check whether dir is closed during the
16373           block execution. (ruby-bugs:#PR47)
16375 Sat Jul 29 21:57:30 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16377         * ruby.c (rubylib_mangle): provide another buffer for the result.
16379 Wed Jul 26 10:09:01 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16381         * configure.in: set SOLIBS to LIBS on Cygwin.
16383         * configure.in: LIBRUBY_SO='$(RUBY_INSTALL_NAME)'.$target_os.dll
16384           on cygwin and mingw32. ruby-cygwin.dll is bad. why?
16386 Wed Jul 26 10:04:03 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16388         * gc.c (gc_sweep): avoid full scan during compilation.
16390         * gc.c (rb_gc): add heap during no gc period (including
16391           compilation).
16393 Tue Jul 25 19:03:04 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16395         * cygwin/GNUmakefile: use puts instead of print, because
16396           Cygwin DLL's behavior is changed(or bug?).
16398         * configure.in: LIBRUBY_SO='$(RUBY_INSTALL_NAME)'-$target_os.dll
16399           on cygwin and mingw32.
16401         * cygwin/GNUmakefile: ditto.
16403         * Makefile.in: $(SOLIBS) should be put after dmyext.@OBJEXT@.
16405         * instruby.rb: install $(LIBRUBY) to libdir
16406           if $(LIBRUBY) != $(LIBRUBY_A_).
16408 Tue Jul 25 15:16:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16410         * io.c (rb_p): redirect to $defout.
16412 Mon Jul 24 18:52:55 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16414         * win32/win32.c (win32_getenv): should remove `static'.
16416         * ruby.c (rubylib_mangle): support "/hoge;/foo"
16418 Mon Jul 24 10:28:55 2000  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
16420         * string.c (rb_str_count): raise exception if no argument is
16421           given.
16423 Sun Jul 23 12:55:04 2000  Dave Thomas  <Dave@Thomases.com>
16425         * string.c (rb_str_rindex): Support negative end position.
16427 Fri Jul 21 17:35:01 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16429         * parse.y (aref_args): command_call now be permitted as
16430           aref_args.
16432         * process.c (proc_getpriority): getpriority(2) may return valid
16433           negative number.  use errno to detect error.
16435         * marshal.c (dump_ensure): dumped string should be tainted if
16436           any among target objects is tainted.
16438         * marshal.c (r_regist): restored object should be tainted if and
16439           only if the source is a file or a tainted string.
16441 Wed Jul 19 15:14:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16443         * bignum.c (bigdivrem): should use rb_int2big(), not rb_uint2big().
16445 Tue Jul 18 14:58:30 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16447         * eval.c (ruby_options): should treat SystemExit etc. properly.
16449         * parse.y (yycompile): should check compile_for_eval, not
16450           ruby_in_eval.
16452 Mon Jul 17 04:29:50 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16454         * lib/mkmf.rb: converts extension of $objs into $OBJEXT.
16456 Sun Jul 16 03:02:34 2000  Dave Thomas <dave@thomases.com>
16458         * lib/weakref.rb: Change to use new ObjectSpace calls.
16460 Sat Jul 15 21:59:58 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16462         * eval.c (rb_eval): should not redefine __id__ nor __send__.
16464         * gc.c (define_final): integrate final.rb features into the
16465           interpreter.  define_finalizer and undefine_finalizer was
16466           added to ObjectSpace.  plus, add_finalizer, remove_finalizer,
16467           and call_finalizer are deprecated now.
16469 Sat Jul 15 01:32:34 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16471         * eval.c (rb_mod_method): implements unbound method.
16473         * eval.c (Init_eval): should prohibit `module_function' for class
16474           Class.
16476 Fri Jul 14 17:19:59 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16478         * cygwin/GNUmakefile.in: use miniruby instead of sed.
16480 Fri Jul 14 12:49:50 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16482         * io.c (argf_eof): need to check stdin, when next_p == -1.
16484         * io.c (read_all): use io_fread() instead of fread(3).
16486         * io.c (io_reopen): should clearerr FILE if fd < 3.
16488         * re.c (rb_reg_match_m): the result is exported, so it should be
16489           declared as busy.
16491         * eval.c (rb_eval): should preserve errinfo even if return, break,
16492           etc. is called in rescue clause.
16494         * instruby.rb: install irb too.
16496 Wed Jul 12 15:32:57 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16498         * variable.c (rb_const_get): constants for builtin classes must
16499           have higher priority than constants from included modules at
16500           Object class.
16502         * bignum.c (bigdivrem): small embarrassing typo.
16504 Wed Jul 12 15:06:28 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16506         * eval.c (rb_eval): use rb_const_get_at().
16508         * variable.c (top_const_get): retrieve toplevel constants only,
16509           not ones of Object (and its included modules) in general.
16511 Wed Jul 12 15:04:11 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16513         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.26.
16515         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb:
16516           add module Net::NetPrivate and its inner classes
16517           {Read,Write}Adapter, Command, Socket,
16518           SMTPCommand, POP3Command, APOPCommand, HTTPCommand
16520 Wed Jul 12 13:10:30 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16522         * bignum.c (bigdivrem): defer bignorm().
16524         * bignum.c (bignorm): accepts accidental fixnums.
16526 Tue Jul 11 16:54:17 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16528         * parse.y (yylex): `@<digit>' is no longer a valid instance
16529           variable name.
16531 Tue Jul 11 01:51:50 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16533         * bignum.c (rb_big_divmod): should not use Integer(float) for
16534           the right operand.
16536         * bignum.c (rb_big_remainder): ditto.
16538         * bignum.c (rb_big_modulo): ditto.
16540 Mon Jul 10 15:27:16 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16542         * io.c (pipe_finalize): should set rb_last_status when pclose().
16544 Mon Jul 10 09:07:54 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16546         * error.c (rb_bug): print version number and such too.
16548 Sat Jul  8 23:08:40 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16550         * eval.c (rb_thread_start_0): should copy previous scopes to
16551           prevent rb_gc_force_recycle().
16553 Fri Jul  7 23:36:36 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16555         * ext/socket/addrinfo.h: move IN_EXPERIMENTAL and IN_LOOPBACKNET
16556           definitions to ext/socket/sockport.h.
16558         * ext/socket/extconf.rb: add getservbyport() and arpa/inet.h check.
16560         * ext/socket/getaddrinfo.c (getaddrinfo): SOCK_RAW may not be
16561           defined (ex. BeOS, Palm OS 2.x or before).
16563         * ext/socket/getnameinfo.c (getnameinfo): getservbyport() may not
16564           exist (ex. BeOS, Palm OS).
16566         * ext/socket/sockport.h: add IN_EXPERIMENTAL, IN_CLASSA_NSHIFT,
16567           IN_LOOPBACKNET, AF_UNSPEC, PF_UNSPEC and PF_INET.
16569 Fri Jul  7 03:30:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16571         * parse.y (aref_args): should allow Hash[:a=>2] etc.
16573         * numeric.c (fix_aref): convert index by NUM2INT, not FIX2INT.
16574           (ruby-bugs:#PR37)
16576         * time.c (time_localtime): should prohibit for frozen time.
16578         * time.c (time_gmtime): ditto.
16580 Thu Jul  6 19:12:12 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16582         * io.c (rb_file_s_open): should not terminate fptr; just clear it.
16584         * ruby.c (proc_options): should not call require_libraries()
16585           twice.
16587         * ruby.c (require_libraries): clear req_list_head.next after
16588           execution.
16590 Thu Jul  6 13:51:57 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
16592         * object.c (rb_to_id): name may not be symbol nor fixnum.
16594         * struct.c (rb_struct_s_def): name may be nil.
16596 Thu Jul  6 02:09:06 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16598         * bignum.c (bigdivrem): new function to return remainder.
16600         * numeric.c (fixdivmod): now returns modulo, not remainder.
16602         * numeric.c (flodivmod): ditto.
16604         * bignum.c (bigdivmod): ditto.
16606         * numeric.c (num_modulo): new method; alias to '%'.
16608 Thu Jul  6 00:51:43 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16610         * win32/win32.c (NtCmdGlob): patterns should be separated and
16611           NUL terminated.
16613 Wed Jul  5 22:27:56 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16615         * cygwin/GNUmakefile: use ruby.def to make rubycw.dll.
16617         * ext/extmk.rb.in: create target.def.
16619         * lib/mkmf.rb: ditto.
16621 Wed Jul  5 09:47:14 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16623         * time.c (time_arg): Time::local, Time::gm now take 7th optional
16624           argument for usec.
16626         * numeric.c (num_ceil, etc): default ceil, floor, round, truncate
16627           implementation for Numeric, using `to_f'.
16629         * io.c (rb_io_reopen): clear fptr->path after free() to prevent
16630           potential GC crash.
16632         * io.c (rb_file_s_open): terminate fptr unless null.
16634         * io.c (rb_file_initialize): ditto.
16636         * lib/tempfile.rb: specify FILE::CREAT|File::EXCL to open for
16637           better security.
16639         * numeric.c (flo_truncate): new method.
16641 Wed Jul  5 01:02:53 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16643         * ext/extmk.rb.in: join ' ' -> join(' ').
16645         * lib/mkmf.rb: ditto.
16647 Tue Jul  4 13:51:29 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16649         * ext/dbm/dbm.c: add methods added to Hash in 1.5.x.
16651         * ext/gdbm/gdbm.c: ditto.
16653         * ext/sdbm/init.c: ditto.
16655         * eval.c (proc_call): args may be Qundef (means no argument), do
16656           not call TYPE() for args.
16658 Tue Jul  4 13:20:56 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16660         * ext/extmk.rb.in: make command line must be single-quoted.
16661           $(RUBY_INSTALL_NAME) is command substitution in the POSIX sh.
16663 Tue Jul  4 13:16:02 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16665         * util.c (rb_type): should add T_UNDEF.
16667 Tue Jul  4 09:30:35 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16669         * parse.y (here_document): supports EOF right after terminator.
16671         * random.c (rb_f_rand): argument is now optional (rand(max=0)).
16673 Tue Jul  4 01:50:49 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16675         * win32/ruby.def: remove ruby_mktemp.
16677 Tue Jul  4 01:27:13 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16679         * eval.c (rb_rescue2): new function to rescue arbitrary exception.
16681         * numeric.c (do_coerce): should catch NameError explicitly.
16683 Tue Jul  4 00:15:23 2000  Dave Thomas  <Dave@thomases.com>
16685         * numeric.c (Init_Numeric): forgot to register Numeric#remainder.
16687 Mon Jul  3 23:46:56 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16689         * win32/win32.c (myselect, myaccept): disable interrupt while
16690           executing accept() or select() to avoid Ctrl-C causes
16691           "unknown software exception (0xc0000029)".
16693 Mon Jul  3 18:35:41 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16695         * lib/mkmf.rb: use null device if it exists for cross-compiling.
16697 Mon Jul  3 18:19:51 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16699         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.26.
16701         * lib/net/protocol.rb (finish): do nothing unless active.
16703         * lib/net/http.rb: HTTP#{get,post}2 again (for new impl).
16705 Mon Jul  3 16:47:22 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16707         * cygwin/GNUmakefile: librubys.a -> lib$(RUBY_INSTALL_NAME)s.a
16709         * configure.in: use AC_CANONICAL_{HOST,TARGET,BUILD}.
16711 Mon Jul  3 13:15:02 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16713         * numeric.c (fix_divmod): x * d + m = y where d, m = x.divmod(y).
16715         * bignum.c (rb_big_divmod): ditto.
16717         * numeric.c (fixdivmod): does not depend C's undefined %
16718           behavior.  adopt to fmod(3m) behavior.
16720         * numeric.c (flo_mod): modulo now reserves fmod(3m) behavior.
16722         * numeric.c (num_remainder): 'deprecated' warning.
16724 Mon Jul  3 10:27:28 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16726         * configure.in: use AC_CANONICAL_SYSTEM.
16728 Sun Jul  2 21:17:37 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16730         * configure.in: support without --enable-shared for cygwin/mingw32.
16732         * cygwin/GNUmakefile: ditto.
16734         * ext/extmk.rb.in: use null device if it exists for cross-compiling.
16736         * lib/mkmf.rb: ditto.
16738         * util.c (ruby_mktemp): remove unused ruby_mktemp().
16740 Sun Jul  2 14:18:04 2000  Koji Arai  <JCA02266@nifty.ne.jp>
16742         * eval.c (TMP_PROTECT_END): tmp__protect_tmp may be NULL.
16744 Sun Jul  2 03:37:50 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16746         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.25.
16748         * lib/net/protocol.rb (each_crlf_line): beg = 0 is needed in adding{}
16750         * lib/net/smtp.rb: allow String for to_addr of SMTP#sendmail
16752 Sat Jul  1 15:22:35 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16754         * numeric.c (fix_rshift): should handle shift value more than
16755           sizeof(long).
16757 Sat Jul  1 15:22:35 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16759         * eval.c (rb_eval): the value from RTEST() is not valid Ruby
16760           object.  result should be either true or false.
16762 Sat Jul  1 09:30:06 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16764         * re.c (rb_reg_initialize): was freeing invalid pointer.
16766 Sat Jul  1 03:25:56 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16768         * parse.y (call_args): command_call can be the last argument of
16769           call_args.  It had to be the only argument.
16771         * re.c (rb_reg_s_quote): should not dump core even for unsane mbc
16772           string.
16774 Fri Jun 30 01:36:20 2000  Aleksi Niemela  <aleksi.niemela@cinnober.com>
16776         * parse.y (f_norm_arg): better, nicer error message.
16778 Thu Jun 29 07:45:33 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16780         * ext/socket/socket.c (udp_send): destination may be packed
16781           struct sockaddr.
16783         * object.c (rb_Integer): Integer(nil) should be invalid, on the
16784           other hand, nil.to_i is OK.
16786 Wed Jun 28 17:26:06 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16788         * ext/socket/socket.c (ip_recvfrom): udp_recvfrom and tcp_recvfrom
16789           is merged and moved to IPSocket#recvfrom.
16791         * ext/socket/socket.c (sock_s_getaddrinfo): family can be a
16792           strings such as "AF_INET" etc.
16794         * ruby.c (require_libraries): . and RUBYLIB added to $load_path
16795           just before -r procedure.
16797         * ruby.c (proc_options): -e, - did not exec -r.
16799 Wed Jun 28 14:52:28 2000  Koga Youichirou <y-koga@mms.mt.nec.co.jp>
16801         * config.sub: NetBSD/hpcmips support.
16803 Wed Jun 28 10:11:06 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16805         * gc.c: gc trigger threshold changed; GC_NEWOBJ_LIMIT removed,
16806           FREE_MIN is increased to 4096.
16808 Tue Jun 27 22:39:28 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16810         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.24.
16812         * lib/net/protocol.rb: modified each_crlf_line again.
16814         * lib/net/protocol.rb: do_write_beg,do_write_end -> writing{}
16815           do_write_do -> do_write
16817         * lib/net/http.rb: can make proxy connection by passing
16818           addresses to HTTP.new, start.
16820         * lib/net/http.rb: HTTP.new_implementation, old_implementation:
16821           can use 1.2 implementation of head, get, post, put.
16822           (see document)
16824 Tue Jun 27 12:05:10 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16826         * win32.c (myfdclr): new function.
16828         * win32.h: add FD_CLR.
16830 Mon Jun 26 23:41:41 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16832         * ruby.h: add cast for ANSI style.
16834         * gc.c (rb_data_object_alloc): use RUBY_DATA_FUNC.
16836 Mon Jun 26 22:20:03 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16838         * win32/win32.c (is_socket, extract_file_fd): New function.
16840         * win32/win32.c (myfdopen): use is_socket().
16842         * win32/win32.c (myselect): return non socket files immediately
16843           if file and socket handles are mixed.
16845 Mon Jun 26 16:21:30 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16847         * eval.c (rb_thread_schedule): wait_for cleared too early.
16849 Mon Jun 26 09:15:31 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16851         * pack.c: remove obsolete 'F', 'D' specifiers.
16853 Sun Jun 25 00:55:03 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16855         * ext/socket/socket.c (sock_s_getnameinfo): `res' would not
16856           be assigned if TYPE(sa) == T_STRING.
16858 Sat Jun 24 14:36:29 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16860         * config*.dj, configure.bat, top.sed: move to djgpp/.
16862 Sat Jun 24 02:34:17 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16864         * ruby.c (load_file): call require_libraries() here to let
16865           debug.rb work properly.
16867 Fri Jun 23 22:34:51 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
16869         * bignum.c (rb_big_lshift): reorder xds assignment to avoid
16870           reusing `x' as `len' by VC++ 6.0 SP3 compiler with -Ox switch.
16872 Fri Jun 23 01:11:27 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16874         * string.c (rb_str_substr): should return empty string (""),
16875           if beg == str.size and len == zero, mostly for convenience and
16876           backward compatibility.
16878         * parse.y (new_super): should tweak block_pass node for super too.
16880         * string.c (rb_str_split_m): last split element should not be nil,
16881           but "" when limit is specified.
16883 Thu Jun 22 17:27:46 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16885         * string.c (rb_str_substr): str[n,m] now returns nil when n equals
16886           to str.size.
16888 Thu Jun 22 13:49:02 2000  Uechi Yasumasa <uechi@ryucom.ne.jp>
16890         * lib/net/ftp.rb: support resuming.
16892 Thu Jun 22 13:37:19 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16894         * eval.c (rb_thread_sleep_forever): merge pause() macro.
16896 Wed Jun 21 08:49:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16898         * eval.c (rb_eval): should not raise exception just by defining
16899           singleton class.
16901 Wed Jun 21 01:18:03 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16903         * ruby.h: two macros RUBY_DATA_FUNC and RUBY_METHOD_FUNC are added
16904           to make writing C++ extensions easier.
16906         * array.c (rb_ary_dup): internal classes should not be shared by dup.
16908         * hash.c (rb_hash_dup): ditto.
16910         * object.c (rb_obj_dup): ditto.
16912         * string.c (rb_str_dup): ditto.
16914         * error.c (Init_Exception): renamed NotImplementError to
16915           NotImplementedError.
16917 Tue Jun 20 16:22:38 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16919         * time.c (make_time_t): bug in DST boundary.
16921 Tue Jun 20 10:54:19 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16923         * configure.in: add eval sitedir.
16925 Tue Jun 20 06:14:43 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
16927         * lib/cgi.rb: change: version syntax. old: x.yz, now: x.y.z
16929         * lib/net/telnet.rb: ditto.
16931 Tue Jun 20 00:37:45 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16933         * re.c (rb_reg_kcode_m): Regexp#kcode returns nil for code unfixed
16934           regexp object.
16936         * bignum.c (bigdivmod): bignum zero check was wrong.
16938 Mon Jun 19 10:48:28 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16940         * variable.c (rb_cvar_set): forgot to add security check for class
16941           variable assignment.
16943 Sun Jun 18 22:49:13 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16945         * configure.in: single quoted sitedir.
16947         * mkconfig.rb: add DESTDIR for cross-compiling.
16949         * lib/mkmf.rb: add DESTDIR.
16951         * ruby.c (load_file): force binmode if fname includes ".exe"
16952           on DOSISH.
16954 Sat Jun 17 23:22:17 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16956         * sprintf.c (rb_f_sprintf): should ignore negative precision given
16957           by <%.*>.
16959         * sprintf.c (rb_f_sprintf): should allow zero precision.
16961 Sat Jun 17 03:13:29 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16963         * time.c (time_localtime): avoid unnecessary call of localtime.
16965         * time.c (time_gmtime): avoid unnecessary call of gmtime.
16967         * process.c (proc_wait2): new method.
16969         * process.c (proc_waitpid): second argument made optional.
16971         * process.c (proc_waitpid2): new method.
16973 Sat Jun 17 00:05:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16975         * re.c (rb_reg_clone): should initialize member fields.
16977 Fri Jun 16 22:49:34 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
16979         * io.c (rb_io_rewind): set lineno to zero.
16981 Fri Jun 16 22:47:47 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
16983         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.23.
16985         * lib/net/protocol.rb: too many CRLF in last line.
16987 Fri Jun 16 21:23:59 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
16989         * configure.in: add pause(2) checking.
16991         * eval.c: define pause() if missing.
16993 Fri Jun 16 18:41:58 2000  Koji Arai  <JCA02266@nifty.ne.jp>
16995         * process.c (proc_setsid): BSD-style setpgrp() don't return
16996           process group ID, but 0 or -1.
16998 Fri Jun 16 16:23:35 2000  Koji Arai  <JCA02266@nifty.ne.jp>
17000         * file.c (rb_stat_inspect): gives detailed information;
17001           compatibility with ruby-1.4.x.
17003 Fri Jun 16 05:18:45 2000  Yasuhiro Fukuma  <yasuf@bsdclub.org>
17005         * configure.in: FreeBSD: do not link dummy libxpg4 which was
17006           merged into libc.
17008 Fri Jun 16 03:17:36 2000  Satoshi Nojo  <nojo@t-samukawa.or.jp>
17010         * ext/dbm/dbm.c (fdbm_length): use GetDBM. empty?, [] too.
17012         * ext/gdbm/gdbm.c (fgdbm_length): ditto.
17014         * ext/sdbm/init.c (fsdbm_length): ditto.
17016 Fri Jun 16 01:57:31 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17018         * eval.c (rb_thread_sleep_forever): pause(2) instead of sleep(3).
17020 Thu Jun 15 10:46:36 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17022         * string.c (rb_str_sub_bang): should propagate taintness from
17023           replacement string.
17025 Wed Jun 14 17:01:41 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17027         * rubytest.rb: add CONFIG['EXEEXT'] to the executable file name.
17029 Wed Jun 14 14:50:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17031         * string.c (rb_f_sub): assign to $_ only if modification happens.
17033         * string.c (rb_f_gsub): ditto.
17035         * string.c (rb_f_chop): ditto.
17037         * string.c (rb_f_chomp): ditto.
17039         * io.c (io_reopen): preserve file position by ftell/fseek, if io
17040           is a seekable.
17042         * eval.c (method_arity): wrong arity number for the methods with
17043           optional arguments.
17045         * time.c (make_time_t): opposite timezone shift (should be negative).
17047 Wed Jun 14 14:07:38 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17049         * io.c: typo(ig/if).
17051         * re.c: typo(re/reg). add rb_reg_check().
17053         * time.c: remove unneeded declare(daylight, timezone).
17055         * configure.in: add include <time.h> when daylight checking.
17057 Wed Jun 14 11:36:52 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17059         * marshal.c (r_object): modified for symbols.
17061         * marshal.c (w_object): ditto.
17063 Wed Jun 14 10:04:58 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17065         * re.c (rb_memcmp): should compare according to ruby_ignorecase.
17067         * string.c (rb_str_cmp): use rb_memcmp.
17069         * string.c (rb_str_index): ditto.
17071         * string.c (rb_str_rindex): ditto.
17073         * string.c (rb_str_each_line): ditto.
17075 Wed Jun 14 04:58:53 2000  Dave Thomas  <dave@thomases.com>
17077         * io.c (rb_io_set_lineno): should have returned VALUE, not
17078           integer.
17080 Wed Jun 14 09:29:42 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17082         * string.c (rb_str_dup): dup should always propagate taintness.
17084 Wed Jun 14 00:50:14 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
17086         * lib/cgi.rb: read_multipart(): if no content body then raise EOFError.
17088 Tue Jun 13 11:46:17 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17090         * process.c (proc_setsid): try implement it using setpgrp() and
17091           ioctl(fd, TIOCNOTTY, NULL).
17093         * re.c (rb_reg_prepare_re): magic variable $= should affect regex
17094           pattern match.
17096         * time.c (make_time_t): use tm.tm_gmtoff if possible.
17098         * time.c (time_zone): use tm.tm_zone if available.
17100 Tue Jun 13 01:50:57 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17102         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.22.
17104         * lib/net/http.rb: HTTPResponse#body returns body.
17106 Mon Jun 12 23:41:54 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17108         * configure.in (daylight): avoid GCC optimization.
17110 Mon Jun 12 19:02:27 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17112         * configure.in: cygwin has strange timezone.
17114         * time.c (time_zone): use tzname and daylight.
17116 Sat Jun 10 23:10:32 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17118         * io.c (rb_io_seek): whence is optional, default is SEEK_SET.
17120 Fri Jun  9 17:00:29 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17122         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.21.
17124         * lib/net/http.rb: exception is raised with response object.
17126 Fri Jun  9 15:11:35 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17128         * time.c (make_time_t): supports daylight saving time.
17130         * eval.c (rb_thread_safe_level): should retrieve current $SAFE
17131           value if a thread is the current thread.
17133 Thu Jun  8 14:25:45 2000  Hiroshi Igarashi  <iga@ruby-lang.org>
17135         * lib/mkmf.rb: add target `distclean' in Makefile for extlib.
17136           target `clean' doesn't remove Makefile.
17138 Thu Jun  8 13:34:03 2000  Dave Thomas  <dave@thomases.com>
17140         * numeric.c: add nan?, infinite?, and finite? to Float
17142 Thu Jun  8 00:31:04 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17144         * regex.h: export re_mbctab properly on cygwin.
17146         * dln.c: use dlopen instead of LoadLibrary on cygwin.
17148 Thu Jun  8 13:41:34 2000  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
17150         * file.c (rb_file_s_basename): might dump core.
17152 Tue Jun  6 03:29:12 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17154         * dir.c (dir_foreach): now returns nil for consistency.
17156         * bignum.c (bigdivmod): modulo by small numbers was wrong.
17158 Mon Jun  5 00:18:08 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17160         * bignum.c: avoid conflict with USHORT on mingw32.
17162 Mon Jun  5 00:13:35 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17164         * eval.c (rb_thread_schedule): =/== typo.
17166 Sun Jun  4 03:17:36 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
17168         * lib/cgi.rb: improve: CGI::pretty()
17170 Sun Jun  4 02:01:10 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17172         * lib/mkmf.rb: do not need to add -L$(topdir) in --enable-shared case.
17174 Sat Jun  3 13:50:06 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17176         * parse.y (rb_id2name): should support constant attrset
17177           identifiers.
17179         * bignum.c (rb_big_eq): Bignum#== should not raise exception.
17181 Fri Jun  2 11:24:48 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17183         * io.c (rb_io_popen): open with a block returns the value from the
17184           block.  old behavior was back.
17186 Fri Jun  2 00:42:31 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17189         * eval.c (rb_thread_cleanup): should clear priority for thread
17190           termination.
17192 Thu Jun  1 22:39:41 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17194         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.20.
17196         * lib/net/http.rb: wrongly closed the socket twice
17197           when no Content-Length: was given.
17199 Thu Jun  1 00:59:15 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17201         * eval.c (rb_yield_0): convert Qundef to [].
17203 Wed May 31 20:45:59 2000  Dave Thomas  <Dave@Thomases.com>
17205         * string.c (rb_str_slice_bang): wrong argument number.
17207 Wed May 31 12:37:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17209         * eval.c (rb_exec_end_proc): print error message from END procs.
17211 Wed May 31 04:06:41 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
17213         * lib/cgi.rb: change: CGI#out() if "HEAD" == REQUEST_METHOD then
17214           output only HTTP header.
17216 Wed May 31 01:54:21 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17218         * eval.c (rb_thread_schedule): set main_thread->status to
17219           THREAD_TO_KILL, before raising deadlock error.
17221         * eval.c (rb_thread_deadlock): if curr_thread == main_thread, do
17222           not call rb_thread_restore_context()
17224 Tue May 30 23:33:41 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17226         * lib/mkmf.rb (create_makefile): add $(TARGET).ilk and *.pdb
17227           to cleanup files for mswin32.
17229 Mon May 29 10:41:10 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
17231         * file.c (rb_file_s_basename): should propagate taintness.
17233 Sun May 28 21:37:13 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17235         * eval.c: bug fix: DLEXT2.
17237 Sun May 28 19:21:43 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17239         * win32/win32.c: use ruby's glob.
17241         * dir.c: "glob" exported and renamed to "rb_glob".
17243         * ruby.h: ditto.
17245         * main.c: turn off command line mingw32's globbing.
17247 Wed May 25 22:25:13 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17249         * ext/extmk.rb.in: use "ftools" instead of "rm -f".
17251         * lib/mkmf.rb: ditto.
17253 Thu May 25 22:01:32 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17255         * defines.h: mswin32: remove obsolete USHORT definition.
17257         * re.h: mswin32: use EXTERN instead of extern.
17259         * regex.h: mswin32: export re_mbctab properly.
17261         * win32/ruby.def: add ruby_ignorecase and regex.c's exports.
17263 Thu May 25 21:28:44 2000  Minero Aoki <aamine@dp.u-netsurf.ne.jp>
17265         * re.c (rb_reg_expr_str): escape un-printable character.
17267 Thu May 25 01:35:15 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17269         * parse.y (tokadd_escape): forgot to add `\x' to hexadecimal
17270           escape sequences.
17272         * object.c (rb_obj_dup): dup for normal object (T_OBJECT) copies
17273           instance variables only.
17275 Wed May 24 23:49:47 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17277         * object.c (rb_mod_initialize): should provide initialize.
17279 Wed May 24 23:17:50 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17281         * win32/Makefile: remove unnecessary mv and rm command call.
17283 Wed May 24 21:01:04 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17285         * ext/pty/pty.c: use "" instead of <> to include ruby.h and rubyio.h
17286           for BeOS (PowerPC).
17288         * file.c (rb_find_file): should check dln_find_file() result.
17290         * win32/ruby.def: add rb_block_given_p.
17292 Wed May 24 16:32:45 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17294         * io.c (rb_io_popen): popen does not take 3rd argument anymore.
17296         * re.c (rb_reg_desc): re may be zero, check before dereferencing.
17298 Wed May 24 16:03:06 2000  Wakou Aoyama  <wakou@fsinet.or.jp>
17300         * lib/cgi.rb: bug fix: CGI::escape(), CGI::Cookie::new()
17302         * lib/net/telnet.rb: improve: binmode(), telnetmode() interface
17304 Wed May 24 13:12:31 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17306         * misc/ruby-mode.el (ruby-parse-region): support `while .. do'
17307           etc. But corresponding keywords must be at the beginning of
17308           line.
17310 Tue May 23 23:50:12 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17312         * re.c (rb_reg_initialize_m): wrong kcode value.
17314         * re.c (rb_reg_s_new): forgot to initialize re->ptr.
17316 Tue May 23 08:36:24 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17318         * regex.c (re_compile_pattern): forgot to restore old option
17319           status by (?ix-ix).
17321         * regex.c (re_compile_fastmap): anychar may match newline if
17322           RE_OPTION_MULTILINE or RE_OPTION_POSIXLINE is set.
17324 Mon May 22 22:45:06 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17326         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.19.
17328         * lib/net/http.rb: do not use Regexp "p" option.
17330 Mon May 22 21:56:43 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
17332         * struct.c (rb_struct_getmember): should use ID2SYM, not INT2NUM.
17334 Mon May 22 15:07:37 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17336         * file.c (rb_find_file): should check if the file really exists.
17338 Mon May 22 09:08:12 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17340         * io.c (rb_io_popen): _exit(0) after processing block under the
17341           child process.
17343         * io.c (rb_io_popen): flush stdout/stderr before subprocess
17344           termination.
17346         * eval.c (rb_check_safe_str): insert rb_secure(4); operation
17347           requires untainted string should be prohibited in level 4.
17349 Sun May 21 21:17:00 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17351         * configure.in: add Setup.dj for djgpp cross-compiling.
17353         * Setup.dj: add readline.
17355         * instruby.rb: copy win32/win32.h to archlibdir on mingw32.
17357 Sun May 21 20:58:08 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17359         * pack.c: fix OFF16 and OFF32 definitions for Alpha and IRIX64.
17361 Sun May 21 17:31:37 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17363         * instruby.rb: support "make install" for cross-compiling.
17365         * ext/extmk.rb.in: ditto.
17367 Sun May 21 14:22:49 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17369         * Makefile.in: rename prep.rb to fake.rb.
17371         * configure.in: ditto.
17373 Sat May 20 23:29:14 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17375         * dir.c (dir_s_new): does not take block; "open" does.
17377         * io.c (rb_io_s_new): ditto.
17379 Fri May 19 07:44:26 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17381         * dir.c (dir_s_open): Dir#open does not returns closed Dir if a
17382           block is given to the method.
17384         * re.c (rb_reg_initialize_m): Regexp::new calls initialize now.
17386         * string.c (Init_String): String#delete_at removed.
17388         * string.c (rb_str_aset_m): should have checked argc != 2.
17390         * eval.c (rb_thread_schedule): select(2) was called too many.
17392         * regex.c (re_compile_pattern): a bug in (?m) support.  Pointed
17393           out by Dave Thomas <Dave@thomases.com>.
17395 Thu May 18 23:55:26 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17397         * dln.c (search_undef): st_lookup()'s 3rd parameter should be
17398           a pointer of the variable which has the same size and alignment
17399           as `char *'.
17401         * marshal.c (w_symbol, w_object): ditto.
17403         * parse.y (rb_intern): ditto.
17405 Thu May 18 18:00:35 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17407         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.18.
17409         * lib/net/protocol.rb: Net::Version was removed.
17411         * lib/net/smtp.rb: use Socket.gethostname to get local host name.
17413 Thu May 18 13:34:57 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17415         * ext/socket/socket.c (ruby_connect): should not have replaced
17416           thread_write_select() by rb_thread_fd_writable().
17418 Thu May 18 09:01:25 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17420         * configure.in, ext/extmk.rb.in, lib/mkmf.rb: remove BeOS R3 support.
17421           Make a shared library (libruby.so) only if the --enable-shared
17422           option is specified.
17424         * instruby.rb: no longer use libruby.so.LIB and import.h.
17426         * io.c: fix READ_DATA_PENDING definition for BeOS (PowerPC).
17428 Wed May 17 14:14:23 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17430         * re.c (rb_reg_new_1): use /m instead of /p.
17432 Wed May 17 02:22:03 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17434         * eval.c (rb_thread_polling): wait 0.06 second to let other
17435           processes run.
17437         * process.c (rb_waitpid): avoid busy wait using rb_thread_polling.
17439         * file.c (rb_thread_flock): ditto.
17441         * parse.y (expr): avoid calling value_expr() twice.
17443 Wed May 17 00:45:57 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17445         * io.c (rb_io_binmode): should check PLATFORMs, not O_BINARY, sigh...
17447 Wed May 17 00:40:15 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17449         * win32/config.h: add DLEXT2, now DLEXT on mswin32 is "so".
17451         * win32/config.status: ditto.
17453         * win32/ruby.def: add symbol "rb_big_divmod".
17455 Tue May 16 19:45:32 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17457         * intern.h: use EXTERN instead of extern.
17459         * win32/ruby.def: add rb_defout, rb_stdout, ruby_errinfo,
17460           ruby_sourceline, ruby_sourcefile to work with eruby
17461           reported by Hiroshi Saito <HiroshiSaito@pob.org>.
17462           Export both ruby_xmalloc and xmalloc etc.
17464 Tue May 16 17:00:05 2000  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
17466         * eval.c (rb_thread_select): should check whether fds are null.
17468 Tue May 16 11:51:31 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17470         * io.c (pipe_open): synchronize subprocess stdout/stderr.
17472 Mon May 15 15:38:09 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17474         * ruby.h: exported symbols should be for xmalloc etc. are now
17475           prefixed by 'ruby_', e.g. ruby_xmalloc().
17477         * eval.c (rb_thread_select): remove busy wait for select.
17479         * dir.c (glob): trailing path may be null, e.g. glob("**").
17481 Mon May 15 14:48:41 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
17483         * io.c (rb_io_pid): new method; returns nil if no process attached
17484           to the IO.
17486 Mon May 15 01:18:20 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17488         * io.c (rb_io_s_popen): _exit after Proc execution.
17490 Sun May 14 18:05:59 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17492         * Makefile.in: missing/nt.c -> win32/win32.c
17494         * configure.in: bug fix; static linking on mingw32.
17496         * cygwin/GNUmakefile.in: remove VPATH.
17498         * ext/extmk.rb.in: Makefile set binmode with mingw32 on cygwin32.
17500         * lib/mkmf.rb: ditto.
17502         * win32/config.h: undef HAVE_SYS_FILE_H.
17504 Sun May 14 02:02:48 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17506         * lib/irb/ruby-lex.rb: '/' should be escaped in character class.
17508 Sun May 14 00:54:43 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17510         * configure.in, ...: support mingw32.
17512         * defines.h: ditto. undef EXTERN for tcl/tk on cygwin.
17514         * ext/*/extconf.rb: replace PLATFORM with RUBY_PLATFORM.
17516         * ext/socket/sockport.h: define IN_MULTICAST for missing IN_MULTICAST.
17518         * ext/tcltklib/tcltklib.c: remove declaration of rb_argv0.
17520         * file.c: should check S_IXGRP, S_ISGID, not NT.
17522         * io.c (rb_io_binmode): should check _IOBIN, O_BINARY, not PLATFORMs.
17524 Sat May 13 14:21:15 2000  Koji Arai  <JCA02266@nifty.ne.jp>
17526         * io.c (rb_io_s_popen): should check whether a block is given.
17528 Fri May 12 17:33:44 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17530         * regex.c (re_compile_pattern): charset_not should not exclude
17531           newline from matching set.
17533 Thu May 11 22:51:05 2000  Ryunosuke Ohshima  <ryu@jaist.ac.jp>
17535         * pack.c (pack_pack): Bignum support.
17537         * pack.c (pack_unpack): ditto.
17539 Thu May 11 21:19:29 2000  Hiroshi Igarashi  <iga@ruby-lang.org>
17541         * intern.h: add missing declarations of ruby API functions.
17543         * ruby.h: fix function name in declarations.
17545 Thu May 11 22:29:25 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17547         * ext/md5/depend: add $(topdir)/config.h dependency to md5c.o.
17549         * ext/md5/extconf.rb: new file to add -DHAVE_CONFIG_H flag for Alpha.
17551 Thu May 11 10:55:52 2000  Ryunosuke Ohshima  <ryu@jaist.ac.jp>
17553         * pack.c (pack_pack): packing BER compressed integer by `w'.
17555         * pack.c (pack_unpack): unpacking BER.
17557 Thu May 11 00:37:55 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17559         * parse.y (parse_regx): remove in_brack.
17561 Wed May 10 12:51:18 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17563         * ruby.c (proc_options): move adding RUBYLIB and "." to the load
17564           path after #! line parsing.
17566         * parse.y (parse_regx): should parse backslash escape like `\c['
17567           here to avoid causing `unterminated regexp' error.
17569 Wed May 10 00:19:53 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17571         * MANIFEST, beos/GNUmakefile.in, configure.in: no longer need
17572           beos/GNUmakefile.in to support BeOS R4.5.2 (Intel) as a result
17573           of eban's Makefile.in change.
17575         * io.c: NOFILE is already defined on BeOS R4.5 (Intel) or later.
17577         * lib/matrix.rb: remove debug print.
17579         * regex.c: don't use nested comment.
17581 Tue May  9 17:08:43 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17583         * eval.c (massign): no longer convert nil into empty array.
17585         * io.c (rb_io_s_popen): optional 3rd argument to give proc, which
17586           will be executed in spawned child process.
17588 Mon May  8 23:47:39 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17590         * eval.c (rb_callcc): prev & next should be initialized to zero.
17592 Mon May  8 23:17:36 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17594         * dln.c (dln_init): remove possible buffer overrun.  This is
17595           suggested by Aleksi Niemela <aleksi.niemela@cinnober.com>.
17597         * dln.c (init_funcname): ditto.
17599 Sat May  6 23:35:47 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17601         * parse.y (lhs): should allow `obj.Attr = 5' type expression.
17603 Sat May  6 15:46:08 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17605         * ext/socket/extconf.rb: add a new configure option to force use
17606           of the WIDE Project's getaddrinfo(): --enbale-wide-getaddrinfo.
17608 Fri May  5 21:19:22 2000  MOROHOSHI Akihiko  <moro@remus.dti.ne.jp>
17610         * parse.y (yylex): allow '$1foo' and such.
17612 Fri May  5 17:57:24 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17614         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.17.
17616         * lib/net/http.rb: write also port number in Host: field.
17618         * lib/net/http.rb: see Proxy-Connection: to decide socket connection.
17620 Fri May  5 03:25:15 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17622         * regex.c (re_compile_fastmap): charset_not for multibyte
17623           characters excluded too many characters.
17625 Tue May  2 13:23:43 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17627         * eval.c (rb_thread_schedule): little bit more impartial context
17628           switching.
17630 Tue May  2 09:50:03 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17632         * configure.in: add DLDLIBS to set platform specific library
17633           for extensions.
17635         * ext/extmk.rb.in: use @DLDLIBS@ instead of RUBY_PLATFORM choice.
17637         * lib/mkmf.rb: use CONFIG["DLDLIBS"] instead of RUBY_PLATFORM choice.
17639         * config_s.dj: add @DLDLIBS@.
17641         * win32/config.status: ditto.
17643         * win32/ruby.def: regular maintenance.
17645 Mon May  1 23:42:44 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17647         * configure.in, eval.c: add DLEXT2. now DLEXT on Cygwin is "so".
17649         * defines.h: use dllimport, dllexport for Cygwin 1.1.x.
17651         * ruby.h: ditto.
17653         * cygwin/GNUmakefile.in: ditto.
17655         * ext/Win32API/Win32API.c: directly "call" in asm statement for
17656           gcc 2.95.x or newer.
17658 Sat Apr 29 04:58:12 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
17660         * array.c (rb_ary_unshift_m): performance improvement.
17662 Fri Apr 28 00:19:22 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
17664         * array.c (rb_ary_unshift_m): takes items to push.
17666 Wed Apr 26 15:23:02 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17668         * string.c (rb_str_succ): insert carrying character just before
17669           the leftmost alpha numeric character.
17671         * string.c (rb_str_succ): proper behavior for "".succ and "\377".succ.
17673         * string.c (rb_str_succ): use realloc and memmove.
17675 Tue Apr 25 18:28:45 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17677         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.16.
17679         * lib/net/smtp.rb: add SMTP AUTH
17681 Tue Apr 25 14:30:13 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17683         * io.c (rb_io_gets_internal): shortcut when rs == rb_default_rs.
17685 Sat Apr 22 23:14:41 2000  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
17687         * configure.in: MacOS X support.
17689 Sat Apr 22 16:37:10 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17691         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.15.
17693         * lib/net/http.rb:  closing socket by watching both
17694           user header and server response
17696 Fri Apr 21 21:44:34 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17698         * io.c (rb_io_s_pipe): should set FMODE_SYNC.
17700 Thu Apr 20 16:59:22 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
17702         * eval.c (massign): `*lvalue = false' should assign `[false]' to
17703           lvalue.
17705 Wed Apr 19 08:35:08 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17707         * class.c (rb_singleton_class): generate singleton class for
17708           special constants: nil, true, false.
17710 Wed Apr 19 02:09:30 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17712         * class.c (rb_singleton_class): singleton method for nil, true,
17713           false is possible now.
17715         * eval.c (rb_eval): ditto.
17717 Tue Apr 18 18:54:25 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17719         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.14.
17721         * lib/net/http.rb: new method HTTP#head2.
17723         * lib/net/http.rb: get2/post2 does not raise exceptions.
17725 Mon Apr 17 15:16:31 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17727         * io.c (rb_io_close): to detect some exceptional status, writable
17728           IO should be flushed before close;
17730 Sat Apr 15 18:29:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17732         * array.c (rb_ary_collect_bang): Array#filter renamed.
17734 Fri Apr 14 19:47:11 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17736         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.13.
17738         * lib/net/pop.rb: accept illegal timestamp
17740         * lib/net/http.rb: when body was chunked, does not set Content-Length:
17742 Tue Apr 11 21:14:42 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17744         * config_s.dj: add @sitedir@.
17745         * configure.in: add --with-sitedir=DIR option.
17746         * instruby.rb: use CONFIG["sitedir"].
17747         * lib/mkmf.rb: support 'make site-install'.
17748         * win32/config.status: add @sitedir@.
17750 Tue Apr 11 16:25:15 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17752         * bignum.c (rb_big_2comp): unnecessary lvalue cast removed.
17754 Tue Apr 11 02:25:53 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17756         * hash.c (env_fetch): new method.
17758         * marshal.c (marshal_dump): accepts depth = nil for unlimited depth.
17760 Sun Apr  9 20:49:19 2000  Dave Thomas  <Dave@Thomases.com>
17762         * parse.y (str_extend): Allow class variables to be expanded.
17764 Fri Apr  7 02:03:54 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17766         * error.c (rb_sys_fail): escape non-printable characters.
17768 Thu Apr  6 20:10:47 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17770         * ext/extmk.rb.in (create_makefile): BeOS --program-suffix support.
17771         * lib/mkmf.rb (create_makefile): ditto.
17773 Thu Apr  6 09:55:26 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17775         * error.c (rb_sys_fail): need rb_exc_new2() call on BeOS.
17777 Mon Apr  3 17:22:27 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17779         * io.c (rb_io_reopen): support tempfile.
17781         * eval.c (catch_i): should supply argument.
17783 Sat Apr  1 22:50:28 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17785         * marshal.c (r_object): wrong symbol restoration.
17787 Sat Apr  1 21:30:53 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
17789         * io.c (rb_io_printf, rb_f_printf): should use rb_io_write.
17791 Sat Apr  1 00:16:05 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17793         * gc.c (rb_gc_call_finalizer_at_exit): should be clear flags
17794           before calling finalizers.
17796         * eval.c (specific_eval): can be called without SecurityError, if
17797           $SAFE >= 4.
17799         * object.c (sym_inspect): inspect gives ":sym", to_s gives "sym".
17801 Fri Mar 31 22:07:04 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17803         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.12.
17805         * lib/net/protocol.rb:  update Net::Protocol::Proxy#connect
17807         * lib/net/protocol.rb:  ReplyCode is not a class
17809         * lib/net/http.rb: header value format was change:
17810           values do not include header name
17812         * lib/net/http.rb: header is not a Hash, but HTTPResponse
17814 Thu Mar 30 12:19:44 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17816         * enum.c (enum_find): rb_eval_cmd() should be called with array.
17818 Tue Mar 28 13:57:05 2000  Clemens Hintze  <c.hintze@gmx.net>
17820         * ext/dbm/dbm.c (fdbm_invert): should return new hash.
17822         * ext/gdbm/gdbm.c (fgdbm_invert): ditto.
17824 Tue Mar 28 00:58:03 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17826         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.11.
17828         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: does not
17829           dispatch any commands while dispatching command.
17831         * lib/net/protocol.rb: failed to get error class of
17832           inherited ReplyCode
17834         * lib/net/http.rb: change feature of "get2", "post2"
17836 Mon Mar 27 01:34:58 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17838         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.10.
17840         * lib/net/http.rb: return value of 'head' was wrong.
17842 Sun Mar 26 17:47:35 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17844         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.9.
17846         * lib/net/smtp.rb: SMTP#do_ready wrongly took no arguments
17848 Sat Mar 25 23:21:10 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17850         * marshal.c (w_object): symbols should be converted to ID before
17851           dumping out.
17853 Fri Mar 24 18:26:51 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17855         * file.c (test_check): should have checked exact number of arguments.
17857 Fri Mar 24 21:02:11 2000  Koji Arai  <JCA02266@nifty.ne.jp>
17859         * signal.c (trap): should treat some symbols as the signal.
17861 Fri Mar 24 06:58:03 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17863         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.8.
17865         * lib/net/http.rb:  post, get2, post2, get_body
17867         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: separate
17868           Command/Socket documentation.
17870 Thu Mar 23 02:26:14 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17872         * io.c (rb_io_fptr_finalize): fptr may be null.
17874         * io.c (rb_io_s_new): now calls `initialize'.
17876         * io.c (rb_io_initialize): actual open done in this method.
17878         * io.c (rb_file_initialize): ditto.
17880         * eval.c (rb_eval): class variables in singleton class definition
17881           is now handled properly (I hope).
17883 Wed Mar 22 21:49:36 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17885         * st.c (st_delete_safe): skip already deleted entry.
17887         * hash.c (rb_hash_delete): modify brace miss.
17889 Wed Mar 22 08:53:58 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17891         * eval.c (exec_under): do not push cbase if ruby_cbase == under.
17893         * node.h (NEW_CREF0): preserve cbase nesting.
17895 Tue Mar 21 12:57:50 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17897         * object.c (rb_class_s_new): Class::new should call `inherited'.
17899 Sat Mar 18 12:36:09 2000  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
17901         * eval.c (rb_backtrace, make_backtrace): removed unused variable
17902           `lev'.
17904         * eval.c (rb_attr): calls `method_added' at attribute definition.
17906         * eval.c (rb_mod_modfunc): calls `singleton_method_added' while
17907           `module_function'.
17909         * eval.c (rb_eval): parameter to `method_added' and
17910           `singleton_method_added' is Symbol.
17912         * eval.c (Init_eval): caches IDs for `method_added' and
17913           `singleton_method_added'.
17915 Sat Mar 18 11:25:10 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17917         * parse.y (rescue): allows `rescue Error in foo'.  experimental.
17918           which is better this or preparing alias `exception' for `$!'?
17920 Fri Mar 17 15:02:45 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17922         * variable.c (rb_autoload_id): defining new autoload should be
17923           prohibited for $SAFE > 4.
17925         * variable.c (rb_autoload_load): autoload should be possible for
17926           $SAFE > 4.
17928         * eval.c (call_trace_func): should handle T_ICLASS properly.
17930 Fri Mar 17 14:34:30 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17932         * string.c (str_gsub): forgot to initialize str->orig.
17934 Fri Mar 17 01:24:59 2000  Dave Thomas  <Dave@thomases.com>
17936         * string.c (rb_str_clone): forgot to copy str->orig if STR_NO_ORIG
17937           is set by Array#pack.
17939 Wed Mar 15 21:25:04 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
17941         * array.c (rb_ary_join): 'result' is always duplicated
17942           before concat string.
17944 Wed Mar 15 17:26:05 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17946         * hash.c (rb_hash_s_create): unexpected recursive call removed.
17947           this bug was found by Satoshi Nojo <nojo@t-samukawa.or.jp>.
17949 Wed Mar 15 13:12:39 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17951         * eval.c (Init_Thread): Thread.join removed finally.
17953         * string.c (rb_str_chomp_bang): forgot to call rb_str_modify().
17955 Mon Mar 13 16:12:13 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17957         * eval.c (block_pass): distinguish real orphan block and still
17958           on-stack block passed by block argument.
17960 Mon Mar 13 00:20:25 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17962         * parse.y (f_norm_arg): proper error message when constant comes
17963           in formal argument list.  this message is suggested by Muvaw
17964           Pnazte <bugathlon@yahoo.com>.
17966         * eval.c (rb_f_raise): proper error message when the first
17967           argument is not an exception class/object.
17969         * string.c (rb_str_dup): dup now postpone buffer copy as long as
17970           possible.  performance improved by lazy copying.
17972 Sun Mar 12 13:58:52 2000  Koji Arai  <JCA02266@nifty.ne.jp>
17974         * signal.c (rb_f_kill): should treat some symbols as the signal.
17976 Sat Mar 11 22:03:03 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17978         * string.c (rb_str_gsub): performance tune by avoiding buffer copy.
17980         * eval.c (rb_f_missing): check if argv[0] is ID.
17982 Sat Mar 11 15:49:41 2000  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
17984         * struct.c (rb_struct_aref): struct aref by symbol.
17986 Sat Mar 11 05:07:11 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17988         * process.c (proc_setpriority): should return 0, not nil.
17990         * process.c (proc_setpgid): ditto.
17992 Fri Mar 10 18:14:54 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
17994         * file.c (path_check_1): confusing buf and path.  this bug found
17995           by <decoux@moulon.inra.fr>.
17997 Fri Mar 10 09:37:49 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
17999         * MANIFEST: add beos/GNUmakefile.in.
18000         * configure.in: support BeOS R4.5.2 (Intel).
18001         * beos/GNUmakefile.in: new file to support BeOS R4.5.2 (Intel).
18003 Thu Mar  9 11:13:32 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18005         * regex.c (re_compile_fastmap): fixed embarrassing brace bug.
18007 Thu Mar  9 01:36:32 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18009         * missing/flock.c: emulate missing flock() with fcntl().
18011 Thu Mar  9 00:29:35 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18013         * object.c (sym_to_s): returns ":sym".
18015         * object.c (sym_id2name): separated from to_s; returns "sym".
18017 Wed Mar  8 19:16:19 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18019         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.7.
18021         * lib/net/http.rb (connecting): returns header
18023 Wed Mar  8 02:08:43 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18025         * parse.y: escape expansion too early.
18027         * string.c (rb_f_scan): Kernel#scan added.
18029         * regex.c (re_compile_pattern): support \cX et al.
18031 Tue Mar  7 01:44:27 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18033         * io.c (set_stdin): simplified procedure, allows $stdin = DATA;
18034           experimental.
18036         * io.c (set_outfile): ditto.
18038         * re.c (Init_Regexp): new method Regexp#last_match added; it's an
18039           alternative for $~.
18041         * configure.in (DEFAULT_KCODE): KCODE_NONE should be the default.
18043         * dir.c (dir_s_rmdir): should return 0 on success.
18045         * signal.c: remove CWGUSI support.
18047 Mon Mar  6 12:28:37 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18049         * marshal.c (w_symbol): support symbol object.
18051         * util.c: make symbol as separated class.
18053         * error.c (Init_Exception): new exception RangeError.
18055         * ext/socket/socket.c (ip_addrsetup): should check length of hostname.
18057         * ext/socket/socket.c (ip_addrsetup): check newline at the end of
18058           hostname.  These fixes suggested by Muvaw Pnazte <bugathlon@yahoo.com>.
18060 Sun Mar  5 20:35:45 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18062         * ext/Win32API/Win32API.c (Win32API_initialize): should call
18063           LoadLibrary() everytime and should assign the hdll to Win32API
18064           object(protect the hdll from GC).
18066 Sun Mar  5 18:49:06 2000  Nakada.Nobuyoshi  <nobu.nokada@softhome.net>
18068         * misc/ruby-mode.el (ruby-parse-region): not treat method `begin'
18069           and `end' as reserved words.
18071         * misc/ruby-mode.el (ruby-font-lock-docs): ignore after `=begin'
18072           and `=end'.
18074         * misc/ruby-mode.el (ruby-font-lock-keywords, hilit-set-mode-patterns):
18075           added `yield' to keywords.
18077         * misc/ruby-mode.el (ruby-font-lock-keywords, hilit-set-mode-patterns):
18078           matches keywords at end of buffer.
18080 Sun Mar  5 18:08:53 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18082         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.6.
18084         * lib/net/http.rb:  allow to omit 'start'
18086 Tue Feb 29 01:08:26 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18088         * range.c (range_initialize): initialization done in `initialize';
18089           `initialize' should not be called more than once.
18091         * object.c (Init_Object): default `initialize' should take zero
18092           argument.
18094         * time.c (time_s_new): call `initialize' in Time::new.
18096 Sat Feb 26 22:39:31 2000  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18098         * string.c (rb_str_times): fix String#* with huge string.
18100 Sat Feb 26 00:14:59 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18102         * dir.c (dir_s_new): call `initialize' in Dir::new.
18104 Fri Feb 25 23:01:49 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18106         * ruby.h: export ruby_safe_level by EXTERN for mswin32.
18107         * win32/ruby.def: regular maintenance.
18109 Fri Feb 25 22:12:46 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18111         * io.c (rb_io_reopen): IO#reopen should accept path as well.
18113         * string.c (rb_str_s_new): call `initialize' in String::new.
18115         * hash.c (rb_hash_s_new): call `initialize' in Hash::new.
18117         * array.c (rb_ary_s_new): call `initialize' in Array::new.
18119 Fri Feb 25 12:50:20 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18121         * eval.c (rb_thread_start_timer): interval changed to 10ms from 50ms.
18123 Fri Feb 25 06:42:26 2000  GOTOU Yuuzou  <gotoyuzo@notwork.org>
18125         * ext/socket/socket.c (ip_addrsetup): hostp should remain NULL if
18126           host is nil.
18128 Thu Feb 24 16:53:47 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18130         * eval.c (rb_thread_schedule): priority check for sleep expired
18131           threads needed.
18133 Wed Feb 23 14:22:32 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18135         * array.c (rb_ary_join): forgot to initialize a local variable
18136           `taint'.
18138 Tue Feb 22 07:40:55 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18140         * re.c (Init_Regexp): renamed to MatchData, old name MatchingData
18141           remain as alias.
18143 Tue Feb 22 00:20:21 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18145         * lib/net/protocol.rb, smtp.rb, pop.rb, http.rb: 1.1.5.
18147         * lib/net/session.rb: rename to protocol.rb
18149         * lib/net/protocol.rb: ProtocolSocket -> Net::Socket
18151         * lib/net/protocol.rb: Net::Socket#write, write_pendstr
18152           can take block
18154         * lib/net/smtp.rb: new methods SMTP#ready SMTPCommand#write_mail
18156         * lib/net/pop.rb: POPMail#pop can take block
18158 Sat Feb 19 23:58:51 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18160         * regex.c (re_match): pop_loop should not pop at forward jump.
18162 Fri Feb 18 17:15:40 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18164         * eval.c (method_clone): method objects are now clonable.
18166 Fri Feb 18 00:27:34 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18168         * variable.c (rb_shared_variable_declare): shared variable (aka
18169           class/module variable) introduced.  prefix `@@'. experimental.
18171         * class.c (rb_scan_args): new format char '&'.
18173 Thu Feb 17 19:09:05 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18175         * win32/win32.c (mypopen): don't close handle if it is not assigned.
18176         * win32/win32.c (my_open_osfhandle): support O_NOINHERIT flag.
18177         * win32/win32.c (win32_getcwd): rename getcwd to win32_getcwd
18178           in order to avoid using the C/C++ runtime DLL's getcwd.
18179           Use CharNext() to process directory name.
18180         * win32/win32.h: map getcwd to win32_getcwd.
18182 Wed Feb 16 00:32:49 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18184         * eval.c (method_arity): nd_rest is -1 for no rest argument.
18186         * process.c (proc_waitpid): returns nil when waitpid(2) returns 0.
18188 Tue Feb 15 01:47:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18190         * process.c (rb_f_waitpid): pid_t should be signed.
18192 Mon Feb 14 13:59:01 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18194         * parse.y (yylex): yylex yields wrong tokens for `:foo=~expr'.
18196         * ruby.c (load_file): exit if reading file is empty.
18198 Mon Feb 14 03:34:52 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18200         * parse.y (yylex): `foo.bar=1' should be <foo><.><bar><=><1>,
18201           not <foo><.><bar=><1>.
18203         * eval.c (rb_thread_restore_context): process according to
18204           RESTORE_* is moved after longjmp().
18206         * eval.c (thread_switch): new function to process RESTORE_*.
18208 Sun Feb 13 16:19:49 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18210         * ruby.c (require_libraries): don't access freed memory.
18212         * ruby.c (add_modules): ditto.
18214 Fri Feb 11 12:06:22 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18216         * parse.y (parse_quotedwords): %w() need to split not only by mere
18217           spaces, but by all whitespaces.
18219 Thu Feb 10 02:12:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18221         * string.c (rb_str_index_m): did not support negative offset.
18223 Wed Feb  9 21:54:26 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18225         * ext/socket/getaddrinfo.c: gcc --traditional support.
18226           Rearrange headers to work AC_C_CONST.
18227         * ext/socket/getnameinfo.c: ditto.
18228         * ext/socket/socket.c: mswin32: use double instead of long long.
18230 Wed Feb  9 16:30:41 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18232         * numeric.c (num_coerce): should return [y, x].
18234 Wed Feb  9 11:07:30 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18236         * ruby.c (ruby_prog_init): loadpath structure changed.
18238 Tue Feb  8 02:07:33 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18240         * regex.c (re_search): optimize for \G at top.
18242         * regex.c (re_compile_pattern): \G introduced.
18244         * regex.c (re_match): ditto.
18246         * string.c (str_sub_bang): old behavior restored: bang method
18247           returns nil if string not changed.
18249         * regex.c (re_compile_pattern): support independent subexpression
18250           `(?>pattern)'.
18252         * regex.c (re_match): ditto.
18254 Mon Feb  7 15:51:08 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18256         * regex.c (re_match): now understands interrupts under Ruby.
18258 Mon Feb  7 07:51:52 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18260         * array.c (rb_ary_uniq_bang): always return an Array.
18262         * array.c (rb_ary_compact_bang): ditto.
18264         * array.c (rb_ary_flatten_bang): ditto.
18266         * hash.c (rb_hash_reject): returns a Hash, not an Array.
18268         * hash.c (env_reject): ditto.
18270 Fri Feb  4 10:20:25 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18272         * string.c (scan_once): scan now leaves information about the last
18273           successful pattern match in $&.
18275         * io.c (rb_io_close): should not check closed IO.
18277 Fri Feb  4 05:44:01 2000  Kentaro Inagaki  <inagaki@tg.rim.or.jp>
18279         * ext/socket/socket.c (s_recv): TRAP_BEG after retry entry.
18281 Wed Feb  2 22:33:45 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18283         * eval.c (rb_thread_start): receives argument from outside, like
18284           `Thread::start(1,2,3){|a,b,c| ... }'.
18286 Wed Feb  2 22:14:40 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18288         * re.c (rb_reg_regsub): should check regs->num_regs.
18290         * re.c (rb_reg_search): remove matchcache, use static struct
18291           re_register instead.
18293         * re.c (match_getter): avoid cloning match data.
18295 Wed Feb  2 17:12:15 2000  Dave Thomas  <Dave@Thomases.com>
18297         * samples/eval.rb: Rescue new ScriptError exception
18299 Wed Feb  2 02:06:07 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18301         * string.c (str_gsub_bang): gsub! now leaves information about the
18302           last successful pattern match in $&.
18304 Mon Jan 31 15:24:58 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18306         * string.c (str_sub_bang): bang method returns string always.
18307           experimental.
18309 Sun Jan 30 17:58:09 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18311         * eval.c: arrange to use setitimer(2) for BOW, DJGPP
18313         * defines.h: ditto. use random(3) on cygwin b20.1.
18315 Sun Jan 30 17:20:16 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18317         * eval.c: use getrlimit(2) on DJGPP.
18319 Thu Jan 27 01:27:10 2000  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
18321         * dir.c (glob): glob pattern "/*" did not match.
18323 Wed Jan 26 22:30:47 2000  Shigeo Kobayashi  <shigeo@tinyforest.gr.jp>
18325         * numeric.c (flo_modulo): wrong result for negative modulo.
18327 Wed Jan 26 02:01:57 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18329         * file.c (test_c): should use S_ISCHR.
18331         * file.c (rb_stat_c): ditto.
18333         * string.c (rb_str_each_line): should propagate tainting.
18335 Tue Jan 25 04:01:34 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18337         * object.c (rb_obj_freeze): all objects made freezable.
18339 Tue Jan 25 00:37:01 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18341         * configure.in: use AC_CHECK_TOOL for cross compiling.
18343 Mon Jan 24 19:01:54 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18345         * array.c (rb_protect_inspect): should be checked by id of
18346           objects; not by object themselves.
18348 Mon Jan 24 18:48:08 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18350         * eval.c (rb_eval): too many warnings;  warned on every method
18351           overriding.  should be on method discarding.
18353 Mon Jan 24 02:56:44 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18355         * parse.y (yylex): -2.abs should be `(-2).abs' to accomplish the
18356           principle of less surprise.  `+2' too.
18358         * eval.c (rb_eval): when defining class is already there, and
18359           superclass differ, throw away the old class.
18361         * variable.c (rb_const_set): gives warning again on constant
18362           redefinition.
18364         * error.c (Init_Exception): SyntaxError, NameError, LoadError and
18365           NotImplementError are subclasses of ScriptError<Exception, not
18366           StandardError.  experimental.
18368 Sat Jan 22 00:00:41 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18370         * parse.y (parse_quotedwords): no longer use `String#split'.
18371           and enable space escape within quoted word list.
18372           e.g. %w(a\ b\ c abc) => ["a b c", "abc"].
18374         * string.c (rb_str_slice_bang): new method `slice!'.
18376 Fri Jan 21 21:56:08 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18378         * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.4.
18380         * lib/net/http.rb: can receive messages which have
18381           no Content-Length:.
18383 Fri Jan 21 16:15:59 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18385         * eval.c (thgroup_s_new): new class ThreadGroup.
18387 Tue Jan 18 12:24:28 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18389         * struct.c (Init_Struct): remove Struct's own hash and eql?.
18391 Sat Jan 15 22:21:08 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18393         * eval.c (search_method): argument klass may be 0.
18395 Sat Jan 15 15:03:46 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18397         * enum.c (enum_index): remove this method.
18399         * enum.c: remove use of pointers to local variables. find,
18400           find_all, min, max, index, member?, each_with_index,
18402         * eval.c (massign): multiple assignment does not use to_a anymore.
18403           experimental.
18405 Fri Jan 14 12:22:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18407         * string.c (rb_str_replace): use memmove instead of memcpy for
18408           overwrapping strings (e.g. a[1] = a).
18410 Thu Jan 13 11:12:40 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18412         * parse.y (arg_add): use new node, ARGSPUSH.
18414 Mon Jan 10 18:32:28 2000  Koji Arai  <JCA02266@nifty.ne.jp>
18416         * marshal.c (w_object): forgot an argument to call w_ivar().
18418 Sun Jan  9 18:13:51 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18420         * random.c: first was not defined unless HAVE_RANDOM.
18422 Sat Jan  8 19:02:49 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18424         * io.c (rb_io_sysread): raise IOError for buffered IO.
18426         * ext/socket/socket.c (s_recv): ditto.
18428 Fri Jan  7 00:59:29 2000  Masahiro Tomita  <tommy@tmtm.org>
18430         * io.c (io_fread): TRAP_BEG/TRAP_END added around getc().
18432 Thu Jan  6 00:39:54 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18434         * random.c (rb_f_rand): should be initialized unless srand is
18435           called before.
18437 Wed Jan  5 16:59:34 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18439         * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.3.
18441         * lib/net/session.rb: Session -> Protocol, ...
18443         * lib/net/http.rb: HTTPCommand implementation was changed.
18445 Wed Jan  5 02:14:46 2000  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18447         * parse.y: Fix SEGV on empty parens with UMINUS or UPLUS.
18449 Tue Jan  4 22:25:54 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18451         * parse.y (stmt): `() while cond' dumped core.
18453 Tue Jan  4 06:04:14 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
18455         * configure.in: modify for cross-compiling.
18456           use target_* instead of host_*.
18457           use AC_CANONICAL_TARGET.
18459         * Makefile.in: ditto.
18461         * cygwin/GNUmakefile.in: ditto.
18463 Sat Jan  1 13:26:14 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18465         * eval.c (rb_yield_0): force_recycle ruby_dyna_vars to gain
18466           performance.
18468         * array.c (rb_ary_delete_at_m): takes same argument pattern with
18469           rb_ary_aref.
18471 Sat Jan  1 10:12:26 2000  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
18473         * ruby.h,util.c (rb_special_const_p): peep hole optimization.
18475         * ruby.h,util.c (rb_test_false_or_nil): removed.
18477         * ruby.h (RTEST, SPECIAL_CONST_P): peep hole optimization.
18479         * ruby.h (FL_ABLE, FL_SET, FL_UNSET, FL_REVERSE): made expressions
18480           not statements.
18482         * ruby.h (OBJ_INFECT): newly added macro which copies taint from
18483           `s' to `x'.
18485 Sat Jan  1 02:04:18 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
18487         * eval.c (rb_thread_safe_level): new method.
18489         * eval.c (rb_yield_0): recycle dyna_var_map to reduce object
18490           allocation.
18492 Fri Dec 31 00:52:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18494         * eval.c: thread independent trace_func not needed.
18496 Thu Dec 30 14:47:31 1999  akira yamada  <akira@ruby-lang.org>
18498         * configure.in: specifies -soname in LIBRUBY_DLDFLAGS on linux
18499           platforms.
18501 Thu Dec 30 10:51:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18503         * array.c,io.c,hash,c,re.c,string.c: `_m' suffix instead of
18504           `_method' for wrapper functions to implement method,
18505           e.g. `rb_str_join_m()'.
18507 Thu Dec 30 02:08:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18509         * bignum.c (rb_cstr2inum): non-numeric format check added.
18510           currently it works only with base == 0 (i.e. Integer()).
18512         * bignum.c (rb_str2inum): now takes VALUE to 1st argument.  null
18513           byte check added.
18515         * array.c (rb_ary_replace): unless replacement is an array,
18516           replacement shall be converted to array by `[replacement]', not
18517           by `replacement.to_a'.
18519         * array.c (rb_ary_plus): right operand must be an array.
18521         * array.c (rb_ary_concat): argument must be an array.
18523 Mon Dec 27 12:35:47 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18525         * ext/socket/socket.c (sock_finalize): mswin32: fix socket handle leak.
18527         * win32/win32.c (myfdclose): ditto.
18529 Sun Dec 26 23:15:13 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18531         * win32/win32.c (mypopen): raise catchable error instead of rb_fatal.
18532         * win32/win32.c (mypclose): fix process handle leak.
18534 Sun Dec 26 16:17:11 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18536         * ext/Win32API/Win32API.c (Win32API_initialize): use UINT2NUM
18537           instead of INT2NUM to set __dll__ and __proc__.
18539 Sat Dec 25 00:08:59 1999  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
18541         * ext/Win32API/Win32API.c (Win32API_Call): remove 'dword ptr'
18542           from _asm.
18544 Fri Dec 24 10:26:47 1999  Koji Oda  <oda@bsd1.qnes.nec.co.jp>
18546         * win32/win32.h: use "C++" linkage.
18548 Fri Dec 24 02:00:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18550         * eval.c (THREAD_ALLOC): should initialize th->trace.
18552 Fri Dec 24 00:43:39 1999  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
18554         * io.c (pipe_open): check for `fptr->f == NULL'.
18555         * win32/win32.c (mypopen): STDERR does not work during ` function.
18557 Wed Dec 22 22:50:40 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18559         * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.2.
18561         * lib/net/http.rb: HTTP support is enhanced a little
18563         * lib/net/http.rb: support proxy
18565 Tue Dec 21 17:21:28 1999  Koji Oda  <oda@bsd1.qnes.nec.co.jp>
18567         * ext/socket/socket.c (sock_finalize): mswin32: fix FILE* leak.
18569 Tue Dec 21 05:33:56 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18571         * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.1.
18573         * lib/net/http.rb: support HTTP chunk
18575 Mon Dec 20 19:08:12 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18577         * file.c (rb_file_s_expand_path): handle dir separator correctly.
18579 Sun Dec 19 22:56:31 1999  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
18581         * lib/find.rb: support dosish root directory.
18582         * win32/Makefile: ditto.
18583         * win32/config.status: ditto.
18584         * win32/win32.c (opendir): ditto.
18585         * win32/win32.c (opendir): use CharPrev() to get last character
18586           of the directory name.
18588 Sat Dec 18 03:00:01 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18590         * file.c (path_check_1): check should be done by absolute path.
18592         * marshal.c (r_ivar): should restore generic_ivar too.
18594         * marshal.c (w_ivar): should dump generic_ivar too.
18596 Fri Dec 17 22:46:46 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18598         * lib/net/session.rb, smtp.rb, pop.rb, http.rb: 1.1.0.
18600         * lib/net/http.rb: test release
18602         * lib/net/session.rb: support class swapping
18604         * lib/net/session.rb: Socket#flush_rbuf
18606         * lib/net/session.rb: doquote -> Net.quote
18608 Fri Dec 17 19:27:43 1999  IWAMURO Motonori  <iwa@mmp.fujitsu.co.jp>
18610         * eval.c (rb_load): should initialize ruby_frame->last_class.
18612 Wed Dec 15 01:35:29 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18614         * ruby.c (proc_options): option to change directory changed to
18615           `-C' like tar.
18617         * ruby.c (proc_options): argv boundary check for `-X'.
18619 Mon Dec 13 15:15:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18621         * regex.c (re_adjust_startpos): separate startpos adjustment
18622           because of major performance drawback.
18624         * class.c (rb_singleton_class): tainted status of the singleton
18625           class must be synchronized with the object.
18627         * eval.c (rb_thread_schedule): implement thread priority.
18629 Sat Dec 11 03:34:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18631         * gc.c (mark_hashentry): key should be VALUE, not ID.
18633         * io.c (argf_eof): should check next_p too.
18635 Thu Dec  9 18:09:13 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18637         * error.c (exc_set_backtrace): forgot to declare a VALUE argument.
18639 Thu Dec  9 14:19:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18641         * object.c (rb_obj_taint): explicit tainting must be prohibited at
18642           level 4 to prevent polluting trusted object by untrusted code.
18644         * file.c: file operations (stat, lstat, chmod, chown, umask,
18645           truncate, flock) are prohibited in level 2 (was level 4).
18647 Wed Dec  8 11:48:23 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18649         * eval.c (rb_f_require): prohibiting require() in the secure mode
18650           cause serious autoloading error.
18652         * variable.c (rb_obj_instance_variables): don't need to prohibit
18653           to get list of instance variable names of untainted objects.
18655         * variable.c (rb_ivar_get): don't need to prohibit to get instance
18656           variables of untainted objects.
18658         * variable.c (rb_mod_remove_const): should prohibit constant
18659           removals too.
18661 Wed Dec  8 09:23:01 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18663         * eval.c (rb_eval): should try autoloading before defining
18664           class/module at the toplevel.
18666 Tue Dec  7 22:15:30 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18668         * configure.in: Modified rb_cv_rshift_sign detect routine and
18669           more simple/fast RSHIFT() for hpux-10.x.
18671 Tue Dec  7 11:16:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18673         * eval.c (Init_eval): calculate stack limit from rlimit where
18674           getrlimit(2) is available.
18676 Tue Dec  7 09:57:33 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18678         * file.c (rb_file_ftype): should have removed mode_t.
18680 Mon Dec  6 15:55:30 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18682         * numeric.c (fix_rshift): Fix -1 >> 32 returned 0 (should be -1).
18684         * numeric.c (fix_rshift): Fix  1 >> -1 returned 0 (should be 2).
18686 Mon Dec  6 11:47:23 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18688         * sprintf.c (rb_f_sprintf): formatted string must be tainted if
18689           any of parameters is a tainted string.
18691         * file.c (rb_file_s_expand_path): expanded file path need not to
18692           be tainted always.
18694 Sun Dec  5 20:25:29 1999  Katsuhiro Ueno  <unnie@blue.sky.or.jp>
18696         * eval.c (Init_Proc): simple typo.
18698         * gc.c (add_heap): sizeof(RVALUE*), not sizeof(RVALUE).
18700 Sat Dec  4 01:40:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18702         * regex.c (re_search): adjust startpos for multibyte match unless
18703           the first pattern is forced byte match.
18705         * bignum.c (rb_big_rand): should not use rand/random where drand48
18706           may be available.  RANDOM_NUMBER should be provided from outside.
18708 Fri Dec  3 09:54:59 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18710         * ruby.c (moreswitches): there may be trailing garbage at #!
18711           line.
18713         * eval.c (rb_f_require): should check require 'feature.o' too.
18715 Thu Dec  2 11:58:15 1999  Koji Arai  <JCA02266@nifty.ne.jp>
18717         * eval.c (rb_thread_loading): should maintain loading_tbl.
18719 Thu Dec  2 10:21:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18721         * eval.c (rb_thread_loading_done): wrong parameter to st_delete().
18723 Wed Dec  1 11:24:06 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18725         * ruby.c (process_sflag): process -s properly (should not force `--').
18727 Wed Dec  1 09:47:33 1999  Kazunori NISHI  <kazunori@swlab.csce.kyushu-u.ac.jp>
18729         * string.c (rb_str_split_method): should increment end too.
18731 Tue Nov 30 18:00:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18733         * marshal.c: MARSHAL_MINOR incremented; format version is 4.2.
18735         * marshal.c (w_object): distinguish class and module.
18737         * marshal.c (w_object): save hash's default value.
18739         * marshal.c (r_object): restore hash's default value.
18741 Tue Nov 30 01:46:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18743         * re.c (rb_reg_source): generated source string must be tainted if
18744           regex is tainted.
18746         * file.c (rb_file_s_basename): basename should not be tainted
18747           unless the original path is tainted.
18749         * file.c (rb_file_s_dirname): ditto.
18751 Mon Nov 29 20:42:13 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18753         * file.c (stat_new): Struct::Stat -> File::Stat; Stat is no longer
18754           a Struct.
18756 Mon Nov 29 15:28:52 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18758         * variable.c (rb_path2class): evaluated value from path should be
18759           module or class.
18761 Fri Nov 26 18:12:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18763         * eval.c (rb_exec_end_proc): should remove only end_procs defined
18764           within load wrapper.
18766         * eval.c (rb_load): save and restore ruby_wrapper around loading.
18768         * eval.c (rb_mark_end_proc): mark end procs registered by END{} or
18769           at_exit{}.
18771         * eval.c (rb_set_end_proc): should not call rb_global_variable()
18772           on heap address;  it crashed mod_ruby.
18774 Mon Nov 22 14:07:24 1999  Koji Arai  <JCA02266@nifty.ne.jp>
18776         * ruby.c (proc_options): variable e_script should be visited by
18777           garbage collector.
18779 Sat Nov 20 10:10:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18781         * hash.c (inspect_i): value may be nil, check revised.
18783 Fri Nov 19 18:06:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18785         * dir.c (glob): recursive wildcard match by `**' ala zsh.
18787 Fri Nov 19 11:44:26 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18789         * variable.c: was returning void value.
18791 Fri Nov 19 03:57:22 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18793         * file.c: add methods Stat struct class to reduce stat(2).
18795 Thu Nov 18 16:18:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18797         * lib/pstore.rb: mutual lock by flock(2).
18799 Thu Nov 18 11:44:13 1999  Masahiro Tomita  <tommy@tmtm.org>
18801         * io.c (read_all): should check bytes too.
18803 Wed Nov 17 02:40:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18805         * io.c (Init_IO): $defout (alias of $>) added.
18807 Tue Nov 16 09:47:14 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18809         * lib/pstore.rb: add mutual lock using symlink.
18811 Mon Nov 15 16:50:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18813         * enum.c (enum_grep): non matching grep returns an empty array, no
18814           longer returns nil.
18816         * enum.c (enum_grep): grep with block returns collection of
18817           evaluated values of block over matched elements.
18819 Mon Nov 15 04:50:33 1999  Koji Arai  <JCA02266@nifty.ne.jp>
18821         * re.c (rb_reg_source): should not call rb_reg_expr_str()
18822           everytime.
18824 Sat Nov 13 07:34:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18826         * variable.c (rb_mod_constants): traverse superclasses to collect
18827           constants.
18829         * eval.c (assign): modified for shared variables.
18831         * eval.c (rb_eval): search nested scope, then superclasses to
18832           assign shared variables within methods.
18834         * eval.c (rb_eval): remove warnings from constants modification,
18835           because they are no longer constants.
18837         * parse.y (node_assign): modified for shared variables.
18839         * parse.y (assignable): allow constant assignment in methods;
18840           constants should be called `shared variable'.
18842 Fri Nov 12 23:52:19 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
18844         * process.c (rb_f_system): argument check for NT, __EMX__, DJGPP.
18846 Wed Nov 10 21:54:11 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18848         * hash.c (rb_any_cmp): Fixed return without value.
18850 Wed Nov 10 17:57:06 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18852         * sprintf.c: incorporate <yasuf@big.or.jp>'s sprintf patch at
18853           [ruby-dev:7754].
18855 Wed Nov 10 08:28:53 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18857         * eval.c (rb_call0): supply class parameter for each invocation.
18859 Tue Nov  9 13:21:04 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18861         * configure.in: AC_MINIX move to before AC_EXEEXT and AC_OBJEXT.
18863 Mon Nov  8 19:52:29 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18865         * configure.in: Renamed AC_CHAR_UNSIGNED to AC_C_CHAR_UNSIGNED.
18867         * configure.in: Added default to AC_CHECK_SIZEOF().
18869 Mon Nov  8 14:28:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18871         * parse.y (stmt): rescue modifier added to the syntax.
18873         * keywords: kRESCUE_MOD added.
18875         * eval.c (rb_f_eval): fake outer scope when eval() called without
18876           bindings.
18878         * eval.c (rb_f_binding): should copy last_class in the outer frame too.
18880 Sun Nov  7 18:31:04 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
18882         * eval.c (is_defined): last_class may be 0.
18884 Sat Nov  6 19:26:55 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18886         * Makefile.in: Added depend entry make parse.@OBJEXT@ from parse.c
18887           for UCB make
18889 Thu Nov  4 17:41:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18891         * regex.c (re_compile_pattern): \< (wordbeg), \> (wordend) disabled.
18893 Wed Nov  3 08:52:57 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
18895         * io.c (Init_IO): forgot to use INT2FIX() around SEEK_SET, etc.
18897 Wed Nov  3 00:25:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18899         * string.c (rb_str_split_method): use mbclen2() to handle kcode
18900           option of regexp objects.
18902 Mon Nov  1 14:22:15 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18904         * eval.c (rb_eval): reduce recursive calls to rb_eval()
18905           case of ||= and &&= .
18907 Sun Oct 31 13:12:42 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
18909         * regex.c (re_compile_pattern): wrong [\W] match.
18911 Fri Oct 29 16:57:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18913         * ext/nkf/lib/kconv.rb: new String methods (kconv, tojis, toeuc,
18914           tosjis).
18916         * time.c (time_s_at): now accepts optional second argument to
18917           specify micro second.
18919 Thu Oct 28 13:35:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18921         * string.c (rb_str_split_method): should be mbchar aware with
18922           single char separators.
18924 Wed Oct 27 12:57:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18926         * random.c (rb_f_srand): random seed should be unsigned.
18928 Tue Oct 26 23:58:15 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18930         * array.c (rb_ary_collect): collect for better performance.
18932 Tue Oct 26 19:20:54 1999  Koji Arai  <JCA02266@nifty.ne.jp>
18934         * marshal.c (r_object): should register class/module objects.
18936 Sat Oct 23 15:59:39 1999  Takaaki Tateishi  <ttate@jaist.ac.jp>
18938         * process.c (rb_f_system): should require at least one argument.
18940 Sat Oct 23 12:42:44 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
18942         * enum.c (enum_collect): collect without block will collect
18943           elements in enumerable.
18945 Thu Oct 21 16:14:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18947         * ruby.c (moreswitches): function to process string option;
18948           the name is stolen from perl (not implementation).
18950         * ruby.c (proc_options): use RUBYOPT environment variable to
18951           retrieve the default options.
18953         * dir.c (fnmatch): use eban's fnmatch; do not depend on system's
18954           fnmatch (which may have portability problem) anymore.
18956 Wed Oct 20 15:14:24 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18958         * marshal.c (marshal_load): should protect the generated object
18959           table (arg->data) from GC.
18961 Mon Oct 18 16:15:52 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18963         * ext/nkf/nkf.c (rb_nkf_kconv): output should be NUL terminated.
18965 Mon Oct 18 09:03:01 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
18967         * lib/net/session.rb, smtp.rb, pop.rb: 1.0.3
18969         * lib/net/pop.rb: new methods POP3Command#uidl, POPMail#uidl.
18971 Sun Oct 17 03:35:33 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
18973         * array.c (rb_ary_pop): forgot some freeze checks.
18975 Sat Oct 16 12:57:53 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
18977         * array.c (rb_ary_sort): always returns the copied array.
18979 Fri Oct 15 22:50:41 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
18981         * error.c (sys_nerr): on CYGWIN, it is _sys_nerr.
18983 Fri Oct 15 01:32:31 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
18985         * io.c (rb_io_ctl) :need to use NUM2ULONG, not NUM2INT.
18987         * ext/Win32API/Win32API.c (Win32API_Call): need to use NUM2ULONG,
18988           not NUM2INT.
18990 Fri Oct 15 00:22:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
18992         * re.c (Init_Regexp): super class of the MatchingData, which was
18993           Data, to be Object.
18995         * eval.c (ruby_run): evaluate required libraries before load &
18996           compiling the script.
18998         * parse.y (lex_getline): retrieve a line from the stream, saving
18999           lines in the table in debug mode.
19001         * eval.c (call_trace_func): treat the case ruby_sourcefile is null.
19003 Thu Oct 14 02:00:10 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19005         * parse.y (string): compile time string concatenation.
19007 Wed Oct 13 07:28:09 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
19009         * lib/net/session.rb, smtp.rb, pop.rb: 1.0.2
19011         * lib/net/session.rb: new method Session#set_pipe.
19013         * lib/net/session.rb, smtp.rb, pop.rb: add RD documentation.
19015 Wed Oct 13 02:17:05 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
19017         * array.c (rb_ary_plus): remove recursion.
19019         * array.c (rb_ary_sort_bang): detect modify attempt.
19021 Wed Oct 13 02:17:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19023         * eval.c (block_pass): should copy block to prevent modifications.
19024           tag in the structure should be updated from latest prot_tag.
19026         * eval.c (proc_s_new): tag in struct BLOCK should not point into
19027           unused stack.
19029         * dir.c (dir_s_glob): iterate over generated matching filenames if
19030           the block is given to the method.
19032         * array.c (rb_ary_at): new methods; at, first, last.
19034         * hash.c (rb_hash_fetch): raises exception unless the default
19035           value is supplied.
19037         * hash.c (rb_hash_s_create): need not remove nil from value.
19039         * hash.c (rb_hash_aset): setting value to nil does not remove key
19040           anymore.
19042 Tue Oct 12 22:29:04 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19044         * io.c (io_read): length may be 0 or negative.
19046 Tue Oct 12 13:26:27 1999  Jun-ichiro itojun Hagino  <itojun@itojun.org>
19048         * signal.c (posix_signal): RETSIGTYPE may be void.
19050 Tue Oct 12 03:28:03 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
19052         * array.c (rb_ary_delete_at): allows negative position.
19054 Mon Oct 11 17:42:25 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
19056         * parse.y (rb_intern): should generate distinct ID_ATTRSET symbols
19057           for the name with multiple `='s at the end.
19059         * Makefile.in (CPPFLAGS): separate cpp flags from CFLAGS.
19061 Mon Oct 11 07:27:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19063         * eval.c (rb_eval): should not execute the `else' clause on the
19064           case the exceptions are handled by the `rescue' clause.
19066         * signal.c (Init_signal): ignore SIGPIPE by default.
19068 Wed Oct  6 17:13:19 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
19070         * ruby.c (addpath): rubylib_mangled_path() modified.
19072 Mon Oct  4 12:42:32 1999  Kazuhiko Izawa  <izawa@erec.che.tohoku.ac.jp>
19074         * pack.c (pack_unpack): % in printf format should be %%.
19076 Mon Oct  4 10:01:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19078         * variable.c (rb_obj_instance_variables): should always return
19079           array for all object can have instance variables now.
19081 Mon Oct  4 00:08:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19083         * pack.c (OFF16): need to adjust pointer address to pack/unpack on
19084           64bit machines.
19086 Sun Oct  3 03:05:59 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
19088         * time.c (time_arg): mktime y2k problem.
19090 Sun Sep 26 16:54:45 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
19092         * parse.y (here_document): `\r' handling for here documents.
19094 Wed Sep 22 09:20:11 1999  Masahiro Tomita  <tommy@tmtm.org>
19096         * ext/socket/socket.c: SOCKS5 support.
19098 Wed Sep 22 07:33:23 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
19100         * lib/net/session.rb, smtp.rb, pop.rb: 1.0.1
19102         * lib/net/pop.rb: APOP did not work.
19104         * lib/net/pop.rb: modify the way to make APOP challenge.
19106 Wed Sep 22 00:35:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19108         * string.c (rb_str_include): should return boolean value.
19110         * regex.c (re_compile_fastmap): wrong comparison with mbc.
19112         * eval.c (specific_eval): default sourcefile name should be
19113           "(eval)" for module_eval etc.
19115 Wed Sep 22 00:06:07 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19117         * win32/Makefile: update rules.
19119         * io.c (io_fread): should not assign in char, it maybe -1.
19121 Tue Sep 21 23:57:54 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19123         * eval.c (call_trace_func): should not propagate retval in
19124           trace_func.
19126 Mon Sep 20 21:35:39 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19128         * win32/win32.c (myselect): assume non socket files are always
19129           readable/writable.
19131 Mon Sep 20 01:08:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19133         * io.c (io_fread): should not block other threads.
19135         * io.c (rb_io_synchronized): renamed from rb_io_unbuffered(); do
19136           not call setbuf(NULL) anymore.
19138 Sat Sep 18 13:45:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19140         * stable version 1.4.2 released.
19142 Fri Sep 17 23:24:17 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19144         * eval.c (rb_f_missing): dumped core if no argument given.
19146 Fri Sep 17 23:21:06 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19148         * win32/win32.c (myselect): translate WSAEINTR, WSAENOTSOCK into
19149           UNIX errno constants.
19151 Fri Sep 17 00:52:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19153         * parse.y (arg): assignable() may return 0.
19155 Thu Sep 16 20:46:23 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19157         * eval.c (rb_eval): was doubly evaluating the return expression.
19159 Thu Sep 16 18:40:08 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19161         * stable version 1.4.1 released.
19163 Thu Sep 16 11:33:22 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19165         * string.c (rb_str_match): should return nil.
19167 Wed Sep 15 22:46:37 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19169         * re.c (rb_reg_s_quote): should quote `-' too.
19171 Tue Sep 14 15:23:22 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
19173         * parse.y (yylex): no need to ignore `\r' here.
19175         * parse.y (nextc): strip `\r' from text.
19177         * parse.y (nextc): support `__END__\r\n' type terminator.
19179 Mon Sep 13 10:49:19 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19181         * eval.c (rb_eval): needless RTEST(ruby_verbose) removed.
19183 Mon Sep 13 09:10:11 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
19185         * lib/net/session.rb, smtp.rb, pop.rb: 1.0.0
19187 Wed Sep  8 11:37:38 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
19189         * time.c (make_time_t): bit more strict comparison.
19191 Tue Sep  7 00:50:56 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19193         * range.c (range_each): use rb_str_upto() for strings.
19195         * string.c (rb_str_upto): set upper limit by comparing curr <= end.
19197         * range.c (range_each): should check equality to handle magic
19198           increment.
19200 Mon Sep  6 22:43:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19202         * eval.c (rb_eval): break/next/redo available within -n/-p loop.
19204 Fri Sep  3 11:14:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19206         * compar.c (cmp_equal): should not raise exception; protect by
19207           rb_rescue().
19209 Thu Sep  2 05:23:05 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
19211         * file.c (rb_file_s_expand_path): use dirsep, instead of character
19212           literal '/'.
19214         * file.c (rb_file_s_expand_path): reduce multiple dirsep at the top.
19216 Wed Sep  1 00:28:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19218         * eval.c (rb_call): call rb_undefined() if a method appears not to
19219           be exist explicitly from cache.
19221         * eval.c (rb_method_boundp): check method cache before calling
19222           rb_get_method_body().
19224         * eval.c (rb_get_method_body): store method non-existence
19225           information in the cache.
19227         * random.c (rb_f_srand): use getpid(2) to generate seed.
19229         * regex.c (re_match): do not apply partial mbc match for
19230           charset_not.
19232         * regex.c (re_compile_pattern): put extended literal prefix (0xff)
19233           only before numeric literals, not before all >0x80 char.
19235         * regex.c (re_compile_pattern): put numeric literal in extended
19236           charset region, not normal charset bits.
19238         * regex.c (re_compile_fastmap): calculate fastmap for charset and
19239           charset_not to treat numeric literal (e.g. \246) specially.
19241 Fri Aug 28 17:32:55 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
19243         * eval.c (rb_eval): should set return value (nil) explicitly if a
19244           value is omitted for return statement.
19246 Sun Aug 26 20:26:40 2001  Koji Arai  <JCA02266@nifty.ne.jp>
19248         * ext/readline/readline.c: restore terminal mode
19249           even if readline() interrupted.
19251         * ext/readline/readline.c: returned string need to
19252           be tainted.
19254         * ext/readline/readline.c: fixed memory leak.
19256         * ext/readline/readline.c: allow negative index.
19258         * ext/readline/readline.c: added Readline::HISTORY.size
19259           same as Readline::HISTORY.length
19261         * ext/readline/readline.c: allow conditional parsing
19262           of the ~/.inputrc file by `$if Ruby'.
19264         * ext/readline/extconf.rb: check whether the
19265           libreadline has the variable `rl_completion_append_character'
19266           (this feature was implemented from GNU readline 2.1).
19268 Thu Aug 26 15:06:11 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
19270         * gc.c (rb_gc): local variables may be placed beyond stack_end, so
19271           use an address from alloca(1) on non C_ALLOCA platforms.
19273 Thu Aug 26 01:24:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19275         * sprintf.c (rb_f_sprintf): "%%" is legal, but "%3.14%" is not.
19277 Mon Aug 23 00:00:54 1999  Tsukada Takuya  <tsukada@fminn.nagano.nagano.jp>
19279         * regex.c (re_compile_fastmap): wrong macro caused memory leak.
19281 Sat Aug 21 11:30:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19283         * eval.c (ADJ): should not adjust addresses to data on heap.
19285 Fri Aug 20 20:50:58 1999  Kenji Nagasawa  <kenn@hma.att.ne.jp>
19287         * defines.h (PATH_SEP): path separator is ";" for OS/2.
19289 Thu Aug 19 10:50:43 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
19291         * gc.c (rb_gc): add volatile to avoid GCC optimize bug(?).
19293 Wed Aug 18 23:48:10 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19295         * due to disk trouble, some change records were lost.  several
19296           modification made to eval.c, gc.c, io.c, pack.c,
19297           ext/extmk.rb.in, and lib/mkmf.rb.
19299 Fri Aug 13 15:41:39 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19301         * stable version 1.4.0 released.
19303 Fri Aug 13 03:16:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19305         * io.c (argf_forward): since $stdout may be non-IO, ARGF.file is
19306           not guaranteed to be IO.  check and forwarding added to every ARGF
19307           method.
19309         * io.c (set_outfile): $stdout/$stderr may not be IO now.
19311         * io.c (set_stdin): $stdin may not be IO now.
19313         * range.c (rb_range_beg_len): round `end' to length as documented.
19315         * io.c (Init_IO): preserve original stdin/stdout/stderr.
19317 Thu Aug 12 13:44:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19319         * eval.c (Init_load): require receives 1 argument.
19321         * eval.c (frame_dup): should clear tmp to avoid dangling
19322           references.
19324 Wed Aug 11 13:33:13 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19326         * eval.c (rb_eval): no automatic aggregate initialization.
19328         * eval.c (module_setup): ditto.
19330 Wed Aug 11 18:18:41 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
19332         * eval.c (yield_under_i): automatic aggregate initialization is an
19333           ANSI feature.
19335 Wed Aug 11 10:10:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19337         * parse.y (yylex): parse `[].length==0' as `([].length)==0', not
19338           `([].length=)=0'
19340         * parse.y (yylex): parse `[].length!=0' as `([].length)!=0', not
19341           `([].length!)=0'
19343         * parse.y (peek): peek-in lexical buffer.
19345 Wed Aug 11 00:34:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19347         * regex.c (re_match): bug on backward jump adjustment concerning
19348           stop_paren.
19350 Tue Aug 10 14:54:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19352         * ext/nkf/nkf.c (rb_nkf_guess): binary detection was wrong.
19354 Tue Aug 10 00:07:36 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19356         * io.c (rb_io_clone): should use CLONESETUP().
19358 Mon Aug  9 23:57:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19360         * ruby.h (CLONESETUP): should have copied generic instance
19361           variables too.
19363 Mon Aug  9 10:46:54 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19365         * ext/socket/extconf.rb: add check for <arpa/nameser.h> and
19366           <resolv.h>.
19368 Sat Aug  7 13:19:06 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
19370         * numeric.c (flo_cmp): comparing NaN should not return value.
19371           raises FloatDomainError.
19373 Sat Aug  7 03:09:08 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19375         * eval.c (blk_free): free copied frames too.
19377         * eval.c (frame_dup): should copy previous frames from stack to
19378           heap to preserve frame information.
19380 Fri Aug  6 15:01:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19382         * version 1.3.7 - version 1.4 beta
19384         * ext/socket/socket.c (s_recv): UDPsocket#recvfrom now returns
19385           IPsocket#addr information.
19387         * array.c (rb_ary_subary): ary[-3,3] should not return nil.
19389 Thu Aug  5 10:58:01 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19391         * eval.c (thread_mark): protect old ruby_frame from GC during it
19392           replaced by eval().
19394         * eval.c (eval): do not modify frame.prev; binding should preserve
19395           information about calling() too.
19397         * eval.c (rb_yield_0): no arity check for mere yield; but only for
19398           Proc#call.
19400 Tue Aug  3 22:07:13 1999  Kazuhiro HIWADA  <hiwada@kuee.kyoto-u.ac.jp>
19402         * object.c (rb_mod_clone): should check if iv_tbl, m_tbl are
19403           initialized.
19405 Tue Aug  3 19:03:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19407         * hash.c (rb_any_cmp): use rb_with_disable_interrupt() to ensure
19408           clearance of rb_prohibit_interrupt even on failure.
19410         * eval.c (rb_with_disable_interrupt): new function added.
19412 Sat Jul 31 23:23:44 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19414         * eval.c (rb_thread_create_0): set THREAD_RAISED flag on thread
19415           termination by exception.
19417         * eval.c (rb_thread_join): `$!' may not be nil for the threads
19418           created in rescue clause.
19420         * eval.c (rb_thread_status): ditto.
19422         * eval.c (rb_thread_join): should re-raise exception for already
19423           dead threads too.
19425 Fri Jul 30 17:56:54 1999  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
19427         * object.c (rb_mod_ge): wrong comparison.
19429 Fri Jul 30 12:15:44 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19431         * ext/tcltklib/extconf.rb: win32 support.
19433         * lib/mkmf.rb: use append_library().
19435         * ext/extmk.rb.in: ditto.
19437 Fri Jul 30 02:11:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19439         * array.c (rb_ary_delete): should return nil for deleting non
19440           existing item.
19442         * io.c (rb_io_close): call rb_sys_wait() on explicit close.
19444         * io.c (rb_io_fptr_close): do not call rb_sys_wait() on finalize.
19446         * eval.c (yield_under_i): cbase context should be maintained for
19447           Module#module_eval().  suggested by <inaba@st.rim.or.jp>.
19449 Wed Jul 28 01:18:28 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19451         * Makefile.in: add -I$(hdrdir)/lib to install using ftools.
19453         * util.c: use HAVE_FCNTL_H, not HAVE_FCNTL
19455 Wed Jul 28 18:24:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19457         * version 1.3.6 - version 1.4 alpha
19459 Tue Jul 27 09:38:08 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
19461         * eval.c (rb_eval): reduce recursive rb_eval() calls by
19462           NODE_BLOCKs.
19464 Tue Jul 27 01:20:40 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19466         * file.c (rb_file_s_expand_path): drive letter patch.
19468 Mon Jul 26 02:36:31 1999  Shugo Maeda  <shugo@netlab.co.jp>
19470         * eval.c (rb_load): should clear ruby_nerr.
19472         * eval.c (rb_thread_join): oldbt should not be empty to unshift.
19474 Sun Jul 25 12:09:16 1999  Koji Arai  <JCA02266@nifty.ne.jp>
19476         * dir.c (push_braces): should treat nested braces.
19478 Fri Jul 23 02:49:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19480         * hash.c (rb_hash_clear): dummy argument added; suggested by
19481           <eguchi@shizuokanet.ne.jp>.  thanks.
19483 Thu Jul 22 19:37:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19485         * eval.c (rb_thread_join): get_backtrace() may return Qnil.
19486           typecheck added.
19488 Tue Jul 20 14:36:43 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19490         * range.c (range_each): do not treat String specially (for future
19491           override).
19493 Tue Jul 20 02:28:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19495         * io.c (rb_gets): $_ should be nil, when get returns nil.
19497         * io.c (rb_f_gets): ditto.
19499 Mon Jul 19 17:13:09 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19501         * regex.c (re_compile_fastmap): should continue fastmap compile
19502           for anychar_repeat, for it's repeat anyway.
19504 Mon Jul 26 13:33:45 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19506         * lib/jcode.rb: replaced by faster code.
19508 Mon Jul 19 01:57:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19510         * lib/mkmf.rb: no longer use install program.
19512         * ext/extmk.rb.in: use miniruby to install programs.
19514 Sat Jul 17 00:06:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19516         * ext/socket/socket.c (ipaddr): don't do reverse lookup if
19517           attribute do_not_reverse_lookup is set for socket classes.
19518           Experimental.  Note this is a global attribute.
19520 Fri Jul 16 22:18:29 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19522         * io.c (rb_io_eof): use feof() to check EOF already met.
19524         * io.c (read_all): should return nil at EOF.
19526 Fri Jul 16 13:39:42 1999  Wakou Aoyama  <wakou@fsinet.or.jp>
19528         * lib/telnet.rb: version 0.231.
19530 Fri Jul 16 10:58:22 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
19532         * regex.c (re_match): debug print removed.
19534 Fri Jul 16 09:58:15 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19536         * many files: clean up unused variables found by gcc -Wall.
19538         * lib/mkmf.rb: better cygwin support etc.
19540         * ext/extmk.rb.in: ditto.
19542         * instruby.rb: ditto.
19544 Fri Jul 16 01:37:50 1999  Koji Arai  <JCA02266@nifty.ne.jp>
19546         * string.c (rb_str_squeeze_bang): the type of local variable `c'
19547           should be int, not char.
19549         * string.c (rb_str_reverse): should always return copy.
19551 Thu Jul 15 23:25:57 1999  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
19553         * lib/debug.rb: better display & frame treatment.
19555 Thu Jul 15 21:16:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19557         * array.c (rb_ary_each): returns self for normal termination;
19558           returns nil for break.
19560         * string.c: non bang methods (e.g. String#sub) should always
19561           return copy of the receiver.
19563 Thu Jul 15 21:09:15 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
19565         * eval.c (find_file): do not add empty string to the path.
19567         * configure.in (with-search-path): should not add empty string if
19568           the option is not supplied.
19570 Thu Jul 15 17:49:08 1999  Ryo HAYASAKA  <hayasaka@univ21.u-aizu.ac.jp>
19572         * ext/tcltklib/tcltklib.c: move `#include "ruby.h"' forward.
19574 Thu Jul 15 16:54:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19576         * version 1.3.5 - version 1.4 alpha
19578 Wed Jul 14 23:45:33 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19580         * eval.c (ruby_init): initialize for the first time only.
19582 Tue Jul 13 00:15:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19584         * hash.c (rb_hash_index): re-defined; method to retrieve a key
19585           from the value.
19587         * hash.c (Init_Hash): member? should be re-defined for Hash.
19589 Tue Jul 12 13:54:51 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
19591         * io.c (rb_file_sysopen): wrong number of argument.
19593 Mon Jul 12 11:52:35 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19595         * eval.c (rb_f_missing): class name included in message.
19597         * eval.c (print_undef): better error message.
19599 Sun Jul 11 05:36:17 1999  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
19601         * lib/debug.rb: patch to show proper position.
19603 Fri Jul  9 23:56:14 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
19605         * dln.c (dln_find_1): path conv. moved to conv_to_posix_path.
19607         * dln.c (conv_to_posix_path): path conv. should be done.
19609 Fri Jul  9 10:26:47 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19611         * random.c (RANDOM_NUMBER): should place parentheses.
19613 Fri Jul  8 11:00:51 1999  Shugo Maeda  <shugo@netlab.co.jp>
19615         * numeric.c (fix_div): division may be out of fixnum range.
19617         * bignum.c (bigdivmod): proper sign calculation to result.
19619 Wed Jul  7 18:27:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19621         * st.c (st_delete_safe): was modifying wrong slot.
19623 Mon Jul  5 13:17:46 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19625         * gc.c (rb_gc_call_finalizer_at_exit): close all files at exit.
19627 Fri Jul  2 18:00:21 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
19629         * lib/Mail/README: Mail-0.3.0 added to the distribution.
19631 Fri Jul  2 01:45:32 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19633         * regex.c (re_compile_fastmap): avoid allocation of register
19634           variables for each invocation of re_match().  Suggested by
19635           Zasukhin Ruslan <ruslan@paradigmasoft.com>.  Thanks.
19637 Tue Jun 29 20:39:24 1999  Koji Arai  <JCA02266@nifty.ne.jp>
19639         * ext/tk/lib/tk.rb (TkVariable): bug fix; should value type check
19640           be added?
19642         * string.c (rb_str_each_line): a bug in paragraph mode.
19644         * ruby.c (load_file): shifted too much to skip #!.
19646 Tue Jun 29 06:50:21 1999  Wakou Aoyama  <wakou@fsinet.or.jp>
19648         * lib/CGI.rb: 0.30 - cleanup release, incompatible.
19650         * lib/telnet.rb: 0.22 - timeout added.
19652 Tue Jun 29 10:49:25 1999  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
19654         * configure.in: better Rhapsody support.
19656         * lib/mkmf.rb: Rhapsody/NEXTSTEP support.
19658 Tue Jun 29 01:42:13 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19660         * ext/pty/pty.c (chld_changed): should use POSIX.1 style wait.
19662 Mon Jun 28 21:07:36 1999  KIMURA Koichi  <kbk@kt.rim.or.jp>
19664         * ext/extmk.rb.nt: wrong result for have_library().
19666 Mon Jun 28 15:24:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19668         * missing/isinf.c: OSF/1 raises SIGFPE on one()/zero().
19670         * regex.c (re_search): should search til EOS, for patterns may
19671           match beyond the end of range.
19673 Mon Jun 28 12:49:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19675         * io.c (rb_f_select): should not accept Time objects as an
19676           argument for it is time interval.
19678         * process.c (rb_f_sleep): ditto.
19680         * file.c (test_s): should return nil for false condition.
19682 Mon Jun 28 12:23:52 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19684         * bignum.c (rb_dbl2big): typo.
19686         * file.c (rb_f_test): ditto.
19688         * string.c (rb_str_crypt): wrong message.
19690 Sun Jun 27 19:50:11 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
19692         * eval.c (rb_f_exit): should have treat signed integer status, not
19693           VALUE.
19695         * process.c (rb_f_exit_bang): should work like exit().
19697 Sun Jun 27 16:21:32 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
19699         * string.c (rb_str_rindex): wrong position to search.
19701 Sat Jun 26 04:05:30 1999  Takaaki Tateishi  <ttate@jaist.ac.jp>
19703         * configure.in (configure_args): --with-search-path to specify
19704           additional ruby search path.
19706         * ruby.c (ruby_prog_init): additional search path.
19708 Fri Jun 25 13:09:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19710         * pack.c (pack_unpack): needed to initialize natint.
19712         * regex.c (re_compile_pattern): add start_paren to avoid too much
19713           finalization on maybe_finalize_jump.
19715 Fri Jun 25 13:07:20 1999  Koji Oda  <oda@bsd1.qnes.nec.co.jp>
19717         * missing/isinf.c: include "config.h" added.
19719 Fri Jun 25 07:25:05 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19721         * lib/mkmf.rb: initialize $(topdir).
19723         * ext/extmk.rb.in (install_rb): install lib/*.rb properly.
19725         * configure.in (linux): specifies -rpath on --enable-shared.
19727         * configure.in (aix): ruby.imp must reside in $(topdir).
19729 Thu Jun 24 19:11:29 1999  Yoshida Masato  <yoshidam@yoshidam.net>
19731         * parse.y (rb_str_extend): multi-byte identifier in expression
19732           interpolation in strings.
19734         * parse.y (yylex): support multi-byte char identifiers.
19736 Thu Jun 24 15:27:13 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19738         * parse.y (f_arg): check duplicate argument names.
19740         * gc.c (rb_gc_mark): marking wrong member for NODE_ARGS.
19742         * string.c (rb_str_rindex): POSITION specifies start point, not
19743           end point.
19745 Thu Jun 24 13:00:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19747         * regex.c (print_mbc): wrong boundary.
19749         * pack.c (uv_to_utf8): raises ArgError for too big value.
19751 Thu Jun 24 11:02:51 1999  Yoshida Masato  <yoshidam@yoshidam.net>
19753         * pack.c (uv_to_utf8): mask needed.
19755 Wed Jun 23 21:03:56 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
19757         * ruby.h (struct RFile): remove iv_tbl from struct. instance
19758           variables are handled as generic ivs.
19760 Wed Jun 23 22:06:26 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
19762         * pack.c (utf8_to_uv): pack to 7 bytes sequence.
19764         * pack.c (uv_to_utf8): wrong boundary.
19766         * pack.c (pack_unpack): should treat as unsigned long.
19768 Wed Jun 23 15:10:11 1999  Inaba Hiroto  <inaba@sdd.tokyo-sc.toshiba.co.jp>
19770         * parse.y (parse_string): failed to parse nested braces.
19772         * parse.y (parse_regx): nested braces within #{} available.
19774 Wed Jun 23 11:18:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19776         * regex.c (slow_search): wrong shift width for mbcs.
19778         * eval.c (rb_thread_save_context): should not clear th->locals.
19780 Wed Jun 23 02:06:14 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19782         * parse.y (yylex): UMINUS binds too tight with digits. changed so
19783           that -2**2 => -4.
19785         * parse.y (close_paren): `do' for expr termination now works it
19786           used to be.
19788 Wed Jun 22 18:26:42 1999  Koji Arai  <JCA02266@nifty.ne.jp>
19790         * pack.c (pack_pack): should initialize local variable `j'.
19792 Wed Jun 22 15:24:59 1999  Koji Arai  <JCA02266@nifty.ne.jp>
19794         * parse.y (here_document): a bug for multiline heredoc.
19796 Tue Jun 22 15:06:36 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19798         * ext/socket/socket.c (ruby_socket): forgot to return fd
19799           explicitly.
19801 Tue Jun 22 13:34:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19803         * rubyio.h (MakeOpenFile): should initialize member `iv_tbl'.
19805 Wed Jun 22 10:35:51 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19807         * io.c (rb_io_gets_internal): getc(3) may not set errno on
19808           interrupt.
19810 Mon Jun 21 22:39:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19812         * eval.c (call_required_libraries): ruby_sourceline should be
19813           cleared before loading libraries.
19815         * io.c (set_stdin): do not use reopen(), so that we don't need to
19816           dup original stdin before assigning $stdin.
19818 Mon Jun 21 18:04:27 1999  Ryo HAYASAKA  <hayasaka@univ21.u-aizu.ac.jp>
19820         * ext/dbm/dbm.c: include <cdefs.h> for solaris 2.6.
19822 Mon Jun 21 15:59:47 1999  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
19824         * ext/socket/socket.c (ip_addrsetup): forgot to put `else'.
19826 Mon Jun 21 15:38:37 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19828         * io.c (fptr_finalize): remove rb_syswait() invocation to avoid
19829           wait4(2) within GC.  rb_syswait() moved to rb_io_fptr_close().
19831 Mon Jun 21 12:05:59 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
19833         * dir.c (dir_s_glob): remove MAXPATHLEN restriction.
19835         * ext/md5/md5init.c (md5_hexdigest): should have used "%02x".
19837 Sun Jun 20 19:50:38 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
19839         * string.c (rb_str_each_line): should have checked string
19840           boundary.
19842 Sat Jun 19 22:24:12 1999  Kenji Nagasawa  <kenn@hma.att.ne.jp>
19844         * OS/2 patch improved.
19846 Fri Jun 18 08:30:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19848         * marshal.c (r_byte): add data length check.
19850         * ext/tcltklib/tcltklib.c (_timer_for_tcl): was doing busy-wait.
19852 Tue Jun 15 10:01:21 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19854         * configure.in: remove trailing slash from interpreter embedded
19855           shared library path.
19857         * configure.in (INSTALL_DLLIB): install shared lib with 0555.
19859         * instruby.rb: changed mode for shared library into 0555.
19861 Fri Jun 11 23:27:00 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
19863         * ext/etc/etc.c (etc_passwd): should return nil, not exception for
19864           call after last passwd entry.
19866 Fri Jun 11 15:21:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19868         * gc.c (rb_gc_mark_locations): add safety margin 1.
19870         * eval.c (ruby_run): should protect toplevel node tree.
19872         * ext/etc/etc.c (etc_group): dumps core if there's no more group.
19874 Fri Jun 11 01:50:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19876         * eval.c (ruby_run): Init_stack() was called too late; local
19877           variables happened to be higher (or lower) than stack_start.
19879 Thu Jun 10 16:41:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19881         * io.c: do not call `initialize' for IO objects.  So with Array,
19882           Hash, Range, and Time objects.
19884         * ext/curses/curses.c (curses_getch): made thread aware using
19885           rb_read_check().
19887         * ext/curses/curses.c (window_getch): ditto.
19889         * ext/curses/curses.c (curses_getstr): made (partially) thread
19890           aware using rb_read_check().
19892         * ext/curses/curses.c (window_getstr): ditto.
19894         * io.c (rb_read_check): new function to help making something
19895           (like extension libraries) thread aware.
19897         * eval.c (is_defined): `defined? super' should be true even for
19898           private superclass methods.
19900 Fri Jun 10 13:42:10 1999  Koji Arai  <JCA02266@nifty.ne.jp>
19902         * pack.c (pack_pack): template `Z' should be allowed.
19904 Wed Jun  9 13:26:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19906         * eval.c (rb_thread_loading): modified to avoid nested race
19907           condition of require().
19909         * ext/tcltklib/tcltklib.c (ip_invoke): queue invocation on non
19910           main threads.
19912         * ext/tcltklib/tcltklib.c (lib_mainloop): flush invocation
19913           queues periodically.
19915         * version.c (ruby_show_version): now print the message to stdout.
19917         * version.c (ruby_show_copyright): ditto.
19919 Tue Jun  8 00:00:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19921         * pack.c (pack_unpack): append sentinel (NUL) to the string.
19923         * ext/md5/md5init.c (md5_hexdigest): new method to obtain
19924           printable hash string.
19926         * ext/md5/md5init.c (md5_update): should return self.
19928         * pack.c (pack_pack): undocumented template 'U' for UTF8.
19930         * pack.c (pack_unpack): ditto.
19932         * marshal.c (r_byte): should replace getc() with rb_getc().
19934         * io.c (rb_getc): getc() replacement uses READ_DATA_PENDING() and
19935           rb_thread_wait_fd().
19937 Mon Jun  7 23:23:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19939         * object.c (rb_mod_clone): should call CLOSESETUP().
19941         * eval.c (bind_clone): should call CLONESETUP() for new clone.
19943 Sat Jun  5 10:32:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19945         * string.c (rb_str_oct): binary (e.g. 0b10111) support.
19947         * variable.c (rb_const_set): raise warning, not exception.
19949         * parse.y (yycompile): initialize parser internal variables.
19951         * parse.y (close_paren): set lex_state to EXPR_PAREN after closing
19952           parenthesis.
19954         * parse.y (yylex): returns kDO for `do' right after method_call.
19956 Thu Jun  3 11:05:30 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
19958         * regex.c (read_backslash): should decode \b within class.
19960 Thu Jun  3 01:06:18 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
19962         * dln.c (dln_load): AIX improvement (aix_findmain removed).
19964 Wed Jun  2 00:41:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19966         * pack.c (pack_unpack): new undocumented template Z which strips
19967           stuff after first null.
19969         * pack.c (pack_pack): should preserve specified length of the
19970           resulting string.
19972 Tue Jun  1 15:29:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19974         * ext/socket/socket.c (ruby_socket): retry after GC, if socket(2)
19975           failed on EMFILE or ENFILE.
19977         * ext/socket/socket.c (sock_s_socketpair): ditto.
19979         * eval.c (module_setup): need to add PUSH_VAR/POP_VAR to clear
19980           dyna vars link list.
19982         * version.h (RUBY_RELEASE_CODE): integer macro constant for source
19983           version detection.
19985 Sun May 30 22:19:12 1999  Kenji Nagasawa  <kenn@tcp-ip.or.jp>
19987         * ext/socket/socket.c: emx/gcc 0.9d now fixes things about
19988           AF_UNIX.
19990         * process.c: OS/2 EMX kludge.
19992         * Makefile.in (strncasecmp.o): added dependency.
19994 Mon May 31 16:06:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
19996         * version 1.3.4 - preliminary release for 1.4
19998 Mon May 31 15:57:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20000         * io.c (rb_io_fptr_close): close on IO which main_thread is
20001           waiting cause serious exception, that vanishes the actual fd
20002           closing.  Invocation of rb_thread_fd_close() is deferred
20003           a little.
20005 Sat May 29 18:27:13 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20007         * regex.c (re_match): stack boundary check needed.
20009 Sat May 29 12:27:00 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20011         * ext/tcltklib/tcltklib.c (ip_invoke): proper ref count management
20012           to avoid leak.  I HATE REF COUNTING!!
20014         * eval.c (ruby_run): moved ruby_require_libraries() to handle `-r'
20015           from ruby_options() to avoid stack corruption for threads
20016           created in libraries.
20018 Sat May 29 02:22:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20020         * eval.c (rb_yield_0): when `for' appeared in blocks, it
20021           introduced new scope for local variables.
20023 Fri May 28 17:16:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20025         * string.c (rb_str_squeeze_bang): squeeze AND of the arguments.
20026           UNDOCUMENTED.
20028         * string.c (rb_str_count): new UNDOCUMENTED method.
20030         * string.c (rb_str_delete_bang): delete AND of the arg ranges.
20031           UNDOCUMENTED FEATURE for 1.3.x.
20033         * ext/socket/socket.c (setipaddr): re-wrote using ip_addrsetup().
20035         * ext/socket/socket.c (ip_addrsetup): decode symbolic address
20036           <broadcast>.
20038 Thu May 27 12:27:42 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20040         * string.c (tr_trans): should handle NUL (\0) within strings.
20042 Tue May 25 16:45:11 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20044         * io.c (rb_f_syscall): syscall may return values other than zero
20045           on success.
20047         * regex.c (re_match): handle empty loop properly (hopefully).
20049         * regex.c (re_match): remove empty group check, because it does
20050           not help non-grouping parentheses (?:..).
20052         * regex.c (re_compile_fastmap): treating try_next, finalize_push
20053           wrong way.
20055         * regex.c: remove some obsolete functions such as
20056           group_match_null_string_p().
20058 Mon May 24 14:47:54 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20060         * regex.c (read_backslash): read backslash by regex.
20062 Sun May 23 19:44:58 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
20064         * ext/pty/pty.c (getDevice): portability patch.
20066 Fri May 21 23:01:26 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
20068         * ext/socket/getaddrinfo.c (GET_AI): should set error code.
20070 Thu May 20 03:43:44 1999  Jun-ichiro itojun Hagino  <itojun@itojun.org>
20072         * ext/socket/socket.c: you should use sockaddr_storage to handle
20073           IPv6 addresses.
20075         * ext/socket/getaddrinfo.c (getaddrinfo): prevent retrieving
20076           AF_INET6 address if hints.ai_flags == AI_PASSIVE.
20078 Wed May 19 12:27:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20080         * eval.c (exec_end_proc): should protect exceptions.
20082         * gc.c (run_final): ditto.
20084         * parse.y (f_rest_arg): allow just * for rest arg.
20086         * parse.y (mlhs_basic): allow * without formal argument.
20088         * regex.c (re_match): the variable `part' should be initialized.
20090 Tue May 18 15:25:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20092         * regex.c (re_search): a bug in range adjustment.
20094 Tue May 18 11:35:59 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20096         * dln.c (conv_to_posix_path): path_len argument added.
20098 Mon May 17 12:26:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20100         * numeric.c (fix_rev): should treat Fixnum as signed long.
20102         * eval.c (massign): add strict number check for yield (and call).
20104         * eval.c (proc_arity): new method to return number of arguments.
20106         * eval.c (method_arity): new method to return number of arguments.
20108         * parse.y (read_escape): char may be unsigned.
20110         * string.c (rb_str_succ): ditto.
20112         * string.c (tr_trans): ditto.
20114         * object.c (Init_Object): methods `&', `|', `^' are added to nil.
20116         * range.c (rb_range_beg_len): it should be OK for [0..-len-1].
20118         * regex.c (re_search): search for byte literal within mbcs.
20120         * regex.c (is_in_list): parsh
20122         * regex.c (re_compile_fastmap): should have not alter the loop
20123           variable `j' if TRASLATE_P().
20125         * regex.c (re_compile_pattern): escaped characters should be read
20126           by PATFETCH_RAW(c).
20128 Sat May 15 11:23:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20130         * regex.c (re_match): endline2 (\Z) should not match at the point
20131           between a newline and end-of-line, like endline ($).
20133         * class.c (include_class_new): should initialize iv_tbl to share
20134           between module and iclass.
20136 Fri May 14 08:50:27 1999  Akira Endo  <akendo@t3.rim.or.jp>
20138         * regex.c (re_compile_fastmap): it should be k != 0 to skip.
20140 Fri May 14 12:46:56 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20142         * time.c (time_load): a bug in old marshal format support.
20144         * instruby.rb: make site_ruby directory.
20146 Fri May 14 10:18:02 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
20148         * regex.c (re_match): a bug in inline `.*' etc.
20150 Fri May 14 09:58:46 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
20152         * ruby.c (addpath): should have specified string length.
20154 Thu May 13 10:40:44 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20156         * eval.c (rb_eval_string_wrap): new function.
20158         * regex.c (re_compile_pattern): POSIX line match should alter
20159           behavior for `^' and `$' to begbuf and endbuf2 respectively.
20161         * ext/pty/pty.c: un-ANSI-fy function arguments.
20163 Wed May 12 14:19:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20165         * struct.c (iv_get): in case of inheritance of generated struct
20166           class, __member__ and __size__ should also be inherited.
20167           Thanks for Pros Yeboah <yeboah@tu-harburg.de>.
20169         * io.c (rb_f_gets_internal): should check number of arguments
20170           before checking rb_rs == rb_default_rs.  Thanks for Koji Arai
20171           <JCA02266@nifty.ne.jp>.
20173 Tue May 11 08:29:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20175         * regex.c (re_compile_pattern): .?, .+ did not work.
20177 Mon May 10 00:59:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20179         * lib/jcode.rb: forgot to squeeze on reverse (complement) case.
20181         * string.c (tr_squeeze): should not set modify flag to be honest,
20182           if the string is not modified.
20184         * signal.c (Init_signal): SIGTERM should not be handled.
20186         * regex.c (re_match): seeking for longest match is now optional,
20187           which can be set using RE_OPTION_POSIXMATCH.  This satisfies
20188           POSIX longest match as much as Emacs's posix-* functions, which
20189           are known to be incomplete.
20191 Sun May  9 13:04:01 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
20193         * ext/socket/socket.c (sock_s_getaddrinfo): conversion from
20194           Fixnums to C integers needed.
20196 Sun May  9 11:51:43 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20198         * range.c (range_eqq): reverse condition.
20200         * range.c (range_s_new): default should be end inclusive.
20202 Sat May  8 03:27:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20204         * ext/socket/socket.c (thread_connect): replace nasty
20205           rb_thread_fd_writable() with rb_thread_select().
20207 Fri May  7 20:49:00 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
20209         * ext/socket/getaddrinfo.c (inet_pton): wrong parameter to
20210           inet_aton().
20212         * ext/socket/addrinfo.h (__P): silly cut and paste typo.
20214 Fri May  7 17:03:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20216         * dir.c (glob): removed GPL'ed glob.c completely.
20218 Fri May  7 08:17:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20220         * ext/sdbm/extconf.rb: sdbm extension added to the distribution.
20222 Fri May  7 01:42:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20224         * ext/socket/socket.c (tcp_s_gethostbyname): avoid using struct
20225           sockaddr_storage.
20227 Thu May  6 13:21:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20229         * array.c (rb_ary_indexes): should not use rb_ary_concat().
20231 Thu May  4 12:34:18 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20233         * parse.y (parse_string): there should be newline escape by
20234           backslashes in strings.
20236         * parse.y (parse_qstring): ditto.
20238 Mon May  3 04:37:20 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20240         * ext/tcltklib/extconf.rb: better search for libX11.
20242         * range.c (range_s_new): embarrassing =/== typo.
20244         * re.c (Init_Regexp): failed to set default kcode.
20246 Mon May  3 02:39:55 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
20248         * ext/socket/socket.c (open_inet): typo (res and res0).
20250 Tue May  4 02:07:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20252         * mkconfig.rb: leave undefined $(VARIABLE) unexpanded in the
20253           Config::CONFIG hash table.
20255 Mon May  3 09:37:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20257         * regex.c (re_compile_pattern): expand exactn{n} at compile time.
20258           handles stop_paren specially.
20260         * regex.c (re_compile_pattern): expand x{n} at compile time.
20262         * regex.c (re_search): posix line match should be checked.
20264         * regex.c (re_search): a bug in anchor condition.
20266 Fri Apr 30 18:57:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20268         * version 1.3.3
20270         * string.c (rb_str_rindex): position should be END point, not
20271           START point.
20273         * re.c (rb_reg_search): pos means end point on reverse now.
20275         * array.c (rb_ary_s_create): should clear ary->ptr to avoid
20276           potential gc crash.
20278 Fri Apr 30 15:24:58 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20280         * ext/socket/addrinfo.h: compatibility hack for ipv4.
20282         * ext/socket/socket.c: itojun's ipv6 patches applied.
20284         * ext/socket/extconf.rb: detect ipv6 features based on itojun's
20285           ipv6 patches.
20287         * ext/extmk.rb.in (enable_config): can handle --enable-xxx now.
20289         * lib/mkmf.rb (enable_config): ditto.
20291 Fri Apr 30 05:22:23 1999  Shugo Maeda  <shugo@netlab.co.jp>
20293         * string.c (rb_str_aset): last index should not append.
20295 Thu Apr 29 18:55:31 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
20297         * dln.c (conv_to_posix_path): remove const from args.
20299         * ruby.c (rubylib_mangle): remove Fatal(), the obsolete function.
20301 Tue Apr 27 14:11:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20303         * parse.y (fname): lazy workaround for keywords did not work well.
20305         * ext/extmk.rb.in: `--with-xxx=yyy' argument configuration.
20307         * lib/mkmf.rb: ditto.
20309         * misc/ruby-mode.el: forgot to handle $`.
20311         * ext/extmk.rb.in: better AIX link support proposed by
20312           <komatsu@sarion.co.jp>.
20314 Mon Apr 26 16:46:59 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20316         * ext/extmk.rb.in: AIX shared library support modified.
20318         * ext/aix_mksym.rb: ditto.
20320         * configure.in: ditto.
20322         * sprintf.c (rb_f_sprintf): should allocate proper sized buffer
20323           for float numbers.
20325 Sat Apr 24 00:00:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20327         * parse.y (operation): syntax like `a.[]=(1,2)' is allowed.
20329 Fri Apr 23 23:54:09 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20331         * io.c (argf_binmode): binmode method added to ARGF.
20333 Fri Apr 23 13:55:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20335         * string.c (rb_f_chomp): should assign the result to $_.  or maybe
20336           sub/gsub/chop/chomp should NOT assign $_ altogether.
20338 Thu Apr 22 16:50:54 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20340         * eval.c (rb_callcc): call scope_dup() for all scopes in
20341           the interpreter stack.
20343 Tue Apr 20 11:24:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20345         * string.c (rb_str_dump): `#' should be escaped.
20347 Tue Apr 20 02:32:42 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20349         * parse.y (parse_regx): option /p for posix match added.
20351         * re.c (rb_reg_desc): did not print options properly.
20353         * io.c (rb_file_s_open): initialize was called twice.
20355 Mon Apr 19 18:56:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20357         * configure.in (DEFAULT_KCODE): can specify default code for
20358           $KCODE by --with-default-kcode=(euc|sjis|utf8|none).
20360         * regex.c (IS_A_LETTER): a byte sequence shorter than mbc should
20361           not match with \w etc.
20363 Mon Apr 19 13:49:11 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20365         * eval.c (eval): should restore ruby_dyna_vars.
20367 Fri Apr 16 21:40:43 1999  Nobuyoshi Nakada  <gea02117@nifty.ne.jp>
20369         * io.c (f_backquote): pipe_open may return nil.
20371         * io.c (f_open): rb_io_open may return nil.
20373         * io.c (io_s_foreach): ditto.
20375         * io.c (io_s_readlines): ditto.
20377         * io.c (io_defset): wrong message.
20379 Fri Apr 16 15:09:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20381         * bignum.c (rb_str2inum): strtoul() returns long, not int.
20383         * eval.c (rb_load): size of VALUE and ID may be different.
20385         * util.c (mmprepare): int is too small to cast from pointers.
20387         * config.guess: avoid 'linux-gnu' for alpha-unknown-linux.
20389 Thu Apr 15 23:46:20 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20391         * ruby.c (rubylib_mangle): mangle path by RUBYLIB_PREFIX.
20393 Wed Apr 14 23:52:51 1999  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
20395         * node.h (NODE_LMASK): should be long to avoid overflow.
20397 Wed Apr 14 13:14:35 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
20399         * dln.c: AIX dynamic link.
20401         * ext/aix_ld.rb: ditto.
20403 Wed Apr 14 12:19:09 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20405         * lib/thread.rb: Queue#{enq,deq} added.
20407 Tue Apr 13 17:43:56 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20409         * hash.c (rb_hash_s_create): Hash::[] acts more like casting.
20411 Tue Apr 13 00:33:52 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20413         * io.c (rb_io_stdio_set): warning for assignment to the variables
20414           $std{in,out,err}.
20416 Mon Apr 12 23:12:32 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20418         * io.c (rb_io_reopen): check for reopening same IO.
20420 Fri Apr  9 17:45:11 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20422         * parse.y (rb_compile_string): bug for nested eval().
20424         * regex.c (re_match): should pop non-greedy stack items on
20425           failure, after best_regs are fixed.
20427 Thu Apr  8 17:30:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20429         * pack.c (PACK_LENGTH_ADJUST): need to adjust for `*' length.
20431 Tue Apr  6 23:28:44 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20433         * parse.y (void_check): add void context checks.
20435 Mon Apr  5 12:23:42 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20437         * time.c (time_s_at): should copy gmt-mode.
20439         * eval.c (eval_node): preserve ruby_eval_tree.
20441 Fri Apr  2 14:00:34 1999  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
20443         * lib/debug.rb: wrong command interpreting.
20445 Fri Apr  2 11:46:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20447         * version 1.3.2
20449 Fri Apr  2 10:40:04 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20451         * io.c (rb_io_s_pipe): forgot to define IO::pipe.
20453 Thu Apr  1 14:40:46 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20455         * eval.c (assign): modified for rhs change.
20457         * parse.y (stmt): unparenthesisized method calls can be right hand
20458           side expression of the assignment.
20460 Sat Mar 27 22:42:47 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20462         * ext/nkf/nkf.c (rb_nkf_kconv): check size output_ctr before
20463           decrement.
20465 Thu Mar 25 09:11:03 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20467         * time.c (time_s_at): preserve gmt-mode for result.
20469         * parse.y (rb_compile_string): do not use cur_mid, use
20470           compile_for_eval instead.
20472         * st.c (PTR_NOT_EQUAL): wrong logical condition.
20474 Wed Mar 24 13:06:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20476         * parse.y (yycompile): should clear cur_mid after compilation.
20478         * io.c (next_argv): need to check type for ARGV.shift.
20480         * eval.c (blk_copy_prev): need to preserve outer scope as well as
20481           outer frames.
20483         * parse.y (rb_compile_string): return can appear within eval().
20485 Tue Mar 23 10:15:07 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
20487         * configure.in: AC_C_CONST check added.
20489 Tue Mar 23 02:07:35 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20491         * time.c (time_plus): preserve gmt-mode for result.
20493 Mon Mar 22 01:32:37 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20495         * eval.c (rb_eval): adjust line numbers before expression
20496           interpolation within strings.
20498         * eval.c (rb_eval): defined? returns nil for false condition.
20500         * numeric.c (num_nonzero_p): returns nil for false condition.
20502 Sat Mar 20 13:07:43 1999  Keiju Ishitsuka  <keiju@rational.com>
20504         * lib/weakref.rb: avoid leak for two weakrefs for one object.
20506 Fri Mar 19 11:26:45 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20508         * eval.c (ruby_run): needed to eval END{} on exit.
20510         * eval.c (rb_exit): ditto.
20512 Fri Mar 19 02:17:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20514         * signal.c (Init_signal): handles terminating signals HUP, TERM,
20515           QUIT, PIPE, etc.
20517 Thu Mar 18 15:47:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20519         * bignum.c (rb_big_and): bug in sign calculation.
20521         * bignum.c (rb_big_or): ditto.
20523         * io.c (rb_f_select): forgot to use to_io to retrieve IO, after
20524           calling select(2).
20526 Tue Mar 16 19:54:31 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20528         * ext/extmk.rb.in: static linking cause infinite make loop.
20530 Tue Mar 16 18:50:04 1999  Yoshida Masato  <yoshidam@yoshidam.net>
20532         * ext/socket/socket.c (tcp_s_gethostbyname): typo, not NUM2INT(),
20533           but INT2NUM().
20535         * ext/socket/socket.c (mkhostent): ditto.
20537 Tue Mar 16 12:31:44 1999  Ryo HAYASAKA  <hayasaka@cheer.u-aizu.ac.jp>
20539         * file.c (utime_internal): suppress warning by const.
20541         * time.c (time_gmtime): ditto.
20543 Tue Mar 16 10:23:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20545         * time.c (time_clone): Time object can be cloned.
20547 Tue Mar 16 03:13:10 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20549         * ruby.c (load_file): argv[argc] should be NULL.
20551 Mon Mar 15 22:12:08 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
20553         * sprintf.c (rb_f_sprintf): typo in arg_num check at exit.
20555 Mon Mar 15 16:42:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20557         * array.c (rb_ary_dup): dup2 should copy class too.
20559 Mon Mar 15 15:12:53 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
20561         * lib/mkmf.rb: install program relative path check.
20563 Mon Mar 15 14:05:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20565         * re.c (rb_reg_s_new): 2nd argument is now option.
20566           Regexp::EXTENDED can be specified.
20568 Fri Mar 12 10:47:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20570         * string.c (rb_str_index): str.index("") should always match at
20571           offset point.
20573         * string.c (rb_str_upto): can specify end point exclusion.
20575         * string.c (rb_str_index): negative offset.
20577         * regex.c (re_match): begline should not match at the point
20578           between a newline and end-of-string.  endline neither.
20580         * regex.c (re_compile_pattern): context_indep_anchors .
20582         * parse.y (parse_regx): need not to push backslashes before
20583           escaped characters.
20585         * eval.c (rb_thread_join): re-raises exception within target.
20587 Fri Mar 12 01:09:36 1999  Koji Arai  <JCA02266@nifty.ne.jp>
20589         * ext/readline/readline.c (readline_s_vi_editing_mode): wrong
20590           number of arguments.
20592 Fri Mar 12 02:12:50 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20594         * pack.c (PACK_ITEM_ADJUST): "a".unpack("C3") => [97, nil, nil]
20596 Thu Mar 11 18:23:50 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
20598         * ext/socket/socket.c (Init_socket): UDPsocket was omitted.
20600 Thu Mar 11 16:43:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20602         * pack.c (PACK_LENGTH_ADJUST): push fixed number of items per
20603           template to result array.
20605         * pack.c (pack_unpack): I/N/C etc. push nil in the array for "".
20607 Tue Mar  9 00:19:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20609         * hash.c (ruby_unsetenv): use ruby_setenv(name, 0).
20611         * hash.c (env_delete): ditto.
20613         * string.c (rb_str_upto): do not check `beg<end' to generate
20614           strings for the pattern like "a".upto("#a").
20616         * range.c (range_each): treat strings as special case.
20618         * range.c (range_each): no longer use upto for generic cases.
20620 Sun Mar  7 14:21:32 1999  IKARASHI Akira  <ikarashi@itlb.te.noda.sut.ac.jp>
20622         * string.c (rb_str_index): wrong end point calculation.
20624 Sat Mar  6 02:19:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20626         * re.c (match_index): MatchingData#index(n) added.
20628         * array.c (rb_ary_subseq): ary[n..-1] returns an sub-array unless
20629           n is too small negative index.
20631         * re.c (rb_reg_match_method): Regexp#match(str) added.
20633         * array.c (rb_ary_indexes): understands ranges as indexes.
20635         * re.c (match_size): MatchingData#size added.
20637 Fri Mar  5 01:04:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20639         * array.c (rb_ary_fill): modified for range.
20641         * array.c (rb_ary_aset): a[n..m] revisited.
20643 Thu Mar  4 14:23:29 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20645         * string.c (rb_str_subseq): a[n..m] revisited.
20647         * parse.y (method_call): allow Const::method{}.
20649         * array.c (rb_ary_replace_method): should replace original array.
20651 Thu Mar  4 02:30:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20653         * configure.in: remove --disable-thread, thread feature is no
20654           longer optional.
20656 Thu Mar  4 00:32:17 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
20658         * parse.y (read_escape): wrong arguments for scan_oct,scan_hex.
20660 Wed Mar  3 11:51:53 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20662         * ext/socket/socket.c (Init_socket): rename class names as
20663           TCPsocket -> TCPSocket etc.
20665 Tue Mar  2 19:46:42 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20667         * configure.in (LDSHARED): use gcc -Wl,-G for solaris with gcc.
20669 Tue Mar  2 17:04:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20671         * parse.y (yylex): backslashes do not concatenate comment lines
20672           anymore.
20674 Mon Mar  1 14:05:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20676         * eval.c (rb_call0): adjust argv for optional arguments.  super
20677           without arguments emit superclass method with the value from
20678           optional arguments.  enabled as experiment.
20680 Sun Feb 28 14:04:07 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
20682         * parse.y (nextc): backslash at the eof cause infinite loop
20684 Sun Feb 28 11:01:26 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
20686         * time.c (make_time_t): month range check added.
20688 Sat Feb 27 02:36:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20690         * re.c (Init_Regexp): add escape as alias of quote.
20692         * re.c (rb_reg_s_quote): char-code can be specified now.
20694 Fri Feb 26 18:45:36 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
20696         * eval.c (error_print): bug for error message with newlines.
20698 Fri Feb 26 12:00:04 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20700         * time.c (make_time_t): future check modified to allow 1969-12-31
20701           at certain timezone.
20703         * time.c (time_arg): year >= 1000 should be past.
20705         * version.c (Init_version): constant RELEASE_DATE added.
20707 Fri Feb 26 01:08:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20709         * string.c (rb_str_substr): returns nil for out-of-range access.
20711         * array.c (rb_ary_subseq): returns nil for out-of-range access.
20713         * array.c (rb_ary_store): negative index message has changed.
20715         * string.c (rb_str_aset): reallocation needed.
20717         * string.c (rb_str_aset): allow char append to the string.
20719 Thu Feb 25 23:30:17 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
20721         * time.c (time_load): tm_year should be packed in 17 bits, not 18.
20723 Thu Feb 25 12:50:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20725         * missing/dup2.c: replaced by public domain version.
20727         * time.c (make_time_t): add `future check' in loops.
20729         * object.c (rb_num2dbl): forbid implicit conversion from nil, or
20730           strings.  thus `Time.now + str' should raise error.
20732         * object.c (rb_Float): convert nil into 0.0.
20734         * object.c (rb_Integer): conversion method improved.
20736 Thu Feb 25 03:27:50 1999  Shugo Maeda  <shugo@netlab.co.jp>
20738         * eval.c (rb_call): should handle T_ICLASS properly.
20740 Thu Feb 25 00:04:00 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20742         * error.c (Init_Exception): global function Exception() removed.
20744         * variable.c (rb_class2name): returns "nil"/"true"/"false" for them.
20746         * time.c (time_dump): time marshaling format compressed size from
20747           11 bytes to 8 bytes.  thanx to tadf@kt.rim.or.jp.
20749         * eval.c (rb_obj_call_init): should specify arguments explicitly.
20751 Wed Feb 24 15:43:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20753         * parse.y (yylex): comment concatenation requires preceding space
20754           before backslash at the end of line.
20756         * io.c (rb_f_pipe): global pipe is obsolete now.
20758         * object.c (Init_Object): remove true.to_i, false.to_i.
20760 Tue Feb 23 14:21:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20762         * parse.y (yylex): warn if identifier! immediately followed by `='.
20764 Tue Feb 23 12:32:41 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20766         * eval.c (rb_load): tilde expansion moved to find_file.
20768         * eval.c (find_file): tilde expansion added.
20770 Tue Feb 23 10:50:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20772         * eval.c (require_method): require can handle multiple fnames.
20774         * hash.c (rb_hash_foreach_iter): hash key may be nil.
20776 Mon Feb 22 17:44:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20778         * regex.c (re_match): should not pop failure point on success for
20779           non-greedy matches.
20781         * io.c (Init_IO): remove global_functions getc, readchar, ungetc,
20782           seek, tell, rewind.
20784 Sat Feb 20 22:54:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20786         * numeric.c (rb_num2long): no implicit conversion from boolean.
20788 Sat Feb 20 09:58:42 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
20790         * numeric.c (flo_to_s): portable Infinity and NaN support.
20792 Sat Feb 20 07:13:31 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
20794         * io.c (rb_file_sysopen): forgot to initialize a local variable.
20796 Fri Feb 19 23:05:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20798         * string.c (rb_str_subseq): range check changed.
20800         * marshal.c: increment MARSHAL_MINOR for Time format change.
20802         * time.c (time_old_load): support old marshal format.
20804         * time.c (time_load): changed for new format Y/M/D/h/m/s/usec.
20806         * time.c (time_dump): marshal dump format has changed.
20808 Fri Feb 19 00:25:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20810         * time.c (time_arg): should reject "sep\0" and such.
20812         * time.c (time_plus): Time#+ should not receive Time object
20813           operand.
20815         * string.c (rb_str_substr): negative length raises exception now.
20817         * array.c (beg_len): if end == -1, it points end of the array.
20819         * array.c (rb_ary_subseq): negative length raises exception now.
20821 Thu Feb 18 20:57:04 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
20823         * time.c (rb_strftime): strftime() may return 0 on success too.
20825         * time.c (time_strftime): `\0' within format string should not be
20826           omitted in the result.
20828         * time.c (rb_strftime): zero length format.
20830         * time.c (time_to_a): yday start with 1 now.
20832         * time.c (time_zone): support for long timezone name.
20834         * time.c (time_yday): yday start with 1 now.
20836         * time.c (time_minus): minus calculation was wrong.
20838         * time.c (time_minus): sec, usec should be at least `long', maybe
20839           they should be `time_t'.
20841         * time.c (time_plus): addition with float was wrong.
20843         * time.c (time_to_s): support for long timezone name.
20845         * time.c (time_gm_or_local): too far future check moved.
20847         * time.c (time_arg): treat 2 digit year as 69-99 => 1969-1999,
20848           00-68 => 2000-2068
20850 Thu Feb 18 03:56:47 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20852         * missing/fnmatch.c: moved to missing directory.
20854 Wed Feb 17 16:22:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20856         * struct.c (rb_struct_alloc): actual initialization now be done in
20857           `initialize'.
20859 Wed Feb 17 09:47:15 1999  okabe katsuyuki  <hgc02147@nifty.ne.jp>
20861         * regex.c (re_search): use mbclen() instead of ismbchar().
20863         * re.c (rb_reg_s_quote): should handle mbchars properly.
20865 Wed Feb 17 01:25:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20867         * parse.y (yylex): stop comment concatenation by backslash follows
20868           after >= 0x80 char.  may cause problem with Latin chars.
20870         * eval.c (error_print): exception in rb_obj_as_string() caused
20871           SEGV. protect it by PUSH_TAG/POP_TAG.
20873         * error.c (exc_exception): `Exception#exception' should return self.
20875 Wed Feb 17 01:12:22 1999  Hirotaka Ichikawa  <hirotaka.ichikawa@tosmec.toshiba.co.jp>
20877         * configure.in: BeOS patch.
20879 Tue Feb 16 14:25:00 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20881         * regex.c (re_compile_pattern): should reallocate mbc space for
20882           character class unless current_mbctype is ASCII.
20884 Mon Feb 15 15:48:30 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
20886         * configure.in: specify `-Wl,-E' only for GNU ld.
20888 Mon Feb 15 11:43:22 1999  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
20890         * array.c (rb_inspecting_p): should return Qfalse.
20892 Sun Feb 14 22:36:40 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
20894         * sprintf.c (rb_f_sprintf): `%G' was omitted.
20896 Sun Feb 14 12:47:48 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
20898         * numeric.c (Init_Numeric): allow divide by zero on FreeBSD.
20900         * numeric.c (Init_Numeric): FloatDomainError added.
20902         * configure.in (AC_REPLACE_FUNCS): add checks for functions
20903           isinf, isnan, and finite.
20905 Sat Feb 13 01:24:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20907         * eval.c (rb_thread_create_0): should protect th->thread.
20909 Fri Feb 12 16:16:47 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
20911         * string.c (rb_str_inspect): wrong mbc position.
20913 Fri Feb 12 16:21:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20915         * eval.c (rb_thread_fd_close):
20917         * io.c (rb_io_fptr_close): tell scheduler that fd is closed.
20919         * io.c (rb_io_reopen): ditto.
20921         * io.c (READ_CHECK): check if closed after thread context switch.
20923         * ext/socket/socket.c (bsock_close_read): do not check
20924           the return value from shutdown(2).
20926         * ext/socket/socket.c (bsock_close_write): ditto.
20928         * ext/socket/socket.c (sock_new): need to dup(fd) for close_read
20929           and close_write.
20931         * parse.y (here_document): handle newlines within #{}.
20933         * regex.h: should replace symbols for ruby.
20935 Fri Feb 12 00:46:28 1999  Shugo Maeda  <shugo@netlab.co.jp>
20937         * marshal.c (r_object): should update the method name in message.
20939         * marshal.c (w_object): limit should be converted into Fixnum.
20941 Wed Feb 10 15:20:03 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20943         * regex.c (re_match): empty pattern should not cause infinite
20944           pattern match loop.
20946         * regex.c (re_compile_pattern): RE_OPTIMIZE_ANCHOR for /.*/, not
20947           for /(.|\n)/.
20949         * numeric.c (fix_pow): `fixnum**nil' should raise TypeError.
20951         * bignum.c (rb_big_pow): need to normalize results.
20953 Wed Feb 10 01:42:41 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
20955         * numeric.c (fix_pow): `(5**1).type' should be Integer.
20957 Tue Feb  9 01:22:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20959         * parse.y (yylex): do not ignore newlines in mbchars.
20961         * io.c (rb_file_s_open): mode can be specified by flags like
20962           open(2), e.g. File::open(path, File::CREAT|File::WRONLY).
20964         * io.c (rb_f_open): bit-wise mode flags for pipes
20966         * io.c (Init_IO): bit flags for open.
20968 Sat Feb  6 22:56:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20970         * string.c (rb_str_sub_bang): should not overwrite match data by
20971           regexp match within the block.
20973         * string.c (rb_str_gsub_bang): ditto.
20975 Sat Feb  6 03:06:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20977         * re.c (match_getter): accessing $~ without matching caused SEGV.
20979 Fri Feb  5 22:11:08 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
20981         * parse.y (yylex): binary literal support, like 0b01001.
20983         * parse.y (yylex): octal numbers can contain `_'s.
20985         * parse.y (yylex): warns if non-octal number follows immediately
20986           after octal literal.
20988         * parse.y (yylex): now need at least one digit after prefix such
20989           as 0x, or 0b.
20991         * bignum.c (rb_str2inum): recognize binary numbers like 0b0101.
20993 Fri Feb  5 03:26:56 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
20995         * ruby.c (proc_options): -e without program prints error.
20997 Fri Feb  5 00:01:50 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
20999         * parse.y (terms): needed to clear heredoc_end.
21001         * numeric.c (flo_div): allow float division by zero.
21003 Thu Feb  4 11:56:24 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21005         * missing/strtod.c: for compatibility.
21007         * configure.in (strtod): add strtod compatible check.
21009         * numeric.c (rb_num2long): missing/vsnprintf.c does not support
21010           floating points.
21012         * numeric.c (flo_to_s): ditto.
21014 Wed Feb  3 23:02:12 1999  Yoshida Masato  <yoshidam@yoshidam.net>
21016         * regex.c (re_compile_pattern): use ismbchar() to get next char.
21018         * regex.c (re_search): wrong mbchar shift.
21020         * re.c (rb_reg_search): needed to reset $KCODE after match.
21022         * regex.c (re_compile_fastmap): mbchars should match with \w.
21024 Wed Feb  3 22:35:12 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
21026         * parse.y (yylex): too big float raise warning, not error.
21028 Tue Feb  2 23:41:42 1999  Yoshida Masato  <yoshidam@yoshidam.net>
21030         * regex.c (re_match): wrong boundary.
21032         * regex.c (IS_A_LETTER): re_mbctab[c] may not be 1 for mbc.
21034         * regex.c (re_search): mbchar support for shifting ranges.
21036         * regex.c (MBC2WC): wrong conversion.
21038 Wed Feb  3 15:03:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21040         * parse.y (parse_regx): need to escape parens if terminators are
21041           not any kind of parenthesis.
21043         * parse.y (parse_qstring): ditto.
21045         * parse.y (parse_string): ditto.
21047 Tue Feb  2 17:11:26 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
21049         * string.c (rb_str_gsub_bang): too small realloc condition.
21051 Mon Feb  1 10:01:17 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
21053         * parse.y (yylex): range check for the float literal.
21055 Sat Jan 30 18:34:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21057         * ruby.c (usage): -h option to show brief command description.
21059 Sat Jan 30 08:45:16 1999  IKARASHI Akira  <ikarashi@itlb.te.noda.sut.ac.jp>
21061         * lib/cgi-lib.rb: cookie support added.
21063 Sat Jan 30 13:38:24 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21065         * regex.c (re_compile_pattern): mbchars should match with \w
21066           within character class.  Was matching with \W.
21068         * regex.c (re_match): \w should match with multi byte characters,
21069           not its first byte.
21071 Sat Jan 30 10:06:41 1999  Yoshida Masato  <yoshidam@yoshidam.net>
21073         * re.c (rb_reg_s_new): UTF-8 flag handle (/u, /U).
21075         * re.c (rb_kcode): $KCODE handle for UTF-8.
21077 Sat Jan 30 01:51:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21079         * array.c (rb_ary_delete_if): RTEST() missing.
21081         * hash.c (delete_if_i): ditto.
21083         * enum.c (Init_Enumerable): select (=find_all), detect (=find)
21084           added as aliases.
21086 Fri Jan 29 21:32:19 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
21088         * hash.c (rb_f_setenv): SEGV caused by small typo.
21090 Fri Jan 29 00:15:58 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21092         * lib/parsedate.rb (parsedate): support date format like
21093           23-Feb-93, which is required by HTTP/1.1.
21095         * variable.c (find_class_path): avoid calling rb_iv_set().
21097         * eval.c (backtrace): do not need to modify $SAFE internally.
21099         * variable.c (classname): inline __classid__ access.
21101         * eval.c (THREAD_ALLOC): needed to initialize wrapper.
21103         * lib/ftools.rb (makedirs): allows slash at the end of the path.
21105         * numeric.c (rb_fix_induced_from): ensure result to be Fixnum.
21107 Thu Jan 28 17:31:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21109         * numeric.c (flo_to_s): float format changed to "%16.10g".
21111 Thu Jan 28 02:13:11 1999  Yoshinori Toki  <toki@freedom.ne.jp>
21113         * array.c (rb_ary_store): expand allocated buffer by 3/2.
21115 Wed Jan 27 17:50:02 1999  Kazuhiro HIWADA  <hiwada@kuee.kyoto-u.ac.jp>
21117         * bignum.c (dbl2big): raised error if double is too big to cast
21118           into long.  check added.
21120 Wed Jan 27 03:16:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21122         * variable.c (rb_mod_const_at): can't list constants of the
21123           untainted objects in safe mode.
21125         * class.c (method_list): can't list methods of untainted objects
21126           in safe mode.
21128 Tue Jan 26 02:40:41 1999  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
21130         * prec.c: Precision support for numbers.
21132 Thu Jan 21 19:08:14 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21134         * eval.c (rb_f_raise): calls `exception' method, not `new'.
21136         * error.c (exc_exception): renamed from `new'.
21138 Wed Jan 20 03:39:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21140         * parse.y (yycompile): rb_in_compile renamed to ruby_in_compile.
21142         * ruby.c (load_file): define DATA if __END__ appeared in script.
21144 Tue Jan 19 14:57:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21146         * parse.y (here_document): need to protect lex_lastline.
21148         * parse.y (yylex): disable %//, %'', %``.
21150 Tue Jan 19 05:01:16 1999  Koji Arai  <JCA02266@nifty.ne.jp>
21152         * array.c (beg_len): round range value too much.
21154 Mon Jan 18 13:02:27 1999  Kuroda Jun  <jkuro@dwe.co.jp>
21156         * hash.c (env_keys): strchr() may return NULL.
21158 Mon Jan 18 17:51:47 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21160         * instruby.rb (wdir): install libruby.a in archdir.
21162         * lib/ftools.rb (install): removes file before installing.
21164 Mon Jan 18 16:55:31 1999  MAEDA shugo  <shugo@aianet.ne.jp>
21166         * eval.c (rb_callcc): experimental continuation support.
21168 Sun Jan 17 19:45:37 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
21170         * pack.c (pack_pack): nil packing caused SEGV.
21172 Sat Jan 16 13:18:03 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21174         * string.c (rb_str_concat): character (fixnum) can be append to
21175           strings
21177         * array.c (rb_ary_unshift): unshift returns array.
21179 Sat Jan 16 01:39:19 1999  Yoshida Masato  <yoshidam@tau.bekkoame.ne.jp>
21181         * string.c (rb_str_split_method): UTF-8 support.
21183         * regex.c: UTF-8 support.
21185 Thu Jan 14 00:42:55 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21187         * string.c (rb_str_gsub_bang): forget to add offset for null match.
21189         * eval.c (rb_thread_local_aset): can't modify in tainted mode.
21191         * hash.c (env_each_key): avoid generating temporary array.
21193 Wed Jan 13 23:58:50 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21195         * hash.c (rb_f_setenv): name and value can be tainted.
21197 Wed Jan  6 02:42:08 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21199         * bignum.c (Init_Bignum): forgot to define Bignum#===.
21201         * gc.c (gc_sweep): if add_heap() is called during GC, objects on
21202           allocated heap page(s) are not marked, should not be recycled.
21204         * gc.c (gc_sweep): should refer latest freelist.
21206         * gc.c (id2ref): modified to support performance patch.
21208         * object.c (rb_obj_id): performance patch (no bignum for id).
21210 Tue Jan  5 01:56:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21212         * config.guess: merge up-to-date from autoconf 2.12.
21214         * array.c (rb_ary_join): avoid calling rb_protect_inspect() till
21215           it is really needed.
21217         * object.c (rb_obj_inspect): show detailed information for the
21218           instance variables (infinite loop can avoid now).
21220         * struct.c (rb_struct_inspect): avoid infinite loop.
21222 Sun Jan  3 01:37:58 1999  Takao KAWAMURA  <kawamura@ike.tottori-u.ac.jp>
21224         * misc/ruby-mode.el (ruby-end-of-defun): moved too much.
21226         * misc/ruby-mode.el (ruby-mode-variables): set paragraph-separator
21227           for the mode.
21229         * misc/ruby-mode.el: proper font-lock for `def' and `nil' etc.
21231 Sat Jan  2 17:09:06 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
21233         * eval.c (rb_jump_tag): new api to invoke JUMP_TAG.  tag values
21234           can obtained from rb_eval_string_protect()/rb_load_protect().
21236         * eval.c (rb_rescue): now catches all exceptions but SystemExit.
21238         * eval.c (rb_eval_string_protect): eval string with protection.
21240         * eval.c (rb_load_protect): load file with protection.
21242         * io.c (rb_io_puts): avoid infinite loop for cyclic arrays.
21244         * eval.c (rb_thread_local_aref): thread local hash tables.
21246         * object.c (rb_equal): check exact equal before calling `=='.
21248 Thu Dec 31 22:28:53 1998  MAEDA shugo  <shugo@aianet.ne.jp>
21250         * eval.c (rb_f_require): feature names should be provided with
21251           DLEXT extension.
21253         * marshal.c (Init_marshal): need to provide `marshal.so'.
21255 Wed Dec 30 02:29:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21257         * variable.c (classname): do not call rb_ivar_set().
21259         * eval.c (ruby_run): finalizers were called too early.
21261 Fri Dec 25 12:19:30 1998  Fukuda Masaki  <fukuda@wni.co.jp>
21263         * gc.c (rb_gc_mark): should not return on FL_EXIVAR.
21265 Fri Dec 25 11:56:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21267         * gc.c (gc_mark): proper scanning for temporary region.
21269         * eval.c (TMP_ALLOC): protection for C_ALLOCA was broken.
21271 Thu Dec 24 18:26:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21273         * development version 1.3 released.
21275 Thu Dec 24 00:17:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21277         * eval.c (rb_load): top self should be set properly.
21279         * variable.c (classname): check __classpath__ if it is defined.
21281         * variable.c (classname): invalid warning at -v with static linked
21282           ruby interpreter.
21284         * eval.c (is_defined): modified for expr::Const support.
21286         * eval.c (rb_eval): invoke method expr::Const if expr is not class
21287           nor module.
21289         * parse.y (primary): enable expr::identifier as method
21290           invocation.
21292 Wed Dec 23 03:04:36 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21294         * regex.c (re_match): avoid too many loop pops for (?:..).
21296 Tue Dec 22 18:01:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21298         * experimental version 1.1d1 released.
21300 Mon Dec 21 01:33:03 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21302         * eval.c (TMP_PROTECT): add volatile to ensure GC protection.
21304         * string.c (rb_str_gsub_bang): calculate buffer size properly.
21306         * parse.y (lex_get_str): needed to return Qnil at EOS.
21308         * eval.c (find_file): check policy modified, raise exception
21309           immediately for tainted load_path.
21311         * hash.c (rb_f_setenv): do not depend on setenv() nor putenv().
21313 Thu Dec 17 06:29:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21315         * ext/tk/tkutil.c (tk_s_new): use rb_obj_instance_eval(), instead
21316           of rb_yield_0().
21318         * eval.c (rb_f_require): forgot to call find_file in some cases.
21320         * eval.c (rb_f_require): `require "feature.so"' to load dynamic
21321           libraries.  old `require "feature.o"' is still OK.
21323         * eval.c (rb_eval): yield without value dumped core.
21325 Wed Dec 16 16:28:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21327         * experimental version 1.1d0 (pre1.2) released.
21329 Wed Dec 16 10:43:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21331         * regex.c (re_search): bound check before calling re_match().
21333 Tue Dec 15 13:59:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21335         * error.c (exc_to_s): returns class name for unset mesg.
21337         * error.c (exc_initialize): do not initialize @mesg by "".
21339         * parse.y (nextc): __END__ should handle CR+LF newlines.
21341 Wed Dec  9 13:37:12 1998  MAEDA shugo  <shugo@aianet.ne.jp>
21343         * pack.c (encodes): use buffering for B-encoding.
21345         * pack.c (pack_pack): Q-encoding by 'M'.
21347 Tue Dec  8 14:10:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21349         * variable.c (generic_ivar_get): any object can have instance
21350           variables now.  great improvement.
21352         * variable.c (rb_name_class): do not set __classpath__ by default,
21353           use __classid__ instead.
21355 Mon Dec  7 22:08:22 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21357         * ruby.h (struct RFile): IO objects can have instance variables now.
21359         * parse.y (primary): allows `def obj::foo; .. end'.
21361 Mon Dec  7 18:24:50 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
21363         * ruby.c (set_arg0): $0 support for HP-UX.
21365 Mon Dec  7 01:30:28 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
21367         * dln.c (dln_strerror): better error messages on win32.
21369 Sat Dec  5 23:27:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21371         * parse.y (here_document): indentable here-doc delimiter by
21372           `<<-'.  Proposed by Clemens <c.hintze@gmx.net>.  Thanks.
21374 Thu Dec  3 16:50:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21376         * ext/extmk.rb.in (realclean): trouble on install.
21378 Sun Nov 29 22:25:39 1998  Takaaki Tateishi  <ttate@jaist.ac.jp>
21380         * process.c (f_exec): check number of argument.
21382 Thu Nov 26 17:27:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21384         * version 1.1c9 released.
21386 Wed Nov 25 13:07:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21388         * string.c (rb_str_dup): do not copy additional data (STR_NO_ORIG).
21390         * parse.y (yycompile): reduce known memory leak (hard to remove).
21392 Wed Nov 25 03:41:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21394         * st.c (st_init_table_with_size): round size up to prime number.
21396 Sat Nov 21 23:27:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21398         * hash.c (rb_hash_aset): reduce copying key strings.
21400         * gc.c (looks_pointerp): declare as inline function if possible.
21402         * st.c (PTR_NOT_EQUAL): compare hash values first before calling
21403           comparing function.
21405         * st.c (ADD_DIRECT): save hash value in entries to reduce hash
21406           calculation.
21408         * string.c (rb_str_gsub_bang): avoid rb_scan_args() to speed-up.
21410         * string.c (rb_str_sub_bang): ditto.
21412 Sat Nov 21 18:44:06 1998  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
21414         * time.c (time_s_now): had memory leak.
21416         * ext/md5/md5init.c (md5_new): had memory leak.
21418         * ext/md5/md5init.c (md5_clone): ditto.
21420 Fri Nov 20 23:23:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21422         * lib/delegate.rb: do not propagate hash and eql?.
21424 Thu Nov 19 01:40:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21426         * sample/ruby-mode.el (ruby-expr-beg): failed to find reserved
21427           word boundary.
21429         * eval.c (rb_eval): avoid calling `concat' method.  calls
21430           rb_ary_concat() directly for efficiency.
21432         * eval.c (rb_eval): actual rest arguments extended arrays too much.
21434 Wed Nov 18 14:30:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21436         * class.c (rb_define_global_function): global functions now be
21437           module function of the Kernel.
21439 Wed Nov 18 10:48:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21441         * io.c (read_all): SEGV on large files.
21443 Tue Nov 17 18:11:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21445         * version 1.1c8 released.
21447 Tue Nov 17 16:58:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21449         * parse.y (arg): assignment to attribute name start with capital
21450           should be allowed.
21452         * eval.c (thread_alloc): needed to mark terminated threads too.
21454 Tue Nov 17 12:33:48 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
21456         * ext/extmk.rb.in (create_makefile): Set `libdir' to `@libdir@',
21457           Set `pkglibdir' to `$libdir/$(RUBY_INSTALL_NAME)'.
21459 Tue Nov 17 10:30:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21461         * sprintf.c (f_sprintf): %l%%c -> %%l%c
21463 Tue Nov 17 01:08:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21465         * parse.y (ret_args): distinguish `a' and `*a' for the arguments
21466           of yield and return.
21468         * eval.c (rb_eval): flip3 should work like sed.
21470         * eval.c (rb_eval): flip{2,3} now have independent state for each
21471           scope to work fine with thread.
21473 Mon Nov 16 23:26:29 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21475         * parse.y (primary): exec else clause if no exception raised.
21477 Sun Nov 15 15:44:07 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
21479         * ext/extmk.rb.in (install): bug in target.
21481 Sat Nov 14 11:02:05 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
21483         * Makefile.in (install): Give the argument `$(DESTDIR)' to
21484           `instruby.rb'.
21486         * instruby.rb: Recognize ARG[0] as `destdir'.
21488         * instruby.rb: Give the argument `destdir' to `extmk.rb'.
21490         * ext/extmk.rb.in: Recognize ARG[1] as `$destdir'.
21492         * instruby.rb: Create the installation directories (bindir, libdir,
21493           archdir, pkglibdir, archdir, and mandir) under `destdir', and
21494           install all files under there.
21496         * ext/extmk.rb.in: Likewise.
21498 Sat Nov 14 10:56:55 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
21500         * instruby.rb: Add the variable `pkglibdir'.
21502         * instruby.rb: Set the variable `libdir' to `$(libdir)', not
21503           `$(libdir)/$(ruby_install_name)'. `libruby.so' and `libruby.so.LIB'
21504           are installed at `libdir'.
21506         * instruby.rb: Set the variable `archdir' to `$(pkglibdir)/$(arch)'.
21508 Fri Nov 13 19:43:29 1998  KIMURA Koichi  <kbk@kt.rim.or.jp>
21510         * missing/nt.c (SafeFree): wrong free offset.
21512 Thu Nov 12 20:11:53 1998  Koji Arai  <JCA02266@nifty.ne.jp>
21514         * sample/ruby-mode.el: wrong highlight.
21516         * parse.y (parse_regx): newline in regexp was ignored.
21518 Wed Nov 11 10:54:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21520         * parse.y (here_document): <<'FOO' should not escape anything.
21522         * parse.y (here_document): bare << here-doc available, even though
21523           it's deprecated.
21525         * file.c (rb_file_s_readlink): return value should be tainted.
21527         * ext/etc/etc.c (setup_passwd): information (eg. GCOS name) should
21528           be tainted (modified at Perl Conference).
21530 Tue Nov 10 00:22:11 1998  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
21532         * configure.in: elf support for FreeBSD 3.x
21534 Tue Nov 10 00:05:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21536         * parse.y (yylex): here document available in eval.
21538 Mon Nov  9 17:55:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21540         * version 1.1c7 released.
21542 Fri Nov  6 19:25:27 1998  Takao KAWAMURA  <kawamura@ike.tottori-u.ac.jp>
21544         * sample/ruby-mode.el: font-lock patch.
21546 Thu Nov  5 15:42:22 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21548         * sample/README, lib/README: simple description for each file.
21550 Wed Nov  4 18:14:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21552         * eval.c (assign): attribute assignment should be called as public.
21554 Tue Nov  3 23:36:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21556         * string.c (rb_str_dump): dumps core for negative char value.
21558         * regex.c (re_compile_pattern): out of boundary access for empty
21559           regexp.
21561 Mon Nov  2 22:54:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21563         * string.c (rb_str_aset): `str[str]' replaces first match.
21565 Mon Nov  2 18:24:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21567         * eval.c (thread_create): was accessing modified status.
21569 Sun Nov  1 01:18:52 1998  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
21571         * gc.c (xrealloc): size 0 needs round up to 1.
21573 Sat Oct 31 23:18:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21575         * string.c (rb_str_split_method): negative LIMIT means number of
21576           split fields are unlimited, as in perl.
21578         * string.c (rb_str_split_method): if LIMIT is unspecified,
21579           trailing null fields are stripped.
21581 Sat Oct 31 04:16:14 1998  Inaba Hiroto  <inaba@st.rim.or.jp>
21583         * string.c (str_aref): regexp index SEGVed.
21585 Fri Oct 30 14:33:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21587         * re.c (reg_match): returns nil for unmatch.
21589         * dir.c (dir_entries): new method.
21591         * eval.c (block_pass): do not push block, substitute it.
21593 Fri Oct 30 01:28:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21595         * range.c (range_check): avoid <=> check for Fixnums.
21597         * array.c (rb_ary_aset): accept negative index.
21599 Wed Oct 28 22:00:54 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21601         * regex.c (re_match): access out of boundary fixed.
21603 Wed Oct 28 11:37:42 1998  TAMITO  <tommy@valley.ne.jp>
21605         * io.c (f_select): fd number comparison bug.
21607 Tue Oct 27 23:07:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21609         * sample/ruby-mode.el (ruby-parse-region): forgot to support %w()
21610           style array literal.
21612         * eval.c (rb_eval): unused block raises warning.
21614 Mon Oct 26 09:37:53 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21616         * eval.c (dvar_asgn_push): dvar pushed too many times if
21617           variable-in-block first appear in loops.
21619 Sun Oct 25 22:59:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21621         * regex.c (set_list_bits): was using wrong offset.
21623 Thu Oct 22 00:07:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21625         * eval.c (rb_obj_method): method retrieved from tainted object
21626           should be tainted too.
21628         * eval.c (method_call): safe_level should be restored during
21629           Method#call.
21631 Wed Oct 21 14:21:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21633         * io.c (Init_IO): new constants IO::SEEK_{SET,CUR,END}.
21635         * io.c (rb_f_ungetc): ungetc pushes a char back into STDIN.
21637 Mon Oct 19 11:50:00 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
21639         * ext/extmk.rb: Load '@top_srcdir@/lib/find.rb', not
21640           '../lib/find.rb'.
21642         * ext/extmk.rb: Distinguish between `top_srcdir' and `topdir'.
21644         * Makefile.in (CFLAGS): Add `-I.'.
21646         * Makefile.in (lex.c): Give `@srcdir@/keywords' to gperf, not
21647           `keywords'.
21649         * instruby.rb: Use `CONFIG["bindir"]', instead of `prefix + "/bin"'.
21651         * instruby.rb: Use `CONFIG["libdir"]', instead of `prefix + "/lib"'.
21653         * instruby.rb Use `CONFIG["mandir"]', instead of `prefix + "/man"'.
21655         * instruby.rb (wdir): Add the variable to preserve the current
21656           working directory.
21658         * instruby.rb: Chdir to wdir before install `config.h' and
21659           `rbconfig.rb'.
21661 Mon Oct 19 10:07:01 1998  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
21663         * eval.c (rb_eval): reduce recursive calls to rb_eval().
21665 Fri Oct 16 15:31:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21667         * time.c (time_new_internal): timeval must be positive.
21669 Thu Oct 15 13:54:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21671         * parse.y (arg): local variables can be accessed within right side
21672           expression in assignment, notably in blocks.
21674 Wed Oct 14 00:18:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21676         * array.c (Init_Array): Array#=== is now for equal check, not
21677           inclusion check.
21679         * parse.y (when_args): `when a, *b' style new syntax for array
21680           expansion in `case'.
21682 Tue Oct 13 14:30:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21684         * object.c (rb_obj_untaint): taint marks can be unset.
21686         * eval.c (rb_eval): taint propagation for embedded strings.
21688 Mon Oct 12 13:27:15 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21690         * eval.c (rb_call0): check stack depth more frequently.
21692 Mon Oct 12 08:08:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21694         * io.c (rb_p): can print even in secure mode.
21696 Sun Oct 11 22:50:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21698         * variable.c (rb_const_set): taint check for modification.
21700         * variable.c (rb_ivar_set): taint check for modification.
21702         * string.c (rb_str_modify): taint check for modification.
21704         * hash.c (rb_hash_modify): taint check for modification.
21706         * array.c (rb_ary_modify): taint check for modification.
21708         * ruby.h (FL_TAINT): taint for all objects, not only strings.
21710 Fri Oct  9 17:01:14 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21712         * io.c (read_all): read() returns "" at immediate EOF.
21714         * io.c (io_read): read(nil) read all until EOF.
21716 Thu Oct  8 13:32:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21718         * time.c (time_dump): marshal can dump Time object now.
21720         * marshal.c (Init_marshal): rename marshal methods `_dump_to' to
21721           `_dump', `_load_from' to `_load'.
21723         * parse.y (rb_intern): "+=".intern generates proper symbol.
21725 Mon Oct  5 18:31:53 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21727         * version 1.1c6 released.
21729 Fri Oct  2 14:22:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21731         * regex.c (re_search): `/\s*(--)$/ =~ "- --"' did not match,
21732           because of wrong optimize condition.
21734 Mon Oct  1 01:55:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21736         * parse.y (rb_intern): should not raise exceptions.
21738         * parse.y (yylex): symbol like `:foo?=' should not be allowed.
21740         * ext/extmk.rb.in: makes *.a for static link modules.
21742 Wed Sep 30 14:13:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21744         * eval.c (rb_thread_start): supports making a subclass of the
21745           Thread class.
21747 Tue Sep 29 17:46:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21749         * eval.c (rb_thread_join): join is now an instance method.
21751 Fri Sep 25 12:01:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21753         * parse.y (yylex): `@foo!' should be an error.
21755 Thu Sep 24 14:55:06 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
21757         * ext/etc/etc.c (Init_etc): wrong field definition.
21759 Thu Sep 17 17:09:05 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21761         * io.c (io_reopen): was creating FILE* for wrong fd.
21763 Tue Sep 15 05:28:11 1998  Koji Arai  <JCA02266@nifty.ne.jp>
21765         * regex.c (re_compile_pattern): forgot to fixup for the pattern
21766           like (?=(A)|(B)).
21768 Tue Sep 15 01:06:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21770         * io.c (rb_io_gets_internal): do not set $_ by default, only
21771           gets/readline set the variable.
21773         * eval.c (rb_f_load): load toplevel class is set to anonymous
21774           module if safe_level >= 5, to encapsulate modification.
21776         * eval.c (rb_f_load): set frame properly.
21778         * string.c (rb_str_each_line): do not set $_.
21780 Mon Sep 14 14:42:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21782         * regex.c (re_match): beginning and end of the string, do not
21783           automatically match `\b'.
21785         * string.c (scan_once): consume at least on character.
21787         * regex.c (re_search): wrong behavior for negative range.
21789 Sat Sep 12 21:21:26 1998  Koji Arai  <JCA02266@nifty.ne.jp>
21791         * regex.c (re_search): range value should be maintained.
21793 Thu Sep 10 10:55:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21795         * parse.y (backref_error): yyerror does not understand formats.
21797 Tue Sep  8 18:05:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21799         * version 1.1c5 released.
21801 Tue Sep  8 10:03:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21803         * string.c (str_each_line): wrong line splitting with newline at
21804           top of the string.
21806         * string.c: non bang methods return copied string.
21808         * eval.c (f_END): needed to initialize frame->argc;
21810 Fri Sep  4 11:27:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21812         * bignum.c (bigadd): proper sign combination.
21814         * regex.c (re_search): wrong return value for \A.
21816 Thu Sep  3 14:08:14 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21818         * version 1.1c4 released.
21820 Tue Sep  1 10:47:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21822         * regex.c (slow_search): do not compare llen and blen.  llen may
21823           be longer than blen, if little contains 0xff.
21825         * regex.c (mbctab_euc): set 0x8e as multibyte character.
21827         * string.c (str_inspect): mask character for octal output.
21829 Mon Aug 31 15:32:41 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21831         * regex.c (re_search): use calculated offset if exactn is the
21832           first opcode in the compiled regexp.
21834         * regex.c (bm_search): use Boyer-Moore search for simple search.
21836         * regex.c (must_instr): wrong length check if pattern includes
21837           byte escape by 0xff.
21839         * regex.c (re_compile_pattern): need not to check current_mbctype.
21841 Sat Aug 29 16:31:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21843         * eval.c (rb_check_safe_str): avoid calling rb_id2name() in normal
21844           cases to speed-up.
21846         * eval.c (thread_raise): do not save context of terminated thread.
21848         * regex.c (re_compile_pattern): mask \nnn over 256.
21850 Sat Aug 29 02:09:46 1998  Koji Arai  <JCA02266@nifty.ne.jp>
21852         * sprintf.c (f_sprintf): wrong buffer size check.
21854 Fri Aug 28 01:57:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21856         * regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...).
21858 Fri Aug 28 12:25:33 1998  Hiroshi Igarashi  <igarashi@ueda.info.waseda.ac.jp>
21860         * ruby.c (ruby_require_modules): load modules in appearing order.
21862 Fri Aug 28 01:57:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21864         * regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...).
21866 Thu Aug 27 12:54:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21868         * version 1.1c3 released.
21870 Wed Aug 26 14:40:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21872         * eval.c (rb_eval): check whether ruby_class is properly set,
21873           before accessing it.
21875         * eval.c (rb_obj_instance_eval): ruby_class should be Qnil for
21876           special objects like Fixnums.
21878         * ext/tkutil/tkutil.c (Init_tkutil): removes calls to
21879           rb_yield_0().  used instance_eval() instead in the tk.rb.
21881 Wed Aug 26 11:47:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21883         * regex.c (re_match): pop non-greedy stack elements on success.
21885 Wed Aug 26 09:25:35 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
21887         * ruby.h: add #define environ for cygwin32.
21889 Tue Aug 25 08:57:41 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21891         * array.c (rb_ary_sort_bang): temporarily freeze sorting array.
21893 Mon Aug 24 18:46:44 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
21895         * dln.c (dln_find_1): path check was too strict.
21897 Mon Aug 24 15:28:11 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
21899         * parse.y (f_arglist): opt_nl added after f_args.
21901 Fri Aug 21 01:06:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21903         * ext/socket/socket.c: grand renaming on socket.c.
21905         * ext/socket/socket.c (inet_aton): supply inet_aton for those
21906           systems that do not have it.
21908         * ext/socket/socket.c (setipaddr): use inet_aton instead of
21909           inet_addr.
21911         * ext/socket/socket.c (tcp_s_gethostbyname): new method: works
21912           like Socket.gethostbyname but returning array contains ip-addrs
21913           as octet decimal string format like "127.0.0.1".
21915         * ext/socket/socket.c (mkhostent): return format changed to
21916           [host, aliases, type, ipaddr..]  as documented.
21918 Wed Aug 19 00:31:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21920         * io.c (io_ctl): forgot to place TRAP_END at right position.
21922 Fri Aug 14 11:01:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21924         * eval.c (call_trace_func): save __FILE__, __LINE__ before
21925           executing trace_func, since trace function should not corrupt
21926           line number information.
21928 Thu Aug 13 15:09:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21930         * array.c (ary_s_new): was marking unallocated region on GC.
21932 Tue Aug 11 11:57:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21934         * version 1.1c2 released.
21936 Mon Aug 10 14:05:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21938         * process.c (f_system): removed fflush(stdin).
21940 Fri Aug  7 17:44:44 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21942         * error.c (err_snprintf): replace sprintf for fixed sized buffer,
21943           with snprintf to avoid buffer over-run.  For systems which does
21944           dot provide snprintf, missing/snprintf.c added.
21946 Wed Aug  5 00:47:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21948         * re.c (rb_reg_search): recycle match object.
21950 Mon Aug  3 09:17:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21952         * string.c (rb_str_gsub_bang): do not allocate temporary string.
21954         * string.c (rb_str_sub_bang): use inline replace.
21956 Wed Jul 29 00:36:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21958         * hash.c (hash_s_new): the default value can be specified.
21960         * hash.c (hash_default): method to set the default value.
21962         * hash.c (hash_aref): now returns the default value.
21964 Tue Jul 28 13:03:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21966         * array.c (ary_s_new): argument to specify initial value is added.
21968         * array.c (ary_s_new): specifies size, not capacity.
21970 Mon Jul 27 12:39:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21972         * string.c (str_replace): zero fill for expansion gap.
21974         * regex.c (mbctab_euc): set flags on for 0xA1-0xFE.  suggested by
21975           <inaba@st.rim.or.jp>.
21977         * string.c (str_inspect): consider current_mbctype.
21979 Sun Jul 26 15:37:11 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
21981         * array.c (ary_s_new): Array.new(1<<30) dumps core.
21983 Fri Jul 24 13:40:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21985         * version 1.1c1 released.
21987 Fri Jul 24 02:10:22 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21989         * marshal.c (r_bytes2): allocated buffer size was too short.
21991         * marshal.c (w_object): saves all options, not only casefold flag.
21993         * re.c (reg_clone): now copies options properly.
21995         * re.c (reg_get_kcode): code number was wrong.
21997 Thu Jul 23 13:11:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
21999         * eval.c (rb_attr): argument should be symbol or string.
22001 Wed Jul 22 11:59:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22003         * regex.c (calculate_must_string): wrong offset added.
22005 Wed Jul 22 11:59:59 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22007         * st.c (rehash): still had a GC problem.  fixed.
22009 Tue Jul 21 13:19:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22011         * eval.c (gc_mark_threads): crashed on GC before thread allocation.
22013         * st.c (rehash): GC during rehash caused SEGV.
22015 Tue Jul 21 01:25:10 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22017         * sprintf.c (f_sprintf): integer formatter totally re-written.
22019         * sprintf.c (remove_sign_bits): support uppercase hexadecimal.
22021 Sat Jul 18 00:14:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22023         * sprintf.c (f_sprintf): proper sign position for %X and %O.
22025 Fri Jul 17 14:10:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22027         * version 1.1c0 released.
22029 Fri Jul 17 08:01:49 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22031         * process.c (f_exec): Check_SafeStr() added.
22033         * process.c (f_system): Check_SafeStr() moved before fork().
22035 Thu Jul 16 22:58:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22037         * string.c (scan_once): substrings to the block should not be
22038           tainted.  use reg_nth_match(), not str_substr().
22040         * string.c (str_substr): needed to transfer taint.
22042 Thu Jul 16 16:15:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22044         * gc.c (xmalloc): object allocation count added to GC trigger.
22046         * eval.c (thread_save_context): avoid marking uninitialized stack
22047           in thread_mark.  GC may be triggered by REALLOC_N().
22049 Wed Jul 15 15:11:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22051         * experimental release 1.1b9_31.
22053 Wed Jul 15 15:05:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22055         * eval.c (thread_create): exit() and abort() in threads now
22056           forwarded to main_thread.
22058 Tue Jul 14 14:03:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22060         * variable.c (obj_instance_variables): list names that is not
22061           instance variables.
22063         * gc.c (GC_MALLOC_LIMIT): choose smaller limit value.
22065 Mon Jul 13 12:39:38 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22067         * object.c (str2cstr): should not return NULL.
22069 Fri Jul 10 11:51:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22071         * parse.y (gettable): needed to add dyna_in_block() check.
22073 Thu Jul  9 17:38:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22075         * experimental release 1.1b9_30.
22077 Thu Jul  9 16:01:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22079         * sprintf.c (fmt_setup): format specifier for long needed.
22081         * sprintf.c (f_sprintf): ditto.
22083         * numeric.c (fix2str): ditto.
22085         * eval.c (thread_create): no more ITIMER_REAL.
22087         * eval.c (thread_create): thread finalization needed before
22088           aborting thread if thread_abort is set.
22090 Wed Jul  8 18:17:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22092         * bignum.c (big_pow): abandon power by bignum (too big).
22094 Tue Jul  7 13:58:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22096         * eval.c (rb_catch): add C level catch/throw feature.
22098 Mon Jul  6 15:18:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22100         * parse.y (arg): proper return values for `||=' and `&&='.
22102 Fri Jul  3 16:05:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22104         * experimental release 1.1b9_29.
22106 Fri Jul  3 11:20:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22108         * marshal.c (r_byte): byte should not extend sign bit.
22110         * numeric.c (fix_mul): use FIX2LONG() instead of FIX2INT() for
22111           64bit architectures.
22113         * marshal.c (r_bytes): remove weird casting between pointer and int.
22115         * process.c (proc_setsid): new method Process#setsid().
22117 Thu Jul  2 12:49:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22119         * marshal.c (w_object): remove `write_bignum' label for 64bit
22120           architectures.
22122         * marshal.c (r_bytes): needs int, not long.
22124 Wed Jul  1 14:21:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22126         * numeric.c (flo_plus): should not allow addition with strings.
22128 Wed Jul  1 13:09:01 1998  Keiju ISHITSUKA  <keiju@rational.com>
22130         * numeric.c (num_uminus): wrong coerce direction.
22132 Tue Jun 30 10:13:44 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22134         * io.c (f_p): accepts arbitrary number of arguments.
22136         * eval.c (rb_yield_0): there's some case that iterator_p() returns
22137           true even if the_block was not set.  check added.
22139 Tue Jun 30 01:05:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22141         * eval.c (BEGIN_CALLARGS): adjust the_block before evaluating the
22142           receiver's value and the arguments.
22144 Fri Jun 26 18:02:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22146         * experimental release 1.1b9_28.
22148 Fri Jun 26 11:01:26 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22150         * string.c (str_aset_method): needed to convert to string.
22152 Thu Jun 25 02:05:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22154         * regex.c (re_search): optimize for `.*' at beginning of the
22155           pattern.
22157         * regex.c (re_search): optimize for character class repeat at
22158           beginning of the pattern.
22160         * regex.c (re_compile_pattern): detect optimization potential for
22161           the compiled patterns.
22163 Thu Jun 25 00:02:26 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22165         * re.c (reg_s_new): flag value was wrong.
22167 Wed Jun 24 23:45:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22169         * regex.c (re_search): wrong anchor handling for reverse search.
22171 Wed Jun 24 02:18:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22173         * parse.y (mlhs): `((a,b)),c = [[1,2]],3' assigns a=1,b=2,c=3.
22175 Tue Jun 23 11:46:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22177         * parse.y (yylex): `&&=' and `||=' added.
22179 Sat Jun 20 02:53:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22181         * parse.y (assignable): nesting local variables should have higher
22182           priority than normal local variables for assignment too.
22184 Fri Jun 19 18:28:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22186         * experimental release 1.1b9_27.
22188 Fri Jun 19 14:34:49 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22190         * eval.c (assign): support hack for nested multiple assignment.
22192         * parse.y (mlhs): nested multiple assignment.
22194         * eval.c (rb_eval): in-block variables now honors static scope.
22196         * configure.in: RSHIFT check moved to configure.
22198 Thu Jun 18 16:46:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22200         * experimental release 1.1b9_26.
22202 Thu Jun 18 13:37:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22204         * file.c (file_s_ftype): uses lstat(2) instead of stat(2).
22206         * dir.c (dir_s_glob): there can be buffer overrun, check added.
22208         * eval.c (f_binding): handles in-block variables declared after
22209           binding's generation.
22211         * numeric.c (flo_floor): floor, ceil, round added to Float.
22213 Wed Jun 17 11:20:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22215         * parse.y (gettable): nesting local variables should have higher
22216           priority than normal local variables.
22218 Tue Jun 16 12:30:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22220         * bignum.c (str2inum): handles `+ddd'.
22222         * struct.c (make_struct): name parameter can be nil for unnamed
22223           structures.
22225 Mon Jun 15 16:30:10 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22227         * object.c (class_s_inherited): prohibiting to make subclass of
22228           class Class.
22230         * object.c (module_s_new): support for making subclass of Module.
22232         * parse.y (yycompile): clear eval_tree before compiling.
22234 Fri Jun 12 17:58:18 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22236         * eval.c (eval): write back the_dyna_var into the block.
22238 Thu Jun 11 18:19:18 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22240         * experimental release 1.1b9_25.
22242         * eval.c (dvar_add_compiling): register dyna_var at compile time.
22244         * regex.c (re_compile_pattern): RE_DUP_MAX iteration is too big.
22246 Wed Jun 10 15:12:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22248         * io.c (io_eof): do not block other threads.
22250         * signal.c (trap): reserve SIGALRM for thread.
22252         * eval.c (thread_create): use ITIMER_REAL also to avoid system
22253           call blocking.
22255         * io.c (f_syscall): add TRAP_BEG, TRAP_END around system calls.
22257         * io.c (io_ctl): add TRAP_BEG, TRAP_END around system calls.
22259         * enum.c (enum_collect): did not collect false values.
22261         * array.c (ary_new2): forgot to initialize capa field.
22263 Tue Jun  9 18:36:15 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22265         * string.c (str_split_method): split dumped core for "\xff".
22267 Tue Jun  9 16:22:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22269         * experimental release 1.1b9_24.
22271 Tue Jun  9 16:04:07 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22273         * ext/kconv/kconv.c (kconv_guess): more precise decision for EUC,
22274           using jless algorithm (3 sequential EUC hiragana characters).
22276 Tue Jun  9 15:12:44 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22278         * ext/kconv/kconv.c (kconv_guess): wrong guess for EUC as SJIS in
22279           some cases (0xe0 - 0xef).
22281         * gc.c (xmalloc): insert size check for big (negative in signed)
22282           allocation size.
22284 Tue Jun  9 02:54:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22286         * lib/parsedate.rb: wday moved to the last in the return values.
22288 Mon Jun  8 10:40:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22290         * string.c (str_split_method): split dumped core for "\0".
22292 Sat Jun  6 22:50:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22294         * regex.c (calculate_must_string): wrong condition for
22295           {start,stop}_nowidth.
22297         * regex.c (re_match): various features imported from GNU regex.c
22298           0.12, such as nested grouping, avoiding infinite loop with empty
22299           match, etc.
22301         * regex.c (register_info_type): now use union.
22303         * regex.c (re_search): more precise anchor(^) check.
22305 Wed Jun  3 18:07:54 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22307         * re.c (reg_raise): check rb_in_compile, not rb_in_eval.
22309 Mon Jun  1 05:26:06 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
22311         * string.c (trnext): casting to signed char* needed.
22313 Tue Jun  2 16:00:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22315         * ext/socket/socket.c (udp_addrsetup): error check enhanced.
22317         * ext/socket/socket.c (sock_s_getservbyaname): use strtoul(), if
22318           possible.
22320 Sat May 30 07:10:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22322         * re.c (reg_prepare_re): no more needless regular expression
22323           recompile on casefold conditions.
22325 Thu May 28 18:02:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22327         * object.c (nil_plus): no more `+' method for nil.
22329 Wed May 27 17:33:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22331         * hash.c (hash_fetch): new method.
22333         * regex.c (re_search): check whether translate table is set.
22335 Tue May 26 11:39:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22337         * experimental release 1.1b9_23.
22339         * parse.y (yylex): no UPLUS/UMINUS for 1st argument if
22340           parenthesises are omitted.
22342 Tue May 26 01:09:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22344         * regex.c (re_compile_pattern): (?XI) for turns off the
22345           corresponding option.
22347 Mon May 25 12:38:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22349         * regex.c (re_compile_pattern): inline i option (?i).
22351         * regex.c (re_compile_pattern): inline x option (?x).
22353         * regex.c (re_compile_pattern): x option for regexp.
22355         * dir.c (dir_s_open): returns block's evaluated value.
22357         * io.c (f_open): returns block's evaluated value.
22359         * ext/curses/curses.c (curses_addstr): nil argument caused SEGV.
22361 Fri May 22 11:52:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22363         * regex.c (re_compile_pattern): push mark on (?:), so that
22364           laststart check for {a,b} can be done.
22366 Thu May 21 17:31:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22368         * regex.c (re_match): wrong match (too non-greedy) for `{a,b}?'.
22370         * io.c (io_lineno): new method IO#lineno, IO#lineno=.
22372 Wed May 20 06:04:43 1998  MAEDA shugo  <shugo@aianet.ne.jp>
22374         * BeOS patch.
22376 Wed May 20 16:32:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22378         * bignum.c (BIGDN): use RSHIFT(), instead of mere `>>'.
22380 Tue May 19 16:36:26 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22382         * experimental release 1.1b9_22.
22384 Tue May 19 16:31:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22386         * parse.y (assignable): specification changed for in-block
22387           variable definition.
22389         * eval.c (dyna_var_asgn): error in in-block variables' compile
22390           time definition.
22392         * parse.y (str_extend): wrong nesting detection.
22394 Tue May 19 09:47:55 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22396         * numeric.c (num2int): re-defined (extensions may use this).
22398 Mon May 18 16:40:50 1998  MAEDA shugo  <shugo@aianet.ne.jp>
22400         * error.c (get_syserr): BeOS support.
22402         * configure.in: modified for BeOS.
22404         * string.c (str_dump): do not call isascii().
22406         * sprintf.c (remove_sign_bits): forgot to initialize end pointer.
22408         * glob.c: #include <alloca.h> added.
22410 Mon May 18 14:52:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22412         * experimental release 1.1b9_21.
22414 Mon May 18 03:27:57 1998  MAEDA shugo  <shugo@aianet.ne.jp>
22416         * file.c (file_s_expand_path): optional second argument
22417           `default_directory' added.
22419 Sat May 16 22:06:52 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22421         * error.c (RAISE_ERROR): wrong error message
22423 Fri May 15 14:43:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22425         * experimental release 1.1b9_20.
22427 Thu May 14 14:44:21 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22429         * sun4 cc patches for intern.h and regex.h.
22431 Thu May 14 14:03:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22433         * random.c (RANDOM_MAX): guessing proper maximum value for random
22434           numbers.
22436         * random.c (f_rand): use drand48 if possible.
22438 Wed May 13 19:05:20 1998  MAEDA shugo  <shugo@aianet.ne.jp>
22440         * BeOS patches for io.c, error.c and config.guess.
22442 Wed May 13 14:56:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22444         * experimental release 1.1b9_19.
22446         * most of the Mac and BeOS patches merged, except path separators.
22448         * error.c (err_append): generated SyntaxError was String.
22450         * ruby.h: xxx2INT, xxx2UINT checks values as int, not long.
22452         * ruby.h: remove typedef's. INT, UINT, UCHAR, USHORT.
22454 Tue May 12 17:38:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22456         * experimental release 1.1b9_18.
22458 Tue May 12 11:38:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22460         * error.c (syserr_errno): returns errno of the SystemCallError.
22462         * error.c (rb_sys_fail): saves errno in the Exception.
22464         * error.c (set_syserr): no need to protect syserr_list.
22466         * error.c (rb_sys_fail): no more bufsize limit.
22468         * error.c (set_syserr): integer value of errno can be accessed by
22469           Errno::EXXX::Errno.
22471 Sun May 10 03:10:33 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
22473         * io.c (io_tell etc.): moved from File class to IO class.
22475 Fri May  8 12:26:37 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22477         * pack.c (pack_unpack): should be unsigned int (was signed int).
22479 Thu May  7 16:34:10 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22481         * pack.c (pack_pack): `V', `N' uses newly created NUM2UINT().
22483         * ruby.h (NUM2UINT): new macro.
22485         * bignum.c (big2uint): try to convert bignum into UINT.
22487         * re.c (reg_match): needed to return false for match with nil.
22489         * gc.c (obj_free): wrong condition to free string.
22491 Wed May  6 21:08:08 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22493         * ruby.c (ruby_process_options): modified for DJGPP.
22495 Wed May  6 15:48:03 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22497         * experimental release 1.1b9_17.
22499 Wed May  6 01:37:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22501         * eval.c: remove global variable `errat'.
22503         * eval.c (rb_longjmp): embed error position information in the
22504           exception object.
22506 Sat May  2 12:20:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22508         * re.c (reg_search): supports reverse search.
22510         * string.c (str_index_method): does update $~ etc.
22512         * eval.c (f_load): needed to clear the_dyna_vars.
22514         * eval.c (dyna_var_asgn): do not push dyna_var, which is id == 0.
22516         * error.c (Init_Exception): NotImplementError is no longer
22517           StandardError, which is not handled by default rescue.
22519 Fri May  1 00:35:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22521         * ruby.c (proc_options): `-d' turns on verbose flag too.
22523         * error.c (exception): last argument may be the superclass of the
22524           defining exception(s).
22526         * io.c (Init_IO): EOFError is now subclass of the IOError.
22528         * io.c (Init_IO): forgot to define IOError.
22530         * error.c (Init_Exception): old Exception class renamed to
22531           StandardError.  Exception now replaces old GlobalExit.
22533         * error.c (Init_Exception): Exception is now the root of the
22534           Global Exits.  There's no longer GlobalExit class.
22536         * util.c (ruby_mktemp): check TMP, TMPDIR first.
22538 Thu Apr 30 01:08:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22540         * lib/tk.rb: call 'unknown', if proc not defined.
22542         * eval.c (handle_rescue): default rescue handles `Exceptional' not
22543           only the instance of the `Exception's.
22545         * eval.c (f_raise): exception can be any object.
22547         * time.c (time_gm_or_local): call time_gmtime or time_localtime.
22549         * eval.c (f_raise): raises TypeError if the class which is not a
22550           subclass of String is specified (checked in exc_new()).
22552         * error.c (exc_new): need to check whether invalid class (not a
22553           subclass of String) is specified.
22555 Wed Apr 29 21:05:44 1998  WATANABE Hirofumi  <eban@os.rim.or.jp>
22557         * ruby.c (proc_options): option '-e' via tempfile.
22559 Tue Apr 28 15:27:58 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22561         * experimental release 1.1b9_16.
22563 Tue Apr 28 00:07:38 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22565         * eval.c (obj_is_proc): type check predicate.
22567         * eval.c (obj_is_block): ditto.
22569 Mon Apr 27 16:59:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22571         * ext/gtk/gtk.c (Init_gtk): use timeout, not idle to avoid
22572           consuming CPU too much.
22574         * lib/tk.rb: use tcltklib#_invoke instead of `_eval'.
22576 Mon Apr 27 16:59:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22578         * array.c (ary_sort): use dup, not clone.
22580 Mon Apr 27 13:46:27 1998  Tadahiro Maebashi  <maebashi@iij.ad.jp>
22582         * ext/tcltklib/tcltklib.c (ip_invoke): invoke tcl command
22583           directly.  need not worry about escaping tcl characters.
22585 Mon Apr 27 12:04:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22587         * random.c (f_rand): do not call srand() implicitly.
22589 Fri Apr 24 14:35:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22591         * experimental release 1.1b9_15.
22593         * parse.y (assignable): dyna_var_asgn actually defines nested
22594           local variables in outer context.
22596         * random.c (f_rand): call srand(), if it has not called yet.
22598         * random.c (f_srand): use tv_usec as the default seed.
22600         * eval.c (rb_eval): values of nested local variables should be
22601           independent.
22603         * eval.c (rb_yield_0): local variables wrong nested conditions.
22605 Wed Apr 22 23:27:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22607         * io.c (select_get_io): get IO object by `to_io'.
22609         * io.c (io_to_io): method to retrieve IO object, from delegating
22610           object for example.
22612 Wed Apr 22 16:52:37 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22614         * experimental release 1.1b9_14.
22616         * string.c (str_modify): check for embedded pointer reference.
22618         * gc.c (obj_free): ditto.
22620         * pack.c (pack_pack): p/P template to embed pointers.
22622 Wed Apr 22 00:07:10 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22624         * array.c (ary_rindex): embarrassing typo.
22626 Tue Apr 21 12:31:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22628         * experimental release 1.1b9_13.
22630         * configure.in (RUBY_LIB): supports --program-{prefix,suffix}.
22632         * array.c (ary_rindex): new method.
22634         * io.c (io_binmode): should return self.
22636 Tue Apr 21 08:23:04 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22638         * parse.y (here_document): calling parse_string with wrong
22639           arguments.
22641         * struct.c (struct_aset): problem member assignment with name.
22643 Mon Apr 20 14:47:49 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22645         * experimental release 1.1b9_12.
22647         * time.c (time_arg): args may be string (support for reduced
22648           implicit type conversion).
22650         * lib/base64.rb: changed to use pack/unpack with `m' template.
22652 Mon Apr 20 06:23:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22654         * variable.c (mod_remove_const): new method.
22656 Sat Apr 18 03:53:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22658         * hash.c (hash_each_with_index): removed.  use Enumerable's
22659           each_with_index instead.
22661         * class.c (rb_include_module): check for super modules, since
22662           module's included modules may be changed.
22664 Fri Apr 17 21:50:47 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22666         * marshal.c (r_long): r_byte() may return signed byte.
22668 Fri Apr 17 11:58:30 1998  NAGAI Hidetoshi  <nagai@dumbo.ai.kyutech.ac.jp>
22670         * ext/tcltklib/tcltklib.c (lib_mainloop): thread and interrupt check.
22672 Fri Apr 17 11:06:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22674         * eval.c (find_file): try to fopen() to check whether file exists.
22676         * ruby.c (load_file): ditto.
22678         * struct.c (struct_aset): struct member can be set by member name.
22680 Fri Apr 17 00:47:19 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22682         * ext/extmk.rb.in: added m68k-human support
22684         * file.c (LOCK_SH): defines moved.
22686         * array.c (ary_flatten_bang): simplified loop.
22688 Thu Apr 16 16:52:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22690         * experimental release 1.1b9_11.
22692         * lib/tk.rb: thread support (experimental - maybe slow).
22694         * eval.c (rb_longjmp): trace event on exception in raising
22695           context, just before raising exception.
22697         * struct.c (struct_s_members): forgot to check singletons.
22699         * struct.c (struct_aref): members can be accessed by names too.
22701         * array.c (ary_flatten): new method.
22703         * eval.c (rb_longjmp): prints exception information with `-d'.
22705         * object.c (any_to_s): remove class name restriction.
22707 Thu Apr 16 01:38:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22709         * file.c (thread_flock): do not block other threads.
22711         * eval.c (thread_trap_eval): signals are now delivered to the
22712           current thread again.  In case that the current thread is dead,
22713           signals are forwarded to the main thread.
22715         * string.c (str_new4): need not to duplicate frozen strings.
22717 Wed Apr 15 08:33:47 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22719         * struct.c (struct_inspect): remove restriction for struct names.
22721 Wed Apr 15 02:55:02 1998  Kazuya 'Sharl' Masuda  <sharl@www.ufo.co.jp>
22723         * x68 patches to config.sub, ext/extmk.rb.in
22725 Wed Apr 15 01:22:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22727         * string.c (str_dup_frozen): do not duplicate frozen strings.
22729         * parse.y (yylex): allow nested parenthesises.
22731         * io.c (obj_displayln): prints newline after `display'ing the
22732           receiver.
22734         * io.c (io_puts): avoid generating "\n" each time.  use RS_default
22735           instead.
22737         * io.c (f_p): ditto.
22739 Tue Apr 14 22:18:17 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22741         * struct.c (struct_aref): should not subtract negative index.
22743 Tue Apr 14 11:34:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22745         * experimental release 1.1b9_10.
22747         * parse.y: token names prefixed by `t'.
22749         * struct.c (struct_s_def): supports subclassing of Struct.
22751         * io.c (io_s_new): supports subclassing of IO.
22753 Mon Apr 13 11:07:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22755         * eval.c (f_binding): need to restore method name.
22757         * eval.c (rb_call0): raises SystemStackError, not Fatal.
22759         * io.c (obj_display): same as `print self'.
22761         * io.c (f_p): can now be called in the method form.
22763         * re.c (reg_regsub): needed to be mbchar aware.
22765 Mon Apr 13 13:18:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22767         * eval.c (thread_trap_eval): all signals delivered to main_thread.
22769 Mon Apr 13 12:47:03 1998  TAKAHASHI Masayoshi  <maki@inac.co.jp>
22771         * re.c (kcode_set_option): did not set SJIS on SJIS condition.
22773 Sun Apr 12 22:14:07 1998  Kazunori NISHI  <kazunori@swlab.csce.kyushu-u.ac.jp>
22775         * array.c (ary_uniq_bang): should be `==', not `='. embarrassing.
22777 Sat Apr 11 02:13:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22779         * array.c (ary_subseq): SEGVed for `[][1,1]'.
22781 Fri Apr 10 21:29:06 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22783         * array.c (ary_subseq): add check for beg larger than array length.
22785 Wed Apr  8 17:24:11 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
22787         * dir.c (dir_s_open): can be called with block (like IO#open).
22789         * dir.c (dir_s_chdir): print directory path on error.
22791         * dir.c (dir_s_chroot): ditto
22793         * dir.c (Init_Dir): needed to override `new'.
22795 Thu Apr  9 18:24:58 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22797         * experimental release 1.1b9_09.
22799         * string.c (str_cmp): do not depend on sentinel at the end of the
22800           strings.
22802         * string.c (str_chomp_bang): forgot to set the sentinel.
22804 Wed Apr  8 00:59:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22806         * bignum.c (big2int): converted int may be too big to fit in
22807           signed int.
22809         * parse.y (arg): `foo += 1' should not cause an error.
22811         * variable.c (rb_const_defined): returned false even if the
22812           constant is defined at the top level.
22814         * eval.c (f_local_variables): dyna_var->id may be null.  should
22815           have checked before calling str_new2().
22817 Tue Apr  7 01:15:15 1998  Kaneko Naoshi  <wbs01621@mail.wbs.or.jp>
22819         * re.c (reg_regsub): need to check string boundary.
22821 Tue Apr  7 19:19:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22823         * string.c (str_cmp): returns either 1, 0, -1.
22825         * array.c (ary_cmp): should check array length, too
22827 Tue Apr  7 18:50:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22829         * experimental release 1.1b9_08.
22831 Tue Apr  7 18:31:27 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22833         * instruby.rb (mandir): dll installation for cygwin32
22835 Tue Apr  7 01:16:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22837         * config.sub (maybe_os): TOWNS support?
22839         * config.guess: too strict check for libc versions on linuxes.
22841         * experimental release 1.1b9_07.
22843         * array.c (ary_cmp): compare each element using `<=>'.
22845         * hash.c (hash_each_with_index): yields [value, key] pair.
22847         * class.c (class_protected_instance_methods): list protected
22848           method names.
22850         * class.c (ins_methods_i): exclude protected methods.
22852         * eval.c (PUSH_BLOCK): dynamic variables can be accessed from
22853           eval() with bindings.
22855 Mon Apr  6 14:49:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22857         * eval.c (thread_yield): must return evaluated value.
22859 Fri Apr  3 13:07:29 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22861         * eval.c (thread_schedule): context switch bypassed on wrong
22862           conditions.
22864         * variable.c (rb_name_class): set classname by id before String
22865           class is initialized (1.0 behavior restored).
22867 Fri Apr  3 11:25:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22869         * numeric.c (num2int): no implicit conversion from string.
22871         * numeric.c (num2int): check whether `to_i' returns an Integer.
22873         * numeric.c (num_zero_p): new method.
22875         * numeric.c (num_nonzero_p): new method.  returns the receiver if
22876           it's not zero.
22878         * eval.c (obj_instance_eval): the_class should be the object's
22879           singleton class.
22881         * error.c (exc_s_new): message is converted into a string.
22883 Thu Apr  2 18:31:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22885         * eval.c (obj_call_init): every object call `initialize'.
22887 Wed Apr  1 08:51:53 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22889         * parse.y (stmt): UNTIL_MOD should be for stmt, not only for expr.
22891 Wed Apr  1 01:20:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22893         * object.c (true_and): boolean operators &, | and ^.
22895 Tue Mar 31 13:23:58 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22897         * array.c (ary_compact_bang): returns nil, if it does not modify
22898           the array like String's bang methods.
22900         * array.c (ary_uniq_bang): new method to remove duplicate items.
22902         * eval.c (bind_s_new): new method.
22904         * numeric.c (num2int): raise exception if Fixnums too big to
22905           convert into `int' in case that sizeof(int) < sizeof(INT).
22907         * string.c (str_center): SEGV on negative width.
22909         * eval.c (eval): forgot to set sourcefile.
22911 Mon Mar 30 11:12:29 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22913         * file.c (f_test): raises exception for unknown command.
22915         * eval.c (Init_eval): `class_eval': alias to the module_eval.
22917 Mon Mar 30 18:50:42 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22919         * string.c (str_capitalize_bang): did not check string modification.
22921         * string.c (str_delete_bang): wrong conversion.
22923         * string.c (str_intern): typo in error message.
22925 Mon Mar 30 01:44:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22927         * eval.c (obj_instance_eval): accepts block as evaluation body.
22928           No compilation needed each time.
22930         * eval.c (mod_module_eval): ditto
22932         * file.c (file_s_umask): umask did not return old values, if no
22933           argument given.
22935 Sun Mar 29 00:54:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22937         * eval.c (f_throw): nil returned always.
22939 Sat Mar 28 20:40:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22941         * experimental release 1.1b9_06.
22943 Sat Mar 28 16:07:11 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
22945         * io.c (io_closed): should not cause exception for closed IO.
22947         * string.c (str_tr): returned nil for success.
22949 Sat Mar 28 00:47:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22951         * eval.c (f_local_variables): new method to return an array of
22952           local variable names.
22954         * variable.c (obj_instance_variables): now returns an array of
22955           variable names, as described in the reference.
22957         * eval.c (rb_attr): honors default method visibility of the
22958           current scope.
22960 Fri Mar 27 13:49:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22962         * experimental release 1.1b9_05.
22964         * ruby.c (ruby_prog_init): `site_ruby' added to load_path.
22966         * ruby.c (ruby_prog_init): load-path order changed.  Paths in
22967           the RUBYLIB environment variable comes first in non-tainted
22968           mode.
22970 Thu Mar 26 11:51:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22972         * eval.c (rb_call): new feature: `protected' methods.
22974         * string.c (str_dump): new method.
22976         * eval.c (block_pass): block argument can be nil, which means no
22977           block is supplied for the method.
22979 Wed Mar 25 21:20:13 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
22981         * string.c (str_reverse_bang): string copied to wrong place.
22983 Wed Mar 25 08:12:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
22985         * numeric.c (flo_modulo): caused SEGV if left operand is not a
22986           float value.
22988         * eval.c (f_eval): optional third and fourth argument to specify
22989           file-name and line-number.
22991         * eval.c (eval): file-name and line-number set properly.
22993         * parse.y (assign_in_cond): literal assignment is now warning, not
22994           compile error.
22996         * error.c (Warn): Warn() always print message, OTOH Waring()
22997           prints when verbose flag is set.
22999 Tue Mar 24 12:50:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23001         * ruby.c (ruby_prog_init): `.' should come last in the load-path.
23003         * eval.c (Init_eval): `__send__', alias for `send'.
23005 Mon Mar 23 12:44:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23007         * string.c (str_chomp_bang): now takes `rs' as an argument.
23009         * eval.c (thread_free): main_thread should not be freed.
23011 Fri Mar 20 16:40:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23013         * string.c (str_chomp_bang): chomp! (and other ! methods) returns
23014           nil if it does not modify the string.
23016         * string.c (str_sub_iter_s): should check last pattern since it
23017           may be matched to null.
23019 Thu Mar 19 13:48:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23021         * experimental release 1.1b9_04.
23023         * parse.y (yylex): `10e0.9' should cause syntax error.
23025 Wed Mar 18 17:46:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23027         * ruby.c (load_file): new file object constant DATA.  Only
23028           available for the script from the file.
23030         * regex.c (re_match): forwarding failure point popped too much.
23032 Tue Mar 17 18:23:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23034         * math.c (math_frexp): newly added.
23036         * math.c (math_ldexp): ditto.
23038         * bignum.c (bigdivmod): calculates modulo.
23040         * numeric.c (fix_remainder): returns reminder, formerly introduced
23041           as modulo.
23043         * numeric.c (fix_modulo): calculates proper `modulo'.
23045         * bignum.c (bigdivmod): wrong sign for reminder.
23047 Mon Mar 16 17:07:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23049         * experimental release 1.1b9_03.
23051 Mon Mar 16 16:33:53 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23053         * io.c (pipe_finalize): needed to add pipe_finalize to pipes on
23054           cygwin32.
23056 Mon Mar 16 14:11:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23058         * class.c (ins_methods_i): needed to consider NOEX_UNDEF.
23060 Mon Mar 16 13:23:53 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23062         * io.c (io_check_closed): check for `fptr->f2 == NULL'.
23064         * io.c (io_fptr_close): ditto.
23066 Mon Mar 16 11:49:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23068         * io.c (pipe_atexit): free()ing referencing pipe_list.
23070         * range.c (range_length): returns zero, if the first is greater
23071           than the last.
23073         * signal.c (trap_restore_mask): restore signal mask before raising
23074           exceptions and throws.
23076 Fri Mar 13 13:49:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23078         * experimental release 1.1b9_02.
23080         * object.c (mod_clone): need to dups constants and instance
23081           variables.
23083         * eval.c (rb_eval): forgot to initialize body for NODE_DEFS.
23085         * eval.c (rb_eval): retrieve self from calling frame, since self
23086           changes sometimes.
23088         * env.h (FRAME): need to save self in the calling frame.
23090         * io.c (f_gets_method): rs should be initialized by RS.
23092 Thu Mar 12 15:33:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23094         * experimental release 1.1b9_01.
23096         * range.c (range_s_new): check values by `first <= last'.
23098         * parse.y (lastline_set): fixed offset for $_ and $~ in the local
23099           variable space.
23101 Wed Mar 11 02:14:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23103         * io.c (io_gets): handle normal case specially for speed.
23105         * eval.c (rb_disable_super): function to disable superclass's
23106           method explicitly.
23108         * eval.c (rb_eval): inherits previous method definition's
23109           NOEX_UNDEF-ness, if exists.
23111         * class.c (rb_define_method): disables superclass's overriding
23112           method by default.
23114 Wed Mar 11 01:40:48 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
23116         * numeric.c (flo_gt,etc.): do not depend on `<=>', to handle NaN.
23118 Tue Mar 10 00:03:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23120         * ruby.c (load_file): understands multiple options in #! line.
23122         * regex.c (re_compile_pattern): support for [:alpha:] etc.
23124 Mon Mar  9 16:53:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23126         * io.h (GetOpenFile): embed io_check_closed in GetOpenFile.
23128         * sprintf.c (f_sprintf): zero padding failed for negative
23129           integers.
23131         * sprintf.c (remove_sign_bits): failed to remove some bits.
23133 Sat Mar  7 21:51:46 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
23135         * class.c (ins_methods_i): body may be NULL for some case.
23137 Fri Mar  6 17:23:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23139         * regex.c (mbcinit): table driven mbchar detection.
23141         * object.c (obj_alloc): check for allocating instance for the
23142           primitive classes (mostly perfect).
23144         * ext/curses/curses.c (curses_finalize): restore original state at
23145           interpreter termination.
23147         * ext/curses/curses.c (curses_addstr): forgot to check argument
23148           type (caused SEGV).  now uses STR2CSTR() macro.
23150 Thu Mar  5 13:47:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23152         * eval.c (block_pass): accepts method object as block args.
23154         * eval.c (f_missing): use any_to_s() for stringify.
23156 Wed Mar  4 01:39:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23158         * parse.y (block_arg): new syntax - block argument in the
23159           calling arglist.
23161         * eval.c (rb_call): no module search. simplified a lot.
23163         * eval.c (rb_eval): block arg support.
23165         * parse.y (f_block_arg): new syntax - block argument in the
23166           formal arglist.
23168 Tue Mar  3 14:20:15 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23170         * eval.c (obj_method): returns bound method object.
23172         * eval.c (rb_call): argument check for empty methods.
23174         * ruby.h (NUM2CHR): new macro, originally from curses module.
23176 Tue Mar  3 13:03:35 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
23178         * io.c (io_putc): new method.
23180 Tue Mar  3 11:21:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23182         * string.c (str_inspect): more strict charcode detection.
23184         * eval.c (thread_stop): stopping only thread raises ThreadError
23185           exception.
23187 Tue Mar  3 08:04:56 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
23189         * struct.c (struct_alloc): incomplete struct initialization made
23190           GC to access unallocated addresses.
23192 Mon Mar  2 16:28:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23194         * eval.c (thread_stop_method): remove Thread#stop.
23196 Fri Feb 27 18:16:26 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23198         * version 1.1b9 released.
23200 Fri Feb 27 09:36:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23202         * hash.c (hash_delete_nil): needed to compare value to nil, since
23203           nil is the valid key for hashes.
23205         * hash.c (hash_foreach_iter): rehashing causes IndexError.
23207         * hash.c (hash_foreach_iter): rehash check by pointer comparison.
23209 Thu Feb 26 17:22:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23211         * parse.y (fname): convert reswords into symbols.
23213         * parse.y (reswords): reserved words are now embedded in the
23214           syntax (sigh).
23216         * parse.y: now reserved words can be method names safely.
23218 Wed Feb 25 15:50:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23220         * eval.c (mod_module_eval): clear the_scope's PRIVATE flag before
23221           calling eval().
23223         * gc.c (gc_call_finalizer_at_exit): run finalizers before any data
23224           object being freed.
23226         * eval.c (rb_eval): needed to keep prot_tag->retval before
23227           evaluating the ensure clause.
23229 Tue Feb 24 11:16:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23231         * parse.y (yylex): reserved words can be appear as method names at
23232           right after 'def' and `.'(dot), like foo.next.
23234         * eval.c (return_check): checks for return out of thread (formerly
23235           done in return_value).
23237         * eval.c (POP_TAG): copy retval to outer level.
23239         * eval.c (return_value): just set retval, no check, no unwinding.
23241         * parse.y (nextc): line continuation by backslash at end of line.
23243         * regex.c (re_compile_pattern): forgot to clear pending_exact on
23244           closing parentheses.
23246         * parse.y (assignable): should not assign dyna_var to true, if it
23247           is already defined.
23249 Mon Feb 23 14:35:03 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23251         * object.c (obj_is_kind_of): no longer accepts true/false/nil.
23253         * object.c ({true,false,nil}_to_i): can be converted into integers.
23255 Mon Feb 23 12:11:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23257         * re.c (reg_s_quote): needed to be mbchar aware.
23259         * eval.c (proc_s_new): wrong iter mark.
23261 Sat Feb 21 22:59:30 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
23263         * io.c (f_syscall): no argument check.
23265 Fri Feb 20 10:17:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23267         * version 1.1b8 released.
23269         * ext/kconv/kconv.c (kconv_kconv): default output code now be
23270           determined according to the value of $KCODE.
23272         * re.c (rb_get_kcode): can retrieve $KCODE from C code.
23274         * parse.y (stmt): if/unless modifiers returns nil, if condition is
23275           not established.
23277 Thu Feb 19 11:06:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23279         * ext/kconv/kconv.c (kconv_kconv): charcode can be specified by
23280           code name (JIS, SJIS, EUC like value of $KCODE).
23282         * regex.c (re_compile_pattern): forgot to fixup_jump for (?:..).
23284         * regex.c (re_compile_pattern): needed to clear pending_exact on
23285           non-registering grouping (?:...).
23287 Wed Feb 18 19:54:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23289         * parse.y (here_document): needed to set lex_state to EXPR_END.
23291 Wed Feb 18 18:45:10 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23293         * patches for cygwin32 applied.
23295 Wed Feb 18 00:41:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23297         * string.c (str_sub_s): needed to be mbchar aware to increment one
23298           character.
23300         * regex.c (re_match): \Z matches newline just before the end of
23301           the string.
23303 Tue Feb 17 00:04:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23305         * time.c (time_arg): Time.gm and Time.local now understands
23306           Time#to_a format.
23308         * string.c (str_sub_s): replace happened twice for null pattern.
23310         * regex.c (re_search): null pattern should not match after newline
23311           at the end of string.
23313         * time.c (time_isdst): now returns boolean value.
23315         * error.c (rb_check_type): treat special constants in messages.
23317         * parse.y (yylex): new form `::Const' to see toplevel constants.
23319         * parse.y (cond): SEGV on `if ()'.
23321         * gc.c (obj_free): some data needed explicit free().
23323 Mon Feb 16 23:55:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23325         * eval.c (blk_free): release duplicated block informations.
23327         * eval.c (blk_copy_prev): duplicate outer block information into
23328           the heap, when proc/binding created.
23330 Mon Feb 16 14:38:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23332         * time.c (time_mon): now 1 for January and so on.
23334         * time.c (time_year): year in 19xx (no + 1900 needed anymore).
23336 Mon Feb 16 13:28:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23338         * regex.c (re_compile_pattern): need to fetch mbchar's second byte
23339           without translation.
23341 Mon Feb 16 12:29:27 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
23343         * eval.c (f_pass_block): pass iterator block to other method.
23345 Fri Feb 13 08:16:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23347         * parse.y (parse_regx): handle \s before read_escape().
23349         * parse.y (read_escape): `\s' in strings as space.
23351 Tue Feb 10 17:29:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23353         * version 1.1b7 released.
23355         * string.c (str_aset): string insertion by `str[n] = str2'.
23357         * string.c (str_oct): does recognize `0x'.
23359         * sprintf.c (f_sprintf): use base 10 for conversion from string to
23360           integer.
23362 Mon Feb  9 14:51:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23364         * numeric.c (do_coerce): proper error message.
23366         * string.c (str_sum): bug - masked by wrong value. (sigh..)
23368 Sat Feb  7 15:11:14 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23370         * string.c (str_empty): new method
23372 Fri Feb  6 01:42:15 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23374         * time.c (time_asctime): use asctime(3), not strftime(3).
23376 Thu Feb  5 18:58:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23378         * io.c (io_fptr_close): do not free path on close().
23380         * array.c (ary_filter): new method.
23382         * enum.c (enum_each_with_index): new method.
23384 Thu Feb  5 14:10:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23386         * parse.y (primary): singleton class def can be appeared inside
23387           method bodies.
23389         * hash.c (hash_replace): replace content.
23391         * string.c (str_replace_method): replace content.
23393         * array.c (ary_replace_method): replace elements.
23395         * string.c (str_succ_bang): String#succ!
23397 Thu Feb  5 18:20:30 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23399         * string.c (str_upcase_bang): multi byte character support.
23401 Wed Feb  4 13:55:26 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23403         * array.c (ary_reverse): SEGV on empty array reverse.
23405 Tue Feb  3 12:24:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23407         * re.c (match_to_a): non matching element should be nil.
23409         * ruby.c (ruby_load_script): load script after all initialization.
23411         * bignum.c (str2inum): need to interpret prefix `0' of `0x'.
23413 Tue Feb  3 10:00:18 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23415         * numeric.c (fix_rshift): use `sizeof(INT)*8' instead of 32.
23417 Mon Feb  2 14:09:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23419         * ruby.c (set_arg0): grab environment region too.
23421 Thu Jan 29 18:36:25 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23423         * process.c (rb_proc_exec): check `sh' to be exist.
23425 Thu Jan 29 18:18:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23427         * io.c (io_stdio_set): assignment to $stdin or $stdout does
23428           reopen() as well as $stderr.
23430 Thu Jan 29 14:18:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23432         * class.c (mod_ancestors): should not include singleton classes.
23434         * object.c (obj_type): should not return internal class.
23436         * io.c (io_reopen): unwillingly closes stdio streams.
23438 Thu Jan 29 11:50:35 1998  Toshihiko SHIMOKAWA  <toshi@csce.kyushu-u.ac.jp>
23440         * ext/socket/socket.c (udp_addrsetup): forgot to use htons().
23442 Tue Jan 27 23:15:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23444         * keywords: __FILE__, __LINE__ are available again.
23446 Fri Jan 23 14:19:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23448         * version 1.1b6 released.
23450         * object.c (mod_to_s): need to duplicate classpath.
23452         * error.c (exc_inspect): need to duplicate classpath.
23454 Thu Jan 22 00:37:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23456         * ruby.h (STR2CSTR): new macro to retrieve char*.
23458         * class.c (rb_define_method): `initialize' should always be
23459           private, even if it defined by C extensions.
23461         * eval.c (rb_eval): `initialize' should always be private.
23463 Thu Jan 22 16:21:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23465         * eval.c (rb_eval): some singleton class def cause SEGV.
23467         * eval.c (TMP_ALLOC): replace ALLOCA_N, where thread context
23468           switch may happen.
23470 Wed Jan 21 01:43:42 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23472         * eval.c (PUSH_FRAME): do not use ALLOCA_N().  crash on some
23473           platforms that use missing/alloca.c.
23475         * regex.c (re_compile_pattern): too many pops for non register
23476           subexpr.
23478         * parse.y (yylex): open parentheses after identifiers are argument
23479           list, even if whitespaces have seen.
23481 Tue Jan 20 15:19:59 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23483         * parse.y (terms): quoted word list by %w(a b c).
23485         * ext/tcltklib/extconf.rb: more accurate check for tcl/tk libs.
23487         * file.c (rb_stat): most of the FileTest methods (and function
23488           `test') accept File objects as the argument.
23490 Tue Jan 19 18:19:24 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23492         * ext/extmk.rb.in (install): there should be no newline after install:
23494         * re.c (MIN): renamed from min().  there's a local variable named
23495           min in the file, so that some cpp will raise an error.
23497 Mon Jan 19 16:30:05 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23499         * version 1.1b5 released.
23501         * process.c (rb_syswait): no exception raised.
23503 Fri Jan 16 00:43:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23505         * ruby.h (CLONESETUP): copies its singleton classes too.
23507         * class.c (singleton_class_attached): saves binded object in the
23508           singleton classes.
23510         * eval.c (rb_eval): calls singleton_method_added even in the
23511           singleton class clauses.
23513 Fri Jan 15 23:22:43 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23515         * ruby.c (proc_options): -S does not recognize PATH.
23517 Thu Jan 15 02:03:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23519         * eval.c (rb_clear_cache_by_id): clear only affected cache
23520           entries.
23522 Wed Jan 14 02:14:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23524         * ext/socket/socket.c: new UDP/IP socket classes.
23526 Tue Jan 13 10:00:18 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23528         * string.c (str_cmp): ignorecase($=) works wrong.
23530 Fri Jan  9 13:19:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23532         * version 1.1b4 released.
23534         * eval.c (f_missing): class name omitted from the error message.
23536         * error.c (exc_inspect): description changed.
23538         * string.c (Init_String): GlobalExit's superclass did not filled,
23539           since GlobalExit created earlier than String.
23541 Thu Jan  8 12:10:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23543         * parse.y (aryset): expr in the brackets can be null.
23545 Wed Jan  7 21:13:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23547         * io.c (io_reopen): keep stderr unclosed.
23549         * io.c (io_errset): keep stderr unclosed.
23551 Tue Jan  6 00:27:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23553         * parse.y: syntax modified for `while expr do .. end' etc.
23555         * process.c (f_exec,f_system): can supply arbitrary name for the
23556           new process.
23558 Mon Jan  5 16:59:13 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23560         * file.c (file_s_basename): removes any extension by ".*".
23562 Sun Jan  4 19:36:22 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23564         * parse.y (yylex): needed to update lex_p (reading point).
23566 Sat Jan  3 19:14:14 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23568         * class.c,object.c: duplicate defines mKernel and cFinxnum.
23570 Fri Jan  2 20:38:59 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
23572         * ext/curses/curses.c (NUM2CHAR): uses the first character for
23573           string arguments.
23575         * array.c (ary_fill): did not extend array for ranges.
23577         * array.c (beg_len): did not return end pos bigger than size.
23579 Fri Jan  2 02:09:16 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23581         * dir.c (dir_s_chdir): bug in nil check.
23583         * array.c (ary_fill): bug in nil check.
23585 Tue Dec 30 11:46:23 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23587         * hash.c (env_path_tainted): checks directories in PATH
23588           environment variable are not world writable.
23590         * ruby.c (load_file): invoke specified interpreter if the #! line
23591           does not contain the word `ruby'.
23593 Fri Dec 26 03:26:41 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23595         * string.c (uscore_get): type information included in the error
23596           message.
23598         * variable.c (f_untrace_var): does not free trace-data within
23599           trace procedure.
23601 Thu Dec 25 02:50:29 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23603         * version 1.1b3 released.
23605         * ruby.h: inlining some functions on gcc 2.x
23607 Tue Dec 23 02:47:33 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23609         * eval.c (rb_eval): public/private information kept in the current
23610           scope, to remove undesired state from the class/module.
23612         * time.c (time_strftime): remove hidden limit of 100 bytes of
23613           result string, using malloc'ed buffer.
23615         * hash.c (hash_update): merges the contents of another hash,
23616           overriding existing keys.
23618         * regex.c (must_instr): totally re-written.
23620         * io.c (read_all): try to allocate proper sized buffer using
23621           fstat(2) for speedup.
23623 Sat Dec 20 00:27:28 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23625         * regex.c (must_instr): need to skip 2 bytes for mbchars.
23627 Fri Dec 19 01:18:29 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23629         * version 1.1b2 released.
23631         * eval.c (check_errat): check and convert (if necessary) traceback
23632           information before assigning to the variable $@.
23634         * eval.c (f_raise): optional third argument to specify traceback
23635           information.
23637         * io.c (f_open): prevent infinite recursive call.
23639 Thu Dec 18 19:33:47 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23641         * string.c (str_rindex): now accepts regexp as index.
23643 Thu Dec 18 18:42:50 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23645         * ext/socket/extconf.rb: modified to detect win32 socket lib.
23647 Thu Dec 18 00:25:03 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23649         * re.c (reg_equal): checks for source and casefold and kcode matching.
23651         * marshal.c: became built-in module.
23653         * ext/marshal/marshal.c (r_object): displays struct name for
23654           non-compatible struct.
23656         * string.c (str_index_method): now searches character (fixnum) in
23657           the string.
23659         * string.c (str_include): redefine `include?'.
23661         * regex.c (re_match): start_nowidth saves current stack position
23662           to stop_nowidth.
23664         * regex.c (re_compile_pattern): add space to stop_nowidth to save
23665           runtime stack position.
23667 Tue Dec 16 14:57:43 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23669         * string.c (scan_once): wrong exception for regexp that match with
23670           null string (use substr instead of subseq).
23672 Sat Dec 13 00:13:32 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23674         * parse.y (expr): remove bare assocs from expr rule.
23676         * rbconfig.rb: renamed from config.rb (it was too generic name).
23678 Fri Dec 12 00:50:25 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23680         * parse.y (expr): warns if BEGIN or END appear in the method
23681           bodies.
23683         * string.c (str_match): calls y =~ x if y is neither String nor
23684           Regexp so that eregex.rb works.
23686         * eval.c (f_at_exit): to register end proc.
23688         * class.c (rb_define_module_function): define 'function' method
23689           for the Module, not private method.
23691         * class.c (rb_define_function): function to define `function' method.
23693         * eval.c (rb_eval): inherit visibility from superclass's method
23694           except when it is set to `function'
23696         * eval.c (rb_eval): new visibility status `function'.
23698         * parse.y (yycompile): do not clear eval_tree. thus enable multiple
23699           command line script by option `-e'.
23701         * eval.c (rb_eval): END execute just once.
23703         * parse.y (expr): BEGIN/END built in the syntax.
23705 Thu Dec 11 13:14:35 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23707         * object.c (mod_le): Module (or Class) comparison.
23709         * eval.c (rb_remove_method): raises NameError if named method does
23710           not exist.
23712         * ext/curses/curses.c: remove CHECK macro for BSD curses.
23714 Thu Dec 11 12:44:01 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23716         * pack.c: sun4 cc patch
23718 Wed Dec 10 15:21:36 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23720         * ext/marshal/marshal.c (marshal_load): can supply evolution proc
23721           object as optional second argument.
23723         * re.c (reg_source): get source string of the regular expression.
23725 Tue Dec  9 10:05:17 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23727         * version 1.1b1 released.
23729         * parse.y (tokadd): token buffer overrun.
23731         * ruby.c (ruby_prog_init): forgot to protect rb_argv0 from gc.
23733         * eval.c (ruby_run): call finalizers at process termination.
23735         * gc.c (gc_call_finalizer_at_exit): call free proc for every Data
23736           Wrapper, and finalizer for specified objects at termination.
23738         * version.c (show_version): version format changed.
23740         * regex.c (re_match): wrong match with non-greedy if they appear
23741           more than once in regular expressions.
23743         * sample/ruby-mode.el (ruby-expr-beg): forgot to handle modifiers.
23745 Mon Dec  8 19:00:15 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23747         * io.c (io_puts): just put a newline if no argument given.
23749         * ext/tcltklib/tcltklib.c (lib_mainloop): thread-aware tk handle
23750           when $tk_thread_safe is set.
23752         * ext/tcltklib/tcltklib.c (lib_mainloop): use Tcl_DoOneEvent()
23753           instead of Tk_MainLoop().
23755 Mon Dec  6 07:11:16 1997  MAEDA shugo  <shugo@po.aianet.ne.jp>
23757         * io.c (io_puts): core dumped without any argument.
23759 Fri Dec  5 18:17:17 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23761         * eval.c (mod_remove_method): remove (not undef) a method from the
23762           class/module.
23764         * variable.c (obj_remove_instance_variable): method to remove
23765           instance variables.
23767 Thu Dec  4 13:50:29 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23769         * version 1.1b0 released.
23771         * string.c (str_aref): called str_index for regexp.
23773 Mon Dec  1 15:24:41 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23775         * compar.c (cmp_between): wrong comparison made.
23777 Wed Nov 26 18:18:05 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23779         * lib/mkmf.rb: generate Makefile for extension modules out of ruby
23780           source tree. use like `ruby -r mkmf extconf.rb'.
23782         * numeric.c (fix2str): enlarge buffer to prevent overflow on some
23783           machines.
23785         * parse.y (here_document): wrong line number generated after here-doc.
23787 Fri Nov 21 13:17:12 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23789         * parse.y (yylex): skip multibyte characters in comments.
23791 Wed Nov 19 17:19:20 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23793         * object.c (nil_to_a): nil.to_a => [].
23795         * parse.y (call_args): wrong node generation.
23797 Tue Nov 18 10:13:08 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23799         * array.c (Init_Array): Array#=== works as Array#include?
23801         * regex.c (re_compile_pattern): insert initialize code for jump_n,
23802           before entering loops.
23804         * re.c (reg_search): does not save registers unless $& etc appear
23805           in the script.
23807 Mon Nov 17 13:01:43 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23809         * eval.c (is_defined): add defined? check for receivers and
23810           arguments for calls.
23812         * re.c (reg_search): cache last match object.
23814         * re.c (match_aref): $[0] etc. are available.
23816 Sat Nov 15 00:11:36 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23818         * io.c (io_s_popen): "rb" detection
23820 Fri Nov 14 18:28:40 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23822         * string.c (scan_once): returns whole match if the pattern does
23823           not contain any parentheses.
23825 Thu Nov 13 14:39:06 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23827         * string.c (str_sub): returns copy of the receiver string, even if
23828           any substitution occurred.
23830         * regex.c (re_compile_pattern): no-width match by (?=..), (?!..).
23832 Wed Nov 12 13:44:47 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23834         * time.c: remove coerce from Time class.
23836         * regex.c (re_match): non-greedy match by ??, *? +?, {n,m}?.
23838 Mon Nov 10 11:24:51 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23840         * regex.c (re_compile_pattern): non-registering parens (?:..).
23842         * regex.c (re_compile_pattern): new meta character \< (wordbeg)
23843           and \> (wordend).
23845         * regex.c (re_compile_pattern): embedded comment for regular
23846           expression by (?#...).
23848 Fri Nov  7 16:58:24 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23850         * regex.c (re_compile_pattern): perl5 regexp \A and \Z available.
23852         * regex.c (re_compile_pattern): can expand compile stack dynamically.
23854         * regex.c (PUSH_FAILURE_POINT): wrong compare condition.
23856 Wed Nov  2 16:00:00 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23858         * string.c (str_sub_s): "".sub! "", "" => "\000"
23860 Fri Oct 31 15:52:10 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23862         * parse.y (assoc): keyword assoc like {fg->"black"}.
23864 Thu Oct 30 17:33:38 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23866         * io.c (io_println): print with newline, which is not affected by
23867           the values of $/ and $\.
23869 Thu Oct 30 16:54:01 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23871         * string.c (str_chop_bang): "".chop caused SEGV.
23873         * string.c (str_chomp_bang): method to chop out last newline.
23875 Mon Oct 27 13:49:13 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23877         * ext/extmk.rb.in: library may have pathname contains `.'
23879         * eval.c (rb_rescue): should not protect SystemError.
23881 Fri Oct 24 10:58:53 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23883         * io.c (io_s_with_open_stream): ensures to close stream.
23885 Thu Oct 23 11:17:44 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23887         * io.c (io_errset): value of $stderr can be changed (to any IO
23888           object).
23890         * io.c (next_argv): $< can be anything that responds to `write'.
23892         * file.c (file_s_with_open_file): ensures to close file.
23894         * error.c (exception): create error under the current class/module.
23896         * range.c (range_eqq): fixnum check for last needed too.
23898 Wed Oct 22 12:52:30 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23900         * ext/socket/socket.c: Socket::Constants added.
23902         * file.c: File::Constants added for inclusion.
23904         * array.c (ary_join): call ary_join() recursively for the 1st
23905           array element.
23907 Mon Oct 20 12:18:29 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23909         * ruby.c (load_file): wrong condition for #! check with -x.
23911         * file.c (file_s_dirname): did return "" for "/a".
23913 Fri Oct 17 14:29:09 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23915         * ruby.c: now works on alpha-linux.
23917         * bignum.c (bigadd): some undefined side effect order assumed.
23919 Wed Oct 15 17:49:24 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23921         * intern.h: function prototypes added.
23923 Mon Oct 13 16:54:18 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23925         * class.c (rb_define_class_id): call superclass's `inherited'
23926           method when making subclasses.
23928         * parse.y (nextc): clear lex_lastline at the end of file.
23930         * object.c (Init_Object): need to undef Class#append_features.
23932         * eval.c (rb_eval): no warning on extending classes or modules.
23934 Thu Oct  9 11:17:50 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23936         * eval.c (error_print): the exception name follows after the error
23937           message.
23939         * eval.c (compile_error): error message slightly changed.
23941         * parse.y (nextc): script parsing will be terminated by __END__ at
23942           beginning of line.
23944         * eval.c (compile_error): `__END__' is no longer a keyword.
23946         * parse.y (nextc): protect lastline read from script stream.
23948 Tue Oct  7 14:06:06 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23950         * version 1.1 alpha9 released.
23952         * eval.c (mod_append_features): renamed from extend_class.
23954         * eval.c (rb_eval): defining method calls `method_added'.
23956         * eval.c (ruby_options): exception while processing options must
23957           terminate the interpreter.
23959         * error.c (Init_Exception): wrong method configuration.  `new'
23960           should have been a singleton method.
23962 Mon Oct  6 18:55:38 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23964         * ext/kconv/kconv.c (kconv_guess): code to guess character code
23965           from string.
23967 Mon Oct  6 18:38:17 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23969         * pack.c: now encode/decode base64 by `m' template.
23971 Fri Oct  3 10:51:10 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23973         * MANIFEST: needed to include lex.c in the distribution.
23975         * eval.c (ruby_options): f_require() called too early.
23977         * eval.c (rb_provide): module extensions should always be `.o'.
23979 Thu Oct  2 11:38:31 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23981         * version 1.1 alpha8 released.
23983         * ext/marshal/marshal.c (r_object): remove temporal regist for
23984           structs. (caused problem if structs form cycles.)
23986         * parse.y (match_gen): static binding for match(=~) calls
23987           with regexp literals.
23989 Wed Oct  1 15:26:55 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
23991         * eval.c: protect retval in struct tag from GC for C_ALLOCA.
23993         * eval.c: no more pointer value from setjmp/longjmp.
23995 Wed Oct  1 14:01:49 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
23997         * ext/marshal/marshal.c (w_byte): argument must be char.
23999 Wed Oct  1 10:30:22 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24001         * variable.c (mod_const_at): global constants now belongs to the
24002           class Object.
24004         * object.c (Init_Object): new global constant NIL.
24006         * ext/marshal/marshal.c (marshal_dump): try to set binmode.
24008         * ext/marshal/marshal.c (r_object): forgot to re-regist structs in
24009           the object table.
24011         * eval.c (ruby_options): call Init_ext() before any require()
24012           calls by `-r'.
24014 Fri Sep 30 14:29:22 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24016         * ext/marshal/marshal.c (w_object): marshal dumped core.
24018 Tue Sep 30 10:27:39 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24020         * sample/test.rb: bignum test suits added.
24022         * eval.c (rb_eval): new pseudo variable `true' and `false'.
24024         * parse.y: new keywords `true' and `false' added.
24026 Mon Sep 29 13:37:58 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24028         * ruby.c (forbid_setid): forbid some options in suid mode.
24030         * ruby.h (NUM2DBL): new macro to convert into doubles.
24032 Mon Sep 27 09:53:48 1997  EGUCHI Osamu  <eguchi@shizuokanet.or.jp>
24034         * bignum.c: modified for speeding.
24036 Fri Sep 26 18:27:59 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24038         * sample/from.rb: some extensions.
24040 Mon Sep 29 13:15:56 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24042         * parse.y (lhs): no more syntax error on `obj.CONSTANT = value'.
24044 Fri Sep 26 14:41:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24046         * eval.c (ruby_run): deferred calling Init_ext() just before eval_node.
24048 Fri Sep 26 13:27:24 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24050         * io.c (io_isatty): forgot to return TRUE value.
24052 Fri Sep 25 11:10:58 1997  EGUCHI Osamu  <eguchi@shizuokanet.or.jp>
24054         * eval.c: use _setjmp/_longjmp instead of setjmp/longjmp on some
24055           platforms.
24057 Wed Sep 24 17:43:13 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24059         * string.c (Init_String): String#taint and String#taint? added.
24061         * class.c (mod_ancestors): ancestors include the class itself.
24063 Wed Sep 24 00:57:00 1997  Katsuyuki Okabe  <HGC02147@niftyserve.or.jp>
24065         * X68000 patch.
24067 Tue Sep 23 20:42:30 1997  EGUCHI Osamu  <eguchi@shizuokanet.or.jp>
24069         * parse.y (node_newnode): SEGV on null node setup.
24071 Mon Sep 22 11:22:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24073         * ruby.c (ruby_prog_init): wrong safe condition check.
24075 Sun Sep 21 14:46:02 1997  MAEDA shugo  <shugo@po.aianet.ne.jp>
24077         * error.c (exc_inspect): garbage added to classpath.
24079 Fri Sep 19 11:49:23 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24081         * parse.y (newtok): forgot to adjust buffer size when shrinking
24082           the token buffer.
24084         * enum.c (enum_find): rb_eval_cmd() does not return value.
24086         * io.c (pipe_open): close fds on pipe exec. fcntl(fd, F_SETFD, 1)
24087           no longer used.
24089 Tue Sep 16 17:54:25 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24091         * file.c (f_test): problem if wrong command specified.
24093         * ruby.c (ruby_prog_init): close stdaux and stdprn for MSDOS.
24095         * ruby.c (ruby_prog_init): should not add path from environment
24096           variable, if ruby is running under setuid.
24098         * process.c (init_ids): check suid check for setuid/seteuid etc.
24100 Mon Sep 15 00:42:04 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24102         * regex.c (re_compile_pattern): \w{3} and \W{3} did not work.
24104 Thu Sep 11 10:31:48 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24106         * version 1.1 alpha7 released.
24108         * ext/socket/socket.c (sock_new): no setbuf() for NT.
24110         * io.c (rb_fopen,rb_fdopen): set close-on-exec for every fd.
24112 Wed Sep 10 15:55:31 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24114         * ext/marshal/marshal.c (r_bytes0): extra big length check.
24116 Tue Sep  9 16:27:14 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24118         * io.c (pipe_fptr_atexit): clean up popen()'ed fptr.
24120         * error.c (set_syserr): some system has error code that is bigger
24121           than sys_nerr. grrr.
24123 Mon Sep  8 18:33:33 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24125         * io.c (io_s_new): dereferenced nil for optional mode.
24127 Fri Sep  5 10:26:03 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24129         * class.c (class_instance_methods): do not include methods which
24130           are changed to private in subclasses.
24132 Thu Sep  4 12:38:53 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24134         * variable.c (f_global_variables): list name of the global
24135           variables.
24137         * object.c (obj_id): returns unique integer.
24139 Wed Sep  3 14:05:16 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24141         * version 1.1 alpha6 released.
24143         * eval.c (mod_s_constants): context sensitive constant list.
24145         * variable.c (mod_constants): no more `all' option.
24147         * variable.c (mod_const_of): the values for autoload classes are
24148           their name strings.
24150         * class.c (class_instance_methods): no special treatment for
24151           singleton classes.
24153         * object.c (obj_singleton_methods): returns list of singleton
24154           method names.
24156         * parse.y (yylex): no here document after `class' keyword.
24158         * eval.c (f_load): expand path if fname begins with `~'.
24160 Tue Sep  2 13:19:48 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24162         * class.c (ins_methods_i): do not list undef'ed methods.
24164 Mon Sep  1 13:42:48 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24166         * version 1.1 alpha5 released.
24168         * object.c (mod_attr_reader): create methods to define attribute
24169           reader/write/accessor.
24171         * class.c (rb_define_attr): always defines accessors.
24173         * eval.c (rb_call): alias occurred in the module body caused SEGV.
24175         * parse.y: did not generate here document strings properly.
24177 Mon Sep  1 11:43:57 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24179         * parse.y (yylex): heredoc dropped an extra character.
24181 Fri Aug 29 11:10:21 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24183         * class.c (class_instance_methods): same method names should not
24184           appear more than once.
24186         * parse.y (yylex): spaces can follow =begin/=end.
24188         * variable.c (find_class_path): look for class_tbl also for
24189           unnamed fundamental classes, such as Object, String, etc.
24191         * variable.c (rb_name_class): can't name class before String class
24192           is initialized.
24194         * inits.c (rb_call_inits): unrecognized dependency from GC to
24195           Array.
24197         * variable.c (find_class_path): could not find class if Object's
24198           iv_tbl is NULL.
24200 Thu Aug 28 13:12:05 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24202         * version 1.1 alpha4 released.
24204         * variable.c (mod_constants): wrong condition for singleton
24205           class.
24207         * parse.y (yylex): revised `=begin' skip code.
24209         * parse.y (here_document): forgot to free(eos).
24211         * parse.y (yylex): spaces after `<<' prohibited for here
24212           documents to avoid confusing with operator `<<'.
24214         * eval.c (is_defined): separated from rb_eval().
24216 Wed Aug 27 11:32:42 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24218         * version 1.1 alpha3 released.
24220         * variable.c (mod_name): returns name of the class/module.
24222         * parse.y (here_document): finally here document available now.
24224         * variable.c (fc_i): some classes/modules does not have iv_tbl.
24226         * variable.c (find_class_path): avoid infinite loop.
24228 Tue Aug 26 13:43:47 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24230         * eval.c (rb_eval): undef'ing non-existing method will raise
24231           NameError exception.
24233         * object.c (class_s_new): needed to create metaclass too.
24235         * eval.c (error_print): no class name print for anonymous class.
24237         * eval.c (rb_longjmp): proper exception raised if raise() called
24238           without arguments, with $! or $@ set.
24240         * object.c (Init_Object): superclass()'s method argument setting
24241           was wrong again.
24243         * class.c (mod_ancestors): list superclasses and included modules
24244           in priority order.
24246 Mon Aug 25 11:53:11 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24248         * version 1.1 alpha2 released.
24250         * sample/ruby-mode.el (ruby-parse-region): auto-indent now
24251           supports "\\" in the strings.
24253         * struct.c (struct_getmember): new API to get member value from C
24254           language side.
24256 Sat Aug 23 21:39:05 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24258         * parse.y (assignable): remove unnecessary local variable
24259           initialize by nil.
24261 Fri Aug 22 14:26:40 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24263         * eval.c (error_print): modified exception print format.
24265 Thu Aug 21 16:10:58 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24267         * sample/ruby-mode.el (ruby-calculate-indent): wrong indent level
24268           calculated with keyword operators.
24270 Thu Aug 21 11:36:58 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24272         * parse.y (arg): ary[0] += 1 cause SEGV
24274 Wed Aug 20 17:28:50 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24276         * ruby.c (ruby_process_options): require() all modules after
24277           processing all options
24279         * process.c (rb_proc_exec): more security checks added.
24281         * process.c (rb_proc_exec): insecure path on exec.
24283         * hash.c (f_getenv): PATH modification security check.
24285 Tue Aug 19 00:15:38 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24287         * version 1.1 alpha1 released.
24289         * eval.c (mod_eval): work as normal eval() if second binding
24290           argument given.
24292         * eval.c (rb_call): did not raise ArgumentError if too many
24293           arguments more than optional arguments (without rest arg).
24295         * eval.c (rb_eval): did not work well for op_asgn2 (attribute
24296           self assignment).
24298         * eval.c (Init_Thread): returns main thread.
24300 Mon Aug 18 09:25:56 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24302         * object.c (inspect_i): did not display T_DATA instance variables.
24304         * parse.y: provides more accurate line number information.
24306         * eval.c (thread_value): include value's backtrace information in
24307           the variable `$@'.
24309         * eval.c (f_abort): print backtrace and exit.
24311 Sat Aug 16 00:17:44 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24313         * eval.c (class_new_instance): do not make instance from virtual
24314           classes.
24316         * object.c (class_s_new): do not make subclass of singleton class.
24318 Fri Aug 15 15:49:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24320         * eval.c (call_trace_func): block context switch in the trace
24321           function.
24323         * eval.c (rb_eval): clear method cache at class extension.
24325         * object.c (obj_type): returns object's class even if it defines
24326           singleton methods.
24328 Fri Aug 15 19:40:43 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
24330         * ext/socket/socket.c (Init_socket): small typo caused SEGV.
24332 Wed Aug 13 17:51:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
24334         * version 1.1 alpha0 released.
24336 Local variables:
24337 add-log-time-format: (lambda ()
24338   (let* ((time (current-time))
24339          (diff (+ (cadr time) 32400))
24340           (lo (% diff 65536))
24341           (hi  (+ (car time) (/ diff 65536))))
24342     (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
24343 indent-tabs-mode: t
24344 tab-width: 8
24345 end: