現在見直しが行われているサクラエディタのヘルプを見ていたのだが、正規表現の \b の説明に、SJIS 未対応と書かれていたのが気になった。サクラエディタで、
2 バイト文字 2バイト文字
という文字列を打ち込んで、\b や \B で検索してみたところ、明らかにおかしな結果になった。「バイト」の部分のマッチの仕方が1行目と2行目で異なっている。
ソースを見たところ、確かにおかしい。前の文字が、数字やアルファベットであるかどうかを調べるために、
ln = isALNUM(locinput[-1]);
などとやっているが、これでは前の文字が2バイト文字だった場合、その2バイト目を見て判定することになるため、正しい判定ができない。
とりあえず修正してみた。以前のバグ修正も含む。
先月の spam メールの集計結果。着信拒否にならなかった spam が少なくとも 2049通。そのうち、@nifty の迷惑メールフォルダーでも Spam Mail Killer でも spam として認識できなかったものは 1通(0.05%)。誤削除が 1件。今月も @nifty の迷惑メールフォルダーの判別ミスが少し多かった。迷惑メールでないものを迷惑メールとして判定するのが多いのが気になった。