6

Windows 7 ボックスで SLIME をセットアップしようとしていますが、実行M-x slimeするとエラーが発生します

Spawning child process: invalid argument

inferior-lisp-program設定し"C:\\Program Files\\ccl\\wx86cl.exe"(これは実際には正しく、実行(comint-run inferior-lisp-program)すると CCL プロンプトが動作するようになります)、slimeディレクトリが に追加されました'load-path

私は何を間違っていますか?

編集: Lispboxの Windows 版を介して同じ環境をロードしようとしましたが、SLIME は正常に動作します。私が望むよりも古い Emacs、CCL、および SLIME をパッケージ化するため、私はそれを使用したくありません。

4

1 に答える 1

10

受け取ったメッセージは、シェルに与えられたコマンドに構文上の問題があった可能性が高いことを意味します。これは、ファイル名に文字が含まれているために発生し、何か特別なことをしていると解釈される可能性があります。C:\\Programつまり、Emacs が"program" を引数付きで呼び出そうとしたようFiles\\ccl\\wx86cl.exeです。

エラーに対処するには、いくつかの方法があります。

  • 次のようなエスケープ関数が必要です。

(shell-quote-argument "C:\\Program Files\\ccl\\wx86cl.exe")

ただし、プロセスを作成する関数にファイル名が渡される方法に影響を与えることはできないため、これは機能しません。

  • 呼び出したいプログラムを「安全な」名前のディレクトリに移動できます。

  • %PATH%環境変数を変更し、実行可能ファイルを含むディレクトリを追加することにより、実行可能ファイルをシステム パス (Windows では変数) に移動できます。

  • もう 1 つのオプションは、実行可能ファイルを含むディレクトリをexec-pathEmacs の変数に追加することです。この変数は、フル パスではなく名前でプログラムを呼び出す場合に、プログラムを実行するために検索されるすべてのディレクトリのリストを保持します。これにより、(少なくとも私にとっては).emacs異なるシステム間でのファイルの移植が容易になります。

于 2013-07-25T20:21:29.690 に答える