[#44925] [Backport93 - Backport #5702][Open] backport r33935 — Yusuke Endoh <mame@...>

19 messages 2011/12/03

[#44940] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — Tanaka Akira <akr@...>

2011/12/6 <naruse@ruby-lang.org>:

9 messages 2011/12/05
[#44941] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — KOSAKI Motohiro <kosaki.motohiro@...> 2011/12/05

2011年12月5日16:56 Tanaka Akira <akr@fsij.org>:

[#44942] Re: [ruby-cvs:41134] naruse:r33956 (trunk): Comment out tests which fails with GDBM-DBM compat mode. — KOSAKI Motohiro <kosaki.motohiro@...> 2011/12/05

> おかしいな。gdbmは勝手にcreateフラグを立ててしまうので当該2つの

[#44985] [ruby-trunk - Bug #5757][Open] main threadがreadやselectで待っていると、^C でなかなか死なない — Yui NARUSE <naruse@...>

12 messages 2011/12/13

[#45021] [ruby-trunk - Bug #5786][Open] LoadError: cannot load such file -- openssl — Kazuhiro NISHIYAMA <redmine@...>

11 messages 2011/12/21

[#45057] [ruby-trunk - Feature #5820][Assigned] Merge Onigmo to Ruby 2.0 — Yui NARUSE <naruse@...>

21 messages 2011/12/28

[ruby-dev:45029] [ruby-trunk - Bug #5423][Feedback] readlineの入力待機中に端末のウィンドウサイズ変更すると入力内容が乱れる

From: Kouji Takao <kouji@...7.net>
Date: 2011-12-22 07:57:20 UTC
List: ruby-dev #45029
Issue #5423 has been updated by Kouji Takao.

Status changed from Assigned to Feedback

ご報告ありがとうございます。

ただ、こちら(OSX 10.6、ruby 2.0.0dev (2011-12-22 trunk 34097) [x86_64-darwin10.8.0]、 GNU Readline 6.2)では「画面が乱れます」を再現ができませんでした。
Readline.readline("> ")で何を入力しているときに、ウインドウサイズをどれくらい大きく、または小さくすると再現するのでしょうか。
----------------------------------------
Bug #5423: readlineの入力待機中に端末のウィンドウサイズ変更すると入力内容が乱れる
https://bugs.ruby-lang.org/issues/5423

Author: Takuto Matsuu
Status: Feedback
Priority: Normal
Assignee: Kouji Takao
Category: 
Target version: 
ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux] 


Readline.readline("> ")の入力待機中にターミナルのウィンドウサイズを変更すると、
入力内容がウィンドウサイズ変更に合わせて変化せず、画面が乱れます。

readlineがSIGWINCHに反応しないように設定されているのが原因のようです。

revision 24140で追加されたrl_catch_sigwinch = 0;が該当部分になります。
rl_catch_signals=0を設定した場合でも、SIGWINCHは反応すべき(rl_catch_sigwinch=1)だと思います。

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 24139)
+++ ChangeLog	(revision 24140)
@@ -1,3 +1,11 @@
+Thu Jul 16 12:42:10 2009  NARUSE, Yui  <naruse@ruby-lang.org>
+
+	* ext/readline/readline.c (readline_readline): rl_free_line_state
+	  before rl_cleanup_after_signal.
+
+	* ext/readline/readline.c (Init_readline): set rl_catch_signals and
+	  rl_catch_signwinch as 0. [ruby-core:21884]
+
 Thu Jul 16 08:59:22 2009  Koichi Sasada  <ko1@atdot.net>
 
 	* node.h, vm_core.h, variable.c: rename global_entry to rb_global_entry.
Index: ext/readline/readline.c
===================================================================
--- ext/readline/readline.c	(revision 24139)
+++ ext/readline/readline.c	(revision 24140)
@@ -253,6 +253,7 @@
     if (status) {
 #if defined HAVE_RL_CLEANUP_AFTER_SIGNAL
         /* restore terminal mode and signal handler*/
+        rl_free_line_state();
         rl_cleanup_after_signal();
 #elif defined HAVE_RL_DEPREP_TERM_FUNCTION
         /* restore terminal mode */
@@ -1450,6 +1451,8 @@
 #elif defined HAVE_RL_EVENT_HOOK
     rl_event_hook = readline_event;
 #endif
+    rl_catch_signals = 0;
+    rl_catch_sigwinch = 0;
 #ifdef HAVE_RL_CLEAR_SIGNALS
     rl_clear_signals();
 #endif



-- 
http://redmine.ruby-lang.org

In This Thread