To: vim-dev@vim.org Subject: Patch 6.0.171 Fcc: outbox From: Bram Moolenaar MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 6.0.171 Problem: With 'keymodel' including "startsel", in Insert mode after the end of a line, shift-Left does not move the cursor. (Steve Hall) Solution: CTRL-O doesn't move the cursor left, need to do that explicitly. Files: src/edit.c *** ../vim60.170/src/edit.c Tue Jan 15 19:48:49 2002 --- src/edit.c Mon Feb 4 10:17:59 2002 *************** *** 5763,5786 **** * CTRL-O when beyond the end of the line. */ start_selection(); ! /* Execute the key in (insert) Select mode, unless it's ! * shift-left and beyond the end of the line (the CTRL-O ! * will move the cursor left already). */ stuffcharReadbuff(Ctrl_O); ! if (c != K_S_LEFT || gchar_cursor() != NUL) { ! if (mod_mask) ! { ! char_u buf[4]; ! buf[0] = K_SPECIAL; ! buf[1] = KS_MODIFIER; ! buf[2] = mod_mask; ! buf[3] = NUL; ! stuffReadbuff(buf); ! } ! stuffcharReadbuff(c); } return TRUE; } return FALSE; --- 5766,5784 ---- * CTRL-O when beyond the end of the line. */ start_selection(); ! /* Execute the key in (insert) Select mode. */ stuffcharReadbuff(Ctrl_O); ! if (mod_mask) { ! char_u buf[4]; ! buf[0] = K_SPECIAL; ! buf[1] = KS_MODIFIER; ! buf[2] = mod_mask; ! buf[3] = NUL; ! stuffReadbuff(buf); } + stuffcharReadbuff(c); return TRUE; } return FALSE; *** ../vim60.170/src/version.c Mon Feb 4 09:55:08 2002 --- src/version.c Mon Feb 4 10:23:25 2002 *************** *** 608,609 **** --- 608,611 ---- { /* Add new patch number below this line */ + /**/ + 171, /**/ -- If Microsoft would build a car... ... the oil, water temperature, and alternator warning lights would all be replaced by a single "General Protection Fault" warning light. /// Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net \\\ ((( Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim ))) \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///