[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Native display of line numbers
From: |
Alan Mackenzie |
Subject: |
Re: Native display of line numbers |
Date: |
Sat, 17 Jun 2017 20:27:02 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
Hello, Eli.
On Sat, Jun 17, 2017 at 18:12:00 +0300, Eli Zaretskii wrote:
> I generally consider display of line numbers for each line in the
> buffer un-Emacsy, something that came from the dark era when we needed
> to count lines to be able to tell the then existing editors something
> like "move down N lines, then DO SOMETHING". Emacs pioneered today's
> world where all this is unnecessary, and the rest is history.
> However, many users want line numbers to be displayed in Emacs. I
> don't know why they want it, perhaps they were "spoiled" by other IDEs
> or something.
I'm not sure either. One possible use is when using a build process
disjoint from Emacs which gives error and warning messages on a
terminal. It may be easier to find the pertinent lines if the line
numbers are displayed prominently. But this is speculation, nothing
more.
> In any case, given the popularity of the various add-on modes which
> insist on displaying line numbers using all kinds of tricks, I don't
> think we can ignore this tendency any longer, even if we agree that
> this is a disease. The "epidemic" has spread too far and too wide for
> us to continue looking the other way. And since Emacs doesn't make it
> easy for a Lisp program to invade the holy realm of redisplay, those
> modes use tricks that make Emacs slower and frequently interfere with
> other packages. They also make demands on the display engine that
> make Emacs harder to develop and maintain.
Yes to all of that.
> So with that in mind, I came up with an implementation of a native
> display of line numbers. You can find it in the scratch/line-numbers
> branch of the Emacs repository. Compared with linum-mode,
> nlinum-mode, and other similar modes, it has the following main
> advantages:
> . it works significantly faster (almost twice as fast as linum-mode,
> 50% faster that relative-line-numbers-mode)
> . it doesn't use the display margins
> . it works with R2L text, something the old modes never did
And, for me, the display engine is simply the Right Place to implement
these line numbers.
> The main features of the line-numbering modes are all supported by
> this new feature.
> Please give it a try and report any bugs you find. I'm sure there
> will be quite a few bugs, given the sheer amount of display feature
> which could be affected, and which I didn't have time to test.
Just one or two minor irritations: it's not clear what face the line
numbers are displayed with; presumably this will become a defcustom in
the finished version. Also, it's not clear what "relative" line numbers
are, though I dare say it would become clear if I actually tried it
(and I admit I haven't tried RTFM). ;-)
> Once the flood of serious bug reports dries out, I will look into
> merging this to master. If, miraculously, no such flood arrives, I
> will merge in a couple of weeks. When that happens, we will declare
> all the other modes which do the same job deprecated.
I'm in favour of this.
> TIA
--
Alan Mackenzie (Nuremberg, Germany).
- Re: Native display of line numbers, (continued)
Re: Native display of line numbers, Stefan Monnier, 2017/06/17
Re: Native display of line numbers,
Alan Mackenzie <=
- Re: Native display of line numbers, Stefan Monnier, 2017/06/17
- Re: Native display of line numbers, Eli Zaretskii, 2017/06/17
- Re: Native display of line numbers, Alan Mackenzie, 2017/06/18
- Re: Native display of line numbers, Colin Baxter, 2017/06/18
- Re: Native display of line numbers, Eli Zaretskii, 2017/06/18
- Re: Native display of line numbers, Alan Mackenzie, 2017/06/18
- Re: Native display of line numbers, Eli Zaretskii, 2017/06/18
- Re: Native display of line numbers, Alan Mackenzie, 2017/06/18
- Re: Native display of line numbers, Eli Zaretskii, 2017/06/18
Re: Native display of line numbers, Sébastien Le Callonnec, 2017/06/17