Subject: bug#28533: 26.0.60; Native line numbers move with show-paren-mode enabled

From: Romanos Skiadas <[email-masked]>
Date: Thu, 21 Sep 2017 22:11:48 +0100

Hi Eli,

Thanks for your very detailed reply. I kind of get what you mean, 
although I am not very (read: not at all) familiar with redisplay code 
so my understanding of why this is happening might be wrong.

In any case, I would expect line numbers not to move regardless of 
whatever reasonable condition the buffer is in, hence I still think that 
this bug should remain open.

If you think it is a WONTFIX kind of deal, I'm ok with closing it. As 
far as I can tell the customizations you suggested are not somewhere in 
the docs. Should they added in NEWS and in any other relevant documentation?

 > Note that this effect is only seen on the last line of the file,

I can see it in a setup as described in the bug report in a buffer like 
(substitute _ with space):

__ 1* foo...[100 lines]

121()|

____\n

123()

Pressing space makes the numbers move forward:

__ 1* foo...[100 lines]

_121()_|

____\n

123()

 >and AFAICS only as long as you don't save the buffer.

I can reproduce this in *scratch* which is not visiting any file with 
M-x org-mode RET and following the previous steps.

 >In modes that hide many lines from display, you should customize 
display-line-numbers-width-start to a non-nil value

This only fixes the problem is the lines are already in the buffer. If 
you write and fold 100 lines in an empty buffer, the issue still shows up.

 >or manually set display-line-numbers-width to a value large enough to 
accommodate the last physical line of the file (e.g., in file-local 
variables).

This works, but I expect Emacs to be able to calculate this correctly 
out of the box without any kind of intervention.

Note that when I say expect I don't mean "I expect you to fix it now!" 
but rather "This is what is happening vs what I implicitly expected and 
this is confusing me". Thanks for all your work in Emacs.

Best,

Romanos