1

Flymake プロセスが動作するバッファを閉じたままにする前に、Flymake プロセスを終了しようとしていますが、失敗しました。以下は私が試したことです:

(defun haxe-kill-network-process ()
  "Kill connection to Haxe compiler server and Flymake process in this buffer"
  (when (equal major-mode 'haxe-mode)
    (let ((proc (get-process haxe-compiler-process))
      (fly-proc (get-buffer-process (buffer-name))))
      (when proc
    (delete-process proc)
    (haxe-log 3 "Disconnecting from HaXe compiler server")
    (flymake-mode -1)
    (delete-process fly-proc)
    (haxe-log 3 "Flymake process killed")))))

(add-hook 'kill-buffer-hook #'haxe-kill-network-process)

私はこの出力を得る:

Haxe コンパイラ サーバーからの切断

致命的なステータス CFGERR のため、バッファ StripArray.hx の Flymake モードを OFF に切り替えました。 wvxvw/projects/wafer/bin/wunderwafer.swf -cp /home/wvxvw/projects/wafer/src -swf-header 800:600:31 -swf-version 10 com.wunderwafer.map.StripArray)

Flymake プロセスが強制終了されました

しかし、それは殺されませんhaxe-kill-network-process-プロセスを実行しているバッファーを強制終了しようとすると、終了するように求められます。

4

1 に答える 1

2

正確に何が起こるかを理解するには、さらに情報が必要ですが、いくつかの考えを次に示します。

  • set-process-query-on-exit-flagプロンプトを避けたいと思うかもしれません。
  • 常にバッファー名よりもバッファーを優先します (つまり(current-buffer)(buffer-name).
  • 「殺されていない」と言いますが、コードはさまざまなプロセスが関与していることを示しているようです。では、どのプロセスが強制終了されていないのでしょうか? あなたが得る正確なプロンプトは何ですか?M-x list-processes実行中のプロセスを確認するために使用することもできます。
于 2013-01-22T20:05:24.407 に答える