Feature #3375
closed--disable-libedit to disable libedit
Description
=begin
ext/readlineのメンテナの高尾さん:
現在、--enable-libeditとするとreadlineのヘッダをhave_libraryしなくなりますが、逆に--disable-libeditとしてもやっぱりeditline/readline.hをhave_headerしてしまいます。--disable-libeditと明示的に指定したときはlibeditは無視して欲しいと思うんですが、どんなもんでしょう。
そのようにするパッチを(redmineに)貼っておきます。
=end
Files
Updated by shyouhei (Shyouhei Urabe) over 13 years ago
=begin
ext/readlineのメンテナの高尾さん:
本件の進捗状況についてうかがいたいです。
=end
Updated by kouji (Kouji Takao) over 13 years ago
=begin
Shyouhei Urabe wrote:
ext/readlineのメンテナの高尾さん:
本件の進捗状況についてうかがいたいです。
すみません、確認できておりませんでした。
今日中に動作確認して問題がないようであればコミットします。
=end
Updated by naruse (Yui NARUSE) over 13 years ago
- Project changed from Ruby to Ruby master
- Category changed from ext to ext
=begin
=end
Updated by naruse (Yui NARUSE) over 13 years ago
Updated by naruse (Yui NARUSE) over 13 years ago
r31265 で上記のパッチは適用されていますが、
このパッチの when nil って誤りで、when false が正しいと思うんですが
Updated by shyouhei (Shyouhei Urabe) over 13 years ago
あれ、いや、自信なくなってきたなあ。
もともとif ... else ... endだったんですが、それではうまくいかなくて、true/falseのほかにnilが来るパターンがあって、それに対応するためにtrue/fase/nilでcaseで分岐するようにしたように記憶してるんですが、ちがったっけな
enable_configの戻り値ってどうなってるんですっけ
Updated by naruse (Yui NARUSE) over 13 years ago
Shyouhei Urabe wrote:
もともとif ... else ... endだったんですが、それではうまくいかなくて、true/falseのほかにnilが来るパターンがあって、
それに対応するためにtrue/fase/nilでcaseで分岐するようにしたように記憶してるんですが、ちがったっけな
そんな雰囲気は漂っていたのでその辺は察しました。
enable_configの戻り値ってどうなってるんですっけ
--enable-libedit => true
--disable-libedit => false
無指定 => nil
のようです。
一方 extconf.rb の中身は現在
true => have_library("edit", "readline")
nil => have_library("readline", "readline"))
else (つまり false) => have_library("readline", "readline") || have_library("edit", "readline")
となっているので、nil と false が逆なんじゃないかと。
Updated by shyouhei (Shyouhei Urabe) over 13 years ago
これ結局自分が間違ってたと思うんですが、どうすればいいんでしょう。勝手に直していい?
Updated by naruse (Yui NARUSE) over 13 years ago
Updated by kouji (Kouji Takao) over 13 years ago
- Due date set to 06/25/2011
=begin
対応が遅くなりました。
以下の修正を入れたいと思います。
動作確認をしてからコミットします。
Index: ext/readline/extconf.rb¶
--- ext/readline/extconf.rb (revision 32178)
+++ ext/readline/extconf.rb (working copy)
@@ -36,18 +36,21 @@
case enable_libedit
when true
-
--enable-libedit¶
unless (have_readline_header("editline/readline.h") ||
have_readline_header("readline/readline.h")) &&
have_library("edit", "readline")
exit
end
-when nil
+when false -
--disable-libedit¶
unless ((have_readline_header("readline/readline.h") &&
have_readline_header("readline/history.h")) &&
have_library("readline", "readline"))
exit
end
else -
does not specify¶
unless ((have_readline_header("readline/readline.h") &&
have_readline_header("readline/history.h")) &&
(have_library("readline", "readline") ||
=end
Updated by kouji (Kouji Takao) over 13 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r32179.
Shyouhei, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- ext/readline/extconf.rb: fixed bug, specify --disable-libedit
then disable libedit, does not specify then check readline and
libedit if failed checking readline. (fixes #3375)