[前][次][番号順一覧][スレッド一覧]

ruby-changes:17188

From: naruse <ko1@a...>
Date: Mon, 6 Sep 2010 10:39:01 +0900 (JST)
Subject: [ruby-changes:17188] Ruby:r29188 (trunk): * ext/readline/readline.c (readline_s_get_line_buffer):

naruse	2010-09-06 10:38:51 +0900 (Mon, 06 Sep 2010)

  New Revision: 29188

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29188

  Log:
    * ext/readline/readline.c (readline_s_get_line_buffer):
      Readline.line_buffer should return locale string.
      [ruby-dev:42184] #3791

  Modified files:
    trunk/ChangeLog
    trunk/ext/readline/readline.c
    trunk/test/readline/test_readline.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29187)
+++ ChangeLog	(revision 29188)
@@ -1,3 +1,9 @@
+Mon Sep  6 10:31:59 2010  NARUSE, Yui  <naruse@r...>
+
+	* ext/readline/readline.c (readline_s_get_line_buffer):
+	  Readline.line_buffer should return locale string.
+	  [ruby-dev:42184] #3791
+
 Mon Sep  6 09:47:24 2010  NARUSE, Yui  <naruse@r...>
 
 	* util.c (ruby_strtod): check there is at least 1 digit after
Index: ext/readline/readline.c
===================================================================
--- ext/readline/readline.c	(revision 29187)
+++ ext/readline/readline.c	(revision 29188)
@@ -426,7 +426,7 @@
     rb_secure(4);
     if (rl_line_buffer == NULL)
 	return Qnil;
-    return rb_tainted_str_new2(rl_line_buffer);
+    return rb_locale_str_new_cstr(rl_line_buffer);
 }
 #else
 #define readline_s_get_line_buffer rb_f_notimplement
Index: test/readline/test_readline.rb
===================================================================
--- test/readline/test_readline.rb	(revision 29187)
+++ test/readline/test_readline.rb	(revision 29188)
@@ -153,6 +153,8 @@
         assert_equal("first second", actual_line_buffer)
         assert_equal(12, actual_point)
         assert_equal("first complete finish", Readline.line_buffer)
+        assert_equal(Encoding.find("locale"), Readline.line_buffer.encoding)
+        assert_equal(true, Readline.line_buffer.tainted?)
         assert_equal(21, Readline.point)
       ensure
         stdin.close(true)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]