Module Name: src Committed By: rillig Date: Sun Dec 3 21:03:58 UTC 2023
Modified Files: src/usr.bin/indent: indent.c indent.h io.c lexi.c pr_comment.c Log Message: indent: use line number of the token start in diagnostics Previously, the line number of the end of the token was used, which was confusing in debug mode. To generate a diff of this commit: cvs rdiff -u -r1.387 -r1.388 src/usr.bin/indent/indent.c cvs rdiff -u -r1.204 -r1.205 src/usr.bin/indent/indent.h cvs rdiff -u -r1.232 -r1.233 src/usr.bin/indent/io.c cvs rdiff -u -r1.240 -r1.241 src/usr.bin/indent/lexi.c cvs rdiff -u -r1.171 -r1.172 src/usr.bin/indent/pr_comment.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/indent/indent.c diff -u src/usr.bin/indent/indent.c:1.387 src/usr.bin/indent/indent.c:1.388 --- src/usr.bin/indent/indent.c:1.387 Tue Jun 27 04:41:23 2023 +++ src/usr.bin/indent/indent.c Sun Dec 3 21:03:58 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.c,v 1.387 2023/06/27 04:41:23 rillig Exp $ */ +/* $NetBSD: indent.c,v 1.388 2023/12/03 21:03:58 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: indent.c,v 1.387 2023/06/27 04:41:23 rillig Exp $"); +__RCSID("$NetBSD: indent.c,v 1.388 2023/12/03 21:03:58 rillig Exp $"); #include <sys/param.h> #include <err.h> @@ -80,7 +80,6 @@ struct buffer com; bool found_err; bool had_eof; -int line_no = 1; static struct { struct parser_state *item; @@ -158,7 +157,7 @@ diag(int level, const char *msg, ...) va_start(ap, msg); fprintf(stderr, "%s: %s:%d: ", - level == 0 ? "warning" : "error", in_name, line_no); + level == 0 ? "warning" : "error", in_name, token_start_line_no); vfprintf(stderr, msg, ap); fprintf(stderr, "\n"); va_end(ap); @@ -580,7 +579,7 @@ process_newline(void) output_line(); stay_in_line: - line_no++; + token_end_line_no++; } static bool @@ -1109,7 +1108,8 @@ indent(void) lexer_symbol lsym = lexi(); debug_blank_line(); - debug_printf("line %d: %s", line_no, lsym_name[lsym]); + debug_printf("line %d: %s", + token_start_line_no, lsym_name[lsym]); debug_print_buf("token", &token); debug_buffers(); debug_blank_line(); Index: src/usr.bin/indent/indent.h diff -u src/usr.bin/indent/indent.h:1.204 src/usr.bin/indent/indent.h:1.205 --- src/usr.bin/indent/indent.h:1.204 Mon Jun 26 20:03:09 2023 +++ src/usr.bin/indent/indent.h Sun Dec 3 21:03:58 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.h,v 1.204 2023/06/26 20:03:09 rillig Exp $ */ +/* $NetBSD: indent.h,v 1.205 2023/12/03 21:03:58 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD @@ -249,7 +249,8 @@ extern struct options { extern bool found_err; extern bool had_eof; /* whether input is exhausted */ -extern int line_no; /* the current input line number */ +extern int token_start_line_no; +extern int token_end_line_no; extern enum indent_enabled { indent_on, indent_off, Index: src/usr.bin/indent/io.c diff -u src/usr.bin/indent/io.c:1.232 src/usr.bin/indent/io.c:1.233 --- src/usr.bin/indent/io.c:1.232 Tue Jun 27 04:41:23 2023 +++ src/usr.bin/indent/io.c Sun Dec 3 21:03:58 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: io.c,v 1.232 2023/06/27 04:41:23 rillig Exp $ */ +/* $NetBSD: io.c,v 1.233 2023/12/03 21:03:58 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: io.c,v 1.232 2023/06/27 04:41:23 rillig Exp $"); +__RCSID("$NetBSD: io.c,v 1.233 2023/12/03 21:03:58 rillig Exp $"); #include <stdio.h> @@ -46,6 +46,8 @@ __RCSID("$NetBSD: io.c,v 1.232 2023/06/2 struct buffer inp; const char *inp_p; +int token_start_line_no; +int token_end_line_no = 1; struct output_state out; enum indent_enabled indent_enabled; Index: src/usr.bin/indent/lexi.c diff -u src/usr.bin/indent/lexi.c:1.240 src/usr.bin/indent/lexi.c:1.241 --- src/usr.bin/indent/lexi.c:1.240 Sun Dec 3 20:42:31 2023 +++ src/usr.bin/indent/lexi.c Sun Dec 3 21:03:58 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: lexi.c,v 1.240 2023/12/03 20:42:31 rillig Exp $ */ +/* $NetBSD: lexi.c,v 1.241 2023/12/03 21:03:58 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: lexi.c,v 1.240 2023/12/03 20:42:31 rillig Exp $"); +__RCSID("$NetBSD: lexi.c,v 1.241 2023/12/03 21:03:58 rillig Exp $"); #include <stdlib.h> #include <string.h> @@ -188,7 +188,7 @@ skip_line_continuation(void) if (inp_p[0] == '\\' && inp_p[1] == '\n') { inp_p++; inp_skip(); - line_no++; + token_end_line_no++; return true; } return false; @@ -245,7 +245,7 @@ lex_char_or_string(void) if (token.s[token.len - 1] == '\\') { if (*inp_p == '\n') - line_no++; + token_end_line_no++; token_add_char(inp_next()); } } @@ -524,7 +524,7 @@ lex_asterisk_unary(void) if (*inp_p == '*') token_add_char('*'); if (*inp_p == '\n') - line_no++; + token_end_line_no++; inp_skip(); } @@ -579,6 +579,7 @@ lexi(void) else break; } + token_start_line_no = token_end_line_no; lexer_symbol alnum_lsym = lexi_alnum(); if (alnum_lsym != lsym_eof) Index: src/usr.bin/indent/pr_comment.c diff -u src/usr.bin/indent/pr_comment.c:1.171 src/usr.bin/indent/pr_comment.c:1.172 --- src/usr.bin/indent/pr_comment.c:1.171 Fri Jun 23 20:59:04 2023 +++ src/usr.bin/indent/pr_comment.c Sun Dec 3 21:03:58 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pr_comment.c,v 1.171 2023/06/23 20:59:04 rillig Exp $ */ +/* $NetBSD: pr_comment.c,v 1.172 2023/12/03 21:03:58 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: pr_comment.c,v 1.171 2023/06/23 20:59:04 rillig Exp $"); +__RCSID("$NetBSD: pr_comment.c,v 1.172 2023/12/03 21:03:58 rillig Exp $"); #include <string.h> @@ -227,7 +227,7 @@ copy_comment_wrap_newline(ssize_t *last_ com_add_char(' '); *last_blank = (int)com.len - 1; } - line_no++; + token_end_line_no++; /* flush any blanks and/or tabs at start of next line */ inp_skip(); /* '\n' */ @@ -299,6 +299,7 @@ copy_comment_wrap(int line_length, bool return; unterminated_comment: + token_start_line_no = token_end_line_no; diag(1, "Unterminated comment"); output_line(); } @@ -314,13 +315,14 @@ copy_comment_nowrap(void) return; if (had_eof) { + token_start_line_no = token_end_line_no; diag(1, "Unterminated comment"); output_line(); return; } output_line(); - line_no++; + token_end_line_no++; inp_skip(); continue; }