From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Native display of line numbers Date: Sun, 18 Jun 2017 15:47:05 +0000 Message-ID: <20170618154705.GB22671@acm> References: <83lgoqzm0v.fsf@gnu.org> <20170617202702.GC2955@acm.fritz.box> <837f0ayqdl.fsf@gnu.org> <20170618114251.GA22671@acm> <83r2yhxrlv.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: blaine.gmane.org 1497800908 17380 195.159.176.226 (18 Jun 2017 15:48:28 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 18 Jun 2017 15:48:28 +0000 (UTC) User-Agent: Mutt/1.7.2 (2016-11-26) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 18 17:48:23 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 1dMcR4-0004CO-7P for ged-emacs-devel@m.gmane.org; Sun, 18 Jun 2017 17:48:23 +0200 Original-Received: from localhost ([::1]:38735 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMcR9-000232-EH for ged-emacs-devel@m.gmane.org; Sun, 18 Jun 2017 11:48:27 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36181) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMcR0-00021m-5o for emacs-devel@gnu.org; Sun, 18 Jun 2017 11:48:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMcQw-0003Fi-9Y for emacs-devel@gnu.org; Sun, 18 Jun 2017 11:48:18 -0400 Original-Received: from ocolin.muc.de ([193.149.48.4]:60194 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1dMcQv-0003E3-U2 for emacs-devel@gnu.org; Sun, 18 Jun 2017 11:48:14 -0400 Original-Received: (qmail 5613 invoked by uid 3782); 18 Jun 2017 15:48:11 -0000 Original-Received: from acm.muc.de (p548C7CC8.dip0.t-ipconnect.de [84.140.124.200]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 18 Jun 2017 17:48:10 +0200 Original-Received: (qmail 12203 invoked by uid 1000); 18 Jun 2017 15:47:05 -0000 Content-Disposition: inline In-Reply-To: <83r2yhxrlv.fsf@gnu.org> X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 193.149.48.4 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:215749 Archived-At: Hello, Eli. On Sun, Jun 18, 2017 at 18:06:36 +0300, Eli Zaretskii wrote: > > Date: Sun, 18 Jun 2017 11:42:51 +0000 > > Cc: emacs-devel@gnu.org > > From: Alan Mackenzie > > 1. Enable relative line numbers globally. > > 2. Visit a file, put it in two or several side by side windows. > > 3. Start follow-mode. > > The relative line numbers are now "global", in that they are relative to > > point in the selected window. > That's not what I see. I guess you see that because you activate > line-number display when both windows had the same value of point. Line-number display was already globally enabled when the windows were created. But point in each window was indeed the same (see my function `3-column' below). > If you move point in one of the windows before activating line numbers, > you will see that the relative numbers are local to each window. This > is by design, and the add-on package relative-line-numbers does the > same. > > 4. Do something, such as C-n, which causes a redisplay. > > The relative numbers are now "local", in that they are relative to point > > in each window. > Well, here they are local to begin with. > > I think it would be best if the "global" relative line numbers could be > > made to work. > Given a window whose buffer is in Follow Mode, how do I know what is > the "correct" value of point to use in that window to make the > relative numbers "global"? I don't see that this can easily be done, since follow-mode more fights the display engine rather than working with it. The display engine is currently unaware of follow-mode. My comment was partly to point out how nice it would be if follow-mode support could be implemented in the display engine. > > If not, it would be better if the "local" line numbers appeared > > after M-x follow-mode. > Well, they are local here to begin with. Maybe I didn't understand > your recipe -- can you show it in full detail, with all the commands > you type? OK. Firstly, I found this on a Linux tty, but it appears in an X session, too. $ emacs --no-desktop M-x customize-variabledisplay-line-numbers C-x C-f path/to/src/xdisp.c If in X, maximise the selected window using the mouse. C-c 3 ; see below. The displayed line-numbers are now "global", and range from 0 to 194 C-n The displayed line-numbers in the "other two" windows now range from -31 to 33. ######################################################################## (defun 3-column () "Disply the current buffer in 3 columns with Follow Mode" (interactive) (follow-mode 1) (delete-other-windows) (split-window-horizontally) (split-window-horizontally) (balance-windows)) (global-set-key "\C-c3" '3-column) ######################################################################## I've found another bug, I'm afraid. Starting off from the above situation, with point in the middle window (in X windows), do M-<. The relative line numbers in the middle window now range from -59 to -20, with that window's point at relative line -39. -- Alan Mackenzie (Nuremberg, Germany).