Karsten Hopp cd06dc
To: vim-dev@vim.org
Karsten Hopp cd06dc
Subject: Patch 7.1.249
Karsten Hopp cd06dc
Fcc: outbox
Karsten Hopp cd06dc
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp cd06dc
Mime-Version: 1.0
Karsten Hopp cd06dc
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp cd06dc
Content-Transfer-Encoding: 8bit
Karsten Hopp cd06dc
------------
Karsten Hopp cd06dc
Karsten Hopp cd06dc
Patch 7.1.249
Karsten Hopp cd06dc
Problem:    After "U" the cursor can be past end of line.  (Adri Verhoef)
Karsten Hopp cd06dc
Solution:   Adjust the cursor position in u_undoline().
Karsten Hopp cd06dc
Files:	    src/undo.c
Karsten Hopp cd06dc
Karsten Hopp cd06dc
Karsten Hopp cd06dc
*** ../vim-7.1.248/src/undo.c	Sat Nov 10 22:50:20 2007
Karsten Hopp cd06dc
--- src/undo.c	Wed Feb 13 15:17:54 2008
Karsten Hopp cd06dc
***************
Karsten Hopp cd06dc
*** 1814,1826 ****
Karsten Hopp cd06dc
      if (undo_off)
Karsten Hopp cd06dc
  	return;
Karsten Hopp cd06dc
  
Karsten Hopp cd06dc
!     if (curbuf->b_u_line_ptr == NULL ||
Karsten Hopp cd06dc
! 			curbuf->b_u_line_lnum > curbuf->b_ml.ml_line_count)
Karsten Hopp cd06dc
      {
Karsten Hopp cd06dc
  	beep_flush();
Karsten Hopp cd06dc
  	return;
Karsten Hopp cd06dc
      }
Karsten Hopp cd06dc
! 	/* first save the line for the 'u' command */
Karsten Hopp cd06dc
      if (u_savecommon(curbuf->b_u_line_lnum - 1,
Karsten Hopp cd06dc
  				curbuf->b_u_line_lnum + 1, (linenr_T)0) == FAIL)
Karsten Hopp cd06dc
  	return;
Karsten Hopp cd06dc
--- 1814,1827 ----
Karsten Hopp cd06dc
      if (undo_off)
Karsten Hopp cd06dc
  	return;
Karsten Hopp cd06dc
  
Karsten Hopp cd06dc
!     if (curbuf->b_u_line_ptr == NULL
Karsten Hopp cd06dc
! 			|| curbuf->b_u_line_lnum > curbuf->b_ml.ml_line_count)
Karsten Hopp cd06dc
      {
Karsten Hopp cd06dc
  	beep_flush();
Karsten Hopp cd06dc
  	return;
Karsten Hopp cd06dc
      }
Karsten Hopp cd06dc
! 
Karsten Hopp cd06dc
!     /* first save the line for the 'u' command */
Karsten Hopp cd06dc
      if (u_savecommon(curbuf->b_u_line_lnum - 1,
Karsten Hopp cd06dc
  				curbuf->b_u_line_lnum + 1, (linenr_T)0) == FAIL)
Karsten Hopp cd06dc
  	return;
Karsten Hopp cd06dc
***************
Karsten Hopp cd06dc
*** 1840,1845 ****
Karsten Hopp cd06dc
--- 1841,1847 ----
Karsten Hopp cd06dc
  	curbuf->b_u_line_colnr = curwin->w_cursor.col;
Karsten Hopp cd06dc
      curwin->w_cursor.col = t;
Karsten Hopp cd06dc
      curwin->w_cursor.lnum = curbuf->b_u_line_lnum;
Karsten Hopp cd06dc
+     check_cursor_col();
Karsten Hopp cd06dc
  }
Karsten Hopp cd06dc
  
Karsten Hopp cd06dc
  /*
Karsten Hopp cd06dc
*** ../vim-7.1.248/src/version.c	Wed Feb 13 12:41:30 2008
Karsten Hopp cd06dc
--- src/version.c	Wed Feb 13 15:20:12 2008
Karsten Hopp cd06dc
***************
Karsten Hopp cd06dc
*** 668,669 ****
Karsten Hopp cd06dc
--- 668,671 ----
Karsten Hopp cd06dc
  {   /* Add new patch number below this line */
Karsten Hopp cd06dc
+ /**/
Karsten Hopp cd06dc
+     249,
Karsten Hopp cd06dc
  /**/
Karsten Hopp cd06dc
Karsten Hopp cd06dc
-- 
Karsten Hopp cd06dc
How To Keep A Healthy Level Of Insanity:
Karsten Hopp cd06dc
1. At lunch time, sit in your parked car with sunglasses on and point
Karsten Hopp cd06dc
   a hair dryer at passing cars. See if they slow down.
Karsten Hopp cd06dc
Karsten Hopp cd06dc
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp cd06dc
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp cd06dc
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp cd06dc
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///