Возможно, вы захотите расширить это, чтобы проверить жизнеспособность процесса, используя process-status
и get-buffer-process
, но нет фундаментальной причины, по которой вы не можете этого сделать.
Немного более приятный битelisp будет выглядеть следующим образом:
(unless (get-buffer "*swank*")
(clojure-jack-in))
Добавление проверки:
(let ((proc (get-buffer-process "*swank*")))
(unless (and proc (eq (process-status proc) 'run))
(clojure-jack-in)))
Это должно проверить, все еще ли запущен процесс, и автоматически перезапустить при необходимости.