| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Both partial and full implicit blocks can break explicit blocks.
Put the code to handle both cases into a common function.
|
|
|
|
|
|
|
|
| |
must go inside the breaking block. For example, in
.It Ic cmd Oo
.Ar optional_arg Oc Ar mandatory_arg
the mandatory_arg is still inside the .It block.
Used for example by mutella(1).
|
| |
|
|
|
|
|
|
| |
Reduces groff-mandoc differences in base by about 2.5% due to
various Perl manuals having long section titles.
Quirk found in argtable2(3).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a first rounding to basic units on the input side.
After that, rounding rules differ between requests and macros.
Requests round to the nearest possible character position.
Macros round to the next character position to the left.
Implement that by changing the return value of term_hspan()
to basic units and leaving the second scaling and rounding stage
to the formatters instead of doing it in the terminal handler.
Improves for example argtable2(3).
|
|
|
|
|
| |
sequences. Improves tic(1), sxpm(1), and a few Perl manuals.
Quirk found by naddy@ in milter-greylist(8).
|
|
|
|
|
| |
Found while writing a regression test for man_macro.c rev. 1.66.
Incidentally, this brings rendering of XFreeEventData(3) closer to groff.
|
|
|
|
|
| |
Drop one enum type, two static functions, 70 lines of code.
Also fixes the mpeg_encode(1) manual reported broken by naddy@.
|
|
|
|
|
|
|
|
| |
of block rewinding, just like then mdoc(7) parser did.
First step in getting rid of rew_scope():
Replace the only call where the target block is known.
This commit is analogous to mdoc_macro.c rev. 1.167.
One down, three to go.
|
| |
|
|
|
|
|
| |
We don't hardcode the paths to gunzip(1) and cmp(1) either.
Discussed with ajacoutot@.
|
|
|
|
|
| |
Replace struct mdoc_meta and struct man_meta by a unified struct roff_meta.
Written of the train from London to Exeter on the way to p2k15.
|
|
|
|
|
|
|
|
|
| |
Replace struct mdoc_node and struct man_node by a unified struct roff_node.
To be able to use the tok member for both mdoc(7) and man(7) without
defining all the macros in roff.h, sacrifice a tiny bit of type safety
and make tok an int rather than an enum.
Almost mechanical, no functional change.
Written on the Eurostar from Bruxelles to London on the way to p2k15.
|
|
|
|
|
|
| |
Replace enum mdoc_type and enum man_type by a unified enum roff_type.
Almost mechanical, no functional change.
Written on the ICE train from Frankfurt to Bruxelles on the way to p2k15.
|
|
|
|
|
|
|
| |
is unusable: Only change back to the current directory when the
directory was changed before and the next path is relative.
This is now more similar to what makewhatis(8) does.
Issue reported by espie@.
|
|
|
|
|
|
|
|
| |
~, `, and ' get translated to non-ASCII characters by most troff
implementations when generating PostScript/PDF output. When the
original ASCII character is meant, it needs to be manually escaped.
Patch from bentley@.
|
| |
|
|
|
|
| |
Additional functionality, yet minus 45 lines of code.
|
|
|
|
| |
The next step will be to actually use the parsed data.
|
|
|
|
|
|
| |
and option arguments, except for -m because "-m an" and "-m andoc"
look just too weird. Of course, the traditional form without the
blank will continue to work.
|
| |
|
| |
|
|
|
|
|
| |
prevent them from being converted to Unicode replacements in PDF output.
Issue found by bentley@, OK jmc@ bentley@.
|
|
|
|
|
| |
one of the next steps will be to use it in addition to manpath(1)
rather than as an alternative to it.
|
|
|
|
|
|
| |
to replace the legacy "_whatdb path/whatis.db".
Keep _whatdb support for backward compat, for now.
Discussed with many, jmc@ and ajacoutot@ agree with the general direction.
|
| |
|
|
|
|
| |
fall back to /usr/share/man:/usr/X11R6/man:/usr/local/man
|
|
|
|
| |
pointed out by Christian Neukirchen <chneukirchen at gmail dot com>.
|
|
|
|
|
| |
He reports that on some platforms, it is not possible to use the
same va_list twice. So use va_copy(3) for additional safety.
|
|
|
|
| |
Issue reported by Christian Neukirchen <chneukirchen at gmail dot com>.
|
|
|
|
|
|
|
| |
1. MAN_EXPLICIT was used iff fp == blk_exp, so just test fp.
2. MAN_FSCOPED was used only for TP, so just test for TP.
3. MAN_NOCLOSE was completely unused.
No functional change.
|
|
|
|
|
|
|
| |
Thanks to Sevan Janiyan <venture37 at geeklan dot co dot uk> for
reporting the Solaris 10 issues, to Jan Holzhueter <jh at opencsw
dot org> for some additional insight, and to OpenCSW in general for
providing me with a Solaris 9/10/11 testing environment.
|
|
|
|
|
|
| |
This not only simplifies matters, but also helps operating systems
lacking dirfd(3), for example Solaris 10. Solaris dirfd issue
reported by Sevan Janiyan <venture37 at geeklan dot co dot uk>.
|
|
|
|
| |
Issue found while testing on opencsw.org.
|
|
|
|
| |
as an argument. No functional change.
|
|
|
|
|
|
|
|
| |
from man(1), man(1) dies from SIGPIPE. Exiting man(1) is fine in this
case, generating more output would be pointless, but without handling
SIGPIPE, the exit code from man(1) was wrong and csh(1) printed an
ugly message "Broken pipe". Fix this by handling SIGPIPE explicitly.
Issue noticed by deraadt@.
|
| |
|
|
|
|
|
| |
sometimes result in missing line breaks before subsection headers.
Found by carsten dot kunze at arcor dot de on SuSE 13.2.
|
|
|
|
|
|
| |
You can use "and" and "or" to join sentence clauses,
and you can use commas, but both hinders reading;
patch from jmc@.
|
| |
|
|
|
|
|
|
| |
typically 64bit platforms. This was basically broken since forever.
Not only is the padding used, but it was used uninitialized.
Problem reported by jmc@.
|
|
|
|
|
| |
without database support. Required now that we have man(1) even
without database support.
|
|
|
|
|
| |
fall back to showing Nd rather than not showing anything.
Issue reported by jmc@.
|
|
|
|
| |
Cluestick applied by joerg at NetBSD.
|
|
|
|
|
| |
all required by POSIX. So don't compare it against against
an unsigned constant.
|
|
|
|
|
| |
No functional change for now, but more robust in case anybody should
ever add additional child processes.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using a pager and the first manual shown is gzip'ed,
the gunzip(1) process ended up as a child of the pager process
such that the man(1) process couldn't wait for it, preventing
proper display of the manual.
Solve this by making the pager a child of the man(1) process
(instead of the other way round), which requires being a bit
more careful about properly closing file descriptors after use
and waiting for the pager before exiting man(1).
|
| |
|
| |
|
|
|
|
|
|
| |
man(7) always prints a blank line, mdoc(7) doesn't.
Problem in mdoc(7) reported by kristaps@.
mdoc(7) part of the patch tested by kristaps@.
|