diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | io.c | 17 |
2 files changed, 19 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Thu May 15 13:26:48 2003 Yukihiro Matsumoto <matz@ruby-lang.org> + + * io.c (set_stdio): better message. + Thu May 15 13:18:11 2003 Yukihiro Matsumoto <matz@ruby-lang.org> * io.c (set_stdio): $stdin, $stdout, $stderr now became read-only. @@ -2767,8 +2767,21 @@ set_stdio(val, id, var) ID id; VALUE *var; { - rb_warn("assignment to %s is deprecated; use STDIN.reopen() instead", rb_id2name(id)); - rb_name_error(id, "%s is a read-only variable", rb_id2name(id)); + char *vn = rb_id2name(id); + char *cn = "IO#"; + + if (strlen(vn) > 5) { + switch (vn[4]) { + case 'i': + cn = "STDIN."; break; + case 'o': + cn = "STDOUT."; break; + case 'e': + cn = "STDERR."; break; + } + } + rb_warn("assignment to %s is deprecated; use %sreopen() instead", vn, cn); + rb_name_error(id, "%s is a read-only variable", vn); } static VALUE |