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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 25 Jun 2017 18:05:54 +0300

> Cc: [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Sun, 25 Jun 2017 17:46:23 +0300
> 
> On 6/25/17 5:13 PM, Eli Zaretskii wrote:
> 
> > The displayed line number reflects the line of the buffer positions
> > corresponding to what's on that screen line.  If none of the buffer
> > positions appear on that screen line, it's the line of the buffer
> > position(s) "covered" by the display string/overlay which generates
> > the display.
> 
> It didn't look like this in the previous version. Might be considered a 
> bit annoying, repeating the number several times.

It wasn't supposed to be repeated, it was supposed to appear only
once.  Hmm... I think I see what causes this, let me try to come up
with a fix.

> BTW, by that logic, the last empty line should have a number as well: it 
> does correspond to a buffer position.

No, it doesn't correspond to any buffer position: there's never any
character at point-max.

> (with-current-buffer (get-buffer-create "popup-test.el")
>    (setq display-line-numbers t)
>    (insert "aaaaaaa
> aaaaaaa
> aaaaaaa
> aaaaaaa
> aaaaaaa
> ")
> 
>    (let ((ov (make-overlay (point-max) (point-max))))
>      (overlay-put ov 'after-string "bbbbbb\nbbbbbb\n")
>      (overlay-put ov 'display-line-numbers-disable t)))
> 
> After that, the buffer popup-test.el shows the "bbbbbb" lines prepended 
> with the empty line number columns. I'd rather they weren't there.

OK, thanks, I will look into this case.