Nextstepアプリケーションでは、Xに相当するものがない特殊なイベントが数多く発生します。これらは特別に定義されたキーイベントとして送信され、いかなるキーストロークのシーケンスにも対応しません。Emacsでは、これらのキーイベントを通常のキーストロークと同様に関数にバインドできます。以下に、これらのイベントの一覧を示します。
このイベントは、別のNextstepアプリケーションがEmacsにファイルを開くよう要求した際に発生します。典型的な例としては、ユーザーがFinderアプリケーションでファイルをダブルクリックした場合などが挙げられます。デフォルトでは、Emacsはこのイベントに応答して新しいフレームを開き、そのフレームでファイルを表示します
(ns-find-file)。例外として、選択中のバッファが*scratch*バッファである場合、Emacsは選択中のフレームでファイルを表示します。
変数 ns-pop-up-frames を変更することで、ns-open-file イベントに対する Emacs の動作を変更できます。デフォルト値の
‘fresh’ は、先ほど説明した動作です。t を指定すると、常に新しいフレームでファイルを開くようになります。nil を指定すると、常に選択中のフレームでファイルを開くようになります。
このイベントは、別のアプリケーションがEmacsに一時ファイルを開くよう要求した際に発生します。デフォルトでは、単にns-open-fileイベントを生成することで処理され、その結果は上述の通りです。
ProjectBuilderやgdbなどの一部のアプリケーションでは、特定のファイルだけでなく、そのファイル内の特定の行や一連の行も指定します。Emacsは、そのファイルを訪問し、指定された行をハイライトすることでこれに対応します
(ns-open-file-select-line)。
このイベントは、ユーザーがログアウトしてもEmacsが起動したままの場合や、アプリケーションメニューから「Quit Emacs」が選択された場合に発生します。デフォルトの動作は、すべてのファイル閲覧バッファを保存することです。
このイベントは、ユーザーがアプリケーションメニューから「環境設定」を選択したときに発生します。デフォルトでは、コマンド customize に紐付けられています。
Emacsでは、‘ns-service-’で始まりサービス名で終わる一連のコマンドを通じて、Nextstepサービスを利用することも可能です。M-x ns-service- TABと入力すると、これらのコマンドの一覧が表示されます。これらの関数は、マークされたテキストを操作する(結果で置き換える)か、あるいは文字列引数を受け取り、その結果を文字列として返します。また、Lisp関数ns-perform-serviceを使用して、任意の文字列を任意のサービスに渡し、結果を受け取ることもできます。なお、新たに利用可能になったサービスにアクセスするには、Emacsを再起動する必要がある場合があることに注意してください。