From c92a8f21a62539a3f8811a952ae6c6a80570aa70 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 15 May 2003 04:27:14 +0000 Subject: * io.c (set_stdio): better message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ io.c | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 534bb48692..975777723f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu May 15 13:26:48 2003 Yukihiro Matsumoto + + * io.c (set_stdio): better message. + Thu May 15 13:18:11 2003 Yukihiro Matsumoto * io.c (set_stdio): $stdin, $stdout, $stderr now became read-only. diff --git a/io.c b/io.c index 8d35acee92..df0396ea08 100644 --- a/io.c +++ b/io.c @@ -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 -- cgit v1.2.3