summaryrefslogtreecommitdiffstats
path: root/libmdoc.h
Commit message (Collapse)AuthorAgeFilesLines
* Support for badly nested blocks, written around the time ofIngo Schwarze2010-06-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | the Rostock mandoc hackathon and tested and polished since, supporting constructs like: .Ao Bo Ac Bc (exp breaking exp) .Aq Bo eol Bc (imp breaking exp) .Ao Bq Ac eol (exp breaking imp) .Ao Bo So Bc Ac Sc (double break, inner before outer) .Ao Bo So Ac Bc Sc (double break, outer before inner) .Ao Bo Ac So Bc Sc (broken breaker) .Ao Bo So Bc Do Ac Sc Dc (broken double breaker) There are still two known issues which are tricky: 1) Breaking two identical explicit blocks (Ao Bo Bo Ac or Aq Bo Bo eol) fails outright, triggering a bogus syntax error. 2) Breaking a block by two identical explicit blocks (Ao Ao Bo Ac Ac Bc or Ao Ao Bq Ac Ac eol) still has a minor rendering error left: "<ao1 <ao2 [bo ac2> ac1> bc]>" should not have the final ">". We can fix these later in the tree, let's not grow this diff too large. "get it in" kristaps@
* Following clue-stick applied by schwarze@, back out const-ness of regsetKristaps Dzonsons2010-06-271-1/+1
| | | | | | | | | passed in to libmdoc and libman. Fix mdoc.3 and man.3 EXAMPLE sections to include regset. Add MDOC_SYNPRETTY flag cueing front-end to nicely format certain values as if SEC_SYNOPSIS were the current section.
* Downstream maintainers: this removes UGLY! I don't want divergingKristaps Dzonsons2010-06-271-7/+7
| | | | | | | | | 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.
* Mechanical diff allowing the const struct regset to propogate throughKristaps Dzonsons2010-06-261-2/+7
| | | | libman and libmdoc.
* Churn-ish check-in getting mdoc_parseln() and man_parseln() to accept aKristaps Dzonsons2010-06-261-0/+1
| | | | const struct regset pointer. No functionality.
* Churn as I finish email address migration kth.se -> bsd.lv.Kristaps Dzonsons2010-06-191-1/+1
|
* Consolidated list processing to a single loop in mdoc_validate.c. ThisKristaps Dzonsons2010-06-031-2/+1
| | | | | | | | | | 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.
* Add ability to interpret initial free-form lines as part of a `BlKristaps Dzonsons2010-05-311-0/+1
| | | | | | | | -column' up until the first `It'. This is UGLY and should have all sorts of warnings, and will. On the one hand, it fits with groff's notion of tabs and tab-spaces. On the other hand, it's not really "free-form" text any more. Note that this does not yet accomodate for macros coming on these lines.
* remove unused enum merr;Ingo Schwarze2010-05-241-56/+0
| | | | ok joerg@
* Increase performance by stashing the list type in struct mdoc_node.Kristaps Dzonsons2010-05-171-1/+1
| | | | | | | This will eventually be used so that mdoc_macro can known whether to dump list line arguments into the body (`Bl -column' overflowing). Remove a2list() and arg_listtype() because of this.
* Enable the unified error/warning enumeration in mandoc.h that'sKristaps Dzonsons2010-05-171-14/+7
| | | | | | | | | | | 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.
* LIBRARY can also occur in section 9.Kristaps Dzonsons2010-05-151-1/+1
| | | | | | All manual sections (unknown, 3p, 3f, etc.) correctly handled by -mdoc. Useful warning printed if unknown manual section. Checking for manual sections (e.g., LIBRARY) checks only first character, so 3p, 3f, etc. are free.
* Distinguish OPEN, MIDDLE and CLOSE delimiters (using an enum).Ingo Schwarze2010-05-151-2/+9
| | | | | | | Only OPEN are drawn before the beginning of a macro; this is new, before this, MIDDLE ('|') were drawn in front, too. Only CLOSE are pushed after the end of a macro (as before). ok kristaps@
* More `Bl -column' dancing: It children also inherit in-phrase flags (noted ↵Kristaps Dzonsons2010-05-151-2/+2
| | | | by Ingo Schwarze).
* Backed out check for `Ex' manual sec (ok schwarze@, joerg@), in turn backing ↵Kristaps Dzonsons2010-05-141-1/+0
| | | | out check_msec() and deps.
* Proper handling of quoted tab-separated column lists.Kristaps Dzonsons2010-05-141-3/+5
|
* Fixed bug in -Thtml -mdoc where `Lb' would line-break in LIBRARY section.Kristaps Dzonsons2010-05-131-3/+4
| | | | | Fixed assumption that parse-point == 1 equates to beginning of line (false if whitespace separates macro and control character). Fixed line-break for non-first-macro in several SYNOPSIS macros.
* mdoc_atosec -> mdoc_str2sec (consistent with str2 being different from a2).Kristaps Dzonsons2010-05-121-1/+1
| | | | | Changed ordering of sections (EXIT STATUS moved around), argued for by Ulrich Sporlein. Fixed mdoc_str2sec not to use weird structure.
* Introduce ARGS_PEND for `It -column' end-of-line special casing.Kristaps Dzonsons2010-05-091-1/+2
| | | | Initial rules for insane `It -column' tabsep handling.
* Lint fixes (type-safety for enums via -cefuh).Kristaps Dzonsons2010-05-081-2/+1
|
* Initial ARGS_PPHRASE (partial phrase) framework.Kristaps Dzonsons2010-05-071-1/+2
| | | | Running tally of changes in index.sgml.
* enum-ised mdoc_argv() return (better return-value safety).Kristaps Dzonsons2010-05-071-5/+8
|
* margerr -> margserr (getting ready for margverr).Kristaps Dzonsons2010-05-071-3/+3
|
* Wrangle mdoc_args() and mdoc_zargs() to use enum return type.Kristaps Dzonsons2010-05-071-8/+12
| | | | | Fixed lookup() and lookup_raw() to correctly use enum type. Quashed in_line_argn() bug (not reported, but there) where mixing return values.
* Sync'd mdoc.c's function names with man.c.Kristaps Dzonsons2010-04-081-0/+1
| | | | Prompted by Ingo and Claus Assman, added warn/ignore for text lines beginning with `\."'.
* Migrating mdoc_node_free() and mdoc_node_freelist() to use ↵Kristaps Dzonsons2010-04-061-2/+1
| | | | mdoc_node_delete(), which has a more intuitive interface and mirrors libman.
* Merged Ingo Schwarze's patch (plus documentation) for removing extraneous ↵Kristaps Dzonsons2010-04-031-0/+1
| | | | list types, which happens fairly often.
* Macro types enum-ated (enum mdoct) (for easier debugging in gdb of "tok" ↵Kristaps Dzonsons2010-03-311-10/+10
| | | | | | | values). Initial check-in of Ingo Schwarze's patch for Xo/Xc handling (in blocks ifdef'd "UGLY"). Put Oc-close-Op parts into UGLY ifdef blocks.
* libmdoc and libman now using non-recoverable allocations (simpler code).Kristaps Dzonsons2009-10-301-1/+0
|
* Added warning about specifying list arguments before type (suggested by ↵Kristaps Dzonsons2009-10-151-0/+1
| | | | Joerg Sonnenberg).
* Added EBADCHILD error (bad child of parent context).Kristaps Dzonsons2009-09-241-0/+1
| | | | | `Rs' post-checks that all children are proper bibliographic elements. `Rs' correctly re-orders its children as per groff's output (including %C).
* Lookup hashes are now static tables, ordered first-level by second ↵Kristaps Dzonsons2009-09-161-4/+2
| | | | character, then randomly along a chain. Improves performance by a small fraction and considerably cleans up hash sources.
* Documented ARGS_ handling in args().Kristaps Dzonsons2009-08-201-3/+3
|
* Delimiter whitespace is correctly flagged (required some special handling).Kristaps Dzonsons2009-08-201-2/+4
|
* In-line documentation of mdoc_macro file.Kristaps Dzonsons2009-08-191-1/+1
| | | | Moved _NEXT_ macros into _alloc_ routines (where they belong).
* libmdoc accepts whitespace following control character.VERSION.1.9.0Kristaps Dzonsons2009-08-181-1/+0
|
* Moved CALLABLE check to lookup_raw().Kristaps Dzonsons2009-07-291-2/+0
| | | | | | Made PARSABLE check occur prior to lookup(). Non-PARSEABLE macros no longer warn against having macro-like parameters. Non-CALLABLE macros no longer produce an error, just display their symbols (as in groff) (pointed out by joerg@netbsd.org).
* Replaced ugly TABSEP handling with simpler routine.Kristaps Dzonsons2009-07-201-1/+0
|
* Fixed and cleaned up "phrase" handling (`Bl -column' columns).Kristaps Dzonsons2009-07-191-0/+2
| | | | Found strange newline bug in -diag handling (and others?).
* Removed EARGVPARM (superfluous, overly error-generating).Kristaps Dzonsons2009-07-171-1/+0
| | | | Added `sp' handler.
* Replacement of `Lb' in mdoc_action.c.Kristaps Dzonsons2009-07-121-0/+2
| | | | | | Added warning against bogus `Lb' (like groff does). Added proper quotes around `Lb' in mdoc_term.c. Moved mdoc_a2lib -> libmdoc (where it belongs).
* Moved mdoc_a2st() out of mdoc.h -> libmdoc.h (replacement in mdoc_action.c).Kristaps Dzonsons2009-07-121-0/+1
| | | | Made bad standards into an error (were a warning).
* Moved mdoc_a2att() into libmdoc (replacement happens in mdoc_action.c).Kristaps Dzonsons2009-07-121-0/+1
|
* Fixed mdoc_nwarn/mdoc_nerr considering themselves err/warn instead of ↵Kristaps Dzonsons2009-07-121-2/+2
| | | | warn/err (BIG mistake). From suggestion by <joerg@netbsd.org>.
* Tabularised error-code lookup in mdoc.c.Kristaps Dzonsons2009-07-071-8/+8
|
* Consolidated all err/warnings into mdoc.c via libmdoc.h.Kristaps Dzonsons2009-07-061-11/+70
|
* Initial removal of enum mdoc_warn from mdoc warnings (unnecessary complication).Kristaps Dzonsons2009-07-061-7/+4
|
* Section orders are more elegantly handled (MDOC_PBODY is a flag).Kristaps Dzonsons2009-06-171-2/+3
| | | | Cleaned up string->enum conversion for section lookup.
* Deprecated mdoc_msg (not being used anywhere).Kristaps Dzonsons2009-06-151-5/+1
|
* Removed mdoc_nwarn (not being used anywhere).Kristaps Dzonsons2009-06-151-2/+0
|