Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000553Vine Linux1 バグ公開2007-10-26 22:532007-12-26 00:06
anonymous 
 
不明 
完了不明 
4.1 
 
x86
なし
0000553: sedの変換が変です
sedの文字変換が変です。

$ echo いい:の@の | sed -e 's/:/colon/' -e 's/@/:/' -e 's/colon/@/' | sed -e 's/:/colon/' -e 's/@/:/' -e 's/colon/@/'
いい:の@の

これはまともですが、

$ echo いいい:の@の | sed -e 's/:/colon/' -e 's/@/:/' -e 's/colon/@/' | sed -e 's/:/colon/' -e 's/@/:/' -e 's/colon/@/'
いいい:の:の

となります。

この8月にaptでupdateしました。
vinelinux3.3ではこの現象は起きていないように思います.
設定されていません。
patch sed-4.1.5-bug-regex25.patch (7,561) 2007-11-25 20:42
http://mantis.vinelinux.org/file_download.php?file_id=140&type=bug
課題の履歴
2007-10-26 22:53anonymous新規課題
2007-11-25 20:42anonymous添付ファイル追加: sed-4.1.5-bug-regex25.patch
2007-11-25 20:42anonymousコメント追加: 0002678
2007-11-26 01:23daisuke状態新規 => テスト待ち
2007-11-26 01:23daisukeコメント追加: 0002679
2007-12-26 00:06kazutaka状態テスト待ち => 完了
2007-12-26 00:06kazutakaコメント追加: 0002680

コメント
(0002678)
anonymous   
2007-11-25 20:42   
> $ echo いいい:の@の | sed -e 's/:/colon/' -e 's/@/:/' -e 's/colon/@
> /' | sed -e 's/:/colon/' -e 's/@/:/' -e 's/colon/@/'
> いいい:の:の
>
> となります。

調べてみたんですが、確かに再現します。

おそらく、
 [PATCH] Fix re_search with multibyte locales other than UTF-8
 http://sources.redhat.com/ml/libc-hacker/2006-06/msg00000.html [^]
このバグです。

UTF-8 以外のマルチバイト文字のロケールで、
re_search 関数を使うと、稀に、マルチバイト文字の2バイト目以降
から検索が始まってしまうケースがあるみたいです。

glibc を リビルドしてテストするのはきつかったので^^;
sed-4.1.5 を --with-included-regex で make して、
テスト出来るようにしたパッチを添付します。
処理的には、glibc regex と大きくは変わらないと思います。
(0002679)
daisuke   
2007-11-26 01:23   
> 調べてみたんですが、確かに再現します。
>
> おそらく、
> [PATCH] Fix re_search with multibyte locales other than UTF-8
> http://sources.redhat.com/ml/libc-hacker/2006-06/msg00000.html [^]
> このバグです。
>
> UTF-8 以外のマルチバイト文字のロケールで、
> re_search 関数を使うと、稀に、マルチバイト文字の2バイト目以降
> から検索が始まってしまうケースがあるみたいです。
>
> glibc を リビルドしてテストするのはきつかったので^^;
> sed-4.1.5 を --with-included-regex で make して、
> テスト出来るようにしたパッチを添付します。
> 処理的には、glibc regex と大きくは変わらないと思います。

glibc regex のほうにパッチをあててビルドして直ることを確認
しました。4.2 beta リポジトリに一旦いれておきます。
glibc-2.3.4-2vl3.3 です。
(0002680)
kazutaka   
2007-12-26 00:06   
> glibc regex のほうにパッチをあててビルドして直ることを確認
> しました。4.2 beta リポジトリに一旦いれておきます。
> glibc-2.3.4-2vl3.3 です。

4.2 リリースで対応されたので完了にします。

ハラダ