だんだん憂鬱な季節が迫ってきた。Mac OS XのメジャーアップデートであるMac OS X 10.5「Leopard」の発表が迫っているからである。しかも、噂によると当初の予想よりリリースが早まっているという。このままいくと、年明けのMacWorld Expo SanFranciscoで発表になり、2月か3月には発売、あるいは1月に発売という可能性もあり得る。
毎度毎度基盤部分を差し替えてアップデートしてきたこれまでのMac OS Xのメジャーアップデートにおいては、前バージョンで解消したはずのバグが復活したり、予想だにしないアホなバグが発生していたりで…………今回の10.5においても、自分が作ったプログラムが、アホでバカでマヌケなUS Appleのエンジニアのせいで「動かなくなる」という事態が予想されるのだ。
10.4から10.5へのアップデートにおいては、OSの基盤部分をそれほど変更しないという話であった。だが、そんな話を素直に信じられるだろうか、いや、そんなホラ話を信じられるわけがない。
昨年Apple Developper ConnectionのSelectの契約を更新しなかったのは、バグを指摘してもまともに直らないし、結局Appleのためにデバッグを(しかも年間500ドルも払って)させられているにすぎないと感じたためだ。だいたい、出荷前にきちんとバグを取らないUS AppleのAppleScript担当エンジニアの怠慢のツケをこちらが支払わされるのでは割に合わないのである。
しかしながら、クパティーノを爆撃したりAppleのキャンパスを爆破でもしないかぎり現状が変るものでもない。US Appleのバカさ加減から身を守るための自衛策を講じなくてはならないだろう。
1つは、すでに手を打っている。自分が使用している基礎的なサブルーチンをWeb上で公開し、使用者にルーチンの動作に問題がないかをレポートしてもらおうというものだ。このためのプログラムはすでに作成してあり、Web上で公開できるように変換作業をすすめている。数が数千にのぼるので、いちいち取捨選択に時間がかかるのだ。
もう1つは……バグでないにせよプログラムの仕様が変ったことを検出するための手法を確立することだ。
これについては、各アプリケーションのAppleScript用語辞書をHTMLに書き出して、diffアプリケーションで変更点を検出すればよい。
AppleScript用語辞書のHTML書き出しには、「HTML Dictionary」を使用し、差分の検出にはAppleの「File Merge」を利用すればよい。
■HTMLDictionary 0.6.1
http://freespace.virgin.net/hamish.sanderson/
この方法には予期せぬ応用分野があった。たとえば、PhotoshopやIllustratorのメジャーアップデートがあったとしても、AppleScriptの機能でどこに変更が加わったかを明確に検出ができるのだ。ファイルメーカーProとファイルメーカーPro Advancedの用語辞書の間に差があるのかといったことも検出可能だ。
手元にあるAppleScript対応アプリケーションの用語辞書を軒並みHTMLに書き出しておいたので、これでバージョンアップしても差分を検出可能になった。
HTMLDictionaryでは、たまにHTML書き出しできないものもあるが、おおかた9割以上は大丈夫だ。