Module Name: src
Committed By: rillig
Date: Tue May 16 11:32:02 UTC 2023
Modified Files:
src/tests/usr.bin/indent: lsym_comment.c lsym_form_feed.c
lsym_lparen_or_lbracket.c
src/usr.bin/indent: debug.c indent.c indent.h io.c lexi.c pr_comment.c
Log Message:
indent: remove support for form feed characters inside a line
Form feeds are occasionally used to split code into pages, and this use
is still supported. Having a form feed in the middle of a line is
exotic.
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/tests/usr.bin/indent/lsym_comment.c
cvs rdiff -u -r1.6 -r1.7 src/tests/usr.bin/indent/lsym_form_feed.c
cvs rdiff -u -r1.8 -r1.9 src/tests/usr.bin/indent/lsym_lparen_or_lbracket.c
cvs rdiff -u -r1.9 -r1.10 src/usr.bin/indent/debug.c
cvs rdiff -u -r1.288 -r1.289 src/usr.bin/indent/indent.c
cvs rdiff -u -r1.144 -r1.145 src/usr.bin/indent/indent.h
cvs rdiff -u -r1.173 -r1.174 src/usr.bin/indent/io.c
cvs rdiff -u -r1.194 -r1.195 src/usr.bin/indent/lexi.c
cvs rdiff -u -r1.142 -r1.143 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/tests/usr.bin/indent/lsym_comment.c
diff -u src/tests/usr.bin/indent/lsym_comment.c:1.12 src/tests/usr.bin/indent/lsym_comment.c:1.13
--- src/tests/usr.bin/indent/lsym_comment.c:1.12 Mon May 15 20:30:20 2023
+++ src/tests/usr.bin/indent/lsym_comment.c Tue May 16 11:32:02 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lsym_comment.c,v 1.12 2023/05/15 20:30:20 rillig Exp $ */
+/* $NetBSD: lsym_comment.c,v 1.13 2023/05/16 11:32:02 rillig Exp $ */
/*
* Tests for the token lsym_comment, which starts a comment.
@@ -880,9 +880,8 @@ int decl;
/*
- * At the beginning of a block comment or after a '*', '\f' is special. This
- * is an implementation detail that should not be visible from the outside.
- * Form feeds in comments are seldom used though, so this is no problem.
+ * Form feeds are seldom used, especially in comments, so treat them as an
+ * ordinary character.
*/
//indent input
/* comment*/
@@ -890,18 +889,11 @@ int decl;
//indent end
//indent run
-/* * comment */
-/* text* * comment */
+/* comment */
+/* text* comment */
//indent end
-/*
- * Without 'star_comment_cont', there is no separator between the form feed
- * and the surrounding text.
- */
-//indent run -nsc
-/*comment */
-/* text*comment */
-//indent end
+//indent run-equals-prev-output -nsc
//indent run-equals-input -nfc1
Index: src/tests/usr.bin/indent/lsym_form_feed.c
diff -u src/tests/usr.bin/indent/lsym_form_feed.c:1.6 src/tests/usr.bin/indent/lsym_form_feed.c:1.7
--- src/tests/usr.bin/indent/lsym_form_feed.c:1.6 Thu May 11 18:13:55 2023
+++ src/tests/usr.bin/indent/lsym_form_feed.c Tue May 16 11:32:02 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lsym_form_feed.c,v 1.6 2023/05/11 18:13:55 rillig Exp $ */
+/* $NetBSD: lsym_form_feed.c,v 1.7 2023/05/16 11:32:02 rillig Exp $ */
/*
* Tests for the token lsym_form_feed, which represents a form feed, a special
@@ -34,7 +34,7 @@ void
function(void)
{
if (expr)
- /* <-- form feed */
+ /* <-- form feed */
{
}
}
Index: src/tests/usr.bin/indent/lsym_lparen_or_lbracket.c
diff -u src/tests/usr.bin/indent/lsym_lparen_or_lbracket.c:1.8 src/tests/usr.bin/indent/lsym_lparen_or_lbracket.c:1.9
--- src/tests/usr.bin/indent/lsym_lparen_or_lbracket.c:1.8 Thu May 11 18:13:55 2023
+++ src/tests/usr.bin/indent/lsym_lparen_or_lbracket.c Tue May 16 11:32:02 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lsym_lparen_or_lbracket.c,v 1.8 2023/05/11 18:13:55 rillig Exp $ */
+/* $NetBSD: lsym_lparen_or_lbracket.c,v 1.9 2023/05/16 11:32:02 rillig Exp $ */
/*
* Tests for the token lsym_lparen_or_lbracket, which represents a '(' or '['
@@ -249,8 +249,7 @@ void cover_want_blank_before_lparen(void
switch (expr) {}
#define preprocessing
(preprocessing)();
- /* $ XXX: lsym_form_feed should be skipped, just as newline. */
- (lsym_form_feed)(); /* XXX: should be skipped */
+ (lsym_form_feed)();
for(;;);
do(lsym_do)=3;while(0);
if(cond);else(lsym_else)();
@@ -297,7 +296,7 @@ cover_want_blank_before_lparen(void)
}
#define preprocessing
(preprocessing)();
- (lsym_form_feed)(); /* XXX: should be skipped */
+ (lsym_form_feed)();
for (;;);
do
(lsym_do) = 3;
Index: src/usr.bin/indent/debug.c
diff -u src/usr.bin/indent/debug.c:1.9 src/usr.bin/indent/debug.c:1.10
--- src/usr.bin/indent/debug.c:1.9 Mon May 15 22:52:21 2023
+++ src/usr.bin/indent/debug.c Tue May 16 11:32:01 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: debug.c,v 1.9 2023/05/15 22:52:21 rillig Exp $ */
+/* $NetBSD: debug.c,v 1.10 2023/05/16 11:32:01 rillig Exp $ */
/*-
* Copyright (c) 2023 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: debug.c,v 1.9 2023/05/15 22:52:21 rillig Exp $");
+__RCSID("$NetBSD: debug.c,v 1.10 2023/05/16 11:32:01 rillig Exp $");
#include <stdarg.h>
@@ -48,7 +48,6 @@ const char *const lsym_name[] = {
"eof",
"preprocessing",
"newline",
- "form_feed",
"comment",
"lparen_or_lbracket",
"rparen_or_rbracket",
Index: src/usr.bin/indent/indent.c
diff -u src/usr.bin/indent/indent.c:1.288 src/usr.bin/indent/indent.c:1.289
--- src/usr.bin/indent/indent.c:1.288 Tue May 16 08:22:11 2023
+++ src/usr.bin/indent/indent.c Tue May 16 11:32:01 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.c,v 1.288 2023/05/16 08:22:11 rillig Exp $ */
+/* $NetBSD: indent.c,v 1.289 2023/05/16 11:32:01 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: indent.c,v 1.288 2023/05/16 08:22:11 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.289 2023/05/16 11:32:01 rillig Exp $");
#include <sys/param.h>
#include <err.h>
@@ -156,7 +156,7 @@ int
ind_add(int ind, const char *s, size_t len)
{
for (const char *p = s; len > 0; p++, len--) {
- if (*p == '\n' || *p == '\f')
+ if (*p == '\n')
ind = 0;
else if (*p == '\t')
ind = next_tab(ind);
@@ -380,13 +380,6 @@ move_com_to_code(lexer_symbol lsym)
}
static void
-process_form_feed(void)
-{
- output_line_ff();
- ps.want_blank = false;
-}
-
-static void
process_newline(void)
{
if (ps.prev_token == lsym_comma && ps.nparen == 0 && !ps.block_init &&
@@ -1025,8 +1018,7 @@ main_loop(void)
if (lsym == lsym_if && ps.prev_token == lsym_else && opt.else_if)
ps.force_nl = false;
- if (lsym == lsym_newline || lsym == lsym_form_feed ||
- lsym == lsym_preprocessing)
+ if (lsym == lsym_newline || lsym == lsym_preprocessing)
ps.force_nl = false;
else if (lsym != lsym_comment) {
maybe_break_line(lsym);
@@ -1038,10 +1030,6 @@ main_loop(void)
switch (lsym) {
- case lsym_form_feed:
- process_form_feed();
- break;
-
case lsym_newline:
process_newline();
break;
Index: src/usr.bin/indent/indent.h
diff -u src/usr.bin/indent/indent.h:1.144 src/usr.bin/indent/indent.h:1.145
--- src/usr.bin/indent/indent.h:1.144 Tue May 16 08:04:03 2023
+++ src/usr.bin/indent/indent.h Tue May 16 11:32:01 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.h,v 1.144 2023/05/16 08:04:03 rillig Exp $ */
+/* $NetBSD: indent.h,v 1.145 2023/05/16 11:32:01 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -72,7 +72,6 @@ typedef enum lexer_symbol {
lsym_eof,
lsym_preprocessing, /* '#' */
lsym_newline,
- lsym_form_feed,
lsym_comment, /* the initial '/ *' or '//' of a comment */
lsym_lparen_or_lbracket,
lsym_rparen_or_rbracket,
Index: src/usr.bin/indent/io.c
diff -u src/usr.bin/indent/io.c:1.173 src/usr.bin/indent/io.c:1.174
--- src/usr.bin/indent/io.c:1.173 Tue May 16 08:04:03 2023
+++ src/usr.bin/indent/io.c Tue May 16 11:32:01 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: io.c,v 1.173 2023/05/16 08:04:03 rillig Exp $ */
+/* $NetBSD: io.c,v 1.174 2023/05/16 11:32:01 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: io.c,v 1.173 2023/05/16 08:04:03 rillig Exp $");
+__RCSID("$NetBSD: io.c,v 1.174 2023/05/16 11:32:01 rillig Exp $");
#include <stdio.h>
#include <string.h>
@@ -236,12 +236,12 @@ output_line_comment(int ind)
*
* Comments are written directly, bypassing this function.
*/
-static void
-output_complete_line(char line_terminator)
+void
+output_line(void)
{
debug_printf("%s", __func__);
debug_buffers();
- debug_println("%s", line_terminator == '\f' ? " form_feed" : "");
+ debug_println("");
ps.is_function_definition = false;
@@ -269,7 +269,7 @@ output_complete_line(char line_terminato
if (com.len > 0)
output_line_comment(ind);
- output_char(line_terminator);
+ output_char('\n');
}
if (indent_enabled == indent_last_off_line) {
@@ -300,18 +300,6 @@ output_complete_line(char line_terminato
ps.want_blank = false;
}
-void
-output_line(void)
-{
- output_complete_line('\n');
-}
-
-void
-output_line_ff(void)
-{
- output_complete_line('\f');
-}
-
static int
compute_code_indent_lineup(int base_ind)
{
Index: src/usr.bin/indent/lexi.c
diff -u src/usr.bin/indent/lexi.c:1.194 src/usr.bin/indent/lexi.c:1.195
--- src/usr.bin/indent/lexi.c:1.194 Tue May 16 08:04:03 2023
+++ src/usr.bin/indent/lexi.c Tue May 16 11:32:01 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lexi.c,v 1.194 2023/05/16 08:04:03 rillig Exp $ */
+/* $NetBSD: lexi.c,v 1.195 2023/05/16 11:32:01 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: lexi.c,v 1.194 2023/05/16 08:04:03 rillig Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.195 2023/05/16 11:32:01 rillig Exp $");
#include <stdlib.h>
#include <string.h>
@@ -575,12 +575,6 @@ lexi(void)
ps.next_col_1 = true;
break;
- case '\f':
- lsym = lsym_form_feed;
- next_unary = ps.next_unary;
- ps.next_col_1 = true;
- break;
-
case '#':
lsym = lsym_preprocessing;
next_unary = ps.next_unary;
Index: src/usr.bin/indent/pr_comment.c
diff -u src/usr.bin/indent/pr_comment.c:1.142 src/usr.bin/indent/pr_comment.c:1.143
--- src/usr.bin/indent/pr_comment.c:1.142 Mon May 15 19:55:51 2023
+++ src/usr.bin/indent/pr_comment.c Tue May 16 11:32:01 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: pr_comment.c,v 1.142 2023/05/15 19:55:51 rillig Exp $ */
+/* $NetBSD: pr_comment.c,v 1.143 2023/05/16 11:32:01 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: pr_comment.c,v 1.142 2023/05/15 19:55:51 rillig Exp $");
+__RCSID("$NetBSD: pr_comment.c,v 1.143 2023/05/16 11:32:01 rillig Exp $");
#include <string.h>
@@ -164,15 +164,6 @@ copy_comment_wrap(int line_length, bool
for (;;) {
switch (inp_peek()) {
- case '\f':
- output_line_ff();
- last_blank = -1;
- com_add_delim();
- inp_skip();
- while (ch_isblank(inp_peek()))
- inp_skip();
- break;
-
case '\n':
if (had_eof) {
diag(1, "Unterminated comment");