Function: eca-rewrite--ediff

eca-rewrite--ediff is a natively compiled function defined in eca-rewrite.el.

Signature

(eca-rewrite--ediff OV)

Documentation

Show diff between original text and rewrite overlay OV.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-rewrite.el
(defun eca-rewrite--ediff (ov)
  "Show diff between original text and rewrite overlay OV."
  (letrec ((ov-buf (overlay-buffer ov))
           (newbuf (eca-rewrite--clone-buffer-with-rewrite ov "*eca-rewrite-ediff*"))
           (orig-win (current-window-configuration))
           (hide-show-fn (lambda (&optional restore)
                           (let ((disp (overlay-get ov 'display))
                                 (stored (overlay-get ov 'eca-rewrite--ediff)))
                             ;; Do not toggle overlay-level face; the highlight is carried by the display string.
                             (overlay-put ov 'display (and restore stored))
                             (overlay-put ov 'eca-rewrite--ediff (unless restore disp)))))
           (on-quit-fn (lambda ()
                         (when (window-configuration-p orig-win)
                           (set-window-configuration orig-win))
                         (funcall hide-show-fn t)
                         (remove-hook 'ediff-quit-hook on-quit-fn))))
    (funcall hide-show-fn)
    (add-hook 'ediff-quit-hook on-quit-fn t)
    (ediff-buffers ov-buf newbuf)))