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 issue Date: Wed, 02 Dec 2015 15:57:06 +0200 Message-ID: <83d1upj6ml.fsf@gnu.org> References: <83fuzqr1iz.fsf@gnu.org> <8337vqqwz7.fsf@gnu.org> <83y4dhonng.fsf@gnu.org> <83two4olqj.fsf@gnu.org> <83h9k3mphx.fsf@gnu.org> <834mg2kvj7.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1449064685 16794 80.91.229.3 (2 Dec 2015 13:58:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Dec 2015 13:58:05 +0000 (UTC) Cc: emacs-devel@gnu.org To: Yuan MEI Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 02 14:57:53 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 1a47uk-0005L8-9d for ged-emacs-devel@m.gmane.org; Wed, 02 Dec 2015 14:57:46 +0100 Original-Received: from localhost ([::1]:58204 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a47uj-0006HX-HZ for ged-emacs-devel@m.gmane.org; Wed, 02 Dec 2015 08:57:45 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45487) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a47uV-0006Gj-Ay for emacs-devel@gnu.org; Wed, 02 Dec 2015 08:57:32 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a47uR-0006yc-8Z for emacs-devel@gnu.org; Wed, 02 Dec 2015 08:57:31 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:48489) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a47uR-0006un-0j for emacs-devel@gnu.org; Wed, 02 Dec 2015 08:57:27 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NYQ00K00HDJR600@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Wed, 02 Dec 2015 15:57:06 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NYQ00K5PHF6FZ80@a-mtaout22.012.net.il>; Wed, 02 Dec 2015 15:57:06 +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:195747 Archived-At: > Date: Tue, 1 Dec 2015 20:35:43 -0800 > From: Yuan MEI > Cc: emacs-devel > > > I have only one more idea: can you build Emacs without Cairo? Cairo > > changes the way Emacs draws the screen in significant ways, and that > > is the only part of this puzzle that we didn't verify yet. The traces > > indicate that everything up to the point where we invoke the drawing > > code is identical between the "good" and the "bad" cases, and > > correctly instructs the display back-end to redraw every screen line > > in the exposed region(s). > > Very interesting. The partial redraw problem seems to be gone when > cairo is disabled. I couldn't reproduce the bad case any more. > However I encountered another bug when cairo is disabled: did C-h h to > bring up HELLO, and Emacs crashed: > > lisp.h:1543: Emacs fatal error: assertion failed: 0 <= size > Fatal error 6: Aborted > lisp.h:1543: Emacs fatal error: assertion failed: 0 <= size > Aborted When did you last update from the repository? I believe this bug was solved a week ago, in commit d5fdffecdfad305d9c933ae3cad75a5e4e73878c. If your sources include the changes in that commit, please show a GDB backtrace when Emacs aborts. A stub in the dark: does the change below fix the Cairo build, per chance? diff --git a/src/xdisp.c b/src/xdisp.c index d1a10ca..7221032 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -30268,6 +30268,7 @@ expose_area (struct window *w, struct glyph_row *row, XRectangle *r, struct glyph *last; int first_x, start_x, x; + block_input (); if (area == TEXT_AREA && row->fill_line_p) /* If row extends face to end of line write the whole line. */ draw_glyphs (w, 0, row, area, @@ -30310,6 +30311,7 @@ expose_area (struct window *w, struct glyph_row *row, XRectangle *r, first - row->glyphs[area], last - row->glyphs[area], DRAW_NORMAL_TEXT, 0); } + unblock_input (); }