Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.2.268
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.2.268
Problem:    Crash when using Python to set cursor beyond end of line.
	    (winterTTr)
Solution:   Check the column to be valid.
Files:	    src/if_python.c


*** ../vim-7.2.267/src/if_python.c	2009-07-09 20:06:30.000000000 +0200
--- src/if_python.c	2009-10-10 14:49:10.000000000 +0200
***************
*** 2058,2063 ****
--- 2058,2064 ----
      {
  	long lnum;
  	long col;
+ 	long len;
  
  	if (!PyArg_Parse(val, "(ll)", &lnum, &col))
  	    return -1;
***************
*** 2072,2081 ****
  	if (VimErrorCheck())
  	    return -1;
  
! 	/* NO CHECK ON COLUMN - SEEMS NOT TO MATTER */
  
  	this->win->w_cursor.lnum = lnum;
  	this->win->w_cursor.col = col;
  	update_screen(VALID);
  
  	return 0;
--- 2073,2088 ----
  	if (VimErrorCheck())
  	    return -1;
  
! 	/* When column is out of range silently correct it. */
! 	len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE));
! 	if (col > len)
! 	    col = len;
  
  	this->win->w_cursor.lnum = lnum;
  	this->win->w_cursor.col = col;
+ #ifdef FEAT_VIRTUALEDIT
+ 	this->win->w_cursor.coladd = 0;
+ #endif
  	update_screen(VALID);
  
  	return 0;
*** ../vim-7.2.267/src/version.c	2009-10-07 16:19:52.000000000 +0200
--- src/version.c	2009-11-03 11:42:08.000000000 +0100
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     268,
  /**/

-- 
VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur
            and his knights seemed hopeless,  when, suddenly ... the animator
            suffered a fatal heart attack.
ANIMATOR:   Aaaaagh!
VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could
            continue.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// 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    ///