| To: vim_dev@googlegroups.com |
| Subject: Patch 7.3.395 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.3.395 (after 7.3.251) |
| Problem: "dv?bar" in the last line deletes too much and breaks undo. |
| Solution: Only adjust the cursor position when it's after the last line of |
| the buffer. Add a test. (Christian Brabandt) |
| Files: src/ops.c, src/testdir/test43.in, src/testdir/test43.ok |
| |
| |
| |
| |
| |
| *** 1961,1968 **** |
| /* Special case: gH<Del> deletes the last line. */ |
| del_lines(1L, FALSE); |
| curwin->w_cursor = curpos; /* restore curwin->w_cursor */ |
| ! if (curwin->w_cursor.lnum > 1) |
| ! --curwin->w_cursor.lnum; |
| } |
| else |
| { |
| --- 1962,1969 ---- |
| /* Special case: gH<Del> deletes the last line. */ |
| del_lines(1L, FALSE); |
| curwin->w_cursor = curpos; /* restore curwin->w_cursor */ |
| ! if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count) |
| ! curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; |
| } |
| else |
| { |
| |
| *** 4434,4440 **** |
| #endif |
| |
| /* |
| ! * implementation of the format operator 'gq' |
| */ |
| void |
| op_format(oap, keep_cursor) |
| --- 4435,4441 ---- |
| #endif |
| |
| /* |
| ! * Implementation of the format operator 'gq'. |
| */ |
| void |
| op_format(oap, keep_cursor) |
| |
| |
| |
| *** 13,19 **** |
| x:set magic |
| /\v(a)(b)\2\1\1/e |
| x/\V[ab]\(\[xy]\)\1 |
| ! x:?^1?,$w! test.out |
| :qa! |
| ENDTEST |
| |
| --- 13,23 ---- |
| x:set magic |
| /\v(a)(b)\2\1\1/e |
| x/\V[ab]\(\[xy]\)\1 |
| ! x:$ |
| ! :set undolevels=100 |
| ! dv?bar? |
| ! Yup:" |
| ! :?^1?,$w! test.out |
| :qa! |
| ENDTEST |
| |
| |
| *** 25,27 **** |
| --- 29,33 ---- |
| 6 x ^aa$ x |
| 7 (a)(b) abbaa |
| 8 axx [ab]xx |
| + 9 foobar |
| + |
| |
| |
| |
| *** 6,8 **** |
| --- 6,11 ---- |
| 6 x aa$ x |
| 7 (a)(b) abba |
| 8 axx ab]xx |
| + 9 foobar |
| + 9 foo |
| + |
| |
| |
| |
| *** 716,717 **** |
| --- 716,719 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 395, |
| /**/ |
| |
| -- |
| The Law, in its majestic equality, forbids the rich, as well as the |
| poor, to sleep under the bridges, to beg in the streets, and to steal |
| bread. -- Anatole France |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |