CVS log for docbook2mdoc/main.c

[BACK] Up to [cvsweb.bsd.lv] / docbook2mdoc

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.10 / (download) - annotate - [select for diffs], Wed May 1 09:02:25 2019 UTC (4 years, 10 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_1_0, HEAD
Changes since 1.9: +10 -6 lines
Diff to previous 1.9 (colored) to selected 1.5 (colored)

provide an -s command line option to override the section in .Dt

Revision 1.9 / (download) - annotate - [select for diffs], Wed May 1 07:14:17 2019 UTC (4 years, 10 months ago) by schwarze
Branch: MAIN
Changes since 1.8: +8 -4 lines
Diff to previous 1.8 (colored) to selected 1.5 (colored)

write a comment "automatically generated" at the beginning

Revision 1.8 / (download) - annotate - [select for diffs], Sun Apr 28 17:10:06 2019 UTC (4 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_0_2
Changes since 1.7: +3 -1 lines
Diff to previous 1.7 (colored) to selected 1.5 (colored)

Start a reorg module, to edit and move around nodes between parsing
and formatting.  This helps because using queue macros is prone to
bugs, but inspecting the resulting trees with a C debugger is quite
hard.  Using -T tree is much easier.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Apr 28 15:03:29 2019 UTC (4 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.6: +2 -5 lines
Diff to previous 1.6 (colored) to selected 1.5 (colored)

In this program, there is never a need to survive memory allocation
failure, and there are many places allocating memory.  Consequently,
the code can be simplified providing memory allocation functions
that error out on failure, in the conventional way.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Apr 12 19:14:50 2019 UTC (4 years, 11 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_0_1, VERSION_1_0_0
Changes since 1.5: +30 -5 lines
Diff to previous 1.5 (colored)

Implement lint and tree dump output modes.
Thanks to the previously committed node property infrastructure
in node.c, this needs only 110 lines of code (including the license
and the documentation).

Revision 1.5 / (download) - annotate - [selected], Tue Apr 9 15:23:51 2019 UTC (4 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.4: +6 -6 lines
Diff to previous 1.4 (colored)

switch to mandoc(1)-style EXIT STATUS and DIAGNOSTICS

Revision 1.4 / (download) - annotate - [select for diffs], Mon Apr 8 22:47:34 2019 UTC (4 years, 11 months ago) by schwarze
Branch: MAIN
Changes since 1.3: +23 -30 lines
Diff to previous 1.3 (colored) to selected 1.5 (colored)

Make the function parse_file() fit for recursion:
* Save and restore reporting data around the read loop.
* Open the file inside the function, not before calling it.
* On the top level, change directory on a best-effort basis.
* Finalize the parse tree only on the top level.
No new functionality yet.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Mar 28 12:21:10 2019 UTC (5 years ago) by schwarze
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored) to selected 1.5 (colored)

The expat library aborts parsing as soon as it encounters invalid
input, and the basic design of the library practically precludes
fixing it.  However, whether the input is well-formed XML or not
is totally irrelevant, and in fact, i have seen real-world documents
from X.org that expat rejects as not well-formed.  Kristaps reports
the same from OpenGL.

We really want to parse *ANYTHING* whatsoever without ever throwing
a fatal error - after all, the point is to convert legacy documents
to a better format, and nitpicking about the syntax merely alienates
users (including myself).

Consequently, ditch expat and write a parser from scratch, optimized
for robustness on invalid input.

Oh, and by the way, it only requires 200 lines of code,
compared to 15,000 lines in expat - an economy of 98.5%
at the sime time as being much more useful in practice.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Mar 26 20:06:16 2019 UTC (5 years ago) by schwarze
Branch: MAIN
Changes since 1.1: +8 -2 lines
Diff to previous 1.1 (colored) to selected 1.5 (colored)

Parsing errors are too easy to miss because they typically emit a
one-line error message followed by lengthy formatted output
of what was parsed before the error occurred.

Make parsing errors more conspicious by taking two steps:

1. If there was a parsing error, print a blank line to standard output
before starting formatted output, for better separation.

2. After the formatted output, if there was a parsing error, print
the following to standard error: a blank line, a message that output
is incomplete, and another blank line.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Mar 26 18:32:07 2019 UTC (5 years ago) by schwarze
Branch: MAIN
Diff to selected 1.5 (colored)

The program docbook2mdoc(1) has become large enough that splitting
it into a number of logical components makes sense: node tree,
parser, formatter, each with interface and implementation, and the
main program.  That way, it becomes easier to see what interacts
with what, and what is independent of what.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb