summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/readline/readline.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 70b2b79561..4b1416b4b4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Dec 28 19:29:07 2007 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ext/readline/readline.c (readline_readline, readline_s_set_input):
+ use mReadline directly because self is not always same.
+
Fri Dec 28 19:11:28 2007 Tanaka Akira <akr@fsij.org>
* encoding.c (rb_locale_encoding): defined.
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 045892f457..ea9d97ca62 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -95,9 +95,9 @@ readline_readline(int argc, VALUE *argv, VALUE self)
add_history(buff);
}
if (buff) {
- rb_io_t *ifp;
rb_encoding* enc;
- VALUE input = rb_ivar_get(self, id_var_input);
+ VALUE input = rb_ivar_get(mReadline, id_var_input);
+ rb_io_t *ifp;
GetOpenFile(input, ifp);
if (ifp->enc)
enc = ifp->enc;
@@ -123,7 +123,7 @@ readline_s_set_input(VALUE self, VALUE input)
Check_Type(input, T_FILE);
GetOpenFile(input, ifp);
rl_instream = rb_io_stdio_file(ifp);
- rb_ivar_set(self, id_var_input, input);
+ rb_ivar_set(mReadline, id_var_input, input);
return input;
}