Project

General

Profile

Actions

Feature #3375

closed

--disable-libedit to disable libedit

Feature #3375: --disable-libedit to disable libedit

Added by shyouhei (Shyouhei Urabe) over 15 years ago. Updated over 14 years ago.

Status:
Closed
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 14 years ago Actions #1 [ruby-dev:43385]

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

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

Updated by kouji (Kouji Takao) over 14 years ago Actions #2 [ruby-dev:43390]

=begin
Shyouhei Urabe wrote:

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

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

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

Updated by naruse (Yui NARUSE) over 14 years ago Actions #3

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

=begin

=end

Updated by naruse (Yui NARUSE) over 14 years ago Actions #4 [ruby-dev:43391]

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

Updated by naruse (Yui NARUSE) over 14 years ago Actions #5 [ruby-dev:43595]

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

Updated by shyouhei (Shyouhei Urabe) over 14 years ago Actions #6 [ruby-dev:43597]

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

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

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

Updated by naruse (Yui NARUSE) over 14 years ago Actions #7 [ruby-dev:43598]

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 14 years ago Actions #8 [ruby-dev:43823]

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

Updated by shyouhei (Shyouhei Urabe) over 14 years ago Actions #9 [ruby-dev:43851]

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

Updated by naruse (Yui NARUSE) over 14 years ago Actions #10 [ruby-dev:43854]

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

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

Updated by kouji (Kouji Takao) over 14 years ago Actions #11 [ruby-dev:43860]

  • 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 14 years ago Actions #12

  • 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: PDF Atom