Mercurial > vim
changeset 32619:76b147a4ea40 v9.0.1641
patch 9.0.1641: the log file does not give information about window sizes
Commit: https://github.com/vim/vim/commit/55f1b822d8516a5afa42c9e5ac980f2395c70ad0
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 21 13:42:48 2023 +0100
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 21 Jun 2023 14:45:07 +0200 |
parents | bb5377777679 |
children | 2cbad13937d5 |
files | src/os_unix.c src/version.c |
diffstat | 2 files changed, 21 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os_unix.c +++ b/src/os_unix.c @@ -444,7 +444,10 @@ resize_func(int check_only) 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 @@ mch_get_shellsize(void) { 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 @@ mch_get_shellsize(void) { 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 @@ mch_get_shellsize(void) 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 @@ mch_get_shellsize(void) * 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 @@ mch_report_winsize(int fd, int rows, int 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 @@ select_eintr: // 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