summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-26 15:21:44 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-26 15:21:44 +0000
commit20a34d8e2148a2e184066f7387910646bb23382f (patch)
tree6cbbf1da9dff28375c772298be4f5cf7bf302ca5 /ext
parent717d39594e31e5119e2bf77e93adb3c43f4d3f42 (diff)
merges r24171 and r24176 from trunk into ruby_1_9_1.
-- * ext/readline/readline.c (Init_readline): use rl_catch_sigwinch only when existing. * ext/readline/extconf.rb: check existance of rl_catch_sigwinch, and workaround for native Win32 readline port. -- * ext/readline/readline.c (Init_readline): rl_catch_signals does not exist on some platform like Mac OS X 10.5. * ext/readline/extconf.rb: checks existance of rl_catch_signals. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/readline/extconf.rb2
-rw-r--r--ext/readline/readline.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/ext/readline/extconf.rb b/ext/readline/extconf.rb
index 1d74e29124..d497612fa2 100644
--- a/ext/readline/extconf.rb
+++ b/ext/readline/extconf.rb
@@ -61,6 +61,8 @@ have_readline_var("rl_library_version")
have_readline_var("rl_editing_mode")
# workaround for native windows.
/mswin|bccwin|mingw/ !~ RUBY_PLATFORM && have_readline_var("rl_event_hook")
+/mswin|bccwin|mingw/ !~ RUBY_PLATFORM && have_readline_var("rl_catch_sigwinch")
+/mswin|bccwin|mingw/ !~ RUBY_PLATFORM && have_readline_var("rl_catch_signals")
have_readline_func("rl_cleanup_after_signal")
have_readline_func("rl_clear_signals")
have_readline_func("rl_vi_editing_mode")
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 124609cf57..90eaeec398 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -1305,6 +1305,12 @@ Init_readline()
#ifdef HAVE_RL_EVENT_HOOK
rl_event_hook = readline_event;
#endif
+#ifdef HAVE_RL_CATCH_SIGNALS
+ rl_catch_signals = 0;
+#endif
+#ifdef HAVE_RL_CATCH_SIGWINCH
+ rl_catch_sigwinch = 0;
+#endif
#ifdef HAVE_RL_CLEAR_SIGNALS
rl_clear_signals();
#endif