From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Native line numbers, final testing Date: Mon, 10 Jul 2017 20:02:28 +0300 Message-ID: <83tw2ki5sr.fsf@gnu.org> References: <83y3s9pm2a.fsf@gnu.org> <87vandz7lw.fsf@lylat> <83wp7tpcav.fsf@gnu.org> <87r2y1z45o.fsf@lylat> <83vandp7wz.fsf@gnu.org> <87mv8pyy7f.fsf@lylat> <83shigpoxq.fsf@gnu.org> <87mv8nkh31.fsf@lylat> <83bmp3pnmb.fsf@gnu.org> <87eftzju5g.fsf@lylat> <837ezqq3gd.fsf@gnu.org> <874luuyuqy.fsf@lylat> <83wp7po86m.fsf@gnu.org> <87fuecc7vg.fsf@lylat> <83y3s2n5pa.fsf@gnu.org> <878tk1rmjx.fsf@lylat> <83a84gn4z9.fsf@gnu.org> <837ezkmwfg.fsf@gnu.org> <874lumps82.fsf@lylat> <831sppja0c.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1499706174 25605 195.159.176.226 (10 Jul 2017 17:02:54 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 10 Jul 2017 17:02:54 +0000 (UTC) Cc: cloos@jhcloos.com, emacs-devel@gnu.org To: Yuri Khan Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Jul 10 19:02:50 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dUc58-0006EJ-6J for ged-emacs-devel@m.gmane.org; Mon, 10 Jul 2017 19:02:46 +0200 Original-Received: from localhost ([::1]:42124 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dUc5D-0007Za-Kb for ged-emacs-devel@m.gmane.org; Mon, 10 Jul 2017 13:02:51 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59839) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dUc4z-0007Wz-Ea for emacs-devel@gnu.org; Mon, 10 Jul 2017 13:02:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dUc4v-0004V6-EB for emacs-devel@gnu.org; Mon, 10 Jul 2017 13:02:37 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:44470) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dUc4v-0004V2-A9; Mon, 10 Jul 2017 13:02:33 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4258 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dUc4u-0005jl-LE; Mon, 10 Jul 2017 13:02:32 -0400 In-reply-to: (message from Yuri Khan on Mon, 10 Jul 2017 14:09:00 +0700) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:216423 Archived-At: > From: Yuri Khan > Date: Mon, 10 Jul 2017 14:09:00 +0700 > Cc: "cloos@jhcloos.com" , Emacs developers > > >> Why not just right-align line numbers? > > > > I don't think I understand the idea, please elaborate. E.g., what > > will be to the left of the leftmost digit? > > A “specified space” of width equal to the difference of the pixel > widths of the line numbers area and the current line number? A.k.a. a "stretch glyph" of a suitably computed width. Yes, this would work, but it would require a thorough rewrite of the number-generating code: where now we determine how many decimal places we need, and then the pixel width follows from that, the modified code will need to do it the other way around. That will bring additional complications with producing a blank field instead of a number (e.g., beyond EOB), with handling text-scale-adjust and friends, etc. So I'd prefer not to go that way, unless strictly necessary. If the solution I just posted, with using a fixed-pitch font for numbers, is good enough, let's not rush to make more radical changes for the benefit of what I consider a niche use case wrt to line-number display. > If Emacs does not have a notion of right-aligned text output, that > is. Which would be surprising in an application that supports RTL, > but what do I know. We are talking about coding at the same level at which these alignments are implemented, i.e. where text layout is generated. Any text alignment we need on this level must be implemented via pixel-width calculations; there's no support for that on lower levels. That is how RTL lines are laid out, because the screen is still drawn left-to-right even when we display RTL text (since anything else would be extremely inefficient).