From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: [rant] Should reverting a buffer really discard undo history? Date: Tue, 31 May 2005 11:23:06 -0700 Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1117564261 10911 80.91.229.2 (31 May 2005 18:31:01 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 31 May 2005 18:31:01 +0000 (UTC) Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 31 20:30:57 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DdBUG-0007Eb-R2 for ged-emacs-devel@m.gmane.org; Tue, 31 May 2005 20:29:13 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DdBZP-0002kG-2P for ged-emacs-devel@m.gmane.org; Tue, 31 May 2005 14:34:31 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DdBXc-0001yU-BP for emacs-devel@gnu.org; Tue, 31 May 2005 14:32:40 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DdBXV-0001ux-8E for emacs-devel@gnu.org; Tue, 31 May 2005 14:32:37 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DdBXT-0001qZ-6s for emacs-devel@gnu.org; Tue, 31 May 2005 14:32:31 -0400 Original-Received: from [148.87.122.30] (helo=rgminet01.oracle.com) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1DdBQG-0000wl-AY for emacs-devel@gnu.org; Tue, 31 May 2005 14:25:04 -0400 Original-Received: from rgminet01.oracle.com (localhost [127.0.0.1]) by rgminet01.oracle.com (Switch-3.1.6/Switch-3.1.6) with ESMTP id j4VINAwq022526 for ; Tue, 31 May 2005 12:23:10 -0600 Original-Received: from rgmsgw301.us.oracle.com (rgmsgw301.us.oracle.com [138.1.186.50]) by rgminet01.oracle.com (Switch-3.1.6/Switch-3.1.6) with ESMTP id j4VIN9WH022501 for ; Tue, 31 May 2005 12:23:09 -0600 Original-Received: from rgmsgw301.us.oracle.com (localhost [127.0.0.1]) by rgmsgw301.us.oracle.com (Switch-3.1.4/Switch-3.1.0) with ESMTP id j4VIN8Ns006815 for ; Tue, 31 May 2005 12:23:08 -0600 Original-Received: from dradamslap (dhcp-amer-csvpn-gw2-141-144-74-124.vpn.oracle.com [141.144.74.124]) by rgmsgw301.us.oracle.com (Switch-3.1.4/Switch-3.1.0) with SMTP id j4VIN76L006808 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Tue, 31 May 2005 12:23:08 -0600 Original-To: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 Importance: Normal X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE 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:37961 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:37961 In theory, we could treat the revert operation as an undoable change to the buffer contents. In practice, for large buffers, that change would be so large that it would soon be discarded from the undo list. For even larger buffers, the result of saving the whole buffer as an undo record would be an immediate error. It would be impossible to revert. So I am against this change--at least if it were the default. So, it could still be considered as an option? The values of the option would reflect a performance-vs-safety/security tradeoff. The default value would choose performance, and the doc could tell users how to opt for more safety/security at the price of a possible performance hit. I'm not real familiar with the mechanics of the undo list, but couldn't the previous file contents be stored only on disk, as a temporary file, and the value in the undo list be just a pointer to that file instead of the file contents?