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: Thu, 27 Mar 2014 19:33:40 +0200 Message-ID: <83lhvvy2a3.fsf@gnu.org> References: <83eh1v5y53.fsf@gnu.org> <83y5024r1w.fsf@gnu.org> <83ior6489a.fsf@gnu.org> <834n2q43os.fsf@gnu.org> <83vbv62gr7.fsf@gnu.org> <83txao1c8n.fsf@gnu.org> <83k3bj1otm.fsf@gnu.org> <838urz1jjg.fsf@gnu.org> <834n2n0wbe.fsf@gnu.org> <83d2h9yo5m.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1395941626 27014 80.91.229.3 (27 Mar 2014 17:33:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 27 Mar 2014 17:33:46 +0000 (UTC) Cc: rudalics@gmx.at, christian@defun.dk, cloos@jhcloos.com, kanru@kanru.info, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Mar 27 18:33:55 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 1WTEBe-0001qL-L3 for ged-emacs-devel@m.gmane.org; Thu, 27 Mar 2014 18:33:54 +0100 Original-Received: from localhost ([::1]:55174 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTEBe-00067X-7f for ged-emacs-devel@m.gmane.org; Thu, 27 Mar 2014 13:33:54 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39910) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTEBX-00067S-OB for emacs-devel@gnu.org; Thu, 27 Mar 2014 13:33:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTEBT-0007YR-IF for emacs-devel@gnu.org; Thu, 27 Mar 2014 13:33:47 -0400 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:57517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTEBT-0007YJ-9N for emacs-devel@gnu.org; Thu, 27 Mar 2014 13:33:43 -0400 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0N3300M00VA4VD00@a-mtaout21.012.net.il> for emacs-devel@gnu.org; Thu, 27 Mar 2014 19:33:41 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N3300MWVVG4UW10@a-mtaout21.012.net.il>; Thu, 27 Mar 2014 19:33:41 +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.169 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:171041 Archived-At: > From: Stefan Monnier > Cc: rudalics@gmx.at, christian@defun.dk, kanru@kanru.info, cloos@jhcloos.com, > emacs-devel@gnu.org > Date: Thu, 27 Mar 2014 09:55:40 -0400 > > >> Do we use things like "block move"? > > Not sure what you mean by "block move". > > Moving a block of pixels. Got that part, thanks. > My concern is whether the redraw may decide to use some other part of > the display to draw a particular region (typically for scrolling). > If we do, then it's important to make sure that part is in-sync with the > current matrices, but if we don't then we don't need to worry about the > display being out-of-sync with the current matrices. Here you lost me. Are we still talking about redrawing a frame as response to expose event that exposes the entire frame? If so, expose_frame doesn't bother to check whether the current matrix is up to date, it blindly uses all of it to redraw every screen line of the frame. In case of text lines, this redraws each screen line by calling the 'draw' method of the font driver, passing it a "glyph string" structure, which describes a sequence of characters that come from the same face (font. colors, etc.). How does all this relate to moving blocks of pixels?