Skip to content

Instantly share code, notes, and snippets.

@jorgenschaefer
Created October 18, 2013 16:45
Show Gist options
  • Select an option

  • Save jorgenschaefer/7044302 to your computer and use it in GitHub Desktop.

Select an option

Save jorgenschaefer/7044302 to your computer and use it in GitHub Desktop.
;; This is a bad idea.
(defun restart-process (process)
(let ((name (process-name process))
(buffer (process-buffer process))
(program-and-args (process-command process))
(sentinel (process-sentinel process))
(filter (process-filter process))
(new-process))
(with-current-buffer buffer
(set-process-sentinel process nil)
(delete-process process)
(setq new-process (apply #'start-process
name buffer program-and-args))
(set-process-sentinel new-process sentinel)
(set-process-filter new-process filter)
(mapatoms (lambda (sym)
(ignore-errors
(when (equal (symbol-value sym)
process)
(set sym new-process))))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment