From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Robert J. Chassell" Newsgroups: gmane.emacs.devel Subject: Re: RMAIL slows Date: Wed, 4 May 2005 07:31:01 -0400 (EDT) Message-ID: References: <85ll7m8nbq.fsf@gnu.org> Reply-To: bob@rattlesnake.com NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1115251207 29588 80.91.229.2 (5 May 2005 00:00:07 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 5 May 2005 00:00:07 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu May 05 02:00:04 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DTTma-00018e-Jc for ged-emacs-devel@m.gmane.org; Thu, 05 May 2005 02:00:00 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DTTt0-0003mt-UO for ged-emacs-devel@m.gmane.org; Wed, 04 May 2005 20:06:38 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DTPyJ-0004aA-Ga for emacs-devel@gnu.org; Wed, 04 May 2005 15:55:51 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DTPyI-0004XL-5x for emacs-devel@gnu.org; Wed, 04 May 2005 15:55:50 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DTPyH-0004WC-PI for emacs-devel@gnu.org; Wed, 04 May 2005 15:55:49 -0400 Original-Received: from [199.232.41.67] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_ARCFOUR_SHA:16) (Exim 4.34) id 1DTPKI-00057u-6E for emacs-devel@gnu.org; Wed, 04 May 2005 15:14:30 -0400 Original-Received: from [69.168.108.225] (helo=rattlesnake.com) by mx20.gnu.org with esmtp (Exim 4.34) id 1DTIHk-00038i-6v for emacs-devel@gnu.org; Wed, 04 May 2005 07:43:29 -0400 Original-Received: by rattlesnake.com via sendmail from stdin id (Debian Smail3.2.0.115) Wed, 4 May 2005 07:31:01 -0400 (EDT) Original-To: emacs-devel@gnu.org In-reply-to: (message from Richard Stallman on Tue, 26 Apr 2005 06:05:08 -0400) 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:36675 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:36675 [After running the same RMAIL for several days, deletions slow; but not immediately. Using the `emacs/src/emacs' executable of 2005 Mar 30.] ... figure out which [function] it is. Well, I am not 100% sure which function causes the problem, since sometimes GDB stops in some other function, but the most common `xbacktrace' shows: "rmail-clear-headers" "rmail-reformat-message" "rmail-show-message" "rmail-summary-goto-msg" "rmail-summary-delete-forward" "call-interactively" and `bt' shows #0 0x0813ecf9 in adjust_markers_for_delete (from=2643804, from_byte=2643804, to=2643822, to_byte=2643822) at insdel.c:353 #1 0x0814113b in del_range_2 (from=2643804, from_byte=2643804, to=2643822, to_byte=2643822, ret_string=0) at insdel.c:1946 #2 0x08140d94 in del_range_1 (from=2643804, to=2643822, prepare=1, ret_string=461697) at insdel.c:1813 #3 0x08140d07 in del_range (from=141387496, to=141387496) at insdel.c:1780 #4 0x0817a7f0 in Fdelete_region (start=21150432, end=21150576) at editfns.c:2937 I put a breakpoint in `adjust_markers_for_delete' and looped at least 8 times. I tried looking at the items around the breakpoint, insdel.c:353, which is at if (charpos > Z) Evidentally both charpos and Z are defined in src/buffer.h. Z is the end of the buffer and is not exceeded. charpos is the marker. The test is part of a loop testing various conditions, the first of which is whether the position exceeds the end of the buffer. for (m = BUF_MARKERS (current_buffer); m; m = m->next) In `struct buffer_text' in src/buffer.h, charpos is defined on line 346 as /* The markers that refer to this buffer. This is actually a single marker --- successive elements in its marker `chain' are the other markers referring to this buffer. */ struct Lisp_Marker *markers; so it looks to me that a long list of markers accumulates over time. But I do not know enough. I may be quite wrong about all of this. -- Robert J. Chassell bob@rattlesnake.com GnuPG Key ID: 004B4AC8 http://www.rattlesnake.com http://www.teak.cc