To: vim-dev@vim.org Subject: Patch 6.1.060 Fcc: outbox From: Bram Moolenaar MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.1.060 Problem: When 'virtualedit' is set and 'selection' is "exclusive", deleting a character just before a tab changes the tab into spaces. Undo doesn't restore the tab. (Helmut Stiegler) Solution: Don't replace the tab by spaces when it's not needed. Correcly save the line before it's changed. Files: src/ops.c *** ../vim61.059/src/ops.c Tue Apr 9 23:19:52 2002 --- src/ops.c Wed May 8 20:43:00 2002 *************** *** 1663,1673 **** } } ! if (gchar_pos(&oap->end) == '\t') { ! /* save last line for undo if it's not also the first line */ ! if (oap->end.lnum != curwin->w_cursor.lnum ! && u_save((linenr_T)(oap->end.lnum - 1), (linenr_T)(oap->end.lnum + 1)) == FAIL) return FAIL; curwin->w_cursor = oap->end; --- 1663,1674 ---- } } ! /* Break a tab only when it's included in the area. */ ! if (gchar_pos(&oap->end) == '\t' ! && oap->end.coladd < oap->inclusive) { ! /* save last line for undo */ ! if (u_save((linenr_T)(oap->end.lnum - 1), (linenr_T)(oap->end.lnum + 1)) == FAIL) return FAIL; curwin->w_cursor = oap->end; *** ../vim61.059/src/version.c Sat May 11 20:47:01 2002 --- src/version.c Sat May 11 20:47:51 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 60, /**/ -- You can test a person's importance in the organization by asking how much RAM his computer has. Anybody who knows the answer to that question is not a decision-maker. (Scott Adams - The Dilbert principle) /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ /// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\ \\\ Project leader for A-A-P -- http://www.a-a-p.org /// \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///