patch 8.2.1901: variable completion does not work in command line window
Problem: Variable completion does not work in command line window.
Solution: Use the "prevwin". (closes #7198)
diff --git a/src/evalvars.c b/src/evalvars.c
index 1f418ae..a5db6e9 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1981,7 +1981,13 @@
}
// b: variables
- ht = &curbuf->b_vars->dv_hashtab;
+ ht =
+#ifdef FEAT_CMDWIN
+ // In cmdwin, the alternative buffer should be used.
+ (cmdwin_type != 0 && get_cmdline_type() == NUL) ?
+ &prevwin->w_buffer->b_vars->dv_hashtab :
+#endif
+ &curbuf->b_vars->dv_hashtab;
if (bdone < ht->ht_used)
{
if (bdone++ == 0)
@@ -1994,7 +2000,13 @@
}
// w: variables
- ht = &curwin->w_vars->dv_hashtab;
+ ht =
+#ifdef FEAT_CMDWIN
+ // In cmdwin, the alternative window should be used.
+ (cmdwin_type != 0 && get_cmdline_type() == NUL) ?
+ &prevwin->w_vars->dv_hashtab :
+#endif
+ &curwin->w_vars->dv_hashtab;
if (wdone < ht->ht_used)
{
if (wdone++ == 0)