| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
in the roff parser instead of in three other places in other parsers.
No functional change.
|
|
|
|
|
|
|
|
|
|
|
| |
roff parser where .Dd and .TH are already detected, anyway. This
improves robustness because it correctly handles whitespace or an
alternate control character before Dd. In the parser dispatcher,
provide a fallback looking ahead in the input buffer instead of
always assuming man(7). This corrects autodetection when Dd is
preceded by other macros or macro-like handled requests like .ll.
Triggered by reports from Daniel Levai about issues on Slackware Linux.
|
|
|
|
| |
Implemented by moving the zip code from makewhatis(8) to the parser lib.
|
|
|
|
|
|
|
| |
note in mandoc.db(5), such that man(1) -w and apropos(1) -w can
report the correct filename.
This is a prerequisite for letting apropos -a and man support
gzip'ed manuals in the future, which doesn't work yet.
|
|
|
|
|
|
|
| |
As usual, we get mandoc -h and apropos -h for free.
Try stuff like "apropos -h In=dirent" or "apropos -h Fa=timespec".
Only useful for terminal output, so -Tps, -Tpdf, -Thtml ignore -h for now.
|
|
|
|
|
|
|
|
| |
has already been processed, add the file names to the names table, too,
not just to the mlinks table.
This fixes a bug where apropos(1) and the new man(1) wouldn't find some
of the Xenocara manuals via some of their .so links. After rebuilding,
run "makewhatis /usr/X11R6/man" or just wait for weekly(8).
|
|
|
|
|
|
|
| |
just like traditional man(1) does, such that .so links have a chance to
work. After this point, we don't need the current directory for anything
else before exit, so we don't need to worry about getting back and we can
safely ignore failure.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basically, this does the same as man -l in Linux man-db.
The point is that now all functionality of the combined tool
is reachable from the man(1) command name:
apropos = man -k, whatis = man -f, mandoc = man -cl.
Originally suggested by Carsten dot Kunze at arcor dot de,
current maintainer of the Heirloom Documentation Tools.
While here, add various missing information to the usage()
and to the manuals.
|
|
|
|
|
|
| |
Besides, signedness of wchar_t and wint_t may differ, it i only
guaranteed that each wchar_t can be represented as a wint_t.
A problem report by Daniel Levai reminded me to fix this.
|
|
|
|
| |
and it's illogical anyway to have -susv2 and -susv3 but not -susv4.
|
|
|
|
|
| |
That's an unwelcome leak of potentially private information.
Kill it with fire.
|
|
|
|
|
|
|
|
|
|
| |
For section 4, "Kernel Interfaces" is just too confusing,
the difference from sections 2 and 9 is too hard to see.
The 3p change was suggested by bluhm@; that part
of the manual describes more modules than functions.
Align the CGI section titles with the console section titles.
|
|
|
|
|
|
|
|
|
|
|
| |
generic parts of the formatters some time ago, the PostScript- and
PDF-specific part of the formatters was neglected.
Now pascal@ reports that mandoc -Tps throws an assertion on perl(1),
apparently because that manual actually uses bold italic font.
So here is an overdue implementation of bold italic font support for
PostScript and PDF output.
|
| |
|
| |
|
|
|
|
|
|
|
| |
from the file and copying them to the standard output.
This works even for mixed formats: "man -a groff mandoc" displays
groff(1) [formatted], mandoc(1) [unformatted], groff(7) [formatted],
and mandoc(7) [unformatted] in that order.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
but provide an option -c to not paginate;
taking inspiration from manpage.c, hence adding (c) 2012 kristaps@
|
|
|
|
|
| |
The traditional whatis(1) was case-insensitve and it's still documented
that way, but that apparently got broken with or after the switch.
|
|
|
|
| |
attack surface pointed out by Sebastien Marie
|
|
|
|
|
|
|
|
|
|
|
|
| |
just like a closing delimiter. This didn't work in groff-1.15,
but it now works in groff-1.22.
After being closed by delimiters, .Nm scopes do not reopen.
Do not suppress white space after .Fl if the next node is a text node
on the same input line; that can happen for middle delimiters.
Fixing an issue reported by jmc@.
|
| |
|
|
|
|
| |
Clean up the description of whatis(1).
|
|
|
|
| |
in particular regarding HISTORY and AUTHORS.
|
|
|
|
|
|
|
| |
* fix up descriptions of -f and -k
* remove excessive example for -k
* remove explicit BSD references
* add CVS Id
|
|
|
|
|
| |
I'm importing the totally unchanged OpenBSD version
such that all changes can easily be tracked in CVS.
|
|
|
|
|
|
| |
if there is more than one match, using traditional section priorities,
and implement man(1) -a (show all) output mode, not just for man(1),
but also for apropos(1) and whatis(1).
|
|
|
|
| |
Implement -w (list manual page filenames).
|
|
|
|
|
| |
no -type, -width, -offset or -compact arguments whatsoever;
this got broken in rev. 1.238.
|
|
|
|
| |
merge from OpenBSD, patch by daniel@
|
|
|
|
|
|
|
|
| |
This happens in specific conditions (trailing whitespace in certain
terminal modes), but in practise, it happens quite often (as reported by
valgrind).
In short, "Nothing about term_flushln() is simple. Srsly!" (schwarze@)
Discussed on tech@, ok schwarze@.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
validation, man_node_unlink() switches to MAN_NEXT_CHILD. After
that, we have to switch back to MAN_NEXT_SIBLING after completing
validation, or subsequent parsing would add content into an already
closed node, clobbering potentially existing children, causing
information loss and a memory leak. Bug found by kristaps@ with
valgrind in groff(7) on Mac OS X.
Note that the switch back must be conditional, for if the node being
validated itself gets deleted, we must *not* go to MAN_NEXT_SIBLING,
which would not only yield wrong results in general but also crash
in malformed manuals having an empty paragraph before the first .SH,
for example OpenBSD c++filt(1).
|
| |
|
|
|
|
|
|
| |
cause mandoc_escape() to read past the end of an allocated string.
Found when a script scanning of all Mac OSX manual accidentally also
scanned binary (gzip'd) files, discussed with schwarze@ on tech@.
|
|
|
|
|
|
| |
it's safer to assume incoming enum data might be invalid
and catch it instead of happily returning an unitialized int.
No functional change right now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't use it anyway in mandoc. Like this, fewer systems need
the compat implementation. In particular, we can now use the stock
getsubopt() on glibc and musl.
Besides, the comment in the BSD getsubopt.c that error messages are
tricky without *suboptarg is massively overblown. If you simply
save a copy of the pointer you pass into getsubopt(), that's quite
usable for an error message.
People start campaigning for the addition of *suboptarg to C libraries
on the grounds that mandoc wants it, but actually, i consider library
functions manipulating global data quite ugly, so stop pushing people
into that questionable direction.
While here, add an explicit Copyright header to the test file.
While it's obviously to me what Kristaps intended, others might
consider this file copyrightable and wonder what's up.
|
| |
|
| |
|
|
|
|
|
| |
"Indentation is an 8 character tab. Second level indents are four spaces."
All the rest of this file already conforms.
|
|
|
|
|
| |
Noticed in a crash against ".It Nm Fo" with no closing "Fc".
Original patch expanded by schwarze@ then extended even more.
|
|
|
|
|
|
|
|
|
| |
Switch the argmode on the progname, including man(1).
Provide -f and -k options to switch the argmode.
Store the argmode inside struct search, generalizing the flags.
Derive the deftype from the argmode when needed instead of storing it.
Store the outkey inside struct search instead of passing it alone.
While here, get rid of the trailing blanks in Makefile.depend.
|
|
|
|
|
| |
This is the first step on the way to a man(1) implementation.
The new ./configure is flexible enough to make this step quite easy.
|
|
|
|
|
|
|
| |
even though the list is still the last processed macro.
This fixes a regression introduced in mdoc_macro.c rev. 1.138:
Ulrich Spoerlein <uqs at FreeBSD> reports that various of their
kernel manuals trigger assertions.
|
|
|
|
|
|
|
|
|
| |
* Make ./configure standalone, that's what people expect.
* Let people write a ./configure.local from scratch, not edit existing files.
* Autodetect wchar, sqlite3, and manpath and act accordingly.
* Autodetect the need for -L/usr/local/lib and -lutil.
* Get rid of config.h.p{re,ost}, let ./configure only write what's needed.
* Let ./configure write a Makefile.local snippet, that's quite flexible.
|
|
|
|
|
|
| |
and then throw a "may be used uninitialized" warning, so
sprinkle some /* NOTREACHED */. No functional change.
Noticed by Thomas Klausner <wiz at NetBSD dot org>.
|
|
|
|
|
| |
explain appropriate usage, and provide some examples.
ok jmc@
|
| |
|