From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: Re: undo in loaddefs.el buffer Date: Wed, 29 Dec 2004 23:06:57 -0600 (CST) Message-ID: <200412300506.iBU56vd02192@moose.dms.auburn.edu> References: <200412211414.iBLEEZ903426@raven.dms.auburn.edu> <200412211541.iBLFfBc03861@raven.dms.auburn.edu> <87llbonyup.fsf@jurta.org> <200412260206.iBQ26wG17970@raven.dms.auburn.edu> <41CEE3B8.9090600@swipnet.se> <200412270231.iBR2VDE19709@raven.dms.auburn.edu> <41CFE247.8090409@swipnet.se> <200412280503.iBS53deD002564@manatee.dms.auburn.edu> NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1104383782 19309 80.91.229.6 (30 Dec 2004 05:16:22 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 30 Dec 2004 05:16:22 +0000 (UTC) Cc: juri@jurta.org, yamaoka@jpl.org, jan.h.d@swipnet.se, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 30 06:16:14 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CjsfW-0005r9-00 for ; Thu, 30 Dec 2004 06:16:14 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Cjsje-00052x-Sp for ged-emacs-devel@m.gmane.org; Thu, 30 Dec 2004 00:20:30 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Cjsia-0004bF-QE for emacs-devel@gnu.org; Thu, 30 Dec 2004 00:19:26 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CjsiW-0004Xo-00 for emacs-devel@gnu.org; Thu, 30 Dec 2004 00:19:20 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CjsiU-0004WL-L2 for emacs-devel@gnu.org; Thu, 30 Dec 2004 00:19:19 -0500 Original-Received: from [131.204.53.104] (helo=manatee.dms.auburn.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CjsWZ-0003jI-07; Thu, 30 Dec 2004 00:06:59 -0500 Original-Received: from moose.dms.auburn.edu (moose.dms.auburn.edu [131.204.53.3]) by manatee.dms.auburn.edu (8.12.10/8.12.10) with ESMTP id iBU56w0P001522; Wed, 29 Dec 2004 23:06:58 -0600 (CST) Original-Received: (from teirllm@localhost) by moose.dms.auburn.edu (8.11.7p1+Sun/8.11.7) id iBU56vd02192; Wed, 29 Dec 2004 23:06:57 -0600 (CST) X-Authentication-Warning: moose.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f Original-To: rms@gnu.org In-reply-to: (message from Richard Stallman on Tue, 28 Dec 2004 12:25:34 -0500) 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: main.gmane.org gmane.emacs.devel:31597 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:31597 I believe that Auto Revert Tail mode needs two undo boundaries. I checked that without them it keeps accumulating one big undo entry. The patch below does puts in the undo boundaries. I can install if desired. I do not believe that Auto Revert Mode itself needs any undo boundaries. All currently reverted buffers now clear out all undo info as a part of reverting, so the problem is handled by the revert functions. The problem with Auto Revert Tail mode is that it does not use a "real" revert. I do not know whether there are any circumstances where timers that do fontification could accumulate big single undo entries. Here is the autorevert patch: ===File ~/autorevert-diff=================================== *** autorevert.el 29 Dec 2004 20:37:00 -0600 1.41 --- autorevert.el 29 Dec 2004 21:08:55 -0600 *************** *** 444,454 **** --- 444,456 ---- (file buffer-file-name) buffer-file-name) ; ignore that file has changed (when (> size auto-revert-tail-pos) + (undo-boundary) (save-restriction (widen) (save-excursion (goto-char (point-max)) (insert-file-contents file nil auto-revert-tail-pos size))) + (undo-boundary) (setq auto-revert-tail-pos size) (set-buffer-modified-p modified))) (set-visited-file-modtime)) ============================================================