summaryrefslogtreecommitdiffstatshomepage
path: root/main.c
Commit message (Collapse)AuthorAgeFilesLines
* Re-constitution of `ds' symbol processing. First, push theKristaps Dzonsons2010-07-071-2/+1
| | | | | | | | | roff_getstr() family of functions into roff.c with the "first_string" directly in struct roff. Second, pre-process each line for reserved words in libroff, splicing and re-running a line if it has one (this allows defined symbols to be macros). Remove term.c's invocation of the roff_getstrn() function. Removed function documentation in roff.3 and added roff.7 `ds' documentation.
* Assert my copyright, making it explicit that i'm granting the same licenseIngo Schwarze2010-07-041-2/+3
| | | | | on those parts of the code and text that i have written as Kristaps is. "fine with me" kristaps@
* Stash `Bf' parameters into struct mdoc_bf.Kristaps Dzonsons2010-07-021-2/+2
|
* Improve .Nm indentation in the SYNOPSIS;Ingo Schwarze2010-07-011-3/+4
| | | | | | | kristaps@ will do the missing HTML part soon. "looks nicer" jmc@ "seems perfect to me" sobrado@ "slap it in" kristaps@
* improve error reporting:Ingo Schwarze2010-06-301-28/+44
| | | | | | | | | * avoid error exit code after mere warnings * add ERROR: and FATAL: to messages when appropriate * sort the code in mmsg() to make it easier on the eye * make the mandocerrs[] list easier to maintain * update a few comments in mandoc.h ok kristaps@
* Add in -Opaper=xxx support for -Tps postscript. This doesn't have anyKristaps Dzonsons2010-06-291-2/+2
| | | | | | functional changes beyond the getsubopt() parse in term_ps.c. If you want to test this (it only does -Opaper=a4 and -Opaper=letter; adding more is trivial), make sure you specify (e.g.) -sPAPERSIZE=a4 to gs(1).
* Downstream maintainers: this removes UGLY! I don't want divergingKristaps Dzonsons2010-06-271-9/+10
| | | | | | | | | functionality and UGLY works quite well thanks to schwarze@'s careful attention. This also backs out function-prototype changes for struct regset, instead stuffing a pointer to the regset directly into struct mdoc/man/roff.
* Churn-ish check-in getting mdoc_parseln() and man_parseln() to accept aKristaps Dzonsons2010-06-261-3/+3
| | | | const struct regset pointer. No functionality.
* First step of adding register support. This is inspired by a significantKristaps Dzonsons2010-06-261-3/+6
| | | | | | patch by schwarze@. This commit adds support to libroff parsing `nr' into register set defined in regs.h. This will propogate into libmdoc and libman in later commits.
* Churn as I finish email address migration kth.se -> bsd.lv.Kristaps Dzonsons2010-06-191-2/+2
|
* Removed stipulation that an empty `Bd -offset' will default to 6n. NotKristaps Dzonsons2010-06-121-1/+2
| | | | | | | sure where this came about. Added regression tests to convince myself that this is so. Also consolidated COMPATIBILITY notes regarding `Bd'. Added COMPATIBILITY note to the effect that old groff pukes on `Bd -compact -ragged' (regression test will fail on old groff).
* Added enum mdoc_disp (similar to enum mdoc_list). Display types are nowKristaps Dzonsons2010-06-121-2/+3
| | | | | | | | | | | only calculated once in mdoc_validate.c. Noted that `Bd -file xxx' is not supported: it now raises a fatal warning. This is noted in mdoc.7. Empty `Bd' now defaults to LIST_ragged, which is not quite what groff does, but close enough (gross just throws away the `Bd' and gets upset when it encounters an `Ed').
* No functionality changes: just restructuring. DeprecatedKristaps Dzonsons2010-06-081-2/+3
| | | | | terminal_free() in favour of ps_free() and ascii_free(). Moved ps_*() functions into term_ps.c so that they don't clutter up term.c.
* First check-in of PostScript output. This does not change any logicKristaps Dzonsons2010-06-071-9/+25
| | | | | | within term.c, but does add a small shim over putchar() that switches on the output engine. Prints, for this initial version, only monospace and without font decorations. It's a start.
* Add -Owidth=width option to mandoc -Tascii. Asked for by joerg@ about aKristaps Dzonsons2010-06-071-2/+2
| | | | thousand years ago. Note that this is normalised to >=60.
* Add MAP_SHARED for mmap, at least NetBSD with DIAGNOSTIC is quite noisyJoerg Sonnenberger2010-06-061-2/+2
| | | | otherwise.
* Consolidated list processing to a single loop in mdoc_validate.c. ThisKristaps Dzonsons2010-06-031-2/+2
| | | | | | | | | | relieves having to repeat running over the argument list in mdoc_action.c and mdoc_validate.c. Default to LIST_item for type-less lists (groff technically doesn't do this: it just ignores the `It' lines altogether). Make MANDOC_LISTTYPE be a recoverable error.
* Spelling patches provided by Ulrich Spoerlein.Kristaps Dzonsons2010-06-011-3/+3
|
* Cleanup post_bl_head() to use enum mdoc_list (avoid traversing thatKristaps Dzonsons2010-05-311-2/+2
| | | | | | | | list). Reverted MANDOC_COLUMNS to be a bad-bad syntax error: we don't, and apparently never have, allowed mixing of -column syntaxes. This would have segfaulted if encountered.
* Enable the unified error/warning enumeration in mandoc.h that'sKristaps Dzonsons2010-05-171-79/+95
| | | | | | | | | | | stringified in main.c. Allow `An' to handle an argument and child (with a warning). Allow `Rv' and `Ex' to work without a prior `Nm' as groff does (with a warning). Allow inconsistent column syntax to only raise a warning.
* `ig' support in all its glory. TryKristaps Dzonsons2010-05-161-3/+3
| | | | | | | | | | | | | | | | | | .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-1/+2
| | | | | Check against some strange `.if' constructs I missed. Added initial roff.7 manual.
* Allow roff_parseln() to be re-run.Kristaps Dzonsons2010-05-161-9/+31
| | | | | | | | | 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).
* Fix allowing silly '\'' control character.Kristaps Dzonsons2010-05-161-2/+2
|
* Backed-out warning messages (lots).Kristaps Dzonsons2010-05-151-1/+3
|
* The `ig' now supports `ig end-macro'.Kristaps Dzonsons2010-05-151-2/+15
| | | | Initial warning/error messages in place (still experimental).
* Segfault fix and letting warnings slip through for now.Kristaps Dzonsons2010-05-151-2/+2
|
* Add mandoc.h, which will eventually replace compilers' inner enum errors ↵Kristaps Dzonsons2010-05-151-18/+70
| | | | | | with unified ones. Add initial roff pre-processor shim, a compiler sitting outside of the other compilers that processes pure roff instructions.
* Reorganise the comment stripping and line merging to be easier to followJoerg Sonnenberger2010-05-151-51/+53
| | | | and slightly faster.
* Make the output width an option for ascii_alloc and use that to computeJoerg Sonnenberger2010-05-151-2/+2
| | | | the default margin. Hard-code 80 chars/line for now.
* Push buffer resizing into its own function. Keep initial allocations theJoerg Sonnenberger2010-05-151-20/+25
| | | | same size as before.
* Cleanup indentation after moving the read buffering out of the loop.Joerg Sonnenberger2010-05-151-54/+52
|
* "Push down the buffer to where they are used.Kristaps Dzonsons2010-05-151-78/+131
| | | | | | Handle the stdin/file argument in one function. On top, use either mmap or if that failed reading the whole file into a single buffer." (patches by Joerg Sonnenberger, ed. Kristaps)
* Whacked lastman and lastmdoc (not being used).Kristaps Dzonsons2010-05-151-7/+1
|
* "Accumulate errors and warnings in global variables and exit with errorKristaps Dzonsons2010-05-141-58/+60
| | | | if either is not null on exit." (patch by Joerg Sonnenberger)
* Fix for Joerg's patch stripping of pre-comment whitespace (by Joerg).Kristaps Dzonsons2010-05-141-3/+3
|
* Remove -fno-ign-chars as well-argued by Ingo Schwarze. Patch by Ingo ↵Kristaps Dzonsons2010-05-091-20/+10
| | | | Schwarze, too.
* Merge patch by Jason McIntyre cleaning on mandoc.1: `Ar' -> `Cm' and other ↵Kristaps Dzonsons2010-04-121-3/+9
| | | | | | readability fixes. Merge modified patch by Joerg Sonnenberger that rewinds to whitespace when encountering trailing line-comments.
* Have -Tlint imply -Wall and -fstrict. Based on a patch submitted by Ingo ↵Kristaps Dzonsons2010-03-221-32/+38
| | | | Schwarze.
* Fixed Makefile for `make lint' dep. on config.hKristaps Dzonsons2010-01-291-1/+10
| | | | Added -Txhtml for XHTML output (minimal increase to programme logic). Because groff has it and it bothers me that we don't.
* Big check-in of compatibility layer. This should work on most major ↵Kristaps Dzonsons2010-01-011-6/+5
| | | | architectures. Thanks to Joerg Sonnenberger.
* Added forgotten newline terminators in main.c.Kristaps Dzonsons2009-11-021-5/+5
|
* Added lint to __attribute__ defines.Kristaps Dzonsons2009-11-021-2/+4
|
* Using straight-up __attribute__ (inspired by portable openssh).Kristaps Dzonsons2009-11-021-13/+10
|
* Removed non-portable __progname (thanks Joerg Sonnenberger).Kristaps Dzonsons2009-10-311-4/+10
|
* Using perror() instead of fprintf for failure from library functions.Kristaps Dzonsons2009-10-311-16/+14
|
* libmdoc and libman now using non-recoverable allocations (simpler code).Kristaps Dzonsons2009-10-301-15/+5
|
* bzero() -> memset() (noted by Joerg Sonnenberger).Kristaps Dzonsons2009-10-271-4/+4
|
* Merged patch to allow -fign-escape (thanks Joerg Sonnenberger).Kristaps Dzonsons2009-10-261-3/+7
|
* Allowed -O to be invoked multiple times.Kristaps Dzonsons2009-10-261-3/+5
|