Project

General

Profile

Actions

Feature #3375

closed

--disable-libedit to disable libedit

Added by shyouhei (Shyouhei Urabe) over 12 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-dev:41492]

Description

=begin
ext/readlineのメンテナの高尾さん:

現在、--enable-libeditとするとreadlineのヘッダをhave_libraryしなくなりますが、逆に--disable-libeditとしてもやっぱりeditline/readline.hをhave_headerしてしまいます。--disable-libeditと明示的に指定したときはlibeditは無視して欲しいと思うんですが、どんなもんでしょう。

そのようにするパッチを(redmineに)貼っておきます。
=end


Files

--disable-libedit.patch (835 Bytes) --disable-libedit.patch --disable-libedit to disable libedit shyouhei (Shyouhei Urabe), 06/01/2010 04:11 PM

Updated by shyouhei (Shyouhei Urabe) over 11 years ago

=begin
ext/readlineのメンテナの高尾さん:

本件の進捗状況についてうかがいたいです。
=end

Updated by kouji (Kouji Takao) over 11 years ago

=begin
Shyouhei Urabe wrote:

ext/readlineのメンテナの高尾さん:

本件の進捗状況についてうかがいたいです。

すみません、確認できておりませんでした。
今日中に動作確認して問題がないようであればコミットします。
=end

Actions #3

Updated by naruse (Yui NARUSE) over 11 years ago

  • Project changed from Ruby to Ruby master
  • Category changed from ext to ext

=begin

=end

Updated by naruse (Yui NARUSE) over 11 years ago

=begin
Bug #1823#3827 もよろしう
=end

Updated by naruse (Yui NARUSE) over 11 years ago

r31265 で上記のパッチは適用されていますが、
このパッチの when nil って誤りで、when false が正しいと思うんですが

Updated by shyouhei (Shyouhei Urabe) over 11 years ago

あれ、いや、自信なくなってきたなあ。

もともとif ... else ... endだったんですが、それではうまくいかなくて、true/falseのほかにnilが来るパターンがあって、それに対応するためにtrue/fase/nilでcaseで分岐するようにしたように記憶してるんですが、ちがったっけな

enable_configの戻り値ってどうなってるんですっけ

Updated by naruse (Yui NARUSE) over 11 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 naruse (Yui NARUSE) over 11 years ago

結局これってどうしましょう

Updated by shyouhei (Shyouhei Urabe) over 11 years ago

これ結局自分が間違ってたと思うんですが、どうすればいいんでしょう。勝手に直していい?

Updated by naruse (Yui NARUSE) over 11 years ago

わたしは構いませんが高尾さん的にはどうなんでしょう。

ていうか、#1823 #3827 #4635 が放置されてて何とかしてくれって感じなんですが

Updated by kouji (Kouji Takao) over 11 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
Actions #12

Updated by kouji (Kouji Takao) over 11 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)
Actions

Also available in: Atom PDF