Function: majutsu-restore--patch-selector

majutsu-restore--patch-selector is a natively compiled function defined in majutsu-restore.el.

Signature

(majutsu-restore--patch-selector &optional BUFFER)

Documentation

Return Restore selector for BUFFER, or nil when patch restore is unsafe.

Only single-revision diffs (with structured metadata) and explicit
--from/--to ranges can drive patch selection.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-restore.el
(defun majutsu-restore--patch-selector (&optional buffer)
  "Return Restore selector for BUFFER, or nil when patch restore is unsafe.
Only single-revision diffs (with structured metadata) and explicit
--from/--to ranges can drive patch selection."
  (with-current-buffer (or buffer (current-buffer))
    (when (derived-mode-p 'majutsu-diff-mode)
      (let* ((range majutsu-buffer-diff-range)
             (from (transient-arg-value "--from=" range))
             (to (transient-arg-value "--to=" range))
             (revisions
              (append
               (seq-keep (lambda (arg)
                           (transient-arg-value "--revisions=" (list arg)))
                         range)
               (and (equal (car range) "-r") (cadr range)
                    (list (cadr range))))))
        (cond
         ((or from to)
          (majutsu-restore--selector (majutsu-restore--default-args)))
         ((null range)
          (list :changes-in "@"))
         ((and (= (length revisions) 1)
               (majutsu-diff--revision-metadata))
          (list :changes-in (car revisions))))))))