changeset 4383:e2db42528a5b v7.3.940

updated for version 7.3.940 Problem: Python: Can't get position of window. Solution: Add window.row and window.col. (ZyX)
author Bram Moolenaar <bram@vim.org>
date Sun, 12 May 2013 19:30:31 +0200
parents 977fbe80d49f
children 1e7c1e5ad3bd
files runtime/doc/if_pyth.txt src/if_py_both.h src/version.c
diffstat 3 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -400,6 +400,9 @@ Window attributes are:
 				This is zero in case it cannot be determined
 				(e.g. when the window object belongs to other
 				tab page).
+ 	row, col (read-only)	On-screen window position in display cells.
+				First position is zero.
+
 The height attribute is writable only if the screen is split horizontally.
 The width attribute is writable only if the screen is split vertically.
 
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -1839,9 +1839,15 @@ WindowAttr(WindowObject *this, char *nam
     }
     else if (strcmp(name, "height") == 0)
 	return PyLong_FromLong((long)(this->win->w_height));
+#ifdef FEAT_WINDOWS
+    else if (strcmp(name, "row") == 0)
+	return PyLong_FromLong((long)(this->win->w_winrow));
+#endif
 #ifdef FEAT_VERTSPLIT
     else if (strcmp(name, "width") == 0)
 	return PyLong_FromLong((long)(W_WIDTH(this->win)));
+    else if (strcmp(name, "col") == 0)
+	return PyLong_FromLong((long)(W_WINCOL(this->win)));
 #endif
     else if (strcmp(name, "vars") == 0)
 	return DictionaryNew(this->win->w_vars);
@@ -1851,8 +1857,8 @@ WindowAttr(WindowObject *this, char *nam
     else if (strcmp(name, "number") == 0)
 	return PyLong_FromLong((long) get_win_number(this->win));
     else if (strcmp(name,"__members__") == 0)
-	return Py_BuildValue("[ssssss]", "buffer", "cursor", "height", "vars",
-		"options", "number");
+	return Py_BuildValue("[ssssssss]", "buffer", "cursor", "height", "vars",
+		"options", "number", "row", "col");
     else
 	return NULL;
 }
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    940,
+/**/
     939,
 /**/
     938,