HmJre.dll でヒットしないカタカナNo.03353
山紫水明 さん 03/11/14 22:25
 
  こんばんは,山紫水明です。

 マクロ作者会議室で拙作マクロに関して質問があったことに関連することですが,

searchup "[ァ-ヶー゛゜]", regular;

という1行のマクロを作り,以下のようなカタカナの文字列の最後にカーソルを
置いて,マクロを連続実行します。

コメント
ニュースグループ
テンプレート
レジュメ

そうすると,「メジプートン」の各文字にはヒットしません。

秀丸4.02 + WindowsXP(Home) + HmJre.dll です。
ちなみにJre32.dll では問題ありません。

       では, (^^)/~

[ ]
RE:03353 HmJre.dll でヒットしないカタカNo.03354
Arimac さん 03/11/14 23:08
 
BRegIf.dll+BregExp.dllでもヒットしませんでした。
ログを取ってみたところ、上候補の検索の場合に
検索開始のバイト位置が2バイト文字の後ろのバイトを
指している呼び出しがありました。

こんな感じ、
Jre2GetMatchInfo:lpjreJre = 0x0049A534, nStart = 0, lpszStr = ()
 Ret = 0, nPosition = 0, nLength = 0, msg = ()
Jre2GetMatchInfo:lpjreJre = 0x0049A534, nStart = 0, lpszStr = (レジュメ@0A)
 Ret = 1, nPosition = 0, nLength = 2, msg = ()
Jre2GetMatchInfo:lpjreJre = 0x0049A534, nStart = 1, lpszStr = (レジュメ@0A)
 Ret = 1, nPosition = 4, nLength = 2, msg = ()
Jre2GetMatchInfo:lpjreJre = 0x0049A534, nStart = 5, lpszStr = (レジュメ@0A)
 Ret = 0, nPosition = 4, nLength = 2, msg = ()

HmJre.dll側ではなく秀丸エディタ本体の方が変ですね。

[ ]
RE:03354 HmJre.dll でヒットしないカタカNo.03355
秀まるお さん 03/11/16 22:19
 
 今テストしたら、たしかに上方向の検索がダメでした。

 検索関係で、秀丸本体の方も僕がかなりいじりました。

 さっそく調べます。

[ ]
RE:03354 HmJre.dll でヒットしないカタカNo.03356
秀まるお さん 03/11/16 22:44
 
 全角文字の2バイト目から検索させた場合に、HmJre.dllで中途半端な検索を
してしまうのが原因のようです。

 秀丸側で、漢字の2バイト目から検索させるようなことの無いように修正しま
す。

[ ]