CotEditor 5.0.7での仕様改訂
write to consoleコマンドの強化
write to consoleコマンドにtitleとtimestampオプションを追加し、プログラムからコンソールに書いたときにスクリプト名とタイムスタンプを省略できるようにしました。
このページでは、CotEditorのAppleScript対応における今までの仕様改訂を列挙しています。
write to consoleコマンドの強化write to consoleコマンドにtitleとtimestampオプションを追加し、プログラムからコンソールに書いたときにスクリプト名とタイムスタンプを省略できるようにしました。
selectionやjumpなどで使われる文字範囲の数値指定をUTF-16ベースからUnicode書記素クラスタベースに変更しました。この変更はMac OS X 10.5で導入されたAppleScript 2.0での変更に追従するものです。
lengthの廃止documentオブジェクトのlengthプロパティは廃止されました。
なお、後方互換性確保のためにCotEditor 4.4.0では、従来と同じ働きをするプロパティを隠し属性としてdocumentオブジェクトに付与していますが、このプロパティは将来予告なく削除される可能性があります。
pathの後方互換性の削除CotEditor 2.0.0で廃止にされつつ後方互換性のために密かに対応されていたpathは、このバージョンで完全に削除されました。
documentオブジェクトに新しくjumpコマンドが追加されました。
documentオブジェクトに新しくhas BOMプロパティが追加されました。
convertコマンドに新しくBOMオプションが追加されました。
convert/reinterpretでのエンコーデング指定方法convertコマンドやreinterpretコマンドでのエンコーディング指定でIANA charset名も使えるようになりました。
selectionオブジェクトに新しく以下のコマンドが追加されました。
smarten quotesstraighten quotessmarten dashesview opacityプロパティはCotEditor 3.5.0で廃止されました。
この件に関しては後方互換性はありませんのでご了承ください。
documentオブジェクトに新しくexpands tabプロパティが追加されました。
line spacingプロパティはCotEditor 2.6.0で廃止されました。
この件に関しては後方互換性はありませんのでご了承ください。
normalize unicodeコマンドに新しくModified NFCが追加されました。
selectionオブジェクトに新しく以下のコマンドが追加されました。
move line upmove line downsort linesreverse linesdelete duplicate linenormalize unicodeコマンドに新しくModified NFDが追加されました。
normalize unicodeコマンドに新しくNFCK Casefoldが追加されました。
documentオブジェクトに新しくtab widthプロパティが追加されました。
selectionオブジェクトに新しくcomment outとuncommentコマンドが追加されました。
CotEditor 1.xでコマンドunicode normalizationとして実装されていたUnicode正規化コマンドは、 2.0でnormalize unicodeに改名されました。機能とパラメータに変更はありません。
この件に関しては後方互換性はありませんのでご了承ください。
pathプロパティの廃止documentオブジェクトのファイルパスを得るためのpathプロパティは現在のモダンなAppleScript Standard Suiteではすでに削除になっています。かわりにfileプロパティを使用してください。 pathプロパティはtextオブジェクトでしたがfileプロパティはfileオブジェクトを返します。
なお、後方互換性確保のためにCotEditor 2.0では、従来と同じ働きをするfileプロパティを隠し属性として独自にdocumentオブジェクトに付与していますが、このプロパティは将来予告なく削除される可能性があります。
rangeプロパティの内部コードの変更selectionオブジェクトが持つrangeプロパティを内部的に表すコードがCotEditor 2.0で変更されました。rangeプロパティは引き続きrangeというキーで操作するのでスクリプトを書く上では変更はありませんが、以前書かれたコンパイルされたスクリプト(.scpt)は新しいrangeプロパティを見つけられない可能性が高いです。
以前の.scptファイルをAppleScript Editor (もしくはScript Editor)で開くと、従来rangeであった部分が«class prng»のような文字列に変更されているはずなのでその部分を再びrangeに書き戻してください。プレーンテキスト形式のスクリプト(.applescript)ではこの問題は発生しません。
CotEditor 1.5でウインドウの不透明度設定の機構が変更されたのをうけて、不透明度設定に関するAppleScriptでの語句も変更されました。1.4までて使用できたdocumentオブジェクトのプロパティ:
transparency:ウインドウまたはテキストビューの透明度(real型、0.2から1.0の範囲)alpha only textView:透明度を設定するのはテキストビューだけかどうか(boolean型)は廃止され、新たにwindowオブジェクトにプロパティ:
view opacity:テキストビューの不透明度(real型、0.2から1.0の範囲)が追加されました。
プロパティ名称がtransparency (透明度)からopacity (不透明度)に変更されていますが、これは1.5以前の誤表現を訂正するものですので、実際に取る値に変更はありません。新旧とも1.0に近づくほど不透明度が増します。
また、この件に関しては後方互換性はありませんのでご了承ください。
CotEditorの最初のβ版0.6では、 selectionオブジェクトをドキュメントを明示しなくてもアプリケーション前面のドキュメントが指定されたと見なしていました。しかし実際にはうまく動かなかったために、これは将来廃止にする可能性が高く非推奨となり、後方互換性のために該当部分のコードのみは残したままにしていました。
この仕様はCotEditor 1.5で正式に廃止され関連するコードも削除されました。最前面ドキュメントのselectionを得るためには例1または例2のようにそれを明示してください。
tell application "CotEditor"
contents of selection of front document
end tell
tell application "CotEditor"
tell document 1
contents of selection
end tell
end tell