0

一日の苦労の末、ついに Emacs を SML/NJ 用に設定しました。私はemacsとSMLの両方に不慣れで、emacsでsmlプログラムを実行する方法に問題があります。Mx sml-mode コマンドを実行すると、問題ないように見えますが、エラー レポートはありません。

開いた後(またはtest.smlのようなファイルを作成した後)、単純なsmlプログラムを作成しましたが、コンパイル方法がわかりません。いくつかのビデオに示されているように、Cc Cc と Cc Cb を試しました。しかし何の反応もありません。私は emacs 24.1、SMLNj、および Windows Vista システムを使用しています。emacsでSMLプログラムをコンパイルして実行する方法を教えてもらえますか? 私は初心者なので、シンプルで詳細な回答です。

どうもありがとうございます。

4

4 に答える 4

1

このコードを使用して、sml repl を開始および再起動します。私はそれを Mm さんにバインドします。

(defun isml ()
  "If sml repl exists, then restart it else create a new repl"
  (interactive)
  (when (get-buffer "*sml*")
    (with-current-buffer "*sml*"
      (when (process-live-p "sml")
        (comint-send-eof)))
    (sleep-for 0.2))
  (sml-run "sml" ""))

(global-set-key (kbd "M-s M-m") 'isml)
于 2013-03-29T18:18:10.197 に答える
1

C-c C-l代わりに試してください。あなたが持っているsml実行可能ファイルが何であれ、EmacsやPATHなどで利用できることを確認する必要があります。私は Windows 上の Emacs について十分に理解していません。ただし、sml-modeマニュアルの関連セクションは次のとおりです。 http://www.smlnj.org/doc/Emacs/sml-mode.html#Interaction-Mode

于 2013-01-02T21:53:34.880 に答える
0
(defun gcr/sml-eval-buffer ()
  "Intelligently evaluate a SML buffer."
  (interactive)
  (gcr/save-all-file-buffers)
  (let ((sml-process (get-process "sml")))
    (when sml-process
      (quit-process sml-process)))
  (sleep-for 0.25)
  (let ((sml-buffer (get-buffer "*sml*")))
    (when sml-buffer
      (kill-buffer sml-buffer)))
  (sml-prog-proc-load-file buffer-file-name))
于 2013-10-13T02:54:46.500 に答える