diff --exclude=CVS -urN ruby-1.6.8-20040728/ChangeLog ruby-1.6.8-20041024/ChangeLog --- ruby-1.6.8-20040728/ChangeLog 2004-11-04 23:18:54.000000000 +0900 +++ ruby-1.6.8-20041024/ChangeLog 2004-11-05 00:09:04.000000000 +0900 @@ -54,6 +54,11 @@ * gc.c (Init_stack): add safety margin. +Sat Jun 14 17:59:59 2003 Guy Decoux + + * eval.c (method_arity): should handle NODE_BMETHOD and + NODE_DMETHOD. [ruby-core:01138] + Fri May 30 11:25:58 2003 WATANABE Hirofumi * lib/irb/xmp.rb: sync with 1.8 ("irb/irb" -> "irb"). diff --exclude=CVS -urN ruby-1.6.8-20040728/eval.c ruby-1.6.8-20041024/eval.c --- ruby-1.6.8-20040728/eval.c 2004-11-04 23:18:56.000000000 +0900 +++ ruby-1.6.8-20041024/eval.c 2004-11-05 00:09:05.000000000 +0900 @@ -3,7 +3,7 @@ eval.c - $Author: matz $ - $Date: 2003/05/19 16:19:21 $ + $Date: 2004/10/24 23:37:20 $ created at: Thu Jun 10 14:22:17 JST 1993 Copyright (C) 1993-2001 Yukihiro Matsumoto @@ -6827,6 +6827,9 @@ return INT2FIX(1); case NODE_IVAR: return INT2FIX(0); + case NODE_BMETHOD: + case NODE_DMETHOD: + return proc_arity(method); default: body = body->nd_next; /* skip NODE_SCOPE */ if (nd_type(body) == NODE_BLOCK) diff --exclude=CVS -urN ruby-1.6.8-20040728/io.c ruby-1.6.8-20041024/io.c --- ruby-1.6.8-20040728/io.c 2004-11-04 23:18:56.000000000 +0900 +++ ruby-1.6.8-20041024/io.c 2004-11-05 00:09:06.000000000 +0900 @@ -2,8 +2,8 @@ io.c - - $Author: nobu $ - $Date: 2003/07/26 18:10:41 $ + $Author: matz $ + $Date: 2004/10/24 23:37:20 $ created at: Fri Oct 15 18:08:59 JST 1993 Copyright (C) 1993-2000 Yukihiro Matsumoto @@ -2184,7 +2184,8 @@ line = rb_obj_as_string(argv[i]); } rb_io_write(out, line); - if (RSTRING(line)->ptr[RSTRING(line)->len-1] != '\n') { + if (RSTRING(line)->len == 0 || + RSTRING(line)->ptr[RSTRING(line)->len-1] != '\n') { rb_io_write(out, rb_default_rs); } } diff --exclude=CVS -urN ruby-1.6.8-20040728/lib/cgi.rb ruby-1.6.8-20041024/lib/cgi.rb --- ruby-1.6.8-20040728/lib/cgi.rb 2004-11-04 23:18:57.000000000 +0900 +++ ruby-1.6.8-20041024/lib/cgi.rb 2004-11-05 00:09:07.000000000 +0900 @@ -182,7 +182,7 @@ CR = "\015" LF = "\012" EOL = CR + LF - REVISION = '$Id: cgi.rb,v 1.23.2.17 2002/08/25 20:15:54 wakou Exp $' + REVISION = '$Id: cgi.rb,v 1.23.2.18 2004/10/24 23:37:19 matz Exp $' NEEDS_BINMODE = true if /WIN/ni.match(RUBY_PLATFORM) PATH_SEPARATOR = {'UNIX'=>'/', 'WINDOWS'=>'\\', 'MACINTOSH'=>':'} @@ -823,13 +823,15 @@ end c = if bufsize < content_length - stdinput.read(bufsize) or '' + stdinput.read(bufsize) else - stdinput.read(content_length) or '' + stdinput.read(content_length) end + if c.nil? + raise EOFError, "bad content body" + end buf += c content_length -= c.size - end buf = buf.sub(/\A((?:.|\n)*?)(?:#{EOL})?#{boundary}(#{EOL}|--)/n) do