Issue 134 in vim: Pasting over visually selected line of new buffer not correctly undoable

35 views
Skip to first unread message

v...@googlecode.com

unread,
May 22, 2013, 2:56:51 AM5/22/13
to vim...@vim.org
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 134 by hkpt...@gmail.com: Pasting over visually selected line of
new buffer not correctly undoable
http://code.google.com/p/vim/issues/detail?id=134

Steps to reproduce:
1. vim -u NONE -N
2. ifoo<ESC>yy
3. :ene!
4. Vp
5. u
6. :set modified?

Expected:
The buffer should be empty after undoing the paste over the visually
selected line.

Instead:
The buffer retains the last line of what was pasted, even though the
modified state is set to nomodified. No further undo is possible.

Version/OS tested:
1. VIM - Vi IMproved 7.3, 1-905, NetBSD
2. VIM - Vi IMproved 7.3, 1-762, Cygwin
3. VIM - Vi IMproved 7.3, 1-46, MS-Windows 32-bit GUI


--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Christian Brabandt

unread,
May 22, 2013, 11:54:59 AM5/22/13
to vim...@vim.org

On Mi, 22 Mai 2013, v...@googlecode.com wrote:

> Status: New
> Owner: ----
> Labels: Type-Defect Priority-Medium
>
> New issue 134 by hkpt...@gmail.com: Pasting over visually selected
> line of new buffer not correctly undoable
> http://code.google.com/p/vim/issues/detail?id=134
>
> Steps to reproduce:
> 1. vim -u NONE -N
> 2. ifoo<ESC>yy
> 3. :ene!
> 4. Vp
> 5. u
> 6. :set modified?
>
> Expected:
> The buffer should be empty after undoing the paste over the visually
> selected line.
>
> Instead:
> The buffer retains the last line of what was pasted, even though the
> modified state is set to nomodified. No further undo is possible.
>
> Version/OS tested:
> 1. VIM - Vi IMproved 7.3, 1-905, NetBSD
> 2. VIM - Vi IMproved 7.3, 1-762, Cygwin
> 3. VIM - Vi IMproved 7.3, 1-46, MS-Windows 32-bit GUI

This seems to be an issue with saving enough lines for undo. This
usually happens before putting by calling op_delete(). Unfortunately,
undo isn't stored for new empty buffers. In theory, op_put should also
store undo information, however it seems to me, that it never ever
stores any information for line wise putting (since the computed size of
the range in u_savecommon() will always be zero). However, the attached
patch fixes it (at least for the case of putting into an empty buffer).

regards,
Christian
--
Es lohnt sich nicht, sich an einen Strohhut zu klammern.
-- Heinz Erhardt
op_put.diff

v...@googlecode.com

unread,
Jun 29, 2013, 10:32:29 AM6/29/13
to vim...@vim.org
Updates:
Status: Fixed

Comment #1 on issue 134 by brammool...@gmail.com: Pasting over visually
selected line of new buffer not correctly undoable
http://code.google.com/p/vim/issues/detail?id=134

Fixed by patch 7.3.1270
Reply all
Reply to author
Forward
0 new messages