Subject: bug#47893: closed (Re: bug#47893: 27.1; `display-line-numbers-mode`, line numbers hidden with multiline overlays)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 19 Apr 2021 15:30:02 +0000

Your bug report

#47893: 27.1; `display-line-numbers-mode`, line numbers hidden with multiline overlays

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
47893: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47893
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#47893: 27.1; `display-line-numbers-mode`, line numbers hidden with multiline overlays
From: Eli Zaretskii <[email-masked]>
To: Daniel Mendler <[email-masked]>
Cc: [email-masked]
Date: Mon, 19 Apr 2021 18:29:28 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Cc: [email-masked]
> From: Daniel Mendler <[email-masked]>
> Date: Mon, 19 Apr 2021 17:10:59 +0200
> 
> On 4/19/21 4:55 PM, Eli Zaretskii wrote:
> > What do you mean by "hidden"?  With the above recipe, I see all the
> > line numbers starting from 5, as expected.  What is "hidden" here?
> 
> When I have a buffer with the following content:
> 
> 1 a
> 2 b
> 3 c
> 4 d
> 5 e
> 6 f
> 7 g
> 8 h
> 9 i
> 
> And run the given function, I see the following:
> 
> 5 line1
>    line2
>    line3
>    line4
>    e
> 6 f
> 7 g
> 8 h
> 9 i

Right, and this is expected.

> I suppose this is expected since the overlay hides all the lines in 
> between?

Yes, exactly.  We only show the line numbers for lines that are
displayed.  Compare with, for example, Org buffers, where we don't
show line numbers for lines that are invisible.

> You can close this issue then as invalid, since the display line
> numbers don't reflect the visual lines but the lines in the buffer.

You can have the visual line numbers as well: just set the line-number
style to 'visual'.

Closing.

Subject: 27.1; `display-line-numbers-mode`, line numbers hidden with multiline overlays
From: Daniel Mendler <[email-masked]>
To: [email-masked]
Date: Mon, 19 Apr 2021 16:46:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

When putting an overlay over multiple lines, the line numbers of
`display-line-numbers-mode` are hidden.

(defun bug ()
   (display-line-numbers-mode)
   (goto-char (point-min))
   (let ((ov (make-overlay (line-beginning-position)
                           (save-excursion (forward-line 4)
                                           (line-beginning-position)))))
     (overlay-put ov 'invisible t)
     (overlay-put ov 'before-string "line1\nline2\nline3\line3\nline4\n")))

I've also observed the issue with Emacs 28.

In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, 
cairo version 1.16.0)
  of 2021-02-09, modified by Debian built on 3df710f593d9
Repository revision: b0229d4bbaea7fcddffced393512c650212830db
Repository branch: deb/emacs/d/sid/master
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux 10 (buster)