From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Display bug Date: Sun, 11 Mar 2007 21:27:57 -0400 Message-ID: Reply-To: rms@gnu.org NNTP-Posting-Host: lo.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: sea.gmane.org 1173663181 9035 80.91.229.12 (12 Mar 2007 01:33:01 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 12 Mar 2007 01:33:01 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Mar 12 02:32:55 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HQZPD-0000kd-Cg for ged-emacs-devel@m.gmane.org; Mon, 12 Mar 2007 02:32:55 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HQZPo-0004I2-9P for ged-emacs-devel@m.gmane.org; Sun, 11 Mar 2007 20:33:32 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HQZMn-0001AA-PN for emacs-devel@gnu.org; Sun, 11 Mar 2007 21:30:25 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HQZMn-00019N-48 for emacs-devel@gnu.org; Sun, 11 Mar 2007 21:30:25 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HQZMm-000198-Uo for emacs-devel@gnu.org; Sun, 11 Mar 2007 20:30:24 -0500 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HQZMB-0003Cb-0i for emacs-devel@gnu.org; Sun, 11 Mar 2007 21:29:47 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.60) (envelope-from ) id 1HQZKP-0006ia-Aa; Sun, 11 Mar 2007 21:27:57 -0400 X-detected-kernel: Linux 2.6, seldom 2.4 (older, 4) 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 Xref: news.gmane.org gmane.emacs.devel:67763 Archived-At: Since this happens in the CVS trunk, it should be fixed now. Has anyone looked at this? Please DTRT and ack. ------- Start of forwarded message ------- X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY autolearn=failed version=3.1.0 From: Kenichi Handa To: Kenichi Handa In-reply-to: (message from Kenichi Handa on Wed, 07 Mar 2007 13:58:37 +0900) MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Date: Wed, 07 Mar 2007 14:37:39 +0900 Cc: nickrob@snap.net.nz, hongyi.zhao@gmail.com, emacs-devel@gnu.org Subject: Display bug [Re: My Emacs unicode 2 crash again ...] In article , Kenichi Handa writes: > It now shows the correct place of calling abort() as below, > and I can reproduce the bug by compiling Emacs with > --enable-asserts. > Breakpoint 1, abort () at emacs.c:431 > (gdb) bt full > #0 abort () at emacs.c:431 > No locals. > #1 0x0808a8ec in try_window_id (w=0x8867cc8) at xdisp.c:15132 [...] > xassert (w->window_end_bytepos >= 0); <-- line 15132 > IF_DEBUG (debug_method_add (w, "A")); > } > I'm now trying to find what is wrong. I found that the same bug can be reproduced even with Emacs 22 (latest CVS HEAD) when it is configured with - --enable-asserts. Please try to build Emacs that way, and run this code: (defun temp () (with-temp-buffer (switch-to-buffer (current-buffer)) (insert "a-\n-\nd\n") (let ((nbsp (string (decode-char 'ucs #xa0)))) (while t (goto-char 1) (replace-string "-" nbsp) (sit-for 0.1) (goto-char 1) (replace-string nbsp "-") (sit-for 0.1))))) It just swaps "-" and NBSP repeatedly. As the logic of the function try_window_id is quite complicated, I still don't understand what is wrong. Could someone help? FYI, (gdb) run [...] Breakpoint 1, abort () at emacs.c:431 (gdb) up #1 0x08086b40 in try_window_id (w=0x85df240) at xdisp.c:14983 (gdb) pp w->buffer # (gdb) pp current_buffer->name " *temp*" (gdb) p *current_buffer->text $7 = { beg = 0x85bf3e0 "a-\n-", gpt = 5, z = 8, gpt_byte = 5, z_byte = 8, gap_size = 13, modiff = 6, chars_modiff = 6, save_modiff = 1, overlay_modiff = 1, beg_unchanged = 1, end_unchanged = 3, unchanged_modified = 4, overlay_unchanged_modified = 1, intervals = 0x0, markers = 0x854d948 } (gdb) p row->end.pos $8 = { charpos = 8, bytepos = 10 } (gdb) p w->window_end_bytepos $9 = -2 (gdb) It seems that the buffer now contains only ASCII (i.e. "a-\n-\nd\n"), but row points to a data containing multibyte characters (NBSP in this case). - --- Kenichi Handa handa@m17n.org _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ------- End of forwarded message -------