summaryrefslogtreecommitdiffstats
path: root/man.c
Commit message (Collapse)AuthorAgeFilesLines
* Add support for `ft' macro found in groff(7). Based on a patch byKristaps Dzonsons2010-12-061-1/+1
| | | | | schwarze@, but without the -T[x]html handling, which structurally does not work. Also add man.7 documentation (not in original patch).
* Allow multiple ELINE macros without raising a fatal error. From a field-Kristaps Dzonsons2010-12-061-25/+9
| | | | tested patch by schwarze@.
* Remove `Sp', `Vb', and `Ve' (as per schwarze@'s changes in OpenBSD),Kristaps Dzonsons2010-12-051-2/+1
| | | | which are now accomodated for the new libroff modifications.
* Kill man_action.c.Kristaps Dzonsons2010-11-301-2/+0
|
* Implement a simple, consistent user interface for error handling.Ingo Schwarze2010-08-201-26/+6
| | | | | | | | | | | | | | | | | We now have sufficient practical experience to know what we want, so this is intended to be final: - provide -Wlevel (warning, error or fatal) to select what you care about - provide -Wstop to stop after parsing a file with warnings you care about - provide consistent exit status codes for those warnings you care about - fully document what warnings, errors and fatal errors mean - remove all other cruft from the user interface, less is more: - remove all -f knobs along with the whole -f option - remove the old -Werror because calling warnings "fatal" is silly - always finish parsing each file, unless fatal errors prevent that This commit also includes a couple of related simplifications behind the scenes regarding error handling. Feedback and OK kristaps@; Joerg Sonnenberger (NetBSD) and Sascha Wildner (DragonFly BSD) agree with the general direction.
* simplify the code copying the macro name, and sync theIngo Schwarze2010-08-081-7/+7
| | | | | accompagnying comment between man_pmacro() and mdoc_pmacro(); ok'd by kristaps@ together with main.c rev. 1.102
* Clean out the isgraph() checks in mdoc.c and man.c. These code pathsKristaps Dzonsons2010-08-071-11/+1
| | | | | were never taken since main.c begin skipping over unrecognisable characters, so they were noops.
* Added `in' macro support for -man -Tascii. This is not yet supported inKristaps Dzonsons2010-07-221-0/+1
| | | | -Thtml (I'm surprised to note that neither is LITERAL mode).
* Text ending in a full stop, exclamation mark or question markIngo Schwarze2010-07-181-1/+1
| | | | | | | | | | | | | | | | | | should not flag the end of a sentence if: 1) The punctuation is followed by closing delimiters and not preceded by alphanumeric characters, like in "There is no full stop (.) in this sentence" or 2) The punctuation is a child of a macro and not preceded by alphanumeric characters, like in "There is no full stop .Pq \&. in this sentence" "looks fine" to kristaps@; tested by jmc@ and sobrado@
* correct lots of copyright notices;Ingo Schwarze2010-07-131-1/+1
| | | | ok kristaps@
* Re-constitution of `ds' symbol processing. First, push theKristaps Dzonsons2010-07-071-1/+0
| | | | | | | | | 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.
* Following clue-stick applied by schwarze@, back out const-ness of regsetKristaps Dzonsons2010-06-271-2/+2
| | | | | | | | | 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-10/+8
| | | | | | | | | 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-4/+7
| | | | libman and libmdoc.
* Churn-ish check-in getting mdoc_parseln() and man_parseln() to accept aKristaps Dzonsons2010-06-261-1/+3
| | | | const struct regset pointer. No functionality.
* Churn as I finish email address migration kth.se -> bsd.lv.Kristaps Dzonsons2010-06-191-1/+1
|
* Allow bad -man dates to flow verbatim into the front-ends. Noted byKristaps Dzonsons2010-05-261-0/+2
| | | | Ulrich Spoerlein.
* Enable the unified error/warning enumeration in mandoc.h that'sKristaps Dzonsons2010-05-171-84/+29
| | | | | | | | | | | 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.
* Add support for .AT. Properly implement .UC. Add regress tests.Joerg Sonnenberger2010-05-171-1/+1
|
* Allow roff_parseln() to be re-run.Kristaps Dzonsons2010-05-161-26/+30
| | | | | | | | | 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-1/+1
|
* Remove `am', `ami', `de', `dei', and `.' from -man, as they're now in the ↵Kristaps Dzonsons2010-05-151-7/+1
| | | | roff preprocessor.
* Pull `ig' out of -man and leave it the roff preparser.Kristaps Dzonsons2010-05-151-2/+1
|
* Removed restriction on integer manual sections in -man.Kristaps Dzonsons2010-05-151-1/+2
|
* More EOS: append_delims() fitted with EOS detection, so ANY macro with ↵Kristaps Dzonsons2010-05-151-0/+2
| | | | | | appended delimiters will properly EOS. Fixed mandoc_eos() to accept sentence punctuation followed by close-delim buffers.
* Put the eos-checker into libmandoc.h.Kristaps Dzonsons2010-05-121-13/+1
| | | | Added bits in mdoc.7 and man.7 about EOS spacing.
* End-of-sentence spacing for -man -Tascii.Kristaps Dzonsons2010-05-121-0/+23
|
* Fix asserts on stripping end-of-line whitespace.Kristaps Dzonsons2010-05-081-3/+1
|
* Strip trailing, unescaped whitespace from free-form, non-literal lines (like ↵Kristaps Dzonsons2010-05-081-3/+17
| | | | groff).
* Lint fixes (type-safety for enums via -cefuh).Kristaps Dzonsons2010-05-081-3/+6
|
* De-chunking of text removed from parsers. This is a significant change (and ↵Kristaps Dzonsons2010-05-071-55/+17
| | | | | | I don't really like it), but it's what groff does. Distinction of ARGS_PHRASE and ARGS_PPHRASE in backend (not yet used).
* Sync'd mdoc.c's function names with man.c.Kristaps Dzonsons2010-04-081-0/+6
| | | | Prompted by Ingo and Claus Assman, added warn/ignore for text lines beginning with `\."'.
* Final (?) fix to issue pointed out by Sascha Wildner: roff instructions ↵Kristaps Dzonsons2010-03-291-8/+13
| | | | clobbering prior scope rules and line modes.
* Initial step in fixing badness reported by Sascha Wildner (wip).Kristaps Dzonsons2010-03-291-3/+5
|
* Last fix for tabs/spaces between control character and macro. egcs gcc.1 is ↵VERSION.1.9.18Kristaps Dzonsons2010-03-271-1/+1
| | | | now handled.
* *** empty log message ***Kristaps Dzonsons2010-03-271-1/+5
|
* Fixed re-adjustment of scope in exiting roff instructions (libman).Kristaps Dzonsons2010-03-271-4/+6
| | | | | | Added title-case check for (libman). Fixed premature closure of roff instruction scope (libman). Added documentation of ignored roff macros to man(3).
* Using man_node_delete() instead of man_node_free()/man_node_freelist() and ↵Kristaps Dzonsons2010-03-241-27/+53
| | | | | | | friends (much simpler). Split blk_imp() into blk_exp() (explicit macros), blk_dotted() (roff macros), and the original. Added de, dei, am, ami, and ig roff macros (for now, these are discarded within the parse).
* libman using enum mant instead of #defines for macros.Kristaps Dzonsons2010-03-231-12/+13
| | | | | Clean-ups, better documentation in man_hash.c. Added extra space for "." in man_hash.c (unused for the time being).
* Support for pod2man standard header macros (Vb, Ve, Sp). Based largely on a ↵Kristaps Dzonsons2010-03-231-1/+2
| | | | set of patches by Ingo Schwarze.
* Clarify -man -T[x]html handling of `br' within `B'.Kristaps Dzonsons2010-03-221-27/+49
| | | | | Consolidated node unlinking in -man. Conclude nested next-line scope issues noted by Ingo Schwarze.
* Accomodate (libman) for next-line macros followed by non-text macros `na', ↵Kristaps Dzonsons2010-03-221-3/+34
| | | | | | `sp', and `br'. Based on a patch by Ingo Schwarze.
* Check for white-space at the end of free-form text. Lack of check spotted ↵Kristaps Dzonsons2010-01-071-3/+23
| | | | by Jason McIntyre.
* Check for white-space at end of stand-alone macro line.Kristaps Dzonsons2010-01-071-2/+9
|
* Big check-in of compatibility layer. This should work on most major ↵Kristaps Dzonsons2010-01-011-4/+4
| | | | architectures. Thanks to Joerg Sonnenberger.
* Fix in junking dot lines in -man (from PR by Alex Kozlov).Kristaps Dzonsons2009-11-021-3/+3
|
* libmdoc and libman now using non-recoverable allocations (simpler code).Kristaps Dzonsons2009-10-301-38/+13
|
* bzero() -> memset() (noted by Joerg Sonnenberger).Kristaps Dzonsons2009-10-271-1/+1
|
* -man also prints unknown macro (noted by Joerg Sonnenberger).Kristaps Dzonsons2009-10-261-6/+14
|
* Added `PD' to -man (doesn't do anything, yet).Kristaps Dzonsons2009-10-241-1/+1
|