こんにちは、阿部といいます。
昨日メールを登録していないアカウントから送信してしまい弾かれて
しまったようです。重複して受け取った方がいれば申し訳ありません。
Ubuntu 22.04のruby packageはibeditとリンクしていたので、
ruby-3.0.6.tar.gz から --enable-libedit付きでコンパイルしてみた
ところ再現しました。
Ubuntu 23.10のruby packageもlibeditを使用していますが、再現しません。
ruby-3.2.2.tar.gz の ext/readline/readline.c と比較すると prepare_readline();
行の有無だけが違うようでしたので原因は
3.0系のコードが古いことだろうと思います。
Ubuntu 22.04を使う前提であれば、snapで配布されているrubyをインストール (snap
install --classic ruby) して、/snap/bin/ruby を使うのが良いかもしれません。
On 2023/10/31 9:20, 大城 尚紀 via ruby-list wrote:
> こんにちは。興味があったので試してみました。別OSですが、AlmaLinux 9.2だ
> とRuby 3.0.4でreadlineが使えるようでした。
>
> ご参考までにお送りします。
>
> $ cat /etc/redhat-release
> AlmaLinux release 9.2 (Turquoise Kodkod)
> $ ruby -v -r readline -e 'puts "readline #{Readline::VERSION}"'
> ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]
> readline 8.1
>
> $ ruby readline-test.rb
> 項目を選んでEnter
> aaa
> bbb
> ccc
> dddd
> ee
> > dddd
> "dddd"
>
>
> 2023年10月30日(月) 11:35 konami via ruby-list
> <ruby-list@ml.ruby-lang.org <
mailto:ruby-list@ml.ruby-lang.org>>:
>
> 小川さん
>
> レポートをありがとうございます。問題の切り分けができて助かります。
>
> OSはどちらも Ubuntu 22.04.3 LTS ですので謎が深まりますが,
> 仕事が詰まっていますので,時間ができたら調べてみることにします。
>
> 小波秀雄
>
>
> On 2023/10/30 11:00, OGAWA KenIchi via ruby-list wrote:
> > 小川と申します。
> >
> >> Ruby 2.7 と 3.0 の仕様変更でこうなっているのかどうか。2.7
> >> でできたことを3.0で可能にする方法
> >> がないのかと気になっています。ご存知の方がおられたら教えていただ
> けるとうれしいです。
> > 私の手元の環境では、Rubyの3.0.2を使って示されていたコードが正しく
> 動作し
> > ました。なので、仕様変更というわけではないと思います。
> >
> > 原因はわかりませんが、システムの libreadline.so に問題がある可能
> 性はある
> > のかなと思いました。
> >
>
--
----
Yasuhiro ABE
e-mail: yasu@yasundial.org, yadiary@gmail.com
twitter:
http://twitter.com/YasuhiroABE