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

From: martin rudalics <[email-masked]>
Date: Mon, 26 Jun 2017 10:18:37 +0200

> By contrast, you guys are dreaming about full-fledged additional "text
 > areas" with all the features we now support in the single one we have.

I suppose that's me only.  IIUC Dmitry would be content with just
getting multiple margins exhibiting the same behavior as they do now.
What I mean is that rather than thinking about how to improve a concept
like that of margins I'd invent a framework where we can provide an
arbitrary amount of arbitrary-sized windows that can be later used for
any purpose by the display engine among them as margins.

 > That's an entirely new ballpark game, although I agree that it's a
 > natural generalization and extension of what we have.  The problem is
 > that the knowledge of the basic canvas geometry is hard-coded in many
 > places in the display code, and all of them will have to be reworked.

Correct.  But the underlying concept exists already---in window.c.  The
hard part is obviously that of synchronizing the display of windows, for
example, to make sure that text laid out in the margins and fringes has
the expected line-to-line coherence with text laid out in the
corresponding text window.

 > I think this would be a very good project and a significant progress
 > for Emacs, so I'd welcome such a development.  Just don't
 > underestimate the magnitude of the task.

I already had my share of this when I attempted to implement horizontal
scroll bars on the top of windows.

martin