メニューで "Compile.." を選択すると、Emacs がコマンドラインで "make filename" を実行するように Emacs をセットアップしようとしています。私は次のようなことを試みています:
(setq compile-command (concat "make " (file-name-sans-extension
buffer-file-name)))
しかし、それは機能しません - Emacs がバッファーのファイル名を探しているようですが*scratch*
、それにはそれがありません。これを修正する方法を知っている人はいますか?
ありがとう。
更新: Cheeso によって提案されたように、フックは問題を修正します。ここに私のために働くバージョンがあります:
(defun cur-file ()
(file-name-sans-extension
(file-name-nondirectory (buffer-file-name (current-buffer)))))
(add-hook 'c++-mode-hook
(lambda()
(set (make-local-variable 'compile-command)
(concat "make " (cur-file)))))