| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
span cells horizontally and vertically as requested by the layout.
Does not handle spans requested in the data section yet.
To be able to do this, record the number of rows spanned
in the first data cell (struct tbl_dat) of a vertical span.
Missing feature reported by Pali dot Rohar at gmail dot com.
|
| |
|
|
|
|
|
| |
in -T html output. This does not handle spanned cells yet.
Missing feature reported by Pali dot Rohar at gmail dot com.
|
|
|
|
|
| |
make sure it doesn't cause output of bogus whitespace.
Fixing a bug reported by Pali dot Rohar at gmail dot com.
|
|
|
|
|
|
|
|
| |
results. As a matter of fact, which manpath the page comes from
does not matter in that context. That only matters for the priority
of pages in man(1) mode (without -a, -f, and -k).
Noticed while working on a patch from Yuri Pankov <yuripv at FreeBSD>.
|
|
|
|
|
|
|
|
|
|
| |
priorities (bits). The obscure feature wasn't documented and merely
confused people - for example Edward Tomasz Napierala <trasz at
FreeBSD>, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227408.
Smaller patch provided by Yuri Pankov <yuripv at FreeBSD>, but i'm
also retiring the now unused "bits" member from struct manpage.
Simplification is good.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output option -O tag[=term] to move right to the definition of "term" when
opening the manual page in a pager, effectively porting the -T html
fragment name feature - https://man.openbsd.org/ksh#ulimit - to the
terminal. Try:
$ man -O tag uvm_sysctl
$ man -O tag=ulimit ksh
$ man -O tag 3 compress
Feature development triggered by a question from kn@. Klemens also
tested, provided feedback that resulted in improvements, and provided
an OK.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
regular expressions the default in man(1) -k searches, also matching
what the man-db package used by many Linux distributions does.
Originally requested by Wolfram Schneider <wosch at FreeBSD>
via Yuri Pankov <yuripv at FreeBSD>.
Feedback and OK cheloha@, and no objections when shown on tech@.
Thanks to cheloha@ for pointing out that POSIX requires this behaviour
and for the suggestion to explicitly say that *extended* regular
expressions are used here.
While here, unify spelling of case-[in]sensitive, fix a typo,
update the EXAMPLES, and add a STANDARDS section.
|
|
|
|
|
|
|
|
|
|
| |
Original commit message by the author of this bugfix patch, bluhm@:
lstmatch() expects a list of strings separated by \0 and terminated
with \0\0. In the NULL case dbm_page_get() returned only simple
strings so correct processing was depending on data layout. Use
an additional \0 to terminate the single string lists. Found by
mandoc regress since llvm linker on amd64 arranges strings differently.
|
| |
|
|
|
|
|
|
|
|
|
| |
for HTML output. Somewhat relevant because pod2man(1) relies on this.
Missing feature reported by Pali dot Rohar at gmail dot com.
Note that constant width font was already correctly selected before
this when required by semantic markup. Only attempting physical
markup with the low-level escape sequence was ineffective.
|
|
|
|
|
|
|
|
|
|
|
| |
there is no escaping mechanism, so tags cannot contain whitespace.
Consequently, we used to simply not tag macro arguments containing
space characters. Instead, let's tag the first word, unless there
is a proper match for that word somewhere else. For example, this
makes ":tquery" work in ntpd.conf(5).
Feature suggested by kn@, who also thinks the implementation looks
reasonable and works in his testing.
|
|
|
|
|
|
|
|
|
|
|
| |
for example lines containing nothing but "\&", are significant
in no-fill mode and can be represented by blank lines inside <pre>.
Fixing a bug that Pali dot Rohar at gmail dot com found
in pod2man(1) output, for example Email::Address::XS(3p).
While here, inside no-fill mode, there is no need to encode
totally blank input lines by emulating .PP - just let them
through as we are inside <pre> anyway.
|
|
|
|
|
|
|
|
| |
of allocated strings, do not write to the input string, and improve
diagnostic output.
The confusing error message "invalid arch" as a reaction to mistyping
the release name was noticed by tb@, who likes the new code and message.
|
|
|
|
| |
from the past that are no longer true
|
|
|
|
|
|
| |
instead, use .Bl -tag like everywhere else. The same was already
done for requests quite some time ago. Also, consistently mark up
escape sequences with .Ic, just like requests.
|
|
|
|
| |
characters, skip the TOC entry. Issue reported by kristaps@.
|
| |
|
| |
|
|
|
|
|
| |
the top of HTML pages containing at least two non-standard sections.
Suggested by Adam Kalisz and discussed with kristaps@ during EuroBSDCon 2018.
|
|
|
|
|
|
| |
selecting the format according to local existence of the file.
Suggested by kristaps@ during EuroBSDCon 2018.
Written on the train Frankfurt-Karlsruhe returning from EuroBSDCon.
|
|
|
|
|
|
| |
This also agrees with what groff does.
Suggested by an attendee of EuroBSDCon 2018 in Bucuresti.
Written on the plane Bucuresti-Frankfurt returning from EuroBSDCon.
|
|
|
|
|
|
| |
fixing a bug reported by <jungleboogie0 at gmail dot com> on bugs@.
While here, fully validate the arch name
such that we do not have to URI encode that one.
|
| |
|
|
|
|
|
|
| |
The 1.2em was an approximate equivalent of the 2n traditionally used
for terminal display, but it is much too wide for HTML rendering.
Issue reported by mikeb@.
|
|
|
|
| |
For example, ksh93(1) needs this for .B\n.SM.
|
|
|
|
|
|
|
|
|
| |
definition) request, used for example by groff_hdtbl(7).
This simplistic implementation may interact incorrectly
with the .tr (input character translation) request.
But come on, you are not only using .char *and* .tr, but you do so
with respect to the same character in the same manual page?
|
|
|
|
| |
the scope remains open. Needed for example for groff_man(7).
|
|
|
|
|
|
|
|
|
|
|
| |
Needed for example by groff_hdtbl(7).
There are two limitations:
It does not support nested .while requests yet,
and each .while loop must start and end in the same scope.
The roff_parseln() return codes are now more flexible
and allow OR'ing options.
|
|
|
|
|
|
|
| |
parsed earlier, so they will have to be saved for reuse - but the
read.c preparser does not know yet whether a line contains a .while
request before passing it to the roff parser. To cope with that,
save all parsed lines for now. Even shortens the code by 20 lines.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for example used by groff_hdtbl(7) and groff_mom(7).
Also correctly interpolate arguments during nested macro execution
even after .shift and .return, implemented using a stack of argument
arrays.
Note that only read.c, but not roff.c can detect the end of a macro
execution, and the existence of .shift implies that arguments cannot
be interpolated up front, so unfortunately, this includes a partial
revert of roff.c rev. 1.337, moving argument interpolation back into
the function roff_res().
|
|
|
|
|
|
|
|
|
|
|
|
| |
quoted) in addition to the already supported \\$* (similar, but
unquoted). Then use \\$@ to improve the implementation of
the .als request (macro alias).
Needed by groff_hdtbl(7).
Gosh, it feels like the manual pages of the groff package are
exercising every bloody roff(7) feature under the sun. In the
manual page source code itself, not merely in the implementation
of the used macro packages, that is.
|
|
|
|
|
| |
and of the playing card suits to match groff, using feedback
from Ralph Corderoy <ralph at inputplus dot co dot uk>.
|
|
|
|
|
|
| |
* Add two missing characters, \('Y and \('y.
* The Weierstrass p is not capital, see http://unicode.org/notes/tn27/.
* Add a groff-compatible ASCII transliteration for U+02DC: "~".
|
| |
|
|
|
|
|
|
|
|
| |
before even reparsing the expanded macro.
That is the least dirty way to fix the bug that \(.$ remained set
after execution of the user-defined macro ended. Any other way
to fix it would probably require changes to read.c, which really
shouldn't be bothered with such roff(7) internals.
|
|
|
|
|
|
|
|
| |
It is not broken because of \), which is correctly implemented, but
the addition merely reveals a hidden bug elsewhere, almost certainly
in \\ handling. Given that \\ is among the most mysterious escape
sequences and using it is very strongly discouraged in manual pages,
fixing that is not urgent - and may be hard.
|
|
|
|
|
| |
intentionally leave it undocumented. Abused for example in the
groff(7) manual page.
|
|
|
|
|
|
| |
as groff, and also honour the explicit alignment indicator "\&".
This required an almost complete rewrite of both the measurement
function and the formatter function for numeric cells.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
roff conditional, except that the .char request still isn't supported
and that behaviour differs from groff in many edge cases.
But at least valid character names and numbers are now distinguished
from invalid ones.
This also fixes the bug that parsing of the 'c' conditional was
incomplete, which resulted in leaking the tested character to the
input parser at the beginning of the body when the condition was
inverted.
|
|
|
|
| |
because that turned it into a bogus line continuation.
|
|
|
|
| |
with comment); used for example by gropdf(1)
|
| |
|
|
|
|
| |
horizontally align the numbers in the same way as groff does.
|
| |
|
| |
|
| |
|
| |
|
| |
|