YUI Compressor が \uXXXX を文字に変換して困った
いやそんな圧縮のあれこれについて話をしたかったんじゃなかったんでした。
jQuery の 1.1.4 を YUI Compressor 2.2 で minify して組み込んでテストしてたら,IE のテスターから
ライン: 2 文字: 15579 エラー: 文字セットの範囲が不正です。 コード: 0
というエラーが出るんですけど……と報告をうけたのです。
んーと思って調べたら,もともとのコード,
var chars = jQuery.browser.safari && parseInt(jQuery.browser.version) < 417 ? "(?:[\\w*_-]|\\\\.)" : "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",
ってところが,Compressor かけると,
var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417? "(?:[\\w*_-]|\\\\.)":"(?:[\\w■-■*_-]|\\\\.)",
になってたのでした(表記できない文字は■で代用)。
とりあえず使ってたのはそこだけだったんで,手書きで直したんですが,気になって jQuery 1.2.1 の Official minified をダウンロードして見てみたら,きちんと \uXXXX 表記のままでした。
んーなんでなんだろう。そんなオプションなさそうですし。