]> git.cameronkatri.com Git - mandoc.git/log
mandoc.git
14 years agoAccomodate for groff's crappy behaviour wherein an unrecognised
Kristaps Dzonsons [Wed, 21 Jul 2010 20:35:03 +0000 (20:35 +0000)]
Accomodate for groff's crappy behaviour wherein an unrecognised
single-character escape (and ONLY this type of escape) will map back
into itself:

       "If a backslash is followed by a character that does not
constitute a defined escape sequence the backslash is silently
        ignored and the  character maps to itself."

(From groff.7.)

Found by Jason McIntyre.

14 years agoClarified mailing list purposes.
Kristaps Dzonsons [Wed, 21 Jul 2010 10:10:24 +0000 (10:10 +0000)]
Clarified mailing list purposes.

14 years agoTidy up the www page.
Kristaps Dzonsons [Wed, 21 Jul 2010 09:59:52 +0000 (09:59 +0000)]
Tidy up the www page.

14 years agoNit-picking assign in decl.
Kristaps Dzonsons [Wed, 21 Jul 2010 09:36:41 +0000 (09:36 +0000)]
Nit-picking assign in decl.

14 years agoLint-fixes (NetBSD).
Kristaps Dzonsons [Wed, 21 Jul 2010 09:15:48 +0000 (09:15 +0000)]
Lint-fixes (NetBSD).

14 years agoFinally make mdoc argv CPP-defines into a proper enum.
Kristaps Dzonsons [Wed, 21 Jul 2010 09:08:26 +0000 (09:08 +0000)]
Finally make mdoc argv CPP-defines into a proper enum.

14 years agoThe "wx" value is quite small, so use a u_short instead of a size_t.
Kristaps Dzonsons [Wed, 21 Jul 2010 08:24:39 +0000 (08:24 +0000)]
The "wx" value is quite small, so use a u_short instead of a size_t.

14 years agoStrip non-graphable input characters from input. The manuals
Kristaps Dzonsons [Tue, 20 Jul 2010 14:56:42 +0000 (14:56 +0000)]
Strip non-graphable input characters from input.  The manuals
specifically say that this is not allowed, and were it allowed, output
would be inconsistent across output media (-Tps will puke,
non-your-charset terminals will puke, etc.).

With this done, simplify check_text() to only check escapes and for
tabs.  Add in a new tab warning, too.

14 years agoUse floating-point -Tps "moveto" arguments to smooth out column and row
Kristaps Dzonsons [Tue, 20 Jul 2010 10:56:03 +0000 (10:56 +0000)]
Use floating-point -Tps "moveto" arguments to smooth out column and row
misalignments.

14 years agosync to OpenBSD:
Ingo Schwarze [Mon, 19 Jul 2010 23:21:39 +0000 (23:21 +0000)]
sync to OpenBSD:
* briefly mention the HISTORY of the man(7) language
* update the copyright notice
* improve the wording in a few places
* fix a couple of typos
including two suggestions from J.C. Roberts
feedback and ok jmc@, ok sobrado@ and kristaps@

14 years agoAll macros in mdoc.7 are now documented.
Kristaps Dzonsons [Mon, 19 Jul 2010 21:59:48 +0000 (21:59 +0000)]
All macros in mdoc.7 are now documented.

14 years agoFinished document -mdoc macros. Note `br' and `sp' remain.
Kristaps Dzonsons [Mon, 19 Jul 2010 15:43:10 +0000 (15:43 +0000)]
Finished document -mdoc macros.  Note `br' and `sp' remain.

Noted in arch.in and st.in that mdoc.7 must be updated if entries are
added.

14 years agoAdded documentation for several more macros. Only a few remaining!
Kristaps Dzonsons [Mon, 19 Jul 2010 15:28:11 +0000 (15:28 +0000)]
Added documentation for several more macros.  Only a few remaining!

Applied "new-sentence, new-line" here and there.

Refer to "whitespace", not "white-space".

Remove long-commented-out CAVEATS, all of which have been addressed or
at least discussed to some extent or another.

14 years agoRemove some FIXMEs: `Ms' accepts arbitrary text, so it can't/shouldn't
Kristaps Dzonsons [Mon, 19 Jul 2010 11:11:54 +0000 (11:11 +0000)]
Remove some FIXMEs: `Ms' accepts arbitrary text, so it can't/shouldn't
be converted into a symbol.

The `Pp' issue has also been fixed.

14 years agoFix spurrious newline emitted by `Pp' when specified before or after
Kristaps Dzonsons [Mon, 19 Jul 2010 11:06:31 +0000 (11:06 +0000)]
Fix spurrious newline emitted by `Pp' when specified before or after
`Sh'/`Ss'.  Reported by Jason McIntyre.

14 years agoChanged Unicode codepoint of left-arrow right-arrow to be the regular
Kristaps Dzonsons [Mon, 19 Jul 2010 10:49:30 +0000 (10:49 +0000)]
Changed Unicode codepoint of left-arrow right-arrow to be the regular
ASCII symbols.

14 years agoNote discarding of \m, \M, and \s in COMPATIBILITY sections.
Kristaps Dzonsons [Mon, 19 Jul 2010 10:48:36 +0000 (10:48 +0000)]
Note discarding of \m, \M, and \s in COMPATIBILITY sections.

14 years agoRemove \s TODO: these are intelligently ignored along with \m and \M.
Kristaps Dzonsons [Mon, 19 Jul 2010 09:21:58 +0000 (09:21 +0000)]
Remove \s TODO: these are intelligently ignored along with \m and \M.

14 years agoRemoved \s documentation, as we (1) never supported it, and (2) never
Kristaps Dzonsons [Mon, 19 Jul 2010 09:19:22 +0000 (09:19 +0000)]
Removed \s documentation, as we (1) never supported it, and (2) never
will.

Also whack the dot-separator from the embedded man.7 manual.

14 years agoDouble-up DECO_RESERVED switch branch for colours.
Kristaps Dzonsons [Mon, 19 Jul 2010 07:53:40 +0000 (07:53 +0000)]
Double-up DECO_RESERVED switch branch for colours.

14 years agoProperly discard \m colour escapes. Noted by J.C. Roberts.
Kristaps Dzonsons [Sun, 18 Jul 2010 23:06:18 +0000 (23:06 +0000)]
Properly discard \m colour escapes.  Noted by J.C. Roberts.

14 years agoThrow out a2roffdeco() in out.c for a readable version. The prior one
Kristaps Dzonsons [Sun, 18 Jul 2010 22:55:06 +0000 (22:55 +0000)]
Throw out a2roffdeco() in out.c for a readable version.  The prior one
was completely unmaintainable.  The new one is both readable and quite
similar to mandoc_special(), which in future versions will easily allow
throwing-away of unsupported escapes (such as \m).  It's also a fair bit
smaller.

DECO_SIZE has been removed: this crap, like colours, will not be
supported.

mandoc_special() also has #if 0'd switch branches for ALL groff.7
escapes and some lint fixes.

14 years agoMake "\ " produce non-breaking space.
Kristaps Dzonsons [Sun, 18 Jul 2010 18:04:25 +0000 (18:04 +0000)]
Make "\ " produce non-breaking space.

Noted by Theo de Raadt.  Ok schwarze@.

14 years agoText ending in a full stop, exclamation mark or question mark
Ingo Schwarze [Sun, 18 Jul 2010 17:00:26 +0000 (17:00 +0000)]
Text ending in a full stop, exclamation mark or question mark
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@

14 years agofixed .Sm spacing, but there are four new issues
Ingo Schwarze [Sun, 18 Jul 2010 16:42:03 +0000 (16:42 +0000)]
fixed .Sm spacing, but there are four new issues

14 years agoClean up mandoc_special() (in order later to catch \m). It also flags
Kristaps Dzonsons [Sun, 18 Jul 2010 12:10:08 +0000 (12:10 +0000)]
Clean up mandoc_special() (in order later to catch \m).  It also flags
several syntactic errors that weren't caught before.

Also un-puke chars.c on zero-length \[].

14 years agoAvoid letter-by-letter encoding by using strcspn() in term_word().
Kristaps Dzonsons [Sat, 17 Jul 2010 12:01:43 +0000 (12:01 +0000)]
Avoid letter-by-letter encoding by using strcspn() in term_word().

14 years agoBy letting strncmp() do its job and not helping it with a prior length
Kristaps Dzonsons [Sat, 17 Jul 2010 09:21:39 +0000 (09:21 +0000)]
By letting strncmp() do its job and not helping it with a prior length
check, we can remove the hard-coded length of all escape patterns.  This
frees up a nice chunk of memory.

14 years agoChange chars.in HTML encoding to be a Unicode codepoint (int), which is
Kristaps Dzonsons [Fri, 16 Jul 2010 22:33:30 +0000 (22:33 +0000)]
Change chars.in HTML encoding to be a Unicode codepoint (int), which is
later formatted in html.c.

14 years agoRemoved completed TODO.
Kristaps Dzonsons [Fri, 16 Jul 2010 22:10:04 +0000 (22:10 +0000)]
Removed completed TODO.

14 years agoFixed dquote to be \*q.
Kristaps Dzonsons [Fri, 16 Jul 2010 21:09:39 +0000 (21:09 +0000)]
Fixed dquote to be \*q.

14 years agoFix which escapes are used to format \".
Kristaps Dzonsons [Fri, 16 Jul 2010 10:25:54 +0000 (10:25 +0000)]
Fix which escapes are used to format \".

14 years agoAfter .Sm on, spacing ought to restart right away, before the next token,
Ingo Schwarze [Fri, 16 Jul 2010 00:03:37 +0000 (00:03 +0000)]
After .Sm on, spacing ought to restart right away, before the next token,
and not with a delay, after the next token.  But be careful not to cause
leading white space at the beginning of a line or column.
In OpenBSD, improves chmod(1), ksh(1), tar(1), ps(1) and probably many more.
ok kristaps@ and tested by jmc@ and sobrado@

14 years agodocument .Sm; prodded by kristaps@
Ingo Schwarze [Thu, 15 Jul 2010 23:50:15 +0000 (23:50 +0000)]
document .Sm; prodded by kristaps@

14 years agocorrect lots of copyright notices;
Ingo Schwarze [Tue, 13 Jul 2010 23:53:20 +0000 (23:53 +0000)]
correct lots of copyright notices;
ok kristaps@

14 years agoPre-tag checkin of release bits and shortlist. VERSION_1_10_4
Kristaps Dzonsons [Sun, 11 Jul 2010 23:07:47 +0000 (23:07 +0000)]
Pre-tag checkin of release bits and shortlist.

14 years agoremove three issues fixed near the end of the c2k10 hackathon
Ingo Schwarze [Sun, 11 Jul 2010 22:39:32 +0000 (22:39 +0000)]
remove three issues fixed near the end of the c2k10 hackathon

14 years agoRe-constitution of `ds' symbol processing. First, push the
Kristaps Dzonsons [Wed, 7 Jul 2010 15:04:54 +0000 (15:04 +0000)]
Re-constitution of `ds' symbol processing.  First, push the
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.

14 years agoRevert Makefile to using mandoc.c instead of libmandoc.c. Remove
Kristaps Dzonsons [Tue, 6 Jul 2010 22:08:33 +0000 (22:08 +0000)]
Revert Makefile to using mandoc.c instead of libmandoc.c.  Remove
newborn libmandoc.c.

While here, remove superfluous dep of libman on mandoc.c.

14 years agoResurrect mandoc.c after bogus removal (was: libmandoc.c).
Kristaps Dzonsons [Tue, 6 Jul 2010 22:04:31 +0000 (22:04 +0000)]
Resurrect mandoc.c after bogus removal (was: libmandoc.c).

14 years agoGive -T[x]html `Bk -words' capability.
Kristaps Dzonsons [Tue, 6 Jul 2010 12:37:17 +0000 (12:37 +0000)]
Give -T[x]html `Bk -words' capability.

14 years agoBrought function arguments and style in ine with term_word() in term.c
Kristaps Dzonsons [Tue, 6 Jul 2010 11:10:53 +0000 (11:10 +0000)]
Brought function arguments and style in ine with term_word() in term.c
to make sharing of TERMP_KEEP easier.

14 years agoClarified `Bk' operation in mdoc.7.
Kristaps Dzonsons [Tue, 6 Jul 2010 11:07:21 +0000 (11:07 +0000)]
Clarified `Bk' operation in mdoc.7.

14 years agoDocumented `En', `Es', `Hf', `Ic', `Lp', `Nd', `No', `Oc', `Oo', `Op',
Kristaps Dzonsons [Tue, 6 Jul 2010 10:55:50 +0000 (10:55 +0000)]
Documented `En', `Es', `Hf', `Ic', `Lp', `Nd', `No', `Oc', `Oo', `Op',
`Pa', `Pc', `Po', `Pq', `Pp', and `Va'.

14 years agoProper `Bk -words' support: only suppress breaks within a line, but
Kristaps Dzonsons [Tue, 6 Jul 2010 10:54:05 +0000 (10:54 +0000)]
Proper `Bk -words' support: only suppress breaks within a line, but
allow end-of-line to break.  This fixes the bad behaviour found when
macros within `Bk' never break.

"Excellent" schwarze@

14 years agoMove register information into mandoc.h, which is where it should have
Kristaps Dzonsons [Mon, 5 Jul 2010 20:10:22 +0000 (20:10 +0000)]
Move register information into mandoc.h, which is where it should have
been in the first place (mandoc.h contains system-wide declarations).

14 years agoRenamed mandoc.c to libmandoc.c. This is in the efforts of getting a
Kristaps Dzonsons [Mon, 5 Jul 2010 20:00:55 +0000 (20:00 +0000)]
Renamed mandoc.c to libmandoc.c.  This is in the efforts of getting a
cleaner namespace for functions across the entire system (mandoc.h:
getting parsed-string values, or declarations necessary for the AST
data), and compiler functions (libmandoc.h: back-end functions and
declarations).

14 years agoManual clean-ups. Add syntax message for `Bd', `Bk', and `Bl'.
Kristaps Dzonsons [Mon, 5 Jul 2010 13:12:32 +0000 (13:12 +0000)]
Manual clean-ups.  Add syntax message for `Bd', `Bk', and `Bl'.
Document `Eo' and `Ec'.  Add context-end notes `Ec' and `Fc'.

14 years agoRemove caching TODO: this has been committed.
Kristaps Dzonsons [Mon, 5 Jul 2010 10:45:14 +0000 (10:45 +0000)]
Remove caching TODO: this has been committed.

14 years agoSuppress duplicate "Page: 1 1" -Tps printing and instead relay on
Kristaps Dzonsons [Mon, 5 Jul 2010 08:46:09 +0000 (08:46 +0000)]
Suppress duplicate "Page: 1 1" -Tps printing and instead relay on
PS_NEWPAGE to do the job for us.  Noted by Dillo.

14 years agoAssert my copyright, making it explicit that i'm granting the same license
Ingo Schwarze [Sun, 4 Jul 2010 22:04:04 +0000 (22:04 +0000)]
Assert my copyright, making it explicit that i'm granting the same license
on those parts of the code and text that i have written as Kristaps is.
"fine with me" kristaps@

14 years agoCache column sizes and char pointer into mdoc_bl. Finally get rid of
Kristaps Dzonsons [Sun, 4 Jul 2010 21:59:30 +0000 (21:59 +0000)]
Cache column sizes and char pointer into mdoc_bl.  Finally get rid of
the loops here and there to track down the MDOC_Column arguments.

14 years agogv(1) doesn't remember the last set font when displaying new pages, so
Kristaps Dzonsons [Sun, 4 Jul 2010 20:17:42 +0000 (20:17 +0000)]
gv(1) doesn't remember the last set font when displaying new pages, so
print it out for each new page.  This also prevents superfluous
printings of the font before the %%Page: comment has been displayed.

14 years agoSet line-height to be 1.4em. Removed check for minimum margins that are no
Kristaps Dzonsons [Sun, 4 Jul 2010 20:06:59 +0000 (20:06 +0000)]
Set line-height to be 1.4em.  Removed check for minimum margins that are no
longer important.

14 years agoSuppress printing blank eof pages in -Tps. Delay printing of Page:
Kristaps Dzonsons [Sun, 4 Jul 2010 19:57:26 +0000 (19:57 +0000)]
Suppress printing blank eof pages in -Tps.  Delay printing of Page:
until actual text is ready to be displayed.

14 years agoSuppress printing of newlines/space at start of new -Tps page.
Kristaps Dzonsons [Sun, 4 Jul 2010 19:42:25 +0000 (19:42 +0000)]
Suppress printing of newlines/space at start of new -Tps page.

Also renamed "psstate" -> "flags" (was wrongly implying some sort of
state machine).

14 years agoBacked out margin calculations in favour of much simpler rule of thumb:
Kristaps Dzonsons [Sun, 4 Jul 2010 19:24:00 +0000 (19:24 +0000)]
Backed out margin calculations in favour of much simpler rule of thumb:
margins are 1/9 the length/width.

14 years agoAuto-margins. Documented in mandoc.1. Also bumped line-height and made
Kristaps Dzonsons [Sun, 4 Jul 2010 10:53:04 +0000 (10:53 +0000)]
Auto-margins.  Documented in mandoc.1.  Also bumped line-height and made
sure header and footer accomodate for said line-height.

14 years agoAllow empty `Fo' to get by without an assertion.
Kristaps Dzonsons [Sat, 3 Jul 2010 17:17:15 +0000 (17:17 +0000)]
Allow empty `Fo' to get by without an assertion.

14 years agoNote to myself on what I need to do regarding inter-library functions.
Kristaps Dzonsons [Sat, 3 Jul 2010 16:09:03 +0000 (16:09 +0000)]
Note to myself on what I need to do regarding inter-library functions.

14 years agoRudimentary implementation of user-defined strings;
Ingo Schwarze [Sat, 3 Jul 2010 16:02:12 +0000 (16:02 +0000)]
Rudimentary implementation of user-defined strings;
no time for more refinement right now.
In particular, fixes terminfo(3) and mdoc.samples(7).
ok kristaps@, who will add the HTML frontend bits

14 years agoThe roff escape function "\s" is definitely not urgent,
Ingo Schwarze [Sat, 3 Jul 2010 00:48:09 +0000 (00:48 +0000)]
The roff escape function "\s" is definitely not urgent,
but it is used in the tree and we should not forget.

14 years agoNot only for -tag lists, but for -hang, -ohang, -inset, -diag,
Ingo Schwarze [Fri, 2 Jul 2010 17:42:23 +0000 (17:42 +0000)]
Not only for -tag lists, but for -hang, -ohang, -inset, -diag,
and -item list as well, empty bodies are OK, they do not even
warrant a warning, much less the error they were throwing.
According to kristaps, joerg@ also brought this up some time ago.
ok kristaps@ jmc@

14 years agoCached `An' arguments in struct mdoc_an. Note that this isn't a
Kristaps Dzonsons [Fri, 2 Jul 2010 15:03:14 +0000 (15:03 +0000)]
Cached `An' arguments in struct mdoc_an.  Note that this isn't a
pointer like the other data members, as there's no need to copy it around.

14 years agoFix: was checking HEAD for arguments.
Kristaps Dzonsons [Fri, 2 Jul 2010 13:12:47 +0000 (13:12 +0000)]
Fix: was checking HEAD for arguments.

14 years agoAdd documentation for Bf/Ef.
Kristaps Dzonsons [Fri, 2 Jul 2010 13:07:46 +0000 (13:07 +0000)]
Add documentation for Bf/Ef.

14 years agoStash `Bf' parameters into struct mdoc_bf.
Kristaps Dzonsons [Fri, 2 Jul 2010 12:54:33 +0000 (12:54 +0000)]
Stash `Bf' parameters into struct mdoc_bf.

14 years agoLint fixes.
Kristaps Dzonsons [Fri, 2 Jul 2010 10:53:28 +0000 (10:53 +0000)]
Lint fixes.

14 years agoLint tweak.
Kristaps Dzonsons [Fri, 2 Jul 2010 10:50:50 +0000 (10:50 +0000)]
Lint tweak.

14 years agoAdded TODO to sanitise `Nm' blocks such that HEAD optionally contains
Kristaps Dzonsons [Fri, 2 Jul 2010 10:43:21 +0000 (10:43 +0000)]
Added TODO to sanitise `Nm' blocks such that HEAD optionally contains
only a TEXT element consisting of the name.

14 years agoImplemented -Thtml bits for handling `Nm' blocks.
Kristaps Dzonsons [Fri, 2 Jul 2010 10:42:46 +0000 (10:42 +0000)]
Implemented -Thtml bits for handling `Nm' blocks.

14 years agoRemove my own dumb FIXME and mark a static function defn as static.
Kristaps Dzonsons [Thu, 1 Jul 2010 23:01:47 +0000 (23:01 +0000)]
Remove my own dumb FIXME and mark a static function defn as static.

14 years agoMake struct_bl and struct_bd into pointers. This removes the need to do
Kristaps Dzonsons [Thu, 1 Jul 2010 22:56:17 +0000 (22:56 +0000)]
Make struct_bl and struct_bd into pointers.  This removes the need to do
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.

14 years agoIn the mdoc(7) parser, inspect roff registers early such that all parts
Ingo Schwarze [Thu, 1 Jul 2010 22:35:54 +0000 (22:35 +0000)]
In the mdoc(7) parser, inspect roff registers early such that all parts
of the parser can use the resulting cues.  In particular, this allows
to use .nr nS to force SYNOPSIS-style .Nm indentation outside the
SYNOPSIS as needed by ifconfig(8).

To actually make this useable, .Pp must rewind .Nm, or the rest of the
section would end up indented.  Implement a quick hack for now,
a generic solution can be designed later.

ok kristaps@ and tested by sobrado@

14 years agoPrevent validator from puking on ENDBODY `Bl' nodes.
Kristaps Dzonsons [Thu, 1 Jul 2010 21:44:47 +0000 (21:44 +0000)]
Prevent validator from puking on ENDBODY `Bl' nodes.

14 years agoCorrect handling of trailing punctuation in MDOC_DELIM blk_full HEADs.
Ingo Schwarze [Thu, 1 Jul 2010 21:12:00 +0000 (21:12 +0000)]
Correct handling of trailing punctuation in MDOC_DELIM blk_full HEADs.
The bug was uncovered by SYNOPSIS .Nm as this happened to be the first
block with this particular combination of properties.
Found the hard way by kristaps@ in NetBSD gcc-contrib(1),
fix by me.

14 years agoImprove .Nm indentation in the SYNOPSIS;
Ingo Schwarze [Thu, 1 Jul 2010 15:38:56 +0000 (15:38 +0000)]
Improve .Nm indentation in the SYNOPSIS;
kristaps@ will do the missing HTML part soon.
"looks nicer" jmc@
"seems perfect to me" sobrado@
"slap it in" kristaps@

14 years agoMore reality-checks for the p->end type.
Kristaps Dzonsons [Thu, 1 Jul 2010 14:34:03 +0000 (14:34 +0000)]
More reality-checks for the p->end type.

14 years agop->end is an enum: treat it as such.
Kristaps Dzonsons [Thu, 1 Jul 2010 14:28:12 +0000 (14:28 +0000)]
p->end is an enum: treat it as such.

14 years agoFirst, I'm defaulting to 11-point font, which renders much nicer (the
Kristaps Dzonsons [Thu, 1 Jul 2010 14:23:45 +0000 (14:23 +0000)]
First, I'm defaulting to 11-point font, which renders much nicer (the
"Internet" vaguely suggests using 11- or 9-Point for serifed fonts).
This verified on GNU/Linux, Mac OSX, Windows, and OpenBSD.  Noted in
mandoc.1.

Then added a3, a4, a5, letter, legal, and custom page dimensions.  These
seem to be the main players.  Noted in mandoc.1.

Lintified the casting.

14 years ago"Tweak previous": "badly nested" becomes badly-nested, some typos
Kristaps Dzonsons [Thu, 1 Jul 2010 09:33:39 +0000 (09:33 +0000)]
"Tweak previous": "badly nested" becomes badly-nested, some typos
corrected, and a bit of clarity for my own sake.

14 years agoremove a couple of issues that have been fixed
Ingo Schwarze [Wed, 30 Jun 2010 23:57:30 +0000 (23:57 +0000)]
remove a couple of issues that have been fixed

14 years agoNow using Times AFM provided by Dillo. Verified on OpenBSD by me and Mac OSX
Kristaps Dzonsons [Wed, 30 Jun 2010 20:57:41 +0000 (20:57 +0000)]
Now using Times AFM provided by Dillo.  Verified on OpenBSD by me and Mac OSX
by M. Deksters.

14 years agoimprove error reporting:
Ingo Schwarze [Wed, 30 Jun 2010 20:32:15 +0000 (20:32 +0000)]
improve error reporting:
* avoid error exit code after mere warnings
* add ERROR: and FATAL: to messages when appropriate
* sort the code in mmsg() to make it easier on the eye
* make the mandocerrs[] list easier to maintain
* update a few comments in mandoc.h
ok kristaps@

14 years agoCorrect dimensions for DocumentMedia. Noted by schwarze@, as gv(1) was
Kristaps Dzonsons [Wed, 30 Jun 2010 15:05:02 +0000 (15:05 +0000)]
Correct dimensions for DocumentMedia.  Noted by schwarze@, as gv(1) was
puking on input.

14 years agoEmbedding Charter proportional-width glyphs. Nice-looking output.
Kristaps Dzonsons [Wed, 30 Jun 2010 13:16:25 +0000 (13:16 +0000)]
Embedding Charter proportional-width glyphs.  Nice-looking output.

14 years agoPostScript can now handle scaled glyph sizes (see "scale" in struct
Kristaps Dzonsons [Wed, 30 Jun 2010 13:00:00 +0000 (13:00 +0000)]
PostScript can now handle scaled glyph sizes (see "scale" in struct
termp_ps) to arbitrarily scale font.  Tested with 10 (default), 12, 14.

14 years agoPushed normalisation of scaling units into term_hspan().
Kristaps Dzonsons [Wed, 30 Jun 2010 12:30:36 +0000 (12:30 +0000)]
Pushed normalisation of scaling units into term_hspan().

14 years agoMove term_hspan() calculation into the output devices, where it belongs.
Kristaps Dzonsons [Wed, 30 Jun 2010 12:27:55 +0000 (12:27 +0000)]
Move term_hspan() calculation into the output devices, where it belongs.

14 years agoPush paper calculation out of getsubopt() loop. Make all points be AFM
Kristaps Dzonsons [Wed, 30 Jun 2010 11:45:21 +0000 (11:45 +0000)]
Push paper calculation out of getsubopt() loop.  Make all points be AFM
glyph units to make positioning more precise.

14 years agoClosing of full blocks (Bd Bf Bk Bl It Fo Nd Rs Sh Ss) may never be
Ingo Schwarze [Wed, 30 Jun 2010 04:05:02 +0000 (04:05 +0000)]
Closing of full blocks (Bd Bf Bk Bl It Fo Nd Rs Sh Ss) may never be
delayed: It must either succeed right away or fail outright.
As noticed by Kristaps, neglecting to fail properly when required
could make invalid input screw up the syntax tree and ultimately
trigger assertions in other, unrelated parts of the program.
This fix tested by and OK by kristaps@.
While here, comment the rather tricky function rew_dohalt().
This function will probably need more tweaks later on.

14 years agolet's not forget the remaining badly nested block issue,
Ingo Schwarze [Tue, 29 Jun 2010 22:35:01 +0000 (22:35 +0000)]
let's not forget the remaining badly nested block issue,
even though there are no more urgent problems

14 years agofix a typo in the function declaration;
Ingo Schwarze [Tue, 29 Jun 2010 19:45:06 +0000 (19:45 +0000)]
fix a typo in the function declaration;
seems like gcc3 didn't catch it :-(
thanks to thib@ and kristaps@ for reporting

14 years agoConsiderably simplify block rewind rules; no functional change intended.
Ingo Schwarze [Tue, 29 Jun 2010 19:24:14 +0000 (19:24 +0000)]
Considerably simplify block rewind rules; no functional change intended.
* Let rew_alt() always succeed, obsoleting tons of case statements.
* Merge rew_dobreak() into rew_dohalt().
* Encode all rewinding cases uniformly in terms of "enum rew".
Required because i'm too dumb to get SYNOPSIS .Nm rewinding right
without cleaning this up first.

"get it in" kristaps@

14 years agoSupport for badly nested blocks, written around the time of
Ingo Schwarze [Tue, 29 Jun 2010 19:20:38 +0000 (19:20 +0000)]
Support for badly nested blocks, written around the time of
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@

14 years agoInter-release tag. VERSION_1_10_3
Kristaps Dzonsons [Tue, 29 Jun 2010 15:00:44 +0000 (15:00 +0000)]
Inter-release tag.

14 years agoRemove some incorrect data from mandoc.1 (that of non-macro lines and
Kristaps Dzonsons [Tue, 29 Jun 2010 14:55:41 +0000 (14:55 +0000)]
Remove some incorrect data from mandoc.1 (that of non-macro lines and
spacing, which is for mdoc.7/man.7 anyway).  Also document -Opage=xxx
and push the per-output options into the output subsections.  Makes the
manual shorter and more readable.

14 years agoAdd in -Opaper=xxx support for -Tps postscript. This doesn't have any
Kristaps Dzonsons [Tue, 29 Jun 2010 14:53:14 +0000 (14:53 +0000)]
Add in -Opaper=xxx support for -Tps postscript.  This doesn't have any
functional changes beyond the getsubopt() parse in term_ps.c.  If you
want to test this (it only does -Opaper=a4 and -Opaper=letter; adding
more is trivial), make sure you specify (e.g.) -sPAPERSIZE=a4 to gs(1).

14 years agoGive -Tps better PostScript hinting. Note that we're using Adobe-3.0
Kristaps Dzonsons [Tue, 29 Jun 2010 14:18:05 +0000 (14:18 +0000)]
Give -Tps better PostScript hinting.  Note that we're using Adobe-3.0
constructs.  Push the stupid CPP defines for page boundaries and margins
into proper variables.  Give enum termfont a proper TERMFONT__MAX.

14 years agoClean-up of variable-width glyph support. Adds no new code; only
Kristaps Dzonsons [Mon, 28 Jun 2010 23:26:09 +0000 (23:26 +0000)]
Clean-up of variable-width glyph support.  Adds no new code; only
restructured to make a bit more readable.  Also removed an unused entry
in the PS engine structure.