[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:01416] Re: grep-ja package
aFrom: ukai@xxxxxxxxxxxxx
Subject: [debian-devel:01412] Re: grep-ja package
Date: Tue, 15 Jul 1997 12:24:06 +0900
> でソースをざっとながめて思ったんですが、grep.c の main() で
> setmacher()する前くらいで
>
> if (!matcher)
> matcher = prog;
>
> /* j で始まる時は ctype=EUC モード */
> if (matchar[0] == 'j') {
> mbcinit(MBCTYPE_EUC);
> matcher ++;
> }
>
> if (!setmatcher(matcher) && !setmatcher("default"))
> abort();
>
> とかするとよいんじゃないかな?
これしないとまずいような気が…
# binprefix を cpp でわたしてやるべきかもしれない。
現状で jegrep, jfgrep は それぞれ egrep, fgrep の
マルチバイト版になっていません。
・egrep 'a(b|c)d' は abd か acd にマッチだが
jegrep 'a(b|c)d' は a(b|c)d にマッチする
・fgrep 'ab*' は ab* にマッチするが
jfgrep 'ab*' は a, ab, abb,.. にマッチしてしまう。
これは上に書いた -E/-F なしでは setmatcher(matcher) で fail して
setmatcher("default") になっているからだと思われます。
上のようなパッチするか search.c の matchers[] で j prefix も
うけつけるようにした方がいいでしょう。
というわけで grep を replace する/しない にかかわらず
バグを直してくださいませ。
PS.
ソースみたら Makefile をいじってるみたいですけど
debian/rules で
build:
configure --prefix=/usr
make binprefix=j manprefix=j
binary-arch:
(略)
make binprefix=j manprefix=j prefix=debain/tmp/usr install
とかした方がよくないですか?
--
鵜飼文敏