From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: emacs-27 d7a4cea: ; Add a new item to TODO Date: Thu, 17 Dec 2020 12:51:09 -0500 Message-ID: References: <20201217142235.14287.97153@vcs0.savannah.gnu.org> <20201217142237.1F01120AE6@vcs0.savannah.gnu.org> <83mtyc74b4.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22709"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 17 18:52:37 2020 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 1kpxS9-0005oc-4I for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Dec 2020 18:52:37 +0100 Original-Received: from localhost ([::1]:35640 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kpxS8-0006yT-3Z for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Dec 2020 12:52:36 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpxQs-00062Y-Vb for emacs-devel@gnu.org; Thu, 17 Dec 2020 12:51:18 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:35124) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kpxQn-0003lH-W6; Thu, 17 Dec 2020 12:51:18 -0500 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id E856A441A82; Thu, 17 Dec 2020 12:51:12 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6247D441A71; Thu, 17 Dec 2020 12:51:11 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1608227471; bh=50Qv2mzcskKnA15FaQzCAoWMGIhldySJOciUdGsU6vA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=RYwlwrMwORaDGPgboKT9URhTUQVqSP6KQyx0ErofkSLA7oxnDaBwUo2R4ER3bGsAI pVz668ccCF3Urpm2DtvmFnppFWQNSAhjIx0D7NErMPhlz5hzSRX+pKUSDIvOVzErNq 4k+6k3XibDqj/+R6o9+yRn+p5VxRp3gqL91fSTOdZHt+n8AojsmmoGcwSxz0Y8Uape btF09HDB2v34tblI3kZSAyHqPStnRPHp9CiX4vYqoHpwf3748ES9z5WE95gDCa7sI8 TX02+vt1thxZqtxKa95/2pzjziaMUHka2qlI2E6Q/XjVOH2xG9EH1LC8iFIA0GbLjv OPspxjLc2BMgA== Original-Received: from alfajor (69-165-136-52.dsl.teksavvy.com [69.165.136.52]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 36C1D12014C; Thu, 17 Dec 2020 12:51:11 -0500 (EST) In-Reply-To: <83mtyc74b4.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 17 Dec 2020 19:03:43 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:261127 Archived-At: >> > +** Make redisplay smarter about which parts to redraw >> > +Currently, redisplay has only 2 levels of redrawing: either it >> > +redisplays only the selected window on the selected frame, or it >> > +redisplays all the windows on all the frames. This doesn't scale well >> > +when the number of visible frames is large. >> >> I don't think that's true: the change I installed some years back (along >> with the `pre-redisplay-function` and its use for the region highlight) >> does specifically try and select a particular subset of frames/windows. >> That's what the `wset_redisplay`, `fset_redisplay` and `bset_redisplay` >> are about. > > See bug#42406. Thanks. > My personal experience is that fset_redisplay and wset_redisplay are > not "strong" enough to cause redisplay in many situations, so we need > to use those 2 variables to enforce more thorough redisplay. In > particular, there are the cases where elements of display may need to > be redrawn that don't belong to any window. I fully agree. But the above paragraph you installed is factually incorrect, so anyone who reads this TODO and wants to act on it will start with an incorrect understanding of the problem at hand and may even give up right away seeing code like `bset_redisplay` and thinking that the problem has already been solved. > That's useful when debugging excess redisplays, and can also help in > analyzing the use cases to decide on the bits. But we need to go > further than that, IMO, because the current logic is still quite > simplistic. No argument from me on that ;-) Stefan