ediff-window-setup-function is a variable defined in `ediff-wind.el'.
Its value is

  • This variable may be risky if used as a file-local variable.

Function called to set up windows.
Ediff provides a choice of three functions:
(1) `ediff-setup-windows-multiframe', which sets the control panel
in a separate frame.
(2) `ediff-setup-windows-plain', which does everything in one frame
(3) `ediff-setup-windows-default' (the default), which does (1)
on a graphical display and (2) on a text terminal.

The command M-x ediff-toggle-multiframe can be used to toggle
between the multiframe display and the single frame display. If
the multiframe function detects that one of the buffers A/B is
seen in some other frame, it will try to keep that buffer in that

If you don't like any of the two provided functions, write your own one.
The basic guidelines:
1. It should leave the control buffer current and the control window
2. It should set `ediff-window-A', `ediff-window-B', `ediff-window-C',
and `ediff-control-window' to contain window objects that display
the corresponding buffers.
3. It should accept the following arguments:
buffer-A, buffer-B, buffer-C, control-buffer
Buffer C may not be used in jobs that compare only two buffers.
If you plan to do something fancy, take a close look at how the two
provided functions are written.

You can customize this variable.

This variable was introduced, or its default value was changed, in version 24.3 of Emacs.