Mercurial > vim
comparison src/edit.c @ 6138:3f92ef156c66 v7.4.407
updated for version 7.4.407
Problem: Inserting text for Visual block mode, with cursor movement,
repeats the wrong text. (Aleksandar Ivanov)
Solution: Reset the update_Insstart_orig flag. (Christian Brabandt)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 16 Aug 2014 18:13:03 +0200 |
parents | 975d96776111 |
children | b98af9af378e |
comparison
equal
deleted
inserted
replaced
6137:12ecdad8c903 | 6138:3f92ef156c66 |
---|---|
6766 int | 6766 int |
6767 stop_arrow() | 6767 stop_arrow() |
6768 { | 6768 { |
6769 if (arrow_used) | 6769 if (arrow_used) |
6770 { | 6770 { |
6771 Insstart = curwin->w_cursor; /* new insertion starts here */ | |
6772 if (Insstart.col > Insstart_orig.col && !ins_need_undo) | |
6773 /* Don't update the original insert position when moved to the | |
6774 * right, except when nothing was inserted yet. */ | |
6775 update_Insstart_orig = FALSE; | |
6776 Insstart_textlen = (colnr_T)linetabsize(ml_get_curline()); | |
6777 | |
6771 if (u_save_cursor() == OK) | 6778 if (u_save_cursor() == OK) |
6772 { | 6779 { |
6773 arrow_used = FALSE; | 6780 arrow_used = FALSE; |
6774 ins_need_undo = FALSE; | 6781 ins_need_undo = FALSE; |
6775 } | 6782 } |
6776 Insstart = curwin->w_cursor; /* new insertion starts here */ | 6783 |
6777 Insstart_textlen = (colnr_T)linetabsize(ml_get_curline()); | |
6778 ai_col = 0; | 6784 ai_col = 0; |
6779 #ifdef FEAT_VREPLACE | 6785 #ifdef FEAT_VREPLACE |
6780 if (State & VREPLACE_FLAG) | 6786 if (State & VREPLACE_FLAG) |
6781 { | 6787 { |
6782 orig_line_count = curbuf->b_ml.ml_line_count; | 6788 orig_line_count = curbuf->b_ml.ml_line_count; |