From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master 29d1c72: Introduce new value t for compilation-context-lines to eliminate scrolling Date: Tue, 27 Aug 2019 19:46:27 +0000 Message-ID: <20190827194627.GB20676@ACM> References: <20190825102322.19558.22771@vcs0.savannah.gnu.org> <20190825102323.5080620CD5@vcs0.savannah.gnu.org> <20190825190637.GE4724@ACM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="173589"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 27 21:48:09 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i2hRp-000j3v-88 for ged-emacs-devel@m.gmane.org; Tue, 27 Aug 2019 21:48:09 +0200 Original-Received: from localhost ([::1]:56372 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i2hRn-0006rr-W4 for ged-emacs-devel@m.gmane.org; Tue, 27 Aug 2019 15:48:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39837) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i2hQF-0006PE-P3 for emacs-devel@gnu.org; Tue, 27 Aug 2019 15:46:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i2hQE-00084p-KV for emacs-devel@gnu.org; Tue, 27 Aug 2019 15:46:31 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:38245 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1i2hQE-00083N-A3 for emacs-devel@gnu.org; Tue, 27 Aug 2019 15:46:30 -0400 Original-Received: (qmail 14759 invoked by uid 3782); 27 Aug 2019 18:53:39 -0000 Original-Received: from acm.muc.de (p4FE15C47.dip0.t-ipconnect.de [79.225.92.71]) by colin.muc.de (tmda-ofmipd) with ESMTP; Tue, 27 Aug 2019 20:53:38 +0200 Original-Received: (qmail 20826 invoked by uid 1000); 27 Aug 2019 19:46:27 -0000 Content-Disposition: inline In-Reply-To: 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.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:239623 Archived-At: Hello, Stefan. On Sun, Aug 25, 2019 at 16:54:27 -0400, Stefan Monnier wrote: > >> 1- Why `overlay-arrow-overlay` without a `compilation-` prefix? > > It goes together with overlay-arrow-string, and > > overlay-arrow-position. > I can see the logic of the name, but if it's in compile.el it should > have a `compilation-` prefix, IMO. If you intend it to be a new > generic feature, then it should not be in compile.el. OK, I've changed its name to compilation-arrow-overlay (see the patch in another post just posted). > >> 2- Why insert a prefix string (an "inserted arrow") instead of using > >> a "regular overwriting arrow"? > > Because the overwriting arrow would obliterate the first two characters > > of the file name. I actually tried this first, and it wasn't > > satisfactory. This contrasts with another use of the overwriting arrow > > in edebug, where (usually) only WS gets overwritten, and it is important > > not to disturb the visible indentation. > I see. Indeed, I guess most other uses of overlay-arrow will typically > end up overwriting whitespace whereas in *compilation* the first two > chars will usually not be whitespace. > Maybe worth a comment in the code. Now that I've implemented Eli's suggestion of putting "=>" into a 2 character margin, such a comment doesn't seem needed any more. [ .... ] > >> -- Stefan "maybe part of my confusion is that I'm not sufficiently > >> familiar with the behavior when there's no left-fringe" > > That behaviour involves scrolling the current line to the top of the > > buffer, and several years of that had exceeded my irritation > > threshold. I usually run on a Linux tty, where there's no > > possibility of a fringe. > IIUC previously, in the absence of a left-fringe the position of the > error was indicated by the cursor, right? So your change is to offer > an option "don't scroll" (or rather, let the redisplay scroll to keep > point visible but only when needed), and you added to it the > overlay-arrow-overlay because the cursor was not visible enough? On emacs -nw in X, the cursor, although barely visible is actually there. On other terminals, in particular a Linux tty, there is no indication of the cursor position whatsoever in non-selected windows. > If so another option might be to replace the scrolling-or-overlayarrow > with some kind of transient highlighting. Can be annoying as well, tho. s/w/h. ;-) The transient highlighting would be inadequate. I think Eli was concerned that there was no durable indication of which error message was "current". The "=>" in the margin now provides such a durable indication. > Stefan -- Alan Mackenzie (Nuremberg, Germany).