[#30060] merge YARV — SASADA Koichi <ko1@...>

Hi,

20 messages 2006/12/31
[#30061] Re: merge YARV — SASADA Koichi <ko1@...> 2006/12/31

 ささだです。

[ruby-dev:30008] ext/readline

From: Takahiro Kambe <taca@...>
Date: 2006-12-13 16:14:42 UTC
List: ruby-dev #30008
こんばんは。

Ruby 1.8のブランチ(2006/12/05)のext/readlineがNetBSD currentでコンパイ
ルできない場合があります。

ext/readline/extconf.rbでは、

have_readline_var("rl_filename_completion_function")

とチェックして、ext/readline/readline.cでは、

#ifndef HAVE_RL_FILENAME_COMPLETION_FUNCTION
# define rl_filename_completion_function filename_completion_function
# define rl_username_completion_function username_completion_function
# define rl_completion_matches completion_matches
#endif

としています。NetBSDのeditlineライブラリは、GNU readlineへの互換関数を
用意していますが、rl_filename_completion_function()はあるものの、
rl_username_completion_function()やrl_completion_matches()はありません。
(NetBSD 3.xまでは、rl_filename_completion_function()もありませんでした。)

個別にそれぞれの関数をチェックするようにして、この問題は回避できます。
(extconf.rbの方は行番号がちょっとずれています。)

--- extconf.rb.orig	2005-05-25 22:01:56.000000000 +0900
+++ extconf.rb
@@ -43,6 +40,8 @@ else
 end
 
 have_readline_var("rl_filename_completion_function")
+have_readline_var("rl_username_completion_function")
+have_readline_var("rl_completion_matches")
 have_readline_var("rl_deprep_term_function")
 have_readline_var("rl_completion_append_character")
 have_readline_var("rl_basic_word_break_characters")



--- readline.c.orig	2006-08-07 18:01:27.000000000 +0900
+++ readline.c
@@ -34,7 +34,11 @@ static ID completion_proc, completion_ca
 
 #ifndef HAVE_RL_FILENAME_COMPLETION_FUNCTION
 # define rl_filename_completion_function filename_completion_function
+#endif
+#ifndef HAVE_RL_USERNAME_COMPLETION_FUNCTION
 # define rl_username_completion_function username_completion_function
+#endif
+#ifndef HAVE_RL_COMPLETION_MATCHES
 # define rl_completion_matches completion_matches
 #endif
 

-- 
神戸 隆博 / Takahiro Kambe

In This Thread

Prev Next