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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 15 Jul 2017 20:49:45 +0300

> Cc: [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Sat, 15 Jul 2017 20:38:15 +0300
> 
> > (If you think posn-at-point takes that information from what is
> > displayed on the glass, or from some of its internal representation,
> > then that's not what it does, because the internal representation of
> > what's on the glass is many times outdated when a Lisp program runs,
> > so it cannot be trusted.)
> 
> I was thinking there was some change canary (or many of them), and the 
> "internal representation" is recomputed when any of those values change.

The internal representation is recomputed only as part of a redisplay
cycle.  And we cannot start a redisplay cycle before the Lisp
interpreter has done its thing, and we are back in the main loop,
because only then we know all the buffers and other related Lisp data
are in a consistent state that can be reflected on the glass without
risking inconsistencies.