Function: majutsu-ediff--run-control-packet
majutsu-ediff--run-control-packet is a natively compiled function
defined in majutsu-ediff.el.
Signature
(majutsu-ediff--run-control-packet SPEC DIRECTORY)
Documentation
Handle parsed control SPEC in DIRECTORY and signal completion.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-ediff.el
(defun majutsu-ediff--run-control-packet (spec directory)
"Handle parsed control SPEC in DIRECTORY and signal completion."
(let ((default-directory (or directory default-directory))
(inputs nil)
(ok nil))
(unwind-protect
(condition-case err
(progn
(setq inputs (majutsu-ediff--control-required-inputs spec))
(unless (majutsu-ediff--wait-for-input-files inputs)
(error "temporary inputs unavailable: %s"
(mapconcat #'identity inputs ", ")))
(pcase (plist-get spec :type)
('diff
(majutsu-ediff-diffedit-file
(plist-get spec :left)
(plist-get spec :right)
(plist-get spec :file)))
('merge
(majutsu-ediff-merge-files
(plist-get spec :left)
(plist-get spec :base)
(plist-get spec :right)
(plist-get spec :output)
(plist-get spec :marker))))
(setq ok t))
((error quit)
(message "Majutsu Ediff control callback failed: %s"
(error-message-string err))))
(condition-case err
(majutsu-ediff--signal-control-session (plist-get spec :pid) ok)
((error quit)
(message "Majutsu Ediff failed to signal editor process: %s"
(error-message-string err)))))))