aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--configure.in2
-rw-r--r--io.c6
-rw-r--r--string.c2
4 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 707597de20..1cc7f86c00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Nov 25 07:59:41 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * configure.in: AC_PREREQ(2.53) [ruby-core:03800]
+
+ * io.c (read_all): [ruby-dev:24955]
+
Wed Nov 24 01:01:31 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
* io.c (io_read): [ruby-dev:24952]
@@ -786,6 +792,11 @@ Fri Oct 29 17:18:22 2004 NAKAMURA Usaku <usa@ruby-lang.org>
* range.c (range_step, range_each): need cast.
+Fri Oct 29 16:34:19 2004 Daiki Ueno <ueno@unixuser.org>
+
+ * misc/ruby-mode.el (ruby-parse-partial): Parse the rest of the
+ line after opening heredoc identifier. [ruby-dev:24635]
+
Fri Oct 29 11:35:04 2004 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (rb_parser_append_print, rb_parser_while_loop): body node
diff --git a/configure.in b/configure.in
index 30444e6765..57ab6bf4d9 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT()
-AC_PREREQ(2.50)
+AC_PREREQ(2.53)
AC_DEFUN(RUBY_MINGW32,
[case "$host_os" in
diff --git a/io.c b/io.c
index dd8601d0f4..83a7abb5dc 100644
--- a/io.c
+++ b/io.c
@@ -1030,9 +1030,10 @@ read_all(fptr, siz, str)
if (siz == 0) siz = BUFSIZ;
if (NIL_P(str)) {
- str = rb_tainted_str_new(0, siz);
+ str = rb_str_new(0, siz);
}
else {
+ StringValue(str);
rb_str_resize(str, siz);
}
for (;;) {
@@ -1053,6 +1054,7 @@ read_all(fptr, siz, str)
rb_str_resize(str, siz);
}
if (bytes != siz) rb_str_resize(str, bytes);
+ OBJ_TAINT(str);
return str;
}
@@ -1206,7 +1208,7 @@ io_read(argc, argv, io)
}
if (NIL_P(str)) {
- str = rb_str_new(0, len);
+ str = rb_tainted_str_new(0, len);
}
else {
StringValue(str);
diff --git a/string.c b/string.c
index 40f5eb224e..c33cf55eb9 100644
--- a/string.c
+++ b/string.c
@@ -669,8 +669,8 @@ rb_str_resize(str, len)
rb_raise(rb_eArgError, "negative string size (or size too big)");
}
+ rb_str_modify(str);
if (len != RSTRING(str)->len) {
- rb_str_modify(str);
if (RSTRING(str)->len < len || RSTRING(str)->len - len > 1024) {
REALLOC_N(RSTRING(str)->ptr, char, len+1);
if (!FL_TEST(str, STR_NOCAPA)) {