commit c24545fe9aa52da28252e5ad420bbffd0b14a12a parent 8fbadecf0a332dc2c4382b4a4d3eb86d98e0bce9 Author: David Lawrence Ramsey <address@hidden> Date: Thu, 9 Feb 2017 10:20:04 -0600 tweaks: always directly do a refresh when the margin changes The previous code only directly refreshed the screen when the margin changed due to toggling line numbering on. When the margin changed due to toggling it off, it would indirectly refresh via do_toggle(). Diffstat:
M | src/nano.c | | | 24 | +++++++++--------------- |
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/src/nano.c b/src/nano.c @@ -1384,9 +1384,6 @@ void do_toggle(int flag) #ifndef DISABLE_COLOR case NO_COLOR_SYNTAX: #endif -#ifdef ENABLE_LINENUMBERS - case LINE_NUMBERS: -#endif case SOFTWRAP: refresh_needed = TRUE; break; @@ -2646,19 +2643,16 @@ int main(int argc, char **argv) int needed_margin = digits(openfile->filebot->lineno) + 1; /* Only enable line numbers when there is enough room for them. */ - if (ISSET(LINE_NUMBERS) && needed_margin < COLS - 3) { - if (needed_margin != margin) { - margin = needed_margin; - editwincols = COLS - margin; - /* The margin has changed -- schedule a full refresh. */ - refresh_needed = TRUE; - } - } else -#endif - { - margin = 0; - editwincols = COLS; + if (!ISSET(LINE_NUMBERS) || needed_margin > COLS - 4) + needed_margin = 0; + + if (needed_margin != margin) { + margin = needed_margin; + editwincols = COLS - margin; + /* The margin has changed -- schedule a full refresh. */ + refresh_needed = TRUE; } +#endif if (currmenu != MMAIN) display_main_list();