Function: majutsu--process-strip-with-editor-control-packets

majutsu--process-strip-with-editor-control-packets is a natively compiled function defined in majutsu-process.el.

Signature

(majutsu--process-strip-with-editor-control-packets PROC INPUT)

Documentation

Strip control packets from INPUT and keep partial state on PROC.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-process.el
(defun majutsu--process-strip-with-editor-control-packets (proc input)
  "Strip control packets from INPUT and keep partial state on PROC."
  (let ((start 0)
        (visible nil))
    (while (string-match "\n" input start)
      (let* ((end (match-beginning 0))
             (line (substring input start end)))
        (unless (majutsu--process-handle-control-line proc line)
          (push (concat line "\n") visible))
        (setq start (1+ end))))
    (let ((trailing (substring input start)))
      (cond
       ((or (majutsu--with-editor-control-fragment-p trailing)
            (majutsu--ediff-control-fragment-p trailing))
        (process-put proc 'majutsu--with-editor-filter-pending trailing))
       ((string-empty-p trailing)
        (process-put proc 'majutsu--with-editor-filter-pending ""))
       (t
        (process-put proc 'majutsu--with-editor-filter-pending "")
        (push trailing visible)))
      (apply #'concat (nreverse visible)))))