To: vim-dev@vim.org Subject: Patch 7.1.184 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit ------------ Patch 7.1.184 Problem: Crash when deleting backwards over a line break in Insert mode. Solution: Don't advance the cursor when it's already on the NUL after a line. (Matthew Wozniski) Files: src/normal.c *** ../vim-7.1.183/src/normal.c Sun Oct 14 17:15:45 2007 --- src/normal.c Tue Jan 1 16:40:24 2008 *************** *** 5849,5860 **** /* When the NL before the first char has to be deleted we * put the cursor on the NUL after the previous line. * This is a very special case, be careful! ! * don't adjust op_end now, otherwise it won't work */ if ( (cap->oap->op_type == OP_DELETE || cap->oap->op_type == OP_CHANGE) && !lineempty(curwin->w_cursor.lnum)) { ! ++curwin->w_cursor.col; cap->retval |= CA_NO_ADJ_OP_END; } continue; --- 5849,5861 ---- /* When the NL before the first char has to be deleted we * put the cursor on the NUL after the previous line. * This is a very special case, be careful! ! * Don't adjust op_end now, otherwise it won't work. */ if ( (cap->oap->op_type == OP_DELETE || cap->oap->op_type == OP_CHANGE) && !lineempty(curwin->w_cursor.lnum)) { ! if (*ml_get_cursor() != NUL) ! ++curwin->w_cursor.col; cap->retval |= CA_NO_ADJ_OP_END; } continue; *** ../vim-7.1.183/src/version.c Wed Jan 2 15:34:48 2008 --- src/version.c Wed Jan 2 16:24:19 2008 *************** *** 668,669 **** --- 668,671 ---- { /* Add new patch number below this line */ + /**/ + 184, /**/ -- Not too long ago, cut and paste was done with scissors and glue... /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///