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

ruby-changes:12325

From: kouji <ko1@a...>
Date: Fri, 10 Jul 2009 22:04:03 +0900 (JST)
Subject: [ruby-changes:12325] Ruby:r24020 (trunk): * ext/readline/extconf.rb: checked rl_refresh_line in readline.

kouji	2009-07-10 22:03:40 +0900 (Fri, 10 Jul 2009)

  New Revision: 24020

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

  Log:
    * ext/readline/extconf.rb: checked rl_refresh_line in readline.
    * ext/readline/readline.c (readline_s_refresh_line): add new
      method, a patch from Koichiro Ohba. see [ruby-list:45922].

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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 24019)
+++ ChangeLog	(revision 24020)
@@ -1,3 +1,10 @@
+Fri Jul 10 21:45:30 2009  TAKAO Kouji  <kouji@t...>
+
+	* ext/readline/extconf.rb: checked rl_refresh_line in readline.
+
+	* ext/readline/readline.c (readline_s_refresh_line): add new
+	  method, a patch from Koichiro Ohba. see [ruby-list:45922].
+
 Fri Jul 10 21:00:05 2009  TAKAO Kouji  <kouji@t...>
 
 	* ext/readline/extconf.rb: checked rl_line_buffer and rl_point in
Index: ext/readline/readline.c
===================================================================
--- ext/readline/readline.c	(revision 24019)
+++ ext/readline/readline.c	(revision 24020)
@@ -1043,7 +1043,27 @@
 #define readline_s_get_filename_quote_characters rb_f_notimplement
 #endif
 
+#ifdef HAVE_RL_REFRESH_LINE
+/*
+ * call-seq:
+ *   Readline.refresh_line -> nil
+ *
+ * Clear the current input line.
+ *
+ * Raises SecurityError exception if $SAFE is 4.
+ */
 static VALUE
+readline_s_refresh_line(self)
+{
+ rb_secure(4);
+ rl_refresh_line(0, 0);
+ return Qnil;
+}
+#else
+#define readline_s_refresh_line rb_f_notimplement
+#endif
+
+static VALUE
 hist_to_s(VALUE self)
 {
     return rb_str_new_cstr("HISTORY");
@@ -1350,6 +1370,8 @@
 			       readline_s_set_filename_quote_characters, 1);
     rb_define_singleton_method(mReadline, "filename_quote_characters",
 			       readline_s_get_filename_quote_characters, 0);
+    rb_define_singleton_method(mReadline, "refresh_line",
+                               readline_s_refresh_line, 0);
 
     history = rb_obj_alloc(rb_cObject);
     rb_extend_object(history, rb_mEnumerable);
Index: ext/readline/extconf.rb
===================================================================
--- ext/readline/extconf.rb	(revision 24019)
+++ ext/readline/extconf.rb	(revision 24020)
@@ -50,6 +50,7 @@
 have_readline_func("rl_filename_completion_function")
 have_readline_func("rl_username_completion_function")
 have_readline_func("rl_completion_matches")
+have_readline_func("rl_refresh_line")
 have_readline_var("rl_deprep_term_function")
 have_readline_var("rl_completion_append_character")
 have_readline_var("rl_basic_word_break_characters")
Index: test/readline/test_readline.rb
===================================================================
--- test/readline/test_readline.rb	(revision 24019)
+++ test/readline/test_readline.rb	(revision 24020)
@@ -21,6 +21,7 @@
      "completer_quote_characters",
      "filename_quote_characters=",
      "filename_quote_characters",
+     "refresh_line",
     ].each do |method_name|
       define_method(method_name.to_sym) do |*args|
         raise NotImplementedError

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

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