From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: xasserts and vertical motion. Date: Mon, 21 Feb 2005 00:08:58 +0100 Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1108940882 3206 80.91.229.2 (20 Feb 2005 23:08:02 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 20 Feb 2005 23:08:02 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 21 00:08:02 2005 Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1D30B3-000588-OJ for ged-emacs-devel@m.gmane.org; Mon, 21 Feb 2005 00:07:50 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D30Rt-00081P-9o for ged-emacs-devel@m.gmane.org; Sun, 20 Feb 2005 18:25:13 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1D30RB-0007pI-6k for emacs-devel@gnu.org; Sun, 20 Feb 2005 18:24:29 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1D30RA-0007on-3y for emacs-devel@gnu.org; Sun, 20 Feb 2005 18:24:28 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1D30RA-0007oj-0C for emacs-devel@gnu.org; Sun, 20 Feb 2005 18:24:28 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1D30CC-00009K-C6 for emacs-devel@gnu.org; Sun, 20 Feb 2005 18:09:00 -0500 Original-Received: from localhost ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.34) id 1D30CB-0003ED-Sm for emacs-devel@gnu.org; Sun, 20 Feb 2005 18:09:00 -0500 Original-To: emacs-devel@gnu.org User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org X-MailScanner-To: ged-emacs-devel@m.gmane.org Xref: main.gmane.org gmane.emacs.devel:33657 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:33657 There are now several xasserts in the vertical motion routines that are supposed to check for some assumptions about progress made on display. I strongly recommend taking them out. a) they are causing frequent aborts in normal editing operations. At a time where one has to refer people to the trunk Emacs for quite a bit of functionality that feels somewhat unfortunate. b) they don't check for _structural_ incoherence (namely that Emacs' internal data structures are not garbled), but for _visual_ incoherence. But for debugging this one needs information about what kind of things happen on the screen at the time, and just in what manner some expectations might get violated. This is much easier to get when Emacs remains operative and gets a chance to _display_ the result of the operation instead of committing suicide. After all, one can then repeat the process and narrow down just what causes it. And it significantly widens the audience that can help with debugging. It is much easier to describe what happens on the screen than to pick apart the data structures in an aborting Emacs (which are not usually accessible with most compilers and the standard compiler flags for optimization, anyway). Those xasserts that replace visual cues with an aborting Emacs do not just make using Emacs for serious work harder, but they also actively _hinder_ debugging possibly occuring display problems. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum