Subject: bug#61850: 29.0.60; Emacs 29 removes the ability to suppress ediff frames

From: Daniel Martín <[email-masked]>
Date: Mon, 27 Feb 2023 21:56:29 +0100

Morgan Willcock <[email-masked]> writes:

> It no longer seems possible to prevent ediff creating additional frames.
> Previously this behaviour could be altered with:
>
>   (advice-add 'ediff-window-display-p :override #'ignore)
>
> This no longer seems to work, I imagine because this functions is now an
> alias:
>
>   (define-obsolete-function-alias 'ediff-window-display-p #'display-graphic-p "29.1")
>
> The problems caused by opening an additional frame do not necessarily
> correspond with the result of display-graphic-p. For example, when using
> EXWM a frame is a workspace and creating a new workspace is unlikely to
> be desirable or usable within an ediff session.
>
> If ediff-window-display-p is obsolete I think there needs to be a custom
> variable added to allow users to suppress the creation of new frames by
> ediff.

I think the supported way to make Ediff work in a single frame is the
following:

(setq ediff-window-setup-function 'ediff-setup-windows-plain)