Previously, find-file-doc-comments could handle
int foo() {}
but not
int
foo() {}
When processing a function, if the reported line begins with the
function's symbol, assume we have the latter situation. Move backward
to the first line that doesn't start with an ASCII letter. This is
my best current guess as to a reasonable heuristic.
Whenever the program issues a warning, report which filename
was being processed. This should make it easier to diagnose any future
warnings (e.g., #186, #188).
Fixes#186.
In find-file-doc-comments.pl:
- Index doc comments by line, not identifier, since an identifier
may be defined differently on different lines.
- Clean up debug printing so that the verbose output is easier to read.
- Use say() instead of print() to save space (say() automatically
adds the `\n` to the output line).
- Extract struct, enum, and macro docs
- Permit more forms of comment header. Accept some that are technically
ill-formed per [1] --- I think it's better for end-users if we are a
bit more forgiving.
[1] <https://www.kernel.org/doc/html/v5.8/doc-guide/kernel-doc.html>
If the first function in a file does not have a doc comment, do not
run off the beginning of the file. Fixes#102.
Also:
- Add t/tree/issue102.c that exhibits this bug.
- in find-file-doc-comments.pl and script.sh, exit with a nonzero code
if this should recur.
- find-file-doc-comments.pl: new file
- data.py: Add database to store doc-comment locations
- script.sh: Add parse-docs subcommand
- update.py:
- Add code to process doc comments
- Update some variable names in hopes of reducing confusion
- query.py:
- Add code to report doc comments
- Update some variable names in hopes of reducing confusion
Also:
- t/TestEnvironment.pm: Add find_doc attribute
- t/interact.pl: Don't die if update.py fails
- t/TestHelpers.pm: Permit checking specific sections of query.py output
- t/300: update regexes per the preceding
- gitignore tags (ctags output) and .cache (api_test.py output)