comparison src/if_mzsch.c @ 12477:68d7bc045dbe v8.0.1118

patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs commit https://github.com/vim/vim/commit/4033c55eca575777718c0701e26635a0cc47d907 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 16 20:54:51 2017 +0200 patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefs Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always enabled and only adds 7% to the binary size of the tiny build. Solution: Graduate FEAT_WINDOWS.
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Sep 2017 21:00:06 +0200
parents 4aead6a9b7a9
children 972ea22c946f
comparison
equal deleted inserted replaced
12476:2516383741e6 12477:68d7bc045dbe
143 static Scheme_Object *get_window_by_num(void *, int, Scheme_Object **); 143 static Scheme_Object *get_window_by_num(void *, int, Scheme_Object **);
144 static Scheme_Object *get_window_num(void *, int, Scheme_Object **); 144 static Scheme_Object *get_window_num(void *, int, Scheme_Object **);
145 static Scheme_Object *get_window_buffer(void *, int, Scheme_Object **); 145 static Scheme_Object *get_window_buffer(void *, int, Scheme_Object **);
146 static Scheme_Object *get_window_height(void *, int, Scheme_Object **); 146 static Scheme_Object *get_window_height(void *, int, Scheme_Object **);
147 static Scheme_Object *set_window_height(void *, int, Scheme_Object **); 147 static Scheme_Object *set_window_height(void *, int, Scheme_Object **);
148 #ifdef FEAT_WINDOWS
149 static Scheme_Object *get_window_width(void *, int, Scheme_Object **); 148 static Scheme_Object *get_window_width(void *, int, Scheme_Object **);
150 static Scheme_Object *set_window_width(void *, int, Scheme_Object **); 149 static Scheme_Object *set_window_width(void *, int, Scheme_Object **);
151 #endif
152 static Scheme_Object *get_cursor(void *, int, Scheme_Object **); 150 static Scheme_Object *get_cursor(void *, int, Scheme_Object **);
153 static Scheme_Object *set_cursor(void *, int, Scheme_Object **); 151 static Scheme_Object *set_cursor(void *, int, Scheme_Object **);
154 static Scheme_Object *get_window_list(void *, int, Scheme_Object **); 152 static Scheme_Object *get_window_list(void *, int, Scheme_Object **);
155 static vim_mz_window *get_vim_curr_window(void); 153 static vim_mz_window *get_vim_curr_window(void);
156 154
1911 /* (win-count) */ 1909 /* (win-count) */
1912 static Scheme_Object * 1910 static Scheme_Object *
1913 get_window_count(void *data UNUSED, int argc UNUSED, Scheme_Object **argv UNUSED) 1911 get_window_count(void *data UNUSED, int argc UNUSED, Scheme_Object **argv UNUSED)
1914 { 1912 {
1915 int n = 0; 1913 int n = 0;
1916 #ifdef FEAT_WINDOWS
1917 win_T *w; 1914 win_T *w;
1918 1915
1919 FOR_ALL_WINDOWS(w) 1916 FOR_ALL_WINDOWS(w)
1920 #endif
1921 ++n; 1917 ++n;
1922 return scheme_make_integer(n); 1918 return scheme_make_integer(n);
1923 } 1919 }
1924 1920
1925 /* (get-win-list [buffer]) */ 1921 /* (get-win-list [buffer]) */
1932 win_T *w = firstwin; 1928 win_T *w = firstwin;
1933 1929
1934 buf = get_buffer_arg(prim->name, 0, argc, argv); 1930 buf = get_buffer_arg(prim->name, 0, argc, argv);
1935 list = scheme_null; 1931 list = scheme_null;
1936 1932
1937 #ifdef FEAT_WINDOWS
1938 for ( ; w != NULL; w = w->w_next) 1933 for ( ; w != NULL; w = w->w_next)
1939 #endif
1940 if (w->w_buffer == buf->buf) 1934 if (w->w_buffer == buf->buf)
1941 { 1935 {
1942 list = scheme_make_pair(window_new(w), list); 1936 list = scheme_make_pair(window_new(w), list);
1943 MZ_GC_CHECK(); 1937 MZ_GC_CHECK();
1944 } 1938 }
1986 /* (get-win-num [window]) */ 1980 /* (get-win-num [window]) */
1987 static Scheme_Object * 1981 static Scheme_Object *
1988 get_window_num(void *data UNUSED, int argc UNUSED, Scheme_Object **argv UNUSED) 1982 get_window_num(void *data UNUSED, int argc UNUSED, Scheme_Object **argv UNUSED)
1989 { 1983 {
1990 int nr = 1; 1984 int nr = 1;
1991 #ifdef FEAT_WINDOWS
1992 Vim_Prim *prim = (Vim_Prim *)data; 1985 Vim_Prim *prim = (Vim_Prim *)data;
1993 win_T *win = get_window_arg(prim->name, 0, argc, argv)->win; 1986 win_T *win = get_window_arg(prim->name, 0, argc, argv)->win;
1994 win_T *wp; 1987 win_T *wp;
1995 1988
1996 for (wp = firstwin; wp != win; wp = wp->w_next) 1989 for (wp = firstwin; wp != win; wp = wp->w_next)
1997 #endif
1998 ++nr; 1990 ++nr;
1999 1991
2000 return scheme_make_integer(nr); 1992 return scheme_make_integer(nr);
2001 } 1993 }
2002 1994
2010 2002
2011 fnum = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0)); 2003 fnum = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0));
2012 if (fnum < 1) 2004 if (fnum < 1)
2013 scheme_signal_error(_("window index is out of range")); 2005 scheme_signal_error(_("window index is out of range"));
2014 2006
2015 #ifdef FEAT_WINDOWS
2016 for ( ; win != NULL; win = win->w_next, --fnum) 2007 for ( ; win != NULL; win = win->w_next, --fnum)
2017 #endif
2018 if (fnum == 1) /* to be 1-based */ 2008 if (fnum == 1) /* to be 1-based */
2019 return window_new(win); 2009 return window_new(win);
2020 2010
2021 return scheme_false; 2011 return scheme_false;
2022 } 2012 }
2064 2054
2065 raise_if_error(); 2055 raise_if_error();
2066 return scheme_void; 2056 return scheme_void;
2067 } 2057 }
2068 2058
2069 #ifdef FEAT_WINDOWS
2070 /* (get-win-width [window]) */ 2059 /* (get-win-width [window]) */
2071 static Scheme_Object * 2060 static Scheme_Object *
2072 get_window_width(void *data, int argc, Scheme_Object **argv) 2061 get_window_width(void *data, int argc, Scheme_Object **argv)
2073 { 2062 {
2074 Vim_Prim *prim = (Vim_Prim *)data; 2063 Vim_Prim *prim = (Vim_Prim *)data;
2099 curwin = savewin; 2088 curwin = savewin;
2100 2089
2101 raise_if_error(); 2090 raise_if_error();
2102 return scheme_void; 2091 return scheme_void;
2103 } 2092 }
2104 #endif
2105 2093
2106 /* (get-cursor [window]) -> (line . col) */ 2094 /* (get-cursor [window]) -> (line . col) */
2107 static Scheme_Object * 2095 static Scheme_Object *
2108 get_cursor(void *data, int argc, Scheme_Object **argv) 2096 get_cursor(void *data, int argc, Scheme_Object **argv)
2109 { 2097 {
3742 {get_window_by_num, "get-win-by-num", 1, 1}, 3730 {get_window_by_num, "get-win-by-num", 1, 1},
3743 {get_window_num, "get-win-num", 0, 1}, 3731 {get_window_num, "get-win-num", 0, 1},
3744 {get_window_buffer, "get-win-buffer", 0, 1}, 3732 {get_window_buffer, "get-win-buffer", 0, 1},
3745 {get_window_height, "get-win-height", 0, 1}, 3733 {get_window_height, "get-win-height", 0, 1},
3746 {set_window_height, "set-win-height", 1, 2}, 3734 {set_window_height, "set-win-height", 1, 2},
3747 #ifdef FEAT_WINDOWS
3748 {get_window_width, "get-win-width", 0, 1}, 3735 {get_window_width, "get-win-width", 0, 1},
3749 {set_window_width, "set-win-width", 1, 2}, 3736 {set_window_width, "set-win-width", 1, 2},
3750 #endif
3751 {get_cursor, "get-cursor", 0, 1}, 3737 {get_cursor, "get-cursor", 0, 1},
3752 {set_cursor, "set-cursor", 1, 2}, 3738 {set_cursor, "set-cursor", 1, 2},
3753 {get_window_list, "get-win-list", 0, 1}, 3739 {get_window_list, "get-win-list", 0, 1},
3754 /* 3740 /*
3755 * Vim-related commands 3741 * Vim-related commands