Function: majutsu--call-process-responsive

majutsu--call-process-responsive is a natively compiled function defined in majutsu-process.el.

Signature

(majutsu--call-process-responsive PROGRAM PROCESS-BUF SECTION ROOT &rest ARGS)

Documentation

Run PROGRAM with ARGS synchronously without blocking Emacs subprocesses.

Output is appended to PROCESS-BUF at SECTION, using the same filter as majutsu-start-process. Return the process exit status.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-process.el
(defun majutsu--call-process-responsive (program process-buf section root &rest args)
  "Run PROGRAM with ARGS synchronously without blocking Emacs subprocesses.

Output is appended to PROCESS-BUF at SECTION, using the same filter as
`majutsu-start-process'.  Return the process exit status."
  (let* ((process-environment (majutsu-process-environment args))
         (default-process-coding-system '(utf-8-unix . utf-8-unix))
         (process (apply #'start-file-process (file-name-nondirectory program)
                         process-buf program args))
         exit)
    ;; `majutsu-call-jj' finalizes the section explicitly after this helper
    ;; returns, so suppress Emacs' default sentinel, which would otherwise
    ;; append "Process ... finished" status text to the Majutsu process buffer.
    (majutsu--process-setup process section root #'ignore)
    (majutsu--process-display-buffer process)
    (unwind-protect
        (setq exit (majutsu--process-wait process))
      (when (process-live-p process)
        (delete-process process)))
    exit))