To: Johannes Zellner Cc: vim-dev Subject: patch 5.4.44 (was: whichwrap=~ & undo) In-Reply-To: Fcc: outbox From: Bram Moolenaar ------------ Johannes Zellner wrote: > set whichwrap=~ > place the cursor on the `b' of > > bla > fred > > hit 6~, and you'll get > > BLA > FREd > > hit u for undo and you'll get > > bla > FREd Oops! Strange that nobody noticed this yet... Fortunately it's easy to fix: Patch 5.4.44 Problem: When 'whichwrap' includes '~', a "~" command that goes on to the next line cannot be properly undone. (Zellner) Solution: Save each line for undo in n_swapchar(). Files: src/normal.c *** ../vim-5.4.43/src/normal.c Wed Aug 11 23:19:48 1999 --- src/normal.c Sat Aug 21 22:15:37 1999 *************** *** 4623,4628 **** --- 4623,4634 ---- ++curwin->w_cursor.lnum; curwin->w_cursor.col = 0; redraw_curbuf_later(NOT_VALID); + if (n > 1) + { + if (u_savesub(curwin->w_cursor.lnum) == FAIL) + break; + u_clearline(); + } } else break; *** ../vim-5.4.43/src/version.h Sat Aug 21 21:51:34 1999 --- src/version.h Sat Aug 21 22:19:33 1999 *************** *** 19,26 **** #define VIM_VERSION_MINOR_STR "4" #define VIM_VERSION_BUILD 57 #define VIM_VERSION_BUILD_STR "57" ! #define VIM_VERSION_PATCHLEVEL 43 ! #define VIM_VERSION_PATCHLEVEL_STR "43" /* * VIM_VERSION_NODOT is used for the runtime directory name. --- 19,26 ---- #define VIM_VERSION_MINOR_STR "4" #define VIM_VERSION_BUILD 57 #define VIM_VERSION_BUILD_STR "57" ! #define VIM_VERSION_PATCHLEVEL 44 ! #define VIM_VERSION_PATCHLEVEL_STR "44" /* * VIM_VERSION_NODOT is used for the runtime directory name. *************** *** 30,35 **** */ #define VIM_VERSION_NODOT "vim54" #define VIM_VERSION_SHORT "5.4" ! #define VIM_VERSION_MEDIUM "5.4.43" ! #define VIM_VERSION_LONG "VIM - Vi IMproved 5.4.43 (1999 Aug 21)" ! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 5.4.43 (1999 Aug 21, compiled " --- 30,35 ---- */ #define VIM_VERSION_NODOT "vim54" #define VIM_VERSION_SHORT "5.4" ! #define VIM_VERSION_MEDIUM "5.4.44" ! #define VIM_VERSION_LONG "VIM - Vi IMproved 5.4.44 (1999 Aug 21)" ! #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 5.4.44 (1999 Aug 21, compiled " -- hundred-and-one symptoms of being an internet addict: 181. You make up words that go with the "happy tune" your modem makes while dialing your ISP. --/-/---- Bram Moolenaar ---- Bram@moolenaar.net ---- Bram@vim.org ---\-\-- \ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /