From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Allowing point to be outside the window? Date: Sat, 04 Dec 2021 19:15:06 +0200 Message-ID: <83h7bo5m1x.fsf@gnu.org> References: <87ilwd7zaq.fsf.ref@yahoo.com> <87ilwd7zaq.fsf@yahoo.com> <83bl24yaed.fsf@gnu.org> <87sfvg7l51.fsf@yahoo.com> <83zgpowu23.fsf@gnu.org> <87zgpo5tws.fsf@yahoo.com> <83pmqkwi6r.fsf@gnu.org> <87v90c5su6.fsf@yahoo.com> <83o864wg2a.fsf@gnu.org> <87ilwb68ck.fsf@yahoo.com> <83zgpnunfo.fsf@gnu.org> <87fsrf3xmd.fsf@yahoo.com> <83y257ulfp.fsf@gnu.org> <8735ne4e0e.fsf@yahoo.com> <87czmcvcs1.fsf@yahoo.com> <83sfv85y36.fsf@gnu.org> <87v904tsvv.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5332"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Dec 04 18:16:25 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mtYe9-0001Bd-0o for ged-emacs-devel@m.gmane-mx.org; Sat, 04 Dec 2021 18:16:25 +0100 Original-Received: from localhost ([::1]:40424 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtYe7-00067y-Nj for ged-emacs-devel@m.gmane-mx.org; Sat, 04 Dec 2021 12:16:23 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:44874) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtYd1-0004Oq-El for emacs-devel@gnu.org; Sat, 04 Dec 2021 12:15:16 -0500 Original-Received: from [2001:470:142:3::e] (port=39812 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtYd1-0006iu-6D; Sat, 04 Dec 2021 12:15:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=FXKyr8fm4m2nZ0z24p1jcxgxGSbc8BmK8iD76gKSKCc=; b=EffJQ1XnREjq lhg77Dj53DDCXkSRswuNItcyTkstOwuI45blQC5OhBqmYq2LkgFmQaAbJ7mOh+OahMg3RqsK1Zm4M U4jL7HOlbSgJ83n4vxJyPS83Q9cYQpjuGEE+or3f0psJQugh6segNre14u1yvuswo+tJQOXxo17km 9OKjefstZEYjHDcbySqH3E9TniVsFELS7X9EEyTzgKrycHW5tR7/TKpG3k1krpgXslkn8Tp/xJEyQ kNYdWKLngjaLxQRQ4X36Arwmwq4mPoZxiwJOLLvhwT68di+dM73nJu8DCdFlOXxDTIsZIhP/udLC0 VzV9y7Ssbm+o0bWfve71bg==; Original-Received: from [87.69.77.57] (port=2777 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtYcz-0000EI-1O; Sat, 04 Dec 2021 12:15:13 -0500 In-Reply-To: <87v904tsvv.fsf@yahoo.com> (message from Po Lu on Sat, 04 Dec 2021 21:13:40 +0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:280927 Archived-At: > From: Po Lu > Cc: emacs-devel@gnu.org > Date: Sat, 04 Dec 2021 21:13:40 +0800 > > Eli Zaretskii writes: > > > In general, it's hard to provide useful feedback without understanding > > the main ideas of the changes. And you didn't add any comments to > > help in that. So I'm left to wonder whether some changes I don't > > think I understand are just my misunderstanding of your ideas, or your > > misunderstanding of the code. > > I will work on that, sorry. Btw, one issue that I couldn't figure out from reading the patch is how do you intend to distinguish between point going out of the viewport by an explicit user command (which AFAIU is what we want to support in this new mode), and point going out of the viewport for some other reason, for example text insertion before point? Specifically, the bother is this: if we just disable/bypass all the places where Emacs brings point back into the window, we could find point outside of the window without the user meaning that to happen, and the disabled/bypassed code will then leave point invisible. So I think a single variable set by the user once and globally is not enough to control the changes in the display code to support this mode. We need some variable that is per window and is set dynamically depending on what caused point to go out of the viewport. This will quite naturally lead to defining the command that we will allow to create such a situation, because only those commands will be able to set that dynamic variable, and only for a window where those commands were invoked. (I guess some of the scrolling commands will be in that group.)