updated for version 7.0186
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 0926e9b..8a7999f 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1608,8 +1608,7 @@
return OK;
}
-#if defined(FEAT_QUICKFIX) || (defined(FEAT_SYN_HL) && defined(FEAT_MBYTE)) \
- || defined(PROTO)
+#if defined(FEAT_QUICKFIX) || defined(FEAT_SYN_HL) || defined(PROTO)
/*
* Parse a list of arguments (file names), expand them and return in
* "fnames[fcountp]".
diff --git a/src/option.c b/src/option.c
index 33a7db5..b7f1cf0 100644
--- a/src/option.c
+++ b/src/option.c
@@ -6743,7 +6743,7 @@
{
need_start_insertmode = FALSE;
stop_insert_mode = TRUE;
- if (p_smd && restart_edit != 0)
+ if (p_smd && msg_silent == 0 && restart_edit != 0)
clear_cmdline = TRUE; /* remove "(insert)" */
restart_edit = 0;
}
diff --git a/src/popupmenu.c b/src/popupmenu.c
index acc111e..a129d14 100644
--- a/src/popupmenu.c
+++ b/src/popupmenu.c
@@ -240,12 +240,14 @@
if (pum_first > pum_selected - 4)
{
/* scroll down; when we did a jump it's probably a PageUp then
- * scroll to put the selected entry at the bottom */
+ * scroll a whole page */
if (pum_first > pum_selected - 2)
{
- pum_first = pum_selected - pum_height + 1;
+ pum_first -= pum_height - 2;
if (pum_first < 0)
pum_first = 0;
+ else if (pum_first > pum_selected)
+ pum_first = pum_selected;
}
else
pum_first = pum_selected;
@@ -253,9 +255,13 @@
else if (pum_first < pum_selected - pum_height + 5)
{
/* scroll up; when we did a jump it's probably a PageDown then
- * scroll to put the selected entry at the top */
+ * scroll a whole page */
if (pum_first < pum_selected - pum_height + 1 + 2)
- pum_first = pum_selected;
+ {
+ pum_first += pum_height - 2;
+ if (pum_first < pum_selected - pum_height + 1)
+ pum_first = pum_selected - pum_height + 1;
+ }
else
pum_first = pum_selected - pum_height + 1;
}
diff --git a/src/screen.c b/src/screen.c
index c067d92..4657566 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -8174,7 +8174,9 @@
int sub_attr;
#endif
- do_mode = (p_smd && ((State & INSERT) || restart_edit
+ do_mode = ((p_smd && msg_silent == 0)
+ && ((State & INSERT)
+ || restart_edit
#ifdef FEAT_VISUAL
|| VIsual_active
#endif
diff --git a/src/ui.c b/src/ui.c
index ba5911f..0ee61c2 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -2757,7 +2757,7 @@
/* if 'selectmode' contains "mouse", start Select mode */
may_start_select('o');
setmouse();
- if (p_smd)
+ if (p_smd && msg_silent == 0)
redraw_cmdline = TRUE; /* show visual mode later */
}
#endif
diff --git a/src/version.h b/src/version.h
index e22cb38..3d42437 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 22)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 22, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 23)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2006 Jan 23, compiled "