patch 9.0.1641: the log file does not give information about window sizes
Problem: The log file does not give information about window sizes.
Solution: Add a few log messages about obtaining the window size.
diff --git a/src/os_unix.c b/src/os_unix.c
index 47073ba..861ff6c 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -444,7 +444,10 @@
if (check_only)
return do_resize;
while (do_resize)
+ {
+ ch_log(NULL, "calling handle_resize() in resize_func()");
handle_resize();
+ }
return FALSE;
}
@@ -4166,6 +4169,7 @@
{
columns = ws.ws_col;
rows = ws.ws_row;
+ ch_log(NULL, "Got size with TIOCGWINSZ: %ld x %ld", columns, rows);
}
}
# else // TIOCGWINSZ
@@ -4181,6 +4185,7 @@
{
columns = ts.ts_cols;
rows = ts.ts_lines;
+ ch_log(NULL, "Got size with TIOCGSIZE: %ld x %ld", columns, rows);
}
}
# endif // TIOCGSIZE
@@ -4194,9 +4199,15 @@
if (columns == 0 || rows == 0 || vim_strchr(p_cpo, CPO_TSIZE) != NULL)
{
if ((p = (char_u *)getenv("LINES")))
+ {
rows = atoi((char *)p);
+ ch_log(NULL, "Got 'lines' from $LINES: %ld", rows);
+ }
if ((p = (char_u *)getenv("COLUMNS")))
+ {
columns = atoi((char *)p);
+ ch_log(NULL, "Got 'columns' from $COLUMNS: %ld", columns);
+ }
}
#ifdef HAVE_TGETENT
@@ -4204,7 +4215,10 @@
* 3. try reading "co" and "li" entries from termcap
*/
if (columns == 0 || rows == 0)
+ {
getlinecol(&columns, &rows);
+ ch_log(NULL, "Got size from termcap: %ld x %ld", columns, rows);
+ }
#endif
/*
@@ -4241,16 +4255,14 @@
ws.ws_xpixel = cols * 5;
ws.ws_ypixel = rows * 10;
retval = ioctl(tty_fd, TIOCSWINSZ, &ws);
- ch_log(NULL, "ioctl(TIOCSWINSZ) %s",
- retval == 0 ? "success" : "failed");
+ ch_log(NULL, "ioctl(TIOCSWINSZ) %s", retval == 0 ? "success" : "failed");
# elif defined(TIOCSSIZE)
struct ttysize ts;
ts.ts_cols = cols;
ts.ts_lines = rows;
retval = ioctl(tty_fd, TIOCSSIZE, &ts);
- ch_log(NULL, "ioctl(TIOCSSIZE) %s",
- retval == 0 ? "success" : "failed");
+ ch_log(NULL, "ioctl(TIOCSSIZE) %s", retval == 0 ? "success" : "failed");
# endif
if (tty_fd != fd)
close(tty_fd);
@@ -6506,7 +6518,10 @@
// Check whether window has been resized, EINTR may be caused by
// SIGWINCH.
if (do_resize)
+ {
+ ch_log(NULL, "calling handle_resize() in RealWaitForChar()");
handle_resize();
+ }
// Interrupted by a signal, need to try again. We ignore msec
// here, because we do want to check even after a timeout if
diff --git a/src/version.c b/src/version.c
index a0f39f8..08762fd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1641,
+/**/
1640,
/**/
1639,