AutoIt V3.2.6.0

イギリスの話はおいとくとして、一般人の皆様のご存知のとおりAutoItV3が約3ヶ月ぶりにアップデートされました。
更新履歴は以下のURLの通り。
http://www.autoitscript.com/autoit3/docs/history.htm
この中で見逃せないのはこの一文。
Changed: Limited Unicode support added in regular expressions.
正規表現に制限つきでユニコードがサポートされたとのことです。前にも書いたとおりAutoItV3は3.2.4.0以降2byte文字を使用したとき、正規表現のパターンに正常にマッチしない不具合がありました。この不具合はどういう場合に発生するのか切り分けるの面倒という理由で報告もしていません。いつかは報告しないとなぁ、思いつつ数ヶ月が過ぎてしまった感じで。
そんな中このアップデートなのでせっかくだからちょっと検証してみましょう。
ちなみに、検証なんぞに興味がなく結果を知りたい方のために書いておくと、今回のv3.2.6.0は僕らジャップにはまったくをもってダメなバージョンでv3.2.2.0を使うほかなさそうです。
先に書いた不具合は、単に2byte文字を扱えば発生するわけではない、という点が実は明らかになっています。それゆえに再現・検証が面倒で報告をしていないんです。まあ何はともあれ、とりあえず以下のソースを書いてみましょう。

;regexp test
Local $teststring = "これは2byte文字を含む文字列データです。"&@CRLF&"異論は許しません!!!!11111"

$result=StringRegExp($teststring, ".{4}(?=は)", 3)

If Not @error Then
  For $ii=0 To UBound($result)-1
    MsgBox(0, $ii, $result[$ii])
  Next
EndIf

「は」という文字の手前 2文字を引っ張り出して表示させるだけのスクリプトです。
これに対し、現在インストールされているv3.2.2.0, 最新版のv3.2.6.0 そしてその前バージョンv3.2.4.0でそれぞれ実行結果を見てみます。
結果は以下のとおり

v3.2.2.0 「これ」「異論」が表示される。 =>正常
v3.2.6.0 何も表示されない =>異常
v3.2.4.0 「これ」「異論」が表示される。 =>正常

困りました、不具合が発生するはずのv3.2.4.0で不具合が発生せず今回はv3.2.6.0でのみ不具合が発生しちゃってます。つまり、そもそも再現できないという意味で検証に不適切なスクリプトであるにもかかわらず、さらに不具合が出ちゃってるわけですね。
しかし、ここでふと思いました。そもそもこのスクリプトファイルはShift-JISで保存されているわけで、Unicodeでもなんでもありません。なのでいったんこのファイルをUTF-8へ変換し、保存しなおし、再度実行です。

v3.2.2.0 何も表示されない =>異常
v3.2.6.0 エラー(文字列が閉じていない)が発生し実行できない。=>異常
v3.2.4.0 エラー(文字列が閉じていない)が発生し実行できない。=>異常

はーい、もっとダメになりましたよ!!!!
ちょっとForumで聞いてみる必要があるかもしれませんねこりゃ…。