unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alex <agrambot@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Native line numbers, final testing
Date: Sat, 01 Jul 2017 23:16:11 -0600	[thread overview]
Message-ID: <87eftzju5g.fsf@lylat> (raw)
In-Reply-To: <83bmp3pnmb.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 02 Jul 2017 05:40:44 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Alex <agrambot@gmail.com>
>> Cc: emacs-devel@gnu.org
>> Date: Sat, 01 Jul 2017 15:00:50 -0600
>> 
>> It's not intuitive to me why this occurs between lines with the same
>> display line number width. If vertical-motion uses the same heuristic as
>> display of line numbers, then why is the column changing between lines
>> even when the width of line numbers isn't?
>
> Because vertical-motion thinks the display uses N+1 columns whereas it
> actually uses only N.
>
>> Is it because it's using the heuristic with different inputs?
>
> Yes.  The important input is the actual window-start point.
>
>> If so, can't they be modified to achieve the same results as the
>> display of line numbers?
>
> I couldn't (yet) find a way of doing that.

That's unfortunate; hopefully this can be fixed.

>> Why is it necessary for line numbers to actually affect the vertical
>> position of characters in the buffer?
>
> Because vertical-motion does its column calculation in pixels, C-n/C-p
> need to adjust the calculations due to the pixels occupied by line
> numbers.
>
>> I suppose it's a bit late to be asking this question, but the
>> approach from an outside view feels odd. I don't know what the
>> options were, but it's odd that line numbers aren't in their own
>> special area like in (n)linum. Does the display engine not work well
>> with margins?
>
> I firmly believe that line numbers should not be displayed on the
> margins, because that produces problems for packages that want to
> display stuff there.

That seems to me to be an extensibility problem rather than line numbers
not belonging in the margins. Without fixing that problem, then there
will still be problems when multiple packages attempt to use the margins
simultaneously.

Can there not be multiple margins on one side? That way, line numbers
can have its own special area, and there will be a clear x-coordinate
for vertical-motion to start from, avoiding a whole class of errors that
you've had to deal with so far.

If not, why? That seems like a clear win to me, if it's possible. As a
bonus, it would allow for users to customize the positions of elements
in the margins (and fringes, hopefully).



  reply	other threads:[~2017-07-02  5:16 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-30 14:49 Native line numbers, final testing Eli Zaretskii
2017-06-30 17:51 ` Alex
2017-06-30 18:20   ` Eli Zaretskii
2017-06-30 19:06     ` Alex
2017-06-30 19:55       ` Eli Zaretskii
2017-06-30 21:15         ` Alex
2017-07-01  8:00           ` Eli Zaretskii
2017-07-01 21:00             ` Alex
2017-07-02  2:40               ` Eli Zaretskii
2017-07-02  5:16                 ` Alex [this message]
2017-07-02 15:10                   ` Eli Zaretskii
2017-07-02 16:47                     ` Stefan Monnier
2017-07-02 16:51                       ` Eli Zaretskii
2017-07-02 17:38                         ` Stefan Monnier
2017-07-02 19:27                           ` Eli Zaretskii
2017-07-03  5:06                     ` Alex
2017-07-03 15:24                       ` Eli Zaretskii
2017-07-04 19:36                         ` Alex
2017-07-05 17:39                           ` Eli Zaretskii
2017-07-07  2:46                             ` Alex
2017-07-07  6:19                               ` Eli Zaretskii
2017-07-07  9:24                                 ` Eli Zaretskii
2017-07-08 20:51                                   ` Alex
2017-07-09 20:16                                     ` James Cloos
2017-07-09 21:45                                       ` Yuri Khan
2017-07-10  2:33                                         ` Eli Zaretskii
2017-07-10  7:09                                           ` Yuri Khan
2017-07-10 17:02                                             ` Eli Zaretskii
2017-07-10  2:31                                       ` Eli Zaretskii
2017-07-10  5:35                                         ` James Cloos
2017-07-10 17:00                                           ` Eli Zaretskii
2017-07-10 18:15                                             ` Filipe Silva
2017-07-10 18:18                                               ` Eli Zaretskii
2017-07-10 18:23                                                 ` Filipe Silva
2017-07-10 18:32                                             ` James Cloos
2017-07-11 20:58                                             ` Alex
2017-07-11 21:18                                               ` Filipe Silva
2017-07-11 21:20                                                 ` Filipe Silva
2017-07-11 21:37                                                   ` Alex
2017-07-12  2:35                                               ` Eli Zaretskii
2017-07-12  2:53                                                 ` Alex
2017-07-12 14:21                                                   ` Eli Zaretskii
2017-07-12 17:22                                                     ` Alex
2017-07-12 17:25                                                       ` Alex
2017-07-12 18:38                                                       ` Eli Zaretskii
2017-07-12 20:03                                                         ` Alex
2017-07-13  2:38                                                           ` Eli Zaretskii
2017-07-13  4:11                                                             ` Alex
2017-07-13 15:56                                                               ` Eli Zaretskii
2017-07-26  3:50                                                                 ` Alex
2017-07-26 14:42                                                                   ` Eli Zaretskii
2017-07-29  6:12                                                                     ` Alex
2017-07-29  7:01                                                                       ` Eli Zaretskii
2017-07-07  9:47                                 ` Eli Zaretskii
2017-07-07  9:49                                   ` Eli Zaretskii
2017-07-07 11:14                                     ` Filipe Silva
2017-07-07 12:21                                       ` Eli Zaretskii
2017-07-07 12:29                                   ` Eli Zaretskii
     [not found]                                     ` <CAEwkUWN8GkCyOiF4jEgKuZwJHhvMgJi9yVnvggRvu+Yddfp4qQ@mail.gmail.com>
2017-07-07 12:56                                       ` Filipe Silva
2017-07-01  1:59 ` Filipe Silva
2017-07-02 19:27 ` James Nguyen
2017-07-03  2:33   ` Eli Zaretskii
2017-07-03  3:22     ` James Nguyen
2017-07-03 15:58       ` Eli Zaretskii
2017-07-03 17:04         ` James Nguyen
2017-07-04 10:57           ` Filipe Silva
2017-07-04 11:00             ` Filipe Silva
2017-07-04 13:51               ` Kaushal Modi
2017-07-04 14:30               ` Eli Zaretskii
2017-07-04 14:32             ` Eli Zaretskii
2017-07-04 14:48               ` Filipe Silva
2017-07-04 14:50                 ` Filipe Silva
2017-07-04 15:44                   ` Eli Zaretskii
2017-07-04 16:22                     ` Filipe Silva
2017-07-04 16:34                       ` Filipe Silva
2017-07-04 16:35                       ` Richard Copley
2017-07-04 16:44                         ` Eli Zaretskii
2017-07-04 17:13                           ` Richard Copley
2017-07-04 17:35                             ` Filipe Silva
2017-07-04 17:48                               ` Eli Zaretskii
2017-07-04 17:52                               ` Stefan Monnier
2017-07-10 18:22                                 ` Filipe Silva
2017-07-10 20:28                                   ` Stefan Monnier
2017-07-04 17:47                             ` Eli Zaretskii
2017-07-04 17:50                           ` Alex
2017-07-04 18:24                             ` Eli Zaretskii
2017-07-04 18:37                               ` Richard Copley
2017-07-04 18:43                                 ` Eli Zaretskii
2017-07-05 20:24 ` Andy Moreton
2017-07-06 17:24   ` Eli Zaretskii

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=87eftzju5g.fsf@lylat \
    --to=agrambot@gmail.com \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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).