| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The .Bf block can contain subblocks, so it has to render as an
element that can contain flow content. But <em> cannot contain
flow content, only phrasing content. Rendering .Em and .Bf differently
would by unfortunate, and closing out .Bf before subblocks and
re-opening it afterwards would merely complicate both the C code
of the program and the generated HTML code. Besides, converting
.Em to semantic HTML markup would require some content to be put
into <em> and some into <i>, but we cannot automatically distinguish
which is which, so strictly speaking, we can't use semantic HTML
here but have to fall back to physical markup. Wonders of HTML...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Start with the horizontal terminal specifiers, making sure that they match
up with troff.
Then move on to PS, PDF, and HTML, noting that we stick to the terminal
default width for "u".
Lastly, fix some completely-wrong documentation and note that we diverge
from troff w/r/t "u".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The vast majority of .Em in real-world manuals is stress emphasis,
for which <em> is the correct markup. Admittedly, there are some
instances of .Em usage for alternate quality, for which <i> would
be a better match. Most of these are technical terms that neither
allow semantic markup nor are keywords - for the latter, .Sy would
be preferable. A typical example is that the shell breaks input into
.Em words .
Alternate voice or mood, which would also require <i>, is almost
absent from manuals.
We cannot satisfy both stress emphasis and alternate quality, so
pick the one that fits more often and looks less wrong when off.
Patch from Guy Harris <guy at alum dot mit dot edu>.
ok joerg@ bentley@
|
| |
|
|
|
|
|
|
|
| |
specifying a unit, the implied unit is 'n' (on the terminal, one
character position; in PostScript, half of the current font size
in points), not 'u' (roff output device basic unit). No functional
change right now, but important for the upcoming scaling unit fixes.
|
|
|
|
|
|
| |
an equivalent number as its argument, and strlen() measures the width
of a string in characters, not in basic units. No functional change
right now, but important for the upcoming scaling unit fixes.
|
| |
|
|
|
|
| |
for itself because it uses size_t and FILE...
|
| |
|
|
|
|
|
|
| |
I chose the OpenBSD version because it apparently contains various
bugfixes that never made it into libnbcompat. To reduce size and
complexity, i stripped out the features we don't need.
|
|
|
|
|
|
| |
Include <sys/types.h> where needed, it does not belong in config.h.
Remove <stdio.h> from config.h; if it is missing somewhere, it should
be added, but i cannot find a *.c file where it is missing.
|
|
|
|
|
| |
New paragraph about fts(3) by me.
And various minor tweaks, some by Kristaps and some by me.
|
| |
|
|
|
|
| |
committing on behalf of kristaps@ because i want to release now
|
|
|
|
| |
Paul Onyschuk <ptmelville at gmail dot com> (Alpine Linux)
|
|
|
|
| |
found by kristaps@ on Mac OS X
|
|
|
|
|
| |
hence missing definition of __BEGIN_DECLS;
found by Thomas Klausner <wiz at NetBSD> on SunOS 5.11
|
|
|
|
|
|
| |
in the Makefile; instead, pass it down via the environment just
like CFLAGS.
Nice suggestion from kristaps@ hoping to make MacOS X happier.
|
|
|
|
|
|
| |
That's an OpenBSD-specific gcc-4.2.1 security extension.
It's certainly a bad idea to use such stuff in a compatibility header,
as other operating systems just won't understand it.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
so let us do the same for compatibility. Using this feature is of
course not recommended except in manual page obfuscation contests.
|
|
|
|
| |
found while working on mandoc(1) messages
|
|
|
|
| |
more cleanup is likely to happen when it's in
|
|
|
|
|
|
|
|
|
|
|
|
| |
in particular relaxing the distinction between prologue and body
and further improving messages.
* The last .Dd wins and the last .Os wins, even in the body.
* The last .Dt before the first body macro wins.
* Missing title in .Dt defaults to UNTITLED. Warn about it.
* Missing section in .Dt does not default to 1. But warn about it.
* Do not warn multiple times about the same mdoc(7) prologue macro.
* Warn about missing .Os.
* Incomplete .TH defaults to empty strings. Warn about it.
|
| |
|