Now, it uses "g_coord" to display the cursor.
For prompt it must be given a log of line numbers.
Currently, the console is rewinding, the log is broken.
It was modified to give the correct line number.
Now it will not be broken.
I have always helped in your work.
--------
Thanks.
Nobuhiro Takasaki
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/os_win32.c b/src/os_win32.c
index 7695e93..94571ad 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -228,6 +228,8 @@ static int win32_getattrs(char_u *name);
static int win32_setattrs(char_u *name, int attrs);
static int win32_set_archive(char_u *name);
+static void set_console_cursor_position(void);
+
#ifndef FEAT_GUI_W32
static int suppress_winsize = 1; /* don't fiddle with console */
#endif
@@ -1392,7 +1394,7 @@ mch_set_cursor_shape(int thickness)
SetConsoleCursorInfo(g_hConOut, &ConsoleCursorInfo);
if (s_cursor_visible)
- SetConsoleCursorPosition(g_hConOut, g_coord);
+ set_console_cursor_position();
}
void
@@ -6702,3 +6704,12 @@ fix_arg_enc(void)
set_alist_count();
}
#endif
+
+ static void
+set_console_cursor_position(void)
+{
+ CONSOLE_SCREEN_BUFFER_INFO i;
+
+ GetConsoleScreenBufferInfo(g_cbNonTermcap.handle, &i);
+ SetConsoleCursorPosition(g_hConOut, i.dwCursorPosition);
+}