Module Name: src
Committed By: rillig
Date: Thu Jun 15 10:34:12 UTC 2023
Modified Files:
src/tests/usr.bin/indent: lsym_tag.c
src/usr.bin/indent: indent.c io.c
Log Message:
indent: fix indentation of multi-line enum constant initializers
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/tests/usr.bin/indent/lsym_tag.c
cvs rdiff -u -r1.369 -r1.370 src/usr.bin/indent/indent.c
cvs rdiff -u -r1.222 -r1.223 src/usr.bin/indent/io.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/usr.bin/indent/lsym_tag.c
diff -u src/tests/usr.bin/indent/lsym_tag.c:1.8 src/tests/usr.bin/indent/lsym_tag.c:1.9
--- src/tests/usr.bin/indent/lsym_tag.c:1.8 Thu Jun 15 09:19:07 2023
+++ src/tests/usr.bin/indent/lsym_tag.c Thu Jun 15 10:34:12 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lsym_tag.c,v 1.8 2023/06/15 09:19:07 rillig Exp $ */
+/* $NetBSD: lsym_tag.c,v 1.9 2023/06/15 10:34:12 rillig Exp $ */
/*
* Tests for the token lsym_tag, which represents one of the keywords
@@ -142,12 +142,17 @@ struct outer {
*/
//indent input
enum multi_line {
- constant = 1
-// $ TODO: Indent the continuation line.
- + 2
-// $ TODO: Indent the continuation line.
- + 3,
+ ml1 = 1
+ + 2
+ + offsetof(struct s, member)
+ + 3,
+ ml2 = 1
+ + 2
+ + offsetof(struct s, member)
+ + 3,
};
//indent end
-//indent run-equals-input
+//indent run-equals-input -ci4
+
+//indent run-equals-input -ci4 -nlp
Index: src/usr.bin/indent/indent.c
diff -u src/usr.bin/indent/indent.c:1.369 src/usr.bin/indent/indent.c:1.370
--- src/usr.bin/indent/indent.c:1.369 Thu Jun 15 09:19:06 2023
+++ src/usr.bin/indent/indent.c Thu Jun 15 10:34:12 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.c,v 1.369 2023/06/15 09:19:06 rillig Exp $ */
+/* $NetBSD: indent.c,v 1.370 2023/06/15 10:34:12 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: indent.c,v 1.369 2023/06/15 09:19:06 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.370 2023/06/15 10:34:12 rillig Exp $");
#include <sys/param.h>
#include <err.h>
@@ -562,6 +562,12 @@ process_newline(void)
output_line();
+ if (ps.psyms.len >= 2
+ && ps.psyms.sym[ps.psyms.len - 2] == psym_lbrace_enum
+ && ps.paren.len == 0
+ && ps.prev_lsym == lsym_comma)
+ ps.in_stmt_cont = false;
+
stay_in_line:
++line_no;
}
Index: src/usr.bin/indent/io.c
diff -u src/usr.bin/indent/io.c:1.222 src/usr.bin/indent/io.c:1.223
--- src/usr.bin/indent/io.c:1.222 Thu Jun 15 09:19:06 2023
+++ src/usr.bin/indent/io.c Thu Jun 15 10:34:12 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: io.c,v 1.222 2023/06/15 09:19:06 rillig Exp $ */
+/* $NetBSD: io.c,v 1.223 2023/06/15 10:34:12 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: io.c,v 1.222 2023/06/15 09:19:06 rillig Exp $");
+__RCSID("$NetBSD: io.c,v 1.223 2023/06/15 10:34:12 rillig Exp $");
#include <stdio.h>
@@ -254,9 +254,6 @@ compute_code_indent(void)
int base_ind = ps.ind_level * opt.indent_size;
if (ps.ind_paren_level == 0) {
- if (ps.psyms.len >= 2
- && ps.psyms.sym[ps.psyms.len - 2] == psym_lbrace_enum)
- return base_ind;
if (ps.in_stmt_cont)
return base_ind + opt.continuation_indent;
return base_ind;