0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

Include old Python changes in Python 3 interface.

This commit is contained in:
Bram Moolenaar 2010-07-25 13:43:20 +02:00
parent bed7beca58
commit d68554d4fe

View File

@ -34,7 +34,7 @@
# undef _POSIX_THREADS # undef _POSIX_THREADS
#endif #endif
#if defined(_WIN32) && defined (HAVE_FCNTL_H) #if defined(_WIN32) && defined(HAVE_FCNTL_H)
# undef HAVE_FCNTL_H # undef HAVE_FCNTL_H
#endif #endif
@ -1828,6 +1828,7 @@ WindowSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
{ {
long lnum; long lnum;
long col; long col;
long len;
if (!PyArg_Parse(val, "(ll)", &lnum, &col)) if (!PyArg_Parse(val, "(ll)", &lnum, &col))
return -1; return -1;
@ -1842,10 +1843,16 @@ WindowSetattro(PyObject *self, PyObject *nameobj, PyObject *val)
if (VimErrorCheck()) if (VimErrorCheck())
return -1; return -1;
/* NO CHECK ON COLUMN - SEEMS NOT TO MATTER */ /* When column is out of range silently correct it. */
len = (long)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.lnum = lnum;
this->win->w_cursor.col = col; this->win->w_cursor.col = col;
#ifdef FEAT_VIRTUALEDIT
this->win->w_cursor.coladd = 0;
#endif
update_screen(VALID); update_screen(VALID);
return 0; return 0;
@ -2242,9 +2249,9 @@ SetBufferLine(buf_T *buf, Py_ssize_t n, PyObject *line, Py_ssize_t *len_change)
PyErr_SetVim(_("cannot delete line")); PyErr_SetVim(_("cannot delete line"));
else else
{ {
deleted_lines_mark((linenr_T)n, 1L);
if (buf == curwin->w_buffer) if (buf == curwin->w_buffer)
py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1); py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1);
deleted_lines_mark((linenr_T)n, 1L);
} }
curbuf = savebuf; curbuf = savebuf;