| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Useless misfeature.
|
|
|
|
| |
Do the substitution only if there are angle brackets around it: <foo@bar>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This font is used for CO and CI. It is useful for documenting
meta-identifiers in code.
|
|
|
|
| |
This so that the open definition lists are closed out.
|
|
|
|
|
|
|
| |
The add_index function's interface changes so that it returns
the result of scan_troff. The caller can use that instead of
doing a redundant scan_troff which causes trouble when the
text contains side effects like incrementing counters.
|
|
|
|
|
|
|
| |
Updating date of the man page and documenting extensions.
Changing .ab request to exit unsuccessfully.
Index generation needed to be trivially extended to handle more than two
levels.
|
|
|
|
|
|
|
| |
Premature free in the table code. Realloc logic in out_html was not
accounting for null byte that is appended into the globally visible
buffer elsewhere. Also, one byte overrun in string data compensated
by increasing the allocation when .de is processed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The if/ie and else constructs must not destructively manipulate the
program source, since they can be involved in iteration; removing
the dubious assignment to c[-1] and *c.
The ifelseval variable should not be touched by while.
The ifelseval variable should be set at the last possible moment
by ie, because of nesting: the antecedent clause processed by ie
could itself clobber the variable.
|
|
|
|
|
|
|
|
|
|
| |
The argument line of a macro must be expanded first,
and then broken into words according to the original
quotes. For instance .mac \\$* passes multiple arguments,
not a single argument containing spaces. And
.mac "\\$*" must pass a single argument; moreover,
if \\$* expands into stuff that contains double quotes,
those should probably not be recognized.
|
| |
|
|
|
|
|
| |
man2html expands \$<digit> in code that is skipped conditionally,
so we cannot abort if digit >= args. Just expand to blank.
|
| |
|
|
|
|
| |
Make .$ correspond to the number of arguments in the macro call.
|
|
|
|
| |
This needs str_to_code to be expanded a little bit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The \n interpolation was not working: not substituting
the result. When this logic was added, then this was happening
even during expression evaluation. The right fix seems to be that
scan_expression function needs to suppress output!
Implemented the .while operator. str_to_code needed to be fixed
so it only bangs together up to four characters, so that
we can recognize "while" as "whil". Hack hack!
Introduced the V4 macro for four character codes.
|
|
|
|
|
| |
The .ft directive was only accepting numeric arguments,
not symbolic font names like CO and P.
|
|
|
|
|
|
|
| |
In this idiotic program, one-letter commands like .B arg or .B are blindly
encoded as a two byte code and so they have two codes, based on whether
the name is followed by a space or newline. We must preserve this behavior in
the str_to_code function, or else fix numerous places.
|
| |
|
|
|
|
|
|
|
| |
Macros can have up to four letter names, not just two.
The \f[..] parsing is fixed so inline font changes work.
The CR font is supported.
Crash fixed when the section table is empty.
|
|
|