Mercurial > vim
diff src/window.c @ 4401:cfd76908da25 v7.3.949
updated for version 7.3.949
Problem: Python: no easy access to tabpages.
Solution: Add vim.tabpages and vim.current.tabpage. (ZyX)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 15 May 2013 15:12:29 +0200 |
parents | a2f03b41dca7 |
children | e67522c4f566 |
line wrap: on
line diff
--- a/src/window.c +++ b/src/window.c @@ -3510,6 +3510,15 @@ free_tabpage(tp) hash_init(&tp->tp_vars->dv_hashtab); unref_var_dict(tp->tp_vars); #endif + +#ifdef FEAT_PYTHON + python_tabpage_free(tp); +#endif + +#ifdef FEAT_PYTHON3 + python3_tabpage_free(tp); +#endif + vim_free(tp); } @@ -6734,12 +6743,12 @@ get_match(wp, id) #if defined(FEAT_PYTHON) || defined(FEAT_PYTHON3) || defined(PROTO) int -get_win_number(win_T *wp) +get_win_number(win_T *wp, win_T *first_win) { int i = 1; win_T *w; - for (w = firstwin; w != NULL && w != wp; w = W_NEXT(w)) + for (w = first_win; w != NULL && w != wp; w = W_NEXT(w)) ++i; if (w == NULL) @@ -6747,4 +6756,19 @@ get_win_number(win_T *wp) else return i; } -#endif + + int +get_tab_number(tabpage_T *tp) +{ + int i = 1; + tabpage_T *t; + + for (t = first_tabpage; t != NULL && t != tp; t = t->tp_next) + ++i; + + if (t == NULL) + return 0; + else + return i; +} +#endif