Problem: Too many #ifdefs.
Solution: Graduate the +cmdwin feature. Now the tiny and small builds are
equal, drop the small build. (Martin Tournoij, closes #11268)
- FEATURE: HUGE
# disabled
# - FEATURE: TINY
-# - FEATURE: SMALL
# - FEATURE: NORMAL
# - FEATURE: BIG
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
-{not available when compiled without the |+cmdwin| feature}
OPEN *c_CTRL-F* *q:* *q/* *q?*
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
and ":goto" commands.
m *+channel* inter process communication |channel|
-6 *+cindent* |'cindent'|, C indenting
+T *+cindent* |'cindent'|, C indenting; Always enabled
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
*+clipboard* |clipboard| support compiled-in
*+clipboard_working* |clipboard| support compiled-in and working
T *+cmdline_compl* command line completion |cmdline-completion|
T *+cmdline_hist* command line history |cmdline-history|
N *+cmdline_info* |'showcmd'| and |'ruler'|
-S *+cmdwin* |cmdline-window| support
+T *+cmdwin* |cmdline-window| support; Always enabled since 9.0.0657
T *+comments* |'comments'| support
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
N *+cryptv* encryption support |encryption|
Parameter name : MODEL
Description : Build model selection
- Options: : TINY - Almost no features enabled, not even
- multiple windows
- SMALL - Few features enabled, as basic as possible
+ Options: : TINY - No optional features enabled
NORMAL - A default selection of features enabled
BIG - Many features enabled, as rich as possible.
(OpenVMS default)
-DFEAT_NORMAL
else
-# Vim 'small' build
+# Vim 'small' build - now an alias for 'tiny'
ifeq ($(BUILD),small)
-CFLAGS += -DFEAT_SMALL
+CFLAGS += -DFEAT_TINY
else
# Vim 'tiny' build
# Updated 2014 Oct 13.
#>>>>> choose options:
-# FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
-# Set to TINY to make minimal version (few features).
+# FEATURES=[TINY | NORMAL | BIG | HUGE]
+# Set to TINY to make a minimal version (no optional features).
FEATURES=HUGE
# Set to yes for a debug build.
#
# !!!! After changing any features do "nmake clean" first !!!!
#
-# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is HUGE)
+# Feature Set: FEATURES=[TINY, NORMAL, BIG, HUGE] (default is HUGE)
#
# Name to add to the version: MODIFIED_BY=[name of modifier]
#
!endif # POSTSCRIPT
#
-# FEATURES: TINY, SMALL, NORMAL, BIG or HUGE
+# FEATURES: TINY, NORMAL, BIG or HUGE
#
CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
DECC = YES
# Build model selection
-# TINY - Almost no features enabled, not even multiple windows
-# SMALL - Few features enabled, as basic as possible
+# TINY - No optional features enabled
# NORMAL - A default selection of features enabled
# BIG - Many features enabled, as rich as possible. (default)
# HUGE - All possible features enabled.
# "liblua5.4-dev".
# Use --with-luajit if you want to use LuaJIT instead of Lua.
# Set PATH environment variable to find lua or luajit executable.
-# This requires at least "normal" features, "tiny" and "small" don't work.
+# This requires at least "normal" features, "tiny" doesn't work.
#CONF_OPT_LUA = --enable-luainterp
#CONF_OPT_LUA = --enable-luainterp=dynamic
#CONF_OPT_LUA = --enable-luainterp --with-luajit
# the next line.
# When you get an error for a missing "perl.exp" file, try creating an empty
# one: "touch perl.exp".
-# This requires at least "normal" features, "tiny" and "small" don't work.
+# This requires at least "normal" features, "tiny" doesn't work.
#CONF_OPT_PERL = --enable-perlinterp
#CONF_OPT_PERL = --enable-perlinterp=dynamic
# PYTHON
# Uncomment lines here when you want to include the Python interface.
# Debian package is "libpython3-dev".
-# This requires at least "normal" features, "tiny" and "small" don't work.
+# This requires at least "normal" features, "tiny" doesn't work.
# Python 3 is preferred, Python 2 (often referred to as "Python") has been
# deprecated for a long time.
# NOTE: This may cause threading to be enabled, which has side effects (such
# Uncomment this when you want to include the Ruby interface.
# First one for static linking, second one for loading when used.
# Debian package is "ruby-dev".
-# This requires at least "normal" features, "tiny" and "small" don't work.
+# This requires at least "normal" features, "tiny" doesn't work.
#CONF_OPT_RUBY = --enable-rubyinterp
#CONF_OPT_RUBY = --enable-rubyinterp=dynamic
#CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1
# Uncomment this when you want to include the Tcl interface.
# First one is for static linking, second one for dynamic loading.
# Debian package is "tcl-dev".
+# This requires at least "normal" features, "tiny" doesn't work.
#CONF_OPT_TCL = --enable-tclinterp
#CONF_OPT_TCL = --enable-tclinterp=dynamic
#CONF_OPT_TCL = --enable-tclinterp --with-tclsh=tclsh8.4
# Uncomment one of these lines when you want to include few to many features.
# The default is "huge" for most systems.
#CONF_OPT_FEAT = --with-features=tiny
-#CONF_OPT_FEAT = --with-features=small
#CONF_OPT_FEAT = --with-features=normal
#CONF_OPT_FEAT = --with-features=big
#CONF_OPT_FEAT = --with-features=huge
tabpage_T *last_curtab;
int prev_arglist_locked = arglist_locked;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
emsg(_(e_invalid_in_cmdline_window));
return;
}
-#endif
if (ARGCOUNT <= 0)
{
// Don't give an error message. We don't want it when the ":all"
--with-view-name=NAME what to call the View executable
--with-global-runtime=DIR global runtime directory in 'runtimepath', comma-separated for multiple directories
--with-modified-by=NAME name of who modified a release version
- --with-features=TYPE tiny, small, normal, big or huge (default: huge)
+ --with-features=TYPE tiny, normal, big or huge (default: huge)
--with-compiledby=NAME name to show in :version message
--with-lua-prefix=PFX Prefix where Lua is installed.
--with-luajit Link with LuaJIT instead of Lua.
fi
+case "$features" in
+ small) features="tiny" ;;
+esac
+
dovimdiff=""
dogvimdiff=""
case "$features" in
tiny) $as_echo "#define FEAT_TINY 1" >>confdefs.h
- ;;
- small) $as_echo "#define FEAT_SMALL 1" >>confdefs.h
;;
normal) $as_echo "#define FEAT_NORMAL 1" >>confdefs.h
dovimdiff="installvimdiff";
-if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+if test "x$features" = "xtiny"; then
has_eval=no
else
has_eval=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking diff feature" >&5
$as_echo_n "checking diff feature... " >&6; }
-if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+if test "x$features" = "xtiny"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: disabled in $features version" >&5
$as_echo "disabled in $features version" >&6; }
else
if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- as_fn_error $? "cannot use Lua with tiny or small features" "$LINENO" 5
+ as_fn_error $? "cannot use Lua with tiny features" "$LINENO" 5
fi
$as_echo "$enable_perlinterp" >&6; }
if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- as_fn_error $? "cannot use Perl with tiny or small features" "$LINENO" 5
+ as_fn_error $? "cannot use Perl with tiny features" "$LINENO" 5
fi
# Extract the first word of "perl", so it can be a program name with args.
$as_echo "$enable_pythoninterp" >&6; }
if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- as_fn_error $? "cannot use Python with tiny or small features" "$LINENO" 5
+ as_fn_error $? "cannot use Python with tiny features" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-python-command argument" >&5
$as_echo "$enable_python3interp" >&6; }
if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then
if test "$has_eval" = "no"; then
- as_fn_error $? "cannot use Python with tiny or small features" "$LINENO" 5
+ as_fn_error $? "cannot use Python with tiny features" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-python3-command argument" >&5
$as_echo "$enable_rubyinterp" >&6; }
if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- as_fn_error $? "cannot use Ruby with tiny or small features" "$LINENO" 5
+ as_fn_error $? "cannot use Ruby with tiny features" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
if test "$enable_netbeans" = "yes"; then
if test "$has_eval" = "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use NetBeans with tiny or small features" >&5
-$as_echo "cannot use NetBeans with tiny or small features" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use NetBeans with tiny features" >&5
+$as_echo "cannot use NetBeans with tiny features" >&6; }
enable_netbeans="no"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
if test "$enable_channel" = "yes"; then
if test "$has_eval" = "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use channels with tiny or small features" >&5
-$as_echo "cannot use channels with tiny or small features" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use channels with tiny features" >&5
+$as_echo "cannot use channels with tiny features" >&6; }
enable_channel="no"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
if test "$enable_terminal" = "yes" || test "$enable_terminal" = "auto" -a "x$features" = "xhuge" ; then
if test "$has_eval" = "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use terminal emulator with tiny or small features" >&5
-$as_echo "cannot use terminal emulator with tiny or small features" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use terminal emulator with tiny features" >&5
+$as_echo "cannot use terminal emulator with tiny features" >&6; }
enable_terminal="no"
else
if test "$enable_terminal" = "auto"; then
fi
else
if test "$enable_canberra" = "yes" -a "$has_eval" = "no"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use sound with tiny or small features" >&5
-$as_echo "cannot use sound with tiny or small features" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot use sound with tiny features" >&5
+$as_echo "cannot use sound with tiny features" >&6; }
enable_canberra="no"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_canberra" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: msgfmt not found - disabled" >&5
$as_echo "msgfmt not found - disabled" >&6; };
fi
- if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then
+ if test $have_gettext = "yes" -a "x$features" != "xtiny"; then
$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
MAKEMO=yes
/* Define if you want tiny features. */
#undef FEAT_TINY
-/* Define if you want small features. */
-#undef FEAT_SMALL
-
/* Define if you want normal features. */
#undef FEAT_NORMAL
dnl Check user requested features.
AC_MSG_CHECKING(--with-features argument)
-AC_ARG_WITH(features, [ --with-features=TYPE tiny, small, normal, big or huge (default: huge)],
+AC_ARG_WITH(features, [ --with-features=TYPE tiny, normal, big or huge (default: huge)],
features="$withval"; AC_MSG_RESULT($features),
features="huge"; AC_MSG_RESULT(Defaulting to huge))
+dnl "small" is supported for backwards compatibility, now an alias for "tiny"
+case "$features" in
+ small) features="tiny" ;;
+esac
+
dovimdiff=""
dogvimdiff=""
case "$features" in
tiny) AC_DEFINE(FEAT_TINY) ;;
- small) AC_DEFINE(FEAT_SMALL) ;;
normal) AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff";
dogvimdiff="installgvimdiff" ;;
big) AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff";
AC_SUBST(dovimdiff)
AC_SUBST(dogvimdiff)
-if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+if test "x$features" = "xtiny"; then
has_eval=no
else
has_eval=yes
fi
AC_MSG_CHECKING([diff feature])
-if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+if test "x$features" = "xtiny"; then
AC_MSG_RESULT([disabled in $features version])
else
AC_MSG_RESULT(enabled)
if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- AC_MSG_ERROR([cannot use Lua with tiny or small features])
+ AC_MSG_ERROR([cannot use Lua with tiny features])
fi
dnl -- find the lua executable
AC_MSG_RESULT($enable_perlinterp)
if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- AC_MSG_ERROR([cannot use Perl with tiny or small features])
+ AC_MSG_ERROR([cannot use Perl with tiny features])
fi
AC_SUBST(vi_cv_path_perl)
AC_PATH_PROG(vi_cv_path_perl, perl)
AC_MSG_RESULT($enable_pythoninterp)
if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- AC_MSG_ERROR([cannot use Python with tiny or small features])
+ AC_MSG_ERROR([cannot use Python with tiny features])
fi
dnl -- find the python executable
AC_MSG_RESULT($enable_python3interp)
if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then
if test "$has_eval" = "no"; then
- AC_MSG_ERROR([cannot use Python with tiny or small features])
+ AC_MSG_ERROR([cannot use Python with tiny features])
fi
dnl -- find the python3 executable
AC_MSG_RESULT($enable_rubyinterp)
if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
if test "$has_eval" = "no"; then
- AC_MSG_ERROR([cannot use Ruby with tiny or small features])
+ AC_MSG_ERROR([cannot use Ruby with tiny features])
fi
AC_MSG_CHECKING(--with-ruby-command argument)
, [enable_netbeans="yes"])
if test "$enable_netbeans" = "yes"; then
if test "$has_eval" = "no"; then
- AC_MSG_RESULT([cannot use NetBeans with tiny or small features])
+ AC_MSG_RESULT([cannot use NetBeans with tiny features])
enable_netbeans="no"
else
AC_MSG_RESULT(no)
, [enable_channel="yes"])
if test "$enable_channel" = "yes"; then
if test "$has_eval" = "no"; then
- AC_MSG_RESULT([cannot use channels with tiny or small features])
+ AC_MSG_RESULT([cannot use channels with tiny features])
enable_channel="no"
else
AC_MSG_RESULT(no)
, [enable_terminal="auto"])
if test "$enable_terminal" = "yes" || test "$enable_terminal" = "auto" -a "x$features" = "xhuge" ; then
if test "$has_eval" = "no"; then
- AC_MSG_RESULT([cannot use terminal emulator with tiny or small features])
+ AC_MSG_RESULT([cannot use terminal emulator with tiny features])
enable_terminal="no"
else
if test "$enable_terminal" = "auto"; then
fi
else
if test "$enable_canberra" = "yes" -a "$has_eval" = "no"; then
- AC_MSG_RESULT([cannot use sound with tiny or small features])
+ AC_MSG_RESULT([cannot use sound with tiny features])
enable_canberra="no"
else
AC_MSG_RESULT($enable_canberra)
else
AC_MSG_RESULT([msgfmt not found - disabled]);
fi
- if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then
+ if test $have_gettext = "yes" -a "x$features" != "xtiny"; then
AC_DEFINE(HAVE_GETTEXT)
MAKEMO=yes
AC_SUBST(MAKEMO)
// draw_state values for items that are drawn in sequence:
#define WL_START 0 // nothing done yet, must be zero
-#ifdef FEAT_CMDWIN
-# define WL_CMDLINE (WL_START + 1) // cmdline window column
-#else
-# define WL_CMDLINE WL_START
-#endif
+#define WL_CMDLINE (WL_START + 1) // cmdline window column
#ifdef FEAT_FOLDING
# define WL_FOLD (WL_CMDLINE + 1) // 'foldcolumn'
#else
line_attr = line_attr_save;
}
#endif
-#ifdef FEAT_CMDWIN
if (wlv.draw_state == WL_CMDLINE - 1 && wlv.n_extra == 0)
{
wlv.draw_state = WL_CMDLINE;
hl_combine_attr(wlv.wcr_attr, HL_ATTR(HLF_AT));
}
}
-#endif
#ifdef FEAT_FOLDING
if (wlv.draw_state == WL_FOLD - 1 && wlv.n_extra == 0)
{
// 1. Add the cmdwin_type for the command-line window
// Ignores 'rightleft', this window is never right-left.
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0 && wp == curwin)
{
ScreenLines[off] = cmdwin_type;
ScreenLinesUC[off] = 0;
++col;
}
-#endif
#ifdef FEAT_RIGHTLEFT
# define RL_MEMSET(p, v, l) \
// FALLTHROUGH
case Ctrl_C: // End input mode
-#ifdef FEAT_CMDWIN
if (c == Ctrl_C && cmdwin_type != 0)
{
// Close the cmdline window.
nomove = TRUE;
goto doESCkey;
}
-#endif
#ifdef FEAT_JOB_CHANNEL
if (c == Ctrl_C && bt_prompt(curbuf))
{
break;
}
#endif
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
// Execute the command in the cmdline window.
cmdwin_result = CAR;
goto doESCkey;
}
-#endif
#ifdef FEAT_JOB_CHANNEL
if (bt_prompt(curbuf))
{
EXTERN char e_backslash_should_be_followed_by[]
INIT(= N_("E10: \\ should be followed by /, ? or &"));
-#ifdef FEAT_CMDWIN
EXTERN char e_invalid_in_cmdline_window[]
INIT(= N_("E11: Invalid in command-line window; :q<CR> closes the window"));
-#endif
EXTERN char e_command_not_allowed_from_vimrc_in_current_dir_or_tag_search[]
INIT(= N_("E12: Command not allowed from exrc/vimrc in current dir or tag search"));
EXTERN char e_file_exists[]
EXTERN char e_cannot_set_language_to_str[]
INIT(= N_("E197: Cannot set language to \"%s\""));
// E198 unused
-#ifdef FEAT_CMDWIN
EXTERN char e_active_window_or_buffer_deleted[]
INIT(= N_("E199: Active window or buffer deleted"));
-#endif
EXTERN char e_readpre_autocommands_made_file_unreadable[]
INIT(= N_("E200: *ReadPre autocommands made the file unreadable"));
EXTERN char e_readpre_autocommands_must_not_change_current_buffer[]
#endif
EXTERN char e_failed_to_source_defaults[]
INIT(= N_("E1187: Failed to source defaults.vim"));
-#if defined(FEAT_TERMINAL) && defined(FEAT_CMDWIN)
+#if defined(FEAT_TERMINAL)
EXTERN char e_cannot_open_terminal_from_command_line_window[]
INIT(= N_("E1188: Cannot open a terminal from the command line window"));
#endif
EXTERN char e_invalid_argument_nr[]
INIT(= N_("E1291: Invalid argument: %ld"));
#endif
-#ifdef FEAT_CMDWIN
EXTERN char e_cmdline_window_already_open[]
INIT(= N_("E1292: Command-line window is already open"));
-#endif
#ifdef FEAT_PROP_POPUP
EXTERN char e_cannot_use_negative_id_after_adding_textprop_with_text[]
INIT(= N_("E1293: Cannot use a negative id after adding a textprop with text"));
},
{"cmdline_compl", 1},
{"cmdline_hist", 1},
- {"cmdwin",
-#ifdef FEAT_CMDWIN
- 1
-#else
- 0
-#endif
- },
+ {"cmdwin", 1},
{"comments", 1},
{"conceal",
#ifdef FEAT_CONCEAL
return;
id = tv_get_number(&argvars[0]);
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
emsg(_(e_invalid_in_cmdline_window));
return;
}
-#endif
#if defined(FEAT_PROP_POPUP) && defined(FEAT_TERMINAL)
if (popup_is_popup(curwin) && curbuf->b_term != NULL)
{
else if (WIN_IS_POPUP(wp))
rettv->vval.v_string = vim_strsave((char_u *)"popup");
#endif
-#ifdef FEAT_CMDWIN
else if (wp == curwin && cmdwin_type != 0)
rettv->vval.v_string = vim_strsave((char_u *)"command");
-#endif
#ifdef FEAT_QUICKFIX
else if (bt_quickfix(wp->w_buffer))
rettv->vval.v_string = vim_strsave((char_u *)
{
rettv->v_type = VAR_STRING;
rettv->vval.v_string = NULL;
-#ifdef FEAT_CMDWIN
rettv->vval.v_string = alloc(2);
if (rettv->vval.v_string != NULL)
{
rettv->vval.v_string[0] = cmdwin_type;
rettv->vval.v_string[1] = NUL;
}
-#endif
}
/*
if (buf != curbuf)
{
bufref_T save_au_new_curbuf;
-#ifdef FEAT_CMDWIN
int save_cmdwin_type = cmdwin_type;
// BufLeave applies to the old buffer.
cmdwin_type = 0;
-#endif
+
/*
* Be careful: The autocommands may delete any buffer and change
* the current buffer.
save_au_new_curbuf = au_new_curbuf;
set_bufref(&au_new_curbuf, buf);
apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf);
-#ifdef FEAT_CMDWIN
cmdwin_type = save_cmdwin_type;
-#endif
if (!bufref_valid(&au_new_curbuf))
{
// new buffer has been deleted
if (!IS_USER_CMDIDX(ea.cmdidx))
{
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0 && !(ea.argt & EX_CMDWIN))
{
// Command not allowed in the command line window
errormsg = _(e_invalid_in_cmdline_window);
goto doend;
}
-#endif
if (text_locked() && !(ea.argt & EX_LOCK_OK))
{
// Command not allowed when text is locked
{
win_T *wp;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
cmdwin_result = Ctrl_C;
return;
}
-#endif
// Don't quit while editing the command line.
if (text_locked())
{
static void
ex_quit_all(exarg_T *eap)
{
-# ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
if (eap->forceit)
cmdwin_result = K_XF2;
return;
}
-# endif
// Don't quit while editing the command line.
if (text_locked())
{
win_T *win;
int winnr = 0;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
cmdwin_result = Ctrl_C;
else
-#endif
if (!text_locked() && !curbuf_locked())
{
if (eap->addr_count == 0)
tabpage_T *tp;
int tab_number;
-# ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
cmdwin_result = K_IGNORE;
+ else if (first_tabpage->tp_next == NULL)
+ emsg(_(e_cannot_close_last_tab_page));
else
-# endif
- if (first_tabpage->tp_next == NULL)
- emsg(_(e_cannot_close_last_tab_page));
- else
+ {
+ tab_number = get_tabpage_arg(eap);
+ if (eap->errmsg == NULL)
{
- tab_number = get_tabpage_arg(eap);
- if (eap->errmsg == NULL)
+ tp = find_tabpage(tab_number);
+ if (tp == NULL)
{
- tp = find_tabpage(tab_number);
- if (tp == NULL)
- {
- beep_flush();
- return;
- }
- if (tp != curtab)
- {
- tabpage_close_other(tp, eap->forceit);
- return;
- }
- else if (!text_locked() && !curbuf_locked())
- tabpage_close(eap->forceit);
+ beep_flush();
+ return;
+ }
+ if (tp != curtab)
+ {
+ tabpage_close_other(tp, eap->forceit);
+ return;
}
+ else if (!text_locked() && !curbuf_locked())
+ tabpage_close(eap->forceit);
}
+ }
}
/*
int done;
int tab_number;
-# ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
cmdwin_result = K_IGNORE;
+ else if (first_tabpage->tp_next == NULL)
+ msg(_("Already only one tab page"));
else
-# endif
- if (first_tabpage->tp_next == NULL)
- msg(_("Already only one tab page"));
- else
+ {
+ tab_number = get_tabpage_arg(eap);
+ if (eap->errmsg == NULL)
{
- tab_number = get_tabpage_arg(eap);
- if (eap->errmsg == NULL)
+ goto_tabpage(tab_number);
+ // Repeat this up to a 1000 times, because autocommands may
+ // mess up the lists.
+ for (done = 0; done < 1000; ++done)
{
- goto_tabpage(tab_number);
- // Repeat this up to a 1000 times, because autocommands may
- // mess up the lists.
- for (done = 0; done < 1000; ++done)
- {
- FOR_ALL_TABPAGES(tp)
- if (tp->tp_topframe != topframe)
- {
- tabpage_close_other(tp, eap->forceit);
- // if we failed to close it quit
- if (valid_tabpage(tp))
- done = 1000;
- // start over, "tp" is now invalid
- break;
- }
- if (first_tabpage->tp_next == NULL)
+ FOR_ALL_TABPAGES(tp)
+ if (tp->tp_topframe != topframe)
+ {
+ tabpage_close_other(tp, eap->forceit);
+ // if we failed to close it quit
+ if (valid_tabpage(tp))
+ done = 1000;
+ // start over, "tp" is now invalid
break;
- }
+ }
+ if (first_tabpage->tp_next == NULL)
+ break;
}
}
+ }
}
/*
if (not_in_vim9(eap) == FAIL)
return;
#endif
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
cmdwin_result = Ctrl_C;
return;
}
-#endif
// Don't quit while editing the command line.
if (text_locked())
{
static int cmdline_paste(int regname, int literally, int remcr);
static void redrawcmdprompt(void);
static int ccheck_abbr(int);
+static int open_cmdwin(void);
#ifdef FEAT_SEARCH_EXTRA
static int empty_pattern_magic(char_u *pat, size_t len, magic_T magic_val);
#endif
-#ifdef FEAT_CMDWIN
-static int open_cmdwin(void);
-
static int cedit_key = -1; // key value of 'cedit' option
-#endif
-
static void
trigger_cmd_autocmd(int typechar, int evt)
// cmdline_handle_backslash_key()
}
-#ifdef FEAT_CMDWIN
if (c == cedit_key || c == K_CMDWIN)
{
// TODO: why is ex_normal_busy checked here?
some_key_typed = TRUE;
}
}
-# ifdef FEAT_DIGRAPHS
- else
-# endif
-#endif
#ifdef FEAT_DIGRAPHS
+ else
c = do_digraph(c);
#endif
int
text_locked(void)
{
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
return TRUE;
-#endif
return textlock != 0;
}
char *
get_text_locked_msg(void)
{
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
return e_invalid_in_cmdline_window;
-#endif
return e_not_allowed_to_change_text_or_change_window;
}
return &ccline;
}
-#if defined(FEAT_EVAL) || defined(FEAT_CMDWIN) || defined(PROTO)
/*
* Get pointer to the command line info to use. save_cmdline() may clear
* ccline and put the previous value in prev_ccline.
return &prev_ccline;
return NULL;
}
-#endif
-#if defined(FEAT_EVAL) || defined(FEAT_CMDWIN)
/*
* Get the current command-line type.
* Returns ':' or '/' or '?' or '@' or '>' or '-'
'-';
return p->cmdfirstc;
}
-#endif
#if defined(FEAT_EVAL) || defined(PROTO)
/*
return OK;
}
-#if defined(FEAT_CMDWIN) || defined(PROTO)
/*
* Check value of 'cedit' and set cedit_key.
* Returns NULL if value is OK, error message otherwise.
{
return cmdwin_type != 0 && get_cmdline_type() == NUL;
}
-#endif // FEAT_CMDWIN
/*
* Used for commands that either take a simple command string argument, or:
* Basic choices:
* ==============
*
- * +tiny almost no features enabled, not even multiple windows
- * +small as tiny plus cmdline window
- * +normal A default selection of features enabled
- * +big many features enabled, as rich as possible.
+ * +tiny no optional features enabled, not even +eval
+ * +normal a default selection of features enabled
+ * +big many features enabled, except "expensive" ones
* +huge all possible features enabled.
*
- * When +small is used, +tiny is also included. +normal implies +small, etc.
+ * When +normal is used, +tiny is also included. +big implies +normal, etc.
*/
+/*
+ * +small is now an alias for +tiny
+ */
+#if defined(FEAT_SMALL)
+# undef FEAT_SMALL
+# if !defined(FEAT_TINY)
+# define FEAT_TINY
+# endif
+#endif
+
/*
* Uncomment one of these to override the default. For unix use a configure
* argument, see Makefile.
*/
-#if !defined(FEAT_TINY) && !defined(FEAT_SMALL) && !defined(FEAT_NORMAL) \
+#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) \
&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
// #define FEAT_TINY
-// #define FEAT_SMALL
// #define FEAT_NORMAL
// #define FEAT_BIG
// #define FEAT_HUGE
* Use +big for older systems: VMS and Amiga.
* Otherwise use +normal
*/
-#if !defined(FEAT_TINY) && !defined(FEAT_SMALL) && !defined(FEAT_NORMAL) \
+#if !defined(FEAT_TINY) && !defined(FEAT_NORMAL) \
&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
# if defined(UNIX) || defined(MSWIN) || defined(MACOS_X)
# define FEAT_HUGE
# define FEAT_NORMAL
#endif
#ifdef FEAT_NORMAL
-# define FEAT_SMALL
-#endif
-#ifdef FEAT_SMALL
# define FEAT_TINY
#endif
* +wildmenu 'wildmenu' option
* +builtin_terms all builtin termcap entries included
* +float Floating point variables.
+ * +cmdwin Command line window.
*
* Obsolete:
* +tag_old_static Old style static tags: "file:tag file ..".
*/
#define MAX_MSG_HIST_LEN 200
-#if defined(FEAT_SMALL)
-# define FEAT_CMDWIN
-#endif
-
/*
* +folding Fold lines.
*/
# define FEAT_DND
#endif
-#if defined(FEAT_GUI_MSWIN) && defined(FEAT_SMALL)
+#if defined(FEAT_GUI_MSWIN)
# define MSWIN_FIND_REPLACE // include code for find/replace dialog
# define MSWIN_FR_BUFSIZE 256
#endif
if (ex_normal_busy > 0)
{
-#ifdef FEAT_CMDWIN
static int tc = 0;
-#endif
// No typeahead left and inside ":normal". Must return
// something to avoid getting stuck. When an incomplete
c = K_CANCEL;
#endif
else if ((State & MODE_CMDLINE)
-#ifdef FEAT_CMDWIN
- || (cmdwin_type > 0 && tc == ESC)
-#endif
- )
+ || (cmdwin_type > 0 && tc == ESC))
c = Ctrl_C;
else
c = ESC;
-#ifdef FEAT_CMDWIN
tc = c;
-#endif
// set a flag to indicate this wasn't a normal char
if (advance)
typebuf_was_empty = TRUE;
EXTERN int km_stopsel INIT(= FALSE);
EXTERN int km_startsel INIT(= FALSE);
-#ifdef FEAT_CMDWIN
EXTERN int cmdwin_type INIT(= 0); // type of cmdline window or 0
EXTERN int cmdwin_result INIT(= 0); // result of cmdline window or 0
-#endif
EXTERN char_u no_lines_msg[] INIT(= N_("--No lines in buffer--"));
// overrules p_magic. Otherwise set to OPTION_MAGIC_NOT_SET.
EXTERN optmagic_T magic_overruled INIT(= OPTION_MAGIC_NOT_SET);
-#ifdef FEAT_CMDWIN
// Skip win_fix_cursor() call for 'splitkeep' when cmdwin is closed.
EXTERN int skip_win_fix_cursor INIT(= FALSE);
-#endif
// Skip win_fix_scroll() call for 'splitkeep' when closing tab page.
EXTERN int skip_win_fix_scroll INIT(= FALSE);
// Skip update_topline() call while executing win_fix_scroll().
return FALSE;
// Don't put events in the input queue now.
- if (hold_gui_events
-# ifdef FEAT_CMDWIN
- || cmdwin_type != 0
-# endif
- )
+ if (hold_gui_events || cmdwin_type != 0)
{
// Set it back to the current tab page.
gui_mch_set_curtab(tabpage_index(curtab));
if (hold_gui_events)
return;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0 && sb->wp != curwin)
return;
-#endif
if (still_dragging)
{
// When ignoring events return TRUE so that the selected page doesn't
// change.
- if (hold_gui_events
-# ifdef FEAT_CMDWIN
- || cmdwin_type != 0
-# endif
- )
+ if (hold_gui_events || cmdwin_type != 0)
return TRUE;
tabwin = gui_gtk_window_at_position(gui.mainwin, &x, &y);
return;
}
+ if (event->button == Button2)
+ {
+ // Middle mouse click on tabpage label closes that tab.
+ XtVaGetValues(tabLine_menu, XmNuserData, &tab_idx, NULL);
+ send_tabline_menu_event(tab_idx, (int)TABLINE_MENU_CLOSE);
+ return;
+ }
+
if (event->button != Button3)
return;
// When ignoring events don't show the menu.
- if (hold_gui_events
-# ifdef FEAT_CMDWIN
- || cmdwin_type != 0
-# endif
- )
+ if (hold_gui_events || cmdwin_type != 0)
return;
if (event->subwindow != None)
POINT pt;
// When ignoring events don't show the menu.
- if (hold_gui_events
-# ifdef FEAT_CMDWIN
- || cmdwin_type != 0
-# endif
- )
+ if (hold_gui_events || cmdwin_type != 0)
return;
tab_pmenu = CreatePopupMenu();
* 1. Memory, allocated with scheme_malloc*, need not to be freed explicitly,
* garbage collector will do it self
* 2. Requires at least NORMAL features. I can't imagine why one may want
- * to build with SMALL or TINY features but with MzScheme interface.
+ * to build with TINY features but with MzScheme interface.
* 3. I don't use K&R-style functions. Anyways, MzScheme headers are ANSI.
*/
showmode();
}
-#ifdef FEAT_CMDWIN
if (c == Ctrl_C && cmdwin_type != 0)
// Avoid the popup menu remains displayed when leaving the
// command line window.
update_screen(0);
-#endif
// Indent now if a key was typed that is in 'cinkeys'.
if (want_cindent && in_cinkeys(KEY_COMPLETE, ' ', inindent(0)))
do_c_expr_indent();
#endif
clear_oparg(&oa);
- while (!cmdwin
-#ifdef FEAT_CMDWIN
- || cmdwin_result == 0
-#endif
- )
+ while (!cmdwin || cmdwin_result == 0)
{
if (stuff_empty())
{
#endif
}
-#if defined(MSWIN) || defined(FEAT_CMDWIN) || defined(MACOS_X) \
- || defined(PROTO)
/*
* Add a mapping "map" for mode "mode".
* When "nore" is TRUE use MAPTYPE_NOREMAP.
}
p_cpo = cpo_save;
}
-#endif
#if defined(FEAT_LANGMAP) || defined(PROTO)
/*
{
c1 = TabPageIdxs[mouse_col];
tabpage_move(c1 <= 0 ? 9999 : c1 < tabpage_index(curtab)
- ? c1 - 1 : c1);
+ ? c1 - 1 : c1);
}
return FALSE;
}
// click in a tab selects that tab page
- if (is_click
-# ifdef FEAT_CMDWIN
- && cmdwin_type == 0
-# endif
- && mouse_col < Columns)
+ if (is_click && cmdwin_type == 0 && mouse_col < Columns)
{
in_tab_line = TRUE;
c1 = TabPageIdxs[mouse_col];
}
#endif
-#if defined(FEAT_CLIPBOARD) && defined(FEAT_CMDWIN)
+#if defined(FEAT_CLIPBOARD)
if ((jump_flags & IN_OTHER_WIN) && !VIsual_active && clip_star.available)
{
clip_modeless(which_button, is_click, is_drag);
end_visual_mode_keep_button();
redraw_curbuf_later(UPD_INVERTED); // delete the inversion
}
-#if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
+#if defined(FEAT_CLIPBOARD)
// Continue a modeless selection in another window.
if (cmdwin_type != 0 && row < curwin->w_winrow)
return IN_OTHER_WIN;
# ifdef FEAT_RIGHTLEFT
wp->w_p_rl ? col < wp->w_width - wp->w_p_fdc :
# endif
- col >= wp->w_p_fdc
-# ifdef FEAT_CMDWIN
- + (cmdwin_type == 0 && wp == curwin ? 0 : 1)
-# endif
+ col >= wp->w_p_fdc + (cmdwin_type == 0 && wp == curwin ? 0 : 1)
)
#endif
&& (flags & MOUSE_MAY_STOP_VIS))))
end_visual_mode_keep_button();
redraw_curbuf_later(UPD_INVERTED); // delete the inversion
}
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0 && wp != curwin)
{
// A click outside the command-line window: Use modeless
wp = curwin;
# endif
}
-#endif
#if defined(FEAT_PROP_POPUP) && defined(FEAT_TERMINAL)
if (popup_is_popup(curwin) && curbuf->b_term != NULL)
// terminal in popup window: don't jump to another window
redraw_curbuf_later(UPD_INVERTED); // delete the inversion
}
-#if defined(FEAT_CMDWIN) && defined(FEAT_CLIPBOARD)
+#if defined(FEAT_CLIPBOARD)
// Continue a modeless selection in another window.
if (cmdwin_type != 0 && row < curwin->w_winrow)
return IN_OTHER_WIN;
# ifdef FEAT_RIGHTLEFT
curwin->w_p_rl ? col < curwin->w_width - curwin->w_p_fdc :
# endif
- col >= curwin->w_p_fdc
-# ifdef FEAT_CMDWIN
- + (cmdwin_type == 0 ? 0 : 1)
-# endif
+ col >= curwin->w_p_fdc + (cmdwin_type == 0 ? 0 : 1)
)
mouse_char = ' ';
#endif
win_col_off(win_T *wp)
{
return (((wp->w_p_nu || wp->w_p_rnu) ? number_width(wp) + 1 : 0)
-#ifdef FEAT_CMDWIN
+ (cmdwin_type == 0 || wp != curwin ? 0 : 1)
-#endif
#ifdef FEAT_FOLDING
+ wp->w_p_fdc
#endif
#endif
else
{
-#ifdef FEAT_CMDWIN
// In the cmdline window a <CR> executes the command.
if (cmdwin_type != 0 && cap->cmdchar == CAR)
cmdwin_result = CAR;
else
-#endif
#ifdef FEAT_JOB_CHANNEL
// In a prompt buffer a <CR> in the last line invokes the callback.
if (bt_prompt(curbuf) && cap->cmdchar == CAR
if (restart_edit != 0 && mode_displayed)
clear_cmdline = TRUE; // unshow mode later
restart_edit = 0;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
cmdwin_result = Ctrl_C;
-#endif
if (VIsual_active)
{
end_visual_mode(); // stop Visual
if (cap->arg) // TRUE for CTRL-C
{
- if (restart_edit == 0
-#ifdef FEAT_CMDWIN
- && cmdwin_type == 0
-#endif
- && !VIsual_active
- && no_reason)
+ if (restart_edit == 0 && cmdwin_type == 0
+ && !VIsual_active && no_reason)
{
int out_redir = !stdout_isatty && !is_not_a_term_or_gui();
// set again below when halfway a mapping.
if (!p_im)
restart_edit = 0;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
cmdwin_result = K_IGNORE;
got_int = FALSE; // don't stop executing autocommands et al.
return;
}
-#endif
}
-#ifdef FEAT_CMDWIN
else if (cmdwin_type != 0 && ex_normal_busy && typebuf_was_empty)
{
// When :normal runs out of characters while in the command line window
cmdwin_result = K_IGNORE;
return;
}
-#endif
if (VIsual_active)
{
}
else if (!checkclearop(cap->oap))
{
-#ifdef FEAT_CMDWIN
if (cap->nchar == ':' || cap->nchar == '/' || cap->nchar == '?')
{
if (cmdwin_type != 0)
stuffcharReadbuff(K_CMDWIN);
}
else
-#endif
// (stop) recording into a named register, unless executing a
// register
if (reg_executing == 0 && do_record(cap->nchar) == FAIL)
(void)compile_cap_prog(curwin->w_s);
(void)did_set_spell_option(TRUE);
#endif
-#ifdef FEAT_CMDWIN
// set cedit_key
(void)check_cedit();
-#endif
#ifdef FEAT_LINEBREAK
// initialize the table for 'breakat'.
fill_breakat_flags();
errmsg = e_argument_must_be_positive;
p_siso = 0;
}
-#ifdef FEAT_CMDWIN
if (p_cwh < 1)
{
errmsg = e_argument_must_be_positive;
p_cwh = 1;
}
-#endif
if (p_ut < 0)
{
errmsg = e_argument_must_be_positive;
#endif
EXTERN int p_cdh; // 'cdhome'
EXTERN char_u *p_cino; // 'cinoptions'
-#ifdef FEAT_CMDWIN
EXTERN char_u *p_cedit; // 'cedit'
EXTERN long p_cwh; // 'cmdwinheight'
-#endif
#ifdef FEAT_CLIPBOARD
EXTERN char_u *p_cb; // 'clipboard'
#endif
{(char_u *)",,", (char_u *)0L}
SCTX_INIT},
{"cedit", NULL, P_STRING,
-#ifdef FEAT_CMDWIN
(char_u *)&p_cedit, PV_NONE,
{(char_u *)"", (char_u *)CTRL_F_STR}
-#else
- (char_u *)NULL, PV_NONE,
- {(char_u *)0L, (char_u *)0L}
-#endif
SCTX_INIT},
{"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE,
#if defined(FEAT_EVAL)
(char_u *)&p_ch, PV_NONE,
{(char_u *)1L, (char_u *)0L} SCTX_INIT},
{"cmdwinheight", "cwh", P_NUM|P_VI_DEF,
-#ifdef FEAT_CMDWIN
(char_u *)&p_cwh, PV_NONE,
-#else
- (char_u *)NULL, PV_NONE,
-#endif
{(char_u *)7L, (char_u *)0L} SCTX_INIT},
{"colorcolumn", "cc", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP|P_RWIN,
#ifdef FEAT_SYN_HL
errmsg = set_chars_option(curwin, varp, TRUE);
}
-#ifdef FEAT_CMDWIN
// 'cedit'
else if (varp == &p_cedit)
{
errmsg = check_cedit();
}
-#endif
// 'verbosefile'
else if (varp == &p_vfile)
if (check_restricted() || check_secure())
return NULL;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
emsg(_(e_cannot_open_terminal_from_command_line_window));
return NULL;
}
-#endif
if ((opt->jo_set & (JO_IN_IO + JO_OUT_IO + JO_ERR_IO))
== (JO_IN_IO + JO_OUT_IO + JO_ERR_IO)
# File to delete when testing starts
CLEANUP_FILES = test.log messages starttime
-# Tests for tiny and small builds.
+# Tests for tiny build.
SCRIPTS_TINY = \
test10 \
test20 \
// The width is the window width minus 'wrapmargin' minus all the
// things that add to the margin.
textwidth = curwin->w_width - curbuf->b_p_wm;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
textwidth -= 1;
-#endif
#ifdef FEAT_FOLDING
textwidth -= curwin->w_p_fdc;
#endif
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 657,
/**/
656,
/**/
msg_puts(_("\nBig version "));
#elif defined(FEAT_NORMAL)
msg_puts(_("\nNormal version "));
-#elif defined(FEAT_SMALL)
- msg_puts(_("\nSmall version "));
#else
msg_puts(_("\nTiny version "));
#endif
/*
* #defines for optionals and features
- * Also defines FEAT_TINY, FEAT_SMALL, etc. when FEAT_HUGE is defined.
+ * Also defines FEAT_TINY, FEAT_NORMAL, etc. when FEAT_HUGE is defined.
*/
#include "feature.h"
-#if defined(MACOS_X_DARWIN)
-# if defined(FEAT_SMALL) && !defined(FEAT_CLIPBOARD)
-# define FEAT_CLIPBOARD
-# endif
+#if defined(MACOS_X_DARWIN) && !defined(FEAT_CLIPBOARD)
+# define FEAT_CLIPBOARD
#endif
// +x11 is only enabled when it's both available and wanted.
win_T *
prevwin_curwin(void)
{
- return
-#ifdef FEAT_CMDWIN
- // In cmdwin, the alternative buffer should be used.
- is_in_cmdwin() && prevwin != NULL ? prevwin :
-#endif
- curwin;
+ // In cmdwin, the alternative buffer should be used.
+ return is_in_cmdwin() && prevwin != NULL ? prevwin : curwin;
}
/*
if (ERROR_IF_ANY_POPUP_WINDOW)
return;
-#ifdef FEAT_CMDWIN
-# define CHECK_CMDWIN \
+#define CHECK_CMDWIN \
do { \
if (cmdwin_type != 0) \
{ \
return; \
} \
} while (0)
-#else
-# define CHECK_CMDWIN do { /**/ } while (0)
-#endif
Prenum1 = Prenum == 0 ? 1 : Prenum;
{
int dummy;
-#ifdef FEAT_CMDWIN
// avoid an error for switching tabpage with the cmdline window open
cmdwin_type = 0;
-#endif
+
while (first_tabpage->tp_next != NULL)
tabpage_close(TRUE);
tabpage_T *newtp;
int n;
-#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
{
emsg(_(e_invalid_in_cmdline_window));
return FAIL;
}
-#endif
newtp = alloc_tabpage();
if (newtp == NULL)
#endif
}
-#if defined(FEAT_CMDWIN) || defined(PROTO)
/*
* Save the size of all windows in "gap".
*/
(void)win_comp_pos();
}
}
-#endif // FEAT_CMDWIN
/*
* Update the position for all windows, using the width and height of the
if (wp->w_buffer->b_ml.ml_line_count < wp->w_height)
return;
-#ifdef FEAT_CMDWIN
if (skip_win_fix_cursor)
return;
-#endif
+
// Determine valid cursor range.
so = MIN(wp->w_height / 2, so);
wp->w_cursor.lnum = wp->w_topline;