nano

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

commit 8fccb314365de5596b0fd4dae090c0c032056ab2
parent 89bb88e4f572cb64963d12b2f8b17b0e29ec18e1
Author: Benno Schulenberg <bensberg@telfort.nl>
Date:   Wed, 16 Feb 2022 15:29:35 +0100

linter: adjust the parsing to accommodate for a modern 'pyflakes'

In version 2.2.0, pyflakes changed its output format,
from 'filename:line: text' to 'filename:line:column text'.

This fixes https://savannah.gnu.org/bugs/?62057.

Problem existed since version 2.9.0, commit 5dcf375f.

(That commit tried to compensate for an introductory message from gcc
that no longer seems to exist.)

Diffstat:
Msrc/text.c | 7+++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/text.c b/src/text.c @@ -2652,10 +2652,9 @@ void do_linter(void) /* The recognized format is "filename:line:column: message", * where ":column" may be absent or be ",column" instead. */ - if (strstr(message, ": ") != NULL) { - filename = strtok(onelint, ":"); + if ((filename = strtok(onelint, ":")) != NULL) { if ((linestr = strtok(NULL, ":")) != NULL) { - if ((maybecol = strtok(NULL, ":")) != NULL) { + if ((maybecol = strtok(NULL, " ")) != NULL) { ssize_t tmplineno = 0, tmpcolno = 0; char *tmplinecol; @@ -2684,7 +2683,7 @@ void do_linter(void) curlint->prev = tmplint; if (curlint->prev != NULL) curlint->prev->next = curlint; - curlint->msg = copy_of(strstr(message, ": ") + 2); + curlint->msg = copy_of(strstr(message, " ") + 1); curlint->lineno = tmplineno; curlint->colno = tmpcolno; curlint->filename = copy_of(filename);