| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
and in particular do not reset font mode.
|
|
|
|
| |
if the first one is explicitly closed with .YS.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
to understand existing man(7) code and deleting parts that would only
be useful for writing new documents, which we strongly discourage:
* Delete the MANUAL STRUCTURE section which merely duplicates mdoc(7).
* Delete internal cross references only useful for writing new code.
* Delete many instances of "included only for compatibility" as the
whole language is only provided for compatibility.
* Fix a few minor errors and omissions.
|
|
|
|
| |
used in most manual pages of the groff package
|
|
|
|
|
| |
that is undefined according to the C standard. Robert Elz <kre at
munnari dot oz dot au> pointed out i wasn't quite done yet.
|
|
|
|
| |
used for example by groff_diff(7)
|
|
|
|
|
|
| |
a static array. Christos Zoulas, Robert Elz, and Andreas Gustafsson
point out that is undefined behaviour by the C standard even if we
never access the pointer.
|
|
|
|
|
|
|
|
| |
While here, delete the section about predefined strings.
For manual pages, the concept is not important enough to be discussed
in such a prominent place, and some aspects of the text were also
misleading. Add a shorter version of the relevant parts to the
description of the \* escape sequence instead.
|
|
|
|
|
| |
by allowing the preprocessor to pass it through to the formatters.
Used for example by the groff_char(7) manual page.
|
|
|
|
| |
and provide a way to specify additional diff(1) options
|
|
|
|
| |
found by Thomas Klausner <wiz at NetBSD> via a compiler warning
|
|
|
|
|
| |
workaround in place for now for the benefit of older systems,
and other systems might contain similar problems.
|
| |
|
|
|
|
|
| |
latter is a NetBSD idiosyncrasy reported by wiz@. Also take into
account that NetBSD declares getsubopt(3) in the wrong header.
|
|
|
|
| |
used for example in the ditroff(7) manual of the groff package
|
| |
|
|
|
|
| |
escape sequences, used for example in the groff_char(7) manual page
|
|
|
|
|
| |
and some groff manual pages actually use them in .ft requests.
It's easy enough to handle these .ft requests in mandoc, too.
|
|
|
|
|
| |
Examples of manual pages (ab)using it
include groff(7), chem(1), groff_mom(7), and groff_hdtbl(7).
|
|
|
|
|
|
| |
don't respond with the lie: "No entry for chmod in the manual."
Instead, say "No entry for chmod in section 3 of the manual."
Came up after a question from kn@; OK kn@.
|
| |
|
| |
|