Subject: bug#45052: 27.1; GDB completion moves point

From: Eli Zaretskii <[email-masked]>
Date: Sat, 05 Dec 2020 17:03:04 +0200

> From: "Philip K." <[email-masked]>
> Cc: [email-masked]
> Date: Sat, 05 Dec 2020 15:48:01 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> It seems to work, and I can't see any unintended side-effects!
> >
> > Thanks.  If you use gdb-mi.el a lot, how about if you run with this
> > change for a week and report back if you saw any adverse effects?
> > Then I'll install this if no problems are uncovered.
> 
> Will do. And thanks for finding the bug!

Not a bug, more like an unintended consequence.  The completion
machinery happens in this case to call the gdb-mi handlers for
processing responses to GDB commands, and those handlers force
redisplay to show the GUD window with the same window-start point,
which is impossible when the completions window pops up and point is
close to the bottom of the GUD window.  So I made the window-start
setting less forceful.  My fear is that when those handlers are called
in other situations, you will now see sub-optimal display after
sending GDB commands.  So please pay attention to any such effects on
the gdb-mi related windows.

If my "simple" solution has adverse effects, we will need to come up
with a more thorough one, which will likely require changes on the C
level.

Martin, do we have any way of preventing the original problem via
display-buffer actions, per chance?  I couldn't find anything to that
effect, FWIW.