Subject: bug#68081: 30.0.50; derived-mode and display-buffer-alist

From: martin rudalics <[email-masked]>
Date: Sun, 31 Dec 2023 09:57:59 +0100

>> This was not an issue when 'display-buffer' was rewritten in 2011.  It
 >> became an issue when it started to use 'buffer-match-p' in 2022.
 >
 > I guess it's a problem on the emacs-29 branch as well, then?

Yes.

 > Thanks.  Would you recommend any of the above for the emacs-29 branch?
 > Or are these not safe enough there?

The "fixes" I proposed are not "nice" since they depend on the
idempotence of 'Info-mode' which in the case we talk about here would be
called twice - once by 'info' and once by 'info-setup'.  Whether this
makes the fixes less "safe" is something I wouldn't try to experiment
with on a release branch.

So for Emacs-29 I would recommend to add to the Elisp manual, where it
says that "Each condition is passed to ‘buffer-match-p’ ...", that using
'derived-mode' and 'major-mode' as conditions might not work if
'display-buffer' is called before the major mode of the buffer has been
established.  And I would add a similar remark to the description of
'buffer-match-p' itself.

martin