From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: gerd.moellmann@t-online.de (Gerd Moellmann) Newsgroups: gmane.emacs.bugs Subject: Re: Emacs 21.2 core dump in find_first_unchanged_at_end_row Date: 30 Mar 2002 13:09:16 +0100 Sender: bug-gnu-emacs-admin@gnu.org Message-ID: <86r8m2w93n.fsf@gerd.dnsq.org> References: <200203280044.g2S0i7g00924@shade.twinsun.com> <7458-Thu28Mar2002103446+0200-eliz@is.elta.co.il> <200203281843.g2SIhI601544@shade.twinsun.com> <86wuvvekuf.fsf@gerd.dnsq.org> <200203291941.g2TJfNd29395@shade.twinsun.com> <86vgbfjf4k.fsf@gerd.dnsq.org> <200203292236.g2TMa4g03765@shade.twinsun.com> <86n0wrm18q.fsf@gerd.dnsq.org> <200203300108.g2U18UK04419@shade.twinsun.com> Reply-To: gerd@gnu.org NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1017491784 4024 127.0.0.1 (30 Mar 2002 12:36:24 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 30 Mar 2002 12:36:24 +0000 (UTC) Cc: bug-gnu-emacs@gnu.org Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 16rI5m-00012n-00 for ; Sat, 30 Mar 2002 13:36:23 +0100 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16rI5g-0005es-00; Sat, 30 Mar 2002 07:36:16 -0500 Original-Received: from mailout02.sul.t-online.com ([194.25.134.17]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 16rI5H-0005bu-00 for ; Sat, 30 Mar 2002 07:35:51 -0500 Original-Received: from fwd09.sul.t-online.de by mailout02.sul.t-online.com with smtp id 16rHfi-0003Ng-04; Sat, 30 Mar 2002 13:09:26 +0100 Original-Received: from gerd.dnsq.org (520015515780-0001@[80.130.113.181]) by fwd09.sul.t-online.com with esmtp id 16rHfb-24cUJUC; Sat, 30 Mar 2002 13:09:19 +0100 Original-Received: (from gerd@localhost) by gerd.dnsq.org (8.11.6/8.11.6) id g2UC9GJ00748; Sat, 30 Mar 2002 13:09:16 +0100 (CET) (envelope-from gerd@gnu.org) X-Authentication-Warning: gerd.dnsq.org: gerd set sender to gerd@gnu.org using -f Original-To: Paul Eggert In-Reply-To: <200203300108.g2U18UK04419@shade.twinsun.com> Original-Lines: 54 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.50 X-Sender: 520015515780-0001@t-dialin.net Errors-To: bug-gnu-emacs-admin@gnu.org X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.0.8 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.bugs:305 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:305 Paul Eggert writes: > > From: gerd.moellmann@t-online.de (Gerd Moellmann) > > Date: 29 Mar 2002 23:56:53 +0100 > > > > Did you compile Emacs with -DGLYPH_DEBUG? > > Sorry, no. It was a fairly vanilla build. Then I think there's no way of proving that direct_output_for_insert ran. I have a strong gut feeling though it did get called, and that not setting END_UNCHANGED in direct_output_for_insert has something to do with the bogus unchanged info. Alas, I don't see a way to prove that, so I can only trust my gut. What I've done is call mark_window_display_accurate in direct_output_for_insert. That should be done anyway, and removes any doubt that direct_output_for_insert DTRT with unchanged info in the future. A patch is at the end of this mail. I've installed this in HEAD. Could someone please tell me if the RC branch is still in use? If so, I think this should be installed in the branch, too. *** dispnew.c 2002/03/30 11:50:25 1.302 --- dispnew.c 2002/03/30 11:51:51 *************** *** 3655,3668 **** fflush (stdout); TRACE ((stderr, "direct output for insert\n")); ! ! UNCHANGED_MODIFIED = MODIFF; ! BEG_UNCHANGED = GPT - BEG; ! XSETFASTINT (w->last_point, PT); ! w->last_cursor = w->cursor; ! XSETFASTINT (w->last_modified, MODIFF); ! XSETFASTINT (w->last_overlay_modified, OVERLAY_MODIFF); ! redisplay_performed_directly_p = 1; return 1; } --- 3655,3661 ---- fflush (stdout); TRACE ((stderr, "direct output for insert\n")); ! mark_window_display_accurate (it.window, 1); redisplay_performed_directly_p = 1; return 1; }