summaryrefslogtreecommitdiffstats
path: root/roff.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix adding some minimal intelligence to conditional parser. See roff.7Kristaps Dzonsons2010-06-101-33/+88
| | | | | | | | | | for what's supported. This simplified the roff_cond() function quite nicely. From a bug report by uqs@. Added regression test based on bug-report example by uqs@. Also added ROFF_DEBUG to see what the hell the parser is actually doing. Obviously turned off by default.
* Make "sub" for conditionals run roffnode_cleanscope() before callingKristaps Dzonsons2010-06-091-1/+11
| | | | down to sub-arguments. From a bug report by Ulrich Spoerlein.
* Fixed condition of `\}' closing a conditional at the start of the line.Kristaps Dzonsons2010-06-011-3/+1
| | | | | | | | Fixed flushed-out condition of \} causing subsequent arguments to be truncated, when in fact the whole line should be passed through (if the conditional succeeds) to the front-end and the \} ignored there. Added regression test of this behaviour.
* Give libroff an extremely simple table-lookup instead of iterating overKristaps Dzonsons2010-05-291-21/+71
| | | | | each and every macro. The table keys on the first character then walks a chain. Good enough for now.
* recognize ".if n" as true;Ingo Schwarze2010-05-241-5/+16
| | | | | | nothing fancy yet, no negation, no grammer, just that one letter; from OpenBSD; "looks fine" kristaps@
* provide stubs to ignore .ds, .rm and .tr,Ingo Schwarze2010-05-241-0/+16
| | | | | | which occur in the standard pod2man preamble; from OpenBSD; "sounds good" joerg@, "can be checked in" kristaps@
* Full support for ie/el. This completes the initial roff support.Kristaps Dzonsons2010-05-171-60/+114
| | | | | Added test files for ie/el. Using `if 0' as a baseline for "false" roff instructions instead of `if t'.
* Oops: forgot to make roff_cblock() understand the new macros.Kristaps Dzonsons2010-05-171-1/+16
|
* libroff now intelligently throws away `am', `ami', `am1', `de', `dei',Kristaps Dzonsons2010-05-171-13/+32
| | | | and `de1'. This is also documented in roff.7.
* libroff now is aware of which sub-nodes should be interpreted even in aKristaps Dzonsons2010-05-171-80/+143
| | | | | | | | | | conditional-negative context so as to preserve structural integrity. Initial "rules" (deny/allow) are now inherited for future work in evaluating conditionals. Lint-fix noted by Joerg. Added regression tests for zany constructs.
* `ig' support in all its glory. TryKristaps Dzonsons2010-05-161-21/+124
| | | | | | | | | | | | | | | | | | .ig ig asdf .ig fdsa .. or .ig if asdf .if n \ foo for a laugh. It all works. Lots of regression tests supporting this and documentation for the same.
* Regression tests in place for `.if' in libroff.Kristaps Dzonsons2010-05-161-4/+29
| | | | | Check against some strange `.if' constructs I missed. Added initial roff.7 manual.
* Re-admit the simple case of `.ig' that works with groff's stranger invocations.Kristaps Dzonsons2010-05-161-123/+71
|
* Support for the general case of `if', which will boil out into otherKristaps Dzonsons2010-05-161-49/+77
| | | | | | | | constructs: single-level and multi-level blocks; nested, varied-level blocks; recalculating buffer (begin) boundaries pushed correctly into the back-ends, and so on. This will allow, once conditions are turned on, for things like `.ie n .TH FOO 1' then `.el .Dd Mdocdate'. Read it and weep.
* Allow roff_parseln() to be re-run.Kristaps Dzonsons2010-05-161-31/+108
| | | | | | | | | Allow roff_parseln() to manipulate the line buffer offset. This is used in situations like `.ie n .TH FOO 1' or `.ie n .ie n', where the line buffer offset is recalculated then the roff parser re-run. Fix mdoc_parseln() and man_parseln() to accept the initial line offset. WARNING: backed-out ALL roff macros whilst accomodating for how roff handles multi-line conditionals (in short, re-running the parser).
* Backed-out warning messages (lots).Kristaps Dzonsons2010-05-151-3/+3
|
* The `am', `ami', `de', and holy `dei' are all being properly ignored.Kristaps Dzonsons2010-05-151-35/+23
|
* The `ig' now supports `ig end-macro'.Kristaps Dzonsons2010-05-151-7/+72
| | | | Initial warning/error messages in place (still experimental).
* Pull `ig' out of -man and leave it the roff preparser.Kristaps Dzonsons2010-05-151-10/+0
|
* Magic fix for bogus manuals making -man puke: I don't care if it's magic ↵Kristaps Dzonsons2010-05-151-1/+1
| | | | because roff instructions will be nixed from the underlying systems anyway.
* Segfault fix and letting warnings slip through for now.Kristaps Dzonsons2010-05-151-2/+4
|
* Add mandoc.h, which will eventually replace compilers' inner enum errors ↵Kristaps Dzonsons2010-05-151-1/+305
| | | | | | with unified ones. Add initial roff pre-processor shim, a compiler sitting outside of the other compilers that processes pure roff instructions.
* Initial roff shim skeleton in place.Kristaps Dzonsons2010-05-151-0/+24
|
* More file pruning.Kristaps Dzonsons2008-12-151-1724/+0
|
* *** empty log message ***Kristaps Dzonsons2008-12-121-0/+92
|
* Ready for looking over by people.Kristaps Dzonsons2008-12-101-3/+3
|
* Sx to Sh anchors work.Kristaps Dzonsons2008-12-101-3/+6
|
* Put prelude checking into asec.Kristaps Dzonsons2008-12-101-65/+42
|
* Linted on NetBSD side.Kristaps Dzonsons2008-12-101-16/+15
|
* Versioning up.Kristaps Dzonsons2008-12-101-1/+3
|
* *** empty log message ***Kristaps Dzonsons2008-12-101-5/+39
|
* *** empty log message ***Kristaps Dzonsons2008-12-101-3/+2
|
* *** empty log message ***Kristaps Dzonsons2008-12-091-1/+1
|
* Considerable clean-ups.Kristaps Dzonsons2008-12-091-295/+222
|
* *** empty log message ***Kristaps Dzonsons2008-12-091-58/+44
|
* *** empty log message ***Kristaps Dzonsons2008-12-081-17/+30
|
* *** empty log message ***Kristaps Dzonsons2008-12-081-16/+227
|
* Added warnings for using macros in the wrong sections.Kristaps Dzonsons2008-12-081-24/+91
|
* *** empty log message ***Kristaps Dzonsons2008-12-071-11/+21
|
* *** empty log message ***Kristaps Dzonsons2008-12-071-1/+24
|
* *** empty log message ***Kristaps Dzonsons2008-12-071-6/+7
|
* .St macros in place.Kristaps Dzonsons2008-12-061-9/+16
|
* *** empty log message ***Kristaps Dzonsons2008-12-061-24/+27
|
* *** empty log message ***Kristaps Dzonsons2008-12-061-2/+10
|
* *** empty log message ***Kristaps Dzonsons2008-12-061-76/+64
|
* *** empty log message ***Kristaps Dzonsons2008-12-051-265/+3
|
* Nm works properly, many other changes, etc.Kristaps Dzonsons2008-12-051-22/+89
|
* *** empty log message ***Kristaps Dzonsons2008-12-051-0/+1
|
* *** empty log message ***Kristaps Dzonsons2008-12-041-27/+98
|
* Moved charset recognition into the filter.Kristaps Dzonsons2008-12-041-14/+0
|