aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorDaniel Colascione2025-03-21 19:46:08 -0400
committerDaniel Colascione2025-03-21 20:56:12 -0400
commite5ee1d2a74c6a0989c863c3c6c06eba31efaecb3 (patch)
treecebe7391a81e10fa0776484dfb8c7553b52abf13 /doc
parentb21636580bed822bd9fb8bb84014311fa9b4c071 (diff)
downloademacs-e5ee1d2a74c6a0989c863c3c6c06eba31efaecb3.tar.gz
emacs-e5ee1d2a74c6a0989c863c3c6c06eba31efaecb3.zip
Adapt ediff to nonstandard layouts
Make ediff cope with having some of its windows (especially the control window) not shown by a custom ediff-window-setup-function. Modernize relevant adjacent code. After this change, one can write a custom ediff-window-setup-function that doesn't show the control window. * doc/misc/ediff.texi (Notes on Heavy-duty Customization): Refine language to explain that the window setup function doesn't have to show all windows. * lisp/vc/ediff-util.el (ediff-select-control-window-on-setup): New variable. (ediff-setup, ediff-recenter, ediff-recenter-one-window) (ediff-recenter-ancestor, ediff-toggle-read-only) (ediff-operate-on-windows, ediff-jump-to-difference-at-point) (ediff-default-suspend-function) (ediff-clone-buffer-for-region-comparison) (ediff-clone-buffer-for-window-comparison): Modernize control flow; select only windows that exist. * lisp/vc/ediff-wind.el (ediff-with-live-window): New convenience macro. (ediff-window-setup-function): Explain relaxed contract.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/ediff.texi6
1 files changed, 4 insertions, 2 deletions
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index 26a0ee433d0..73f751f3a4b 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -2399,10 +2399,12 @@ The window displaying buffer A@. If buffer A is not visible, this variable
2399is @code{nil} or it may be a dead window. 2399is @code{nil} or it may be a dead window.
2400 2400
2401@item ediff-window-B 2401@item ediff-window-B
2402The window displaying buffer B. 2402The window displaying buffer B. If buffer B is not visible, this variable
2403is @code{nil} or it may be a dead window.
2403 2404
2404@item ediff-window-C 2405@item ediff-window-C
2405The window displaying buffer C, if any. 2406The window displaying buffer C, if any. If buffer C is not visible,
2407this variable is @code{nil} or it may be a dead window.
2406 2408
2407@item ediff-control-frame 2409@item ediff-control-frame
2408A dedicated frame displaying the control buffer, if it exists. It is 2410A dedicated frame displaying the control buffer, if it exists. It is