emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 4 minor suggestions for files.el


From: Stefan Monnier
Subject: Re: 4 minor suggestions for files.el
Date: Tue, 29 Apr 2003 17:07:20 -0400

>     VC does a revert-buffer after each version control operation, so that
>     changes in version headers are picked up.
> 
>     If I understand correctly, the revert-buffer would be undoable.
> 
> I think that is what he is proposing.
> 
> I think that is a misguided feature.  It is not right to undo
> the revert-buffer unless you can undo the whole VC operation with it.

Why?  Especially with `undo-in-region' it doesn't make sense to
undo the operation when only part of the revert is undone (or
as is more often the case for me: when only changes prior to the
revert are undone).

> But that, if we can implement it, must be a VC operation;
> M-x undo should not be able to do it.

I don't see why not.  Just like we can undo changes that were
saved with C-x C-s, it makes perfect sense to undo changes
that were made by a "minor" revert-buffer (my patch defines
"minor" as "which preserves minor-modes").

> I think that the correct way for check-in and update to interact with
> M-x undo is to transpose the old undo list somehow to the buffer as it
> has been updated.

That's what undo-in-region does.

> If I edit the buffer and then do an RCS check-in, and the check-in
> updates an RCS header in the file, and then I undo, this should not
> undo the change in the RCS header.  Rather, it should undo the change
> that I made manually before the check-in.

Just because there's one case where care might be needed, we shouldn't
prevent people for whom this doesn't apply to benefit from more
flexibility.

> Likewise, if I edit the buffer and then do a CVS update, I should
> then be able to undo the edit I made, but not the changes made by
> the CVS update.

Why not ?


        Stefan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]