From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master 29d1c72: Introduce new value t for compilation-context-lines to eliminate scrolling Date: Sun, 25 Aug 2019 16:54:27 -0400 Message-ID: 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 Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="116528"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 25 22:54:55 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 1i1zXI-000UCT-Ek for ged-emacs-devel@m.gmane.org; Sun, 25 Aug 2019 22:54:52 +0200 Original-Received: from localhost ([::1]:47956 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i1zXH-0005rs-DR for ged-emacs-devel@m.gmane.org; Sun, 25 Aug 2019 16:54:51 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52857) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i1zX1-0005rh-FL for emacs-devel@gnu.org; Sun, 25 Aug 2019 16:54:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i1zWy-0002Pp-4Q for emacs-devel@gnu.org; Sun, 25 Aug 2019 16:54:34 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:51268) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i1zWx-0002PY-Tn for emacs-devel@gnu.org; Sun, 25 Aug 2019 16:54:32 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 68B75446CA9; Sun, 25 Aug 2019 16:54:30 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 33849446CA6; Sun, 25 Aug 2019 16:54:29 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1566766469; bh=X/lLwyB2YLwI8iflxoWoU35ZHcocYMDXoXDZYcdhvEk=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=TD1WYbIZm1rSNNHffqjTzVhyBWkWUmZLYWLuqfpg3Cde0PPUGkyYz5X4jlXEZsrWN HkhxvpIrcr2PkuBjLCwyEqvdPGiUP4MdKxcLefAF5pUFBTOpCYpAg9hMknsPlZa0Qg CqY1RAhcC4X6SLudr/nbJKS/A+FagX96wK66yp7HWfJTXDtWqOlTdzhtPeXDiLJpLF 35Ge+6aaQBydwjJf+tKVECkDok8lf+/kDcAHwau56LYOn+eJTMNLG5WFWkQm9ztGs+ ZCoBJ9DSnXN6QU3bTxruVsyEG7Pv0ZpJlSDd3nGY37Jzlpr5AVvQnoHTjxxE5yrsMz mCOH+0B2+NRoA== Original-Received: from pastel (unknown [45.72.231.221]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id C134B1204BB; Sun, 25 Aug 2019 16:54:28 -0400 (EDT) In-Reply-To: <20190825190637.GE4724@ACM> (Alan Mackenzie's message of "Sun, 25 Aug 2019 19:06:37 +0000") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 132.204.25.50 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:239561 Archived-At: >> 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. >> 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. >> 3- Why link the choice of inserted-arrow vs regular-overwriting-arrow to >> compilation-context-lines specifically? > Simplicity: mainly confusion on my part as just to where all the bits of > the new code would have to go if the "insertion" arrow were to be made a > general feature. If the new mechanism is a success, it should be easier > then to make it more general. Fair enough. >> -- 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? If so another option might be to replace the scrolling-or-overlayarrow with some kind of transient highlighting. Can be annoying as well, tho. Stefan