Subject: Re: bug#33870: 27.0.50; xref-goto-xref not configurable

From: martin rudalics <[email-masked]>
Date: Mon, 07 Jan 2019 10:03:34 +0100

> The semantics is that they do what the default actions do
 > plus something specific.  Maybe then move the default part
 > from their body to some other fallback layer?  Then just use e.g.
 > display-buffer-at-bottom, without the -maybe part.
 > Or maybe use an alist for that, something like
 >
 >    ((maybe-try . default-actions))

I would never have written these "maybe" function in the first place.
They need more code lines then they spare.  So I have no real opinion.

 >> (3) justify why the remaining 'display-buffer--maybe-' functions are
 >> not public.
 >
 > I don't see any justification.

As we know all buffer display action functions are "maybe" functions
so people might ask why some of them include that word explicitly.

 >> Also note that 'display-buffer' resizes a window iff that window is
 >> new or always has shown the buffer to display before.
 >>
 >> There's one thing about 'display-buffer-at-bottom' that stupefies me:
 >> Here
 >>
 >> 	     (let (split-width-threshold)
 >> 	       (setq window (window--try-to-split-window bottom-window alist)))
 >>
 >> we bind ‘split-width-threshold’ so we can split the bottom window into
 >> two side by side windows.  I recently found a branch of mine where I
 >> bind 'split-height-threshold' to nil instead and now cannot remember
 >> what we really wanted - split that window horizontally or vertically.
 >> Can you?  In either case feel free to change that to what you consider
 >> the more appropriate binding - maybe even binding both.
 >
 > It seems this code has no effect, it's never used.  Could you suggest
 > such window configuration to test that would call it?

A single window frame where the buffer is not displayed runs this
part.

 > There is another problem: in two small vertically split windows
 > 'display-buffer-at-bottom' sometimes displays the buffer in the
 > upper window.

 From judging the code I'd say this is impossible.  But with Emacs
nothing is impossible.

martin