Subject: bug#27427: 26.0.50; Native line numbers lead to display error in company-mode popup

From: martin rudalics <[email-masked]>
Date: Fri, 30 Jun 2017 10:27:50 +0200

> I prefer "window" for the simple reason that doing so will most
 > probably wreak the least havoc on TTY display, in particular because
 > it won't invalidate the assumption that only one frame is visible at
 > any given time.  Also, frames can have decorations, even on a TTY,
 > which we are better without in this case.  And finally, you most
 > probably remember that TTY redisplay is frame-based, so having just
 > one of them would fit better.

As a window it won't appear on any window list since it's got no frame.
If we made it a window of the frame where we popped it up, then where
would we put it into that frame's window tree?  The window tree code is
not very clean, but changing it for the sake of TTY popups sounds like
very intrusive surgery.  All the (implicit) invariants that window sizes
have to sum up would get invalidated.

Suppose we spliced in some special TTY_popup_window_list slot for every
frame. Then we'd have to invent functions for accessing and changing its
elements.  If such an element were an Emacs window, practically all
functions that access and change windows and their properties would have
to be rewritten in consequence of that.  This is hardly feasible.

martin