]> git.cameronkatri.com Git - mandoc.git/log
mandoc.git
12 years ago1) Remove documentation of the groff-1.15 compatibility quirk
Ingo Schwarze [Wed, 29 Aug 2012 23:38:50 +0000 (23:38 +0000)]
1) Remove documentation of the groff-1.15 compatibility quirk
of suppressing spacing before a third .Xr argument
because that quirk was removed in mdoc_macro.c rev. 1.113.

2) Mark the "section" argument to .Xr as (syntactically) optional,
but still do not encourage omitting it.
The missing .Op was reported by espie@.

Wording tweaked by and ok jmc@, ok millert@.

12 years ago.Sq should use curly right quotes in HTML output to match its curly
Ingo Schwarze [Sun, 12 Aug 2012 10:04:09 +0000 (10:04 +0000)]
.Sq should use curly right quotes in HTML output to match its curly
left quotes.

Also, properly reinitialize the styles attribute string buffer for
each column in a table so that the attributes don't accumulate.

Patch from Matthew@ Dempsky, tweaked by me; OpenBSD rev. 1.66.

12 years agodocument .PD; related to man_term.c rev. 1.134
Ingo Schwarze [Sun, 29 Jul 2012 13:37:20 +0000 (13:37 +0000)]
document .PD; related to man_term.c rev. 1.134
OpenBSD man.7 rev. 1.30

12 years agoImplement .PD for -Tascii.
Ingo Schwarze [Sun, 29 Jul 2012 12:35:42 +0000 (12:35 +0000)]
Implement .PD for -Tascii.
Reminded about the missing feature by millert@.
This reduces mandoc/groff differences in OpenBSD base by 25%.
ok millert@

12 years agoDrop empty .IP such that is does not cause additional vertical spacing.
Ingo Schwarze [Wed, 18 Jul 2012 16:52:03 +0000 (16:52 +0000)]
Drop empty .IP such that is does not cause additional vertical spacing.
Issue first reported by naddy@ in rsync(1).
OpenBSD rev. 1.55.

12 years agoDrop .sp and .br right after .SH and .SS.
Ingo Schwarze [Wed, 18 Jul 2012 16:41:09 +0000 (16:41 +0000)]
Drop .sp and .br right after .SH and .SS.

Fixes vertical spacing after "OPTIONS" in gcc(1).
Issue first reported by naddy@ in rsync(1).

OpenBSD rev. 1.54.

12 years agoLet a trailing .Ns macro take effect
Ingo Schwarze [Wed, 18 Jul 2012 16:20:43 +0000 (16:20 +0000)]
Let a trailing .Ns macro take effect
even on an input line containing a partial implicit macro.

Fixes horizontal spacing in vi(1), ddb(4), and ppp(8).

OpenBSD rev. 1.74.

12 years agoFix handling of paragraph macros inside lists:
Ingo Schwarze [Wed, 18 Jul 2012 11:11:12 +0000 (11:11 +0000)]
Fix handling of paragraph macros inside lists:
* When they are trailing the last item, move them outside the list.
* When they are trailing any other none-compact item, drop them.

OpenBSD rev. mdoc_validate.c 1.107, mdoc.c 1.91

12 years agoThe mdoc(7) \*(Ba predefined string actually forces roman font;
Ingo Schwarze [Wed, 18 Jul 2012 10:39:19 +0000 (10:39 +0000)]
The mdoc(7) \*(Ba predefined string actually forces roman font;
that's stupid because it may break enclosing font changes,
but let's do the same for groff bug compatibility.

--> Never use \*(Ba, use just plain "|"! <--

Also, predefined strings are already expanded by the roff(7) parser,
so the mdoc(7) parser has to look for the expanded string.

OpenBSD rev. mdoc.c 1.90 and predefs.in 1.3

12 years agoAlways fix the man(7) subsection header (.SS) indent to 3n,
Ingo Schwarze [Mon, 16 Jul 2012 21:59:40 +0000 (21:59 +0000)]
Always fix the man(7) subsection header (.SS) indent to 3n,
do not let it depend on the default indent provided by -Oindent.
By default, this doesn't change anything because 7 / 2 = 3;
in -Omdoc mode, it makes man(7) output the same as mdoc(7) output.
OpenBSD rev. 1.87

12 years agoIn flush-left mode of both man(7) and mdoc(7), when an output line is broken
Ingo Schwarze [Mon, 16 Jul 2012 21:30:42 +0000 (21:30 +0000)]
In flush-left mode of both man(7) and mdoc(7), when an output line is broken
at the position of a literal tab, the tab indents the following line.
Fixes the perl(1) SYNOPSIS; reminded by deraadt@; OpenBSD rev. 1.66.

12 years agoFor .El .sp, avoid the weird .sp -1v .PP .PP output sequence.
Ingo Schwarze [Mon, 16 Jul 2012 10:45:41 +0000 (10:45 +0000)]
For .El .sp, avoid the weird .sp -1v .PP .PP output sequence.
Synching to OpenBSD rev. 1.38.

12 years agoSeveral -mdoc parser improvements related to vertical spacing:
Ingo Schwarze [Mon, 16 Jul 2012 09:51:54 +0000 (09:51 +0000)]
Several -mdoc parser improvements related to vertical spacing:
* So far, .Pp and .Lp were removed before paragraph type blocks.
* Now also remove .br before paragraph type blocks.
* Treat .Lp as a paragraph like .Pp, so remove .Pp, .Lp, .br before it.
* Do not treat .sp as a paragraph, don't remove anything before it.
* After .Sh, .Ss, .Pp, and .Lp, remove .Pp, .Lp, .sp, .br, and blank lines.
* After .sp and .br, remove .br.
OpenBSD rev. mdoc.c 1.89 and mdoc_validate.c 1.106

12 years agoTranslate blank input lines to .sp just like in mdoc(7),
Ingo Schwarze [Sat, 14 Jul 2012 10:47:07 +0000 (10:47 +0000)]
Translate blank input lines to .sp just like in mdoc(7),
and ignore .sp after .PP.  This fixes vertical spacing
for blank lines after .PP and for .sp after .PP.
OpenBSD rev. man.c 1.68 and man_term.c 1.86

12 years agoIn -Tman .Bl -compact, skip the blank line only before the first item
Ingo Schwarze [Sat, 14 Jul 2012 09:07:18 +0000 (09:07 +0000)]
In -Tman .Bl -compact, skip the blank line only before the first item
of the first list in a section, not before every item of the first list.
OpenBSD rev. 1.37

12 years agoAdjust -Tman SYNOPSIS .Nm indentation using .HP; requested by millert@.
Ingo Schwarze [Fri, 13 Jul 2012 23:57:58 +0000 (23:57 +0000)]
Adjust -Tman SYNOPSIS .Nm indentation using .HP; requested by millert@.
There are still lots of ugly line breaks, to be fixed later.
OpenBSD rev. 1.36

12 years agoIf the tag in .Bl -tag .It would leave exactly one blank before the
Ingo Schwarze [Fri, 13 Jul 2012 20:43:40 +0000 (20:43 +0000)]
If the tag in .Bl -tag .It would leave exactly one blank before the
body of the item, mdoc(7) breaks the line, whereas the .TP used to
translate this to man(7) does not.  Thus, insert an explicit roff(7)
line break in this place.
To be able to correctly count the characters, do not pass font escapes
an the like through print_word().
OpenBSD rev. 1.35

12 years agoIn -man -Tascii, support .sp with negative argument.
Ingo Schwarze [Fri, 13 Jul 2012 14:19:49 +0000 (14:19 +0000)]
In -man -Tascii, support .sp with negative argument.
In -mdoc -Tman, improve the framework to control vertical spacing.
Use both to support .Bl -compact (surprisingly hard to get right).
OpenBSD rev. 1.85 and 1.34, respectively.

12 years agoThe post_nm() validation function crashed when the first .Nm child node
Ingo Schwarze [Thu, 12 Jul 2012 15:11:14 +0000 (15:11 +0000)]
The post_nm() validation function crashed when the first .Nm child node
was a non-text node.  Fix this by rewriting post_nm() to always set
the meta name to UNKNOWN when the name is missing or unusable.
While here, make MANDOCERR_NONAME an ERROR, as it usually renders
the page content unintelligible.

Bug reported by Maxim <Belooussov at gmail dot com>, thanks.
OpenBSD rev. 1.105

12 years agoDo not crash in -Tman on:
Ingo Schwarze [Thu, 12 Jul 2012 08:55:48 +0000 (08:55 +0000)]
Do not crash in -Tman on:
* .Fn with exactly one argument
* .Bl -hang without a -width
Now all 3776 OpenBSD base manuals build without crashing.
OpenBSD rev. 1.33

12 years agoPolish -Tman .Rs support.
Ingo Schwarze [Wed, 11 Jul 2012 23:46:37 +0000 (23:46 +0000)]
Polish -Tman .Rs support.
All mdoc(7) macros are now supported by -Tman.
OpenBSD rev. 1.32

12 years agofix position and formatting of %U;
Ingo Schwarze [Wed, 11 Jul 2012 16:57:43 +0000 (16:57 +0000)]
fix position and formatting of %U;
OpenBSD rev. 1.104 and 1.145, respectively

12 years agobasic implementation of -Tman .Bl -column using tbl(7); OpenBSD rev. 1.31
Ingo Schwarze [Wed, 11 Jul 2012 16:19:08 +0000 (16:19 +0000)]
basic implementation of -Tman .Bl -column using tbl(7); OpenBSD rev. 1.31

12 years agobasic implementation of -Tman .Bl -tag
Ingo Schwarze [Tue, 10 Jul 2012 20:37:02 +0000 (20:37 +0000)]
basic implementation of -Tman .Bl -tag
while here, do some minor outflags cleanup
OpenBSD rev. 1.30

12 years agomultiple fixes to -Tascii .HP rendering:
Ingo Schwarze [Tue, 10 Jul 2012 19:54:11 +0000 (19:54 +0000)]
multiple fixes to -Tascii .HP rendering:
* do not add an excessive blank line before the block
* in literal mode, start a new line after the tag

getting this to work requires some general (print_man_node) fixes:
* in literal mode, break the output line at the end of each
input line, not just after those input lines ending in text
* but don't break it when there was no output on the line
* and adjust the margins after the .HP tag

these general fixes require an adjustment to -Tascii .TP rendering:
* set up NOBREAK mode before the body, not after the head

finally, based on all this, implement -Tman .Bl -hang in terms of .HP

OpenBSD rev. 1.84 and 1.29, respectively

12 years agoRemove a hack that was intended for groff-1.15 bug compatibility:
Ingo Schwarze [Tue, 10 Jul 2012 15:35:41 +0000 (15:35 +0000)]
Remove a hack that was intended for groff-1.15 bug compatibility:
When the width of a tag in .Bl -hang was exactly one character
shorter than the maximum length that would fit, the following text
would have a negative hang of one character (i.e., hang to the left).
That bug is no longer present in groff-1.21, so relax mandoc, too.
OpenBSD rev. 1.65

12 years ago* implement -Tman .Bl -item -inset -diag -ohang -dash -hyphen -enum .It
Ingo Schwarze [Tue, 10 Jul 2012 14:38:51 +0000 (14:38 +0000)]
* implement -Tman .Bl -item -inset -diag -ohang -dash -hyphen -enum .It
* fix -Tman .Bl -bullet .It
* adjust the -Tascii .Bl -bullet -dash -hyphen .It
default and minimum width to new groff standards,
it changed from 4n (in groff 1.15) to 2n (in groff 1.21)
* same for -Tascii -enum, it changed from 5n to 2n
* use -hang formatting for -Tascii -enum -width 2n
* for -Tascii -enum, the default is -width 3n

12 years agofix -Tascii .Fd line breaking
Ingo Schwarze [Mon, 9 Jul 2012 23:53:36 +0000 (23:53 +0000)]
fix -Tascii .Fd line breaking
and implement -Tman .Fd
OpenBSD rev. 1.27 and 1.143, respectively

12 years agoimplement -Tman .Eo and .Ec; OpenBSD rev. 1.26
Ingo Schwarze [Mon, 9 Jul 2012 22:36:34 +0000 (22:36 +0000)]
implement -Tman .Eo and .Ec; OpenBSD rev. 1.26

12 years agoImplement -Tman .Bf.
Ingo Schwarze [Mon, 9 Jul 2012 18:56:12 +0000 (18:56 +0000)]
Implement -Tman .Bf.
To get the spacing right,
* avoid man(7) code line breaks at places where no spacing is allowed
* allow spacing right after .Sm on
* allow spacing after empty .Fl at the end of an input line
OpenBSD rev. 1.25

12 years agofix -Tman font handling for:
Ingo Schwarze [Mon, 9 Jul 2012 17:53:01 +0000 (17:53 +0000)]
fix -Tman font handling for:
.Ad .Ar .Cd .Cm .Dv .Em .Er .Ev .Fa .Fl .Fn .Fo .Ft
.Ic .In .Lk .Li .Ms .Mt .Nm .Pa .Sx .Sy .Tn .Va .Vt
OpenBSD rev. 1.24

12 years agoimplement -Tman .No and .Mt; OpenBSD rev. 1.23
Ingo Schwarze [Mon, 9 Jul 2012 09:31:48 +0000 (09:31 +0000)]
implement -Tman .No and .Mt; OpenBSD rev. 1.23

12 years agofix .Lk for -Tascii and implement it for -Tman
Ingo Schwarze [Sun, 8 Jul 2012 22:49:29 +0000 (22:49 +0000)]
fix .Lk for -Tascii and implement it for -Tman
OpenBSD rev. 1.22 and 1.142, respectively

12 years agofix vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt
Ingo Schwarze [Sun, 8 Jul 2012 18:39:47 +0000 (18:39 +0000)]
fix vertical spacing for -Tman SYNOPSIS .Fn .Fo .Ft .In .Nm .Va .Vt
OpenBSD rev. 1.21

12 years agoimplement -Tman .An
Ingo Schwarze [Sun, 8 Jul 2012 16:52:20 +0000 (16:52 +0000)]
implement -Tman .An
also reset -[no]split mode at .Sh AUTHORS in -Tascii
OpenBSD rev. 1.20 and 1.141, respectively

12 years agoAdd flags to insert a .sp or .br request before the next output,
Ingo Schwarze [Sun, 8 Jul 2012 15:48:13 +0000 (15:48 +0000)]
Add flags to insert a .sp or .br request before the next output,
shortening some frequent idioms and preparing for better vertical
spacing in the SYNOPSIS; no functional change intended.
OpenBSD rev. 1.19

12 years agoInstead of adding one integer variable for each global boolean output flag
Ingo Schwarze [Sun, 8 Jul 2012 15:01:57 +0000 (15:01 +0000)]
Instead of adding one integer variable for each global boolean output flag
and passing around a structure containing them into each and every function,
just use a single static bitfield.
In preparation for adding more output flags to support more features.
OpenBSD rev. 1.18

12 years agoimplement -Tman .Va
Ingo Schwarze [Sun, 8 Jul 2012 13:57:53 +0000 (13:57 +0000)]
implement -Tman .Va
and fix -Tman .Vt for the non-SYNOPSIS case
OpenBSD rev. 1.17

12 years agoimplement -Tman .Vt; OpenBSD rev. 1.15 and 1.16
Ingo Schwarze [Sun, 8 Jul 2012 11:10:13 +0000 (11:10 +0000)]
implement -Tman .Vt; OpenBSD rev. 1.15 and 1.16

12 years agoBasic implementation of -Tman .Fo and .Fa;
Ingo Schwarze [Sun, 8 Jul 2012 10:19:37 +0000 (10:19 +0000)]
Basic implementation of -Tman .Fo and .Fa;
again, some blank lines still missing from the output.
While here, remove the trailing semicolon
from .Fn when outside .Sh SYNOPSIS.
OpenBSD rev. 1.14

12 years agorudimentary support for -Tman .Ft and .Fn;
Ingo Schwarze [Sat, 7 Jul 2012 21:16:35 +0000 (21:16 +0000)]
rudimentary support for -Tman .Ft and .Fn;
some blank lines are still missing from the output
OpenBSD rev. 1.13

12 years agobasic support for -Tman .In; OpenBSD rev. 1.12
Ingo Schwarze [Sat, 7 Jul 2012 20:36:18 +0000 (20:36 +0000)]
basic support for -Tman .In; OpenBSD rev. 1.12

12 years agoafter .Lb in library section, break the line in the final output
Ingo Schwarze [Sat, 7 Jul 2012 14:05:40 +0000 (14:05 +0000)]
after .Lb in library section, break the line in the final output

12 years agoimplement -Tman .Bk; OpenBSD rev. 1.10
Ingo Schwarze [Sat, 7 Jul 2012 13:57:19 +0000 (13:57 +0000)]
implement -Tman .Bk; OpenBSD rev. 1.10

12 years agoimplement -Tman .Sm; OpenBSD rev. 1.9
Ingo Schwarze [Sat, 7 Jul 2012 13:53:14 +0000 (13:53 +0000)]
implement -Tman .Sm; OpenBSD rev. 1.9

12 years agoimplement -Tman .Bd -offset and -compact; OpenBSD rev. 1.8
Ingo Schwarze [Sat, 7 Jul 2012 13:46:59 +0000 (13:46 +0000)]
implement -Tman .Bd -offset and -compact; OpenBSD rev. 1.8

12 years agominor -mdoc -Tman fixes
Ingo Schwarze [Sat, 7 Jul 2012 13:37:42 +0000 (13:37 +0000)]
minor -mdoc -Tman fixes
* right after .Ns, avoid breaking the line in man code
* after .Fl without arguments, do not insert a blank into man code
* before each .Nm in .Sh SYNOPSIS, insert a .br into man code
* skip .Pp arguments, don't copy them to man code

OpenBSD rev. 1.7

12 years agoWhen i moved some low-level stuff from mdoc(7) and man(7)
Ingo Schwarze [Wed, 20 Jun 2012 22:06:30 +0000 (22:06 +0000)]
When i moved some low-level stuff from mdoc(7) and man(7)
to roff(7) some time ago, i forgot to adjust the cross-references.
Reported by Tim van der Molen <tbvdm at xs4all dot nl>, thanks.

ok jmc@

12 years agoAdd `cc' support.
Kristaps Dzonsons [Tue, 12 Jun 2012 20:21:04 +0000 (20:21 +0000)]
Add `cc' support.
This was reported by espie@ and in the TODO.
Caveat: `cc' has buggy behaviour when invoked in groff(1) and followed
by a line-breaking control character macro, e.g., in a -man doc,

  .cc |
  .B foo
  'B foo
  |cc
  'B foo

will cause groff(1) to behave properly for `.B' but inline the macro
definition for `B' when invoked with the line-breaking macro.

12 years agoFix typo (back-space -> backslash).
Kristaps Dzonsons [Tue, 12 Jun 2012 19:50:50 +0000 (19:50 +0000)]
Fix typo (back-space -> backslash).

12 years agoFix an assert() raised by `RS' when following `TP'.
Kristaps Dzonsons [Tue, 12 Jun 2012 12:47:14 +0000 (12:47 +0000)]
Fix an assert() raised by `RS' when following `TP'.
The reason was that `RS' wasn't BSCOPE'd, so the next-line (BLINE) scope
opened by `TP' would still be in the HEAD macro.
This was from joerg@'s archive of failures.

12 years agoAllow compilation on Mac OSX.
Kristaps Dzonsons [Sat, 9 Jun 2012 17:49:13 +0000 (17:49 +0000)]
Allow compilation on Mac OSX.

12 years agoStop producing xhtml/pdf/etc for webpage (logs indicate that nobody actually
Kristaps Dzonsons [Sat, 9 Jun 2012 14:19:55 +0000 (14:19 +0000)]
Stop producing xhtml/pdf/etc for webpage (logs indicate that nobody actually
looks at them).

12 years agoMerge whatis.1 into apropos.1 (and remove), add whatis bits to apropos
Kristaps Dzonsons [Sat, 9 Jun 2012 14:11:15 +0000 (14:11 +0000)]
Merge whatis.1 into apropos.1 (and remove), add whatis bits to apropos
(via mansearch), and merge mandocdb.h into mansearch.h (and remove).

12 years agoWhile I'm rooting around, note that we depend on sqlite3 now, not berkeley.
Kristaps Dzonsons [Sat, 9 Jun 2012 11:30:08 +0000 (11:30 +0000)]
While I'm rooting around, note that we depend on sqlite3 now, not berkeley.

12 years agoRemove catman(8): it's superfluous.
Kristaps Dzonsons [Sat, 9 Jun 2012 11:27:38 +0000 (11:27 +0000)]
Remove catman(8): it's superfluous.
Users of man.cgi should be able to just copy in their directories and have
the CGI fine everything on its own or just suck it up or, in the cases
of multiple manroots, have a simple config file.
Besides, now that mandocdb(8) is using relative paths for everything,
needing a fancy "cp -R" is silly.

12 years agoThs SYNCHRONOUS = off optimisation fails on my Mac OSX. Take it out until
Kristaps Dzonsons [Sat, 9 Jun 2012 11:21:12 +0000 (11:21 +0000)]
Ths SYNCHRONOUS = off optimisation fails on my Mac OSX.  Take it out until
I can test properly for this feature.

12 years agoMake test-ohash.c work on OpenBSD (it now works on have/havenots of OpenBSD
Kristaps Dzonsons [Sat, 9 Jun 2012 11:02:55 +0000 (11:02 +0000)]
Make test-ohash.c work on OpenBSD (it now works on have/havenots of OpenBSD
and OSX).

12 years agoAdd a compatibility interface for ohash.
Kristaps Dzonsons [Sat, 9 Jun 2012 11:00:13 +0000 (11:00 +0000)]
Add a compatibility interface for ohash.
This include's espie@'s wholesale src/lib/libc/ohash directory from OpenBSD
into compat_ohash.c (with a single copyright/license notice at the top)
and src/include/ohash.h as compat_ohash.h.
The ohash_int.h part of compat_ohash.c has been changed only in that ohash.h
points to compat_ohash.h.
Added HAVE_OHASH test (test-ohash.c) to Makefile.
In mandocdb.c and mansearch.c, check HAVE_OHASH test for inclusion.

12 years agoTurn off sqlite3 synchronous mode when creating a new database.
Kristaps Dzonsons [Fri, 8 Jun 2012 15:06:28 +0000 (15:06 +0000)]
Turn off sqlite3 synchronous mode when creating a new database.
This makes it run about 5x faster.
While here, wrap some sqlite3 statements in #defines to extract errors.
(Really, the warning/error/etc. macros should be functionified.)

12 years agoAllow mansearch to fail if invariancy (cwd) is violated. Also be more
Kristaps Dzonsons [Fri, 8 Jun 2012 14:14:30 +0000 (14:14 +0000)]
Allow mansearch to fail if invariancy (cwd) is violated.  Also be more
verbose if sqlite3 errors occur.

12 years agoUse C99 syntax for declaring the string-hash key array.
Kristaps Dzonsons [Fri, 8 Jun 2012 12:05:27 +0000 (12:05 +0000)]
Use C99 syntax for declaring the string-hash key array.

12 years agoRemove lint from Makefile.
Kristaps Dzonsons [Fri, 8 Jun 2012 10:47:17 +0000 (10:47 +0000)]
Remove lint from Makefile.
Disable some parts of the build (man.cgi, etc.) while sqlite3 is being
merged in nice and slow.
Remove the bit swapping stuff in config.h.post.
Remove apropos_db (replaced by mansearch).

12 years agoFlip apropos to use mansearch instead of apropos_db.
Kristaps Dzonsons [Fri, 8 Jun 2012 10:44:52 +0000 (10:44 +0000)]
Flip apropos to use mansearch instead of apropos_db.
This makes the utility much smaller and simpler.
A lot of functionality has been omitted while the sqlite3 search routines
improve (logical operations, etc.).
It still needs work to make the output more conventional.
Also add the manpage utility, which I use extensively as a mind-meld of
apropos and man.

12 years agoRe-tooled mandocdb using sqlite3 and ohash.
Kristaps Dzonsons [Fri, 8 Jun 2012 10:43:01 +0000 (10:43 +0000)]
Re-tooled mandocdb using sqlite3 and ohash.
See the tech@ mailing list entries in June 2012 for details, as well as the
discuss@ mailing list entries from March 2012.
Among other changes, this utility now:
 1.  uses a single sqlite3 database instead of several berkeley dbs
 2.  stores utf-8 encoded strings
 3.  using ohash to aggressively hash its contents
 4.  using fts() instead of manually walking directories

12 years agoAdd a new mansearch.h interface, which replaces apropos_db.c
Kristaps Dzonsons [Fri, 8 Jun 2012 10:36:23 +0000 (10:36 +0000)]
Add a new mansearch.h interface, which replaces apropos_db.c
This is a much more minimal interface that stuffs all operations into
a single function.
It uses sqlite3 and ohash.

12 years agoUse size_t in catman to match manpath.h.
Kristaps Dzonsons [Fri, 8 Jun 2012 10:33:48 +0000 (10:33 +0000)]
Use size_t in catman to match manpath.h.
Note this file will not be connected to the build for a little while as
I get the new sqlite3 stuff in.

12 years agoUse size_t in manpath instead of int.
Kristaps Dzonsons [Fri, 8 Jun 2012 10:32:40 +0000 (10:32 +0000)]
Use size_t in manpath instead of int.

12 years agoforgot to commit one request bu espie@
Ingo Schwarze [Tue, 5 Jun 2012 21:29:26 +0000 (21:29 +0000)]
forgot to commit one request bu espie@

12 years agoClose a preceding implicit block before opening an explicit block.
Ingo Schwarze [Sun, 3 Jun 2012 09:52:07 +0000 (09:52 +0000)]
Close a preceding implicit block before opening an explicit block.

To allow doing so, no longer abuse rew_scope() to unwind explicit blocks;
explicitly call man_unscope() instead.

Fixing the indentation of slapd.conf(5) in the OpenLDAP port;
thanks to guenther@ for the report.

12 years agoMinimal implementation of .EX and .EE for GNU compatibility.
Ingo Schwarze [Sat, 2 Jun 2012 20:16:23 +0000 (20:16 +0000)]
Minimal implementation of .EX and .EE for GNU compatibility.
Do not use this, it is not portable and only defined in esr's man-ext.
For example, sox(1) wants these macros.

12 years agoFix blank line handling in .if.
Ingo Schwarze [Thu, 31 May 2012 22:41:19 +0000 (22:41 +0000)]
Fix blank line handling in .if.

In particular, two cases were wrong:
- single-line .if with trailing whitespace gave no blank line
- multiline .if with \{ but without \{\ gave no blank line

While here, simplify roff_cond() by partially reordering the code.

"good one" kristaps@

12 years agoWhile i already got my fingers dirty on mandoc_escape(),
Ingo Schwarze [Thu, 31 May 2012 22:38:16 +0000 (22:38 +0000)]
While i already got my fingers dirty on mandoc_escape(),
profit of the occasion to pull out some spaghetti, that is,
three confusing variables and fourteen pointless assignments
among them; instead, always operate on the official pointers
**start, **end, and *sz, each of which conveys an obvious meaning.

No functional change intended, and the new tests confirm that
everything still (err...) "works", as far as that word can be
applied to the kind of roff(7) mock-up code i'm polishing here.

"just commit" kristaps@

12 years agoMake recursive parsing of roff(7) escapes actually work in the general case,
Ingo Schwarze [Thu, 31 May 2012 22:34:06 +0000 (22:34 +0000)]
Make recursive parsing of roff(7) escapes actually work in the general case,
in particular when the inner escapes are preceded or followed by other terms.
While doing so, remove lots of bogus code that was trying to make pointless
distinctions between numeric and non-numeric escape sequences, while both
actually share the same syntax and we ignore the semantics anyway.

This prevents some of the strings defined in the pod2man(1) preamble
from producing garbage output, in particular in scandinavian words.
Of course, proper rendering of scandinavian national characters
cannot be expected even with these fixes.

"just commit" kristaps@

12 years agoImplement the roff \z escape sequence, intended to output the next
Ingo Schwarze [Thu, 31 May 2012 22:29:13 +0000 (22:29 +0000)]
Implement the roff \z escape sequence, intended to output the next
character without advancing the cursor position; implement it to
simply skip the next character, as it will usually be overwritten.

With this change, the pod2man(1) preamble user-defined string \*:,
intended to render as a diaeresis or umlaut diacritic above the
preceding character, is rendered in a slightly less ugly way,
though still not correctly.  It was rendered as "z.." and is now
rendered as ".".

Given that the definition of \*: uses elaborate manual \h positioning,
there is little chance for mandoc(1) to ever render it correctly,
but at least we can refrain from printing out a spurious "z", and
we can make the \z do something semi-reasonable for easier cases.

"just commit" kristaps@

12 years agocatch up with the changed interface of mparse_alloc(), see mandoc.h rev 1.100
Ingo Schwarze [Thu, 31 May 2012 22:27:14 +0000 (22:27 +0000)]
catch up with the changed interface of mparse_alloc(), see mandoc.h rev 1.100

12 years ago.if vertical spacing now fixed in OpenBSD
Ingo Schwarze [Thu, 31 May 2012 01:54:45 +0000 (01:54 +0000)]
.if vertical spacing now fixed in OpenBSD

12 years agoclarify two entries related to roff(7) escapes
Ingo Schwarze [Mon, 28 May 2012 23:09:22 +0000 (23:09 +0000)]
clarify two entries related to roff(7) escapes

12 years agoFix the vertical spacing around tbl(7) instances in man(7).
Ingo Schwarze [Sun, 27 May 2012 18:02:49 +0000 (18:02 +0000)]
Fix the vertical spacing around tbl(7) instances in man(7).

Groff forces the document author to manually request sufficient spacing
after .TE - that is, at least .sp 1v after a table with the "box" option
and at least .sp 2v after a table with the "doublebox" option - or else
it clobbers the box.  I consider that insane, so i'm not imitating groff
in that respect.  Instead, i add at least as much vertical space as groff,
or more where required to avoid clobbering the box.

Consequently, output will be identical for input that looks sane with
groff, and mandoc will make output look better for input that looks bad
with groff.

"Please check them in and I'll look into them later!" kristaps@

12 years agoCorrect width of horizontal spans; relevant in case of centered or
Ingo Schwarze [Sun, 27 May 2012 17:59:23 +0000 (17:59 +0000)]
Correct width of horizontal spans; relevant in case of centered or
flush right text, for boxes, and when more columns follow the span.

Issue found by sthen@ in the net/arp-scan(1) port manual.

"Please check them in and I'll look into them later!" kristaps@

12 years agoDo not handle vertical lines as additional tbl(7) columns,
Ingo Schwarze [Sun, 27 May 2012 17:54:54 +0000 (17:54 +0000)]
Do not handle vertical lines as additional tbl(7) columns,
instead save their properties with the following column.
This simplifies layout parsing and saves a lot of code
related to column handling.

At output time, print all white space and vertical lines
separating columns before printing the following column,
and none after printing the preceding column, considerably
simplifying white space handling and width calculations.

No functional change, but it saves 150 lines of code,
and it allows the next patch to tbl_term.c, tbl_literal().

"Please check them in and I'll look into them later!" kristaps@

12 years agoSupport -Ios='OpenBSD 5.1' to override uname(3) as the source of the
Ingo Schwarze [Sun, 27 May 2012 17:48:57 +0000 (17:48 +0000)]
Support -Ios='OpenBSD 5.1' to override uname(3) as the source of the
default value for the mdoc(7) .Os macro.
Needed for man.cgi on the OpenBSD website.

Problem with man.cgi first noticed by deraadt@;
beck@ and deraadt@ agree with the way to solve the issue.

"Please check them in and I'll look into them later!" kristaps@

12 years agoupdate Copyright years according to the CVS logs; no code change
Ingo Schwarze [Sun, 27 May 2012 17:39:28 +0000 (17:39 +0000)]
update Copyright years according to the CVS logs; no code change

12 years agoHorizontal spacing of tables was fixed
Ingo Schwarze [Sun, 27 May 2012 15:20:12 +0000 (15:20 +0000)]
Horizontal spacing of tables was fixed
in tbl_term.c rev. 1.10 and out.c rev. 1.16
on September 20, 2011.
I merely forgot to delete the TODO entry.

12 years agoThe .\} -> .\& -> pset() bug reported by naddy has already been fixed;
Ingo Schwarze [Sun, 27 May 2012 14:42:05 +0000 (14:42 +0000)]
The .\} -> .\& -> pset() bug reported by naddy has already been fixed;
i'm really sure because i both stepped through the code with gdb
and wrote an OpenBSD regression test for it.

While here, note that bentley@ reported .ti .ce .fc missing.

12 years agoDiscourage the use of esr's man-ext macros:
Ingo Schwarze [Sun, 15 Apr 2012 21:24:18 +0000 (21:24 +0000)]
Discourage the use of esr's man-ext macros:
If man(7) has any advantage compared to mdoc(7), it's portability,
and using man-ext would needlessly give that advantage away.
ok kristaps@

12 years agoThe -width and -offset macro arguments consume the next argument
Ingo Schwarze [Sun, 15 Apr 2012 15:26:49 +0000 (15:26 +0000)]
The -width and -offset macro arguments consume the next argument
even if it starts with a dash.
ok kristaps@

12 years agoBeing reluctant to add yet more trailing whitespace, i rather back
Ingo Schwarze [Sun, 15 Apr 2012 13:30:38 +0000 (13:30 +0000)]
Being reluctant to add yet more trailing whitespace, i rather back
it out here than merge it to OpenBSD.  No binary change.

12 years agoSome documentation nits.
Kristaps Dzonsons [Sun, 25 Mar 2012 00:48:47 +0000 (00:48 +0000)]
Some documentation nits.

12 years agoFix lookup not to use full-out regexp search.
Kristaps Dzonsons [Sun, 25 Mar 2012 00:46:39 +0000 (00:46 +0000)]
Fix lookup not to use full-out regexp search.

12 years agoFreeBSD, NetBSD and DragonFly use the same names as Linux.
Joerg Sonnenberger [Sat, 24 Mar 2012 06:23:14 +0000 (06:23 +0000)]
FreeBSD, NetBSD and DragonFly use the same names as Linux.
Add dummy entry for OpenBSD and XXX entry for the rest.

12 years agoForgot chdir(2) into volume path. VERSION_1_12_1
Kristaps Dzonsons [Sat, 24 Mar 2012 02:18:51 +0000 (02:18 +0000)]
Forgot chdir(2) into volume path.

12 years agoSmall tweaks for release.
Kristaps Dzonsons [Sat, 24 Mar 2012 02:07:32 +0000 (02:07 +0000)]
Small tweaks for release.

12 years agoGet ready for a version.
Kristaps Dzonsons [Sat, 24 Mar 2012 01:54:43 +0000 (01:54 +0000)]
Get ready for a version.

12 years agoBe insane. Make apropos(1) subsume man(1).
Kristaps Dzonsons [Sat, 24 Mar 2012 01:46:25 +0000 (01:46 +0000)]
Be insane.  Make apropos(1) subsume man(1).

12 years agoSimplify by not pre-filtering the result vector for satisfied matches:
Kristaps Dzonsons [Sat, 24 Mar 2012 00:31:55 +0000 (00:31 +0000)]
Simplify by not pre-filtering the result vector for satisfied matches:
we can do this in the frontend.

12 years agoWhitespace fix.
Kristaps Dzonsons [Sat, 24 Mar 2012 00:30:30 +0000 (00:30 +0000)]
Whitespace fix.

12 years agoKnock out useless & confusing whatis mode.
Kristaps Dzonsons [Fri, 23 Mar 2012 09:03:07 +0000 (09:03 +0000)]
Knock out useless & confusing whatis mode.

12 years agoImprove mandocdb's ability to handle NAME sections by sucking the entire
Kristaps Dzonsons [Fri, 23 Mar 2012 06:52:17 +0000 (06:52 +0000)]
Improve mandocdb's ability to handle NAME sections by sucking the entire
shebang into a buffer and parsing it that way.  This improves on many
cruddy -man manuals in the wild.

12 years agoMake the `-width' field to `Bl' not puke if it doesn't have an argument.
Kristaps Dzonsons [Fri, 23 Mar 2012 05:50:24 +0000 (05:50 +0000)]
Make the `-width' field to `Bl' not puke if it doesn't have an argument.
This makes mandoc work much, much nicer with Mac OSX manpages.