home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / rbemx144.zip / ruby-1.4.4 / ChangeLog next >
Text File  |  2000-04-15  |  176KB  |  5,752 lines

  1. Fri Apr 14 23:29:45 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2.  
  3.     * stable version 1.4.4 released.
  4.  
  5. Tue Apr 11 21:14:42 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  6.  
  7.     * config_s.dj: add @sitedir@.
  8.     * configure.in: add --with-sitedir=DIR option.
  9.     * instruby.rb: use CONFIG["sitedir"].
  10.     * lib/mkmf.rb: support 'make site-install'.
  11.     * win32/config.status: add @sitedir@.
  12.  
  13. Tue Apr 11 16:25:15 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  14.  
  15.     * bignum.c (rb_big_2comp): unnecessary lvalue cast removed.
  16.  
  17. Tue Apr 11 02:25:53 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  18.  
  19.     * marshal.c (marshal_dump): accepts depth = nil for unlimited depth.
  20.  
  21. Thu Apr  6 20:10:47 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  22.  
  23.     * ext/extmk.rb.in (create_makefile): BeOS --program-suffix support.
  24.     * lib/mkmf.rb (create_makefile): ditto.
  25.  
  26. Thu Apr  6 09:55:26 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  27.  
  28.     * error.c (rb_sys_fail): need rb_exc_new2() call on BeOS.
  29.  
  30. Mon Apr  3 17:22:27 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  31.  
  32.     * eval.c (catch_i): should supply argument.
  33.  
  34. Sat Apr  1 21:30:53 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
  35.  
  36.     * io.c(rb_io_printf, rb_f_printf): should use rb_io_write.
  37.  
  38. Sat Apr  1 00:16:05 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  39.  
  40.     * gc.c (rb_gc_call_finalizer_at_exit): should be clear flags
  41.       before calling finalizers.
  42.  
  43. Thu Mar 30 12:19:44 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  44.  
  45.     * enum.c (enum_find): rb_eval_cmd() should be called with array.
  46.  
  47. Tue Mar 28 13:57:05 2000  Clemens Hintze  <c.hintze@gmx.net>
  48.  
  49.     * ext/dbm/dbm.c (fdbm_invert): should return new hash.
  50.  
  51.     * ext/gdbm/gdbm.c (fgdbm_invert): ditto.
  52.  
  53. Fri Mar 24 18:26:51 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  54.  
  55.     * file.c (test_check): should have checked exact number of arguments.
  56.  
  57. Wed Mar 22 21:49:36 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
  58.  
  59.     * st.c (st_delete_safe): skip already deleted entry.
  60.  
  61.     * hash.c (rb_hash_delete): modify brace miss.
  62.  
  63. Wed Mar 22 08:53:58 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  64.  
  65.     * eval.c (exec_under): do not push cbase if ruby_cbase == under.
  66.  
  67.     * node.h (NEW_CREF0): preserve cbase nesting.
  68.  
  69. Tue Mar 21 12:57:50 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  70.  
  71.     * object.c (rb_class_s_new): Class::new should call `inherited'.
  72.  
  73. Fri Mar 17 15:02:45 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  74.  
  75.     * variable.c (rb_autoload_id): defining new autoload should be
  76.       prohibited for $SAFE > 4.
  77.  
  78.     * variable.c (rb_const_get): autoload should be possible for 
  79.       $SAFE > 4.
  80.  
  81.     * eval.c (call_trace_func): should handle T_ICLASS properly.
  82.  
  83. Wed Mar 15 21:25:04 2000  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
  84.  
  85.     * array.c (rb_ary_join): 'result' is always duplicated
  86.       before concat string.
  87.  
  88. Wed Mar 15 13:12:39 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  89.  
  90.     * string.c (rb_str_chomp_bang): forgot to call rb_str_modify().
  91.  
  92. Mon Mar 13 16:12:13 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  93.  
  94.     * eval.c (block_pass): distinguish real orphan block and still
  95.       on-stack block passed by block argument.
  96.  
  97. Mon Mar 13 00:20:25 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  98.  
  99.     * parse.y (f_norm_arg): proper error message when constant comes
  100.       in formal argument list.  this message is suggested by Muvaw
  101.       Pnazte <bugathlon@yahoo.com>.
  102.  
  103.     * eval.c (rb_f_raise): proper error message when the first
  104.       argument is not an exception class/object.
  105.  
  106. Sat Mar 11 22:03:03 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  107.  
  108.     * eval.c (rb_f_missing): check if argv[0] is ID.
  109.  
  110. Sat Mar 11 05:07:11 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  111.  
  112.     * process.c (proc_setpriority): should return 0, not nil.
  113.  
  114.     * process.c (proc_setpgid): ditto.
  115.  
  116. Thu Mar  9 11:13:32 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  117.  
  118.     * regex.c (re_compile_fastmap): fixed embarrassing brace bug.
  119.  
  120. Thu Mar  9 01:36:32 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
  121.  
  122.     * missing/flock.c: emulate missing flock() with fcntl().
  123.  
  124. Wed Mar  8 02:08:43 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  125.  
  126.     * parse.y: escape expansion too early.
  127.  
  128.     * regex.c (re_compile_pattern): support \cX et al.
  129.  
  130. Mon Mar  6 12:28:37 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  131.  
  132.     * ext/socket/socket.c (ip_addrsetup): should check length of hostname.
  133.  
  134.     * ext/socket/socket.c (ip_addrsetup): check newline at the end of
  135.       hostname.  These fixes suggested by Muvaw Pnazte <bugathlon@yahoo.com>.
  136.  
  137. Sun Mar  5 20:35:45 2000  WATANABE Hirofumi  <eban@os.rim.or.jp>
  138.  
  139.     * ext/Win32API/Win32API.c (Win32API_initialize): should call
  140.       LoadLibrary() everytime and should assign the hdll to Win32API
  141.       object(protect the hdll from GC).
  142.  
  143. Sat Feb 26 22:39:31 2000  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  144.  
  145.     * Fix String#* with huge string.
  146.  
  147. Fri Feb 25 06:42:26 2000  GOTOU YUUZOU  <gotoyuzo@notwork.org>
  148.  
  149.     * ext/socket/socket.c (ip_addrsetup): hostp should remain NULL if
  150.       host is nil.
  151.  
  152. Thu Feb 24 16:53:47 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  153.  
  154.     * eval.c (rb_thread_schedule): priority was too high for sleep
  155.       expired threads.
  156.  
  157. Sat Feb 19 23:58:51 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  158.  
  159.     * regex.c (re_match): pop_loop should not pop at forward jump.
  160.  
  161. Thu Feb 17 19:09:05 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  162.  
  163.     * win32/win32.c (mypopen): don't close handle if it is not assigned.
  164.     * win32/win32.c (my_open_osfhandle): support O_NOINHERIT flag.
  165.     * win32/win32.c (win32_getcwd): rename getcwd to win32_getcwd
  166.       in order to avoid using the C/C++ runtime DLL's getcwd.
  167.       Use CharNext() to process directory name.
  168.     * win32/win32.h: map getcwd to win32_getcwd.
  169.  
  170. Wed Feb 16 00:32:49 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  171.  
  172.     * eval.c (method_arity): nd_rest is -1 for no rest argument.
  173.  
  174.     * process.c (rb_f_waitpid): returns nil when waitpid(2) returns 0.
  175.  
  176. Tue Feb 15 01:47:00 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  177.  
  178.     * process.c (rb_f_waitpid): pid_t should be signed.
  179.  
  180. Mon Feb 14 13:59:01 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  181.  
  182.     * ruby.c (load_file): exit if reading file is empty.
  183.  
  184. Mon Feb 14 03:34:52 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  185.  
  186.     * parse.y (yylex): `foo.bar=' should be <foo><.><bar><=>.
  187.  
  188.     * eval.c (rb_thread_restore_context): process according to
  189.       RESTORE_* is moved after longjmp().
  190.  
  191.     * eval.c (thread_switch): new function to process RESTORE_*.
  192.  
  193. Thu Feb 10 02:12:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  194.  
  195.     * string.c (rb_str_index_m): did not support negative offset.
  196.  
  197. Wed Feb  9 21:54:26 2000  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  198.  
  199.     * ext/socket/getaddrinfo.c: gcc --traditional support.
  200.       Rearrange headers to work AC_C_CONST.
  201.     * ext/socket/getnameinfo.c: ditto.
  202.     * ext/socket/socket.c: mswin32: use double instead of long long.
  203.  
  204. Wed Feb  9 16:30:41 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  205.  
  206.     * numeric.c (num_coerce): should return [y, x].
  207.  
  208. Fri Feb  4 10:20:25 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  209.  
  210.     * io.c (rb_io_close): should not check closed IO.
  211.  
  212. Fri Feb  4 05:44:01 2000  Kentaro Inagaki  <inagaki@tg.rim.or.jp>
  213.  
  214.     * ext/socket/socket.c (s_recv): TRAP_BEG after retry entry.
  215.  
  216. Thu Jan 27 01:27:10 2000  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
  217.  
  218.     * dir.c (glob): glob pattern "/*" did not match.
  219.  
  220. Wed Jan 26 22:30:47 2000  Shigeo Kobayashi  <shigeo@tinyforest.gr.jp>
  221.  
  222.     * numeric.c (flo_modulo): wrong result for negative modulo.
  223.  
  224. Wed Jan 26 11:43:41 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  225.  
  226.     * file.c (test_c): should use S_ISCHR.
  227.  
  228. Sun Jan 16 20:12:13 2000  Koji Arai  <JCA02266@nifty.ne.jp>
  229.  
  230.     * eval.c (dvar_asgn): may need to push dvar.
  231.  
  232. Sat Jan 15 22:21:08 2000  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
  233.  
  234.     * eval.c (search_method): argument klass may be 0.
  235.  
  236. Fri Jan 14 12:22:04 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  237.  
  238.     * string.c (rb_str_replace): use memmove instead of memcpy for
  239.       overwrapping strings (e.g. a[1] = a).
  240.  
  241. Fri Jan  7 00:59:29 2000  Masahiro Tomita  <tommy@tmtm.org>
  242.  
  243.     * io.c (io_fread): TRAP_BEG/TRAP_END added around getc().
  244.  
  245. Wed Jan  5 02:14:46 2000  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  246.  
  247.     * parse.y: Fix SEGV on empty parens with UMINUS or UPLUS.
  248.  
  249. Tue Jan  4 22:25:54 2000  Yukihiro Matsumoto  <matz@netlab.co.jp>
  250.  
  251.     * parse.y (stmt): `() while cond' dumped core.
  252.  
  253. Mon Dec 27 12:35:47 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  254.  
  255.     * ext/socket/socket.c (sock_finalize): mswin32: fix socket handle leak.
  256.  
  257.     * win32/win32.c (myfdclose): ditto.
  258.  
  259. Sun Dec 26 23:15:13 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  260.  
  261.     * win32/win32.c (mypopen): raise catchable error instead of rb_fatal.
  262.     * win32/win32.c (mypclose): fix process handle laek.
  263.  
  264. Sun Dec 26 16:17:11 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  265.  
  266.     * ext/Win32API/Win32API.c (Win32API_initialize): use UINT2NUM
  267.       instead of INT2NUM to set __dll__ and __proc__.
  268.  
  269. Sat Dec 25 00:08:59 1999  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
  270.  
  271.     * ext/Win32API/Win32API.c (Win32API_Call): remove 'dword ptr'
  272.       from _asm.
  273.  
  274. Fri Dec 24 10:26:47 1999  Koji Oda  <oda@bsd1.qnes.nec.co.jp>
  275.  
  276.     * win32/win32.h: use "C++" linkage.
  277.  
  278. Fri Dec 24 02:00:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  279.  
  280.     * eval.c (THREAD_ALLOC): should initialize th->trace.
  281.  
  282. Fri Dec 24 00:43:39 1999  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
  283.  
  284.     * io.c (pipe_open): check for `fptr->f == NULL'.
  285.     * win32/win32.c (mypopen): STDERR does not work during ` function.
  286.  
  287. Tue Dec 21 17:21:28 1999  Koji Oda  <oda@bsd1.qnes.nec.co.jp>
  288.  
  289.     * ext/socket/socket.c (sock_finalize): mswin32: fix FILE* leak.
  290.  
  291. Mon Dec 20 19:08:12 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
  292.  
  293.     * file.c (rb_file_s_expand_path): handle dir separetor correctly.
  294.  
  295. Sun Dec 19 22:56:31 1999  KANEKO Naoshi  <wbs01621@mail.wbs.ne.jp>
  296.  
  297.     * lib/find.rb: support dosish root directory.
  298.     * win32/Makefile: ditto.
  299.     * win32/config.status: ditto.
  300.     * win32/win32.c (opendir): ditto.
  301.     * win32/win32.c (opendir): use CharPrev() to get last character
  302.       of the directory name.
  303.  
  304. Fri Dec 17 19:27:43 1999  IWAMURO Motonori  <iwa@mmp.fujitsu.co.jp>
  305.  
  306.     * eval.c (rb_load): should initialize ruby_frame->last_class.
  307.  
  308. Wed Dec 15 01:35:29 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  309.  
  310.     * ruby.c (proc_options): argv boundary check for `-X'.
  311.  
  312. Sat Dec 11 03:34:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  313.  
  314.     * gc.c (mark_hashentry): key should be VALUE, not ID.
  315.  
  316.     * io.c (argf_eof): should check next_p too.
  317.  
  318. Thu Dec  9 18:09:13 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  319.  
  320.     * error.c (exc_set_backtrace): forgot to declare a VALUE argument.
  321.  
  322. Tue Dec  7 18:25:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  323.  
  324.     * stable version 1.4.3 released.
  325.  
  326. Mon Dec  6 15:55:30 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  327.  
  328.     * numeric.c (fix_rshift): Fix -1 >> 32 returned 0 (should be -1).
  329.  
  330.     * numeric.c (fix_rshift): Fix  1 >> -1 returned 0 (should be 2).
  331.  
  332. Mon Dec  6 11:47:23 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  333.  
  334.     * sprintf.c (rb_f_sprintf): formatted string must be tainted if
  335.       any of parameters is tainted.
  336.  
  337.     * file.c (rb_file_s_expand_path): expanded file path need not to
  338.       be tainted always.
  339.  
  340. Sat Dec  4 01:40:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  341.  
  342.     * bignum.c (rb_big_rand): should not use rand/random where drand48
  343.       may be available.  RANDOM_NUMBER should be provided from outside.
  344.  
  345. Fri Dec  3 09:54:59 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  346.  
  347.     * eval.c (rb_f_require): should check require 'feature.o' too.
  348.  
  349. Thu Dec  2 11:58:15 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  350.  
  351.     * eval.c (rb_thread_loading): should maintain loading_tbl.
  352.  
  353. Thu Dec  2 10:21:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  354.  
  355.     * eval.c (rb_thread_loading_done): wrong parameter to st_delete().
  356.  
  357. Wed Dec  1 09:47:33 1999  Kazunori NISHI  <kazunori@swlab.csce.kyushu-u.ac.jp>
  358.  
  359.     * string.c (rb_str_split_method): should increment end too.
  360.  
  361. Tue Nov 30 01:46:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  362.  
  363.     * re.c (rb_reg_source): generated source string must be tainted if
  364.       regex is tainted.
  365.  
  366.     * file.c (rb_file_s_basename): basename should not be tainted
  367.       unless the original path is tainted.
  368.  
  369.     * file.c (rb_file_s_dirname): ditto.
  370.  
  371. Mon Nov 29 15:28:52 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  372.  
  373.     * variable.c (rb_path2class): evaluated value from path should be
  374.       module or class.
  375.  
  376. Fri Nov 26 18:12:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  377.  
  378.     * eval.c (rb_exec_end_proc): should remove only end_procs defined
  379.       within load wrapper.
  380.  
  381.     * eval.c (rb_load): save and restore ruby_wrapper around loading.
  382.  
  383.     * eval.c (rb_mark_end_proc): mark end procs registered by END{} or
  384.       at_exit{}. 
  385.  
  386.     * eval.c (rb_set_end_proc): should not call rb_global_variable()
  387.       on heap address;  it crashed mod_ruby.
  388.  
  389. Fri Nov 26 18:12:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  390.  
  391.     * enum.c (enum_grep): does not return nil.
  392.  
  393.     * eval.c (rb_mark_end_proc): mark end procs registered by END{} or
  394.       at_exit{}. 
  395.  
  396.     * eval.c (rb_set_end_proc): should not call rb_global_variable()
  397.       on heap address;  it crashed mod_ruby.
  398.  
  399. Thu Nov 18 16:18:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  400.  
  401.     * lib/pstore.rb: mutual lock by flock(2).
  402.  
  403. Thu Nov 18 11:44:13 1999  Masahiro Tomita  <tommy@tmtm.org>
  404.  
  405.     * io.c (read_all): should check bytes too.
  406.  
  407. Mon Nov 15 16:50:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  408.  
  409.     * enum.c (enum_grep): grep with block returns collection of
  410.       evaluated values of block over matched elements.
  411.  
  412. Mon Nov 15 04:50:33 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  413.  
  414.     * re.c (rb_reg_source): should not call rb_reg_expr_str()
  415.       everytime.
  416.  
  417. Fri Nov 12 23:52:19 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  418.  
  419.     * process.c (rb_f_system): argument check for NT, __EMX__, DJGPP.
  420.  
  421. Wed Nov 10 21:54:11 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  422.  
  423.     * hash.c (rb_any_cmp): Fixed return without value.
  424.  
  425. Tue Nov  9 13:21:04 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  426.  
  427.     * configure.in: AC_MINIX move to before AC_EXEEXT and AC_OBJEXT.
  428.  
  429. Mon Nov  8 19:52:29 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  430.  
  431.     * configure.in: Renamed AC_CHAR_UNSIGNED to AC_C_CHAR_UNSIGNED.
  432.  
  433.     * configure.in: Added default to AC_CHECK_SIZEOF().
  434.  
  435. Mon Nov  8 14:28:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  436.  
  437.     * eval.c (rb_f_eval): fake outer scope when eval() called without
  438.       bindings.
  439.  
  440.     * eval.c (rb_f_binding): should copy last_class in the outer frame too.
  441.  
  442. Sun Nov  7 18:31:04 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  443.  
  444.     * eval.c (is_defined): last_class may be 0.
  445.  
  446. Sat Nov  6 19:26:55 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  447.  
  448.     * Makefile.in: Added depend entry make parse.@OBJEXT@ from parse.c
  449.       for UCB make
  450.  
  451. Wed Nov  3 08:52:57 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
  452.  
  453.     * io.c (Init_IO): forgot to use INT2FIX() around SEEK_SET, etc. 
  454.  
  455. Wed Nov  3 00:25:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  456.  
  457.     * string.c (rb_str_split_method): use mbclen2() to handle kcode
  458.       option of regexp objects.
  459.  
  460. Sun Oct 31 13:12:42 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  461.  
  462.     * regex.c (re_compile_pattern): wrong [\W] match.
  463.  
  464. Thu Oct 28 13:35:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  465.  
  466.     * string.c (rb_str_split_method): should be mbchar aware with
  467.       single char separators.
  468.  
  469. Wed Oct 27 12:57:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  470.  
  471.     * random.c (rb_f_srand): random seed should be unsigned.
  472.  
  473. Tue Oct 26 19:20:54 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  474.  
  475.     * marshal.c (r_object): should register class/module objects.
  476.  
  477. Sat Oct 23 15:59:39 1999  Takaaki Tateishi  <ttate@jaist.ac.jp>
  478.  
  479.     * process.c (rb_f_system): should require at least one argument.
  480.  
  481. Thu Oct 21 16:14:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  482.  
  483.     * dir.c (fnmatch): use eban's fnmatch; do not depend on systems's
  484.       fnmatch (which may have portability problem) anymore.
  485.  
  486. Wed Oct 20 15:14:24 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  487.  
  488.     * marshal.c (marshal_load): should protect the generated object
  489.       table (arg->data) from GC.
  490.  
  491. Mon Oct 18 16:15:52 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  492.  
  493.     * ext/nkf/nkf.c (rb_nkf_kconv): output should be NUL terminated.
  494.  
  495. Fri Oct 15 22:50:41 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  496.  
  497.     * error.c (sys_nerr): on CYGWIN, it is _sys_nerr.
  498.  
  499. Fri Oct 15 01:32:31 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  500.  
  501.     * ext/Win32API/Win32API.c (Win32API_Call): need to use NUM2ULONG,
  502.       not NUM2INT.
  503.  
  504. Tue Oct 12 22:29:04 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  505.  
  506.     * eval.c (block_pass): should copy block to prevent modifications.
  507.       tag in the structure should be updated from latest prot_tag.
  508.  
  509.     * eval.c (proc_s_new): tag in struct BLOCK should not point into
  510.       unused stack.
  511.  
  512.     * io.c (io_read): length may be 0 or negative.
  513.  
  514. Tue Oct 12 13:26:27 1999  Jun-ichiro itojun Hagino  <itojun@itojun.org>
  515.  
  516.     * signal.c (posix_signal): RETSIGTYPE may be void.
  517.  
  518. Mon Oct 11 17:42:25 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
  519.  
  520.     * parse.y (rb_intern): should generate distinct ID_ATTRSET symbols
  521.       for the name with multiple `='s at the end.
  522.  
  523.     * Makefile.in (CPPFLAGS): separate cpp flags from CFLAGS.
  524.  
  525. Mon Oct 11 07:27:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  526.  
  527.     * eval.c (rb_eval): should not execute the `else' clause on the
  528.       case the exceptions are handled by the `rescue' clause.
  529.  
  530.     * signal.c (Init_signal): ignore SIGPIPE by default.
  531.  
  532. Mon Oct  4 12:42:32 1999  Kazuhiko Izawa  <izawa@erec.che.tohoku.ac.jp>
  533.  
  534.     * pack.c (pack_unpack): % in printf format should be %%.
  535.  
  536. Wed Oct  6 17:13:19 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
  537.  
  538.     * ruby.c (addpath): rubylib_mangled_path() modified.
  539.  
  540. Mon Oct  4 10:01:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  541.  
  542.     * variable.c (rb_obj_instance_variables): should always return
  543.       array for all object can have instance variables now.
  544.  
  545. Mon Oct  4 00:08:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  546.  
  547.     * pack.c (OFF16): need to adjust pointer address to pack/unpack on
  548.       64bit machines.
  549.  
  550. Sun Oct 03 03:05:59 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  551.  
  552.     * time.c (time_arg): mktime y2k problem.
  553.  
  554. Sun Sep 26 16:54:45 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  555.  
  556.     * parse.y (here_document): `\r' handling for here documents.
  557.  
  558. Wed Sep 22 09:20:11 1999  Masahiro Tomita  <tommy@tmtm.org>
  559.  
  560.     * ext/socket/socket.c: SOCKS5 support.
  561.  
  562. Wed Sep 22 00:35:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  563.  
  564.     * string.c (rb_str_include): should return boolean value.
  565.  
  566.     * regex.c (re_compile_fastmap): wrong comparison with mbc.
  567.  
  568.     * eval.c (specific_eval): default sourcefile name should be
  569.       "(eval)" for module_eval etc.
  570.  
  571. Wed Sep 22 00:06:07 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  572.  
  573.     * win32/Makefile: update rules.
  574.  
  575.     * io.c (io_fread): should not assign in char, it maybe -1.
  576.  
  577. Tue Sep 21 23:57:54 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  578.  
  579.     * eval.c (call_trace_func): should not propagate retval in
  580.       trace_func. 
  581.  
  582. Mon Sep 20 21:35:39 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  583.  
  584.     * win32/win32.c (myselect): assume non socket files are always
  585.       readable/writable.
  586.  
  587. Mon Sep 20 01:08:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  588.  
  589.     * io.c (io_fread): should not block other threads.
  590.  
  591.     * io.c (rb_io_synchronized): renamed from rb_io_unbuffered(); do
  592.       not call setbuf(NULL) anymore.
  593.  
  594. Sat Sep 18 13:45:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  595.  
  596.     * stable version 1.4.2 released.
  597.  
  598. Fri Sep 17 23:24:17 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  599.  
  600.     * eval.c (rb_f_missing): dumped core if no argument given.
  601.  
  602. Fri Sep 17 23:21:06 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  603.  
  604.     * win32/win32.c (myselect): translate WSAEINTR, WSAENOTSOCK into
  605.       UNIX errno constants.
  606.  
  607. Fri Sep 17 00:52:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  608.  
  609.     * parse.y (arg): assignable() may return 0.
  610.  
  611. Thu Sep 16 20:46:23 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  612.  
  613.     * eval.c (rb_eval): was doubly evaluating the return expression.
  614.  
  615. Thu Sep 16 18:40:08 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  616.  
  617.     * stable version 1.4.1 released.
  618.  
  619. Thu Sep 16 11:33:22 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  620.  
  621.     * string.c (rb_str_match): should return nil.
  622.  
  623. Wed Sep 15 22:46:37 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  624.  
  625.     * re.c (rb_reg_s_quote): should quote `-' too.
  626.  
  627. Tue Sep 14 15:23:22 1999  Nobuyoshi Nakada  <nobu.nakada@nifty.ne.jp>
  628.  
  629.     * parse.y (yylex): no need to ignore `\r' here.
  630.  
  631.     * parse.y (nextc): strip `\r' from text.
  632.  
  633.     * parse.y (nextc): support `__END__\r\n' type terminator.
  634.  
  635. Mon Sep 13 10:49:19 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  636.  
  637.     * eval.c (rb_eval): needless RTEST(ruby_verbose) removed.
  638.  
  639. Wed Sep  8 11:37:38 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  640.  
  641.     * time.c (make_time_t): bit more strict comparison.
  642.  
  643. Tue Sep  7 00:50:56 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  644.  
  645.     * range.c (range_each): use rb_str_upto() for strings.
  646.  
  647.     * string.c (rb_str_upto): set upper limit by comparing curr <= end.
  648.  
  649.     * range.c (range_each): should check equality to handle magic
  650.       increment.
  651.  
  652. Mon Sep  6 22:43:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  653.  
  654.     * eval.c (rb_eval): break/next/redo available within -n/-p loop.
  655.  
  656. Fri Sep  3 11:14:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  657.  
  658.     * compar.c (cmp_equal): should not raise exception; protect by
  659.       rb_rescue().
  660.  
  661. Thu Sep 2 05:23:05 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  662.  
  663.     * file.c (rb_file_s_expand_path): use dirsep, instead of character
  664.       literal '/'.
  665.  
  666.     * file.c (rb_file_s_expand_path): reduce multiple dirsep at the top.
  667.  
  668. Wed Sep  1 00:28:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  669.  
  670.     * eval.c (rb_call): call rb_undefined() if a method appears not to
  671.       be exist explicitly from cache.
  672.  
  673.     * eval.c (rb_method_boundp): check method cache before calling
  674.       rb_get_method_body().
  675.  
  676.     * eval.c (rb_get_method_body): store method non-existence
  677.       information in the cache.
  678.  
  679.     * random.c (rb_f_srand): use getpid(2) to generate seed.
  680.  
  681.     * regex.c (re_match): do not apply partial mbc match for
  682.       charset_not.
  683.  
  684.     * regex.c (re_compile_pattern): put extended literal prefix (0xff)
  685.       only before numeric literals, not before all >0x80 char.
  686.  
  687.     * regex.c (re_compile_pattern): put numeric literal in extended
  688.       charset region, not normal charset bits.
  689.  
  690.     * regex.c (re_compile_fastmap): calculate fastmap for charset and
  691.       charset_not to treat numeric literal (e.g. \246) specially.
  692.  
  693. Fri Aug 28 17:32:55 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  694.  
  695.     * eval.c (rb_eval): should set return value (nil) explicitly if a
  696.       value is ommited for return statement.
  697.  
  698. Thu Aug 26 15:06:11 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
  699.  
  700.     * gc.c (rb_gc): local variables may be placed beyond stack_end, so
  701.       use an address from alloca(1) on non C_ALLOCA platforms.
  702.  
  703. Thu Aug 26 01:24:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  704.  
  705.     * sprintf.c (rb_f_sprintf): "%%" is legal, but "%3.14%" is not.
  706.  
  707. Mon Aug 23 00:00:54 1999  Tsukada Takuya  <tsukada@fminn.nagano.nagano.jp>
  708.  
  709.     * regex.c (re_compile_fastmap): wrong macro caused memory leak.
  710.  
  711. Sat Aug 21 11:30:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  712.  
  713.     * eval.c (ADJ): should not adjust addresses to data on heap.
  714.  
  715. Fri Aug 20 20:50:58 1999  Kenji Nagasawa  <kenn@hma.att.ne.jp>
  716.  
  717.     * defines.h (PATH_SEP): path separator is ";" for OS/2.
  718.  
  719. Thu Aug 19 10:50:43 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  720.  
  721.     * gc.c (rb_gc): add volatile to avoid GCC optimaize bug(?).
  722.  
  723. Wed Aug 18 23:48:10 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  724.  
  725.     * due to disk trouble, some change records were lost.  several
  726.       modification made to eval.c, gc.c, io.c, pack.c,
  727.       ext/extmk.rb.in, and lib/mkmf.rb.
  728.  
  729. Fri Aug 13 15:41:39 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  730.  
  731.     * stable version 1.4.0 released.
  732.  
  733. Fri Aug 13 03:16:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  734.  
  735.     * io.c (argf_forward): since $stdout may be non-IO, ARGF.file is
  736.       not granteed to be IO.  check and forwarding added to every ARGF
  737.       method.
  738.  
  739.     * io.c (set_outfile): $stdout/$stderr may not be IO now.
  740.  
  741.     * io.c (set_stdin): $stdin may not be IO now.
  742.  
  743.     * range.c (rb_range_beg_len): round `end' to length as documented.
  744.  
  745.     * io.c (Init_IO): preserve original stdin/stdout/stderr.
  746.  
  747. Thu Aug 12 13:44:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  748.  
  749.     * eval.c (Init_load): require receives 1 argument.
  750.  
  751.     * eval.c (frame_dup): should clear tmp to avoid dangling
  752.       references.
  753.  
  754. Wed Aug 11 13:33:13 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  755.  
  756.     * eval.c (rb_eval): no automatic aggregate initialization.
  757.  
  758.     * eval.c (module_setup): ditto.
  759.  
  760. Wed Aug 11 18:18:41 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  761.  
  762.     * eval.c (yield_under_i): automatic aggregate initialization is an
  763.       ANSI feature.
  764.  
  765. Wed Aug 11 10:10:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  766.  
  767.     * parse.y (yylex): parse `[].length==0' as `([].length)==0', not
  768.       `([].length=)=0'
  769.  
  770.     * parse.y (yylex): parse `[].length!=0' as `([].length)!=0', not
  771.       `([].length!)=0'
  772.  
  773.     * parse.y (peek): peek-in lexical buffer.
  774.  
  775. Wed Aug 11 00:34:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  776.  
  777.     * regex.c (re_match): bug on backward jump adjustment concerning
  778.       stop_paren.
  779.  
  780. Tue Aug 10 14:54:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  781.  
  782.     * ext/nkf/nkf.c (rb_nkf_guess): binary detection was wrong.
  783.  
  784. Tue Aug 10 00:07:36 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  785.  
  786.     * io.c (rb_io_clone): should use CLONESETUP().
  787.  
  788. Mon Aug  9 23:57:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  789.  
  790.     * ruby.h (CLONESETUP): should have copied generic instance
  791.       variables too.
  792.  
  793. Mon Aug  9 10:46:54 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  794.  
  795.     * ext/socket/extconf.rb: add check for <arpa/nameser.h> and
  796.       <resolv.h>.
  797.  
  798. Sat Aug  7 13:19:06 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  799.  
  800.     * numeric.c (flo_cmp): comparing NaN should not return value.
  801.       raises FloatDomainError.
  802.  
  803. Sat Aug  7 03:09:08 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  804.  
  805.     * eval.c (blk_free): free copied frames too.
  806.  
  807.     * eval.c (frame_dup): should copy previous frames from stack to
  808.       heap to preserve frame information.
  809.  
  810. Fri Aug  6 15:01:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  811.  
  812.     * version 1.3.7 - version 1.4 beta
  813.  
  814.     * ext/socket/socket.c (s_recv): UDPsocket#recvfrom now returns
  815.       IPsocket#addr information.
  816.  
  817.     * array.c (rb_ary_subary): ary[-3,3] should not return nil.
  818.  
  819. Thu Aug  5 10:58:01 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  820.  
  821.     * eval.c (thread_mark): protect old ruby_frame from GC during it
  822.       replaced by eval().
  823.  
  824.     * eval.c (eval): do not modify frame.prev; binding should preserve
  825.       information about calling() too.
  826.  
  827.     * eval.c (rb_yield_0): no arity check for mere yield; but only for
  828.       Proc#call.
  829.  
  830. Tue Aug  3 22:07:13 1999  Kazuhiro HIWADA  <hiwada@kuee.kyoto-u.ac.jp>
  831.  
  832.     * object.c (rb_mod_clone): should check if iv_tbl, m_tbl are
  833.       initialized.
  834.  
  835. Tue Aug  3 19:03:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  836.  
  837.     * hash.c (rb_any_cmp): use rb_with_disable_interrupt() to ensure
  838.       clearance of rb_prohibit_interrupt even on failure.
  839.  
  840.     * eval.c (rb_with_disable_interrupt): new function added.
  841.  
  842. Sat Jul 31 23:23:44 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  843.  
  844.     * eval.c (rb_thread_create_0): set THREAD_RAISED flag on thread
  845.       termination by exception.
  846.  
  847.     * eval.c (rb_thread_join): `$!' may not be nil for the threads
  848.       created in rescue clause.
  849.  
  850.     * eval.c (rb_thread_status): ditto.
  851.  
  852.     * eval.c (rb_thread_join): should re-raise exception for already
  853.       dead threads too.
  854.  
  855. Fri Jul 30 17:56:54 1999  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
  856.  
  857.     * object.c (rb_mod_ge): wrong comparison.
  858.  
  859. Fri Jul 30 12:15:44 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  860.  
  861.     * ext/tcltklib/extconf.rb: win32 support.
  862.  
  863.     * lib/mkmf.rb: use append_library().
  864.  
  865.     * ext/extmk.rb.in: ditto.
  866.  
  867. Fri Jul 30 02:11:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  868.  
  869.     * array.c (rb_ary_delete): should return nil for deleting non
  870.       existing item.
  871.  
  872.     * io.c (rb_io_close): call rb_sys_wait() on explicit close.
  873.  
  874.     * io.c (rb_io_fptr_close): do not call rb_sys_wait() on finalize.
  875.  
  876.     * eval.c (yield_under_i): cbase context should be maintaind for
  877.       Module#module_eval().  suggested by <inaba@st.rim.or.jp>.
  878.  
  879. Wed Jul 28 01:18:28 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  880.  
  881.     * Makefile.in: add -I$(hdrdir)/lib to install using ftools.
  882.  
  883.     * util.c: use HAVE_FCNTL_H, not HAVE_FCNTL
  884.  
  885. Wed Jul 28 18:24:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  886.  
  887.     * version 1.3.6 - version 1.4 alpha
  888.  
  889. Tue Jul 27 09:38:08 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  890.  
  891.     * eval.c (rb_eval): reduce recursive rb_eval() calls by
  892.       NODE_BLOCKs. 
  893.  
  894. Tue Jul 27 01:20:40 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  895.  
  896.     * file.c (rb_file_s_expand_path): drive letter patch.
  897.  
  898. Mon Jul 26 02:36:31 1999  Shugo Maeda  <shugo@netlab.co.jp>
  899.  
  900.     * eval.c (rb_load): should clear ruby_nerr.
  901.  
  902.     * eval.c (rb_thread_join): oldbt should not be empty to unshift.
  903.  
  904. Sun Jul 25 12:09:16 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  905.  
  906.     * dir.c (push_braces): should treat nested braces.
  907.  
  908. Fri Jul 23 02:49:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  909.  
  910.     * hash.c (rb_hash_clear): dummy argument added; suggested by
  911.       <eguchi@shizuokanet.ne.jp>.  thanks.
  912.  
  913. Thu Jul 22 19:37:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  914.  
  915.     * eval.c (rb_thread_join): get_backtrace() may retrun Qnil.
  916.       typecheck added.
  917.  
  918. Tue Jul 20 14:36:43 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  919.  
  920.     * range.c (range_each): do not treat String specially (for future
  921.       override).
  922.  
  923. Tue Jul 20 02:28:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  924.  
  925.     * io.c (rb_gets): $_ should be nil, when get returns nil.
  926.  
  927.     * io.c (rb_f_gets): ditto.
  928.  
  929. Mon Jul 19 17:13:09 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  930.  
  931.     * regex.c (re_compile_fastmap): should continue fastmap compile
  932.       for anychar_repeat, for it's repeat anyway.
  933.  
  934. Mon Jul 26 13:33:45 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  935.  
  936.     * lib/jcode.rb: replaced by faster code.
  937.  
  938. Mon Jul 19 01:57:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  939.  
  940.     * lib/mkmf.rb: no longer use install program.
  941.  
  942.     * ext/extmk.rb.in: use miniruby to install programs.
  943.  
  944. Sat Jul 17 00:06:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  945.  
  946.     * ext/socket/socket.c (ipaddr): don't do reverse lookup if
  947.       attribute do_not_reverse_lookup is set for socket classes.
  948.       Experimental.  Note this is a global attribute.
  949.  
  950. Fri Jul 16 22:18:29 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  951.  
  952.     * io.c (rb_io_eof): use feof() to check EOF already met.
  953.  
  954.     * io.c (read_all): should return nil at EOF.
  955.  
  956. Fri Jul 16 13:39:42 1999  Wakou Aoyama  <wakou@fsinet.or.jp>
  957.  
  958.     * lib/telnet.rb: version 0.231.
  959.  
  960. Fri Jul 16 10:58:22 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  961.  
  962.     * regex.c (re_match): debug print removed.
  963.  
  964. Fri Jul 16 09:58:15 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  965.  
  966.     * many files: clean up unsed variables found by gcc -Wall.
  967.  
  968.     * lib/mkmf.rb: better cygwin support etc.
  969.  
  970.     * ext/extmk.rb.in: ditto.
  971.  
  972.     * instruby.rb: ditto.
  973.  
  974. Fri Jul 16 01:37:50 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  975.  
  976.     * string.c (rb_str_squeeze_bang): the type of local variable `c'
  977.       should be int, not char.
  978.  
  979.     * string.c (rb_str_reverse): should always return copy.
  980.  
  981. Thu Jul 15 23:25:57 1999  NAKAMURA Hiroshi  <nakahiro@sarion.co.jp>
  982.  
  983.     * lib/debug.rb: better display & frame treatment.
  984.  
  985. Thu Jul 15 21:16:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  986.  
  987.     * array.c (rb_ary_each): returns self for normal termination;
  988.       returns nil for break.
  989.  
  990.     * string.c: non bang methods (e.g. String#sub) should always
  991.       return copy of the receiver.
  992.  
  993. Thu Jul 15 21:09:15 1999  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
  994.  
  995.     * eval.c (find_file): do not add empty string to the path.
  996.  
  997.     * configure.in (with-search-path): should not add empty string if
  998.       the option is not supplied.
  999.  
  1000. Thu Jul 15 17:49:08 1999  Ryo HAYASAKA  <hayasaka@univ21.u-aizu.ac.jp>
  1001.  
  1002.     * ext/tcltklib/tcltklib.c: move `#include "ruby.h"' forward.
  1003.  
  1004. Thu Jul 15 16:54:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1005.  
  1006.     * version 1.3.5 - version 1.4 alpha
  1007.  
  1008. Wed Jul 14 23:45:33 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1009.  
  1010.     * eval.c (ruby_init): initialize for the first time only.
  1011.  
  1012. Tue Jul 13 00:15:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1013.  
  1014.     * hash.c (rb_hash_index): re-defined; method to retrieve a key
  1015.       from the value.
  1016.  
  1017.     * hash.c (Init_Hash): member? should be re-defined for Hash.
  1018.  
  1019. Tue Jul 12 13:54:51 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  1020.  
  1021.     * io.c (rb_file_sysopen): wrong number of argument.
  1022.  
  1023. Mon Jul 12 11:52:35 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1024.  
  1025.     * eval.c (rb_f_missing): class name included in message.
  1026.  
  1027.     * eval.c (print_undef): better error message.
  1028.  
  1029. Sun Jul 11 05:36:17 1999  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
  1030.  
  1031.     * lib/debug.rb: patch to show proper position.
  1032.  
  1033. Fri Jul  9 23:56:14 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  1034.  
  1035.     * dln.c (dln_find_1): path conv. moved to conv_to_posix_path.
  1036.  
  1037.     * dln.c (conv_to_posix_path): path conv. should be done.
  1038.  
  1039. Fri Jul  9 10:26:47 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1040.  
  1041.     * random.c (RANDOM_NUMBER): should place parentheses.
  1042.  
  1043. Fri Jul  8 11:00:51 1999  Shugo Maeda  <shugo@netlab.co.jp>
  1044.  
  1045.     * numeric.c (fix_div): division may be out of fixnum range.
  1046.  
  1047.     * bignum.c (bigdivmod): proper sign calculation to result.
  1048.  
  1049. Wed Jul  7 18:27:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1050.  
  1051.     * st.c (st_delete_safe): was modifying wrong slot.
  1052.  
  1053. Mon Jul  5 13:17:46 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1054.  
  1055.     * gc.c (rb_gc_call_finalizer_at_exit): close all files at exit.
  1056.  
  1057. Fri Jul  2 18:00:21 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
  1058.  
  1059.     * lib/Mail/README: Mail-0.3.0 added to the distribution.
  1060.  
  1061. Fri Jul  2 01:45:32 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1062.  
  1063.     * regex.c (re_compile_fastmap): avoid allocation of register
  1064.       variables for each invocation of re_match().  Suggested by
  1065.       Zasukhin Ruslan <ruslan@paradigmasoft.com>.  Thanks.
  1066.  
  1067. Tue Jun 29 20:39:24 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1068.  
  1069.     * ext/tk/lib/tk.rb (TkVariable): bug fix; should value type check
  1070.       be added?
  1071.  
  1072.     * string.c (rb_str_each_line): a bug in paragraph mode.
  1073.  
  1074.     * ruby.c (load_file): shifted too much to skip #!.
  1075.  
  1076. Tue Jun 29 06:50:21 1999  Wakou Aoyama  <wakou@fsinet.or.jp>
  1077.  
  1078.     * lib/CGI.rb: 0.30 - cleanup release, incompatible.
  1079.  
  1080.     * lib/telnet.rb: 0.22 - timeout added.
  1081.  
  1082. Tue Jun 29 10:49:25 1999  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
  1083.  
  1084.     * configure.in: better Rhapsody support.
  1085.  
  1086.     * lib/mkmf.rb: Rhapsody/NEXTSTEP support.
  1087.  
  1088. Tue Jun 29 01:42:13 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1089.  
  1090.     * ext/pty/pty.c (chld_changed): should use POSIX.1 style wait.
  1091.  
  1092. Mon Jun 28 21:07:36 1999  KIMURA Koichi  <kbk@kt.rim.or.jp>
  1093.  
  1094.     * ext/extmk.rb.nt: wrong result for have_library().
  1095.  
  1096. Mon Jun 28 15:24:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1097.  
  1098.     * missing/isinf.c: OSF/1 raises SIGFPE on one()/zero().
  1099.  
  1100.     * regex.c (re_search): should search til EOS, for patterns may
  1101.       match beyond the end of range.
  1102.  
  1103. Mon Jun 28 12:49:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1104.  
  1105.     * io.c (rb_f_select): should not accept Time objects as an
  1106.       argument for it is time interval.
  1107.  
  1108.     * process.c (rb_f_sleep): ditto.
  1109.  
  1110.     * file.c (test_s): should return nil for false condition.
  1111.  
  1112. Mon Jun 28 12:23:52 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1113.  
  1114.     * bignum.c (rb_dbl2big): typo.
  1115.  
  1116.     * file.c (rb_f_test): ditto.
  1117.  
  1118.     * string.c (rb_str_crypt): wrong message.
  1119.  
  1120. Sun Jun 27 19:50:11 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  1121.  
  1122.     * eval.c (rb_f_exit): should have treat signed integer status, not
  1123.       VALUE.
  1124.  
  1125.     * process.c (rb_f_exit_bang): should work like exit().
  1126.  
  1127. Sun Jun 27 16:21:32 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  1128.  
  1129.     * string.c (rb_str_rindex): wrong position to search.
  1130.  
  1131. Sat Jun 26 04:05:30 1999  Takaaki Tateishi  <ttate@jaist.ac.jp>
  1132.  
  1133.     * configure.in (configure_args): --with-search-path to specify
  1134.       additional ruby search path.
  1135.  
  1136.     * ruby.c (ruby_prog_init): additional search path.
  1137.  
  1138. Fri Jun 25 13:09:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1139.  
  1140.     * pack.c (pack_unpack): needed to initialize natint.
  1141.  
  1142.     * regex.c (re_compile_pattern): add start_paren to avoid too much
  1143.       finalization on maybe_finalize_jump.
  1144.  
  1145. Fri Jun 25 13:07:20 1999  Koji Oda  <oda@bsd1.qnes.nec.co.jp>
  1146.  
  1147.     * missing/isinf.c: include "config.h" added.
  1148.  
  1149. Fri Jun 25 07:25:05 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1150.  
  1151.     * lib/mkmf.rb: initialize $(topdir).
  1152.  
  1153.     * ext/extmk.rb.in (install_rb): install lib/*.rb properly.
  1154.  
  1155.     * configure.in (linux): specifies -rpath on --enable-shared.
  1156.  
  1157.     * configure.in (aix): ruby.imp must reside in $(topdir).
  1158.  
  1159. Thu Jun 24 19:11:29 1999  Yoshida Masato  <yoshidam@yoshidam.net>
  1160.  
  1161.     * parse.y (rb_str_extend): multi-byte identifier in expression
  1162.       interpolation in strings.
  1163.  
  1164.     * parse.y (yylex): support multi-byte char identifiers.
  1165.  
  1166. Thu Jun 24 15:27:13 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1167.  
  1168.     * parse.y (f_arg): check duplicate argument names.
  1169.  
  1170.     * gc.c (rb_gc_mark): marking wrong member for NODE_ARGS.
  1171.  
  1172.     * string.c (rb_str_rindex): POSITION specifies start point, not
  1173.       end point.
  1174.  
  1175. Thu Jun 24 13:00:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1176.  
  1177.     * regex.c (print_mbc): wrong boundary.
  1178.  
  1179.     * pack.c (uv_to_utf8): raises ArgError for too big value.
  1180.  
  1181. Thu Jun 24 11:02:51 1999  Yoshida Masato  <yoshidam@yoshidam.net>
  1182.  
  1183.     * pack.c (uv_to_utf8): mask needed.
  1184.  
  1185. Wed Jun 23 21:03:56 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  1186.  
  1187.     * ruby.h (struct RFile): remove iv_tbl from struct. instance
  1188.       variables are handled as generic ivs.
  1189.  
  1190. Wed Jun 23 22:06:26 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  1191.  
  1192.     * pack.c (utf8_to_uv): pack to 7 bytes sequence.
  1193.  
  1194.     * pack.c (uv_to_utf8): wrong boundary.
  1195.  
  1196.     * pack.c (pack_unpack): should treat as unsigned long.
  1197.  
  1198. Wed Jun 23 15:10:11 1999  Inaba Hiroto  <inaba@sdd.tokyo-sc.toshiba.co.jp>
  1199.  
  1200.     * parse.y (parse_string): failed to parse nested braces.
  1201.  
  1202.     * parse.y (parse_regx): nested braces within #{} available.
  1203.  
  1204. Wed Jun 23 11:18:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1205.  
  1206.     * regex.c (slow_search): wrong shift width for mbcs.
  1207.  
  1208.     * eval.c (rb_thread_save_context): should not clear th->locals.
  1209.  
  1210. Wed Jun 23 02:06:14 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1211.  
  1212.     * parse.y (yylex): UMINUS binds too tight with digits. changed so
  1213.       that -2**2 => -4.
  1214.  
  1215.     * parse.y (close_paren): `do' for expr termination now works it
  1216.       used to be.
  1217.  
  1218. Wed Jun 22 18:26:42 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1219.  
  1220.     * pack.c (pack_pack): should initialize local variable `j'.
  1221.  
  1222. Wed Jun 22 15:24:59 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1223.  
  1224.     * parse.y (here_document): a bug for multiline heredoc.
  1225.  
  1226. Tue Jun 22 15:06:36 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1227.  
  1228.     * ext/socket/socket.c (ruby_socket): forgot to return fd
  1229.       explicitly.
  1230.  
  1231. Tue Jun 22 13:34:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1232.  
  1233.     * rubyio.h (MakeOpenFile): should initialize member `iv_tbl'.
  1234.  
  1235. Wed Jun 22 10:35:51 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1236.  
  1237.     * io.c (rb_io_gets_internal): getc(3) may not set errno on
  1238.       interrupt.
  1239.  
  1240. Mon Jun 21 22:39:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1241.  
  1242.     * eval.c (call_required_libraries): ruby_sourceline should be
  1243.       cleared before loading libraries.
  1244.  
  1245.     * io.c (set_stdin): do not use reopen(), so that we don't need to
  1246.       dup original stdin before assigning $stdin.
  1247.  
  1248. Mon Jun 21 18:04:27 1999  Ryo HAYASAKA  <hayasaka@univ21.u-aizu.ac.jp>
  1249.  
  1250.     * ext/dbm/dbm.c: include <cdefs.h> for solaris 2.6.
  1251.  
  1252. Mon Jun 21 15:59:47 1999  Nobuyoshi Nakada  <nobu.nokada@softhome.net>
  1253.  
  1254.     * ext/socket/socket.c (ip_addrsetup): forgot to put `else'.
  1255.  
  1256. Mon Jun 21 15:38:37 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1257.  
  1258.     * io.c (fptr_finalize): remove rb_syswait() invocation to avoid
  1259.       wait4(2) within GC.  rb_syswait() moved to rb_io_fptr_close().
  1260.  
  1261. Mon Jun 21 12:05:59 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  1262.  
  1263.     * dir.c (dir_s_glob): remove MAXPATHLEN restriction.
  1264.  
  1265.     * ext/md5/md5init.c (md5_hexdigest): should have used "%02x".
  1266.  
  1267. Sun Jun 20 19:50:38 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
  1268.  
  1269.     * string.c (rb_str_each_line): should have checked string
  1270.       boundary.
  1271.  
  1272. Sat Jun 19 22:24:12 1999  Kenji Nagasawa  <kenn@hma.att.ne.jp>
  1273.  
  1274.     * OS/2 patch improved.
  1275.  
  1276. Fri Jun 18 08:30:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1277.  
  1278.     * marshal.c (r_byte): add data length check.
  1279.  
  1280.     * ext/tcltklib/tcltklib.c (_timer_for_tcl): was doing busy-wait.
  1281.  
  1282. Tue Jun 15 10:01:21 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1283.  
  1284.     * configure.in: remove trailing slash from interpreter embedded
  1285.       shared library path.
  1286.  
  1287.     * configure.in (INSTALL_DLLIB): install shared lib with 0555.
  1288.  
  1289.     * instruby.rb: changed mode for shared library into 0555.
  1290.  
  1291. Fri Jun 11 23:27:00 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  1292.  
  1293.     * ext/etc/etc.c (etc_passwd): should return nil, not exception for
  1294.       call after last passwd entry.
  1295.  
  1296. Fri Jun 11 15:21:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1297.  
  1298.     * gc.c (rb_gc_mark_locations): add safty margin 1.
  1299.  
  1300.     * eval.c (ruby_run): should protect toplevel node tree.
  1301.  
  1302.     * ext/etc/etc.c (etc_group): dumps core if there's no more group.
  1303.  
  1304. Fri Jun 11 01:50:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1305.  
  1306.     * eval.c (ruby_run): Init_stack() was called too late; local
  1307.       variables happend to be higher (or lower) than stack_start.
  1308.  
  1309. Thu Jun 10 16:41:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1310.  
  1311.     * io.c: do not call `initialize' for IO objects.  So with Array,
  1312.       Hash, Range, and Time objects.
  1313.     
  1314.     * ext/curses/curses.c (curses_getch): made thread aware using
  1315.       rb_read_check().
  1316.  
  1317.     * ext/curses/curses.c (window_getch): ditto.
  1318.  
  1319.     * ext/curses/curses.c (curses_getstr): made (partially) thread
  1320.       aware using rb_read_check().
  1321.  
  1322.     * ext/curses/curses.c (window_getstr): ditto.
  1323.  
  1324.     * io.c (rb_read_check): new function to help making something
  1325.       (like extension libraries) thread aware.
  1326.  
  1327.     * eval.c (is_defined): `defined? super' should be true even for
  1328.       private superclass methods.
  1329.  
  1330. Fri Jun 10 13:42:10 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1331.  
  1332.     * pack.c (pack_pack): template `Z' should be allowed.
  1333.  
  1334. Wed Jun  9 13:26:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1335.  
  1336.     * eval.c (rb_thread_loading): modified to avoid nested race
  1337.       condition of require().
  1338.  
  1339.     * ext/tcltklib/tcltklib.c (ip_invoke): queue invocation on non
  1340.       main threads.
  1341.  
  1342.     * ext/tcltklib/tcltklib.c (lib_mainloop): flush invocation
  1343.       queues periodically.
  1344.  
  1345.     * version.c (ruby_show_version): now print the message to stdout.
  1346.  
  1347.     * version.c (ruby_show_copyright): ditto.
  1348.  
  1349. Tue Jun  8 00:00:34 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1350.  
  1351.     * pack.c (pack_unpack): append sentinel (NUL) to the string.
  1352.  
  1353.     * ext/md5/md5init.c (md5_hexdigest): new method to obtain
  1354.       printable hash string.
  1355.  
  1356.     * ext/md5/md5init.c (md5_update): should return self.
  1357.  
  1358.     * pack.c (pack_pack): undocumented template 'U' for UTF8.
  1359.  
  1360.     * pack.c (pack_unpack): ditto.
  1361.  
  1362.     * marshal.c (r_byte): should replace getc() with rb_getc().
  1363.  
  1364.     * io.c (rb_getc): getc() replacement uses READ_DATA_PENDING() and
  1365.       rb_thread_wait_fd().
  1366.  
  1367. Mon Jun  7 23:23:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1368.  
  1369.     * object.c (rb_mod_clone): should call CLOSESETUP().
  1370.  
  1371.     * eval.c (bind_clone): should call CLONESETUP() for new clone.
  1372.  
  1373. Sat Jun  5 10:32:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1374.  
  1375.     * string.c (rb_str_oct): binary (e.g. 0b10111) support.
  1376.  
  1377.     * variable.c (rb_const_set): raise warning, not exception.
  1378.  
  1379.     * parse.y (yycompile): initialize parser internal variables.
  1380.  
  1381.     * parse.y (close_paren): set lex_state to EXPR_PAREN after closing
  1382.       parenthesis.
  1383.  
  1384.     * parse.y (yylex): returns kDO for `do' right after method_call.
  1385.  
  1386. Thu Jun  3 11:05:30 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1387.  
  1388.     * regex.c (read_backslash): should decode \b within class.
  1389.  
  1390. Thu Jun  3 01:06:18 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1391.  
  1392.     * dln.c (dln_load): AIX improvement (aix_findmain removed).
  1393.  
  1394. Wed Jun  2 00:41:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1395.  
  1396.     * pack.c (pack_unpack): new undocumented template Z which strips
  1397.       stuff after first null.
  1398.  
  1399.     * pack.c (pack_pack): should preserve specified length of the
  1400.       resulting string.
  1401.  
  1402. Tue Jun  1 15:29:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1403.  
  1404.     * ext/socket/socket.c (ruby_socket): retry after GC, if socket(2)
  1405.       failed on EMFILE or ENFILE.
  1406.  
  1407.     * ext/socket/socket.c (sock_s_socketpair): ditto.
  1408.  
  1409.     * eval.c (module_setup): need to add PUSH_VAR/POP_VAR to clear
  1410.       dyna vars link list.
  1411.  
  1412.     * version.h (RUBY_RELEASE_CODE): integer macro contant for source
  1413.       version detection.
  1414.  
  1415. Sun May 30 22:19:12 1999  Kenji Nagasawa  <kenn@tcp-ip.or.jp>
  1416.  
  1417.     * ext/socket/socket.c: emx/gcc 0.9d now fixes things about
  1418.       AF_UNIX.
  1419.  
  1420.     * process.c: OS/2 EMX kludge.
  1421.  
  1422.     * Makefile.in (strncasecmp.o): added dependency.
  1423.  
  1424. Mon May 31 16:06:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1425.  
  1426.     * version 1.3.4 - preliminary release for 1.4
  1427.  
  1428. Mon May 31 15:57:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1429.  
  1430.     * io.c (rb_io_fptr_close): close on IO which main_thread is
  1431.       waiting cause serious exception, that vanishes the actual fd
  1432.       closing.  Invocation of rb_thread_fd_close() is deferred
  1433.       a little.
  1434.  
  1435. Sat May 29 18:27:13 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1436.  
  1437.     * regex.c (re_match): stack boundary check needed.
  1438.  
  1439. Sat May 29 12:27:00 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1440.  
  1441.     * ext/tcltklib/tcltklib.c (ip_invoke): proper ref count management
  1442.       to avoid leak.  I HATE REF COUNTING!!
  1443.  
  1444.     * eval.c (ruby_run): moved ruby_require_libraries() to handle `-r'
  1445.       from ruby_options() to avoid stack corruption for threads
  1446.       created in libraries.
  1447.  
  1448. Sat May 29 02:22:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1449.  
  1450.     * eval.c (rb_yield_0): when `for' appeared in blocks, it
  1451.       introduced new scope for local variables.
  1452.  
  1453. Fri May 28 17:16:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1454.  
  1455.     * string.c (rb_str_squeeze_bang): squeeze AND of the arguments.
  1456.       UNDOCUMENTED.
  1457.  
  1458.     * string.c (rb_str_count): new UNDOCUMENTED method.
  1459.  
  1460.     * string.c (rb_str_delete_bang): delete AND of the arg ranges.
  1461.       UNDOCUMENTED FEATURE for 1.3.x.
  1462.  
  1463.     * ext/socket/socket.c (setipaddr): re-wrote using ip_addrsetup().
  1464.  
  1465.     * ext/sockt/socket.c (ip_addrsetup): decode symbolic address
  1466.       <broadcast>.
  1467.  
  1468. Thu May 27 12:27:42 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1469.  
  1470.     * string.c (tr_trans): should handle NUL (\0) within strings.
  1471.  
  1472. Tue May 25 16:45:11 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1473.  
  1474.     * io.c (rb_f_syscall): syscall may return values other than zero
  1475.       on success.
  1476.  
  1477.     * regex.c (re_match): handle empty loop properly (hopefully).
  1478.  
  1479.     * regex.c (re_match): remove empty group check, because it does
  1480.       not help non-grouping parentheses (?:..).
  1481.  
  1482.     * regex.c (re_compile_fastmap): treating try_next, finalize_push
  1483.       wrong way.
  1484.  
  1485.     * regex.c: remove some obsolete functions such as
  1486.       group_match_null_string_p().
  1487.  
  1488. Mon May 24 14:47:54 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1489.  
  1490.     * regex.c (read_backslash): read backslash by regex.
  1491.  
  1492. Sun May 23 19:44:58 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  1493.  
  1494.     * ext/pty/pty.c (getDevice): portability patch.
  1495.  
  1496. Fri May 21 23:01:26 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1497.  
  1498.     * ext/socket/getaddrinfo.c (GET_AI): should set error code.
  1499.  
  1500. Thu May 20 03:43:44 1999  Jun-ichiro itojun Hagino  <itojun@itojun.org>
  1501.  
  1502.     * ext/socket/socket.c: you should use sockaddr_storage to handle
  1503.       IPv6 addresses.
  1504.  
  1505.     * ext/socket/getaddrinfo.c (getaddrinfo): prevent retrieving
  1506.       AF_INET6 address if hints.ai_flags == AI_PASSIVE.
  1507.  
  1508. Wed May 19 12:27:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1509.  
  1510.     * eval.c (exec_end_proc): should protect exceptions.
  1511.  
  1512.     * gc.c (run_final): ditto.
  1513.  
  1514.     * parse.y (f_rest_arg): allow just * for rest arg.
  1515.  
  1516.     * parse.y (mlhs_basic): allow * without formal argument.
  1517.  
  1518.     * regex.c (re_match): the variable `part' should be initialized.
  1519.  
  1520. Tue May 18 15:25:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1521.  
  1522.     * regex.c (re_search): a bug in range adjustment.
  1523.  
  1524. Tue May 18 11:35:59 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1525.  
  1526.     * dln.c (conv_to_posix_path): path_len argument added.
  1527.  
  1528. Mon May 17 12:26:31 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1529.  
  1530.     * numeric.c (fix_rev): should treat Fixnum as signed long.
  1531.  
  1532.     * eval.c (massign): add strict number check for yield (and call).
  1533.  
  1534.     * eval.c (proc_arity): new method to return number of arguments.
  1535.  
  1536.     * eval.c (method_arity): new method to return number of arguments.
  1537.  
  1538.     * parse.y (read_escape): char may be unsigned.
  1539.  
  1540.     * string.c (rb_str_succ): ditto.
  1541.  
  1542.     * string.c (tr_trans): ditto.
  1543.  
  1544.     * object.c (Init_Object): methods `&', `|', `^' are added to nil.
  1545.  
  1546.     * range.c (rb_range_beg_len): it should be OK for [0..-len-1].
  1547.  
  1548.     * regex.c (re_search): search for byte literal within mbcs.
  1549.  
  1550.     * regex.c (is_in_list): parsh
  1551.  
  1552.     * regex.c (re_compile_fastmap): should have not alter the loop
  1553.       variable `j' if TRASLATE_P().
  1554.  
  1555.     * regex.c (re_compile_pattern): escaped characters should be read
  1556.       by PATFETCH_RAW(c).
  1557.  
  1558. Sat May 15 11:23:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1559.  
  1560.     * regex.c (re_match): endline2 (\Z) should not match at the point
  1561.       between a newline and end-of-line, like endline ($).
  1562.  
  1563.     * class.c (include_class_new): should initialize iv_tbl to share
  1564.       between module and iclass.
  1565.  
  1566. Fri May 14 08:50:27 1999  Akira Endo  <akendo@t3.rim.or.jp>
  1567.  
  1568.     * regex.c (re_compile_fastmap): it should be k != 0 to skip.
  1569.  
  1570. Fri May 14 12:46:56 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1571.  
  1572.     * time.c (time_load): a bug in old marshal format support.
  1573.  
  1574.     * instruby.rb: make site_ruby directory.
  1575.  
  1576. Fri May 14 10:18:02 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  1577.  
  1578.     * regex.c (re_match): a bug in inline `.*' etc.
  1579.  
  1580. Fri May 14 09:58:46 1999  Minero Aoki  <aamine@dp.u-netsurf.ne.jp>
  1581.  
  1582.     * ruby.c (addpath): should have specified string length.
  1583.  
  1584. Thu May 13 10:40:44 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1585.  
  1586.     * eval.c (rb_eval_string_wrap): new function.
  1587.  
  1588.     * regex.c (re_compile_pattern): POSIX line match should alter
  1589.       behavior for `^' and `$' to begbuf and endbuf2 respectively.
  1590.  
  1591.     * ext/pty/pty.c: un-ANSI-fy function arguments.
  1592.  
  1593. Wed May 12 14:19:38 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1594.  
  1595.     * struct.c (iv_get): in case of inheritance of generated struct
  1596.       class, __member__ and __size__ should also be inherited.
  1597.       Thanks for Pros Yeboah <yeboah@tu-harburg.de>.
  1598.  
  1599.     * io.c (rb_f_gets_internal): should check number of arguments
  1600.       before checking rb_rs == rb_default_rs.  Thanks for Koji Arai
  1601.       <JCA02266@nifty.ne.jp>.
  1602.  
  1603. Tue May 11 08:29:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1604.  
  1605.     * regex.c (re_compile_pattern): .?, .+ did not work.
  1606.  
  1607. Mon May 10 00:59:33 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1608.  
  1609.     * lib/jcode.rb: forgot to squeeze on reverse (complement) case.
  1610.  
  1611.     * string.c (tr_squeeze): should not set modify flag to be honest,
  1612.       if the string is not modified.
  1613.  
  1614.     * signal.c (Init_signal): SIGTERM should not be handled.
  1615.  
  1616.     * regex.c (re_match): seeking for longest match is now optional,
  1617.       which can be set using RE_OPTION_POSIXMATCH.  This satisfies
  1618.       POSIX longest match as much as Emacs's posix-* functions, which
  1619.       are known to be incomplete.
  1620.  
  1621. Sun May  9 13:04:01 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1622.  
  1623.     * ext/socket/socket.c (sock_s_getaddrinfo): conversion from
  1624.       Fixnums to C integers needed.
  1625.  
  1626. Sun May  9 11:51:43 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1627.  
  1628.     * range.c (range_eqq): reverse condition.
  1629.  
  1630.     * range.c (range_s_new): default should be end inclusive.
  1631.  
  1632. Sat May  8 03:27:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1633.  
  1634.     * ext/socket/socket.c (thread_connect): replace nasty
  1635.       rb_thread_fd_writable() with rb_thread_select().
  1636.  
  1637. Fri May  7 20:49:00 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1638.  
  1639.     * ext/socket/getaddrinfo.c (inet_pton): wrong parameter to
  1640.       inet_aton().
  1641.  
  1642.     * ext/socket/addrinfo.h (__P): silly cut and paste typo.
  1643.  
  1644. Fri May  7 17:03:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1645.  
  1646.     * dir.c (glob): removed GPL'ed glob.c completely.
  1647.  
  1648. Fri May  7 08:17:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1649.  
  1650.     * ext/sdbm/extconf.rb: sdbm extension added to the distribution.
  1651.  
  1652. Fri May  7 01:42:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1653.  
  1654.     * ext/socket/socket.c (tcp_s_gethostbyname): aboid using struct
  1655.       sockaddr_storage.
  1656.  
  1657. Thu May  6 13:21:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1658.  
  1659.     * array.c (rb_ary_indexes): should not use rb_ary_concat().
  1660.  
  1661. Thu May  4 12:34:18 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1662.  
  1663.     * parse.y (parse_string): there shuould be newline escape by
  1664.       backslashes in strings.
  1665.  
  1666.     * parse.y (parse_qstring): ditto.
  1667.  
  1668. Mon May  3 04:37:20 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1669.  
  1670.     * ext/tcltklib/extconf.rb: better search for libX11.
  1671.  
  1672.     * range.c (range_s_new): embarrassing =/== typo.
  1673.  
  1674.     * re.c (Init_Regexp): failed to set default kcode.
  1675.  
  1676. Mon May  3 02:39:55 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  1677.  
  1678.     * ext/socket/socket.c (open_inet): typo (res and res0).
  1679.  
  1680. Tue May  4 02:07:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1681.  
  1682.     * mkconfig.rb: leave undefined $(VARIABLE) unexpanded in the
  1683.       Config::CONFIG hash table.
  1684.  
  1685. Mon May  3 09:37:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1686.  
  1687.     * regex.c (re_compile_pattern): expand exactn{n} at compile time.
  1688.       handles stop_paren specially.
  1689.  
  1690.     * regex.c (re_compile_pattern): expand x{n} at compile time.
  1691.  
  1692.     * regex.c (re_search): posix line match should be checked.
  1693.  
  1694.     * regex.c (re_search): a bug in anchor condition.
  1695.  
  1696. Fri Apr 30 18:57:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1697.  
  1698.     * version 1.3.3
  1699.  
  1700.     * string.c (rb_str_rindex): position should be END point, not
  1701.       START point.
  1702.  
  1703.     * re.c (rb_reg_search): pos means end point on reverse now.
  1704.  
  1705.     * array.c (rb_ary_s_create): should clear ary->ptr to avoid
  1706.       potential gc crash.
  1707.  
  1708. Fri Apr 30 15:24:58 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1709.  
  1710.     * ext/socket/addrinfo.h: compatibility hack for ipv4.
  1711.  
  1712.     * ext/socket/socket.c: itojun's ipv6 patches applied.
  1713.  
  1714.     * ext/socket/extconf.rb: detect ipv6 features based on itojun's
  1715.       ipv6 patches.
  1716.  
  1717.     * ext/extmk.rb.in (enable_config): can handle --enable-xxx now.
  1718.  
  1719.     * lib/mkmf.rb (enable_config): ditto.
  1720.  
  1721. Fri Apr 30 05:22:23 1999  Shugo Maeda  <shugo@netlab.co.jp>
  1722.  
  1723.     * string.c (rb_str_aset): last index should not append.
  1724.  
  1725. Thu Apr 29 18:55:31 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  1726.  
  1727.     * dln.c (conv_to_posix_path): remove const from args.
  1728.  
  1729.     * ruby.c (rubylib_mangle): remove Fatal(), the obsolete function.
  1730.  
  1731. Tue Apr 27 14:11:45 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1732.  
  1733.     * parse.y (fname): lazy workaround for keywords did not work well.
  1734.  
  1735.     * ext/extmk.rb.in: `--with-xxx=yyy' argument configuration.
  1736.  
  1737.     * lib/mkmf.rb: ditto.
  1738.  
  1739.     * misc/ruby-mode.el: forgot to handle $`.
  1740.  
  1741.     * ext/extmk.rb.in: better AIX link support proposed by
  1742.       <komatsu@sarion.co.jp>.
  1743.  
  1744. Mon Apr 26 16:46:59 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1745.  
  1746.     * ext/extmk.rb.in: AIX shared library support modified.
  1747.  
  1748.     * ext/aix_mksym.rb: ditto.
  1749.  
  1750.     * configure.in: ditto.
  1751.  
  1752.     * sprintf.c (rb_f_sprintf): should allocate proper sized buffer
  1753.       for float numbers.
  1754.  
  1755. Sat Apr 24 00:00:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1756.  
  1757.     * parse.y (operation): syntax like `a.[]=(1,2)' is allowed.
  1758.  
  1759. Fri Apr 23 23:54:09 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1760.  
  1761.     * io.c (argf_binmode): binmode method added to ARGF.
  1762.  
  1763. Fri Apr 23 13:55:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1764.  
  1765.     * string.c (rb_f_chomp): should assign the result to $_.  or maybe
  1766.       sub/gsub/chop/chomp should NOT assign $_ altogether.
  1767.  
  1768. Thu Apr 22 16:50:54 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1769.  
  1770.     * eval.c (rb_callcc): call scope_dup() for all scopes in
  1771.       the interpreter stack.
  1772.  
  1773. Tue Apr 20 11:24:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1774.  
  1775.     * string.c (rb_str_dump): `#' should be escaped.
  1776.  
  1777. Tue Apr 20 02:32:42 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1778.  
  1779.     * parse.y (parse_regx): option /p for posix match added.
  1780.  
  1781.     * re.c (rb_reg_desc): did not print options properly.
  1782.  
  1783.     * io.c (rb_file_s_open): intialize was called twice.
  1784.  
  1785. Mon Apr 19 18:56:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1786.  
  1787.     * configure.in (DEFAULT_KCODE): can specify default code for
  1788.       $KCODE by --with-default-kcode=(euc|sjis|utf8|none).
  1789.  
  1790.     * regex.c (IS_A_LETTER): a byte sequence shorter than mbc should
  1791.       not match with \w etc.
  1792.  
  1793. Mon Apr 19 13:49:11 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1794.  
  1795.     * eval.c (eval): should restore ruby_dyna_vars.
  1796.  
  1797. Fri Apr 16 21:40:43 1999  Nobuyoshi Nakada  <gea02117@nifty.ne.jp>
  1798.  
  1799.     * io.c (f_backquote): pipe_open may return nil.
  1800.  
  1801.     * io.c (f_open): rb_io_open may return nil.
  1802.  
  1803.     * io.c (io_s_foreach): ditto.
  1804.  
  1805.     * io.c (io_s_readlines): ditto.
  1806.  
  1807.     * io.c (io_defset): wrong message.
  1808.  
  1809. Fri Apr 16 15:09:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1810.  
  1811.     * bignum.c (rb_str2inum): strtoul() returns long, not int.
  1812.  
  1813.     * eval.c (rb_load): size of VALUE and ID may be different.
  1814.  
  1815.     * util.c (mmprepare): int is too small to cast from pointers.
  1816.  
  1817.     * config.guess: avoid 'linux-gnu' for alpha-unknown-linux.
  1818.  
  1819. Thu Apr 15 23:46:20 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1820.  
  1821.     * ruby.c (rubylib_mangle): mangle path by RUBYLIB_PREFIX.
  1822.  
  1823. Wed Apr 14 23:52:51 1999  SHIROYAMA Takayuki  <psi@fortune.nest.or.jp>
  1824.  
  1825.     * node.h (NODE_LMASK): should be long to avoid overflow.
  1826.  
  1827. Wed Apr 14 13:14:35 1999  Katsuyuki Komatsu  <komatsu@sarion.co.jp>
  1828.  
  1829.     * dln.c: AIX dynamic link.
  1830.  
  1831.     * ext/aix_ld.rb: ditto.
  1832.  
  1833. Wed Apr 14 12:19:09 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1834.  
  1835.     * lib/thread.rb: Queue#{enq,deq} added.
  1836.  
  1837. Tue Apr 13 17:43:56 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1838.  
  1839.     * hash.c (rb_hash_s_create): Hash::[] acts more like casting.
  1840.  
  1841. Tue Apr 13 00:33:52 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1842.  
  1843.     * io.c (rb_io_stdio_set): warning for assignment to the variables
  1844.       $std{in,out,err}.
  1845.  
  1846. Mon Apr 12 23:12:32 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1847.  
  1848.     * io.c (rb_io_reopen): check for reopening same IO.
  1849.  
  1850. Fri Apr  9 17:45:11 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1851.  
  1852.     * parse.y (rb_compile_string): bug for nested eval().
  1853.  
  1854.     * regex.c (re_match): should pop non-greedy stack items on
  1855.       failure, after best_regs are fixed.
  1856.  
  1857. Thu Apr  8 17:30:40 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1858.  
  1859.     * pack.c (PACK_LENGTH_ADJUST): need to adjust for `*' length.
  1860.  
  1861. Tue Apr  6 23:28:44 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1862.  
  1863.     * parse.y (void_check): add void context checks.
  1864.  
  1865. Mon Apr  5 12:23:42 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1866.  
  1867.     * time.c (time_s_at): should copy gmt-mode.
  1868.  
  1869.     * eval.c (eval_node): preserve ruby_eval_tree.
  1870.  
  1871. Fri Apr  2 14:00:34 1999  NAKAMURA, Hiroshi  <nakahiro@sarion.co.jp>
  1872.  
  1873.     * lib/debug.rb: wrong command interpreting.
  1874.  
  1875. Fri Apr  2 11:46:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1876.  
  1877.     * version 1.3.2
  1878.  
  1879. Fri Apr  2 10:40:04 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1880.  
  1881.     * io.c (rb_io_s_pipe): forgot to define IO::pipe.
  1882.  
  1883. Thu Apr  1 14:40:46 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1884.  
  1885.     * eval.c (assign): modified for rhs change.
  1886.  
  1887.     * parse.y (stmt): unparenthesisized method calls can be right hand
  1888.       side expression of the assignment.
  1889.  
  1890. Sat Mar 27 22:42:47 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1891.  
  1892.     * ext/nkf/nkf.c (rb_nkf_kconv): check size output_ctr before
  1893.       decrement.
  1894.  
  1895. Thu Mar 25 09:11:03 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1896.  
  1897.     * time.c (time_s_at): preserve gmt-mode for result.
  1898.  
  1899.     * parse.y (rb_compile_string): do not use cur_mid, use
  1900.       compile_for_eval instead.
  1901.  
  1902.     * st.c (PTR_NOT_EQUAL): wrong logical condition.
  1903.  
  1904. Wed Mar 24 13:06:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1905.  
  1906.     * parse.y (yycompile): should clear cur_mid after compilation.
  1907.  
  1908.     * io.c (next_argv): need to check type for ARGV.shift.
  1909.  
  1910.     * eval.c (blk_copy_prev): need to preverse outer scope as well as
  1911.       outer frames.
  1912.  
  1913.     * parse.y (rb_compile_string): return can appear within eval().
  1914.  
  1915. Tue Mar 23 10:15:07 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  1916.  
  1917.     * configure.in: AC_C_CONST check added.
  1918.  
  1919. Tue Mar 23 02:07:35 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1920.  
  1921.     * time.c (time_plus): preserve gmt-mode for result.
  1922.  
  1923. Mon Mar 22 01:32:37 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1924.  
  1925.     * eval.c (rb_eval): adjust line numbers before expression
  1926.       interpolation within strings.
  1927.  
  1928.     * eval.c (rb_eval): defined? returns nil for false condition.
  1929.  
  1930.     * numeric.c (num_nonzero_p): returns nil for false condition.
  1931.  
  1932. Sat Mar 20 13:07:43 1999  Keiju Ishitsuka  <keiju@rational.com>
  1933.  
  1934.     * lib/weakref.rb: avoid leak for two weakrefs for one object.
  1935.  
  1936. Fri Mar 19 11:26:45 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1937.  
  1938.     * eval.c (ruby_run): needed to eval END{} on exit.
  1939.  
  1940.     * eval.c (rb_exit): ditto.
  1941.  
  1942. Fri Mar 19 02:17:27 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1943.  
  1944.     * signal.c (Init_signal): handles terminating signals HUP, TERM,
  1945.       QUIT, PIPE, etc.
  1946.  
  1947. Thu Mar 18 15:47:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1948.  
  1949.     * bignum.c (rb_big_and): bug in sign calculation.
  1950.  
  1951.     * bignum.c (rb_big_or): ditto.
  1952.  
  1953.     * io.c (rb_f_select): forgot to use to_io to retrieve IO, after
  1954.       calling select(2).
  1955.  
  1956. Tue Mar 16 19:54:31 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  1957.  
  1958.     * ext/extmk.rb.in: static linking cause infinite make loop.
  1959.  
  1960. Tue Mar 16 18:50:04 1999  Yoshida Masato  <yoshidam@yoshidam.net>
  1961.  
  1962.     * ext/socket/socket.c (tcp_s_gethostbyname): typo, not NUM2INT(),
  1963.       but INT2NUM().
  1964.  
  1965.     * ext/socket/socket.c (mkhostent): ditto.
  1966.  
  1967. Tue Mar 16 12:31:44 1999  Ryo HAYASAKA  <hayasaka@cheer.u-aizu.ac.jp>
  1968.  
  1969.     * file.c (utime_internal): suppress warning by const.
  1970.  
  1971.     * time.c (time_gmtime): ditto.
  1972.  
  1973. Tue Mar 16 10:23:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1974.  
  1975.     * time.c (time_clone): Time object can be cloned.
  1976.  
  1977. Tue Mar 16 03:13:10 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  1978.  
  1979.     * ruby.c (load_file): argv[argc] should be NULL.
  1980.  
  1981. Mon Mar 15 22:12:08 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  1982.  
  1983.     * sprintf.c (rb_f_sprintf): typo in arg_num check at exit.
  1984.  
  1985. Mon Mar 15 16:42:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1986.  
  1987.     * array.c (rb_ary_dup): dup2 should copy class too.
  1988.  
  1989. Mon Mar 15 15:12:53 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  1990.  
  1991.     * lib/mkmf.rb: install program relative path check.
  1992.  
  1993. Mon Mar 15 14:05:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1994.  
  1995.     * re.c (rb_reg_s_new): 2nd argument is now option.
  1996.       Regexp::EXTENDED can be specified.
  1997.  
  1998. Fri Mar 12 10:47:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  1999.  
  2000.     * string.c (rb_str_index): str.index("") should always match at
  2001.       offset point.
  2002.  
  2003.     * string.c (rb_str_upto): can specify end point exclusion.
  2004.  
  2005.     * string.c (rb_str_index): negative offset.
  2006.  
  2007.     * regex.c (re_match): begline should not match at the point
  2008.       between a newline and end-of-string.  endline neither.
  2009.  
  2010.     * regex.c (re_compile_pattern): context_indep_anchors .
  2011.  
  2012.     * parse.y (parse_regx): need not to push backslashes before
  2013.       escaped characters.
  2014.  
  2015.     * eval.c (rb_thread_join): re-raises exception within target.
  2016.  
  2017. Fri Mar 12 01:09:36 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  2018.  
  2019.     * ext/readline/readline.c (readline_s_vi_editing_mode): wrong
  2020.       number of arguments.
  2021.  
  2022. Fri Mar 12 02:12:50 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2023.  
  2024.     * pack.c (PACK_ITEM_ADJUST): "a".unpack("C3") => [97, nil, nil]
  2025.  
  2026. Thu Mar 11 18:23:50 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  2027.  
  2028.     * ext/socket/socket.c (Init_socket): UDPsocket was ommited.
  2029.  
  2030. Thu Mar 11 16:43:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2031.  
  2032.     * pack.c (PACK_LENGTH_ADJUST): push fixed number of items per
  2033.       template to result array.
  2034.  
  2035.     * pack.c (pack_unpack): I/N/C etc. push nil in the array for "".
  2036.  
  2037. Tue Mar  9 00:19:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2038.  
  2039.     * hash.c (ruby_unsetenv): use ruby_setenv(name, 0).
  2040.  
  2041.     * hash.c (env_delete): ditto.
  2042.  
  2043.     * string.c (rb_str_upto): do not check `beg<end' to generate
  2044.       strings for the pattern like "a".upto("#a").
  2045.  
  2046.     * range.c (range_each): treat strings as special case.
  2047.  
  2048.     * range.c (range_each): no longer use upto for generic cases.
  2049.  
  2050. Sun Mar  7 14:21:32 1999  IKARASHI Akira  <ikarashi@itlb.te.noda.sut.ac.jp>
  2051.  
  2052.     * string.c (rb_str_index): wrong end point calculation.
  2053.  
  2054. Sat Mar  6 02:19:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2055.  
  2056.     * re.c (match_index): MatchingData#index(n) added.
  2057.  
  2058.     * array.c (rb_ary_subseq): ary[n..-1] returns an sub-array unless
  2059.       n is too small negative index.
  2060.  
  2061.     * re.c (rb_reg_match_method): Regexp#match(str) added.
  2062.  
  2063.     * array.c (rb_ary_indexes): understands ranges as indexes.
  2064.  
  2065.     * re.c (match_size): MatchingData#size added.
  2066.  
  2067. Fri Mar  5 01:04:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2068.  
  2069.     * array.c (rb_ary_fill): modified for range.
  2070.  
  2071.     * array.c (rb_ary_aset): a[n..m] revisited.
  2072.  
  2073. Thu Mar  4 14:23:29 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2074.  
  2075.     * string.c (rb_str_subseq): a[n..m] revisited.
  2076.  
  2077.     * parse.y (method_call): allow Const::method{}.
  2078.  
  2079.     * array.c (rb_ary_replace_method): should replace original array.
  2080.  
  2081. Thu Mar  4 02:30:22 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2082.  
  2083.     * configure.in: remove --disable-thread, thread feature is no
  2084.       longer optional.
  2085.  
  2086. Thu Mar  4 00:32:17 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  2087.  
  2088.     * parse.y (read_escape): wrong arguments for scan_oct,scan_hex.
  2089.  
  2090. Wed Mar  3 11:51:53 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2091.  
  2092.     * ext/socket/socket.c (Init_socket): rename class names as
  2093.       TCPsocket -> TCPSocket etc.
  2094.  
  2095. Tue Mar  2 19:46:42 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  2096.  
  2097.     * configure.in (LDSHARED): use gcc -Wl,-G for solaris with gcc.
  2098.  
  2099. Tue Mar  2 17:04:19 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2100.  
  2101.     * parse.y (yylex): backslashes do not concatenate comment lines
  2102.       anymore.
  2103.  
  2104. Mon Mar  1 14:05:12 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2105.  
  2106.     * eval.c (rb_call0): adjust argv for optional arguments.  super
  2107.       without arguments emit superclasse method with the value from
  2108.       optinal arguments.  enabled as experiment.
  2109.  
  2110. Sun Feb 28 14:04:07 1999  WATANABE Hirofumi  <eban@os.rim.or.jp>
  2111.  
  2112.     * parse.y (nextc): backslash at the eof cause infinite loop
  2113.  
  2114. Sun Feb 28 11:01:26 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  2115.  
  2116.     * time.c (make_time_t): month range check added.
  2117.  
  2118. Sat Feb 27 02:36:05 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2119.  
  2120.     * re.c (Init_Regexp): add escape as alias of quote.
  2121.  
  2122.     * re.c (rb_reg_s_quote): char-code can be specified now.
  2123.  
  2124. Fri Feb 26 18:45:36 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  2125.  
  2126.     * eval.c (error_print): bug for error message with newlines.
  2127.  
  2128. Fri Feb 26 12:00:04 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2129.  
  2130.     * time.c (make_time_t): future check modified to allow 1969-12-31
  2131.       at certain timezone.
  2132.  
  2133.     * time.c (time_arg): year >= 1000 should be past.
  2134.  
  2135.     * version.c (Init_version): constant RELEASE_DATE added.
  2136.  
  2137. Fri Feb 26 01:08:30 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2138.  
  2139.     * string.c (rb_str_substr): returns nil for out-of-range access.
  2140.  
  2141.     * array.c (rb_ary_subseq): returns nil for out-of-range access.
  2142.  
  2143.     * array.c (rb_ary_store): negative index message has changed.
  2144.  
  2145.     * string.c (rb_str_aset): reallocation needed.
  2146.  
  2147.     * string.c (rb_str_aset): allow char append to the string.
  2148.  
  2149. Thu Feb 25 23:30:17 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  2150.  
  2151.     * time.c (time_load): tm_year should be packed in 17 bits, not 18.
  2152.  
  2153. Thu Feb 25 12:50:25 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2154.  
  2155.     * missing/dup2.c: replaced by public domain version.
  2156.  
  2157.     * time.c (make_time_t): add `future check' in loops.
  2158.  
  2159.     * object.c (rb_num2dbl): forbid implicit conversion from nil, or
  2160.       strings.  thus `Time.now + str' should raise error.
  2161.  
  2162.     * object.c (rb_Float): convert nil into 0.0.
  2163.  
  2164.     * object.c (rb_Integer): conversion method improved.
  2165.  
  2166. Thu Feb 25 03:27:50 1999  Shugo Maeda  <shugo@netlab.co.jp>
  2167.  
  2168.     * eval.c (rb_call): should handle T_ICLASS properly.
  2169.  
  2170. Thu Feb 25 00:04:00 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2171.  
  2172.     * error.c (Init_Exception): global function Exception() removed.
  2173.  
  2174.     * variable.c (rb_class2name): returns "nil"/"true"/"false" for them.
  2175.  
  2176.     * time.c (time_dump): time marshaling format compressed size from
  2177.       11 bytes to 8 bytes.  thanx to tadf@kt.rim.or.jp.
  2178.  
  2179.     * eval.c (rb_obj_call_init): should specify arguments explicitly.
  2180.  
  2181. Wed Feb 24 15:43:28 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2182.  
  2183.     * parse.y (yylex): comment concatenation requires preceding space
  2184.       before backslash at the end of line.
  2185.  
  2186.     * io.c (rb_f_pipe): global pipe is obsolete now.
  2187.  
  2188.     * object.c (Init_Object): remove true.to_i, false.to_i.
  2189.  
  2190. Tue Feb 23 14:21:41 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2191.  
  2192.     * parse.y (yylex): warn if identifier! immediately followed by `='.
  2193.  
  2194. Tue Feb 23 12:32:41 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  2195.  
  2196.     * eval.c (rb_load): tilde expandion moved to find_file.
  2197.  
  2198.     * eval.c (find_file): tilde expandion added.
  2199.  
  2200. Tue Feb 23 10:50:20 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2201.  
  2202.     * eval.c (require_method): require can handle multiple fnames.
  2203.  
  2204.     * hash.c (rb_hash_foreach_iter): hash key may be nil.
  2205.  
  2206. Mon Feb 22 17:44:02 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2207.  
  2208.     * regex.c (re_match): should not pop failure point on success for
  2209.       non-greedy matches.
  2210.  
  2211.     * io.c (Init_IO): remove global_functions getc, readchar, ungetc,
  2212.       seek, tell, rewind.
  2213.  
  2214. Sat Feb 20 22:54:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2215.  
  2216.     * numeric.c (rb_num2long): no implicit conversion from boolean.
  2217.  
  2218. Sat Feb 20 09:58:42 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2219.  
  2220.     * numeric.c (flo_to_s): portable Infinity and NaN support.
  2221.  
  2222. Sat Feb 20 07:13:31 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  2223.  
  2224.     * io.c (rb_file_sysopen): forgot to initialize a local variable.
  2225.  
  2226. Fri Feb 19 23:05:07 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2227.  
  2228.     * string.c (rb_str_subseq): range check changed.
  2229.  
  2230.     * marshal.c: increment MARSHAL_MINOR for Time format change.
  2231.  
  2232.     * time.c (time_old_load): support old marshal format.
  2233.  
  2234.     * time.c (time_load): changed for new format Y/M/D/h/m/s/usec.
  2235.  
  2236.     * time.c (time_dump): marshal dump format has changed.
  2237.  
  2238. Fri Feb 19 00:25:57 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2239.  
  2240.     * time.c (time_arg): should reject "sep\0" and such.
  2241.  
  2242.     * time.c (time_plus): Time#+ should not receive Time object
  2243.       operand.
  2244.  
  2245.     * string.c (rb_str_substr): nagative length raises exception now.
  2246.  
  2247.     * array.c (beg_len): if end == -1, it points end of the array.
  2248.  
  2249.     * array.c (rb_ary_subseq): nagative length raises exception now.
  2250.  
  2251. Thu Feb 18 20:57:04 1999  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  2252.  
  2253.     * time.c (rb_strftime): strftime() may return 0 on success too.
  2254.  
  2255.     * time.c (time_strftime): `\0' within format string shoule not be
  2256.       ommited in the result.
  2257.  
  2258.     * time.c (rb_strftime): zero length format.
  2259.  
  2260.     * time.c (time_to_a): yday start with 1 now.
  2261.  
  2262.     * time.c (time_zone): support for long timezone name.
  2263.  
  2264.     * time.c (time_yday): yday start with 1 now.
  2265.  
  2266.     * time.c (time_minus): minus calculation was wrong.
  2267.  
  2268.     * time.c (time_minus): sec, usec should be at least `long', maybe
  2269.       they should be `time_t'.
  2270.  
  2271.     * time.c (time_plus): addition with float was wrong.
  2272.  
  2273.     * time.c (time_to_s): support for long timezone name.
  2274.  
  2275.     * time.c (time_gm_or_local): too far future check moved.
  2276.  
  2277.     * time.c (time_arg): treat 2 digit year as 69-99 => 1969-1999,
  2278.       00-68 => 2000-2068
  2279.  
  2280. Thu Feb 18 03:56:47 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2281.  
  2282.     * missing/fnmatch.c: moved to missing directory.
  2283.  
  2284. Wed Feb 17 16:22:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2285.  
  2286.     * struct.c (rb_struct_alloc): actual initialization now be done in
  2287.       `initialize'.
  2288.  
  2289. Wed Feb 17 09:47:15 1999  okabe katsuyuki  <hgc02147@nifty.ne.jp>
  2290.  
  2291.     * regex.c (re_search): use mbclen() instead of ismbchar().
  2292.  
  2293.     * re.c (rb_reg_s_quote): should handle mbchars properly.
  2294.  
  2295. Wed Feb 17 01:25:26 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2296.  
  2297.     * parse.y (yylex): stop comment concatenation by backslash follows
  2298.       after >= 0x80 char.  may cause problem with Latin chars.
  2299.  
  2300.     * eval.c (error_print): exception in rb_obj_as_string() caused
  2301.       SEGV. protect it by PUSH_TAG/POP_TAG.
  2302.  
  2303.     * error.c (exc_exception): `Exception#exception' should return self.
  2304.  
  2305. Wed Feb 17 01:12:22 1999  Hirotaka Ichikawa  <hirotaka.ichikawa@tosmec.toshiba.co.jp>
  2306.  
  2307.     * configure.in: BeOS patch.
  2308.  
  2309. Tue Feb 16 14:25:00 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2310.  
  2311.     * regex.c (re_compile_pattern): should reallocate mbc space for
  2312.       character class unless current_mbctype is ASCII.
  2313.  
  2314. Mon Feb 15 15:48:30 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  2315.  
  2316.     * configure.in: specify `-Wl,-E' only for GNU ld.
  2317.  
  2318. Mon Feb 15 11:43:22 1999  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
  2319.  
  2320.     * array.c (rb_inspecting_p): should return Qfalse.
  2321.  
  2322. Sun Feb 14 22:36:40 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2323.  
  2324.     * sprintf.c (rb_f_sprintf): `%G' was ommited.
  2325.  
  2326. Sun Feb 14 12:47:48 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2327.  
  2328.     * numeric.c (Init_Numeric): allow divide by zero on FreeBSD.
  2329.  
  2330.     * numeric.c (Init_Numeric): FloatDomainError added.
  2331.  
  2332.     * configure.in (AC_REPLACE_FUNCS): add checks for functions
  2333.       insinf, isnan, and finite.
  2334.  
  2335. Sat Feb 13 01:24:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2336.  
  2337.     * eval.c (rb_thread_create_0): should protect th->thread.
  2338.  
  2339. Fri Feb 12 16:16:47 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  2340.  
  2341.     * string.c (rb_str_inspect): wrong mbc position.
  2342.  
  2343. Fri Feb 12 16:21:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2344.  
  2345.     * eval.c (rb_thread_fd_close): 
  2346.  
  2347.     * io.c (rb_io_fptr_close): tell scheduler that fd is closed.
  2348.  
  2349.     * io.c (rb_io_reopen): ditto.
  2350.  
  2351.     * io.c (READ_CHECK): check if closed after thread context switch.
  2352.  
  2353.     * ext/socket/socket.c (bsock_close_read): do not check
  2354.       the return value from shutdown(2).
  2355.  
  2356.     * ext/socket/socket.c (bsock_close_write): ditto.
  2357.  
  2358.     * ext/socket/socket.c (sock_new): need to dup(fd) for close_read
  2359.       and close_write.
  2360.  
  2361.     * parse.y (here_document): handle newlines within #{}.
  2362.  
  2363.     * regex.h: should replace symbols for ruby.
  2364.  
  2365. Fri Feb 12 00:46:28 1999  Shugo Maeda  <shugo@netlab.co.jp>
  2366.  
  2367.     * marshal.c (r_object): should update the method name in message.
  2368.  
  2369.     * marshal.c (w_object): limit should be converted into Fixnum.
  2370.  
  2371. Wed Feb 10 15:20:03 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2372.  
  2373.     * regex.c (re_match): empty pattern should not cause infinite
  2374.       pattern match loop.
  2375.  
  2376.     * regex.c (re_compile_pattern): RE_OPTIMIZE_ANCHOR for /.*/, not
  2377.       for /(.|\n)/.
  2378.  
  2379.     * numeric.c (fix_pow): `fixnum**nil' should raise TypeError.
  2380.  
  2381.     * bignum.c (rb_big_pow): need to normalize results.
  2382.  
  2383. Wed Feb 10 01:42:41 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2384.  
  2385.     * numeric.c (fix_pow): `(5**1).type' should be Integer.
  2386.  
  2387. Tue Feb  9 01:22:49 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2388.  
  2389.     * parse.y (yylex): do not ignore newlines in mbchars.
  2390.  
  2391.     * io.c (rb_file_s_open): mode can be specified by flags like
  2392.       open(2), e.g. File::open(path, File::CREAT|File::WRONLY).
  2393.  
  2394.     * io.c (rb_f_open): bit-wise mode flags for pipes
  2395.  
  2396.     * io.c (Init_IO): bit flags for open.
  2397.  
  2398. Sat Feb  6 22:56:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2399.  
  2400.     * string.c (rb_str_sub_bang): should not overwrite match data by
  2401.       regexp match within the block.
  2402.  
  2403.     * string.c (rb_str_gsub_bang): ditto.
  2404.  
  2405. Sat Feb  6 03:06:17 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2406.  
  2407.     * re.c (match_getter): accessng $~ without matching caused SEGV.
  2408.  
  2409. Fri Feb  5 22:11:08 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2410.  
  2411.     * parse.y (yylex): binary literal support, like 0b01001.
  2412.  
  2413.     * parse.y (yylex): octal numbers can contain `_'s.
  2414.  
  2415.     * parse.y (yylex): warns if non-octal number follows immediately
  2416.       after octal literal.
  2417.  
  2418.     * parse.y (yylex): now need at least one digit after prefix such
  2419.       as 0x, or 0b.
  2420.  
  2421.     * bignum.c (rb_str2inum): recognize binary numbers like 0b0101.
  2422.  
  2423. Fri Feb  5 03:26:56 1999  Yasuhiro Fukuma  <yasuf@big.or.jp>
  2424.  
  2425.     * ruby.c (proc_options): -e without program prints error.
  2426.  
  2427. Fri Feb  5 00:01:50 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2428.  
  2429.     * parse.y (terms): needed to clear heredoc_end.
  2430.  
  2431.     * numeric.c (flo_div): allow float division by zero.
  2432.  
  2433. Thu Feb  4 11:56:24 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2434.  
  2435.     * missing/strtod.c: for compatibility.
  2436.  
  2437.     * configure.in (strtod): add strtod compatible check.
  2438.  
  2439.     * numeric.c (rb_num2long): missing/vsnprintf.c does not supprt
  2440.       floating points.
  2441.  
  2442.     * numeric.c (flo_to_s): ditto.
  2443.  
  2444. Wed Feb  3 23:02:12 1999  Yoshida Masato  <yoshidam@yoshidam.net>
  2445.  
  2446.     * regex.c (re_compile_pattern): use ismbchar() to get next char.
  2447.  
  2448.     * regex.c (re_search): wrong mbchar shift.
  2449.  
  2450.     * re.c (rb_reg_search): needed to reset $KCODE after match.
  2451.  
  2452.     * regex.c (re_compile_fastmap): mbchars should match with \w.
  2453.  
  2454. Wed Feb  3 22:35:12 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2455.  
  2456.     * parse.y (yylex): too big float raise warning, not error.
  2457.  
  2458. Tue Feb  2 23:41:42 1999  Yoshida Masato  <yoshidam@yoshidam.net>
  2459.  
  2460.     * regex.c (re_match): wrong boundary.
  2461.  
  2462.     * regex.c (IS_A_LETTER): re_mbctab[c] may not be 1 for mbc.
  2463.  
  2464.     * regex.c (re_search): mbchar support for shifting ranges.
  2465.  
  2466.     * regex.c (MBC2WC): wrong conversion.
  2467.  
  2468. Wed Feb  3 15:03:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2469.  
  2470.     * parse.y (parse_regx): need to escape parens if terminators are
  2471.       not any kind of parenthesis.
  2472.  
  2473.     * parse.y (parse_qstring): ditto.
  2474.  
  2475.     * parse.y (parse_string): ditto.
  2476.  
  2477. Tue Feb  2 17:11:26 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  2478.  
  2479.     * string.c (rb_str_gsub_bang): too small realoc condition.
  2480.  
  2481. Mon Feb  1 10:01:17 1999  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2482.  
  2483.     * parse.y (yylex): range check for the float literal.
  2484.  
  2485. Sat Jan 30 18:34:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2486.  
  2487.     * ruby.c (usage): -h option to show brief command description.
  2488.  
  2489. Sat Jan 30 08:45:16 1999  IKARASHI Akira  <ikarashi@itlb.te.noda.sut.ac.jp>
  2490.  
  2491.     * lib/cgi-lib.rb: cookie support added.
  2492.  
  2493. Sat Jan 30 13:38:24 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2494.  
  2495.     * regex.c (re_compile_pattern): mbchars should match with \w
  2496.       within character classs.  Was matching with \W.
  2497.  
  2498.     * regex.c (re_match): \w should match with multi byte characters,
  2499.       not its first byte.
  2500.  
  2501. Sat Jan 30 10:06:41 1999  Yoshida Masato  <yoshidam@yoshidam.net>
  2502.  
  2503.     * re.c (rb_reg_s_new): UTF-8 flag handle (/u, /U).
  2504.  
  2505.     * re.c (rb_kcode): $KCODE handle for UTF-8.
  2506.  
  2507. Sat Jan 30 01:51:16 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2508.  
  2509.     * array.c (rb_ary_delete_if): RTEST() missing.
  2510.  
  2511.     * hash.c (delete_if_i): ditto.
  2512.  
  2513.     * enum.c (Init_Enumerable): select (=find_all), detect (=find)
  2514.       added as aliases.
  2515.  
  2516. Fri Jan 29 21:32:19 1999  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  2517.  
  2518.     * hash.c (rb_f_setenv): SEGV caused by small typo.
  2519.  
  2520. Fri Jan 29 00:15:58 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2521.  
  2522.     * lib/parsedate.rb (parsedate): support date format like
  2523.       23-Feb-93, which is required by HTTP/1.1.
  2524.  
  2525.     * variable.c (find_class_path): avoid calling rb_iv_set().
  2526.  
  2527.     * eval.c (backtrace): do not need to modify $SAFE internally.
  2528.  
  2529.     * variable.c (classname): inline __classid__ access.
  2530.  
  2531.     * eval.c (THREAD_ALLOC): needed to initialize wrapper.
  2532.  
  2533.     * lib/ftools.rb (makedirs): allows slash at the end of the path.
  2534.  
  2535.     * numeric.c (rb_fix_induced_from): ensure result to be Fixnum.
  2536.  
  2537. Thu Jan 28 17:31:43 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2538.  
  2539.     * numeric.c (flo_to_s): float format changed to "%16.10g".
  2540.  
  2541. Thu Jan 28 02:13:11 1999  Yoshinori Toki  <toki@freedom.ne.jp>
  2542.  
  2543.     * array.c (rb_ary_store): expand allocated buffer by 3/2.
  2544.  
  2545. Wed Jan 27 17:50:02 1999  Kazuhiro HIWADA  <hiwada@kuee.kyoto-u.ac.jp>
  2546.  
  2547.     * bignum.c (dbl2big): raised error if double is too big to cast
  2548.       into long.  check added.
  2549.  
  2550. Wed Jan 27 03:16:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2551.  
  2552.     * variable.c (rb_mod_const_at): can't list constants of the
  2553.       untainted objects in safe mode.
  2554.  
  2555.     * class.c (method_list): can't list methods of untainted objects
  2556.       in safe mode.
  2557.  
  2558. Tue Jan 26 02:40:41 1999  GOTO Kentaro  <gotoken@math.sci.hokudai.ac.jp>
  2559.  
  2560.     * prec.c: Precision support for numbers.
  2561.  
  2562. Thu Jan 21 19:08:14 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2563.  
  2564.     * eval.c (rb_f_raise): calls `exception' method, not `new'.
  2565.  
  2566.     * error.c (exc_exception): renamed from `new'.
  2567.  
  2568. Wed Jan 20 03:39:48 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2569.  
  2570.     * parse.y (yycompile): rb_in_compile renamed to ruby_in_compile.
  2571.  
  2572.     * ruby.c (load_file): define DATA iff __END__ appeared in script.
  2573.  
  2574. Tue Jan 19 14:57:51 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2575.  
  2576.     * parse.y (here_document): need to protect lex_lastline.
  2577.  
  2578.     * parse.y (yylex): disable %//, %'', %``.
  2579.  
  2580. Tue Jan 19 05:01:16 1999  Koji Arai  <JCA02266@nifty.ne.jp>
  2581.  
  2582.     * array.c (beg_len): round range value too much.
  2583.  
  2584. Mon Jan 18 13:02:27 1999  Kuroda Jun  <jkuro@dwe.co.jp>
  2585.  
  2586.     * hash.c (env_keys): strchr() may return NULL.
  2587.  
  2588. Mon Jan 18 17:51:47 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2589.  
  2590.     * instruby.rb (wdir): install libruby.a in archdir.
  2591.  
  2592.     * lib/ftools.rb (install): removes file before installing.
  2593.  
  2594. Mon Jan 18 16:55:31 1999  MAEDA shugo  <shugo@aianet.ne.jp>
  2595.  
  2596.     * eval.c (rb_callcc): experimental continuation support.
  2597.  
  2598. Sun Jan 17 19:45:37 1999  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  2599.  
  2600.     * pack.c (pack_pack): nil packing caused SEGV.
  2601.  
  2602. Sat Jan 16 13:18:03 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2603.  
  2604.     * string.c (rb_str_concat): character (fixnum) can be append to
  2605.       strings
  2606.  
  2607.     * array.c (rb_ary_unshift): unshift returns array.
  2608.  
  2609. Sat Jan 16 01:39:19 1999  Yoshida Masato  <yoshidam@tau.bekkoame.ne.jp>
  2610.  
  2611.     * string.c (rb_str_split_method): UTF-8 support.
  2612.  
  2613.     * regex.c: UTF-8 support.
  2614.  
  2615. Thu Jan 14 00:42:55 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2616.  
  2617.     * string.c (rb_str_gsub_bang): forget to add offset for null match.
  2618.  
  2619.     * eval.c (rb_thread_local_aset): can't modify in tainted mode.
  2620.  
  2621.     * hash.c (env_each_key): avoid generating temporary array.
  2622.  
  2623. Wed Jan 13 23:58:50 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2624.  
  2625.     * hash.c (rb_f_setenv): name and value can be tainted.
  2626.  
  2627. Wed Jan  6 02:42:08 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2628.  
  2629.     * bignum.c (Init_Bignum): forgot to define Bignum#===.
  2630.  
  2631.     * gc.c (gc_sweep): if add_heap() is called during GC, objects on
  2632.       allocated heap page(s) are not marked, should not be recycled.
  2633.  
  2634.     * gc.c (gc_sweep): should refer latest freelist.
  2635.  
  2636.     * gc.c (id2ref): modified to support performance patch.
  2637.  
  2638.     * object.c (rb_obj_id): performance patch (no bignum for id).
  2639.  
  2640. Tue Jan  5 01:56:18 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2641.  
  2642.     * config.guess: merge up-to-date from autoconf 2.12.
  2643.  
  2644.     * array.c (rb_ary_join): avoid calling rb_protect_inspect() till
  2645.       it is really needed.
  2646.  
  2647.     * object.c (rb_obj_inspect): show detailed information for the
  2648.       instance variables (infinite loop can avoid now).
  2649.  
  2650.     * struct.c (rb_struct_inspect): avoid infinite loop.
  2651.  
  2652. Sun Jan  3 01:37:58 1999  Takao KAWAMURA  <kawamura@ike.tottori-u.ac.jp>
  2653.  
  2654.     * misc/ruby-mode.el (ruby-end-of-defun): moved too much.
  2655.  
  2656.     * misc/ruby-mode.el (ruby-mode-variables): set paragraph-separator
  2657.       for the mode.
  2658.  
  2659.     * misc/ruby-mode.el: proper font-lock for `def' and `nil' etc.
  2660.  
  2661. Sat Jan  2 17:09:06 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2662.  
  2663.     * eval.c (rb_jump_tag): new api to invoke JUMP_TAG.  tag values
  2664.       can obtained from rb_eval_string_protect()/rb_load_protect().
  2665.  
  2666.     * eval.c (rb_rescue): now catches all exceptions but SystemExit.
  2667.  
  2668.     * eval.c (rb_eval_string_protect): eval string with protection.
  2669.  
  2670.     * eval.c (rb_load_protect): load file with protection.
  2671.  
  2672.     * io.c (rb_io_puts): avoid infinite loop for cyclic arrays.
  2673.  
  2674.     * eval.c (rb_thread_local_aref): thread local hash tables.
  2675.  
  2676.     * object.c (rb_equal): check exact equal before calling `=='.
  2677.  
  2678. Thu Dec 31 22:28:53 1998  MAEDA shugo  <shugo@aianet.ne.jp>
  2679.  
  2680.     * eval.c (rb_f_require): feature names should be provided with
  2681.       DLEXT extension.
  2682.  
  2683.     * marshal.c (Init_marshal): need to provide `marshal.so'.
  2684.  
  2685. Wed Dec 30 02:29:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2686.  
  2687.     * variable.c (classname): do not call rb_ivar_set().
  2688.  
  2689.     * eval.c (ruby_run): finalizers were called too early.
  2690.  
  2691. Fri Dec 25 12:19:30 1998  Fukuda Masaki  <fukuda@wni.co.jp>
  2692.  
  2693.     * gc.c (rb_gc_mark): should not return on FL_EXIVAR.
  2694.  
  2695. Fri Dec 25 11:56:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2696.  
  2697.     * gc.c (gc_mark): proper scanning for temporary region.
  2698.  
  2699.     * eval.c (TMP_ALLOC): protection for C_ALLOCA was broken.
  2700.  
  2701. Thu Dec 24 18:26:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2702.  
  2703.     * development version 1.3 released.
  2704.  
  2705. Thu Dec 24 00:17:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2706.  
  2707.     * eval.c (rb_load): top self should be set properly.
  2708.  
  2709.     * variable.c (classname): check __classpath__ iff it is defined.
  2710.  
  2711.     * variable.c (classname): invalid warning at -v with static linked
  2712.       ruby interpreter.
  2713.  
  2714.     * eval.c (is_defined): modified for expr::Const support.
  2715.  
  2716.     * eval.c (rb_eval): invoke method expr::Const if expr is not class
  2717.       nor module.
  2718.  
  2719.     * parse.y (primary): enable expr::identifier as method
  2720.       invocation.
  2721.  
  2722. Wed Dec 23 03:04:36 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2723.  
  2724.     * regex.c (re_match): avoid too many loop pops for (?:..).
  2725.  
  2726. Tue Dec 22 18:01:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2727.  
  2728.     * experimental version 1.1d1 released.
  2729.  
  2730. Mon Dec 21 01:33:03 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2731.  
  2732.     * eval.c (TMP_PROTECT): add volatile to ensure GC protection.
  2733.  
  2734.     * string.c (rb_str_gsub_bang): calculate buffer size properly.
  2735.  
  2736.     * parse.y (lex_get_str): needed to return Qnil at EOS.
  2737.  
  2738.     * eval.c (find_file): check policy modified, raise exception
  2739.       immediately for tainted load_path.
  2740.  
  2741.     * hash.c (rb_f_setenv): do not depend on setenv() nor putenv().
  2742.  
  2743. Thu Dec 17 06:29:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2744.  
  2745.     * ext/tk/tkutil.c (tk_s_new): use rb_obj_instance_eval(), instead
  2746.       of rb_yield_0().
  2747.  
  2748.     * eval.c (rb_f_require): forgot to call find_file in some cases.
  2749.  
  2750.     * eval.c (rb_f_require): `require "feature.so"' to load dynamic
  2751.       libraries.  old `require "feature.o"' is still OK.
  2752.  
  2753.     * eval.c (rb_eval): yield without value dumped core.
  2754.  
  2755. Wed Dec 16 16:28:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2756.  
  2757.     * experimental version 1.1d0 (pre1.2) released.
  2758.  
  2759. Wed Dec 16 10:43:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2760.  
  2761.     * regex.c (re_search): bound check before calling re_match().
  2762.  
  2763. Tue Dec 15 13:59:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2764.  
  2765.     * error.c (exc_to_s): returns class name for unset mesg.
  2766.  
  2767.     * error.c (exc_initialize): do not initialize @mesg by "".
  2768.  
  2769.     * parse.y (nextc): __END__ should handle CR+LF newlines.
  2770.  
  2771. Wed Dec  9 13:37:12 1998  MAEDA shugo  <shugo@aianet.ne.jp>
  2772.  
  2773.     * pack.c (encodes): use buffering for B-encoding.
  2774.  
  2775.     * pack.c (pack_pack): Q-encoding by 'M'.
  2776.  
  2777. Tue Dec  8 14:10:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2778.  
  2779.     * variable.c (generic_ivar_get): any object can have instance
  2780.       variables now.  great improvement.
  2781.  
  2782.     * variable.c (rb_name_class): do not set __classpath__ by default,
  2783.       use __classid__ instead.
  2784.  
  2785. Mon Dec  7 22:08:22 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2786.  
  2787.     * ruby.h (struct RFile): IO objects can have instance variables now.
  2788.  
  2789.     * parse.y (primary): allows `def obj::foo; .. end'.
  2790.  
  2791. Mon Dec  7 18:24:50 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  2792.  
  2793.     * ruby.c (set_arg0): $0 supprt for HP-UX.
  2794.  
  2795. Mon Dec  7 01:30:28 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  2796.  
  2797.     * dln.c (dln_strerror): better error messages on win32.
  2798.  
  2799. Sat Dec  5 23:27:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2800.  
  2801.     * parse.y (here_document): indentable here-doc delimiter by
  2802.       `<<-'.  Proposed by Clemens <c.hintze@gmx.net>.  Thanks.
  2803.  
  2804. Thu Dec  3 16:50:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2805.  
  2806.     * ext/extmk.rb.in (realclean): trouble on install.
  2807.  
  2808. Sun Nov 29 22:25:39 1998  Takaaki Tateishi  <ttate@jaist.ac.jp>
  2809.  
  2810.     * process.c (f_exec): check number of argument.
  2811.  
  2812. Thu Nov 26 17:27:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2813.  
  2814.     * version 1.1c9 released.
  2815.  
  2816. Wed Nov 25 13:07:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2817.  
  2818.     * string.c (rb_str_dup): do not copy additional data (STR_NO_ORIG).
  2819.  
  2820.     * parse.y (yycompile): reduce known memory leak (hard to remove).
  2821.  
  2822. Wed Nov 25 03:41:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2823.  
  2824.     * st.c (st_init_table_with_size): round size up to prime number.
  2825.  
  2826. Sat Nov 21 23:27:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2827.  
  2828.     * hash.c (rb_hash_aset): reduce copying key strings.
  2829.  
  2830.     * gc.c (looks_pointerp): declare as inline function if possible.
  2831.  
  2832.     * st.c (PTR_NOT_EQUAL): compare hash values first before calling
  2833.       comparing function.
  2834.  
  2835.     * st.c (ADD_DIRECT): save hash value in entries to reduce hash
  2836.       calculation.
  2837.  
  2838.     * string.c (rb_str_gsub_bang): avoid rb_scan_args() to speed-up.
  2839.  
  2840.     * string.c (rb_str_sub_bang): ditto.
  2841.  
  2842. Sat Nov 21 18:44:06 1998  Masaki Fukushima  <fukusima@goto.info.waseda.ac.jp>
  2843.  
  2844.     * time.c (time_s_now): had memory leak.
  2845.  
  2846.     * ext/md5/md5init.c (md5_new): had memory leak.
  2847.  
  2848.     * ext/md5/md5init.c (md5_clone): ditto.
  2849.  
  2850. Fri Nov 20 23:23:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2851.  
  2852.     * lib/delegate.rb: do not propagate hash and eql?.
  2853.  
  2854. Thu Nov 19 01:40:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2855.  
  2856.     * sample/ruby-mode.el (ruby-expr-beg): failed to find reserved
  2857.       word boundary.
  2858.  
  2859.     * eval.c (rb_eval): avoid calling `concat' method.  calls
  2860.       rb_ary_concat() directly for efficiency.
  2861.  
  2862.     * eval.c (rb_eval): actual rest arguments extended arrays too much.
  2863.  
  2864. Wed Nov 18 14:30:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2865.  
  2866.     * class.c (rb_define_global_function): global functions now be
  2867.       module function of the Kernel.
  2868.  
  2869. Wed Nov 18 10:48:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2870.  
  2871.     * io.c (read_all): SEGV on large files.
  2872.  
  2873. Tue Nov 17 18:11:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2874.  
  2875.     * version 1.1c8 released.
  2876.  
  2877. Tue Nov 17 16:58:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2878.  
  2879.     * parse.y (arg): assignment to attribute name start with capital
  2880.       should be allowed.
  2881.  
  2882.     * eval.c (thread_alloc): needed to mark terminated threads too.
  2883.  
  2884. Tue Nov 17 12:33:48 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
  2885.  
  2886.     * ext/extmk.rb.in (create_makefile): Set `libdir' to `@libdir@',
  2887.       Set `pkglibdir' to `$libdir/$(RUBY_INSTALL_NAME)'.
  2888.  
  2889. Tue Nov 17 10:30:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2890.  
  2891.     * sprintf.c (f_sprintf): %l%%c -> %%l%c
  2892.  
  2893. Tue Nov 17 01:08:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2894.  
  2895.     * parse.y (ret_args): distinguish `a' and `*a' for the arguments
  2896.       of yield and return.
  2897.  
  2898.     * eval.c (rb_eval): flip3 should work like sed.
  2899.  
  2900.     * eval.c (rb_eval): flip{2,3} now have independent state for each
  2901.       scope to work fine with thread.
  2902.  
  2903. Mon Nov 16 23:26:29 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2904.  
  2905.     * parse.y (primary): exec else clause if no exception raised.
  2906.  
  2907. Sun Nov 15 15:44:07 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  2908.  
  2909.     * ext/extmk.rb.in (install): bug in target.
  2910.  
  2911. Sat Nov 14 11:02:05 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
  2912.  
  2913.     * Makefile.in (install): Give the argument `$(DESTDIR)' to
  2914.     `instruby.rb'.
  2915.     * instruby.rb: Recognize ARG[0] as `destdir'.
  2916.     * instruby.rb: Give the argument `destdir' to `extmk.rb'.
  2917.     * ext/extmk.rb.in: Recognize ARG[1] as `$destdir'.
  2918.  
  2919.     * instruby.rb: Create the installation directories (bindir, libdir,
  2920.     archdir, pkglibdir, archdir, and mandir) under `destdir', and
  2921.     install all files under there.
  2922.     * ext/extmk.rb.in: Likewise.
  2923.     
  2924. Sat Nov 14 10:56:55 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
  2925.  
  2926.     * instruby.rb: Add the variable `pkglibdir'.
  2927.     * instruby.rb: Set the variable `libdir' to `$(libdir)', not
  2928.     `$(libdir)/$(ruby_install_name)'. `libruby.so' and `libruby.so.LIB'
  2929.     are installed at `libdir'.
  2930.     * instruby.rb: Set the variable `archdir' to `$(pkglibdir)/$(arch)'.
  2931.  
  2932. Fri Nov 13 19:43:29 1998  KIMURA Koichi  <kbk@kt.rim.or.jp>
  2933.  
  2934.     * missing/nt.c (SafeFree): wrong free offset.
  2935.  
  2936. Thu Nov 12 20:11:53 1998  Koji Arai  <JCA02266@nifty.ne.jp>
  2937.  
  2938.     * sample/ruby-mode.el: wrong highlight.
  2939.  
  2940.     * parse.y (parse_regx): newline in regexp was ignored.
  2941.  
  2942. Wed Nov 11 10:54:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2943.  
  2944.     * parse.y (here_document): <<'FOO' should not escape anything.
  2945.  
  2946.     * parse.y (here_document): bare << here-doc available, even though
  2947.       it's deprecated.
  2948.  
  2949.     * file.c (rb_file_s_readlink): return value should be tainted.
  2950.  
  2951.     * ext/etc/etc.c (setup_passwd): information (eg. GCOS name) should
  2952.       be tainted (modified at Perl Conference).
  2953.  
  2954. Tue Nov 10 00:22:11 1998  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2955.  
  2956.     * configure.in: elf supprt for FreeBSD 3.x
  2957.  
  2958. Tue Nov 10 00:05:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2959.  
  2960.     * parse.y (yylex): here document available in eval.
  2961.  
  2962. Mon Nov  9 17:55:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2963.  
  2964.     * version 1.1c7 released.
  2965.  
  2966. Fri Nov  6 19:25:27 1998  Takao KAWAMURA  <kawamura@ike.tottori-u.ac.jp>
  2967.  
  2968.     * sample/ruby-mode.el: font-lock patch.
  2969.  
  2970. Thu Nov  5 15:42:22 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2971.  
  2972.     * sample/README, lib/README: simple description for each file.
  2973.  
  2974. Wed Nov  4 18:14:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2975.  
  2976.     * eval.c (assign): attribute assignment should be called as public.
  2977.  
  2978. Tue Nov  3 23:36:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2979.  
  2980.     * string.c (rb_str_dump): dumps core for negative char value.
  2981.  
  2982.     * regex.c (re_compile_pattern): out of boundary access for empty
  2983.       regexp.
  2984.  
  2985. Mon Nov  2 22:54:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2986.  
  2987.     * string.c (rb_str_aset): `str[str]' replaces first match.
  2988.  
  2989. Mon Nov  2 18:24:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2990.  
  2991.     * eval.c (thread_create): was accessing modified status.
  2992.  
  2993. Sun Nov  1 01:18:52 1998  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  2994.  
  2995.     * gc.c (xrealloc): size 0 needs round up to 1.
  2996.  
  2997. Sat Oct 31 23:18:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  2998.  
  2999.     * string.c (rb_str_split_method): negative LIMIT means number of
  3000.       splitted fields are unlimited, as in perl.
  3001.  
  3002.     * string.c (rb_str_split_method): if LIMIT is unspecified,
  3003.       trailing null fields are stripped.
  3004.  
  3005. Sat Oct 31 04:16:14 1998  Inaba Hiroto  <inaba@st.rim.or.jp>
  3006.  
  3007.     * string.c (str_aref): regexp index SEGVed.
  3008.  
  3009. Fri Oct 30 14:33:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3010.  
  3011.     * re.c (reg_match): returns nil for unmatch.
  3012.  
  3013.     * dir.c (dir_entries): new method.
  3014.  
  3015.     * eval.c (block_pass): do not push block, substitute it.
  3016.  
  3017. Fri Oct 30 01:28:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3018.  
  3019.     * range.c (range_check): avoid <=> check for Fixnums.
  3020.  
  3021.     * array.c (rb_ary_aset): accept negative index.
  3022.  
  3023. Wed Oct 28 22:00:54 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3024.  
  3025.     * regex.c (re_match): access out of boundary fixed.
  3026.  
  3027. Wed Oct 28 11:37:42 1998  TAMITO  <tommy@valley.ne.jp>
  3028.  
  3029.     * io.c (f_select): fd number comparison bug.
  3030.  
  3031. Tue Oct 27 23:07:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3032.  
  3033.     * sample/ruby-mode.el (ruby-parse-region): forgot to support %w()
  3034.       style array literal.
  3035.  
  3036.     * eval.c (rb_eval): unused block raises warning.
  3037.  
  3038. Mon Oct 26 09:37:53 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3039.  
  3040.     * eval.c (dvar_asgn_push): dvar pushed too many times if
  3041.       variable-in-block first appear in loops.
  3042.  
  3043. Sun Oct 25 22:59:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3044.  
  3045.     * regex.c (set_list_bits): was using wrong offset.
  3046.  
  3047. Thu Oct 22 00:07:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3048.  
  3049.     * eval.c (rb_obj_method): method retrieved from tainted object
  3050.       should be tainted too.
  3051.  
  3052.     * eval.c (method_call): safe_level should be restored during
  3053.       Method#call.
  3054.  
  3055. Wed Oct 21 14:21:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3056.  
  3057.     * io.c (Init_IO): new constants IO::SEEK_{SET,CUR,END}.
  3058.  
  3059.     * io.c (rb_f_ungetc): ungetc pushes a char back into STDIN.
  3060.  
  3061. Mon Oct 19 11:50:00 1998  Motoyuki Kasahara  <m-kasahr@sra.co.jp>
  3062.  
  3063.     * ext/extmk.rb: Load '@top_srcdir@/lib/find.rb', not
  3064.     '../lib/find.rb'.
  3065.     * ext/extmk.rb: Distinguish between `top_srcdir' and `topdir'.
  3066.     * Makefile.in (CFLAGS): Add `-I.'.
  3067.     * Makefile.in (lex.c): Give `@srcdir@/keywords' to gperf, not
  3068.     `keywords'.
  3069.     * instruby.rb: Use `CONFIG["bindir"]', instead of `prefix + "/bin"'.
  3070.     * instruby.rb: Use `CONFIG["libdir"]', instead of `prefix + "/lib"'.
  3071.     * instruby.rb Use `CONFIG["mandir"]', instead of `prefix + "/man"'.
  3072.     * instruby.rb (wdir): Add the variable to preserve the current
  3073.     working directory.
  3074.     * instruby.rb: Chdir to wdir before install `config.h' and
  3075.     `rbconfig.rb'.
  3076.  
  3077. Mon Oct 19 10:07:01 1998  EGUCHI Osamu  <eguchi@shizuokanet.ne.jp>
  3078.  
  3079.     * eval.c (rb_eval): reduce recursive calls to rb_eval().
  3080.  
  3081. Fri Oct 16 15:31:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3082.  
  3083.     * time.c (time_new_internal): timeval must be positive.
  3084.  
  3085. Thu Oct 15 13:54:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3086.  
  3087.     * parse.y (arg): local variabls can be accessed within right side
  3088.        expression in assignment, notably in blocks.
  3089.  
  3090. Wed Oct 14 00:18:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3091.  
  3092.     * array.c (Init_Array): Array#=== is now for equal check, not
  3093.       inclusion check.
  3094.  
  3095.     * parse.y (when_args): `when a, *b' style new syntax for array
  3096.       expansion in `case'.
  3097.  
  3098. Tue Oct 13 14:30:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3099.  
  3100.     * object.c (rb_obj_untaint): taint marks can be unset.
  3101.  
  3102.     * eval.c (rb_eval): taint propagation for embedded strings.
  3103.  
  3104. Mon Oct 12 13:27:15 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3105.  
  3106.     * eval.c (rb_call0): check stack depth more frequently.
  3107.  
  3108. Mon Oct 12 08:08:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3109.  
  3110.     * io.c (rb_p): can print even in secure mode.
  3111.  
  3112. Sun Oct 11 22:50:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3113.  
  3114.     * variable.c (rb_const_set): taint check for modification.
  3115.  
  3116.     * variable.c (rb_ivar_set): taint check for modification.
  3117.  
  3118.     * string.c (rb_str_modify): taint check for modification.
  3119.  
  3120.     * hash.c (rb_hash_modify): taint check for modification.
  3121.  
  3122.     * array.c (rb_ary_modify): taint check for modification.
  3123.  
  3124.     * ruby.h (FL_TAINT): taint for all objects, not only strings.
  3125.  
  3126. Fri Oct  9 17:01:14 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3127.  
  3128.     * io.c (read_all): read() returns "" at immediate EOF.
  3129.  
  3130.     * io.c (io_read): read(nil) read all until EOF.
  3131.  
  3132. Thu Oct  8 13:32:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3133.  
  3134.     * time.c (time_dump): marshal can dump Time object now.
  3135.  
  3136.     * marshal.c (Init_marshal): rename marshal methods `_dump_to' to
  3137.        `_dump', `_load_from' to `_load'.
  3138.  
  3139.     * parse.y (rb_intern): "+=".intern generates proper symbol.
  3140.  
  3141. Mon Oct  5 18:31:53 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3142.  
  3143.     * version 1.1c6 released.
  3144.  
  3145. Fri Oct  2 14:22:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3146.  
  3147.     * regex.c (re_search): `/\s*(--)$/ =~ "- --"' did not match,
  3148.       because of wrong optimize condition.
  3149.  
  3150. Mon Oct  1 01:55:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3151.  
  3152.     * parse.y (rb_intern): should not raise exceptions.
  3153.  
  3154.     * parse.y (yylex): symbol like `:foo?=' should not be allowed.
  3155.  
  3156.     * ext/extmk.rb.in: makes *.a for static link modules.
  3157.  
  3158. Wed Sep 30 14:13:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3159.  
  3160.     * eval.c (rb_thread_start): supports making a subclass of the
  3161.       Thread class.
  3162.  
  3163. Tue Sep 29 17:46:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3164.  
  3165.     * eval.c (rb_thread_join): join is now an instance method.
  3166.  
  3167. Fri Sep 25 12:01:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3168.  
  3169.     * parse.y (yylex): `@foo!' should be an error.
  3170.  
  3171. Thu Sep 24 14:55:06 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  3172.  
  3173.     * ext/etc/etc.c (Init_etc): wrong field definition.
  3174.  
  3175. Thu Sep 17 17:09:05 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3176.  
  3177.     * io.c (io_reopen): was creating FILE* for wrong fd.
  3178.  
  3179. Tue Sep 15 05:28:11 1998  Koji Arai  <JCA02266@nifty.ne.jp>
  3180.  
  3181.     * regex.c (re_compile_pattern): forgot to fixup for the pattern
  3182.        like (?=(A)|(B)).
  3183.  
  3184. Tue Sep 15 01:06:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3185.  
  3186.     * io.c (rb_io_gets_internal): do not set $_ by default, only
  3187.       gets/readline set the variable.
  3188.  
  3189.     * eval.c (rb_f_load): load toplevel class is set to anonymous
  3190.       module if safe_level >= 5, to encapsulate modification.
  3191.  
  3192.     * eval.c (rb_f_load): set frame properly.
  3193.  
  3194.     * string.c (rb_str_each_line): do not set $_.
  3195.  
  3196. Mon Sep 14 14:42:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3197.  
  3198.     * regex.c (re_match): beginning and end of the string, do not
  3199.       automatically match `\b'.
  3200.  
  3201.     * string.c (scan_once): comsume at leaset on character.
  3202.  
  3203.     * regex.c (re_search): wrong behavior for negative range.
  3204.  
  3205. Sat Sep 12 21:21:26 1998  Koji Arai  <JCA02266@nifty.ne.jp>
  3206.  
  3207.     * regex.c (re_search): range value should be maintained.
  3208.  
  3209. Thu Sep 10 10:55:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3210.  
  3211.     * parse.y (backref_error): yyerror does not understand formats.
  3212.  
  3213. Tue Sep  8 18:05:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3214.  
  3215.     * version 1.1c5 released.
  3216.  
  3217. Tue Sep  8 10:03:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3218.  
  3219.     * string.c (str_each_line): wrong line splitting with newline at
  3220.        top of the string.
  3221.  
  3222.     * string.c: non bang methods return copied string.
  3223.  
  3224.     * eval.c (f_END): needed to initialize frame->argc;
  3225.  
  3226. Fri Sep  4 11:27:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3227.  
  3228.     * bignum.c (bigadd): proper sign combination.
  3229.  
  3230.     * regex.c (re_search): wrong return value for \A.
  3231.  
  3232. Thu Sep  3 14:08:14 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3233.  
  3234.     * version 1.1c4 released.
  3235.  
  3236. Tue Sep  1 10:47:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3237.  
  3238.     * regex.c (slow_search): do not compare llen and blen.  llen may
  3239.       be longer than blen, if little contains 0xff.
  3240.  
  3241.     * regex.c (mbctab_euc): set 0x8e as multibyte character.
  3242.  
  3243.     * string.c (str_inspect): mask character for octal output.
  3244.  
  3245. Mon Aug 31 15:32:41 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3246.  
  3247.     * regex.c (re_search): use calculated offset if exactn is the
  3248.       first opcode in the compiled regexp.
  3249.  
  3250.     * regex.c (bm_search): use Boyer-Moore search for simple search.
  3251.  
  3252.     * regex.c (must_instr): wrong length check if pattern includes
  3253.       byte escape by 0xff.
  3254.  
  3255.     * regex.c (re_compile_pattern): need not to check current_mbctype.
  3256.  
  3257. Sat Aug 29 16:31:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3258.  
  3259.     * eval.c (rb_check_safe_str): avoid calling rb_id2name() in normal 
  3260.       cases to speed-up.
  3261.  
  3262.     * eval.c (thread_raise): do not save context of terminated thread.
  3263.  
  3264.     * regex.c (re_compile_pattern): mask \nnn over 256.
  3265.  
  3266. Sat Aug 29 02:09:46 1998  Koji Arai  <JCA02266@nifty.ne.jp>
  3267.  
  3268.     * sprintf.c (f_sprintf): wrong buffer size check.
  3269.  
  3270. Fri Aug 28 01:57:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3271.  
  3272.     * regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...).
  3273.  
  3274. Fri Aug 28 12:25:33 1998  Hiroshi Igarashi  <igarashi@ueda.info.waseda.ac.jp>
  3275.  
  3276.     * ruby.c (ruby_require_modules): load modules in appearing order.
  3277.  
  3278. Fri Aug 28 01:57:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3279.  
  3280.     * regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...).
  3281.  
  3282. Thu Aug 27 12:54:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3283.  
  3284.     * version 1.1c3 released.
  3285.  
  3286. Wed Aug 26 14:40:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3287.  
  3288.     * eval.c (rb_eval): check whether ruby_class is properly set,
  3289.       before accessing it.
  3290.  
  3291.     * eval.c (rb_obj_instance_eval): ruby_class should be Qnil for
  3292.       special objects like Fixnums.
  3293.  
  3294.     * ext/tkutil/tkutil.c (Init_tkutil): removes calls to
  3295.       rb_yield_0().  used instance_eval() instead in the tk.rb.
  3296.  
  3297. Wed Aug 26 11:47:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3298.  
  3299.     * regex.c (re_match): pop non-greedy stack elements on success.
  3300.  
  3301. Wed Aug 26 09:25:35 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3302.  
  3303.     * ruby.h: add #define environ for cygwin32.
  3304.  
  3305. Tue Aug 25 08:57:41 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3306.  
  3307.     * array.c (rb_ary_sort_bang): temporarily freeze sorting array.
  3308.  
  3309. Mon Aug 24 18:46:44 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3310.  
  3311.     * dln.c (dln_find_1): path check was too strict.
  3312.  
  3313. Mon Aug 24 15:28:11 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3314.  
  3315.     * parse.y (f_arglist): opt_nl added after f_args.
  3316.  
  3317. Fri Aug 21 01:06:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3318.  
  3319.     * ext/socket/socket.c: grand renaming on socket.c.
  3320.  
  3321.     * ext/socket/socket.c (inet_aton): supply inet_aton for those
  3322.       systems that do not have it.
  3323.  
  3324.     * ext/socket/socket.c (setipaddr): use inet_aton instead of
  3325.       inet_addr.
  3326.  
  3327.     * ext/socket/socket.c (tcp_s_gethostbyname): new method: works
  3328.       like Socket.gethostbyname but returning array contains ip-addrs
  3329.       as octet decimal string format like "127.0.0.1".
  3330.  
  3331.     * ext/socket/socket.c (mkhostent): return format changed to
  3332.       [host, aliases, type, ipaddr..]  as documented.
  3333.  
  3334. Wed Aug 19 00:31:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3335.  
  3336.     * io.c (io_ctl): forgot to place TRAP_END at right position.
  3337.  
  3338. Fri Aug 14 11:01:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3339.  
  3340.     * eval.c (call_trace_func): save __FILE__, __LINE__ before
  3341.        executing trace_func, since trace function should not corrupt
  3342.        line number information.
  3343.  
  3344. Thu Aug 13 15:09:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3345.  
  3346.     * array.c (ary_s_new): was marking unallocated region on GC.
  3347.  
  3348. Tue Aug 11 11:57:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3349.  
  3350.     * version 1.1c2 released.
  3351.  
  3352. Mon Aug 10 14:05:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3353.  
  3354.     * process.c (f_system): removed fflush(stdin).
  3355.  
  3356. Fri Aug  7 17:44:44 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3357.  
  3358.     * error.c (err_snprintf): replace sprintf for fixed sized buffer,
  3359.        with snprintf to avoid buffer over-run.  For systems which does
  3360.       dot provide snprintf, missing/snprintf.c added.
  3361.  
  3362. Wed Aug  5 00:47:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3363.  
  3364.     * re.c (rb_reg_search): recycle match object.
  3365.  
  3366. Mon Aug  3 09:17:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3367.  
  3368.     * string.c (rb_str_gsub_bang): do not allocate temporary string.
  3369.  
  3370.     * string.c (rb_str_sub_bang): use inline replace.
  3371.  
  3372. Wed Jul 29 00:36:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3373.  
  3374.     * hash.c (hash_s_new): the default value can be specified.
  3375.  
  3376.     * hash.c (hash_default): method to set the default value.
  3377.  
  3378.     * hash.c (hash_aref): now returns the default value.
  3379.  
  3380. Tue Jul 28 13:03:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3381.  
  3382.     * array.c (ary_s_new): argument to specify initial value is added.
  3383.  
  3384.     * array.c (ary_s_new): specifies size, not capacity.
  3385.  
  3386. Mon Jul 27 12:39:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3387.  
  3388.     * string.c (str_replace): zero fill for expansion gap.
  3389.  
  3390.     * regex.c (mbctab_euc): set flags on for 0xA1-0xFE.  suggested by
  3391.       <inaba@st.rim.or.jp>.
  3392.  
  3393.     * string.c (str_inspect): consider current_mbctype.
  3394.  
  3395. Sun Jul 26 15:37:11 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  3396.  
  3397.     * array.c (ary_s_new): Array.new(1<<30) dumps core.
  3398.  
  3399. Fri Jul 24 13:40:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3400.  
  3401.     * version 1.1c1 released.
  3402.  
  3403. Fri Jul 24 02:10:22 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3404.  
  3405.     * marshal.c (r_bytes2): allocated buffer size was too short.
  3406.  
  3407.     * marshal.c (w_object): saves all options, not only casefold flag.
  3408.  
  3409.     * re.c (reg_clone): now copies options properly.
  3410.  
  3411.     * re.c (reg_get_kcode): code number was wrong.
  3412.  
  3413. Thu Jul 23 13:11:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3414.  
  3415.     * eval.c (rb_attr): argument should be symbol or string.
  3416.  
  3417. Wed Jul 22 11:59:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3418.  
  3419.     * regex.c (calculate_must_string): wrong offset added.
  3420.  
  3421. Wed Jul 22 11:59:59 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3422.  
  3423.     * st.c (rehash): still had a GC problem.  fixed.
  3424.  
  3425. Tue Jul 21 13:19:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3426.  
  3427.     * eval.c (gc_mark_threads): crashed on GC before thread allocation.
  3428.  
  3429.     * st.c (rehash): GC during rehash caused SEGV.
  3430.  
  3431. Tue Jul 21 01:25:10 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3432.  
  3433.     * sprintf.c (f_sprintf): integer formatter totally re-written.
  3434.  
  3435.     * sprintf.c (remove_sign_bits): support uppercase hexadecimal.
  3436.  
  3437. Sat Jul 18 00:14:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3438.  
  3439.     * sprintf.c (f_sprintf): proper sign position for %X and %O.
  3440.  
  3441. Fri Jul 17 14:10:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3442.  
  3443.     * version 1.1c0 released.
  3444.  
  3445. Fri Jul 17 08:01:49 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  3446.  
  3447.     * process.c (f_exec): Check_SafeStr() added.
  3448.  
  3449.     * process.c (f_system): Check_SafeStr() moved before fork().
  3450.  
  3451. Thu Jul 16 22:58:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3452.  
  3453.     * string.c (scan_once): substrings to the block should not be
  3454.        tainted.  use reg_nth_match(), not str_substr().
  3455.  
  3456.     * string.c (str_substr): needed to transfer taint.
  3457.  
  3458. Thu Jul 16 16:15:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3459.  
  3460.     * gc.c (xmalloc): object allocation count added to GC trigger.
  3461.  
  3462.     * eval.c (thread_save_context): avoid marking uninitialized stack
  3463.       in thread_mark.  GC may be triggered by REALLOC_N().
  3464.  
  3465. Wed Jul 15 15:11:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3466.  
  3467.     * experimental release 1.1b9_31.
  3468.  
  3469. Wed Jul 15 15:05:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3470.  
  3471.     * eval.c (thread_create): exit() and abort() in threads now
  3472.        forwarded to main_thread.
  3473.  
  3474. Tue Jul 14 14:03:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3475.  
  3476.     * variable.c (obj_instance_variables): list names that is not
  3477.       instance variables.
  3478.  
  3479.     * gc.c (GC_MALLOC_LIMIT): choose smaller limit value.
  3480.  
  3481. Mon Jul 13 12:39:38 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3482.  
  3483.     * object.c (str2cstr): should not return NULL.
  3484.  
  3485. Fri Jul 10 11:51:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3486.  
  3487.     * parse.y (gettable): needed to add dyna_in_block() check.
  3488.  
  3489. Thu Jul  9 17:38:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3490.  
  3491.     * experimental release 1.1b9_30.
  3492.  
  3493. Thu Jul  9 16:01:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3494.  
  3495.     * sprintf.c (fmt_setup): format specifier for long needed.
  3496.  
  3497.     * sprintf.c (f_sprintf): ditto.
  3498.  
  3499.     * numeric.c (fix2str): ditto.
  3500.  
  3501.     * eval.c (thread_create): no more ITIMER_REAL.
  3502.  
  3503.     * eval.c (thread_create): thread finalization needed before
  3504.       aborting thread if thread_abort is set.
  3505.  
  3506. Wed Jul  8 18:17:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3507.  
  3508.     * bignum.c (big_pow): abandon power by bignum (too big).
  3509.  
  3510. Tue Jul  7 13:58:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3511.  
  3512.     * eval.c (rb_catch): add C level catch/throw feature.
  3513.  
  3514. Mon Jul  6 15:18:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3515.  
  3516.     * parse.y (arg): proper return values for `||=' and `&&='.
  3517.  
  3518. Fri Jul  3 16:05:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3519.  
  3520.     * experimental release 1.1b9_29.
  3521.  
  3522. Fri Jul  3 11:20:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3523.  
  3524.     * marshal.c (r_byte): byte should not extend sign bit.
  3525.  
  3526.     * numeric.c (fix_mul): use FIX2LONG() instead of FIX2INT() for
  3527.       64bit architectures.
  3528.  
  3529.     * marshal.c (r_bytes): remove weird casting bwetween pointer and int.
  3530.  
  3531.     * process.c (proc_setsid): new method Process#setsid().
  3532.  
  3533. Thu Jul  2 12:49:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3534.  
  3535.     * marshal.c (w_object): remove `write_bignum' label for 64bit
  3536.        architectures.
  3537.  
  3538.     * marshal.c (r_bytes): needs int, not long.
  3539.  
  3540. Wed Jul  1 14:21:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3541.  
  3542.     * numeric.c (flo_plus): should not allow addition with strings.
  3543.  
  3544. Wed Jul  1 13:09:01 1998  Keiju ISHITSUKA  <keiju@rational.com>
  3545.  
  3546.     * numeric.c (num_uminus): wrong coerce direction.
  3547.  
  3548. Tue Jun 30 10:13:44 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3549.  
  3550.     * io.c (f_p): accepts arbitrary number of arguments.
  3551.  
  3552.     * eval.c (rb_yield_0): there's some case that iterator_p() returns 
  3553.       true even if the_block was not set.  check added.
  3554.  
  3555. Tue Jun 30 01:05:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3556.  
  3557.     * eval.c (BEGIN_CALLARGS): adjust the_block before evaluating the
  3558.       receiver's value and the arguments.
  3559.  
  3560. Fri Jun 26 18:02:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3561.  
  3562.     * experimental release 1.1b9_28.
  3563.  
  3564. Fri Jun 26 11:01:26 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3565.  
  3566.     * string.c (str_aset_method): needed to convert to string.
  3567.  
  3568. Thu Jun 25 02:05:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3569.  
  3570.     * regex.c (re_search): optimize for `.*' at beginning of the
  3571.       pattern.
  3572.  
  3573.     * regex.c (re_search): optimize for character class repeat at
  3574.       beginning of the pattern.
  3575.  
  3576.     * regex.c (re_compile_pattern): detect optimization potential for
  3577.       the compiled patterns.
  3578.  
  3579. Thu Jun 25 00:02:26 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3580.  
  3581.     * re.c (reg_s_new): flag value was wrong.
  3582.  
  3583. Wed Jun 24 23:45:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3584.  
  3585.     * regex.c (re_search): wrong anchor handling for reverse search.
  3586.  
  3587. Wed Jun 24 02:18:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3588.  
  3589.     * parse.y (mlhs): `((a,b)),c = [[1,2]],3' assigns a=1,b=2,c=3.
  3590.  
  3591. Tue Jun 23 11:46:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3592.  
  3593.     * parse.y (yylex): `&&=' and `||=' added.
  3594.  
  3595. Sat Jun 20 02:53:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3596.  
  3597.     * parse.y (assignable): nesting local variables should have higher
  3598.        priority than normal local variables for assignment too.
  3599.  
  3600. Fri Jun 19 18:28:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3601.  
  3602.     * experimental release 1.1b9_27.
  3603.  
  3604. Fri Jun 19 14:34:49 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3605.  
  3606.     * eval.c (assign): support hack for nested multiple assignment.
  3607.  
  3608.     * parse.y (mlhs): nested multiple assignment.
  3609.  
  3610.     * eval.c (rb_eval): in-block variables now honors static scope.
  3611.  
  3612.     * configure.in: RSHIFT check moved to configure.
  3613.  
  3614. Thu Jun 18 16:46:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3615.  
  3616.     * experimental release 1.1b9_26.
  3617.  
  3618. Thu Jun 18 13:37:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3619.  
  3620.     * file.c (file_s_ftype): uses lstat(2) instead of stat(2).
  3621.  
  3622.     * dir.c (dir_s_glob): there can be buffer overrun, check added.
  3623.  
  3624.     * eval.c (f_binding): handles in-block variables declared after
  3625.       binding's generation.
  3626.  
  3627.     * numeric.c (flo_floor): floor, ceil, round added to Float.
  3628.  
  3629. Wed Jun 17 11:20:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3630.  
  3631.     * parse.y (gettable): nesting local variables should have higher
  3632.        priority than normal local variables.
  3633.  
  3634. Tue Jun 16 12:30:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3635.  
  3636.     * bignum.c (str2inum): handles `+ddd'.
  3637.  
  3638.     * struct.c (make_struct): name parameter can be nil for unnamed
  3639.       structures.
  3640.  
  3641. Mon Jun 15 16:30:10 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3642.  
  3643.     * object.c (class_s_inherited): prohibiting to make subclass of
  3644.       class Class.
  3645.  
  3646.     * object.c (module_s_new): support for making subclass of Module.
  3647.  
  3648.     * parse.y (yycompile): clear eval_tree before compiling.
  3649.  
  3650. Fri Jun 12 17:58:18 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3651.  
  3652.     * eval.c (eval): write back the_dyna_var into the block.
  3653.  
  3654. Thu Jun 11 18:19:18 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3655.  
  3656.     * experimental release 1.1b9_25.
  3657.  
  3658.     * eval.c (dvar_add_compiling): register dyna_var at compile time.
  3659.  
  3660.     * regex.c (re_compile_pattern): RE_DUP_MAX iteration is too big.
  3661.  
  3662. Wed Jun 10 15:12:04 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3663.  
  3664.     * io.c (io_eof): do not block other threads.
  3665.  
  3666.     * signal.c (trap): reserve SIGALRM for thread.
  3667.  
  3668.     * eval.c (thread_create): use ITIMER_REAL also to avoid system
  3669.       call blocking.
  3670.  
  3671.     * io.c (f_syscall): add TRAP_BEG, TRAP_END around system calls.
  3672.  
  3673.     * io.c (io_ctl): add TRAP_BEG, TRAP_END around system calls.
  3674.  
  3675.     * enum.c (enum_collect): did not collect false values.
  3676.  
  3677.     * array.c (ary_new2): forgot to initialize capa field.
  3678.  
  3679. Tue Jun  9 18:36:15 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3680.  
  3681.     * string.c (str_split_method): split dumped core for "\xff".
  3682.  
  3683. Tue Jun  9 16:22:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3684.  
  3685.     * experimental release 1.1b9_24.
  3686.  
  3687. Tue Jun  9 16:04:07 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3688.  
  3689.     * ext/kconv/kconv.c (kconv_guess): more precise decision for EUC,
  3690.       using jless algorithm (3 sequential EUC hiragana characters).
  3691.  
  3692. Tue Jun  9 15:12:44 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3693.  
  3694.     * ext/kconv/kconv.c (kconv_guess): wrong guess for EUC as SJIS in
  3695.       some cases (0xe0 - 0xef).
  3696.  
  3697.     * gc.c (xmalloc): insert size check for big (negative in signed)
  3698.       allocation size.
  3699.  
  3700. Tue Jun  9 02:54:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3701.  
  3702.     * lib/parsedate.rb: wday moved to the last in the return values.
  3703.  
  3704. Mon Jun  8 10:40:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3705.  
  3706.     * string.c (str_split_method): split dumped core for "\0".
  3707.  
  3708. Sat Jun  6 22:50:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3709.  
  3710.     * regex.c (calculate_must_string): wrong condition for
  3711.       {start,stop}_nowidth.
  3712.  
  3713.     * regex.c (re_match): various features imported from GNU regex.c
  3714.        0.12, such as nested grouping, avoiding infinite loop with empty
  3715.        match, etc.
  3716.  
  3717.     * regex.c (register_info_type): now use union.
  3718.  
  3719.     * regex.c (re_search): more precise anchor(^) check.
  3720.  
  3721. Wed Jun  3 18:07:54 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3722.  
  3723.     * re.c (reg_raise): check rb_in_compile, not rb_in_eval.
  3724.  
  3725. Mon Jun  1 05:26:06 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  3726.  
  3727.     * string.c (trnext): casting to signed char* needed.
  3728.  
  3729. Tue Jun  2 16:00:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3730.  
  3731.     * ext/socket/socket.c (udp_addrsetup): error check enhanced.
  3732.  
  3733.     * ext/socket/socket.c (sock_s_getservbyaname): use strtoul(), if
  3734.       possible.
  3735.  
  3736. Sat May 30 07:10:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3737.  
  3738.     * re.c (reg_prepare_re): no more needless regular expression
  3739.        recompile on casefold conditions.
  3740.  
  3741. Thu May 28 18:02:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3742.  
  3743.     * object.c (nil_plus): no more `+' method for nil.
  3744.  
  3745. Wed May 27 17:33:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3746.  
  3747.     * hash.c (hash_fetch): new method.
  3748.  
  3749.     * regex.c (re_search): check whether translate table is set.
  3750.  
  3751. Tue May 26 11:39:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3752.  
  3753.     * experimental release 1.1b9_23.
  3754.  
  3755.     * parse.y (yylex): no UPLUS/UMINUS for 1st argument if
  3756.       parenthesises are omitted.
  3757.  
  3758. Tue May 26 01:09:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3759.  
  3760.     * regex.c (re_compile_pattern): (?XI) for turns off the
  3761.       corresponding option.
  3762.  
  3763. Mon May 25 12:38:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3764.  
  3765.     * regex.c (re_compile_pattern): inline i option (?i).
  3766.  
  3767.     * regex.c (re_compile_pattern): inline x option (?x).
  3768.  
  3769.     * regex.c (re_compile_pattern): x option for regexp.
  3770.  
  3771.     * dir.c (dir_s_open): returns block's evaluated value.
  3772.  
  3773.     * io.c (f_open): returns block's evaluated value.
  3774.  
  3775.     * ext/curses/curses.c (curses_addstr): nil argument caused SEGV.
  3776.  
  3777. Fri May 22 11:52:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3778.  
  3779.     * regex.c (re_compile_pattern): push mark on (?:), so that
  3780.       laststart check for {a,b} can be done.
  3781.  
  3782. Thu May 21 17:31:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3783.  
  3784.     * regex.c (re_match): wrong match (too non-greedy) for `{a,b}?'.
  3785.  
  3786.     * io.c (io_lineno): new method IO#lineno, IO#lineno=.
  3787.  
  3788. Wed May 20 06:04:43 1998  MAEDA shugo  <shugo@aianet.ne.jp>
  3789.  
  3790.     * BeOS patch.
  3791.  
  3792. Wed May 20 16:32:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3793.  
  3794.     * bignum.c (BIGDN): use RSHIFT(), instead of mere `>>'.
  3795.  
  3796. Tue May 19 16:36:26 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3797.  
  3798.     * experimental release 1.1b9_22.
  3799.  
  3800. Tue May 19 16:31:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3801.  
  3802.     * parse.y (assignable): specification changed for in-block
  3803.        variable definition.
  3804.  
  3805.     * eval.c (dyna_var_asgn): error in in-block variables' compile
  3806.        time definition.
  3807.  
  3808.     * parse.y (str_extend): wrong nesting detection.
  3809.  
  3810. Tue May 19 09:47:55 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3811.  
  3812.     * numeric.c (num2int): re-defined (extensions may use this).
  3813.  
  3814. Mon May 18 16:40:50 1998  MAEDA shugo  <shugo@aianet.ne.jp>
  3815.  
  3816.     * error.c (get_syserr): BeOS support.
  3817.  
  3818.     * configure.in: modified for BeOS.
  3819.  
  3820.     * string.c (str_dump): do not call isascii().
  3821.  
  3822.     * sprintf.c (remove_sign_bits): forgot to initialize end pointer.
  3823.  
  3824.     * glob.c: #include <alloca.h> added.
  3825.  
  3826. Mon May 18 14:52:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3827.     
  3828.     * experimental release 1.1b9_21.
  3829.  
  3830. Mon May 18 03:27:57 1998  MAEDA shugo  <shugo@aianet.ne.jp>
  3831.  
  3832.     * file.c (file_s_expand_path): optional second argument
  3833.       `default_directory' added.
  3834.  
  3835. Sat May 16 22:06:52 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3836.  
  3837.     * error.c (RAISE_ERROR): wrong error message
  3838.  
  3839. Fri May 15 14:43:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3840.  
  3841.     * experimental release 1.1b9_20.
  3842.  
  3843. Thu May 14 14:44:21 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3844.  
  3845.     * sun4 cc patches for intern.h and regex.h.
  3846.  
  3847. Thu May 14 14:03:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3848.  
  3849.     * random.c (RANDOM_MAX): guessing proper maximum value for random
  3850.        numbers.
  3851.  
  3852.     * random.c (f_rand): use drand48 if possible.
  3853.  
  3854. Wed May 13 19:05:20 1998  MAEDA shugo  <shugo@aianet.ne.jp>
  3855.  
  3856.     * BeOS patches for io.c, error.c and config.guess.
  3857.  
  3858. Wed May 13 14:56:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3859.  
  3860.     * experimental release 1.1b9_19.
  3861.  
  3862.     * most of the Mac and BeOS patches merged, except path separators.
  3863.  
  3864.     * error.c (err_append): generated SyntaxError was String.
  3865.  
  3866.     * ruby.h: xxx2INT, xxx2UINT checks values as int, not long.
  3867.  
  3868.     * ruby.h: remove typedef's. INT, UINT, UCHAR, USHORT.
  3869.  
  3870. Tue May 12 17:38:00 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3871.  
  3872.     * experimental release 1.1b9_18.
  3873.  
  3874. Tue May 12 11:38:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3875.  
  3876.     * error.c (syserr_errno): returns errno of the SystemCallError.
  3877.  
  3878.     * error.c (rb_sys_fail): saves errno in the Exception.
  3879.  
  3880.     * error.c (set_syserr): no need to protect syserr_list.
  3881.  
  3882.     * error.c (rb_sys_fail): no more bufsize limit.
  3883.  
  3884.     * error.c (set_syserr): integer value of errno can be accessed by
  3885.       Errno::EXXX::Errno.
  3886.  
  3887. Sun May 10 03:10:33 1998  WATANABE Tetsuya  <tetsu@jpn.hp.com>
  3888.  
  3889.     * io.c (io_tell etc.): moved from File class to IO class.
  3890.  
  3891. Fri May  8 12:26:37 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3892.  
  3893.     * pack.c (pack_unpack): should be unsigned int (was signed int).
  3894.  
  3895. Thu May  7 16:34:10 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3896.  
  3897.     * pack.c (pack_pack): `V', `N' uses newly created NUM2UINT().
  3898.  
  3899.     * ruby.h (NUM2UINT): new macro.
  3900.  
  3901.     * bignum.c (big2uint): try to convert bignum into UINT.
  3902.  
  3903.     * re.c (reg_match): needed to return false for match with nil.
  3904.  
  3905.     * gc.c (obj_free): wrong condition to free string.
  3906.  
  3907. Wed May  6 21:08:08 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  3908.  
  3909.     * ruby.c (ruby_process_options): modified for DJGPP.
  3910.  
  3911. Wed May  6 15:48:03 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3912.  
  3913.     * experimental release 1.1b9_17.
  3914.  
  3915. Wed May  6 01:37:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3916.  
  3917.     * eval.c: remove global variable `errat'.
  3918.  
  3919.     * eval.c (rb_longjmp): embed error position information in the
  3920.        exception object.
  3921.  
  3922. Sat May  2 12:20:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3923.  
  3924.     * re.c (reg_search): supports reverse search.
  3925.  
  3926.     * string.c (str_index_method): does update $~ etc.
  3927.  
  3928.     * eval.c (f_load): needed to clear the_dyna_vars.
  3929.  
  3930.     * eval.c (dyna_var_asgn): do not push dyna_var, which is id == 0.
  3931.  
  3932.     * error.c (Init_Exception): NotImplementError is no longer
  3933.       StandardError, which is not handled by default rescue.
  3934.  
  3935. Fri May  1 00:35:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3936.  
  3937.     * ruby.c (proc_options): `-d' turns on verbose flag too.
  3938.  
  3939.     * error.c (exception): last argument may be the superclass of the
  3940.       defining exception(s).
  3941.  
  3942.     * io.c (Init_IO): EOFError is now subclass of the IOError.
  3943.  
  3944.     * io.c (Init_IO): forgot to define IOError.
  3945.  
  3946.     * error.c (Init_Exception): old Exception class renamed to
  3947.       StandardError.  Exception now replaces old GlobalExit.
  3948.  
  3949.     * error.c (Init_Exception): Exception is now the root of the
  3950.       Global Exits.  There's no longer GlobalExit class.
  3951.  
  3952.     * util.c (ruby_mktemp): check TMP, TMPDIR first.
  3953.  
  3954. Thu Apr 30 01:08:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3955.  
  3956.     * lib/tk.rb: call 'unknown', if proc not defined.
  3957.  
  3958.     * eval.c (handle_rescue): default rescue handles `Exceptional' not 
  3959.       only the instance of the `Exception's.
  3960.  
  3961.     * eval.c (f_raise): exception can be any object.
  3962.  
  3963.     * time.c (time_gm_or_local): call time_gmtime or time_localtime.
  3964.  
  3965.     * eval.c (f_raise): raises TypeError if the class which is not a
  3966.       subclass of String is specified (checked in exc_new()).
  3967.  
  3968.     * error.c (exc_new): need to check whether invalid class (not a
  3969.       subclass of String) is specified.
  3970.  
  3971. Wed Apr 29 21:05:44 1998  WATANABE Hirofumi  <eban@os.rim.or.jp>
  3972.  
  3973.     * ruby.c (proc_options): option '-e' via tempfile.
  3974.  
  3975. Tue Apr 28 15:27:58 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3976.  
  3977.     * experimental release 1.1b9_16.
  3978.  
  3979. Tue Apr 28 00:07:38 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3980.  
  3981.     * eval.c (obj_is_proc): type check predicate.
  3982.  
  3983.     * eval.c (obj_is_block): ditto.
  3984.  
  3985. Mon Apr 27 16:59:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3986.  
  3987.     * ext/gtk/gtk.c (Init_gtk): use timeout, not idle to avoid
  3988.       comsuming CPU too much.
  3989.  
  3990.     * lib/tk.rb: use tcltklib#_invoke instead of `_eval'.
  3991.  
  3992. Mon Apr 27 16:59:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  3993.  
  3994.     * array.c (ary_sort): use dup, not clone.
  3995.  
  3996. Mon Apr 27 13:46:27 1998  Tadahiro Maebashi  <maebashi@iij.ad.jp>
  3997.  
  3998.     * ext/tcltklib/tcltklib.c (ip_invoke): invoke tcl command
  3999.       directly.  need not worry about escaping tcl characters.
  4000.  
  4001. Mon Apr 27 12:04:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4002.  
  4003.     * random.c (f_rand): do not call srand() implicitly.
  4004.  
  4005. Fri Apr 24 14:35:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4006.  
  4007.     * experimental release 1.1b9_15.
  4008.  
  4009.     * parse.y (assignable): dyna_var_asgn actually defines nested
  4010.       local variables in outer context.
  4011.  
  4012.     * random.c (f_rand): call srand(), if it has not called yet.
  4013.  
  4014.     * random.c (f_srand): use tv_usec as the default seed.
  4015.  
  4016.     * eval.c (rb_eval): values of nested local variables should be
  4017.        independent.
  4018.  
  4019.     * eval.c (rb_yield_0): local variables wrong nested conditions.
  4020.  
  4021. Wed Apr 22 23:27:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4022.  
  4023.     * io.c (select_get_io): get IO object by `to_io'.
  4024.  
  4025.     * io.c (io_to_io): method to retrieve IO object, from delegating
  4026.        object for example.
  4027.  
  4028. Wed Apr 22 16:52:37 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4029.  
  4030.     * experimental release 1.1b9_14.
  4031.  
  4032.     * string.c (str_modify): check for embedded pointer reference.
  4033.  
  4034.     * gc.c (obj_free): ditto.
  4035.  
  4036.     * pack.c (pack_pack): p/P template to embed pointers.
  4037.  
  4038. Wed Apr 22 00:07:10 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4039.  
  4040.     * array.c (ary_rindex): embarrassing typo.
  4041.  
  4042. Tue Apr 21 12:31:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4043.  
  4044.     * experimental release 1.1b9_13.
  4045.  
  4046.     * configure.in (RUBY_LIB): supports --program-{prefix,suffix}.
  4047.  
  4048.     * array.c (ary_rindex): new method.
  4049.  
  4050.     * io.c (io_binmode): should return self.
  4051.  
  4052. Tue Apr 21 08:23:04 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4053.  
  4054.     * parse.y (here_document): calling parse_string with wrong
  4055.       arguments.
  4056.  
  4057.     * struct.c (struct_aset): problem member assignment with name.
  4058.  
  4059. Mon Apr 20 14:47:49 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4060.  
  4061.     * experimental release 1.1b9_12.
  4062.  
  4063.     * time.c (time_arg): args may be string (support for reduced
  4064.       implicit type conversion).
  4065.  
  4066.     * lib/base64.rb: changed to use pack/unpack with `m' template.
  4067.  
  4068. Mon Apr 20 06:23:20 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4069.  
  4070.     * variable.c (mod_remove_const): new method.
  4071.  
  4072. Sat Apr 18 03:53:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4073.  
  4074.     * hash.c (hash_each_with_index): removed.  use Enumerable's
  4075.       each_with_index instead.
  4076.  
  4077.     * class.c (rb_include_module): check for super modules, since
  4078.        module's included modules may be changed.
  4079.  
  4080. Fri Apr 17 21:50:47 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4081.  
  4082.     * marshal.c (r_long): r_byte() may return signed byte.
  4083.  
  4084. Fri Apr 17 11:58:30 1998  NAGAI Hidetoshi  <nagai@dumbo.ai.kyutech.ac.jp>
  4085.  
  4086.     * ext/tcltklib/tcltklib.c (lib_mainloop): thread and interrupt check.
  4087.  
  4088. Fri Apr 17 11:06:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4089.  
  4090.     * eval.c (find_file): try to fopen() to check whether file exists.
  4091.  
  4092.     * ruby.c (load_file): ditto.
  4093.  
  4094.     * struct.c (struct_aset): struct member can be set by member name.
  4095.  
  4096. Fri Apr 17 00:47:19 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4097.  
  4098.     * ext/extmk.rb.in: added m68k-human support
  4099.  
  4100.     * file.c (LOCK_SH): defines moved.
  4101.  
  4102.     * array.c (ary_flatten_bang): simplified loop.
  4103.  
  4104. Thu Apr 16 16:52:01 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4105.  
  4106.     * experimental release 1.1b9_11.
  4107.  
  4108.     * lib/tk.rb: thread support (experimental - maybe slow).
  4109.  
  4110.     * eval.c (rb_longjmp): trace event on exception in raising
  4111.        context, just before raising exception.
  4112.  
  4113.     * struct.c (struct_s_members): forgot to check singletons.
  4114.  
  4115.     * struct.c (struct_aref): members can be accessed by names too.
  4116.  
  4117.     * array.c (ary_flatten): new method.
  4118.  
  4119.     * eval.c (rb_longjmp): prints exception information with `-d'.
  4120.  
  4121.     * object.c (any_to_s): remove class name restriction.
  4122.  
  4123. Thu Apr 16 01:38:02 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4124.  
  4125.     * file.c (thread_flock): do not block other threads.
  4126.  
  4127.     * eval.c (thread_trap_eval): signals are now delivered to the
  4128.        current thread again.  In case that the current thread is dead,
  4129.        signals are forwarded to the main thread.
  4130.  
  4131.     * string.c (str_new4): need not to duplicate frozen strings.
  4132.  
  4133. Wed Apr 15 08:33:47 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4134.  
  4135.     * struct.c (struct_inspect): remove restriction for struct names.
  4136.  
  4137. Wed Apr 15 02:55:02 1998  Kazuya 'Sharl' Masuda  <sharl@www.ufo.co.jp>
  4138.  
  4139.     * x68 patches to config.sub, ext/extmk.rb.in
  4140.  
  4141. Wed Apr 15 01:22:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4142.  
  4143.     * string.c (str_dup_frozen): do not duplicate frozen strings.
  4144.  
  4145.     * parse.y (yylex): allow nested parenthesises.
  4146.  
  4147.     * io.c (obj_displayln): prints newline after `display'ing the
  4148.       receiver.
  4149.  
  4150.     * io.c (io_puts): avoid generating "\n" each time.  use RS_default
  4151.        instead.
  4152.  
  4153.     * io.c (f_p): ditto.
  4154.  
  4155. Tue Apr 14 22:18:17 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4156.  
  4157.     * struct.c (struct_aref): should not subtract negative index.
  4158.  
  4159. Tue Apr 14 11:34:50 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4160.  
  4161.     * experimental release 1.1b9_10.
  4162.  
  4163.     * parse.y: token names prefixed by `t'.
  4164.  
  4165.     * struct.c (struct_s_def): supports subclassing of Struct.
  4166.  
  4167.     * io.c (io_s_new): supports subclassing of IO.
  4168.  
  4169. Mon Apr 13 11:07:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4170.  
  4171.     * eval.c (f_binding): need to restore method name.
  4172.  
  4173.     * eval.c (rb_call0): raises SystemStackError, not Fatal.
  4174.  
  4175.     * io.c (obj_display): same as `print self'.
  4176.  
  4177.     * io.c (f_p): can now be called in the method form.
  4178.  
  4179.     * re.c (reg_regsub): needed to be mbchar aware.
  4180.  
  4181. Mon Apr 13 13:18:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4182.  
  4183.     * eval.c (thread_trap_eval): all signals delivered to main_thread.
  4184.  
  4185. Mon Apr 13 12:47:03 1998  TAKAHASHI Masayoshi  <maki@inac.co.jp>
  4186.  
  4187.     * re.c (kcode_set_option): did not set SJIS on SJIS condition.
  4188.  
  4189. Sun Apr 12 22:14:07 1998  Kazunori NISHI  <kazunori@swlab.csce.kyushu-u.ac.jp>
  4190.  
  4191.     * array.c (ary_uniq_bang): should be `==', not `='. embarrassing.
  4192.  
  4193. Sat Apr 11 02:13:30 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4194.  
  4195.     * array.c (ary_subseq): SEGVed for `[][1,1]'.
  4196.  
  4197. Fri Apr 10 21:29:06 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4198.  
  4199.     * array.c (ary_subseq): add check for beg larger than array length.
  4200.  
  4201. Wed Apr  8 17:24:11 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
  4202.  
  4203.     * dir.c (dir_s_open): can be called with block (like IO#open).
  4204.  
  4205.     * dir.c (dir_s_chdir): print directory path on error.
  4206.  
  4207.     * dir.c (dir_s_chroot): ditto
  4208.  
  4209.     * dir.c (Init_Dir): needed to override `new'.
  4210.  
  4211. Thu Apr  9 18:24:58 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4212.  
  4213.     * experimental release 1.1b9_09.
  4214.  
  4215.     * string.c (str_cmp): do not depend on sentinel at the end of the
  4216.       strings. 
  4217.  
  4218.     * string.c (str_chomp_bang): forgot to set the sentinel.
  4219.  
  4220. Wed Apr  8 00:59:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4221.  
  4222.     * bignum.c (big2int): converted int may be too big to fit in
  4223.       signed int.
  4224.  
  4225.     * parse.y (arg): `foo += 1' should not cause an error.
  4226.  
  4227.     * variable.c (rb_const_defined): returned false even if the
  4228.       constant is defined at the top level.
  4229.  
  4230.     * eval.c (f_local_variables): dyna_var->id may be null.  should
  4231.       have checked before calling str_new2().
  4232.  
  4233. Tue Apr  7 01:15:15 1998  Kaneko Naoshi  <wbs01621@mail.wbs.or.jp>
  4234.  
  4235.     * re.c (reg_regsub): need to check string boundary.
  4236.  
  4237. Tue Apr  7 19:19:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4238.  
  4239.     * string.c (str_cmp): returns either 1, 0, -1.
  4240.  
  4241.     * array.c (ary_cmp): should check array length, too
  4242.  
  4243. Tue Apr  7 18:50:16 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4244.  
  4245.     * experimental release 1.1b9_08.
  4246.  
  4247. Tue Apr  7 18:31:27 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4248.  
  4249.     * instruby.rb (mandir): dll installation for cygwin32
  4250.  
  4251. Tue Apr  7 01:16:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4252.  
  4253.     * config.sub (maybe_os): TOWNS support?
  4254.  
  4255.     * config.guess: too strict check for libc versions on linuxes.
  4256.  
  4257.     * experimental release 1.1b9_07.
  4258.  
  4259.     * array.c (ary_cmp): compare each element using `<=>'.
  4260.  
  4261.     * hash.c (hash_each_with_index): yields [value, key] pair.
  4262.  
  4263.     * class.c (class_protected_instance_methods): list protected
  4264.       method names.
  4265.  
  4266.     * class.c (ins_methods_i): exclude protected methods.
  4267.  
  4268.     * eval.c (PUSH_BLOCK): dynamic variables can be accessed from
  4269.        eval() with bindings.
  4270.  
  4271. Mon Apr  6 14:49:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4272.  
  4273.     * eval.c (thread_yield): must return evaluated value.
  4274.  
  4275. Fri Apr  3 13:07:29 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4276.  
  4277.     * eval.c (thread_schedule): context switch bypassed on wrong
  4278.       conditions.
  4279.  
  4280.     * variable.c (rb_name_class): set classname by id before String
  4281.        class is initialized (1.0 behavior restored).
  4282.  
  4283. Fri Apr  3 11:25:45 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4284.  
  4285.     * numeric.c (num2int): no implicit conversion from string.
  4286.  
  4287.     * numeric.c (num2int): check whether `to_i' returns an Integer.
  4288.  
  4289.     * numeric.c (num_zero_p): new method.
  4290.  
  4291.     * numeric.c (num_nonzero_p): new method.  returns the receiver if
  4292.        it's not zero.
  4293.  
  4294.     * eval.c (obj_instance_eval): the_class should be the object's
  4295.       singleton class.
  4296.  
  4297.     * error.c (exc_s_new): message is converted into a string.
  4298.  
  4299. Thu Apr  2 18:31:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4300.  
  4301.     * eval.c (obj_call_init): every object call `initialize'.
  4302.  
  4303. Wed Apr  1 08:51:53 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4304.  
  4305.     * parse.y (stmt): UNTIL_MOD should be for stmt, not only for expr.
  4306.  
  4307. Wed Apr  1 01:20:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4308.  
  4309.     * object.c (true_and): boolean operators &, | and ^.
  4310.  
  4311. Tue Mar 31 13:23:58 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4312.  
  4313.     * array.c (ary_compact_bang): returns nil, if it does not modify
  4314.       the array like String's bang methods.
  4315.  
  4316.     * array.c (ary_uniq_bang): new method to remove duplicate items.
  4317.  
  4318.     * eval.c (bind_s_new): new method.
  4319.  
  4320.     * numeric.c (num2int): raise exception if Fixnums too big to
  4321.        convert into `int' in case that sizeof(int) < sizeof(INT).
  4322.  
  4323.     * string.c (str_center): SEGV on negative width.
  4324.  
  4325.     * eval.c (eval): forgot to set sourcefile.
  4326.  
  4327. Mon Mar 30 11:12:29 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4328.  
  4329.     * file.c (f_test): raises exception for unkown command.
  4330.  
  4331.     * eval.c (Init_eval): `class_eval': alias to the module_eval.
  4332.  
  4333. Mon Mar 30 18:50:42 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4334.  
  4335.     * string.c (str_capitalize_bang): did not check string modification.
  4336.  
  4337.     * string.c (str_delete_bang): wrong conversion.
  4338.  
  4339.     * string.c (str_intern): typo in error message.
  4340.  
  4341. Mon Mar 30 01:44:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4342.  
  4343.     * eval.c (obj_instance_eval): accepts block as evaluation body.
  4344.       No compilation needed each time.
  4345.  
  4346.     * eval.c (mod_module_eval): ditto
  4347.  
  4348.     * file.c (file_s_umask): umask did not return old values, if no
  4349.        argument given.
  4350.  
  4351. Sun Mar 29 00:54:23 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4352.  
  4353.     * eval.c (f_throw): nil returned always.
  4354.  
  4355. Sat Mar 28 20:40:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4356.  
  4357.     * experimental release 1.1b9_06.
  4358.  
  4359. Sat Mar 28 16:07:11 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4360.  
  4361.     * io.c (io_closed): should not cause exception for closed IO.
  4362.  
  4363.     * string.c (str_tr): returned nil for success.
  4364.  
  4365. Sat Mar 28 00:47:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4366.  
  4367.     * eval.c (f_local_variables): new method to return an array of
  4368.        local variable names.
  4369.  
  4370.     * variable.c (obj_instance_variables): now returns an array of
  4371.       variable names, as described in the reference.
  4372.  
  4373.     * eval.c (rb_attr): honors default method visibility of the
  4374.       current scope.
  4375.  
  4376. Fri Mar 27 13:49:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4377.  
  4378.     * experimental release 1.1b9_05.
  4379.  
  4380.     * ruby.c (ruby_prog_init): `site_ruby' added to load_path.
  4381.  
  4382.     * ruby.c (ruby_prog_init): load-path order changed.  Paths in
  4383.        the RUBYLIB environment variable comes first in non-tainted
  4384.        mode.
  4385.  
  4386. Thu Mar 26 11:51:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4387.  
  4388.     * eval.c (rb_call): new feature: `protected' methods.
  4389.  
  4390.     * string.c (str_dump): new method.
  4391.  
  4392.     * eval.c (block_pass): block argument can be nil, which means no
  4393.       block is supplied for the method.
  4394.  
  4395. Wed Mar 25 21:20:13 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4396.  
  4397.     * string.c (str_reverse_bang): string copied to wrong place.
  4398.  
  4399. Wed Mar 25 08:12:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4400.  
  4401.     * numeric.c (flo_modulo): caused SEGV if left operand is not a
  4402.        float value.
  4403.  
  4404.     * eval.c (f_eval): optional third and fourth argument to specify
  4405.       file-name and line-number.
  4406.  
  4407.     * eval.c (eval): file-name and line-number set properly.
  4408.  
  4409.     * parse.y (assign_in_cond): literal assignment is now warning, not 
  4410.       compile error.
  4411.  
  4412.     * error.c (Warn): Warn() always print message, OTOH Waring()
  4413.       prints when verbose flag is set.
  4414.  
  4415. Tue Mar 24 12:50:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4416.  
  4417.     * ruby.c (ruby_prog_init): `.' should come last in the load-path.
  4418.  
  4419.     * eval.c (Init_eval): `__send__', alias for `send'.
  4420.  
  4421. Mon Mar 23 12:44:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4422.  
  4423.     * string.c (str_chomp_bang): now takes `rs' as an argument.
  4424.  
  4425.     * eval.c (thread_free): main_thread should not be freed.
  4426.  
  4427. Fri Mar 20 16:40:34 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4428.  
  4429.     * string.c (str_chomp_bang): chomp! (and other ! methods) returns
  4430.        nil if it does not modify the string.
  4431.  
  4432.     * string.c (str_sub_iter_s): should check last pattern since it
  4433.        may be matched to null.
  4434.  
  4435. Thu Mar 19 13:48:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4436.  
  4437.     * experimental release 1.1b9_04.
  4438.  
  4439.     * parse.y (yylex): `10e0.9' should cause syntax error.
  4440.  
  4441. Wed Mar 18 17:46:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4442.  
  4443.     * ruby.c (load_file): new file object constant DATA.  Only
  4444.       available for the script from the file.
  4445.  
  4446.     * regex.c (re_match): forwading failure point popped too much. 
  4447.  
  4448. Tue Mar 17 18:23:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4449.  
  4450.     * math.c (math_frexp): newly added.
  4451.  
  4452.     * math.c (math_ldexp): ditto.
  4453.  
  4454.     * bignum.c (bigdivmod): calculates modulo.
  4455.  
  4456.     * numeric.c (fix_remainder): returns reminder, formerly introduced
  4457.        as modulo.
  4458.  
  4459.     * numeric.c (fix_modulo): calculates proper `modulo'.
  4460.  
  4461.     * bignum.c (bigdivmod): wrong sign for reminder.
  4462.  
  4463. Mon Mar 16 17:07:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4464.  
  4465.     * experimental release 1.1b9_03.
  4466.  
  4467. Mon Mar 16 16:33:53 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4468.  
  4469.     * io.c (pipe_finalize): needed to add pipe_finalize to pipes on
  4470.       cygwin32.
  4471.  
  4472. Mon Mar 16 14:11:06 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4473.  
  4474.     * class.c (ins_methods_i): needed to consider NOEX_UNDEF.
  4475.  
  4476. Mon Mar 16 13:23:53 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4477.  
  4478.     * io.c (io_check_closed): check for `fptr->f2 == NULL'.
  4479.  
  4480.     * io.c (io_fptr_close): ditto.
  4481.  
  4482. Mon Mar 16 11:49:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4483.  
  4484.     * io.c (pipe_atexit): free()ing referencing pipe_list.
  4485.  
  4486.     * range.c (range_length): returns zero, if the first is greater
  4487.       than the last.
  4488.  
  4489.     * signal.c (trap_restore_mask): restore signal mask before raising 
  4490.       exceptions and throws.
  4491.  
  4492. Fri Mar 13 13:49:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4493.  
  4494.     * experimental release 1.1b9_02.
  4495.  
  4496.     * object.c (mod_clone): need to dups constants and instance
  4497.       variables.
  4498.  
  4499.     * eval.c (rb_eval): forgot to initialize body for NODE_DEFS.
  4500.  
  4501.     * eval.c (rb_eval): retrieve self from calling frame, since self
  4502.       changes sometimes.
  4503.  
  4504.     * env.h (FRAME): need to save self in the calling frame.
  4505.  
  4506.     * io.c (f_gets_method): rs should be initialized by RS.
  4507.  
  4508. Thu Mar 12 15:33:57 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4509.  
  4510.     * experimental release 1.1b9_01.
  4511.  
  4512.     * range.c (range_s_new): check values by `first <= last'.
  4513.  
  4514.     * parse.y (lastline_set): fixed offset for $_ and $~ in the local
  4515.       variable space.
  4516.  
  4517. Wed Mar 11 02:14:17 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4518.  
  4519.     * io.c (io_gets): handle normal case specially for speed.
  4520.  
  4521.     * eval.c (rb_disable_super): function to disable superclass's
  4522.       method explicitly.
  4523.  
  4524.     * eval.c (rb_eval): inherits previous method definition's
  4525.       NOEX_UNDEF-ness, if exists.
  4526.  
  4527.     * class.c (rb_define_method): disables superclass's overriding
  4528.        method by default.
  4529.  
  4530. Wed Mar 11 01:40:48 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
  4531.  
  4532.     * numeric.c (flo_gt,etc.): do not depend on `<=>', to handle NaN.
  4533.  
  4534. Tue Mar 10 00:03:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4535.  
  4536.     * ruby.c (load_file): understands multiple options in #! line.
  4537.  
  4538.     * regex.c (re_compile_pattern): support for [:alpha:] etc.
  4539.  
  4540. Mon Mar  9 16:53:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4541.  
  4542.     * io.h (GetOpenFile): embed io_check_closed in GetOpenFile.
  4543.  
  4544.     * sprintf.c (f_sprintf): zero padding failed for negative
  4545.       integers.
  4546.  
  4547.     * sprintf.c (remove_sign_bits): failed to remove some bits.
  4548.  
  4549. Sat Mar  7 21:51:46 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
  4550.  
  4551.     * class.c (ins_methods_i): body may be NULL for some case.
  4552.  
  4553. Fri Mar  6 17:23:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4554.  
  4555.     * regex.c (mbcinit): table driven mbchar detection.
  4556.  
  4557.     * object.c (obj_alloc): check for allocating instance for the
  4558.       primitive classes (mostly perfect).
  4559.  
  4560.     * ext/curses/curses.c (curses_finalize): restore original state at 
  4561.       interpreter temination.
  4562.  
  4563.     * ext/curses/curses.c (curses_addstr): forgot to check argument
  4564.       type (caused SEGV).  now uses STR2CSTR() macro.
  4565.  
  4566. Thu Mar  5 13:47:39 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4567.  
  4568.     * eval.c (block_pass): accepts method object as block args.
  4569.  
  4570.     * eval.c (f_missing): use any_to_s() for stringify.
  4571.  
  4572. Wed Mar  4 01:39:52 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4573.  
  4574.     * parse.y (block_arg): new syntax - block argument in the
  4575.       calling arglist.
  4576.  
  4577.     * eval.c (rb_call): no module search. simplified a lot.
  4578.  
  4579.     * eval.c (rb_eval): block arg support.
  4580.  
  4581.     * parse.y (f_block_arg): new syntax - block argument in the
  4582.        formal arglist.
  4583.  
  4584. Tue Mar  3 14:20:15 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4585.  
  4586.     * eval.c (obj_method): returns bound method object.
  4587.  
  4588.     * eval.c (rb_call): argument check for empty methods.
  4589.  
  4590.     * ruby.h (NUM2CHR): new macro, originally from curses module.
  4591.  
  4592. Tue Mar  3 13:03:35 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
  4593.  
  4594.     * io.c (io_putc): new method.
  4595.  
  4596. Tue Mar  3 11:21:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4597.  
  4598.     * string.c (str_inspect): more strict charcode detection.
  4599.  
  4600.     * eval.c (thread_stop): stopping only thread raises ThreadError
  4601.       exception.
  4602.  
  4603. Tue Mar  3 08:04:56 1998  Tadayoshi Funaba  <tadf@kt.rim.or.jp>
  4604.  
  4605.     * struct.c (struct_alloc): imcomplete struct initialization made
  4606.        GC to access unallocated addresses.
  4607.  
  4608. Mon Mar  2 16:28:27 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4609.  
  4610.     * eval.c (thread_stop_method): remove Thread#stop.
  4611.  
  4612. Fri Feb 27 18:16:26 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4613.  
  4614.     * version 1.1b9 released.
  4615.  
  4616. Fri Feb 27 09:36:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4617.  
  4618.     * hash.c (hash_delete_nil): needed to compare value to nil, since
  4619.       nil is the valid key for hashes.
  4620.  
  4621.     * hash.c (hash_foreach_iter): rehashing causes IndexError.
  4622.  
  4623.     * hash.c (hash_foreach_iter): rehash check by pointer comparison.
  4624.  
  4625. Thu Feb 26 17:22:13 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4626.  
  4627.     * parse.y (fname): convert reswords into symbols.
  4628.  
  4629.     * parse.y (reswords): reserved words are now embedded in the
  4630.        syntax (sigh).
  4631.  
  4632.     * parse.y: now reserved words can be method names safely.
  4633.  
  4634. Wed Feb 25 15:50:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4635.  
  4636.     * eval.c (mod_module_eval): clear the_scope's PRIVATE flag before
  4637.       calling eval().
  4638.  
  4639.     * gc.c (gc_call_finalizer_at_exit): run finalizers before any data 
  4640.       object being freed.
  4641.  
  4642.     * eval.c (rb_eval): needed to keep prot_tag->retval before
  4643.       evaluating the ensure clause.
  4644.  
  4645. Tue Feb 24 11:16:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4646.  
  4647.     * parse.y (yylex): reserved words can be appear as method names at
  4648.        right after 'def' and `.'(dot), like foo.next.
  4649.  
  4650.     * eval.c (return_check): checks for return out of thread (formerly
  4651.        done in return_value).
  4652.  
  4653.     * eval.c (POP_TAG): copy retval to outer level.
  4654.  
  4655.     * eval.c (return_value): just set retval, no check, no unwinding.
  4656.  
  4657.     * parse.y (nextc): line continuation by backslash at end of line.
  4658.  
  4659.     * regex.c (re_compile_pattern): forgot to clear pending_exact on
  4660.       closing parentheses.
  4661.  
  4662.     * parse.y (assignable): should not assign dyna_var to true, if it
  4663.        is already defined.
  4664.  
  4665. Mon Feb 23 14:35:03 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4666.  
  4667.     * object.c (obj_is_kind_of): no longer accepts true/false/nil.
  4668.  
  4669.     * object.c ({true,false,nil}_to_i): can be converted into integers.
  4670.  
  4671. Mon Feb 23 12:11:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4672.  
  4673.     * re.c (reg_s_quote): needed to be mbchar aware.
  4674.  
  4675.     * eval.c (proc_s_new): wrong iter mark.
  4676.  
  4677. Sat Feb 21 22:59:30 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
  4678.  
  4679.     * io.c (f_syscall): no argument check.
  4680.  
  4681. Fri Feb 20 10:17:51 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4682.  
  4683.     * version 1.1b8 released.
  4684.  
  4685.     * ext/kconv/kconv.c (kconv_kconv): default output code now be
  4686.       determined according to the value of $KCODE.
  4687.  
  4688.     * re.c (rb_get_kcode): can retrieve $KCODE from C code. 
  4689.  
  4690.     * parse.y (stmt): if/unless modifiers returns nil, if condition is 
  4691.       not established.
  4692.  
  4693. Thu Feb 19 11:06:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4694.  
  4695.     * ext/kconv/kconv.c (kconv_kconv): charcode can be specified by
  4696.       code name (JIS, SJIS, EUC like value of $KCODE).
  4697.  
  4698.     * regex.c (re_compile_pattern): forgot to fixup_jump for (?:..).
  4699.  
  4700.     * regex.c (re_compile_pattern): needed to clear pending_exact on
  4701.       non-registering grouping (?:...).
  4702.  
  4703. Wed Feb 18 19:54:21 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4704.  
  4705.     * parse.y (here_document): needed to set lex_state to EXPR_END.
  4706.  
  4707. Wed Feb 18 18:45:10 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4708.  
  4709.     * patches for cygwin32 applied.
  4710.  
  4711. Wed Feb 18 00:41:31 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4712.  
  4713.     * string.c (str_sub_s): needed to be mbchar aware to increment one
  4714.        character.
  4715.  
  4716.     * regex.c (re_match): \Z matches newline just before the end of
  4717.       the string.
  4718.  
  4719. Tue Feb 17 00:04:32 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4720.  
  4721.     * time.c (time_arg): Time.gm and Time.local now understands
  4722.        Time#to_a format.
  4723.  
  4724.     * string.c (str_sub_s): replace happened twice for null pattern.
  4725.  
  4726.     * regex.c (re_search): null pattern should not match after newline 
  4727.       at the end of string.
  4728.  
  4729.     * time.c (time_isdst): now returns boolean value.
  4730.  
  4731.     * error.c (rb_check_type): treat special constants in messages.
  4732.  
  4733.     * parse.y (yylex): new form `::Const' to see toplevel constants.
  4734.  
  4735.     * parse.y (cond): SEGV on `if ()'.
  4736.  
  4737.     * gc.c (obj_free): some data needed explicit free().
  4738.  
  4739. Mon Feb 16 23:55:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4740.  
  4741.     * eval.c (blk_free): release duplicated block informations.
  4742.  
  4743.     * eval.c (blk_copy_prev): duplicate outer block information into
  4744.        the heap, when proc/binding created.
  4745.  
  4746. Mon Feb 16 14:38:25 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4747.  
  4748.     * time.c (time_mon): now 1 for January and so on.
  4749.  
  4750.     * time.c (time_year): year in 19xx (no + 1900 needed anymore).
  4751.  
  4752. Mon Feb 16 13:28:33 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4753.  
  4754.     * regex.c (re_compile_pattern): need to fetch mbchar's second byte
  4755.        without translation.
  4756.  
  4757. Mon Feb 16 12:29:27 1998  MAEDA shugo  <shugo@po.aianet.ne.jp>
  4758.  
  4759.     * eval.c (f_pass_block): pass iterator block to other method.
  4760.  
  4761. Fri Feb 13 08:16:11 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4762.  
  4763.     * parse.y (parse_regx): handle \s before read_escape().
  4764.  
  4765.     * parse.y (read_escape): `\s' in strings as space.
  4766.  
  4767. Tue Feb 10 17:29:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4768.  
  4769.     * version 1.1b7 released.
  4770.  
  4771.     * string.c (str_aset): string insertion by `str[n] = str2'.
  4772.  
  4773.     * string.c (str_oct): does recognize `0x'.
  4774.  
  4775.      * sprintf.c (f_sprintf): use baes 10 for conversion from string to
  4776.        integer.
  4777.  
  4778. Mon Feb  9 14:51:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4779.  
  4780.     * numeric.c (do_coerce): proper error message.
  4781.  
  4782.     * string.c (str_sum): bug - masked by wrong value. (sigh..)
  4783.  
  4784. Sat Feb  7 15:11:14 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4785.  
  4786.     * string.c (str_empty): new method
  4787.  
  4788. Fri Feb  6 01:42:15 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4789.  
  4790.     * time.c (time_asctime): use asctime(3), not strftime(3).
  4791.  
  4792. Thu Feb  5 18:58:46 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4793.  
  4794.     * io.c (io_fptr_close): do not free path on close().
  4795.  
  4796.     * array.c (ary_filter): new method.
  4797.  
  4798.     * enum.c (enum_each_with_index): new method.
  4799.  
  4800. Thu Feb  5 14:10:35 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4801.  
  4802.     * parse.y (primary): singleton class def can be appeared inside
  4803.        method bodies.
  4804.  
  4805.     * hash.c (hash_replace): replace content.
  4806.  
  4807.     * string.c (str_replace_method): replace content.
  4808.  
  4809.     * array.c (ary_replace_method): replace elements.
  4810.  
  4811.     * string.c (str_succ_bang): String#succ!
  4812.  
  4813. Thu Feb  5 18:20:30 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4814.  
  4815.     * string.c (str_upcase_bang): multi byte character support.
  4816.  
  4817. Wed Feb  4 13:55:26 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4818.  
  4819.     * array.c (ary_reverse): SEGV on empty array reverse.
  4820.  
  4821. Tue Feb  3 12:24:07 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4822.  
  4823.     * re.c (match_to_a): non matching element should be nil.
  4824.  
  4825.     * ruby.c (ruby_load_script): load script after all initialization.
  4826.  
  4827.     * bignum.c (str2inum): need to interpret prefix `0' of `0x'.
  4828.  
  4829. Tue Feb  3 10:00:18 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4830.  
  4831.     * numeric.c (fix_rshift): use `sizeof(INT)*8' instead of 32.
  4832.  
  4833. Mon Feb  2 14:09:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4834.  
  4835.     * ruby.c (set_arg0): grab environment region too.
  4836.  
  4837. Thu Jan 29 18:36:25 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4838.  
  4839.     * process.c (rb_proc_exec): check `sh' to be exist.
  4840.  
  4841. Thu Jan 29 18:18:19 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4842.  
  4843.     * io.c (io_stdio_set): assignment to $stdin or $stdout does
  4844.       reopen() as well as $stderr.
  4845.  
  4846. Thu Jan 29 14:18:40 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4847.  
  4848.     * class.c (mod_ancestors): should not include singleton classes.
  4849.  
  4850.     * object.c (obj_type): should not return internal class.
  4851.  
  4852.     * io.c (io_reopen): unwillingly closes stdio streams.
  4853.  
  4854. Thu Jan 29 11:50:35 1998  Toshihiko SHIMOKAWA  <toshi@csce.kyushu-u.ac.jp>
  4855.  
  4856.     * ext/socket/socket.c (udp_addrsetup): forgot to use htons().
  4857.  
  4858. Tue Jan 27 23:15:24 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4859.  
  4860.     * keywords: __FILE__, __LINE__ are available again.
  4861.  
  4862. Fri Jan 23 14:19:28 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4863.  
  4864.     * version 1.1b6 released.
  4865.  
  4866.     * object.c (mod_to_s): need to duplicate classpath.
  4867.  
  4868.     * error.c (exc_inspect): need to duplicate classpath.
  4869.  
  4870. Thu Jan 22 00:37:47 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4871.  
  4872.     * ruby.h (STR2CSTR): new macro to retrieve char*.
  4873.  
  4874.     * class.c (rb_define_method): `initialize' should always be
  4875.       private, even if it defined by C extensions.
  4876.  
  4877.     * eval.c (rb_eval): `initialize' should always be private.
  4878.  
  4879. Thu Jan 22 16:21:08 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4880.  
  4881.     * eval.c (rb_eval): some singleton class def cause SEGV.
  4882.  
  4883.     * eval.c (TMP_ALLOC): replace ALLOCA_N, where thread context
  4884.        switch may happen.
  4885.  
  4886. Wed Jan 21 01:43:42 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4887.  
  4888.     * eval.c (PUSH_FRAME): do not use ALLOCA_N().  crash on some
  4889.       platforms that use missing/alloca.c.
  4890.  
  4891.     * regex.c (re_compile_pattern): too many pops for non register
  4892.       subexpr.
  4893.  
  4894.     * parse.y (yylex): open parentheses after identifiers are argument 
  4895.       list, even if whitespaces have seen.
  4896.  
  4897. Tue Jan 20 15:19:59 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4898.  
  4899.     * parse.y (terms): quoted word list by %w(a b c).
  4900.  
  4901.     * ext/tcltklib/extconf.rb: more accurate check for tcl/tk libs.
  4902.  
  4903.     * file.c (rb_stat): most of the FileTest methods (and function
  4904.        `test') accept File objects as the argument.
  4905.  
  4906. Tue Jan 19 18:19:24 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4907.  
  4908.     * ext/extmk.rb.in (install): there should be no newline after install:
  4909.  
  4910.     * re.c (MIN): renamed from min().  there's a local variable named
  4911.        min in the file, so that some cpp will raise an error.
  4912.  
  4913. Mon Jan 19 16:30:05 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4914.  
  4915.     * version 1.1b5 released.
  4916.  
  4917.     * process.c (rb_syswait): no exception raised.
  4918.  
  4919. Fri Jan 16 00:43:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4920.  
  4921.     * ruby.h (CLONESETUP): copies its singleton classes too.
  4922.  
  4923.     * class.c (singleton_class_attached): saves binded object in the
  4924.       singleton classes.
  4925.  
  4926.     * eval.c (rb_eval): calls singleton_method_added even in the
  4927.       singleton class clauses.
  4928.  
  4929. Fri Jan 15 23:22:43 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4930.  
  4931.     * ruby.c (proc_options): -S does not recognize PATH.
  4932.  
  4933. Thu Jan 15 02:03:12 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4934.  
  4935.     * eval.c (rb_clear_cache_by_id): clear only affected cache
  4936.       entries.
  4937.  
  4938. Wed Jan 14 02:14:48 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4939.  
  4940.     * ext/socket/socket.c: new UDP/IP socket classes.
  4941.  
  4942. Tue Jan 13 10:00:18 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4943.  
  4944.     * string.c (str_cmp): ignorecase($=) works wrong.
  4945.  
  4946. Fri Jan  9 13:19:55 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4947.  
  4948.     * version 1.1b4 released.
  4949.  
  4950.     * eval.c (f_missing): class name omitted from the error message.
  4951.  
  4952.     * error.c (exc_inspect): description changed.
  4953.  
  4954.     * string.c (Init_String): GlobalExit's superclass did not filled,
  4955.       since GlobalExit created earlier than String.
  4956.  
  4957. Thu Jan  8 12:10:09 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4958.  
  4959.     * parse.y (aryset): expr in the brackets can be null.
  4960.  
  4961. Wed Jan  7 21:13:56 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4962.  
  4963.     * io.c (io_reopen): keep stderr unclosed.
  4964.  
  4965.     * io.c (io_errset): keep stderr unclosed.
  4966.  
  4967. Tue Jan  6 00:27:43 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4968.  
  4969.     * parse.y: syntax modified for `while expr do .. end' etc.
  4970.  
  4971.     * process.c (f_exec,f_system): can supply arbitrary name for the
  4972.        new process.
  4973.  
  4974. Mon Jan  5 16:59:13 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4975.  
  4976.     * file.c (file_s_basename): removes any extention by ".*".
  4977.  
  4978. Sun Jan  4 19:36:22 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4979.  
  4980.     * parse.y (yylex): needed to update lex_p (reading point).
  4981.  
  4982. Sat Jan  3 19:14:14 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4983.  
  4984.     * class.c,object.c: duplicate defines mKernel and cFinxnum.
  4985.  
  4986. Fri Jan  2 20:38:59 1998  Yukihiro Matsumoto  <matz@netlab.co.jp>
  4987.  
  4988.     * ext/curses/curses.c (NUM2CHAR): uses the first character for
  4989.        string arguments.
  4990.  
  4991.     * array.c (ary_fill): did not extend array for ranges.
  4992.  
  4993.     * array.c (beg_len): did not return end pos bigger than size.
  4994.  
  4995. Fri Jan  2 02:09:16 1998  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  4996.  
  4997.     * dir.c (dir_s_chdir): bug in nil check.
  4998.  
  4999.     * array.c (ary_fill): bug in nil check.
  5000.  
  5001. Tue Dec 30 11:46:23 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5002.  
  5003.     * hash.c (env_path_tainted): checks directories in PATH
  5004.       environment variable are not world writable.
  5005.  
  5006.     * ruby.c (load_file): invoke specified interpreter if the #! line
  5007.        does not contain the word `ruby'.
  5008.  
  5009. Fri Dec 26 03:26:41 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5010.  
  5011.     * string.c (uscore_get): type information included in the error
  5012.        message.
  5013.  
  5014.     * variable.c (f_untrace_var): does not free trace-data within
  5015.        trace procedure.
  5016.  
  5017. Thu Dec 25 02:50:29 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5018.  
  5019.     * version 1.1b3 released.
  5020.  
  5021.     * ruby.h: inlining some functions on gcc 2.x
  5022.  
  5023. Tue Dec 23 02:47:33 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5024.  
  5025.     * eval.c (rb_eval): public/private information kept in the current 
  5026.       scope, to remove undesired state from the class/module.
  5027.  
  5028.     * time.c (time_strftime): remove hidden limit of 100 bytes of
  5029.       result string, using malloc'ed buffer. 
  5030.  
  5031.     * hash.c (hash_update): merges the contents of another hash,
  5032.       overriding existing keys.
  5033.  
  5034.     * regex.c (must_instr): totally re-written.
  5035.  
  5036.     * io.c (read_all): try to allocate proper sized buffer using
  5037.       fstat(2) for speedup.
  5038.  
  5039. Sat Dec 20 00:27:28 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5040.  
  5041.     * regex.c (must_instr): need to skip 2 bytes for mbchars.
  5042.  
  5043. Fri Dec 19 01:18:29 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5044.  
  5045.     * version 1.1b2 released.
  5046.  
  5047.     * eval.c (check_errat): check and convert (if necessary) traceback 
  5048.       information before assigning to the variable $@.
  5049.  
  5050.     * eval.c (f_raise): optional third argument to specify traceback
  5051.       information.
  5052.  
  5053.     * io.c (f_open): prevent infinite recursive call.
  5054.  
  5055. Thu Dec 18 19:33:47 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5056.  
  5057.     * string.c (str_rindex): now accepts regexp as index.
  5058.  
  5059. Thu Dec 18 18:42:50 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5060.  
  5061.     * ext/socket/extconf.rb: modified to detect win32 socket lib.
  5062.  
  5063. Thu Dec 18 00:25:03 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5064.  
  5065.     * re.c (reg_equal): checks for source and casefold and kcode matching.
  5066.  
  5067.     * marshal.c: became built-in module.
  5068.  
  5069.     * ext/marshal/marshal.c (r_object): displays struct name for
  5070.       non-compatible struct.
  5071.  
  5072.     * string.c (str_index_method): now searches character (fixnum) in
  5073.       the string.
  5074.  
  5075.     * string.c (str_include): redefine `include?'.
  5076.  
  5077.     * regex.c (re_match): start_nowidth saves current stack position
  5078.       to stop_nowidth.
  5079.  
  5080.     * regex.c (re_compile_pattern): add space to stop_nowidth to save
  5081.       runtime stack position.
  5082.  
  5083. Tue Dec 16 14:57:43 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5084.  
  5085.     * string.c (scan_once): wrong exception for regexp that match with 
  5086.       null string (use substr instead of subseq).
  5087.  
  5088. Sat Dec 13 00:13:32 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5089.  
  5090.     * parse.y (expr): remove bare assocs from expr rule.
  5091.  
  5092.     * rbconfig.rb: renamed from config.rb (it was too generic name).
  5093.  
  5094. Fri Dec 12 00:50:25 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5095.  
  5096.     * parse.y (expr): warns if BEGIN or END appear in the method
  5097.        bodies.
  5098.  
  5099.     * string.c (str_match): calls y =~ x if y is neither String nor
  5100.       Regexp so that eregex.rb works.  
  5101.  
  5102.     * eval.c (f_at_exit): to register end proc.
  5103.  
  5104.     * class.c (rb_define_module_function): define 'function' method
  5105.       for the Module, not private method.
  5106.  
  5107.     * class.c (rb_define_function): function to define `function' method.
  5108.  
  5109.     * eval.c (rb_eval): inherit visibility from superclass's method
  5110.       except when it is set to `function'
  5111.  
  5112.     * eval.c (rb_eval): new visibility status `function'.
  5113.  
  5114.     * parse.y (yycompile): do not clear eval_tree. thus enable multipe 
  5115.       command line script by option `-e'.
  5116.  
  5117.     * eval.c (rb_eval): END execute just once.
  5118.  
  5119.     * parse.y (expr): BEGIN/END built in the syntax.
  5120.  
  5121. Thu Dec 11 13:14:35 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5122.  
  5123.     * object.c (mod_le): Module (or Class) comparison.
  5124.  
  5125.     * eval.c (rb_remove_method): raises NameError if named method does 
  5126.       not exist.
  5127.  
  5128.     * ext/curses/curses.c: remove CHECK macro for BSD curses.
  5129.     
  5130. Thu Dec 11 12:44:01 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5131.  
  5132.     * pack.c: sun4 cc patch
  5133.  
  5134. Wed Dec 10 15:21:36 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5135.  
  5136.     * ext/marshal/marshal.c (marshal_load): can supply evolution proc
  5137.       object as optional second argument.
  5138.  
  5139.     * re.c (reg_source): get source string of the regular expression.
  5140.  
  5141. Tue Dec  9 10:05:17 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5142.  
  5143.     * version 1.1b1 released.
  5144.  
  5145.     * parse.y (tokadd): token buffer overrun.
  5146.  
  5147.     * ruby.c (ruby_prog_init): forgot to protect rb_argv0 from gc.
  5148.  
  5149.     * eval.c (ruby_run): call finalizers at process termination.
  5150.  
  5151.     * gc.c (gc_call_finalizer_at_exit): call free proc for every Data
  5152.        Wrapper, and finalizer for specified objects at termination.
  5153.  
  5154.     * version.c (show_version): version format changed.
  5155.  
  5156.     * regex.c (re_match): wrong match with non-greedy if they appear
  5157.       more than once in regular expressions.
  5158.  
  5159.     * sample/ruby-mode.el (ruby-expr-beg): forgot to handle modifiers.
  5160.  
  5161. Mon Dec  8 19:00:15 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5162.  
  5163.     * io.c (io_puts): just put a newline if no argument given.
  5164.  
  5165.     * ext/tcltklib/tcltklib.c (lib_mainloop): thread-aware tk handle
  5166.        when $tk_thread_safe is set.
  5167.  
  5168.     * ext/tcltklib/tcltklib.c (lib_mainloop): use Tcl_DoOneEvent()
  5169.       instead of Tk_MainLoop().
  5170.  
  5171. Mon Dec  6 07:11:16 1997  MAEDA shugo  <shugo@po.aianet.ne.jp>
  5172.  
  5173.     * io.c (io_puts): core dumped without any argument.
  5174.  
  5175. Fri Dec  5 18:17:17 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5176.  
  5177.     * eval.c (mod_remove_method): remove (not undef) a method from the 
  5178.       class/module.
  5179.  
  5180.     * variable.c (obj_remove_instance_variable): method to remove
  5181.       instance variables.
  5182.  
  5183. Thu Dec  4 13:50:29 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5184.  
  5185.     * version 1.1b0 released.
  5186.  
  5187.     * string.c (str_aref): called str_index for regexp.
  5188.  
  5189. Mon Dec  1 15:24:41 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5190.  
  5191.     * compar.c (cmp_between): wrong comparison made.
  5192.  
  5193. Wed Nov 26 18:18:05 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5194.  
  5195.     * lib/mkmf.rb: generate Makefile for extention modules out of ruby 
  5196.       source tree. use like `ruby -r mkmf extconf.rb'.
  5197.  
  5198.     * numeric.c (fix2str): enlarge buffer to prevent overflow on some
  5199.       machines.
  5200.  
  5201.     * parse.y (here_document): wrong line number generated after here-doc.
  5202.  
  5203. Fri Nov 21 13:17:12 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5204.  
  5205.     * parse.y (yylex): skip multibyte characters in comments.
  5206.  
  5207. Wed Nov 19 17:19:20 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5208.  
  5209.     * object.c (nil_to_a): nil.to_a => [].
  5210.  
  5211.     * parse.y (call_args): wrong node generation.
  5212.  
  5213. Tue Nov 18 10:13:08 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5214.  
  5215.     * array.c (Init_Array): Array#=== works as Array#include?
  5216.  
  5217.     * regex.c (re_compile_pattern): insert initialize code for jump_n, 
  5218.       before entering loops.
  5219.  
  5220.     * re.c (reg_search): does not save registers unless $& etc appear
  5221.       in the script.
  5222.  
  5223. Mon Nov 17 13:01:43 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5224.  
  5225.     * eval.c (is_defined): add defined? check for receivers and
  5226.        arguments for calls.
  5227.  
  5228.     * re.c (reg_search): cache last match object.
  5229.  
  5230.     * re.c (match_aref): $[0] etc. are available.
  5231.  
  5232. Sat Nov 15 00:11:36 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5233.  
  5234.     * io.c (io_s_popen): "rb" detection
  5235.  
  5236. Fri Nov 14 18:28:40 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5237.  
  5238.     * string.c (scan_once): returns whole match if the pattern does
  5239.       not contain any parentheses.
  5240.  
  5241. Thu Nov 13 14:39:06 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5242.  
  5243.     * string.c (str_sub): returns copy of the receiver string, even if 
  5244.       any substitution occurred.
  5245.  
  5246.     * regex.c (re_compile_pattern): no-width match by (?=..), (?!..).
  5247.  
  5248. Wed Nov 12 13:44:47 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5249.  
  5250.     * time.c: remove coerce from Time class.
  5251.  
  5252.     * regex.c (re_match): non-greedy match by ??, *? +?, {n,m}?.
  5253.  
  5254. Mon Nov 10 11:24:51 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5255.  
  5256.     * regex.c (re_compile_pattern): non-resitering parens (?:..).
  5257.  
  5258.     * regex.c (re_compile_pattern): new meta character \< (wordbeg)
  5259.       and \> (wordend).
  5260.  
  5261.     * regex.c (re_compile_pattern): embedded comment for regular
  5262.       expression by (?#...).
  5263.  
  5264. Fri Nov  7 16:58:24 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5265.  
  5266.     * regex.c (re_compile_pattern): perl5 regxp \A and \Z available.
  5267.  
  5268.     * regex.c (re_compile_pattern): can expand compile stack dynamically.
  5269.  
  5270.     * regex.c (PUSH_FAILURE_POINT): wrong compare condition.
  5271.  
  5272. Wed Nov  2 16:00:00 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5273.  
  5274.     * string.c (str_sub_s): "".sub! "", "" => "\000"
  5275.  
  5276. Fri Oct 31 15:52:10 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5277.  
  5278.     * parse.y (assoc): keyword assoc like {fg->"black"}.
  5279.  
  5280. Thu Oct 30 17:33:38 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5281.  
  5282.     * io.c (io_println): print with newline, which is not affected by
  5283.       the values of $/ and $\.
  5284.  
  5285. Thu Oct 30 16:54:01 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5286.  
  5287.     * string.c (str_chop_bang): "".chop caused SEGV.
  5288.  
  5289.     * string.c (str_chomp_bang): method to chop out last newline.
  5290.  
  5291. Mon Oct 27 13:49:13 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5292.  
  5293.     * ext/extmk.rb.in: library may have pathname contains `.'
  5294.  
  5295.     * eval.c (rb_rescue): should not protect SystemError.
  5296.  
  5297. Fri Oct 24 10:58:53 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5298.  
  5299.     * io.c (io_s_with_open_stream): ensures to close stream.
  5300.  
  5301. Thu Oct 23 11:17:44 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5302.  
  5303.     * io.c (io_errset): value of $stderr can be changed (to any IO
  5304.        object).
  5305.  
  5306.     * io.c (next_argv): $< can be anything that responds to `write'.
  5307.  
  5308.     * file.c (file_s_with_open_file): ensures to close file.
  5309.  
  5310.     * error.c (exception): create error under the current class/module.
  5311.  
  5312.     * range.c (range_eqq): fixnum check for last needed too.
  5313.  
  5314. Wed Oct 22 12:52:30 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5315.  
  5316.     * ext/socket/socket.c: Socket::Constants added.
  5317.  
  5318.     * file.c: File::Constants added for inclusion.
  5319.  
  5320.     * array.c (ary_join): call ary_join() recursively for the 1st
  5321.        array element.
  5322.  
  5323. Mon Oct 20 12:18:29 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5324.  
  5325.     * ruby.c (load_file): wrong condition for #! check with -x.
  5326.  
  5327.     * file.c (file_s_dirname): did return "" for "/a".
  5328.  
  5329. Fri Oct 17 14:29:09 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5330.  
  5331.     * ruby.c: now works on alpha-linux.
  5332.  
  5333.     * bignum.c (bigadd): some undefined side effect order assumed.
  5334.  
  5335. Wed Oct 15 17:49:24 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5336.  
  5337.     * intern.h: function prototypes added.
  5338.  
  5339. Mon Oct 13 16:54:18 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5340.  
  5341.     * class.c (rb_define_class_id): call superclass's `inherited'
  5342.        method when making subclasses.
  5343.  
  5344.     * parse.y (nextc): clear lex_lastline at the end of file.
  5345.  
  5346.     * object.c (Init_Object): need to undef Class#append_features.
  5347.  
  5348.     * eval.c (rb_eval): no warning on extending classes or modules.
  5349.  
  5350. Thu Oct  9 11:17:50 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5351.  
  5352.     * eval.c (error_print): the exception name follows after the error 
  5353.       message.
  5354.  
  5355.     * eval.c (compile_error): error message slightly changed.
  5356.  
  5357.     * parse.y (nextc): script parsing will be terminated by __END__ at
  5358.        beginning of line.
  5359.  
  5360.     * eval.c (compile_error): `__END__' is no longer a keyword.
  5361.  
  5362.     * parse.y (nextc): protect lastline read from script stream.
  5363.  
  5364. Tue Oct  7 14:06:06 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5365.  
  5366.     * version 1.1 alpha9 released.
  5367.  
  5368.     * eval.c (mod_append_features): renamed from extend_class.
  5369.  
  5370.     * eval.c (rb_eval): defining method calls `method_added'.
  5371.  
  5372.     * eval.c (ruby_options): exception while processing options must
  5373.       terminate the interpreter.
  5374.  
  5375.     * error.c (Init_Exception): wrong method configuration.  `new'
  5376.       should have been a singleton method.
  5377.  
  5378. Mon Oct  6 18:55:38 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5379.  
  5380.     * ext/kconv/kconv.c (kconv_guess): code to guess character code
  5381.       from string.
  5382.  
  5383. Mon Oct  6 18:38:17 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5384.  
  5385.     * pack.c: now encode/decode base64 by `m' template.
  5386.  
  5387. Fri Oct  3 10:51:10 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5388.  
  5389.     * MANIFEST: needed to include lex.c in the distribution.
  5390.  
  5391.     * eval.c (ruby_options): f_require() called too early.
  5392.  
  5393.     * eval.c (rb_provide): module extentions should always be `.o'.
  5394.  
  5395. Thu Oct  2 11:38:31 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5396.  
  5397.     * version 1.1 alpha8 released.
  5398.  
  5399.     * ext/marshal/marshal.c (r_object): remove temporal regist for
  5400.        structs. (caused problem if structs form cycles.)
  5401.  
  5402.     * parse.y (match_gen): static binding for match(=~) calls
  5403.       with regexp literals.
  5404.  
  5405. Wed Oct  1 15:26:55 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5406.  
  5407.     * eval.c: protect retval in struct tag from GC for C_ALLOCA.
  5408.  
  5409.     * eval.c: no more pointer value from setjmp/longjmp.
  5410.  
  5411. Wed Oct  1 14:01:49 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5412.  
  5413.     * ext/marshal/marshal.c (w_byte): argument must be char.
  5414.  
  5415. Wed Oct  1 10:30:22 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5416.  
  5417.     * variable.c (mod_const_at): global constants now belongs to the
  5418.       class Object.
  5419.  
  5420.     * object.c (Init_Object): new global constant NIL.
  5421.  
  5422.     * ext/marshal/marshal.c (marshal_dump): try to set binmode.
  5423.  
  5424.     * ext/marshal/marshal.c (r_object): forgot to re-regist structs in 
  5425.       the object table.
  5426.  
  5427.     * eval.c (ruby_options): call Init_ext() before any require()
  5428.        calls by `-r'.
  5429.  
  5430. Fri Sep 30 14:29:22 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5431.  
  5432.     * ext/marshal/marshal.c (w_object): marshal dumped core.
  5433.  
  5434. Tue Sep 30 10:27:39 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5435.  
  5436.     * sample/test.rb: bignum test suits added.
  5437.  
  5438.     * eval.c (rb_eval): new pseudo variable `true' and `false'.
  5439.  
  5440.     * parse.y: new keywords `true' and `false' added.
  5441.  
  5442. Mon Sep 29 13:37:58 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5443.  
  5444.     * ruby.c (forbid_setid): forbid some options in suid mode.
  5445.  
  5446.     * ruby.h (NUM2DBL): new macro to convert into doubles.
  5447.  
  5448. Mon Sep 27 09:53:48 1997  EGUCHI Osamu  <eguchi@shizuokanet.or.jp>
  5449.  
  5450.     * bignum.c: modified for speeding.
  5451.  
  5452. Fri Sep 26 18:27:59 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5453.  
  5454.     * sample/from.rb: some extensions.
  5455.  
  5456. Mon Sep 29 13:15:56 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5457.  
  5458.     * parse.y (lhs): no more syntax error on `obj.CONSTANT = value'.
  5459.  
  5460. Fri Sep 26 14:41:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5461.  
  5462.     * eval.c (ruby_run): deferred calling Init_ext() just before eval_node.
  5463.  
  5464. Fri Sep 26 13:27:24 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5465.  
  5466.     * io.c (io_isatty): forgot to return TRUE value.
  5467.  
  5468. Fri Sep 25 11:10:58 1997  EGUCHI Osamu  <eguchi@shizuokanet.or.jp>
  5469.  
  5470.     * eval.c: use _setjmp/_longjmp instead of setjmp/longjmp on some
  5471.       platforms.
  5472.  
  5473. Wed Sep 24 17:43:13 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5474.  
  5475.     * string.c (Init_String): String#taint and String#taint? added.
  5476.  
  5477.     * class.c (mod_ancestors): ancestors include the class itself.
  5478.  
  5479. Wed Sep 24 00:57:00 1997  Katsuyuki Okabe  <HGC02147@niftyserve.or.jp>
  5480.  
  5481.     * X68000 patch.
  5482.  
  5483. Tue Sep 23 20:42:30 1997  EGUCHI Osamu  <eguchi@shizuokanet.or.jp>
  5484.  
  5485.     * parse.y (node_newnode): SEGV on null node setup.
  5486.  
  5487. Mon Sep 22 11:22:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5488.  
  5489.     * ruby.c (ruby_prog_init): wrong safe condition check.
  5490.  
  5491. Sun Sep 21 14:46:02 1997  MAEDA shugo  <shugo@po.aianet.ne.jp>
  5492.  
  5493.     * error.c (exc_inspect): garbage added to classpath.
  5494.  
  5495. Fri Sep 19 11:49:23 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5496.  
  5497.     * parse.y (newtok): forgot to adjust buffer size when shrinking
  5498.       the token buffer.
  5499.  
  5500.     * enum.c (enum_find): rb_eval_cmd() does not return value.
  5501.  
  5502.     * io.c (pipe_open): close fds on pipe exec. fcntl(fd, F_SETFD, 1)
  5503.       no longer used.
  5504.  
  5505. Tue Sep 16 17:54:25 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5506.  
  5507.     * file.c (f_test): problem if wrong command specified.
  5508.  
  5509.     * ruby.c (ruby_prog_init): close stdaux and stdprn for MSDOS.
  5510.  
  5511.     * ruby.c (ruby_prog_init): should not add path from environment
  5512.       variable, if ruby is running under seuid.
  5513.  
  5514.     * process.c (init_ids): check suid check for setuid/seteuid etc.
  5515.  
  5516. Mon Sep 15 00:42:04 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5517.  
  5518.     * regex.c (re_compile_pattern): \w{3} and \W{3} did not work.
  5519.  
  5520. Thu Sep 11 10:31:48 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5521.  
  5522.     * version 1.1 alpha7 released.
  5523.  
  5524.     * ext/socket/socket.c (sock_new): no setbuf() for NT.
  5525.  
  5526.     * io.c (rb_fopen,rb_fdopen): set close-on-exec for every fd.
  5527.  
  5528. Wed Sep 10 15:55:31 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5529.  
  5530.     * ext/marshal/marshal.c (r_bytes0): extra big length check.
  5531.  
  5532. Tue Sep  9 16:27:14 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5533.  
  5534.     * io.c (pipe_fptr_atexit): clean up popen()'ed fptr.
  5535.  
  5536.     * error.c (set_syserr): some system has error code that is bigger
  5537.       than sys_nerr. grrr.
  5538.  
  5539. Mon Sep  8 18:33:33 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5540.  
  5541.     * io.c (io_s_new): dereferenced nil for optional mode.
  5542.  
  5543. Fri Sep  5 10:26:03 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5544.  
  5545.     * class.c (class_instance_methods): do not include methods which
  5546.       are changed to private in subclasses.
  5547.  
  5548. Thu Sep  4 12:38:53 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5549.  
  5550.     * variable.c (f_global_variables): list name of the global
  5551.       variables.
  5552.  
  5553.     * object.c (obj_id): returns unique integer.
  5554.  
  5555. Wed Sep  3 14:05:16 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5556.  
  5557.     * version 1.1 alpha6 released.
  5558.  
  5559.     * eval.c (mod_s_constants): context sensitive constant list.
  5560.  
  5561.     * variable.c (mod_constants): no more `all' option.
  5562.  
  5563.     * variable.c (mod_const_of): the values for autoload classes are
  5564.       their name strings.
  5565.  
  5566.     * class.c (class_instance_methods): no special treatment for
  5567.       singleton classes.
  5568.  
  5569.     * object.c (obj_singleton_methods): returns list of singleton
  5570.       method names.
  5571.  
  5572.     * parse.y (yylex): no here document after `class' keyword.
  5573.  
  5574.     * eval.c (f_load): expand path if fname begins with `~'.
  5575.  
  5576. Tue Sep  2 13:19:48 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5577.  
  5578.     * class.c (ins_methods_i): do not list undef'ed methods.
  5579.  
  5580. Mon Sep  1 13:42:48 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5581.  
  5582.     * version 1.1 alpha5 released.
  5583.  
  5584.     * object.c (mod_attr_reader): create methods to define attribute
  5585.        reader/write/accessor.
  5586.  
  5587.     * class.c (rb_define_attr): always defines accessors.
  5588.  
  5589.     * eval.c (rb_call): alias occured in the module body caused SEGV.
  5590.  
  5591.     * parse.y: did not generate here document strings properly.
  5592.  
  5593. Mon Sep  1 11:43:57 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5594.     
  5595.     * parse.y (yylex): heredoc dropped an extra character.
  5596.  
  5597. Fri Aug 29 11:10:21 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5598.  
  5599.     * class.c (class_instance_methods): same method names should not
  5600.        appear more than once.
  5601.  
  5602.     * parse.y (yylex): spaces can follow =begin/=end.
  5603.  
  5604.     * variable.c (find_class_path): look for class_tbl also for
  5605.       unnamed fundamental classes, such as Object, String, etc.
  5606.  
  5607.     * variable.c (rb_name_class): can't name class before String class
  5608.        is initilialized.
  5609.  
  5610.     * inits.c (rb_call_inits): unrecognized dependency from GC to
  5611.       Array.
  5612.  
  5613.     * variable.c (find_class_path): could not find class if Object's
  5614.        iv_tbl is NULL.
  5615.  
  5616. Thu Aug 28 13:12:05 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5617.  
  5618.     * version 1.1 alpha4 released.
  5619.  
  5620.     * variable.c (mod_constants): wrong condition for singleton
  5621.       class. 
  5622.  
  5623.     * parse.y (yylex): revised `=begin' skip code.
  5624.  
  5625.     * parse.y (here_document): forgot to free(eos).
  5626.  
  5627.     * parse.y (yylex): spaces after `<<' prohibited for here
  5628.        documents to avoid confusing with operator `<<'.
  5629.  
  5630.     * eval.c (is_defined): separated from rb_eval().
  5631.  
  5632. Wed Aug 27 11:32:42 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5633.  
  5634.     * version 1.1 alpha3 released.
  5635.  
  5636.     * variable.c (mod_name): returns name of the class/module.
  5637.  
  5638.     * parse.y (here_document): finally here document available now.
  5639.  
  5640.     * variable.c (fc_i): some classes/modules does not have iv_tbl.
  5641.  
  5642.     * variable.c (find_class_path): avoid inifinite loop.
  5643.  
  5644. Tue Aug 26 13:43:47 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5645.  
  5646.     * eval.c (rb_eval): undef'ing non-existing method will raise
  5647.       NameError exception.
  5648.  
  5649.     * object.c (class_s_new): needed to create metaclass too.
  5650.  
  5651.     * eval.c (error_print): no class name print for anonymous class.
  5652.  
  5653.     * eval.c (rb_longjmp): proper exception raised if raise() called
  5654.        without arguments, with $! or $@ set.
  5655.  
  5656.     * object.c (Init_Object): superclass()'s method argument setting
  5657.        was wrong again.
  5658.  
  5659.     * class.c (mod_anscestors): list superclasses and included modules 
  5660.       in priority order.
  5661.  
  5662. Mon Aug 25 11:53:11 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5663.  
  5664.     * version 1.1 alpha2 released.
  5665.  
  5666.     * sample/ruby-mode.el (ruby-parse-region): auto-indent now
  5667.        supports "\\" in the strings.
  5668.  
  5669.     * struct.c (struct_getmember): new API to get member value from C
  5670.       language side.
  5671.  
  5672. Sat Aug 23 21:39:05 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5673.  
  5674.     * parse.y (asignable): remove unnecessary local variable
  5675.       initialize by nil.
  5676.  
  5677. Fri Aug 22 14:26:40 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5678.  
  5679.     * eval.c (error_print): modified exception print format.
  5680.  
  5681. Thu Aug 21 16:10:58 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5682.  
  5683.     * sample/ruby-mode.el (ruby-calculate-indent): wrong indent level
  5684.       calculated with keyword operators.
  5685.  
  5686. Thu Aug 21 11:36:58 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5687.  
  5688.     * parse.y (arg): ary[0] += 1 cause SEGV
  5689.  
  5690. Wed Aug 20 17:28:50 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5691.  
  5692.     * ruby.c (ruby_process_options): require() all modules after
  5693.        processing all options
  5694.  
  5695.     * process.c (rb_proc_exec): more security checks added.
  5696.  
  5697.     * process.c (rb_proc_exec): insecure path on exec.
  5698.  
  5699.     * hash.c (f_getenv): PATH modification security check.
  5700.  
  5701. Tue Aug 19 00:15:38 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5702.  
  5703.     * version 1.1 alpha1 released.
  5704.  
  5705.     * eval.c (mod_eval): work as normal eval() if second binding
  5706.        argument given.
  5707.  
  5708.     * eval.c (rb_call): did not raise ArgumentError if too many
  5709.        arguments more than optional arguments (without rest arg).
  5710.  
  5711.     * eval.c (rb_eval): did not work well for op_asgn2 (attribute
  5712.       self assignment).
  5713.  
  5714.     * eval.c (Init_Thread): returns main thread.
  5715.  
  5716. Mon Aug 18 09:25:56 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5717.  
  5718.     * object.c (inspect_i): did not display T_DATA instance variables.
  5719.  
  5720.     * parse.y: provides more accurate line number information.
  5721.  
  5722.     * eval.c (thread_value): include value's backtrace information in
  5723.       the variable `$@'. 
  5724.  
  5725.     * eval.c (f_abort): print backtrace and exit.
  5726.  
  5727. Sat Aug 16 00:17:44 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5728.  
  5729.     * eval.c (class_new_instance): do not make instance from virtual
  5730.       classes. 
  5731.  
  5732.     * object.c (class_s_new): do not make subclass of singleton class.
  5733.  
  5734. Fri Aug 15 15:49:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5735.  
  5736.     * eval.c (call_trace_func): block context switch in the trace
  5737.           function.
  5738.  
  5739.     * eval.c (rb_eval): clear method cache at class extention.
  5740.  
  5741.     * object.c (obj_type): returns object's class even if it defines
  5742.       singleton methods.
  5743.  
  5744. Fri Aug 15 19:40:43 1997  WATANABE Hirofumi  <watanabe@ase.ptg.sony.co.jp>
  5745.  
  5746.     * ext/socket/socket.c (Init_socket): small typo caused SEGV.
  5747.  
  5748. Wed Aug 13 17:51:46 1997  Yukihiro Matsumoto  <matz@netlab.co.jp>
  5749.  
  5750.     * version 1.1 alpha0 released.
  5751.  
  5752.