nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit c9f743f6766e06a73b0152b37b983b501d6c7242
parent bd920b1f4964709f0e0800babb167e5d9a5a82e2
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Fri,  9 Dec 2016 11:51:41 -0600

tweaks: elide two unneeded variables from line numbering mode

Instead compute directly whether we're at a softwrapped part or not.

Diffstat:
Msrc/global.c | 6------
Msrc/proto.h | 4----
Msrc/winio.c | 12+++++-------
3 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/src/global.c b/src/global.c @@ -49,12 +49,6 @@ int margin = 0; /* The amount of space reserved at the left for line numbers. */ int editwincols = -1; /* The number of usable columns in the edit window: COLS - margin. */ -#ifdef ENABLE_LINENUMBERS -int last_drawn_line = 0; - /* The line number of the last drawn line. */ -int last_line_y; - /* The y coordinate of the last drawn line. */ -#endif message_type lastmessage = HUSH; /* Messages of type HUSH should not overwrite type MILD nor ALERT. */ diff --git a/src/proto.h b/src/proto.h @@ -40,10 +40,6 @@ extern bool focusing; extern int margin; extern int editwincols; -#ifdef ENABLE_LINENUMBERS -extern int last_drawn_line; -extern int last_line_y; -#endif extern message_type lastmessage; diff --git a/src/winio.c b/src/winio.c @@ -2322,10 +2322,12 @@ void edit_draw(filestruct *fileptr, const char *converted, int * the text -- but only for the parts that are not softwrapped. */ if (margin > 0) { wattron(edit, interface_color_pair[LINE_NUMBER]); - if (last_drawn_line != fileptr->lineno || last_line_y >= line) - mvwprintw(edit, line, 0, "%*ld", margin - 1, (long)fileptr->lineno); - else +#ifndef NANO_TINY + if (ISSET(SOFTWRAP) && (startpos / editwincols > 0)) mvwprintw(edit, line, 0, "%*s", margin - 1, " "); + else +#endif + mvwprintw(edit, line, 0, "%*ld", margin - 1, (long)fileptr->lineno); wattroff(edit, interface_color_pair[LINE_NUMBER]); } #endif @@ -2693,10 +2695,6 @@ void edit_draw(filestruct *fileptr, const char *converted, int } } #endif /* !NANO_TINY */ -#ifdef ENABLE_LINENUMBERS - last_drawn_line = fileptr->lineno; - last_line_y = line; -#endif } /* Just update one line in the edit buffer. This is basically a wrapper