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: Redisplay problems? Date: Sat, 22 Mar 2014 09:47:39 +0200 Message-ID: <83wqfm4quc.fsf@gnu.org> References: <87ppljg4ti.fsf@kanru-mozilla.corp.tpe1.mozilla.com> <5329C53B.3030008@gmx.at> <532ABA60.7000003@gmx.at> <532B3FFE.5020403@gmx.at> <838us46lsr.fsf@gnu.org> <83d2hf5y2p.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1395474446 19840 80.91.229.3 (22 Mar 2014 07:47:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 22 Mar 2014 07:47:26 +0000 (UTC) Cc: rudalics@gmx.at, christian@defun.dk, kanru@kanru.info, cloos@jhcloos.com, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Mar 22 08:47:34 2014 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 1WRGeT-0002NY-7q for ged-emacs-devel@m.gmane.org; Sat, 22 Mar 2014 08:47:33 +0100 Original-Received: from localhost ([::1]:56001 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRGeS-0007BF-UY for ged-emacs-devel@m.gmane.org; Sat, 22 Mar 2014 03:47:32 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42355) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRGeN-0007B9-Bm for emacs-devel@gnu.org; Sat, 22 Mar 2014 03:47:31 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WRGeJ-0001lf-7h for emacs-devel@gnu.org; Sat, 22 Mar 2014 03:47:27 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:44491) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WRGeI-0001lW-W7 for emacs-devel@gnu.org; Sat, 22 Mar 2014 03:47:23 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0N2T00A00UODPV00@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Sat, 22 Mar 2014 09:47:21 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N2T00A9HUYXGH60@a-mtaout22.012.net.il>; Sat, 22 Mar 2014 09:47:21 +0200 (IST) 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:170769 Archived-At: > From: Stefan Monnier > Cc: rudalics@gmx.at, christian@defun.dk, cloos@jhcloos.com, kanru@kanru.info, emacs-devel@gnu.org > Date: Fri, 21 Mar 2014 15:39:17 -0400 > > >> > If so, you have no other way but marking such frames "garbaged" when > >> > they are deiconified. > >> I highly doubt it. > > How else can you redisplay a frame whose current glyph matrices fell > > behind, while the frame was iconified? > > While the frame is iconified, glyph matrices are not updated, so if some > part of the frame is modified during this time, its `redisplay' bit will > be set (and stay set), so after it gets deiconified, redisplay will know > that the glyph matrices need to be updated. Once again, redisplaying a set of windows needs (a) to compute their desired matrices, and (b) compare them against the current matrices, and deliver the differences to the glass. The 'redisplay' flag takes care of (a), but if there are no current matrices we can trust, there's no way to perform (b). Setting the frame's garbaged flag tells Emacs that the current matrices are unreliable, and then it bypasses the matrix comparison in (b), and simply redraws every screen line in every window of the frame.