summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Show the flags MDOC_DELIMO, MDOC_DELIMC, MDOC_EOS, and MAN_EOS.Ingo Schwarze2015-09-261-7/+17
| | | | Drop the "block-" prefixes from the node type names.
* /* NOTREACHED */ after abort() is silly, delete itIngo Schwarze2015-09-2614-28/+2
|
* resolve code duplication and do style cleanup in mdoc_nm_pre(),Ingo Schwarze2015-09-261-8/+4
| | | | no functional change
* Fix multiple aspects of SYNOPSIS .Nm formatting:Ingo Schwarze2015-09-261-2/+3
| | | | | | * Don't break lines before non-block .Nm elements. * Use proper <b> markup for the heads of .Nm blocks. * Make the width measurements work by doing them on the head children.
* typos; found and fixed by sobrado@Ingo Schwarze2015-09-242-6/+6
|
* Trailing whitespace is significant when determining the width of a tagIngo Schwarze2015-09-214-10/+17
| | | | | in mdoc(7) .Bl -tag and man(7) .TP, but not in man(7) .IP. Quirk reported by Jan Stary <hans at stare dot cz> on ports@.
* no more _subdir; Jan Stary <hans at stare dot cz>Ingo Schwarze2015-09-211-18/+0
|
* for portability, use (char *)NULL in execlp(3) as discussed on tech@ OpenBSDIngo Schwarze2015-09-161-2/+2
| | | | (didn't blow up anywhere yet, but better safe than sorry)
* Avoid .Ns right after .Pf, it's pointless.Ingo Schwarze2015-09-141-1/+1
|
* Remove the warning about children of .Vt blocks because actually,Ingo Schwarze2015-09-144-33/+1
| | | | | | | .Vt type global_variable No = Dv defined_constant ; is the best way to specify in the SYNOPSIS how a global variable is initialized in the rare case where that matters. Issue noticed by jmc@.
* The .Dv macro actually forces normal font.Ingo Schwarze2015-09-141-1/+1
|
* Fill mode changes don't break next-line scope in all cases,Ingo Schwarze2015-09-042-2/+16
| | | | | | in particular not for tagged paragraphs. Issue found by Christian Neukirchen <chneukirchen at gmail dot com> in the exiv2(1) manual page.
* Recommend an unambiguous escape for minus signs instead of \-.Ingo Schwarze2015-09-021-5/+5
| | | | | | | | | | | | | | | | | | | | | | Historically, \- was used in troff for three cases: flags/pathnames, en dashes, and minus signs. mandoc_char(7) currently recommends it for minus signs, recommends \(en for en dashes, and doesn't mention flags/pathnames. In the old days, nroff rendered \- as ASCII '-', and troff rendered it as en dash/minus (which were visually indistinguishable). In Unicode, en dashes and minus signs are semantically distinct and encoded differently (U+2013 for en dash, U+2212 for minus), and often rendered differently too. Meanwhile ASCII '-' has been renamed "hyphen-minus" and fonts typically render it closest to a hyphen, not a minus. There is very little consistency across roff implementations and output formats for what Unicode character \- corresponds to. So at least for minus signs, change the recommendation to the unambiguous \(mi escape. from bentley@, ok jmc@ (after reams of discussion)
* Drop leading, internal, and trailing blank characters in \o (overstrike)Ingo Schwarze2015-08-301-1/+7
| | | | | | escape sequences; that's cleaner for all output modes, and it's required to prevent the PostScript/PDF formatter from dying on assertions. Bug found by jsg@ with afl.
* If an .Fo macro lacks its mandatory argument, don't die on an assertion.Ingo Schwarze2015-08-301-3/+2
| | | | Bug found by jsg@ with afl.
* If we have to reparse the text line because we spring an input line trap,Ingo Schwarze2015-08-291-16/+17
| | | | | | we must not escape breakable hyphens yet, or mparse_buf_r() in read.c will complain and replace the escaped hyphens with question marks. Bug found in ocserv(8) following a report from Kurt Jaeger <pi at FreeBSD>.
* Parse and ignore the escape sequences \, and \/ (italic corrections).Ingo Schwarze2015-08-292-1/+11
| | | | | | | | Actually using these is very stupid because they are groff extensions and other roff(7) implementations typically print unintended characters at the places where they are used. Nevertheless, some manuals contain them, for example ocserv(8). Problem reported by Kurt Jaeger <pi at FreeBSD>.
* Implement the escape sequence \\$*, expanding to all argumentsIngo Schwarze2015-08-292-15/+28
| | | | | | of the current user-defined macro. This is another missing feature required for ocserv(8). Problem reported by Kurt Jaeger <pi at FreeBSD>.
* Minimal implementation of the read-only number register \n(.$Ingo Schwarze2015-08-291-8/+18
| | | | | | which returns the number of arguments of the current macro. This is one of the missing features required for ocserv(8). Problem reported by Kurt Jaeger <pi at FreeBSD>.
* Including <ohash.h> requires including <stdint.h> before,Ingo Schwarze2015-08-291-0/+3
| | | | | and "config.h" was missing as well. Patch from Svyatoslav Mishyn <juef and openmailbox dot org>, Crux Linux.
* tedu@ reports tbl(7) issues in synaptics(4)Ingo Schwarze2015-08-291-0/+14
|
* Remove the hack of scrolling forward and backward with +G1G thatIngo Schwarze2015-07-283-81/+96
| | | | | | | | | | many (jmc@, millert@, espie@, deraadt@) considered revolting. Instead, when using a pager, since we are using a temporary file for tags anyway, use another temporary file for the formatted page(s), as suggested by millert@ and similar to what the traditional BSD man(1) did, except that we use only one single temporary output file rather than one for each formatted manual page, such that searching (both with / and :t) works across all the displayed files.
* Simplify and make tag_put() more efficient by integrating tag_get()Ingo Schwarze2015-07-253-43/+16
| | | | | into it and by only handling NUL-terminated strings. Minus 25 lines of code, no functional change.
* implement tagging for .ErIngo Schwarze2015-07-251-1/+15
|
* basic tag support for function names; written at YYCIngo Schwarze2015-07-251-2/+17
|
* basic support for tag priorities; written at YYCIngo Schwarze2015-07-253-7/+9
|
* When creation of the temporary tags file fails, call the pagerIngo Schwarze2015-07-213-18/+14
| | | | | | | | without the -T option, because otherwise the pager won't even start. Fixing a bug reported by jca@. While here, shorten the code by two lines and delete one internal interface function.
* Do not fork and exec gunzip(1), just link with libz instead.Ingo Schwarze2015-07-198-140/+46
| | | | | | | As discussed with deraadt@, that's cleaner and will help tame(2). Something like this was also suggested earlier by bapt at FreeBSD. Minus 50 lines of code, deleting one interface function (mparse_wait), no functional change intended.
* If we aren't on a tty, clear the pager flag up front.Ingo Schwarze2015-07-191-2/+5
| | | | Just to clean up code structure, no functional change.
* Insist that manual page file name extensions must begin with a digit,Ingo Schwarze2015-07-181-1/+1
| | | | | lest pkg.conf(5) be shown when pkg(5) is asked for; issue reported by Michael Reed <m dot reed at mykolab dot com>.
* another portability todoIngo Schwarze2015-07-181-0/+7
|
* clean up the temporary file when the process dies from a signalIngo Schwarze2015-07-181-0/+16
|
* Initial, still somewhat experimental implementation to leverageIngo Schwarze2015-07-179-29/+292
| | | | | | | | | | | | | | | less(1) -T and :t ctags(1)-like functionality to jump to the definitions of various terms inside manual pages. To be polished in the tree, so bear with me and report issues. Technically, if less(1) is used as a pager, information is collected by the mdoc(7) terminal formatter, first stored using the ohash library, then ultimately written to a temporary file which is passed to less via -T. No change intended for other output formatters or when running without a pager. Based on an idea from Kristaps using feedback from many, in particular phessler@ nicm@ millert@ halex@ doug@ kspillner@ deraadt@.
* Fix the "depend" target and regenerate Makefile.depend:Ingo Schwarze2015-07-142-24/+7
| | | | | | | * do not process the test-*.c files, they are not built via make * add the missing compat_stringlist.c and soelim.c * read.c now uses roff_int.h * roff.c no longer uses libmdoc.h
* headers should not contain macrosIngo Schwarze2015-07-141-0/+4
|
* Ignore blank characters at the beginning of a conditional block,Ingo Schwarze2015-06-271-0/+2
| | | | | that is, after "\{". Issue found by Markus <Waldeck at gmx dot de> in bash(1).
* delete some TODO entries that were already fixedIngo Schwarze2015-06-261-22/+10
|
* nice idea for eqn(7) from CDBUG.Ingo Schwarze2015-06-181-0/+5
|
* two new tasks i heard about at BSDCanIngo Schwarze2015-06-101-0/+10
|
* Avoid warning "defined but not used" when compiling with HAVE_MANPATH.Ingo Schwarze2015-06-101-0/+4
| | | | Issue found on Debian by Markus <Waldeck at gmx dot de>.
* Avoid warning "unused variable" when compiling without HAVE_WCHAR.Ingo Schwarze2015-06-101-0/+2
| | | | Issue found on Debian by Markus <Waldeck at gmx dot de>.
* Implement the roff(7) `r' (register exists) conditional.Ingo Schwarze2015-05-312-7/+36
| | | | | Missing feature found by Markus <Waldeck at gmx dot de> in Debian's bash(1) manual page.
* This one needs config.h too, if only for __BEGIN_DECLS.Ingo Schwarze2015-05-211-0/+1
| | | | Found on Solaris 11 in the OpenCSW cluster.
* add forgotten glueIngo Schwarze2015-05-211-0/+10
|
* Link compat_reallocarray.o into soelim; needed onIngo Schwarze2015-05-211-2/+2
| | | | platforms having neither stringlist nor compat_reallocarray.
* Remove clauses 3 and 4 from Christos Zoulas' BSD license.Ingo Schwarze2015-05-203-10/+2
| | | | | This is safe because Christos did that himself in NetBSD in 2008. No code change.
* fix integer overflows by using reallocarray(3)Ingo Schwarze2015-05-201-2/+3
|
* * fix roff terminology in .NdIngo Schwarze2015-05-201-3/+7
| | | | | * remove .Xr to self * add AUTHORS section
* Use PATH_MAX rather than the non-standard MAXPATHLEN.Ingo Schwarze2015-05-201-2/+2
|
* * remove FreeBSDismsIngo Schwarze2015-05-209-47/+99
| | | | | | | * purge and sort headers * add build and compat glue * and LICENSE information for soelim(1)