Mac OS XのAppleScriptについて、Jeditで知られる株式会社まつもとの松本慧氏より、情報をいただいた。Mac OSとMac OS Xの間でのAppleScriptの非互換のある部分があるということだ。Jedit4は、AppleScriptによるさまざまな処理に対応していることから、周辺ユーティリティも数多くリリースされているが、Mac OS Xでの稼動ではいくらか注意が必要だろう。
まず、選択範囲を別の文字列に置き換えるためには、 insert "strings" at selection といった記述を行うが、これはMac OS Xの上で稼動させたJedit4に対して実行させてもエラーになるということだ。同等な作業をする命令として、たとえば、 insert "strings" at end of selection という記述は実行できる。命令の意味は若干異なるが、文字列の範囲選択をしていない状態ではおおむね同じ処理をすると言えるだろう。これは、Jedit4側の問題というより、AppleScriptの解釈を行うシステム機能の部分に若干の違いが発生しているということのようである。 さらに別の問題も見つかった。AppleScriptでは「return」というキーワードで、改行コードの文字列を記述できる。Mac OS Xでは、0x0D(CR)のコードだったが、Mac OS Xでは0x0A(LF)になってします。基本システムがUNIXのMac OS Xは「改行」と言えば「LF」であるといえばそれまでだが、たとえば、Jedit4で改行を挿入する場合に、 insert return at end of selection としたとする。文書ファイルの改行コードとしては既定値ではCRになっているので、文書内にはLFコードが挿入されたマークが入り、改行はされないのである。さらに、文字列中の「\r」でさえも、LFコードになってしまう。この問題をクリアするためには、「(ascii character 13)」という記述でCRコードの改行を記述するしかないということだ。