aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mdoc_argv.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Move mandoc_isdelim() back into libmdoc.h. This fixes an unreportedKristaps Dzonsons2011-03-221-3/+3
| | | | | | | | | error where (1) -man pages were punctuating delimiters (e.g., `.B a ;') and where (2) standalone punctuation in -mdoc or -man (e.g., ";" on its own line) would also be punctuated. This introduces a small amount of complexity of mdoc_{html,term}.c must manage their own spacing with running print_word() or print_text(). The check for delimiting now happens in mdoc_macro.c's dword().
* Clean-up in mdoc_argv.c args_checkpunct().Kristaps Dzonsons2011-03-171-28/+22
|
* Clean-up in mdoc_argv.c: make CPP-defines into an enum, document, makeKristaps Dzonsons2011-03-171-34/+18
| | | | | static arrays const, properly abort() for bogus switch cases, and be obsessive about spacing and (void)-casting.
* Clean up mdoc_pmsg invocations to make them not check the return value.Kristaps Dzonsons2011-03-171-14/+7
|
* Move mdoc_isdelim() into mandoc.h as mandoc_isdelim(). This allows theKristaps Dzonsons2011-03-171-3/+3
| | | | | | removal of manual delimiter checks in html.c and term.c. Finally, add the escaped period as a closing delimiter, removing a TODO to this effect.
* Make args_checkpunct() use mdoc_isdelim() instead of mdoc_iscdelim(),Kristaps Dzonsons2011-03-171-19/+34
| | | | which is wrong. Then remove mdoc_iscdelim() alltogether.
* Move check for closing punctuation into its own function. This willKristaps Dzonsons2011-03-171-25/+42
| | | | | | later be modified to remove the need for iscdelim(), which will be used to unify delimiter checks, which will then allow for the simple removal of a TODO regarding escaped periods.
* Instead of a series of hard-coded strcmps, make argv_a2arg() iterateKristaps Dzonsons2011-03-161-74/+43
| | | | | | over an array of possible argument types, hooking in to mdoc_argnames[]. This knocks off bytes for the duplicated strings and cleans up code readability.
* As per schwarze@'s suggestions, roll back the refcount structure inKristaps Dzonsons2010-12-241-2/+2
| | | | | | | | favour of a simpler shim for normalised data in the node allocation and free routines. This removes the need to bump and copy references within validator handlers, removes a pointer redirect, and also kills the refcount structure itself. Data is assumed to "live" either in a MDOC_BLOCK or MDOC_ELEM and is copied accordingly.
* Implement reference-counted version of original union mdoc_data. ThisKristaps Dzonsons2010-12-221-3/+2
| | | | | | | simplifies clean-up and allows for more types without extra hassle. Also made in-line literal types in -T[x]html use CODE instead of SPAN to match how literal blocks use PRE.
* Prevent .Lp from looping endlessly on punctuation.Ingo Schwarze2010-09-131-2/+2
| | | | Same fix as the previous one.
* Prevent `Pp' from looping endlessly on punctuation. Bug reported byKristaps Dzonsons2010-09-131-2/+2
| | | | Marc Espie.
* Nit-picking assign in decl.Kristaps Dzonsons2010-07-211-2/+4
|
* Finally make mdoc argv CPP-defines into a proper enum.Kristaps Dzonsons2010-07-211-4/+4
|
* correct lots of copyright notices;Ingo Schwarze2010-07-131-2/+2
| | | | ok kristaps@
* Make struct_bl and struct_bd into pointers. This removes the need to doKristaps Dzonsons2010-07-011-2/+3
| | | | | | | | | | | copying on internals after modification. Even more importantly, if an ENDBODY token is provided, it would have been impossible for post-change copying of the data to take place in the BLOCK. This allows it to happen by dint of pointers. Also did some bikeshedding in mdoc_term.c: checking against enum type and explicitly casting to the "post" function to void. This is for my own readability.
* Churn as I finish email address migration kth.se -> bsd.lv.Kristaps Dzonsons2010-06-191-2/+2
|
* `Bl' is now using a struct instead of a single enum mdoc_list for itsKristaps Dzonsons2010-06-121-2/+2
| | | | cached values. You can probably guess where this is going.
* Getting args() function ready to handle no-context (*pos can == 0)Kristaps Dzonsons2010-05-311-12/+12
| | | | processing.
* Remove enum mdocargerr from phrase() (unused).Kristaps Dzonsons2010-05-311-2/+10
| | | | | | | | | | | | | | Add `Ta' macro, which is basically a NULL case everywhere but in mdoc_macro.c, where it closes out an existing `It' body scope and opens a new one, then continues parsing as in phrase() (TODO: merge these two?). Fix where scope-breaking was silently just dying instead of printing an error. Fix where trailing `Ta' or tab weren't creating a new MDOC_BODY context. We now support arbitrarily complex `It' contents for `Bl -column'.
* Have mdoc_args() use enum mdoc_list instead of scanning.Kristaps Dzonsons2010-05-301-17/+4
|
* Enable the unified error/warning enumeration in mandoc.h that'sKristaps Dzonsons2010-05-171-10/+12
| | | | | | | | | | | 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.
* Distinguish OPEN, MIDDLE and CLOSE delimiters (using an enum).Ingo Schwarze2010-05-151-3/+4
| | | | | | | 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-4/+4
| | | | by Ingo Schwarze).
* Proper handling of quoted tab-separated column lists.Kristaps Dzonsons2010-05-141-20/+40
|
* Explicitly account for \*(Ba when checking for delims. Noted by Jason ↵Kristaps Dzonsons2010-05-091-6/+7
| | | | McIntyre via Ingo Schwarze.
* Introduce ARGS_PEND for `It -column' end-of-line special casing.Kristaps Dzonsons2010-05-091-2/+4
| | | | Initial rules for insane `It -column' tabsep handling.
* Lint fixes (type-safety for enums via -cefuh).Kristaps Dzonsons2010-05-081-13/+14
|
* De-chunking of text removed from parsers. This is a significant change (and ↵Kristaps Dzonsons2010-05-071-3/+7
| | | | | | I don't really like it), but it's what groff does. Distinction of ARGS_PHRASE and ARGS_PPHRASE in backend (not yet used).
* Initial ARGS_PPHRASE (partial phrase) framework.Kristaps Dzonsons2010-05-071-2/+4
| | | | Running tally of changes in index.sgml.
* enum-ised mdoc_argv() return (better return-value safety).Kristaps Dzonsons2010-05-071-2/+2
|
* margerr -> margserr (getting ready for margverr).Kristaps Dzonsons2010-05-071-5/+5
|
* Wrangle mdoc_args() and mdoc_zargs() to use enum return type.Kristaps Dzonsons2010-05-071-5/+5
| | | | | Fixed lookup() and lookup_raw() to correctly use enum type. Quashed in_line_argn() bug (not reported, but there) where mixing return values.
* Merged Ingo Schwarze's patch (plus documentation) for removing extraneous ↵Kristaps Dzonsons2010-04-031-15/+20
| | | | list types, which happens fairly often.
* Re-adjusting UGLY tags.Kristaps Dzonsons2010-03-311-2/+1
| | | | | Fixed removed assignment of type. Removed superfluous checks of mdoc_argflags (from days when comments were a macro tag).
* Macro types enum-ated (enum mdoct) (for easier debugging in gdb of "tok" ↵Kristaps Dzonsons2010-03-311-7/+8
| | | | | | | 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.
* Integrate Ingo Schwarze's patch for mdoc_iscdelim() (tri-state for opening ↵Kristaps Dzonsons2010-03-291-3/+3
| | | | | | | | | | | and closing macro punctuation). Modify blk_part_exp() to correctly handle leading punctuation before HEAD. Significantly clean up and document blk_part_exp(). Modify blk_part_imp() for to correctly handle leading punctuation before HEAD. Significantly clean up and document blk_part_imp(). Integrate Ingo Schwarze's patch for args() (using new mdoc_iscdelim() format). Documented bad `Ec' handling for later work in mdoc_term.c/mdoc_html.c.
* Big check-in of compatibility layer. This should work on most major ↵Kristaps Dzonsons2010-01-011-1/+5
| | | | architectures. Thanks to Joerg Sonnenberger.
* libmdoc and libman now using non-recoverable allocations (simpler code).Kristaps Dzonsons2009-10-301-2/+2
|
* Slow movement of internal allocations to fail completely.Kristaps Dzonsons2009-10-281-33/+14
|
* Added `%U' to -mdoc (doesn't render in a nice way yet).Kristaps Dzonsons2009-10-241-1/+2
|
* Fixed `-file' argument to `Bd', which is NOT a type, but instead just an ↵Kristaps Dzonsons2009-10-191-2/+2
| | | | argument.
* Added support for `Bd -centered', which appears in newer groffs (not yet ↵Kristaps Dzonsons2009-10-151-1/+3
| | | | implemented in centre-capable front-ends, i.e., -Thtml).
* Fix operator overloading (submitted by Ulrich Sporlein, uqs@spoerlein.net).Kristaps Dzonsons2009-10-071-31/+31
|
* -offset string can now be blank (supplied with 6n as stipulated by ↵Kristaps Dzonsons2009-09-241-3/+7
| | | | mdoc.samples).
* Updated manual structure in mdoc.7.Kristaps Dzonsons2009-08-201-2/+2
| | | | | | Synchronised mdoc.template and mdoc.7 manual structure. `Rv' and `Ex' now accept multiple arguments (-std made standalone, terms as children). `Rv' and `Ex' format correctly in -Tascii (plurals, commas, etc.).
* Documented ARGS_ handling in args().Kristaps Dzonsons2009-08-201-1/+16
|
* Delimiter whitespace is correctly flagged (required some special handling).Kristaps Dzonsons2009-08-201-11/+15
|
* Removed already-fixed FIXME.Kristaps Dzonsons2009-08-191-3/+1
|
* More cleanups for TABSEP handling.Kristaps Dzonsons2009-07-201-7/+7
|