summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* In-progress move from -T[x]html using DIVs for its lists to using DL,Kristaps Dzonsons2010-12-154-256/+160
| | | | | OL, and UL. Issue raised by Will Backman, solution proposed by schwarze@.
* Make SYNOPSIS sections and code having .nr nS enabledIngo Schwarze2010-12-111-1/+14
| | | | | | | | | behave as if the whole code were wrapped in .Bk/.Ek, i.e. keeping input lines together on output lines. This is compatible with new groff behaviour and deviates from historical groff. Tweaked version of a patch sent by kristaps@ on July 16, 2010. ok kristaps@ jmc@ sobrado@ millert@
* Abort endless loops during roff macro and string expansion.Ingo Schwarze2010-12-103-2/+18
| | | | | | For now, use the simplest conceivable approach, like groff does: Just a fixed, ugly input stack limit. "check it in" kristaps@
* done: .de; todo: """"; loops in macro and string expansionIngo Schwarze2010-12-091-22/+9
|
* Allow quote macros (`Op', `Aq', `Bq', `Dq', `Pq', `Ql', `Qq', `Sq', andKristaps Dzonsons2010-12-092-12/+9
| | | | | | | | | `Brq') to have zero arguments without warning. This makes sense because the multi-line quote macros (`Oo/Oc' etc.) allow zero children anyway. Furthermore, the documentation doesn't state that they're required to have children. Originally reported by Alex Kozlov, thanks!
* Remove `i' and `r' macro handlers. These macros, originally part of theKristaps Dzonsons2010-12-087-53/+10
| | | | | | | | me package, aren't recognised by "groff -mandoc" so we don't need to do so either. Discussed on tech@ with schwarze@. While at it, remove references to `b' in man.7. As far as I know, this was never supported anyway.
* Tag an internal release, 1.10.7, that marks being in sync with OpenBSD'sVERSION.1.10.7Kristaps Dzonsons2010-12-061-2/+2
| | | | | | | | | | | changes these last months (less tbl). There are still some issues that require thought, but this extends beyond synchronisation. This WILL NOT be pushed to the main site; it's merely a logical tag so that there's a common fall-back in future changes. Note that the TODO file is NOT up to date. This is ok since the tag is purely internal.
* Bring schwarze@'s mandoc.h and main.c errors and warnings entirely in sync,Kristaps Dzonsons2010-12-062-85/+106
| | | | except for the tbl one which will be the focus of later study.
* Import changes by schwarze@ and Jason McIntyre into manuals. These areKristaps Dzonsons2010-12-062-91/+274
| | | | | | | | | | for the new libroff macros, the new libman macros, and for the sake of general clarity. Note that `ft' documentation is NOT included, as I've kept it in -man: it's highly confusing to have it in roff.7 when it's not implemented for both -man and -mdoc, as at least in theory, roff.7 should include only macros recognised by BOTH formats.
* Typo: man_in_pre -> man_ign_pre for `ft'.Kristaps Dzonsons2010-12-061-1/+1
|
* Add support for `ft' macro found in groff(7). Based on a patch byKristaps Dzonsons2010-12-069-2/+110
| | | | | schwarze@, but without the -T[x]html handling, which structurally does not work. Also add man.7 documentation (not in original patch).
* Small merges from schwarze@'s man_html.c edits.Kristaps Dzonsons2010-12-061-6/+2
|
* Let some man_term.c cleanups bleed into man_html.c.Kristaps Dzonsons2010-12-061-6/+2
|
* My favourite: removing lots of code in favour of smaller, tighter code.Kristaps Dzonsons2010-12-061-79/+49
| | | | | Merge patch by schwarze@ consolidating RB, BR, etc. into one function. man_html.c already does this.
* Make return(man_nmsg(...)) by a simple declaration.Kristaps Dzonsons2010-12-061-18/+20
| | | | | | Make non-uppercase warning only occur once. Make scope-open-on-error warning only occur once.
* Header for `PP', `P', and `LP' should never be printed.Kristaps Dzonsons2010-12-062-2/+5
|
* Allow HP/IP/etc. to have no arguments, as they're optional. From a field-Kristaps Dzonsons2010-12-061-3/+1
| | | | tested patch by schwarze@.
* Allow multiple ELINE macros without raising a fatal error. From a field-Kristaps Dzonsons2010-12-061-25/+9
| | | | tested patch by schwarze@.
* Track down a bug of empty `de XX' macros causing uncertain behaviour byKristaps Dzonsons2010-12-062-10/+22
| | | | | | | | | | returning empty strings in roff_getstrn() instead of NULL. This caused maddeningly irregular segfaults in the pod2man preamble for `de IX'. But only on DEC alpha. Also integrate the kinda-probably-safe assertion relaxation in term.c, field-tested by schwarze@. This allows ALL [unpreprocessed] base and xenocara manuals for all BSD systems to run without segfault.
* Merge schwarze@'s relaxation of scope-breaking rules: allow implicitKristaps Dzonsons2010-12-064-24/+24
| | | | ending of scopes and drop stray scope-endings.
* Remove `Sp', `Vb', and `Ve' (as per schwarze@'s changes in OpenBSD),Kristaps Dzonsons2010-12-058-69/+5
| | | | which are now accomodated for the new libroff modifications.
* Remove repeat notification of -width omission. From a patch by schwarze@.Kristaps Dzonsons2010-12-051-6/+1
|
* Remove long-standing FIXME regarding the consolidation of WIDTHARG andKristaps Dzonsons2010-12-053-6/+2
| | | | NOARGV warnings. From patch by schwarze@.
* Merge schwarze@'s patch to allow uname() to fail without causing an exit.Kristaps Dzonsons2010-12-053-5/+8
|
* Merge schwarze@'s changes allowing nested displays. Tweak the patch byKristaps Dzonsons2010-12-056-13/+21
| | | | | | | making sure output doesn't add a superfluous newline with the nested displays. Also add a COMPATIBILITY note. Rename a macro (DATESIZ) to be in line with OpenBSD (DATESIZE).
* Track the parser status both per file (file_status), such thatIngo Schwarze2010-12-021-13/+18
| | | | | | | | we can for example skip rendering on FATAL parsing errors, and globally (exit_status), such that we know what to return. Without this, following files produced no rendered output once a single file suffered from a FATAL error. Bug reported by kristaps@, fix by me.
* Merge schwarze@'s changes to allow for user-defined strings. ThisKristaps Dzonsons2010-12-021-72/+213
| | | | | | | | primarily adds a roff_userdef() function for parsing new defines and modifies the look-up procedure. NOTE: there is a bug hidden away in this update that causes an infinite loop in some pages. The cause is for the moment unknown.
* Fix enum/int mixing.Kristaps Dzonsons2010-12-011-2/+3
|
* Merge OpenBSD's `so' handling (plus some documentation). Great work toKristaps Dzonsons2010-12-013-0/+31
| | | | schwarze@ and joerg@ for his comments!
* Make sure that the manual section defaults to `1' if it's unset. ThisKristaps Dzonsons2010-12-011-0/+2
| | | | | behaviour only happens if `Dt' isn't specified, which can be exhibited by running mandoc -mdoc on a man manual.
* Fix a subtle error in the new main.c where the parse type (mdoc/man) wasKristaps Dzonsons2010-12-011-85/+156
| | | | | | | | | | | | | | | being inherited during the parse sequence, making pset() meaningless. Make sure that the mdoc/man curp pointer is set for each parse from a persistent object. This flushes out an obscure error where `man' pages called with `mdoc' will parse and segfault due to a missing title. Never happened earlier because `mdoc' pages were guaranteed to have a prologue. Fix this later. Also document the new main.c functions. Please make sure these sort of things are documented! Throw in some whitespace to make things a bit more readable.
* Merge restructuring of main.c code. This provided by schwarze@ and inspectedKristaps Dzonsons2010-12-012-129/+216
| | | | | | | | carefully by joerg@. Merge roff.h header for compilation's sake (this is not yet implemented in roff.c.). THIS IS A BUGGY CHECK-IN. The manual type is erroneously kept between runs of the compiler. This is a known bug.
* Fixed a goddamn subtle error causing MDOC_LITERAL to remain set after aKristaps Dzonsons2010-12-011-1/+1
| | | | call to `Dl' or `Bd -literal' or unfilled.
* Re-ordering of roff requests as per OpenBSD.Kristaps Dzonsons2010-12-013-4/+14
| | | | Made `rm' be an error (again, OpenBSD...).
* Low-hanging fruit: add OpenBSD's `ad', `hy', `ne', and `nh' handling.Kristaps Dzonsons2010-12-011-4/+12
| | | | Rename roff_line() -> roff_line_ignore().
* Restore the Id tag that i clobbered in my previous commit,Ingo Schwarze2010-11-301-1/+1
| | | | as pointed out by kristaps@. Sorry!
* Merge OpenBSD mdoc.7 rev. 1.56 and 1.57:Ingo Schwarze2010-11-301-15/+25
| | | | | | | | Define the terms "callable" and "parsed" with more precision. Be more specific about what .Xo can be used for. Be more specific about what "historic groff" refers to. Explicitely mention the nine argument limit below COMPATIBILITY. feedback and ok jmc@
* Kill man_action.c.Kristaps Dzonsons2010-11-305-114/+3
|
* Move all man_action.c routines into man_validate.cKristaps Dzonsons2010-11-302-198/+198
|
* Simplify the many if ( ! mdoc_nmsg()) return(0) etc. calls with just theKristaps Dzonsons2010-11-301-168/+157
| | | | | | | | | | error printing, as this is superseded by exit_status in main.c. Make check_argv() and check_text() return void. Make MDOC_Std test in check_argv() to pre_std(). Re-write post_root() to check more conditions before returning.
* mdoc_action.c is no more. Attic it and remove it from the Makefile.Kristaps Dzonsons2010-11-305-236/+5
| | | | | Remove references to MDOC_ACTED (it was only assertions) and the pre- and post-action functions.
* Moved all prologue actions from mdoc_action.c into mdoc_validate.c. TheKristaps Dzonsons2010-11-302-337/+299
| | | | file is now ready for removal.
* Move post_bl() and subfunctions from mdoc_action.c into mdoc_validate.c.Kristaps Dzonsons2010-11-302-152/+157
|
* Move -column list validation and normal-formisation from mdoc_action.cKristaps Dzonsons2010-11-302-67/+56
| | | | into mdoc_validate.c.
* Migrate `Nm' and `Pa' handling from mdoc_action.c into mdoc_validate.c.Kristaps Dzonsons2010-11-293-50/+42
| | | | Document that `Pa' is replaced by a tilde, just like `Mt'.
* Remove left-over rsord[] in mdoc_actions.c.Kristaps Dzonsons2010-11-294-102/+78
| | | | | | | | | Remove MANDOCERR_BADLIB (not used). Moved `St' handling from mdoc_action.c into mdoc_validate.c. Moved relevant MDOC_LITERAL macros (`Dl', `Bd' subtypes) from mdoc_action.c into mdoc_validate.c.
* Move `Lb' handling from mdoc_action.c into mdoc_validate.c.Kristaps Dzonsons2010-11-292-39/+26
|
* Move `At' handling from mdoc_action.c into mdoc_validate.c.Kristaps Dzonsons2010-11-292-48/+36
|
* Move `Sh' validation from mdoc_action.c. into mdoc_validate.c.Kristaps Dzonsons2010-11-292-86/+46
| | | | | Surprisingly, both functions were doing pretty much the same thing. Make sure that the changes incorporate the union of both.
* Clarifying role of pre_pp (now pre_par), which was confusing me due toKristaps Dzonsons2010-11-291-7/+9
| | | | | its name. Added some more documentation just for clarity's sake. No functional change.