Function: majutsu-ediff--control-packet-spec
majutsu-ediff--control-packet-spec is a natively compiled function
defined in majutsu-ediff.el.
Signature
(majutsu-ediff--control-packet-spec LINE)
Documentation
Parse Majutsu Ediff control packet LINE into a plist spec.
Return nil when LINE is not a valid control packet.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-ediff.el
(defun majutsu-ediff--control-packet-spec (line)
"Parse Majutsu Ediff control packet LINE into a plist spec.
Return nil when LINE is not a valid control packet."
(when (string-match
(format "^%s: \\([0-9]+\\) \\(DIFF\\|MERGE\\) \\(.*\\)\\(?:\\r\\)?$"
majutsu-ediff--control-packet-prefix)
line)
(let* ((pid (match-string 1 line))
(kind (downcase (match-string 2 line)))
(fields (split-string (match-string 3 line) "\x1f" nil)))
(pcase kind
("diff"
(pcase fields
(`(,left ,right ,file)
(let ((spec (list :pid pid
:type 'diff
:left left
:right right)))
(if (string-empty-p file)
spec
(append spec (list :file file)))))
(`(,left ,right)
(list :pid pid :type 'diff :left left :right right))
(_ nil)))
("merge"
(pcase fields
(`(,left ,base ,right ,output ,marker)
(list :pid pid
:type 'merge
:left left
:base base
:right right
:output output
:marker marker))
(_ nil)))
(_ nil)))))