Cocoa Scripting Course本のVol.4「System Hardware & Software Information」の執筆のために基礎調査を行なっていた段階で気づいていたのですが、macOS 10.15あたりからFrameworkの再編が行われていて、AというFrameworkの下位Frameworkとして存在していたBというFrameworkが、macOS 12あたりで独立したりと位置付けがいろいろ変わっています。
具体例を出すと、みんな大好きPDF操作用のPDFKit。これまでPDFKitはQuartzフレームワークの下位フレームワーク(Umbrella Framework)として存在していました。それが独立したため、AppleScriptでも、
use framework "Quartz"
などと書いていたものを、
use framework "PDFKit"
などと書き換える必要が出てきました。
なかなかこのあたりの問題が顕在化しないのは、実行環境側でPDFKitをincludeしていると、AppleScriptもそのご利益にあやかってuse frameworkが目的のものを指していなくても、実行できてしまっているためです。
ところが、別のランタイム環境(Script Menuとか)に持って行くと、そちらではPDFKitをincludeしていなかったりする場合に、「PDFDocumentなんて知らないよ? allocできないよ?」という話になってしまいます。とくに、Script Menuはエラーの出力先もない「寡黙な実行環境」なので、エラー発生源がよく分からないんですね。
そして、Script Menuから呼び出すScriptにいろいろエラートラップを仕掛けて発生しているエラーを調査し、この問題が発生していることが判明したわけです。
もしかしたら、AppleScript ver. 2.8でバージョン番号をあらためる必要があったのは、内部的な要因(Apple Silicon Macへの最適化)もさることながら、こうしたOS内のさまざまな変更が大きいため、それを区切る必要がある(外部的な要因)と判断されたためなのかもしれません。