On Sat, Mar 05, 2011 at 01:31:50PM -0500, Donald Allen wrote:
> On Sat, Mar 5, 2011 at 12:54 PM, Benjamin R. Haskell <v...@benizi.com> wrote:
> > On Sat, 5 Mar 2011, Donald Allen wrote:
> >
> >> If you delete a line, it gets pushed onto the register stack (the line
> >> lands in the "" register). If you then undo the delete with 'u', the
> >> register stack doesn't get popped -- it remains as it was just prior to the
> >> 'undo'. So the undo has not undone all the effects of the command you are
> >> undoing. 7.3 with patches through 138.
> >
> > Undo isn't intended to "undo all the effects of the command", per se. It
> > reverses a change (or a block of changes) made to a buffer, not changes to
> > the state of the entire program.  Can't quite see where in the help that's
> > documented, but it seems rational to me.
> 
> Yes, I also checked the documentation before sending my original
> message and also was not able to find something definitive, which was
> why I appended the question mark to my subject.
> 
> Let's consider this a feature request, then. I think it's completely
> reasonable to expect 'undo' to reverse the side-effects of an undone
> command, where that's possible (I wouldn't expect it to undo the
> changes to the filesystem as a result of a write command, for
> example). In this case, I'd yanked some text that I wanted to 'put' in
> a bunch of places. While going through the buffer, putting the text
> where I wanted it, I noticed a line that needed to come out, so I
> deleted it. Naturally, the next attempt to put gave me that line
> instead of the original text I'd yanked.

Then you should have been putting from register 0 instead of register ".
Register 0 is the last yank, while register " is the last yank or
delete.

-- 
James
GPG Key: 1024D/61326D40 2003-09-02 James Vega <james...@jamessan.com>

Attachment: signature.asc
Description: Digital signature

Raspunde prin e-mail lui