Shiro Kawai
shiro****@lava*****
2002年 11月 28日 (木) 20:06:56 JST
バグでした。euc-jpではたまたま表面化しなかったため 見逃していました。 仕様では、多バイト文字は全てnon-whitespaceかつ non-alphanumericな文字として扱うことにしています。 (従って、\Sにはマッチしますが、\wにはマッチしません。 \wの扱いに関しては変えるかもしれません)。 以下のパッチで直ると思います。 ============================== RCS file: /cvsroot/gauche/Gauche/src/regexp.c,v retrieving revision 1.33 diff -c -r1.33 regexp.c *** regexp.c 18 Oct 2002 05:00:17 -0000 1.33 --- regexp.c 28 Nov 2002 11:04:41 -0000 *************** *** 970,976 **** input++; } else { code++; ! input += SCM_CHAR_NBYTES((unsigned char)*input); } continue; case RE_SET: --- 970,976 ---- input++; } else { code++; ! input += SCM_CHAR_NFOLLOWS((unsigned char)*input) + 1; } continue; case RE_SET: ============================== --shiro