summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Significantly clean up Sh, Ss, SH, and SS handling in -Thtml. Now aKristaps Dzonsons2010-12-173-133/+38
| | | | | | top-level DIV is used with only an H1 or H2 as the section header. This makes manuals much more readable in lynx, less complicated, and relegates left-margin widths to example.style.css.
* Some default styles for lists. Needs more testing, but seems safeKristaps Dzonsons2010-12-161-8/+8
| | | | enough.
* Note that we use CSS1, not CSS2.Kristaps Dzonsons2010-12-161-6/+5
| | | | Remove superfluous language in output-mode short description.
* Get widths to be propertly represented in -T[x]html.Kristaps Dzonsons2010-12-161-6/+17
|
* Migrate `An' to use a pointer in its data, like everybody else. This isKristaps Dzonsons2010-12-164-7/+13
| | | | | the first step to having a simpler ref-counted system for "data" associated with a node.
* Remove stray note on `i', which we no longer support.Kristaps Dzonsons2010-12-161-6/+0
|
* Note that `Sh' and `Ss' are now rigorously checked for paragraph macros.Kristaps Dzonsons2010-12-161-4/+2
| | | | Merge other TODO regarding `It' and paragraphs.
* Back out last: apparently `Bl', `It', and `Pp' need a little bit moreKristaps Dzonsons2010-12-161-17/+2
| | | | study to see exactly what's legal and what's not.
* Allow `It' to have a trailing paragraph if the surrounding list is inKristaps Dzonsons2010-12-161-2/+17
| | | | compact mode.
* First, make `Pp' (next to `Sm') be allowed as the first element of aKristaps Dzonsons2010-12-161-13/+15
| | | | | | | | | | | `Bl' (before any `It' have been invoked). Next, have the existence of either macro raise a warning, as it's technically not legal according to mdoc.7. Second, delete any `Pp' as the first element of a `Bl' (i.e., before an `It') ONLY when -compact has not been specified. This matches with the latest version of groff. This deletion happens prior to the above check, so double-warnings will not be issued.
* Remove `Pp' and `Lp' checks in front-ends to make sure we're notKristaps Dzonsons2010-12-152-10/+0
| | | | | printing as the first or last child of an `Ss' or `Sh': this is now ensured within the validator.
* Add a "last child" member of struct mdoc_node.Kristaps Dzonsons2010-12-156-8/+34
| | | | | | | Remove `Pp' or `Lp' if it is the FIRST or LAST child of an `Sh' or `Sh' body. Make "skipping paragraph" be an error, not a warning, as information (an invoked macro) is ignored.
* Add some more bits to CSS example.Kristaps Dzonsons2010-12-151-1/+5
|
* Use a single P tag for paragraph breaks (which can be configured forKristaps Dzonsons2010-12-154-37/+36
| | | | | | | paragraph breaking in CSS). Use -man's handling of `sp' and `br', which accomodates for scaling widths (-mdoc wasn't).
* Make sure that new list types don't emit whitespace before or after (weKristaps Dzonsons2010-12-151-20/+15
| | | | have to do this manually).
* Clarifying styles.Kristaps Dzonsons2010-12-151-21/+20
|
* Clarify purpose of "lit".Kristaps Dzonsons2010-12-152-8/+16
| | | | Make `Dl' and `D1' both use BLOCKQUOTE instead of DIVs.
* Remove stupid outer DIV tag in favour of regular BODY and HTML that canKristaps Dzonsons2010-12-155-19/+7
| | | | | | | | be handled in CSS. Clarified "lit" tag (will be the subject of future clarification). Removed CSS2 note in mandoc.1, which is no longer the case.
* Added list-type style tips.Kristaps Dzonsons2010-12-152-11/+53
|
* 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.