From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: Native display of line numbers
Date: Sat, 24 Jun 2017 00:04:51 +0300 [thread overview]
Message-ID: <8360fmv2j0.fsf@gnu.org> (raw)
In-Reply-To: <jwvlgoir7xn.fsf-monnier+gmane.emacs.devel@gnu.org> (message from Stefan Monnier on Fri, 23 Jun 2017 12:23:06 -0400)
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Fri, 23 Jun 2017 12:23:06 -0400
>
> > Anyway, implementing this will need to code a whole different method
> > of counting lines (the current branch just reuses the same code which
> > produces the line numbers in the mode line), so I will need to
> > experiment to see if it can be implemented fast enough to avoid
> > slowing down redisplay, which is already slower in folded buffers.
>
> Indeed, to make it fast enough it probably needs to count lines using
> the matrices rather than the buffer.
No, I cannot use the glyph matrices, because the line numbers are
generated when the glyph matrix is created, and because the previous
matrix cannot be trusted in general.
I need to use the move_it_in_display_line_to and its ilk instead.
> That should actually make it faster than absolute line numbers (at
> least in large buffers).
I'm not sure. I actually fear it's the other way around, because
counting logical lines is implemented by fast code using memchr,
whereas move_it_in_display_line_to must move one character at a time.
But it could well be that this is fast enough, especially since
relative line numbers never need us to go more than one window-full
away.
next prev parent reply other threads:[~2017-06-23 21:04 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-17 15:12 Native display of line numbers Eli Zaretskii
2017-06-17 16:41 ` Stefan Monnier
2017-06-17 18:25 ` Eli Zaretskii
2017-06-17 21:25 ` Stefan Monnier
2017-06-18 14:21 ` Eli Zaretskii
2017-06-17 16:52 ` Kaushal Modi
2017-06-17 17:20 ` Kaushal Modi
2017-06-17 17:42 ` Eli Zaretskii
2017-06-17 17:41 ` Eli Zaretskii
2017-06-17 21:16 ` Stefan Monnier
2017-06-18 4:27 ` Kaushal Modi
2017-06-18 14:40 ` Eli Zaretskii
2017-06-17 20:27 ` Alan Mackenzie
2017-06-17 21:26 ` Stefan Monnier
2017-06-18 2:35 ` Eli Zaretskii
2017-06-18 11:42 ` Alan Mackenzie
2017-06-18 12:16 ` Colin Baxter
2017-06-18 15:06 ` Eli Zaretskii
2017-06-18 15:47 ` Alan Mackenzie
2017-06-18 16:11 ` Eli Zaretskii
2017-06-18 20:19 ` Alan Mackenzie
2017-06-19 2:28 ` Eli Zaretskii
2017-06-17 20:47 ` Sébastien Le Callonnec
2017-06-18 2:38 ` Eli Zaretskii
2017-06-18 10:51 ` Sébastien Le Callonnec
2017-06-17 21:32 ` Mathias Dahl
2017-06-17 22:12 ` James Nguyen
2017-06-18 14:31 ` Eli Zaretskii
2017-06-19 2:25 ` James Nguyen
2017-06-19 15:32 ` Eli Zaretskii
2017-06-19 16:33 ` James Nguyen
2017-06-18 14:28 ` Eli Zaretskii
2017-06-18 14:42 ` Andreas Schwab
2017-06-18 8:44 ` martin rudalics
2017-06-18 8:58 ` martin rudalics
2017-06-18 14:46 ` Eli Zaretskii
2017-06-19 2:39 ` Eli Zaretskii
2017-06-19 8:04 ` martin rudalics
2017-06-19 15:13 ` Eli Zaretskii
2017-06-18 11:03 ` Yuri Khan
2017-06-18 14:54 ` Eli Zaretskii
2017-06-18 16:54 ` Yuri Khan
2017-06-18 19:00 ` Eli Zaretskii
2017-06-19 5:32 ` Yuri Khan
2017-06-19 15:51 ` Eli Zaretskii
2017-06-24 10:32 ` Eli Zaretskii
2017-06-18 19:41 ` Daniele Nicolodi
2017-06-18 20:04 ` Eli Zaretskii
2017-06-18 20:48 ` Daniele Nicolodi
2017-06-19 2:31 ` Eli Zaretskii
2017-06-19 3:07 ` Daniele Nicolodi
2017-06-19 15:03 ` Eli Zaretskii
2017-06-19 2:44 ` Clément Pit-Claudel
2017-06-19 4:15 ` Eli Zaretskii
2017-06-19 4:30 ` Clément Pit-Claudel
2017-06-18 22:20 ` Scott Jaderholm
2017-06-19 2:34 ` Eli Zaretskii
2017-06-19 5:49 ` Scott Jaderholm
2017-06-19 16:56 ` Stephen Leake
2017-06-19 17:11 ` Eli Zaretskii
2017-06-19 18:43 ` Stephen Leake
2017-06-19 19:32 ` Eli Zaretskii
2017-06-19 18:39 ` Alan Mackenzie
2017-06-19 19:28 ` Eli Zaretskii
2017-06-19 19:38 ` Alan Mackenzie
2017-06-19 19:51 ` Eli Zaretskii
2017-06-22 15:02 ` Filipe Silva
2017-06-22 15:38 ` Eli Zaretskii
2017-06-22 15:46 ` Filipe Silva
2017-06-23 16:23 ` Stefan Monnier
2017-06-23 21:04 ` Eli Zaretskii [this message]
2017-06-23 21:24 ` Stefan Monnier
2017-06-24 7:18 ` Eli Zaretskii
2017-06-22 16:27 ` Yuri Khan
2017-06-22 16:56 ` Stephen Berman
2017-06-23 11:10 ` Filipe Silva
2017-06-23 11:17 ` Filipe Silva
-- strict thread matches above, loose matches on Subject: below --
2017-06-17 23:44 Joseph Garvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8360fmv2j0.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).