From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master 5c9304e: Disable some display optimizations when frames need redisplay Date: Mon, 05 Oct 2015 19:57:42 +0300 Message-ID: <83bncdz20p.fsf@gnu.org> References: <20150930193450.11644.62040@vcs.savannah.gnu.org> <831tdd75i3.fsf@gnu.org> <83eghd5ff2.fsf@gnu.org> <83vbap3qxb.fsf@gnu.org> <83r3lc4du9.fsf@gnu.org> <83mvvz0xkh.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1444064350 26275 80.91.229.3 (5 Oct 2015 16:59:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 5 Oct 2015 16:59:10 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 05 18:59:00 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Zj96I-00073U-J8 for ged-emacs-devel@m.gmane.org; Mon, 05 Oct 2015 18:58:58 +0200 Original-Received: from localhost ([::1]:46669 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zj96I-0007IZ-2s for ged-emacs-devel@m.gmane.org; Mon, 05 Oct 2015 12:58:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52123) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zj96E-0007Hl-NP for emacs-devel@gnu.org; Mon, 05 Oct 2015 12:58:55 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zj969-0000md-Gy for emacs-devel@gnu.org; Mon, 05 Oct 2015 12:58:54 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:60510) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zj969-0000ly-84 for emacs-devel@gnu.org; Mon, 05 Oct 2015 12:58:49 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NVR00300B2WNX00@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Mon, 05 Oct 2015 19:57:48 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NVR0032ZB46N720@a-mtaout22.012.net.il>; Mon, 05 Oct 2015 19:57:43 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.172 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:190940 Archived-At: > From: Stefan Monnier > Cc: emacs-devel@gnu.org > Date: Mon, 05 Oct 2015 11:50:03 -0400 > > > Bonus points for adding something that describes where these variables > > and the corresponding 'redisplay' flags are checked, because the > > FOR_EACH_FRAME loop in redisplay_internal doesn't look at the > > 'redisplay' flags, so a large part of the logic you describe above > > isn't (easily) visible at that level. > > I added a note about the fact that the frame's redisplay flag is not > sufficient to exclude a frame. Thanks. > Fundamentally, the only redisplay flags needed are the window ones. > The frame and buffer's redisplay flags could be dispensed with, at the > cost of making [bf]set_redisplay more expensive since they'd have to > loop through all the windows of that frame/buffer. Yes, I agree. But is that justified? At least for the frame's flag, a test for each window of the frame's window tree has the same cost as setting the window-specific flag in fset_redisplay. However, the test is made only once per redisplay cycle, whereas the setting could be done several times, depending on what Lisp is being run. Right?