Function: majutsu-interactive--retain-temp-dir-for-process
majutsu-interactive--retain-temp-dir-for-process is a natively
compiled function defined in majutsu-interactive.el.
Signature
(majutsu-interactive--retain-temp-dir-for-process PROCESS DIRECTORY)
Documentation
Keep DIRECTORY until asynchronous PROCESS exits.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-interactive.el
(defun majutsu-interactive--retain-temp-dir-for-process (process directory)
"Keep DIRECTORY until asynchronous PROCESS exits."
(if (and (processp process) (process-live-p process))
(let ((original (process-sentinel process)))
(process-put process 'majutsu-interactive-temp-dir directory)
(process-put process 'majutsu-interactive-original-sentinel
original)
(set-process-sentinel process
#'majutsu-interactive--temp-dir-process-sentinel)
;; The process can exit after the first liveness check but before the
;; replacement sentinel is installed. In that case the old sentinel
;; may already have consumed the only exit event, so clean up here.
(unless (process-live-p process)
(ignore-errors (set-process-sentinel process original))
(process-put process 'majutsu-interactive-temp-dir nil)
(process-put process 'majutsu-interactive-original-sentinel nil)
(majutsu-interactive--delete-operation-temp-dir directory))
t)
nil))