Function: majutsu--process-filter
majutsu--process-filter is a natively compiled function defined in
majutsu-process.el.
Signature
(majutsu--process-filter PROC STRING)
Documentation
Default filter used by majutsu-start-process.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-process.el
(defun majutsu--process-filter (proc string)
"Default filter used by `majutsu-start-process'."
(with-current-buffer (process-buffer proc)
(let ((inhibit-read-only t))
(goto-char (process-mark proc))
;; Find last ^M in STRING. If one was found, ignore everything
;; before it and delete the current line.
(when-let* ((ret-pos (cl-position ?\r string :from-end t)))
(setq string (substring string (1+ ret-pos)))
(delete-region (line-beginning-position) (point)))
;; Control packets (with-editor and Majutsu Ediff) are not user-facing
;; process output and should be consumed before insertion.
(setq string
(majutsu--process-strip-with-editor-control-packets
proc
(concat (or (process-get proc 'majutsu--with-editor-filter-pending) "")
string)))
(unless (string-empty-p string)
(insert (propertize string 'magit-section
(process-get proc 'section)))
(magit-process-yes-or-no-prompt proc string)
(magit-process-username-prompt proc string)
(magit-process-password-prompt proc string)
(run-hook-with-args-until-success 'magit-process-prompt-functions
proc string))
(set-marker (process-mark proc) (point)))))