Home | History | Annotate | only in /src/tests/usr.bin/indent
History log of /src/tests/usr.bin/indent
RevisionDateAuthorComments
 1.49 16-Jun-2023  rillig indent: merge lexer symbols for type in/outside parentheses
 1.48 14-Jun-2023  rillig indent: merge parser symbols for stmt and stmt_list

They were handled in exactly the same way.
 1.47 20-May-2023  rillig tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.
 1.46 13-May-2023  rillig tests/indent: add test for lexing of numbers
 1.45 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.44 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.43 24-Apr-2022  rillig tests/indent: migrate tests for parentheses, brackets, braces
 1.42 23-Apr-2022  rillig tests/indent: migrate tests for the tokens '{' and '.'
 1.41 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.40 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.39 28-Nov-2021  rillig tests/indent: migrate token_question to lsym_question and extend it
 1.38 28-Nov-2021  rillig tests/indent: migrate test token_case_label to lsym_case_label
 1.37 28-Nov-2021  rillig tests/indent: migrate token_comma to lsym_comma

The section on initializer values is new.
 1.36 28-Nov-2021  rillig tests/indent: move test for ':' to lsym_token.c
 1.35 28-Nov-2021  rillig indent: treat L"string" as a single token

There is never whitespace between the 'L' and the string literal or the
character constant. There might be a backslash-newline between them, but
that case was not handled before either.

No functional change.
 1.34 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.33 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.32 23-Oct-2021  rillig tests/indent: migrate test for '-bap -sob' to t_options
 1.31 23-Oct-2021  rillig tests/indent: migrate test for '--version' to t_options
 1.30 23-Oct-2021  rillig tests/indent: migrate test for offsetof to t_options
 1.29 23-Oct-2021  rillig tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.
 1.28 23-Oct-2021  rillig tests/indent: migrate f_decls to using t_options, add more tests
 1.27 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.26 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.25 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.24 19-Oct-2021  rillig tests/indent: add test for INDENT OFF/ON comments

Just to prevent unintended side effects when fixing bugs in this area.
 1.23 19-Oct-2021  rillig tests/indent: make add-test generate flexible tests

They need fewer source files and are more versatile.
 1.22 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.21 18-Oct-2021  rillig tests/indent: condense test for indentation level, add missing files
 1.20 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.19 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.18 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.17 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.16 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.15 14-Oct-2021  rillig tests/indent: provide full line coverage for argument handling
 1.14 13-Oct-2021  rillig indent: check command line options stricter

Previously, bool options were allowed to have trailing garbage. For
example, the option '-bacc' could be spelled '-bacchus' as well.

Check that the exact option name is given in the command line, to
prevent typos in the configuration files and to reduce surprises just in
case a future option is a prefix of an existing option, or vice versa.

Add a new test program for error handling. Most of these tests are so
simple that it would be overkill to create 3 files for each test.
 1.13 07-Oct-2021  rillig tests/indent: test parsing of command line options in profile file
 1.12 05-Oct-2021  rillig tests/indent: demonstrate off-by-one error in edge case
 1.11 25-Sep-2021  rillig tests/indent: test deeply nested struct declarations
 1.10 25-Sep-2021  rillig tests/indent: test edge cases for the tokenizer
 1.9 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.8 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.7 09-Mar-2021  rillig tests/indent: demonstrate strange alignment for global variables
 1.6 08-Mar-2021  rillig tests/indent: demonstrate wrong removed empty line before '//'
 1.5 08-Mar-2021  rillig tests/indent: demonstrate another bug in nested blocks
 1.4 08-Mar-2021  rillig tests/indent: add test for output line counting
 1.3 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 21-Feb-2021  rillig indent: add test demonstrating that indent cannot handle C99

indent cannot handle line-end comments.

The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file Makefile was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file binary.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file binary.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 08-Mar-2021  rillig tests/indent: demonstrate another bug in nested blocks
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 08-Mar-2021  rillig tests/indent: demonstrate another bug in nested blocks
 1.9 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.8 30-Sep-2021  rillig tests/indent: add more tests with ')(', found bug in '//'
 1.7 24-Sep-2021  rillig indent: fix token duplication after C99 comment

The code that keeps blank lines after C99 comments still looks wrong,
but at least it's better than before.
 1.6 24-Sep-2021  rillig tests/indent: demonstrate token repetition after line-end comment
 1.5 12-Mar-2021  rillig tests/indent: demonstrate stray empty line at end-of-file
 1.4 07-Mar-2021  rillig indent: fix handling of '//' end-of-line comments
 1.3 07-Mar-2021  rillig tests/indent: allow for comments in either the input or output files
 1.2 06-Mar-2021  rillig tests/indent: extend test for '//' comments with more examples
 1.1 21-Feb-2021  rillig indent: add test demonstrating that indent cannot handle C99

indent cannot handle line-end comments.

The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.
 1.10 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.9 08-Oct-2021  rillig indent: fix formatting of C99 comments

The first attempt at formatting C99 comments was conceptually wrong. It
accessed the next token in dump_line, even though that function should
only ever look at the buffers for the label, the code and the current
comment. (Understanding that part of the code was difficult at that time
due to the sheer number of global variables.) The complicated and
ever-growing condition for whether to output the token was a hack and in
retrospect doesn't make sense at all, that's why it only came close to
the intended effect.

Some unintended side effects were that the C99 comments had an
additional space in front of them, and that in some cases an empty line
followed the comment, and that the comments were not aligned.

Previously, the newline that terminates the C99 comment was included in
the comment. Separating the newline from the comment fixed all these
unintended side effects. The only downside is that the multi-line
statement is not indented, but that should be easy to fix.
 1.8 30-Sep-2021  rillig tests/indent: add more tests with ')(', found bug in '//'
 1.7 24-Sep-2021  rillig indent: fix token duplication after C99 comment

The code that keeps blank lines after C99 comments still looks wrong,
but at least it's better than before.
 1.6 24-Sep-2021  rillig tests/indent: demonstrate token repetition after line-end comment
 1.5 12-Mar-2021  rillig tests/indent: demonstrate stray empty line at end-of-file
 1.4 07-Mar-2021  rillig indent: fix handling of '//' end-of-line comments
 1.3 07-Mar-2021  rillig tests/indent: allow for comments in either the input or output files
 1.2 06-Mar-2021  rillig tests/indent: extend test for '//' comments with more examples
 1.1 21-Feb-2021  rillig indent: add test demonstrating that indent cannot handle C99

indent cannot handle line-end comments.

The indent test suite requires each test file to have both a NetBSD and
a FreeBSD RCS ID. If the FreeBSD RCS ID is missing, the test will
silently pass since in that case, an empty file is compared with an
empty file. See the /start/,/end/ operator in t_indent.sh.
 1.4 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.3 24-Sep-2021  rillig tests/indent: demonstrate inconsistent formatting of comments
 1.2 14-Mar-2021  rillig indent: fix off-by-one error in comment wrapping

The manual page says that the default maximum length of a comment line
is 78. The test 'comments.0' wrongly assumed that this 78 would refer
to the maximum _column_ allowed, which is off by one.

Fix the wording in the test 'comments.0' and remove the (now satisfied)
expectation comments in the test 'token-comment.0'.

Several other tests just happened to hit that limit, fix these as well.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file comments.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file comments.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.4 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.3 24-Sep-2021  rillig tests/indent: demonstrate inconsistent formatting of comments
 1.2 14-Mar-2021  rillig indent: fix off-by-one error in comment wrapping

The manual page says that the default maximum length of a comment line
is 78. The test 'comments.0' wrongly assumed that this 78 would refer
to the maximum _column_ allowed, which is off by one.

Fix the wording in the test 'comments.0' and remove the (now satisfied)
expectation comments in the test 'token-comment.0'.

Several other tests just happened to hit that limit, fix these as well.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file comments.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file cs.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file cs.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file cs.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.5 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.4 26-Sep-2021  rillig tests/indent: demonstrate missing space before ellipsis
 1.3 25-Sep-2021  rillig tests/indent: test deeply nested struct declarations
 1.2 06-Mar-2021  rillig tests/indent: fix unintended trailing whitespace and space-tab
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file declarations.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 25-Sep-2021  rillig tests/indent: test deeply nested struct declarations
 1.6 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.5 30-Sep-2021  rillig indent: remove space between ')' and '(' in declarations
 1.4 26-Sep-2021  rillig indent: fix missing space between comma and ellipsis

According to lint's C grammar, in standard C an ellipsis only occurs
after a comma. There are GCC extensions that allow an ellipsis as the
only function parameter, as well as in 'case a ... b', but these are
rare.
 1.3 26-Sep-2021  rillig tests/indent: demonstrate missing space before ellipsis
 1.2 25-Sep-2021  rillig tests/indent: test deeply nested struct declarations
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file declarations.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.4 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.3 04-Jun-2023  rillig indent: force at least one space after the colon of a label
 1.2 22-May-2023  rillig tests/indent: refine a few tests
 1.1 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file elsecomment.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file elsecomment.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.3 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.2 12-Oct-2021  rillig indent: fix wrapping for comments in otherwise empty lines

The comment above the code was wrong. The leading 3 characters were
indeed ignored, but the first of them was '/', not ' '. Of the trailing
3 characters, 2 were not ignored. The start and end of the comment would
not cancel out, they would rather sum up.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file elsecomment.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate f_decls to using t_options, add more tests
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file f_decls.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate f_decls to using t_options, add more tests
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file f_decls.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file float.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file float.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.8 14-Jun-2023  rillig indent: clean up the code, add a few tests
 1.7 22-May-2023  rillig indent: fix spacing between block braces
 1.6 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.60 25-Jun-2023  rillig indent: fix formatting of parenthesized name in function definition
 1.59 16-Jun-2023  rillig indent: merge lexer symbols for type in/outside parentheses
 1.58 16-Jun-2023  rillig indent: fix indentation and linebreaks in typedef declarations
 1.57 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.56 15-Jun-2023  rillig indent: fix alignment of multi-line declarations
 1.55 14-Jun-2023  rillig indent: clean up the code, add a few tests
 1.54 10-Jun-2023  rillig tests/indent: add move coverage tests
 1.53 10-Jun-2023  rillig indent: rename and sort variables in parser state

No functional change.
 1.52 09-Jun-2023  rillig indent: improve heuristics for function declaration vs. definition
 1.51 09-Jun-2023  rillig tests/indent: add real-life test cases from make(1) and lint(1)
 1.50 08-Jun-2023  rillig indent: remove fragile heuristic for detecting cast expressions

The assumption that in an expression of the form '(a * anything)', the
'*' marks a pointer type was too simple-minded.

For now, fix the obvious cases and leave the others for later. If
needed, they can be worked around using the '-T' option.
 1.49 05-Jun-2023  rillig tests/indent: add test for left-justifying declarations
 1.48 02-Jun-2023  rillig indent: remove newline between 'switch' and '{'
 1.47 02-Jun-2023  rillig indent: improve heuristics of classifying '*' as pointer or operator
 1.46 23-May-2023  rillig indent: fix indentation of struct declarations
 1.45 23-May-2023  rillig indent: fix spacing around '*' in declarations
 1.44 23-May-2023  rillig tests/indent: add code snippets found in make and lint1
 1.43 16-May-2023  rillig indent: remove blank between comment and parentheses or brackets

Finally, indent formats its own source code without messing up the
layout.
 1.42 15-May-2023  rillig indent: fix detection of casts

A word followed by a '(' does not start a cast expression.
 1.41 15-May-2023  rillig indent: fix type cast in function definition
 1.40 15-May-2023  rillig tests/indent: demonstrate wrong spacing after function prototype
 1.39 15-May-2023  rillig indent: fix spacing between function prototype and attributes
 1.38 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.37 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.36 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.35 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.34 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.33 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.32 27-Nov-2021  rillig indent: fix out of bounds memory access (since 2021-11-25)
 1.31 27-Nov-2021  rillig tests/indent: demonstrate strange formatting (since 2021-11-25)
 1.30 25-Nov-2021  rillig tests/indent: fix misleading typedef name
 1.29 25-Nov-2021  rillig indent: improve heuristic for spaces around '*' in declarations
 1.28 25-Nov-2021  rillig tests/indent: demonstrate more example for broken '*' in declarations

Since indent-2021.11.25.16.41.33.
 1.27 25-Nov-2021  rillig indent: fix heuristic for declaration/definition to post-1990 reality
 1.26 25-Nov-2021  rillig indent: fix spacing for unknown type names in declarations
 1.25 25-Nov-2021  rillig tests/indent: test '*' in function declarations
 1.24 25-Nov-2021  rillig indent: fix formatting of a few declarations involving unknown types
 1.23 24-Nov-2021  rillig tests/indent: demonstrate several real-life formatting bugs

Collected by indenting usr.bin/make with the default profile.

The heuristic for distinguishing between type names and other
identifiers is way too primitive, it seems to have stopped evolving
somewhere before function prototypes were standardized in C90, at least
it handles function prototypes poorly.

indent-2014.09.04.04.06.07 added seemingly random spaces to
declarations, which were fixed in indent-2019.04.04.15.27.35, which came
5 years later. The latter commit introduced many new bugs, but it also
fixed this one.

The wrongly indented struct member declaration for HashTable has been
there since at least indent-2000.10.11.14.46.04.

The wrongly indented initializer expression was added in
indent-2019.04.04.15.27.35 (see above).
 1.22 21-Nov-2021  rillig tests/indent: demonstrate wrong formatting of type names in declarations
 1.21 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.20 20-Nov-2021  rillig indent: clean up lint annotation and tests
 1.19 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.18 19-Nov-2021  rillig indent: fix formatting of function definitions (since 2019-04-04)

In the definition of a function with a pointer return type, the
formatting depended on the name of the function. Function names
matching [A-Za-z+] were formatted correctly, those containing [$0-9_]
weren't.
 1.17 19-Nov-2021  rillig tests/indent: update comment for the fix from the previous commit
 1.16 19-Nov-2021  rillig indent: fix lost function name (since 2019-04-04)

When indent searched for an identifier followed by a '(', to see whether
the identifier is a function name, it didn't care that the input buffer
could be resized due to a long line, which had made the pointer 'tp'
invalid. Fix this by stopping the search at the end of the line. A
better approach would be to have an unlimited lookahead buffer for
situations like these. The code that deals with character input has
already been extracted to io.c, so it's possible to implement that now.

While here, fix another access to undefined memory, after the loop.

There is still the issue of overwriting procname[0] with a blank, which
results in inconsistent formatting depending on the function name,
probably another case of accessing undefined memory, although the
results have been reproducible, but that may have been pure luck.

The formatted code looks clearly broken, but that's still better than
losing a token and destroying the whole file.
 1.15 18-Nov-2021  rillig tests/indent: demonstrate disappearing function name

Since 2019-04-04, as usual.
 1.14 18-Nov-2021  rillig tests/indent: demonstrate another bug imported from FreeBSD

Side note: the newly added test crashes at least the following versions
of indent with a segmentation fault on x86_64:

2000.10.11.14.46.04
2000.10.14.18.07.10
2000.10.17.02.16.44
2000.10.19.14.48.53
2000.10.19.16.31.26
2001.03.16.06.23.20
2001.03.23.20.12.41
2001.06.16.21.47.42
2001.07.20.13.43.50
2001.08.20.12.00.55
2001.12.01.19.27.33
2002.05.26.22.53.38
2003.02.25.10.35.44
 1.13 07-Nov-2021  rillig indent: rename type_at_paren_level_0 to type_outside_parentheses

For symmetry with type_in_parentheses.

No functional change.
 1.12 31-Oct-2021  rillig indent: rename lsym_type to better reflect reality

Type names that occur in parentheses are parsed as lsym_ident having the
subtype kw_type instead.

No functional change.
 1.11 31-Oct-2021  rillig indent: remove support for pre-1978 variable initialization
 1.10 31-Oct-2021  rillig tests/indent: test support for ancient initialization without '='
 1.9 31-Oct-2021  rillig indent: in debug log, print token subtype in same line

The keyword 'void' is parsed as lsym_type in some cases and lsym_ident
in others. Its corresponding keyword is always kw_type though. Put the
subtype into the same line as the other token information.
 1.8 31-Oct-2021  rillig tests/indent: document that 'void' is not always parsed as a type
 1.7 30-Oct-2021  rillig tests/indent: document why declaration lines are broken unnecessarily
 1.6 27-Oct-2021  rillig indent: fix indentation of local variable declarations

This had been broken since the import of FreeBSD indent in 2019.
 1.5 26-Oct-2021  rillig tests/indent: demonstrate another example of wrong formatting
 1.4 26-Oct-2021  rillig tests/indent: demonstrate wrong indentation of local declarations

Reported by RVP via private mail. Importing FreeBSD indent in 2019 fixed
the trailing space in line 1, at the cost of lots of other bugs.

indent-2000.10.11.14.46.04
| int <-- trailing space
| main(void)
| {
| char (*f1) () = NULL;
| char *(*f1) () = NULL;
| char *(*f2) ();
| }
indent-2019.02.03.03.19.29

indent-2019.04.04.15.27.35
| int
| main(void)
| {
| char (*f1) () = NULL;
| char *(* f1) () = NULL;
| char *(* f2) ();
| }
indent-2021.09.30.21.38.43

indent-2021.09.30.21.48.12
| int
| main(void)
| {
| char (*f1)() = NULL;
| char *(* f1)() = NULL;
| char *(* f2)();
| }
 1.3 23-Oct-2021  rillig tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.
 1.2 23-Oct-2021  rillig tests/indent: migrate f_decls to using t_options, add more tests
 1.1 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.6 23-Jun-2023  rillig tests/indent: fix comments
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.11 03-Dec-2023  rillig tests/indent: test compound expressions
 1.10 16-Jun-2023  rillig tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.9 16-Jun-2023  rillig indent: improve heuristics for casts
 1.8 14-Jun-2023  rillig tests/indent: separate stdout from stderr

Due to buffering, there was no guarantee that the output would be
exactly in the same order as written in the tests.
 1.7 10-Jun-2023  rillig indent: fix indentation of continuation lines in initializers
 1.6 09-Jun-2023  rillig indent: support C99 compound literals
 1.5 09-Jun-2023  rillig tests/indent: add real-life test cases from make(1) and lint(1)
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 23-Oct-2021  rillig tests/indent: migrate test for offsetof to t_options
 1.1 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.15 04-Jun-2023  rillig tests/indent: cover code in lexi.c
 1.14 03-Jun-2023  rillig indent: fix indentation of adjacent '{'
 1.13 21-May-2023  rillig tests/indent: fix outdated or wrong comments
 1.12 20-May-2023  rillig indent: ensure that no blank lines are inserted in INDENT OFF mode

No blank lines were inserted previously, but the code looked
suspicious as if that were possible.
 1.11 16-May-2023  rillig indent: fix handling of INDENT OFF/ON comments

Previously, the 'INDENT OFF' comments were interpreted when the newline
token from the line above the comment was processed, which was earlier
than could be reasonably expected.

The 'INDENT ON' comments were interpreted equally early, which led to
the situation that the 'INDENT OFF' comments were preserved literally
but the 'INDENT ON' comments weren't.
 1.10 14-May-2023  rillig indent: fix handling of multiple block comments in a line
 1.9 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 25-Nov-2021  rillig indent: fix heuristic for declaration/definition to post-1990 reality
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.3 19-Oct-2021  rillig indent: use simpler code for copying the input buffer

In debug mode, this reduces the amount of debug output lines.

No functional change in default mode.
 1.2 19-Oct-2021  rillig tests/indent: move tests for indent comments

The special INDENT ON and INDENT OFF comments look like ordinary
comments but are handled in inbuf_read_line. Implementing this feature
in the input function has several unintended side effects regarding
indentation of these comments, as demonstrated by the tests.
 1.1 19-Oct-2021  rillig tests/indent: add test for INDENT OFF/ON comments

Just to prevent unintended side effects when fixing bugs in this area.
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 09-Mar-2021  rillig tests/indent: demonstrate strange alignment for global variables
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 09-Mar-2021  rillig tests/indent: demonstrate strange alignment for global variables
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 09-Mar-2021  rillig tests/indent: demonstrate strange alignment for global variables
 1.3 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.2 27-Sep-2021  rillig tests/indent: document that label indentation is not configurable

For at least the past 27 years, labels have been indented 2 levels to
the left of the corresponding statement. See label_offset and
compute_label_indent (or compute_label_target in FreeBSD).
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file label.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file label.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.3 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.2 27-Sep-2021  rillig tests/indent: document that label indentation is not configurable

For at least the past 27 years, labels have been indented 2 levels to
the left of the corresponding statement. See label_offset and
compute_label_indent (or compute_label_target in FreeBSD).
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file label.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.9 04-Jun-2023  rillig indent: force at least one space after the colon of a label
 1.8 04-Jun-2023  rillig indent: fix formatting of compound expressions, at least partially
 1.7 02-Jun-2023  rillig indent: remove newline between 'switch' and '{'
 1.6 13-May-2023  rillig indent: clean up a condition, add comments

No functional change.
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.1 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 25-Sep-2021  rillig tests/indent: test edge cases for the tokenizer
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 25-Sep-2021  rillig tests/indent: test edge cases for the tokenizer
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 25-Sep-2021  rillig tests/indent: test edge cases for the tokenizer
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 25-Sep-2021  rillig tests/indent: extend tests for strings and characters
 1.1 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 25-Sep-2021  rillig tests/indent: extend tests for strings and characters
 1.1 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.7 04-Jun-2023  rillig tests/indent: clean up comments
 1.6 15-May-2023  rillig indent: remove backslash line continuation outside preprocessing

The indenter did not handle these backslashes well, interpreting them as
unary operators, and they are an edge case anyway. Line continuations
in string literals and character constants are kept.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.2 31-Oct-2021  rillig indent: remove support for pre-1978 variable initialization
 1.1 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.2 13-May-2023  rillig indent: fix lexing of numbers that are spread over multiple lines
 1.1 13-May-2023  rillig tests/indent: add test for lexing of numbers
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 25-Sep-2021  rillig tests/indent: extend tests for strings and characters
 1.1 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 25-Sep-2021  rillig tests/indent: extend tests for strings and characters
 1.1 25-Sep-2021  rillig tests/indent: test lexing of character constants and string literals
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 08-Mar-2021  rillig tests/indent: add test for output line counting
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 08-Mar-2021  rillig tests/indent: add test for output line counting
 1.2 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.1 08-Mar-2021  rillig tests/indent: add test for output line counting
 1.2 23-Oct-2021  rillig tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file list_head.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: remove redundant test list_head

The test cases are already in fmt_decl.c, in old_style_definition and
LIST_HEAD.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file list_head.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.12 14-Jun-2023  rillig indent: remove a redundant flag from the parser state

No functional change.
 1.11 04-Jun-2023  rillig indent: do not parse '&&&&&&&' as a single binary operator
 1.10 04-Jun-2023  rillig indent: fix '*=' to be a binary operator, not a unary one
 1.9 04-Jun-2023  rillig tests/indent: cover code in lexi.c
 1.8 04-Jun-2023  rillig tests/indent: clean up comments
 1.7 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.6 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 23-Apr-2022  rillig tests/indent: migrate tests for unary and binary operators
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 25-Nov-2021  rillig indent: extract lex_asterisk_unary into separate function

No functional change.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.11 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.10 10-Jun-2023  rillig indent: explain right-aligned code
 1.9 10-Jun-2023  rillig indent: fix token classification in declarations

As a side effect, indent handles _Generic from C11 properly now, at
least in -nlp mode.
 1.8 04-Jun-2023  rillig indent: force at least one space after the colon of a label
 1.7 04-Jun-2023  rillig lint: use separate lexer symbols for 'case' and 'default'

It's not strictly necessary since these tokens behave in the same way,
still, the code is more straight-forward when there are separate tokens.
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 28-Nov-2021  rillig tests/indent: migrate test token_case_label to lsym_case_label
 1.3 24-Nov-2021  rillig tests/indent: demonstrate several real-life formatting bugs

Collected by indenting usr.bin/make with the default profile.

The heuristic for distinguishing between type names and other
identifiers is way too primitive, it seems to have stopped evolving
somewhere before function prototypes were standardized in C90, at least
it handles function prototypes poorly.

indent-2014.09.04.04.06.07 added seemingly random spaces to
declarations, which were fixed in indent-2019.04.04.15.27.35, which came
5 years later. The latter commit introduced many new bugs, but it also
fixed this one.

The wrongly indented struct member declaration for HashTable has been
there since at least indent-2000.10.11.14.46.04.

The wrongly indented initializer expression was added in
indent-2019.04.04.15.27.35 (see above).
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 28-Nov-2021  rillig tests/indent: migrate test token_case_label to lsym_case_label
 1.2 28-Nov-2021  rillig tests/indent: move test for ':' to lsym_token.c
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 28-Nov-2021  rillig tests/indent: migrate token_comma to lsym_comma

The section on initializer values is new.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.25 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.24 23-Jun-2023  rillig branches: 1.24.2;
indent: fix scanning of no-wrap comments (since 2021.11.07.10.34.03)

The "refactoring" back then tried to be too clever.
 1.23 18-Jun-2023  rillig indent: remove support for backspace in code and comments

The C code in the whole tree does not contain a single literal
backspace.
 1.22 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.21 14-Jun-2023  rillig indent: clean up handling of comments

One less moving part in the parser state.

No functional change.
 1.20 10-Jun-2023  rillig indent: miscellaneous cleanups
 1.19 10-Jun-2023  rillig indent: rename and sort variables in parser state

No functional change.
 1.18 06-Jun-2023  rillig indent: right-trim single-line comments
 1.17 06-Jun-2023  rillig tests/indent: comments with trailing whitespace may fit in a single line
 1.16 05-Jun-2023  rillig indent: fix trailing whitespace after comment
 1.15 21-May-2023  rillig tests/indent: fix outdated or wrong comments
 1.14 20-May-2023  rillig indent: implement blank line above block comment
 1.13 16-May-2023  rillig 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.
 1.12 15-May-2023  rillig indent: fix duplicate space between comment and binary operator
 1.11 15-May-2023  rillig indent: fix line wrapping of comments to the right of code
 1.10 15-May-2023  rillig indent: clean up memory and buffer management

Remove the need to explicitly initialize the buffers. To avoid
subtracting null pointers or comparing them using '<', migrate the
buffers from the (start, end) form to the (start, len) form. This form
also avoids inconsistencies in whether 'buf.e == buf.s' or 'buf.s ==
buf.e' is used.

Make buffer.st const, to avoid accidental modification of the buffer's
content.

Replace '*buf.e++ = ch' with buf_add_char, to avoid having to keep track
how much unwritten space is left in the buffer. Remove all safety
margins, that is, no more unchecked access to buf.st[-1] or appending
using '*buf.e++'.

Fix line number counting in lex_word for words that contain line breaks.

No functional change.
 1.9 14-May-2023  rillig indent: only null-terminate the buffers if necessary

The only case where a buffer is used as a C-style string is when looking
up a keyword.

No functional change.
 1.8 14-May-2023  rillig indent: fix handling of multiple block comments in a line
 1.7 13-May-2023  rillig indent: do not add a space before a comment that starts a line
 1.6 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.24.2.1 02-Aug-2025  perseant Sync with HEAD
 1.10 05-Jun-2023  rillig indent: fix formatting of 'do' statements
 1.9 05-Jun-2023  rillig indent: fix trailing whitespace after comment
 1.8 05-Jun-2023  rillig tests/indent: add tests for 'do-while' loops
 1.7 22-May-2023  rillig tests/indent: refine a few tests
 1.6 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.5 11-May-2023  rillig indent: remove unnecessary assignments to last_else

No functional change intended.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.9 26-Jun-2023  rillig indent: improve heuristics for '*' as pointer in for loops
 1.8 26-Jun-2023  rillig indent: improve heuristics for '*' as a pointer type
 1.7 08-Jun-2023  rillig indent: remove fragile heuristic for detecting cast expressions

The assumption that in an expression of the form '(a * anything)', the
'*' marks a pointer type was too simple-minded.

For now, fix the obvious cases and leave the others for later. If
needed, they can be worked around using the '-T' option.
 1.6 23-May-2023  rillig indent: fix spacing in declarations in for loops
 1.5 23-May-2023  rillig tests/indent: add code snippets found in make and lint1
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.8 21-May-2023  rillig tests/indent: fix outdated or wrong comments
 1.7 16-May-2023  rillig 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.
 1.6 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.7 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.6 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.5 22-May-2023  rillig tests/indent: refine a few tests
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 10-Jun-2023  rillig indent: fix line break between semicolon and brace
 1.5 10-Jun-2023  rillig indent: miscellaneous cleanups
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.10 16-Jun-2023  rillig tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.9 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.8 04-Jun-2023  rillig indent: fix indentation of initializers in compound expressions
 1.7 03-Jun-2023  rillig indent: fix indentation of adjacent '{'
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 23-Apr-2022  rillig tests/indent: migrate tests for the tokens '{' and '.'
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 13-Feb-2022  rillig tests/indent: demonstrate the poor handling of compound literals
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.20 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.19 17-Jun-2023  rillig branches: 1.19.2;
tests/indent: add miscellaneous test cases found during clean up
 1.18 16-Jun-2023  rillig indent: fix spacing between postfix operator and left parenthesis
 1.17 14-Jun-2023  rillig indent: allow more than 20 nested parentheses or brackets
 1.16 10-Jun-2023  rillig indent: fix indentation of continuation lines in initializers
 1.15 08-Jun-2023  rillig indent: fix indentation of initializer lists with designators
 1.14 08-Jun-2023  rillig tests/indent: add more tests, from indent's own code
 1.13 04-Jun-2023  rillig indent: force at least one space after the colon of a label
 1.12 04-Jun-2023  rillig indent: rename struct field, for better symmetry

No binary change outside debug mode.
 1.11 04-Jun-2023  rillig indent: fix indentation of initializers in compound expressions
 1.10 04-Jun-2023  rillig indent: fix formatting of compound expressions, at least partially
 1.9 16-May-2023  rillig 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.
 1.8 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 24-Apr-2022  rillig tests/indent: migrate tests for parentheses, brackets, braces
 1.5 23-Apr-2022  rillig tests/indent: add tests for unary and binary operators
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 13-Feb-2022  rillig tests/indent: test token '('

There are already some tests in token_lparen.c that need to be merged.
 1.2 13-Feb-2022  rillig tests/indent: demonstrate the poor handling of compound literals
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.19.2.1 02-Aug-2025  perseant Sync with HEAD
 1.5 09-Jun-2023  rillig indent: trim trailing blank lines
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 23-Apr-2022  rillig tests/indent: migrate tests for the tokens '{' and '.'
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.15 16-Jun-2023  rillig tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.14 14-Jun-2023  rillig indent: clean up the code, add a few tests
 1.13 14-Jun-2023  rillig tests/indent: separate stdout from stderr

Due to buffering, there was no guarantee that the output would be
exactly in the same order as written in the tests.
 1.12 14-Jun-2023  rillig indent: use correct preprocessing directive in error message
 1.11 14-Jun-2023  rillig indent: allow more than 5 levels of #if/#endif
 1.10 13-May-2023  rillig indent: preserve indentation of preprocessor directives
 1.9 11-May-2023  rillig tests/indent: test interaction between preprocessing and comments
 1.8 11-May-2023  rillig indent: don't touch comments in preprocessing lines

The indentation of multi-line comments was wrong, and the code for
handling them was too complicated.
 1.7 11-May-2023  rillig tests/indent: add more tests for preprocessing directives
 1.6 11-May-2023  rillig tests/indent: test multi-line comments in preprocessing lines
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 15-May-2023  rillig indent: fix indentation of multi-line '?:' expressions in functions
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 28-Nov-2021  rillig tests/indent: migrate token_question to lsym_question and extend it
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.8 04-Jan-2025  rillig indent: fix indentation of adjacent multi-line initializers

The main topic of this change is parse.c:66, which makes the indentation
of statements uniform with the indentation of other parser symbols.

That change had the side effect of messing up the indentation of files
whose first line does not start in column 1, such as in ps_ind_level.c.
To fix this side effect, the initial indentation must be determined
before pushing the placeholder token psym_stmt during initialization.
 1.7 08-Jun-2023  rillig branches: 1.7.2;
indent: clean up and condense code

No functional change.
 1.6 04-Jun-2023  rillig indent: fix indentation of initializers in compound expressions
 1.5 03-Jun-2023  rillig indent: fix indentation of adjacent '{'
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 24-Apr-2022  rillig tests/indent: migrate tests for parentheses, brackets, braces
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.7.2.1 02-Aug-2025  perseant Sync with HEAD
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 28-Nov-2021  rillig tests/indent: test variants of the 'return' statement
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.8 16-Jun-2023  rillig indent: improve heuristics for cast expressions
 1.7 16-Jun-2023  rillig indent: improve heuristics for cast expressions
 1.6 16-Jun-2023  rillig tests/indent: add a few code snippets from usr.bin/xlint
 1.5 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 16-Jun-2023  rillig tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.5 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 25-Nov-2021  rillig indent: improve heuristic for spaces around '*' in declarations
 1.2 25-Nov-2021  rillig tests/indent: demonstrate 'sizeof(int) *expr' (since 2021-11-25)

Broken in indent-2021.11.25.16.41.33, while fixing the spacing around
'*' in declarations.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 25-Jun-2023  rillig indent: treat 'complex' and 'imaginary' as type modifiers, not as types
 1.5 04-Jun-2023  rillig indent: classify 'inline' as a modifier rather than a word
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.2 28-Nov-2021  rillig indent: treat L"string" as a single token

There is never whitespace between the 'L' and the string literal or the
character constant. There might be a backslash-newline between them, but
that case was not handled before either.

No functional change.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 14-Jun-2023  rillig indent: fix formatting of comment after 'switch (expr)'
 1.4 10-Jun-2023  rillig indent: miscellaneous cleanups
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.10 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.9 15-Jun-2023  rillig indent: fix indentation of multi-line enum constant initializers
 1.8 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.7 15-May-2023  rillig indent: fix indentation of struct member names
 1.6 15-May-2023  rillig tests/indent: demonstrate wrong indentation of struct members
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 12-Feb-2022  rillig tests/indent: add another test for indentation of enum constants

To prevent an overzealous quick hack for indenting enum constants in a
typedef, as part of fixing PR#55453.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.1 16-Jun-2023  rillig indent: merge lexer symbols for type in/outside parentheses
 1.5 16-Jun-2023  rillig indent: merge lexer symbols for type in/outside parentheses
 1.4 21-May-2023  rillig tests/indent: fix outdated or wrong comments
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.8 16-Jun-2023  rillig indent: merge lexer symbols for type in/outside parentheses
 1.7 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.6 04-Jun-2023  rillig tests/indent: cover code in lexi.c
 1.5 15-May-2023  rillig indent: improve type guessing, fix formatting of declarations
 1.4 15-May-2023  rillig tests/indent: test type detection
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.9 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.8 16-Jun-2023  rillig indent: fix indentation and linebreaks in typedef declarations
 1.7 16-Jun-2023  rillig tests/indent: demonstrate wrong tokenization after typedef

Since 2023-06-10 06:52, which fixed the indentation of C11 _Generic
expressions.
 1.6 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 12-Feb-2022  rillig indent: fix indentation of enum constants in typedef (since 2019-04-04)

The solution is not elegant since it adds a small state machine inside
the parser state, but at least these states only depend on the sequence
of token types and not on any other part of the parser state.

Reported in PR#55453.
 1.2 12-Feb-2022  rillig tests/indent: demonstrate wrong formatting of enum (since 2019-04-04)

Reported by me in PR#55453.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.13 22-Oct-2023  rillig tests/indent: clean up comments
 1.12 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.11 16-Jun-2023  rillig indent: improve heuristics for casts
 1.10 08-Jun-2023  rillig indent: remove fragile heuristic for detecting cast expressions

The assumption that in an expression of the form '(a * anything)', the
'*' marks a pointer type was too simple-minded.

For now, fix the obvious cases and leave the others for later. If
needed, they can be worked around using the '-T' option.
 1.9 08-Jun-2023  rillig tests/indent: add more tests, from indent's own code
 1.8 02-Jun-2023  rillig indent: improve heuristics of classifying '*' as pointer or operator
 1.7 23-May-2023  rillig tests/indent: add code snippets found in make and lint1
 1.6 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 23-Apr-2022  rillig tests/indent: migrate tests for unary and binary operators
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.7 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.6 02-Jun-2023  rillig branches: 1.6.2;
indent: force each statement on a new line

Previously, '{} while (cond)' was kept on a single line, even though the
'while' was independent of the '{}'.
 1.5 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.7 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.6 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 20-Nov-2021  rillig indent: fix tokenizing of word-like tokens (since 2019-04-04)

After a backslash-newline, the first character of the next line is only
part of the identifier if it is an identifier character.

indent-2000.10.11.14.46.04
| int var \
| +name = 4;
indent-2012.11.20.03.02.57

indent-2014.09.04.04.06.07
| int var \
| +name = 4;
indent-2019.02.03.03.19.29

indent-2019.04.04.15.27.35
| int var+name = 4;
indent-2021.11.19.20.23.17

indent
| int var + name = 4;
 1.2 20-Nov-2021  rillig tests/indent: demonstrate wrong identifier token (since 2019-04-04)

No matter how simple a piece of code is, without proper automated tests
there is always the chance of breaking it.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.2 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file ncs.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file ncs.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file ncs.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate test for offsetof to t_options
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file offsetof.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate test for offsetof to t_options
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file offsetof.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.3 23-Oct-2021  rillig tests/indent: migrate test for '--version' to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate test for '--version' to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate test for '--version' to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.3 14-Mar-2021  rillig indent: fix off-by-one error in comment wrapping

The manual page says that the default maximum length of a comment line
is 78. The test 'comments.0' wrongly assumed that this 78 would refer
to the maximum _column_ allowed, which is off by one.

Fix the wording in the test 'comments.0' and remove the (now satisfied)
expectation comments in the test 'token-comment.0'.

Several other tests just happened to hit that limit, fix these as well.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 05-Oct-2021  rillig tests/indent: demonstrate bugs in -bacc and -nbacc

This part of indent has been broken since at least 2000. The update from
FreeBSD indent on 2019-04-04 made it worse than before.

To see the various results over time, older versions of indent compile
fine if they get passed the -fcommon compiler option.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 05-Oct-2021  rillig tests/indent: demonstrate bugs in -bacc and -nbacc

This part of indent has been broken since at least 2000. The update from
FreeBSD indent on 2019-04-04 made it worse than before.

To see the various results over time, older versions of indent compile
fine if they get passed the -fcommon compiler option.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate test for '-bap -sob' to t_options
 1.1 08-Mar-2021  rillig tests/indent: demonstrate wrong removed empty line before '//'
 1.2 23-Oct-2021  rillig tests/indent: migrate test for '-bap -sob' to t_options
 1.1 08-Mar-2021  rillig tests/indent: demonstrate wrong removed empty line before '//'
 1.3 23-Oct-2021  rillig tests/indent: migrate test for '-bap -sob' to t_options
 1.2 14-Mar-2021  rillig indent: fix off-by-one error in comment wrapping

The manual page says that the default maximum length of a comment line
is 78. The test 'comments.0' wrongly assumed that this 78 would refer
to the maximum _column_ allowed, which is off by one.

Fix the wording in the test 'comments.0' and remove the (now satisfied)
expectation comments in the test 'token-comment.0'.

Several other tests just happened to hit that limit, fix these as well.
 1.1 08-Mar-2021  rillig tests/indent: demonstrate wrong removed empty line before '//'
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.3 06-Mar-2021  rillig tests/indent: fix unintended trailing whitespace and space-tab
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 11 test cases, demonstrate 8 bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.6 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 13-Oct-2021  rillig tests/indent: test long comments in single line

I had expected them to differ depending on the option '-[n]fc1', but
they look exactly the same. There are several possibilities for the
leading space in the output.
 1.4 25-Sep-2021  rillig tests/indent: demonstrate mergin of comments

This may or may not have been intended. Especially with the option
'-nfc1' the result looks confusing. It's not a case that occurs every
day, though.
 1.3 24-Sep-2021  rillig tests/indent: demonstrate inconsistent formatting of comments
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.6 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 13-Oct-2021  rillig tests/indent: test long comments in single line

I had expected them to differ depending on the option '-[n]fc1', but
they look exactly the same. There are several possibilities for the
leading space in the output.
 1.4 25-Sep-2021  rillig tests/indent: demonstrate mergin of comments

This may or may not have been intended. Especially with the option
'-nfc1' the result looks confusing. It's not a case that occurs every
day, though.
 1.3 24-Sep-2021  rillig tests/indent: demonstrate inconsistent formatting of comments
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.3 08-Oct-2021  rillig indent: remove 'global' from the list of keywords

Since 1978, 'global' has not been a keyword in C. Moreover, it was
declared as a type while its name would rather suggest a storage class.

Removing the keyword fixes the formatting of variables named 'global'.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.3 08-Oct-2021  rillig indent: remove 'global' from the list of keywords

Since 1978, 'global' has not been a keyword in C. Moreover, it was
declared as a type while its name would rather suggest a storage class.

Removing the keyword fixes the formatting of variables named 'global'.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 05-Oct-2021  rillig tests/indent: demonstrate bugs in -bacc and -nbacc

This part of indent has been broken since at least 2000. The update from
FreeBSD indent on 2019-04-04 made it worse than before.

To see the various results over time, older versions of indent compile
fine if they get passed the -fcommon compiler option.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 05-Oct-2021  rillig tests/indent: demonstrate bugs in -bacc and -nbacc

This part of indent has been broken since at least 2000. The update from
FreeBSD indent on 2019-04-04 made it worse than before.

To see the various results over time, older versions of indent compile
fine if they get passed the -fcommon compiler option.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add tests for negative options

Since most of these options are of the form "don't do anything", the
input and output of these tests is very similar.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.6 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 13-Oct-2021  rillig tests/indent: test long comments in single line

I had expected them to differ depending on the option '-[n]fc1', but
they look exactly the same. There are several possibilities for the
leading space in the output.
 1.4 25-Sep-2021  rillig tests/indent: demonstrate mergin of comments

This may or may not have been intended. Especially with the option
'-nfc1' the result looks confusing. It's not a case that occurs every
day, though.
 1.3 24-Sep-2021  rillig tests/indent: demonstrate inconsistent formatting of comments
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.6 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 13-Oct-2021  rillig tests/indent: test long comments in single line

I had expected them to differ depending on the option '-[n]fc1', but
they look exactly the same. There are several possibilities for the
leading space in the output.
 1.4 25-Sep-2021  rillig tests/indent: demonstrate mergin of comments

This may or may not have been intended. Especially with the option
'-nfc1' the result looks confusing. It's not a case that occurs every
day, though.
 1.3 24-Sep-2021  rillig tests/indent: demonstrate inconsistent formatting of comments
 1.2 06-Mar-2021  rillig tests/indent: add 17 more tests, found only a single new bug

Discovering one bug in 17 command line options is acceptable. This
compensates the bad first impression I got in the previous batch of
tests, which consisted of 11 tests and found 8 bugs.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 06-Mar-2021  rillig tests/indent: add more tests, discover more bugs
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 11-Oct-2021  rillig tests/indent: finally found some "optional" blank lines
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 11-Oct-2021  rillig tests/indent: finally found some "optional" blank lines
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.5 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.4 11-Oct-2021  rillig tests/indent: finally found some "optional" blank lines
 1.3 11-Oct-2021  rillig tests/indent: add more tests for -sob; nothing is swallowed at all
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.5 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.4 11-Oct-2021  rillig tests/indent: finally found some "optional" blank lines
 1.3 11-Oct-2021  rillig tests/indent: add more tests for -sob; nothing is swallowed at all
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.3 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 08-Oct-2021  rillig tests/indent: demonstrate uncounted comments
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.4 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 08-Oct-2021  rillig tests/indent: demonstrate uncounted comments
 1.2 07-Mar-2021  rillig tests/indent: add tests for the remaining command line options
 1.1 06-Mar-2021  rillig tests/indent: add templates for options tests

Given that indent "has even more switches than ls(1)", there are far too
few tests. To make it easier to add meaningful tests for each of the
options, add the templates for the tests right now, ready to be filled
in.
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 07-Oct-2021  rillig tests/indent: test parsing of command line options in profile file
 1.4 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.3 17-Oct-2021  rillig indent: parse int command line options strictly

On i386 and other platforms where LONG_MAX == INT_MAX, the test
t_errors/option_tabsize_very_large failed since the behavior on integer
overflow differs between ILP32 and LP64 platforms. Noticed by gson@.

Avoid this unintended difference by adding reasonable limits for each of
the integer options and by replacing atoi with strtol.
 1.2 13-Oct-2021  rillig indent: check command line options stricter

Previously, bool options were allowed to have trailing garbage. For
example, the option '-bacc' could be spelled '-bacchus' as well.

Check that the exact option name is given in the command line, to
prevent typos in the configuration files and to reduce surprises just in
case a future option is a prefix of an existing option, or vice versa.

Add a new test program for error handling. Most of these tests are so
simple that it would be overkill to create 3 files for each test.
 1.1 07-Oct-2021  rillig tests/indent: test parsing of command line options in profile file
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 07-Oct-2021  rillig tests/indent: test parsing of command line options in profile file
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 20-Nov-2021  rillig indent: clean up lint annotation and tests
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.5 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.13 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.12 20-May-2023  rillig indent: implement blank lines around conditional compilation
 1.11 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.10 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.9 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.8 23-Apr-2022  rillig indent: group global variables related to output control

No functional change.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.5 19-Nov-2021  rillig indent: fix formatting of function definitions (since 2019-04-04)

In the definition of a function with a pointer return type, the
formatting depended on the name of the function. Function names
matching [A-Za-z+] were formatted correctly, those containing [$0-9_]
weren't.
 1.4 20-Oct-2021  rillig indent: rename blankline_requested variables

The words 'prefix' and 'postfix' sounded too much like horizontal
concepts, like in operators. The actual purpose of these variables is to
add blank lines before and after the current line, so use the same
wording as in the command line options.

No functional change.
 1.3 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.2 16-Oct-2021  rillig tests/indent: restructure test for '-bacc' and '-nbacc'

To see the effects of the options, group the tests into sections, each
containing a small piece of code followed by the output of the two
options.
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.13 22-Oct-2023  rillig tests/indent: clean up comments
 1.12 26-Jun-2023  rillig indent: in -bad mode, don't add a blank line above a comment or '}'
 1.11 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.10 14-May-2023  rillig indent: fix vertical spacing after declarations

A comment is not supposed to change the state of the 'blank line after
declaration', but it did. The initialization of saved_just_saw_decl was
wrong though since it tried to capture the previous value after it had
already been overwritten.
 1.9 13-May-2023  rillig indent: implement 'blank after declarations'
 1.8 13-May-2023  rillig tests/indent: extend test for blank line after declaration
 1.7 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.3 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.2 16-Oct-2021  rillig tests/indent: clean up tests for '-bad' and '-badp'
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.16 27-Jun-2023  rillig indent: fix 'blank line above first statement in function body'
 1.15 27-Jun-2023  rillig tests/indent: test the -badp option
 1.14 26-Jun-2023  rillig indent: implement 'blank line above first statement in function body'
 1.13 26-Jun-2023  rillig tests/indent: extend test for -badp option
 1.12 04-Jun-2023  rillig tests/indent: clean up comments
 1.11 15-May-2023  rillig tests/indent: -badp should not add blank lines in initializers
 1.10 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.9 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.8 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 20-Nov-2021  rillig indent: clean up lint annotation and tests
 1.5 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 17-Oct-2021  rillig tests/indent: remove redundant test output for -nbap
 1.2 16-Oct-2021  rillig tests/indent: clean up tests for '-bad' and '-badp'
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.11 23-Jun-2023  rillig tests/indent: fix comments
 1.10 16-Jun-2023  rillig indent: don't force a blank line between '}' and preprocessing line
 1.9 23-May-2023  rillig tests/indent: add code snippets found in make and lint1
 1.8 20-May-2023  rillig indent: don't insert blank line between two closing lines
 1.7 20-May-2023  rillig indent: implement blank line after function body
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.3 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.2 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 23-Oct-2021  rillig tests/indent: migrate test for '-bap -sob' to t_options
 1.11 18-Jun-2023  rillig indent: only add blank lines before actual block comments
 1.10 18-Jun-2023  rillig indent: test block comments and the -bbb option
 1.9 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.8 20-May-2023  rillig indent: implement blank line above block comment
 1.7 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.13 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.12 14-Jun-2023  rillig indent: clean up the code, add a few tests
 1.11 14-Jun-2023  rillig indent: allow more than 20 nested parentheses or brackets
 1.10 10-Jun-2023  rillig indent: fix token classification in declarations

As a side effect, indent handles _Generic from C11 properly now, at
least in -nlp mode.
 1.9 10-Jun-2023  rillig indent: rename and sort variables in parser state

No functional change.
 1.8 02-Jun-2023  rillig indent: fix formatting of declarations with preprocessing lines
 1.7 02-Jun-2023  rillig tests/indent: demonstrate bugs when formatting preprocessing lines
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.10 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.9 21-May-2023  rillig branches: 1.9.2;
tests/indent: fix outdated or wrong comments
 1.8 11-May-2023  rillig indent: add debug output for tracking comments and braces
 1.7 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 20-Nov-2021  rillig indent: clean up lint annotation and tests
 1.3 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.2 07-Nov-2021  rillig indent: fix handling of C99 comments after 'if (expr)'
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.9.2.1 02-Aug-2025  perseant Sync with HEAD
 1.10 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.9 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.8 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.7 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.6 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.5 26-Oct-2021  rillig tests/indent: test edge cases for blank after sizeof
 1.4 24-Oct-2021  rillig tests/indent: test interaction between -pcs and -bs
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.5 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.10 09-Jun-2023  rillig indent: preserve block comments with delimiters
 1.9 19-May-2023  rillig tests/indent: test multi-line comments with -ncdb
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 20-Nov-2021  rillig tests/indent: clean up test for the options '-cdb' and '-ncdb'
 1.5 07-Nov-2021  rillig indent: only access buffer data in the range [buf.s, buf.e)

No functional change.
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.7 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.11 10-Jun-2023  rillig indent: fix indentation of continuation lines in initializers
 1.10 09-Jun-2023  rillig indent: indent multi-line expressions according to parentheses

This reverts the FreeBSD change from 2004-02-12 that had been imported
on 2019-04-04.
 1.9 18-May-2023  rillig indent: manually wrap overly long lines

No functional change.
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.3 01-Nov-2021  rillig indent: fix missing blank after 'return' (since 2021-10-31)

In indent.c 1.200 from 2021-10-31, the subtypes of identifier tokens
were removed since they were redundant. An unintended side effect was
that a parenthesized expression after 'return' was no longer separated
by a blank.

Before that change, 'return' was tokenized as an lsym_ident with subtype
kw_other, and want_space_before_lparen handled this case in the last
line. After the change, 'return' was treated as an ordinary identifier,
and unless the option '-pcs' (blank after function call) was given, the
blank was removed.

The other keywords that had kw_other are not affected since they do not
expect a '(' afterwards. These keywords are 'break', 'continue', 'goto',
'inline' and 'restrict'.

Curiously, there was not a single test case that covered 'return(expr)'.

While here, remove the trailing ',' from the enum lexer_symbol, which is
not allowed in standard C, it is a GNU extension. Lint doesn't complain
about this since the default LINTFLAGS include '-g' for GCC mode.
 1.2 01-Nov-2021  rillig tests/indent: test option '-ci'

There are quite a few tricky special cases, but as they are all listed
in the manual page, they are not surprising.
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.7 10-Jun-2023  rillig indent: fix stack overflow, add more tests

For several parser symbols, 2 symbols are pushed in a row, which led to
an out-of-bounds write.
 1.6 06-Jun-2023  rillig indent: compute indentation of 'case' labels on-demand

One less moving part to keep track of.

No functional change.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 28-Nov-2021  rillig tests/indent: migrate test token_case_label to lsym_case_label
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 07-Nov-2021  rillig tests/indent: test cast, line counting, comment in struct
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 24-Oct-2021  rillig indent: fix indentation of ad-hoc tagged variables

Seen among others in usr.bin/indent/lexi.c, variable 'keywords'.
 1.3 24-Oct-2021  rillig tests/indent: demonstrate wrong indentation for initialized variable
 1.2 24-Oct-2021  rillig tests/indent: add more tests for option '-di'
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.9 26-Jun-2023  rillig tests/indent: strengthen requirements for test input files

Previously, 'indent run-equals-prev-output' was allowed even when there
was no 'indent run' section above. This created an ambiguity, since
'previous output' could mean either the 'indent run' section or the
'indent run-equals-input' section.
 1.8 05-Jun-2023  rillig tests/indent: add test for left-justifying declarations
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.3 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.2 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.15 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.14 09-Jun-2023  rillig indent: when an indentation is ambiguous, indent one level further

The '-eei' mode now applies whenever the indentation from a multi-line
expression could be confused with a following statement.
 1.13 09-Jun-2023  rillig tests/indent: test extra indentation in expressions
 1.12 15-May-2023  rillig indent: fix indentation of statements after controlling expression
 1.11 15-May-2023  rillig tests/indent: add another test for -eei -nlp
 1.10 15-May-2023  rillig indent: fix indentation of expressions in -nlp -eei mode
 1.9 15-May-2023  rillig tests/indent: test extra indentation with fixed continuation indentation
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.5 07-Nov-2021  rillig tests/indent: demonstrate buggy combination of '-eei' and '-nlp'

Seen in indent.c.
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.11 14-May-2023  rillig indent: fix handling of multiple block comments in a line
 1.10 14-May-2023  rillig indent: in comments, keep a leading tab

This kind of comments is used for the CVS IDs at the top of files.
 1.9 13-May-2023  rillig indent: do not add a space before a comment that starts a line
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 25-Nov-2021  rillig indent: fix accidentally joined and broken comments (since 2019-04-04)

The fixed version is not perfect as it gets the indentation of the last
line of the first comment wrong, but at least indent doesn't generate
malformed output anymore.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.2 24-Oct-2021  rillig indent: fix indentation of ad-hoc tagged variables

Seen among others in usr.bin/indent/lexi.c, variable 'keywords'.
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.10 09-Jun-2023  rillig indent: indent multi-line expressions according to parentheses

This reverts the FreeBSD change from 2004-02-12 that had been imported
on 2019-04-04.
 1.9 08-Jun-2023  rillig indent: fix indentation in multi-line else-if conditions
 1.8 08-Jun-2023  rillig tests/indent: extend test for wrong indentation in 'else if'
 1.7 23-May-2023  rillig tests/indent: add code snippets found in make and lint1
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.8 10-Jun-2023  rillig indent: fix indentation of continuation lines in initializers
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.18 16-Jun-2023  rillig indent: fix spacing between postfix operator and left parenthesis
 1.17 14-Jun-2023  rillig indent: allow more than 20 nested parentheses or brackets
 1.16 18-May-2023  rillig indent: document the funcname token
 1.15 15-May-2023  rillig indent: fix type cast in function definition
 1.14 15-May-2023  rillig indent: fix spacing between function prototype and attributes
 1.13 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.12 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.11 25-Nov-2021  rillig tests/indent: remove unnecessary option for testing '-pcs'

Before lexi.c 1.157 from 2021-11-25, the option '-npsl' had been
necessary to prevent a wrong line break, as indent wrongly interpreted
the function declaration as a function definition, just because the
first ')' in the declaration line was not immediately followed by a ','
or ';'.
 1.10 25-Nov-2021  rillig indent: fix space after function name for option '-pcs'
 1.9 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.8 31-Oct-2021  rillig indent: for '-pcs', add blank between function and '('

Before indent-2021.09.30.21.48.12, the blank had always been added, even
in '-npcs' mode. Since then, the blank had never been added.

Now, add the blank in '-pcs' mode and omit it in '-npcs' mode.
 1.7 31-Oct-2021  rillig tests/indent: test function declaration with '-pcs' and '-npcs'

The conditions in want_blank_before_lparen are not ordered correctly.
opt.proc_calls_space should override ')('.
 1.6 31-Oct-2021  rillig tests/indent: test indirect function call with '-pcs' and '-npcs'
 1.5 24-Oct-2021  rillig tests/indent: test interaction between -pcs and -bs
 1.4 24-Oct-2021  rillig tests/indent: add test for sizeof and offsetof with -pcs
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.8 17-Jun-2023  rillig tests/indent: add miscellaneous test cases found during clean up
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.10 05-Jun-2023  rillig indent: don't remove blank line after 'if (expr) {'
 1.9 02-Jun-2023  rillig indent: clean up

Only print the 'token' buffer in debug mode if it is interesting, group
the blocks in handling of '(' tokens by topic, remove obsolete comment
from test.
 1.8 23-May-2023  rillig tests/indent: add code snippets found in make and lint1
 1.7 22-May-2023  rillig indent: implement suppressing optional blank lines
 1.6 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.6 15-May-2023  rillig indent: fix type cast in function definition
 1.5 15-May-2023  rillig indent: fix spacing between function prototype and attributes
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.2 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.13 05-Jun-2023  rillig indent: do not report broken lines, report configuration on stderr
 1.12 12-May-2023  rillig indent: remove statistics

The numbers from the statistics were wrong.
 1.11 11-May-2023  rillig indent: don't touch comments in preprocessing lines

The indentation of multi-line comments was wrong, and the code for
handling them was too complicated.
 1.10 11-May-2023  rillig indent: remove broken code for handling blank lines

This fixes several bugs where blank lines were erroneously added or
removed, treating these old bugs for new bugs in different places.
These new bugs are expected to be easier to fix, as the old bugs will
not interfere anymore.
 1.9 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.8 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.7 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.6 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 07-Nov-2021  rillig tests/indent: test cast, line counting, comment in struct
 1.3 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.2 16-Oct-2021  rillig tests/lint: document and extend the tests for options
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 28-Oct-2021  rillig indent: change product name, update version number

NetBSD's indent has deviated enough from FreeBSD's indent to warrant a
different product name. When indent was copied from FreeBSD in 2019,
that update introduced several new bugs, some of which have been fixed
in the NetBSD version.

NetBSD indent, unlike FreeBSD indent, supports C99 comments and C99
initializer designators.
 1.1 23-Oct-2021  rillig tests/indent: migrate test for '--version' to t_options
 1.3 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.2 06-Mar-2021  rillig tests/indent: fix unintended trailing whitespace and space-tab
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file parens.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file parens.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.3 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.2 30-Sep-2021  rillig indent: remove space between ')' and '(' in declarations
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file parens.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file pcs.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file pcs.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 18-Oct-2021  rillig tests/indent: remove redundant tests for '-ncs' and '-pcs'

These tests are already covered by opt_cs.c and opt_pcs.c.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file pcs.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.3 18-Oct-2021  rillig tests/indent: condense test for indentation level, add missing files
 1.2 05-Oct-2021  rillig indent: make off-by-one error in main_prepare_parsing more visible

No functional change.
 1.1 05-Oct-2021  rillig tests/indent: demonstrate off-by-one error in edge case
 1.2 18-Oct-2021  rillig tests/indent: condense test for indentation level, add missing files
 1.1 05-Oct-2021  rillig tests/indent: demonstrate off-by-one error in edge case
 1.4 18-Oct-2021  rillig tests/indent: condense test for indentation level, add missing files
 1.3 05-Oct-2021  rillig tests/indent: document missing space between '){'
 1.2 05-Oct-2021  rillig indent: fix off-by-one error for indented first line
 1.1 05-Oct-2021  rillig tests/indent: demonstrate off-by-one error in edge case
 1.9 15-Jun-2023  rillig indent: miscellaneous cleanups, more tests for edge cases
 1.8 14-Jun-2023  rillig indent: clean up the code, add a few tests
 1.7 15-May-2023  rillig indent: fix spacing between function prototype and attributes
 1.6 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.5 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.4 25-Nov-2021  rillig tests/indent: rename ps.in_parameter_declaration in test as well
 1.3 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.2 30-Oct-2021  rillig tests/indent: test variable indentation with exotic options
 1.1 18-Oct-2021  rillig tests/indent: condense test for indentation level, add missing files
 1.5 14-Jun-2023  rillig indent: clean up handling of comments

One less moving part in the parser state.

No functional change.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 05-Jun-2023  rillig tests/indent: add tests for 'do-while' loops
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 07-Jan-2025  rillig indent: condense and simplify parsing code
 1.4 24-Apr-2022  rillig branches: 1.4.4;
tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.8 07-Jan-2025  rillig indent: fix indentation of comment above 'else'

Previously, indent assumed that no 'else' would follow.
 1.7 16-Jun-2023  rillig branches: 1.7.2;
tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.6 14-Jun-2023  rillig tests/indent: separate stdout from stderr

Due to buffering, there was no guarantee that the output would be
exactly in the same order as written in the tests.
 1.5 10-Jun-2023  rillig indent: fix stack overflow, add more tests

For several parser symbols, 2 symbols are pushed in a row, which led to
an out-of-bounds write.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.7.2.1 02-Aug-2025  perseant Sync with HEAD
 1.7 07-Jan-2025  rillig indent: fix indentation of statement after deeply nested 'if'
 1.6 15-May-2023  rillig branches: 1.6.2;
indent: fix spacing in for loop with declaration (since 2022-02-13)
 1.5 15-May-2023  rillig tests/indent: demonstrate wrong spacing in for loops
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6.2.1 02-Aug-2025  perseant Sync with HEAD
 1.5 10-Jun-2023  rillig tests/indent: add move coverage tests
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 07-Jan-2025  rillig indent: fix indentation of statement after deeply nested 'if'
 1.4 24-Apr-2022  rillig branches: 1.4.4;
tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.7 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.6 03-Jan-2025  rillig tests/indent: demonstrate wrong indentation in multi-line else-if
 1.5 11-May-2023  rillig branches: 1.5.2;
indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5.2.1 02-Aug-2025  perseant Sync with HEAD
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5 16-Jun-2023  rillig tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.4 14-Jun-2023  rillig indent: clean up the code, add a few tests
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.4 12-May-2023  rillig tests/indent: test pushing the placeholder symbol to the parser stack
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.7 14-Jun-2023  rillig indent: merge parser symbols for stmt and stmt_list

They were handled in exactly the same way.
 1.6 09-Jun-2023  rillig indent: don't treat function call expressions as cast expressions
 1.5 09-Jun-2023  rillig tests/indent: add real-life test cases from make(1) and lint(1)
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 14-Jun-2023  rillig indent: merge parser symbols for stmt and stmt_list

They were handled in exactly the same way.
 1.5 02-Jun-2023  rillig indent: force each statement on a new line

Previously, '{} while (cond)' was kept on a single line, even though the
'while' was independent of the '{}'.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 23-Jun-2023  rillig tests/indent: fix comments
 1.5 06-Jun-2023  rillig indent: compute indentation of 'case' labels on-demand

One less moving part to keep track of.

No functional change.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.6 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.5 02-Jun-2023  rillig branches: 1.5.2;
indent: force each statement on a new line

Previously, '{} while (cond)' was kept on a single line, even though the
'while' was independent of the '{}'.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Nov-2021  rillig tests/indent: add skeletons for testing tokens and parser symbols

The constants that were previously defined in indent_codes.h were a wild
mixture of tokens from the lexer and symbols on the parser stack. They
were split into separate types starting at indent.h 1.49 from 2021-10-25
and finishing at 1.73 from 2021-10-31.

To match the tests with the new token names, the old tests need to be
migrated to the newly added tests. This will take some time so first
add the skeletons and migrate them in smaller steps, cleaning them up
and extending them on the way.
 1.5.2.1 02-Aug-2025  perseant Sync with HEAD
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file struct.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file struct.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file surplusbad.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file surplusbad.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file surplusbad.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.39 03-Jan-2025  rillig indent: fix line breaks in else-if sequences

The flag ps.want_newline did not adequately model the conditions under
which a line break should be inserted, thus the redesign.

A welcome side effect is that in statements like 'if (cond);', the
semicolon is now placed on a separate line, thus becoming more visible.
 1.38 10-Dec-2023  rillig branches: 1.38.2;
tests/indent: fix name of test case
 1.37 14-Jun-2023  rillig indent: allow more than 128 brace levels
 1.36 14-Jun-2023  rillig indent: allow more than 5 levels of #if/#endif
 1.35 10-Jun-2023  rillig indent: fix stack overflow, add more tests

For several parser symbols, 2 symbols are pushed in a row, which led to
an out-of-bounds write.
 1.34 09-Jun-2023  rillig indent: support C99 compound literals
 1.33 05-Jun-2023  rillig indent: fix trailing whitespace after comment
 1.32 04-Jun-2023  rillig tests/indent: cover code in lexi.c
 1.31 04-Jun-2023  rillig indent: fix formatting of compound expressions, at least partially
 1.30 21-May-2023  rillig tests/indent: fix outdated or wrong comments
 1.29 21-May-2023  rillig indent: don't error out on unrecognized preprocessor directives

This allows indent to be used on the GCC preprocessor output.
 1.28 14-May-2023  rillig indent: miscellaneous cleanups
 1.27 13-May-2023  rillig indent: do not add a space before a comment that starts a line
 1.26 13-May-2023  rillig indent: preserve indentation of preprocessor directives
 1.25 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.24 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.23 13-Feb-2022  rillig tests/indent: demonstrate the poor handling of compound literals
 1.22 25-Nov-2021  rillig indent: make error message for missing command line arguments clearer
 1.21 25-Nov-2021  rillig tests/indent: use escape sequence for newline characters

No functional change.
 1.20 07-Nov-2021  rillig indent: parse special options strictly
 1.19 07-Nov-2021  rillig tests/indent: test lenient option parsing
 1.18 07-Nov-2021  rillig indent: remove redundant assignment

At that point, ps.next_col_1 is already false.

No functional change.
 1.17 30-Oct-2021  rillig indent: fix assertion in fits_in_one_line
 1.16 30-Oct-2021  rillig tests/indent: demonstrate assertion failure in fits_in_one_line
 1.15 30-Oct-2021  rillig indent: revert previous fix of assertion failure

The strange code with the out of bounds memory access is needed to
transform 'if (expr) /* comment */ {' to 'if (expr) { /* comment */',
that is, to move the comment to the right.

Add a test that prevents "repairing" this code again.
 1.14 30-Oct-2021  rillig indent: fix assertion failure in search_stmt_comment

I have no idea why the code was written in such a convoluted way before.
By removing all the code that didn't make sense, everything just works
as expected, and the existing tests all pass, especially those in
token_comment.c that mention search_stmt_comment.
 1.13 29-Oct-2021  rillig indent: replace segmentation fault with assertion
 1.12 29-Oct-2021  rillig tests/indent: demonstrate segmentation fault in search_stmt_comment
 1.11 29-Oct-2021  rillig indent: spell 'parentheses' properly in messages and comments
 1.10 29-Oct-2021  rillig tests/indent: provoke the third occurrence of 'unbalanced parens'
 1.9 29-Oct-2021  rillig tests/indent: provoke error messages for unbalanced parentheses
 1.8 28-Oct-2021  rillig indent: fix error message for buffer overflow during option parsing

At this early time, the input file has not been opened yet, so there is
no reason to output either the input file name or the line number.
 1.7 28-Oct-2021  rillig indent: make error messages for option parsing more precise
 1.6 28-Oct-2021  rillig indent: parse option '-cli' strictly
 1.5 24-Oct-2021  rillig indent: clean up format of warnings and errors

Previously, warnings and errors had the form of C block comments. Before
NetBSD io.c 1.20 from 2019-10-19, this format made sense because the
diagnostics could end up in the same output stream as the formatted
output.

Since NetBSD io.c 1.20 from 2019-10-19, all diagnostics are redirected
to stderr. This change was not mentioned in the commit message back
then, it makes sense nevertheless. Since stdout and stderr now are
properly separated, there is no need anymore to keep the weird format
for warnings and errors. Switch to the standard 'error: file:line'
format.

Move the function 'diag' to indent.c to have access to the name of the
current input file.
 1.4 17-Oct-2021  rillig indent: parse int command line options strictly

On i386 and other platforms where LONG_MAX == INT_MAX, the test
t_errors/option_tabsize_very_large failed since the behavior on integer
overflow differs between ILP32 and LP64 platforms. Noticed by gson@.

Avoid this unintended difference by adding reasonable limits for each of
the integer options and by replacing atoi with strtol.
 1.3 14-Oct-2021  rillig tests/indent: cover more error cases and inline indentation
 1.2 14-Oct-2021  rillig tests/indent: provide full line coverage for argument handling
 1.1 13-Oct-2021  rillig indent: check command line options stricter

Previously, bool options were allowed to have trailing garbage. For
example, the option '-bacc' could be spelled '-bacchus' as well.

Check that the exact option name is given in the command line, to
prevent typos in the configuration files and to reduce surprises just in
case a future option is a prefix of an existing option, or vice versa.

Add a new test program for error handling. Most of these tests are so
simple that it would be overkill to create 3 files for each test.
 1.38.2.1 02-Aug-2025  perseant Sync with HEAD
 1.8 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.7 25-Sep-2021  rillig tests/indent: clean up test driver

For most of the test data, it was not necessary to copy the files to the
working directory, even though the comment said so. The test data had
been taken from the cleaned files anyway.

Use sed instead of cp to copy the files, to allow for comments in all
kind of files, even the type lists for the option '-U'.
 1.6 25-Sep-2021  rillig tests/indent: fix ShellCheck warnings, use simple variables
 1.5 24-Sep-2021  rillig tests/indent: demonstrate token repetition after line-end comment
 1.4 08-Mar-2021  rillig tests/indent: demonstrate wrong removed empty line before '//'
 1.3 08-Mar-2021  rillig tests/indent: allow golden stderr file, improve filenames, clean up code

When indent runs in filter mode, it may output messages to stderr.
Allow tests with non-empty expected stderr.

In the ATF output, the filename 'output_file.parsed' was not helpful for
casual readers of diff output since they expect the filenames to be
meaningful. Embed the name of the test case in that filename.

Fix quoting of the shell variables.

Remove the repetition of the regular expression to clean up the test
files.
 1.2 07-Mar-2021  rillig tests/indent: allow for comments in either the input or output files
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file t_indent.sh was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.29 17-Dec-2023  rillig tests/indent: don't create an unneeded file
 1.28 10-Dec-2023  rillig indent: be strict about options from profile files

Previously, the "option" 'xdi0' was treated the same as '-xdi0'.
 1.27 05-Jun-2023  rillig indent: do not report broken lines, report configuration on stderr
 1.26 05-Jun-2023  rillig indent: clean up handling of whitespace

No functional change.
 1.25 15-May-2023  rillig indent: remove accidental space before tab
 1.24 13-May-2023  rillig indent: preserve indentation of preprocessor directives
 1.23 13-May-2023  rillig tests/indent: explain, clean up and add some tests
 1.22 12-May-2023  rillig indent: remove statistics

The numbers from the statistics were wrong.
 1.21 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.20 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.19 25-Nov-2021  rillig tests/indent: use escape sequence for newline characters

No functional change.
 1.18 25-Nov-2021  rillig tests/indent: test in-place formatting with parse errors

The file gets formatted until the end, despite the parse error. This may
destroy layout details of the code but usually preserves the overall
structure. Since all source code is supposed to be under version
control, this is not a problem.
 1.17 20-Nov-2021  rillig indent: clean up lint annotation and tests
 1.16 19-Nov-2021  rillig tests/indent: refine and extend tests
 1.15 07-Nov-2021  rillig indent: fix handling of C99 comments after 'if (expr)'
 1.14 07-Nov-2021  rillig indent: demonstrate controlled buffer overflow in C99 comment
 1.13 07-Nov-2021  rillig tests/indent: test options without '-' in profile files
 1.12 30-Oct-2021  rillig tests/indent: test several options '-P'
 1.11 29-Oct-2021  rillig indent: clean up main_init_globals

No functional change.
 1.10 29-Oct-2021  rillig indent: spell 'parentheses' properly in messages and comments
 1.9 28-Oct-2021  rillig indent: parse option '-cli' strictly
 1.8 24-Oct-2021  rillig indent: clean up format of warnings and errors

Previously, warnings and errors had the form of C block comments. Before
NetBSD io.c 1.20 from 2019-10-19, this format made sense because the
diagnostics could end up in the same output stream as the formatted
output.

Since NetBSD io.c 1.20 from 2019-10-19, all diagnostics are redirected
to stderr. This change was not mentioned in the commit message back
then, it makes sense nevertheless. Since stdout and stderr now are
properly separated, there is no need anymore to keep the weird format
for warnings and errors. Switch to the standard 'error: file:line'
format.

Move the function 'diag' to indent.c to have access to the name of the
current input file.
 1.7 24-Oct-2021  rillig indent: fix line number counting at beginning of function body
 1.6 24-Oct-2021  rillig indent/tests: demonstrate wrong line number counting
 1.5 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.4 22-Oct-2021  rillig tests/indent: migrate integer options tests to t_options
 1.3 22-Oct-2021  rillig tests/indent: migrate a few more tests to t_options
 1.2 14-Oct-2021  rillig tests/indent: cover more error cases and inline indentation
 1.1 14-Oct-2021  rillig tests/indent: provide full line coverage for argument handling
 1.14 20-May-2023  rillig tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.
 1.13 20-May-2023  rillig tests/indent: clean up test driver

No functional change.
 1.12 15-May-2023  rillig indent: remove accidental space before tab
 1.11 11-May-2023  rillig indent: remove buggy code for swapping tokens

It is not the job of an indenter to swap tokens, even if it's only about
placing comments elsewhere. The code that swapped the tokens was
complicated, buggy and impossible to understand.

In -br (brace right) mode, indent no longer moves a '{' from the
beginning of a line to the end of the previous line, as that was handled
by the token swapping code as well. This change is unintended, but it
will be easier to re-add that now that the code is simpler.
 1.10 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.9 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.8 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.7 20-Nov-2021  rillig indent/tests: remove outdated comment

This task was resolved in the previous commit.
 1.6 20-Nov-2021  rillig indent/tests: make warning for empty lines more helpful
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 20-Nov-2021  rillig tests/indent: clean up test for the options '-cdb' and '-ncdb'
 1.3 18-Nov-2021  rillig tests/indent: reorder code in test driver

No functional change.
 1.2 23-Oct-2021  rillig tests/indent: prevent non-comment text to be ignored in the tests
 1.1 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.8 12-Dec-2024  rillig tests/indent: clean up test driver
 1.7 26-Jun-2023  rillig branches: 1.7.2;
tests/indent: strengthen requirements for test input files

Previously, 'indent run-equals-prev-output' was allowed even when there
was no 'indent run' section above. This created an ambiguity, since
'previous output' could mean either the 'indent run' section or the
'indent run-equals-input' section.
 1.6 16-Jun-2023  rillig tests/indent: format stderr output as end-of-line comments

This generates fewer error markers in syntax-aware editors.
 1.5 14-Jun-2023  rillig tests/indent: separate stdout from stderr

Due to buffering, there was no guarantee that the output would be
exactly in the same order as written in the tests.
 1.4 22-May-2023  rillig tests/indent: skip creating an intermediate file in tests
 1.3 21-May-2023  rillig tests/indent: fix outdated or wrong comments
 1.2 20-May-2023  rillig tests/indent: prevent 'indent end' with arguments
 1.1 20-May-2023  rillig tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.
 1.7.2.1 02-Aug-2025  perseant Sync with HEAD
 1.11 20-May-2023  rillig tests/indent: migrate test driver from AWK to Lua

Lua reports more details when os.execute fails, which is useful when
running old versions of indent for comparison. The new test driver also
supports multiple test files in the same run.
 1.10 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.9 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.8 18-Oct-2021  rillig tests/indent: extend tests for labels, extract test driver

Having the test driver in a separate file allows to run it on its own,
as 'awk -f t_options.awk label.c'. When the test driver warns, exit 1;
this is only needed for the standalone version, when run from inside ATF
the warnings on stderr already suffice to make the test fail in the end.
 1.7 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.6 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.5 18-Oct-2021  rillig tests/indent: merge duplicate input/output and output/output

No functional change.
 1.4 17-Oct-2021  rillig tests/lint: use zero-indexed array in awk test program

No functional change.
 1.3 17-Oct-2021  rillig tests/indent: remove redundant test output for -nbap
 1.2 16-Oct-2021  rillig tests/indent: remove duplicate data from options tests
 1.1 16-Oct-2021  rillig tests/indent: condense tests for bool options

Previously, each bool option such as '-bacc/-nbacc' had 6 test files:
input, options, output for the positive and negative option. Splitting
this test data into separate files made it harder than necessary to
quickly compare the test output from '-bacc' with that of '-nbacc'.

Have a single test for the positive and negative option, allowing
several tests to run on the same input with different options.

This commit only contains the rather mechanic changes of concatenating
the previous test files and inserting the '#indent' directives, which
are documented in t_options.sh. Removing duplicate input sections, as
well as other cleanups will follow soon.

No functional change.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 12-Mar-2021  rillig tests/indent: test tokenization of punctuation, mainly operators
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 12-Mar-2021  rillig tests/indent: test tokenization of punctuation, mainly operators
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 12-Mar-2021  rillig tests/indent: test tokenization of punctuation, mainly operators
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 08-Oct-2021  rillig tests/indent: test formatting of the token ':'
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 08-Oct-2021  rillig tests/indent: test formatting of the token ':'
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.13 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.12 14-Oct-2021  rillig tests/indent: test comment to the right, collect more useful tests
 1.11 12-Oct-2021  rillig indent: fix formatting of single-line comments (since today)

The change in pr_comment.c 1.70 from 3 hours ago did not cover all edge
cases correctly. Now it works for comments that are aligned with tabs.
 1.10 12-Oct-2021  rillig tests/indent: test more single-line comments
 1.9 12-Oct-2021  rillig tests/indent: test formatting of long single-line code comments
 1.8 12-Oct-2021  rillig tests/indent: test long code comments
 1.7 08-Oct-2021  rillig tests/indent: demonstrate spaces around comment
 1.6 08-Oct-2021  rillig tests/indent: test formatting of a chaotic boxed comment
 1.5 05-Oct-2021  rillig tests/indent: test INDENT comments
 1.4 05-Oct-2021  rillig tests/indent: test indentation of nested declarations and statements
 1.3 05-Oct-2021  rillig indent: test various forms of comments
 1.2 14-Mar-2021  rillig tests/indent: demonstrate off-by-one error in comment processing
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.2 05-Oct-2021  rillig indent: test various forms of comments
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.15 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.14 14-Oct-2021  rillig tests/indent: test comment to the right, collect more useful tests
 1.13 12-Oct-2021  rillig indent: fix formatting of single-line comments (since today)

The change in pr_comment.c 1.70 from 3 hours ago did not cover all edge
cases correctly. Now it works for comments that are aligned with tabs.
 1.12 12-Oct-2021  rillig tests/indent: test more single-line comments
 1.11 12-Oct-2021  rillig tests/indent: test formatting of long single-line code comments
 1.10 12-Oct-2021  rillig tests/indent: test long code comments
 1.9 12-Oct-2021  rillig indent: fix wrapping for comments in otherwise empty lines

The comment above the code was wrong. The leading 3 characters were
indeed ignored, but the first of them was '/', not ' '. Of the trailing
3 characters, 2 were not ignored. The start and end of the comment would
not cancel out, they would rather sum up.
 1.8 08-Oct-2021  rillig tests/indent: demonstrate spaces around comment
 1.7 08-Oct-2021  rillig tests/indent: test formatting of a chaotic boxed comment
 1.6 05-Oct-2021  rillig tests/indent: test INDENT comments
 1.5 05-Oct-2021  rillig tests/indent: test indentation of nested declarations and statements
 1.4 05-Oct-2021  rillig indent: test various forms of comments
 1.3 14-Mar-2021  rillig indent: fix off-by-one error in comment wrapping

The manual page says that the default maximum length of a comment line
is 78. The test 'comments.0' wrongly assumed that this 78 would refer
to the maximum _column_ allowed, which is off by one.

Fix the wording in the test 'comments.0' and remove the (now satisfied)
expectation comments in the test 'token-comment.0'.

Several other tests just happened to hit that limit, fix these as well.
 1.2 14-Mar-2021  rillig tests/indent: demonstrate off-by-one error in comment processing
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 14-Mar-2021  rillig indent: fix off-by-one error in comment wrapping

The manual page says that the default maximum length of a comment line
is 78. The test 'comments.0' wrongly assumed that this 78 would refer
to the maximum _column_ allowed, which is off by one.

Fix the wording in the test 'comments.0' and remove the (now satisfied)
expectation comments in the test 'token-comment.0'.

Several other tests just happened to hit that limit, fix these as well.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 08-Oct-2021  rillig indent: clean up 'parse', add test for dangling else

No functional change.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 08-Oct-2021  rillig indent: clean up 'parse', add test for dangling else

No functional change.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.4 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 30-Sep-2021  rillig tests/indent: add more tests with ')(', found bug in '//'
 1.2 28-Sep-2021  rillig tests/indent: demonstrate missing space before designated initializer

Seen in usr.bin/indent/lexi.c, num_lex_row.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 28-Sep-2021  rillig tests/indent: demonstrate missing space before designated initializer

Seen in usr.bin/indent/lexi.c, num_lex_row.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.6 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 30-Sep-2021  rillig tests/indent: add more tests with ')(', found bug in '//'
 1.4 30-Sep-2021  rillig indent: remove space between ')' and '(' in declarations
 1.3 30-Sep-2021  rillig indent: add space between ',' and '[' in C99 initializations
 1.2 28-Sep-2021  rillig tests/indent: demonstrate missing space before designated initializer

Seen in usr.bin/indent/lexi.c, num_lex_row.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.7 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.6 09-Oct-2021  rillig tests/indent: test fixing of invalid preprocessor directives
 1.5 08-Oct-2021  rillig tests/indent: test that indent remembers unary/binary operators
 1.4 08-Oct-2021  rillig indent: demonstrate bug in parsing preprocessor lines
 1.3 13-Mar-2021  rillig tests/indent: add another test case for preprocessing directives

In process_preprocessing, the variable 'quote' is not used, which makes
the code suspicious of not handling the combination of string literals
and comments properly.
 1.2 12-Mar-2021  rillig tests/indent: add test for preprocessor lines
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.9 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.8 09-Oct-2021  rillig tests/indent: test fixing of invalid preprocessor directives
 1.7 08-Oct-2021  rillig tests/indent: test that indent remembers unary/binary operators
 1.6 08-Oct-2021  rillig indent: fix parsing of preprocessor lines with comments and strings
 1.5 08-Oct-2021  rillig indent: demonstrate bug in parsing preprocessor lines
 1.4 13-Mar-2021  rillig indent: fix handling of '/*' in string literal in preprocessing line

Previously, the '/*' in the string literal had been interpreted as the
beginning of a comment, which was wrong. Because of that, the variable
declaration in the following line was still interpreted as part of the
comment. The comment even continued until the end of the file.

Due to indent's forgiving nature, it neither complained nor even
mentioned that anything had gone wrong. The decision of rather
producing wrong output than failing early is a dangerous one.

At least, there should have been an error message that at the end of the
file, the parser was still in a a comment, expecting the closing '*/'.
 1.3 13-Mar-2021  rillig tests/indent: add another test case for preprocessing directives

In process_preprocessing, the variable 'quote' is not used, which makes
the code suspicious of not handling the combination of string literals
and comments properly.
 1.2 12-Mar-2021  rillig tests/indent: add test for preprocessor lines
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 25-Sep-2021  rillig tests/indent: test formatting of while and do-while loops
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.3 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 25-Sep-2021  rillig tests/indent: test formatting of while and do-while loops
 1.1 12-Mar-2021  rillig tests/indent: add test templates for testing specific parser symbols

The basic idea of indent is to split the input into tokens and then
reassemble them, reformatting them on the way. These tokens determine
how the output is formatted, therefore add tests for each of the
terminal tokens and nonterminal parser symbols, to cover more common
cases, and edge cases as well.
 1.14 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.13 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.12 23-Apr-2022  rillig tests/indent: add tests for unary and binary operators
 1.11 23-Apr-2022  rillig tests/indent: migrate tests for unary and binary operators
 1.10 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.9 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.8 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.7 04-Nov-2021  rillig indent: fix joining of adjacent unary '+' operators
 1.6 30-Oct-2021  rillig indent: rename prev_newline and prev_col_1 to curr

These two flags describe the token that is currently processed.

In process_binary_op, curr_newline can never be true since newline is
not a binary operator, so remove that condition.

No functional change.
 1.5 29-Oct-2021  rillig tests/indent: test binary operators for tokens in column 1
 1.4 29-Oct-2021  rillig indent: fix missing blank before binary operator
 1.3 26-Oct-2021  rillig tests/indent: document cause for missing space between ')' and '='
 1.2 26-Oct-2021  rillig tests/indent: demonstrate missing space before '='

Reported by RVP via private mail. Broken since the import of FreeBSD
indent in 2019.

indent-2000.10.11.14.46.04
| char *(*fn) (int) = NULL;
indent-2019.02.03.03.19.29

indent-2019.04.04.15.27.35
| char *(* fn) (int)= NULL;
indent-2021.09.30.21.38.43

indent-2021.09.30.21.48.12
| char *(* fn)(int)= NULL;
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 28-Nov-2021  rillig tests/indent: migrate test token_case_label to lsym_case_label
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 28-Nov-2021  rillig tests/indent: move test for ':' to lsym_token.c
 1.2 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 28-Nov-2021  rillig tests/indent: migrate token_comma to lsym_comma

The section on initializer values is new.
 1.2 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.31 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.30 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.29 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.28 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.27 27-Nov-2021  rillig indent: rename dump functions to output

No functional change.
 1.26 25-Nov-2021  rillig indent: fix accidentally joined and broken comments (since 2019-04-04)

The fixed version is not perfect as it gets the indentation of the last
line of the first comment wrong, but at least indent doesn't generate
malformed output anymore.
 1.25 25-Nov-2021  rillig tests/indent: demonstrate bugs in comment processing
 1.24 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.23 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.22 07-Nov-2021  rillig tests/indent: improve code coverage for processing comments
 1.21 07-Nov-2021  rillig indent: remove dead code in analyze_comment

The case of an otherwise empty line is already handled further above.
 1.20 07-Nov-2021  rillig indent: make copy_comment_nowrap simpler

Since a nowrap comment is copied unmodified, it need not depend on any
maximum line length.

No functional change.
 1.19 07-Nov-2021  rillig indent: rename type_at_paren_level_0 to type_outside_parentheses

For symmetry with type_in_parentheses.

No functional change.
 1.18 05-Nov-2021  rillig indent: rename ps.curr_newline to next_col_1

For symmetry with ps.curr_col_1.

No functional change.
 1.17 04-Nov-2021  rillig indent: fix parsing of C99 comments containing '*/'
 1.16 04-Nov-2021  rillig tests/indent: demonstrate wrong edge case in C99 comments
 1.15 30-Oct-2021  rillig indent: rename prev_newline and prev_col_1 to curr

These two flags describe the token that is currently processed.

In process_binary_op, curr_newline can never be true since newline is
not a binary operator, so remove that condition.

No functional change.
 1.14 30-Oct-2021  rillig indent: fix assertion in fits_in_one_line
 1.13 30-Oct-2021  rillig indent: revert previous fix of assertion failure

The strange code with the out of bounds memory access is needed to
transform 'if (expr) /* comment */ {' to 'if (expr) { /* comment */',
that is, to move the comment to the right.

Add a test that prevents "repairing" this code again.
 1.12 30-Oct-2021  rillig tests/indent: add more tests for the assertion in search_stmt_comment
 1.11 30-Oct-2021  rillig tests/indent: test preserving the internal layout of box comments
 1.10 30-Oct-2021  rillig tests/lint: explain and extend the tests for box comments

These tests are in preparation of removing the magic number 4 from
search_stmt_comment.
 1.9 29-Oct-2021  rillig indent: use prev/curr/next to refer to the current token

The word 'last' just didn't match with 'next'.

No functional change.
 1.8 26-Oct-2021  rillig indent: clean up process_comment

There is no undefined behavior since the compared characters are always
from the basic execution character set. All other cases are covered by
the condition above for now_len.

Fix debug logging for non-ASCII characters, previously a character was
output as \xffffffc3.
 1.7 24-Oct-2021  rillig tests/indent: document how empty lines in box comments are handled
 1.6 24-Oct-2021  rillig tests/indent: test form feed in comments
 1.5 19-Oct-2021  rillig tests/indent: move tests for indent comments

The special INDENT ON and INDENT OFF comments look like ordinary
comments but are handled in inbuf_read_line. Implementing this feature
in the input function has several unintended side effects regarding
indentation of these comments, as demonstrated by the tests.
 1.4 19-Oct-2021  rillig indent: if a file ends with indent off, don't add space-newline
 1.3 19-Oct-2021  rillig tests/indent: remove main code from test for token_comment

I had indented to use that code for completing the list of missing tests
but somehow forgot to remove it.
 1.2 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.1 18-Oct-2021  rillig tests/indent: consolidate tests for comments

These tests have been the motivation for t_options.sh, which allows to
run indent with various command line options on the same input, without
having to create 3 files per test case.

A test file actually contains several tests, all separated by '#indent'
directives. Isolating each of these tests is simpler than having to pick
up the corresponding sections from 3 separate files. Running indent on
each small test case isolates the test cases from each other, preventing
them to influence later test cases. Exactly this had happened when
support for C99 comments was added in March 2021, which later turned
out to be done wrong.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 31-Oct-2021  rillig tests/indent: test formatting of 'CPU_INFO_FOREACH(cii, ci)'
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.6 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 07-Nov-2021  rillig indent: demonstrate disappearing form feed
 1.2 07-Nov-2021  rillig tests/indent: fix test for form feed

Previously, I had written a vertical tab instead of a form feed, which
had a different effect.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.8 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.7 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.6 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.5 20-Nov-2021  rillig tests/indent: normalize empty lines in tests
 1.4 20-Nov-2021  rillig indent: clean up lint annotation and tests
 1.3 07-Nov-2021  rillig tests/indent: document quick-and-dirty approach of lex_number
 1.2 07-Nov-2021  rillig tests/indent: test identifiers containing '$'
 1.1 18-Oct-2021  rillig tests/indent: merge tests for numbers into token_ident

The previous tests 'binary' and 'float' not only test binary and
floating point numbers, making their names too specific. Move them into
a new test token_ident that covers all "identifier-like" tokens, just as
in the code.

The test cases for the option '-cs' are already covered more
systematically in opt_cs.c, so remove that test.
 1.3 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 23-Apr-2022  rillig tests/indent: migrate a few token tests to psym tests
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.6 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.3 07-Nov-2021  rillig tests/indent: test cast, line counting, comment in struct
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 23-Apr-2022  rillig tests/indent: migrate tests for the tokens '{' and '.'
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.11 24-Apr-2022  rillig tests/indent: migrate tests for parentheses, brackets, braces
 1.10 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.9 29-Oct-2021  rillig indent: use prev/curr/next to refer to the current token

The word 'last' just didn't match with 'next'.

No functional change.
 1.8 29-Oct-2021  rillig indent: spell 'parentheses' properly in messages and comments
 1.7 25-Oct-2021  rillig tests/indent: clean up test for lbrace

After splitting token_type into separate types, want_blank_before_lparen
cannot depend on a parser_symbol anymore.
 1.6 24-Oct-2021  rillig indent: rename form_feed to tt_lex_form_feed

No functional change.
 1.5 24-Oct-2021  rillig indent: split kw_do_or_else into separate constants

It was unnecessarily confusing to have the token types keyword_do_else,
keyword_do and keyword_else at the same time, without any hint in what
they differed.

Some of the token types seem to be used by the lexer while others are
used in the parse stack. Maybe all token types can be partitioned into
these groups, which would suggest to use two different types for them.
And if not, it's still clearer to have this distinction in the names of
the constants.

No functional change.
 1.4 24-Oct-2021  rillig indent: clean up format of warnings and errors

Previously, warnings and errors had the form of C block comments. Before
NetBSD io.c 1.20 from 2019-10-19, this format made sense because the
diagnostics could end up in the same output stream as the formatted
output.

Since NetBSD io.c 1.20 from 2019-10-19, all diagnostics are redirected
to stderr. This change was not mentioned in the commit message back
then, it makes sense nevertheless. Since stdout and stderr now are
properly separated, there is no need anymore to keep the weird format
for warnings and errors. Switch to the standard 'error: file:line'
format.

Move the function 'diag' to indent.c to have access to the name of the
current input file.
 1.3 24-Oct-2021  rillig tests/indent: document actually reachable token combinations with '('
 1.2 24-Oct-2021  rillig tests/indent: test want_blank_before_lparen
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 23-Apr-2022  rillig tests/indent: migrate tests for the tokens '{' and '.'
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 26-Nov-2021  rillig indent: remove code that fixes malformed preprocessor directives
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 28-Nov-2021  rillig tests/indent: migrate token_question to lsym_question and extend it
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.3 24-Apr-2022  rillig tests/indent: migrate tests for parentheses, brackets, braces
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 24-Oct-2021  rillig indent: fix indentation of ad-hoc tagged variables

Seen among others in usr.bin/indent/lexi.c, variable 'keywords'.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.6 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.5 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.4 24-Apr-2022  rillig tests/indent: normalize amount of empty lines between test cases
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.4 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.3 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.2 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 04-Nov-2021  rillig indent: fix joining of adjacent unary '+' operators
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.5 24-Apr-2022  rillig tests/indent: migrate token tests to other tests

In indent.h 1.49 from 2021-10-25, the enumeration token_type was split
into lexer_symbol and parser_symbol to more clearly express that these
tokens fall into completely different classes of usage patterns.
 1.4 24-Apr-2022  rillig tests/indent: change directive from '#' to '//'

Using a '//' instead of '#' turns the directives into well-formed C
code, resulting in fewer error markers in the editor.
 1.3 22-Apr-2022  rillig indent: remove FreeBSD IDs

Most of the IDs were empty anyway.
 1.2 20-Nov-2021  rillig tests/indent: clean up and extend tests
 1.1 18-Oct-2021  rillig tests/indent: condense the token tests

This reduces the number of files in the test directory. It also allows
the tests to be read from top to bottom, looking at only a single file.

Since t_options.awk complains about files that don't have any test case
at all, add some test for each token kind. Most of the tests had
previously been effectively empty.
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file types_from_file.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file types_from_file.0.list was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file types_from_file.0.pro was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 23-Oct-2021  rillig tests/indent: migrate remaining tests from t_indent to t_options

The test types_from_file was a subset of opt_U and thus has been
removed.
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file types_from_file.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file wchar.0 was added on branch phil-wifi on 2019-06-10 22:10:12 +0000
 1.2 22-Oct-2021  rillig tests/indent: migrate tests for parentheses, struct, #if, wide char
 1.1 04-Apr-2019  kamil branches: 1.1.2;
Upgrade indent(1)

Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

- Added an option -ldi<N> to control indentation of local variable names.
- Added option -P for loading user-provided files as profiles
- Added -tsn for setting tabsize
- Rename -nsac/-sac ("space after cast") to -ncs/-cs
- Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
- Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
- Group global option variables into an options structure
- Use bsearch() for looking up type keywords.
- Don't produce unneeded space character in function declarators
- Don't unnecessarily add a blank before a comment ends.
- Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 04-Apr-2019  christos file wchar.0.stdout was added on branch phil-wifi on 2019-06-10 22:10:12 +0000

RSS XML Feed