みげものなぞ
echo! XMigemoCore.getRegExp('(')
で
\((|(
半端にエスケープされた物が帰ってくるのはなんでだろ。
バグ?
再現コード
var XMigemoCore; try{ XMigemoCore = Components.classes['@piro.sakura.ne.jp/xmigemo/factory;1'] .getService(Components.interfaces.pIXMigemoFactory) .getService("ja"); } catch(ex if ex instanceof TypeError){} alert( XMigemoCore.getRegExp('(') );
対症療法
"()" が含まれているときのみおかしいようなので、
そのときだけオリジナルのフィルタを使うようにした。
プラグインにマルチバイト文字のリテラルは駄目
drryさんにまた添削もらった!
http://coderepos.org/share/changeset/22343
一行化されていたりして楽しい。
プラグインのマルチバイト文字リテラル問題
この diff をみていたら、マルチバイト文字がそのまま入っているのに気づいたので修正。
http://coderepos.org/share/changeset/22381/lang/javascript/vimperator-plugins/trunk/auto_detect_link.js
わかりづらいなーとは思うが仕方がない。
Vimperator のプラグインのコードにマルチバイト文字のリテラルを含めるとおかしくなるので気をつけよう。
UTF-8 だとロード時にはエラーにならなかったりするので罠チック。
.vimperatorrc.js などに設定を書くときにも注意。