summaryrefslogtreecommitdiffstats
path: root/man2html
Commit message (Collapse)AuthorAgeFilesLines
* Add a fifth font: courier italic.Kaz Kylheku2014-09-201-6/+16
| | | | | This font is used for CO and CI. It is useful for documenting meta-identifiers in code.
* In .M2SS we need to call dl_down.Kaz Kylheku2014-09-191-0/+1
| | | | This so that the open definition lists are closed out.
* Fix double evaluation in .SH, .SS and .M2SS.Kaz Kylheku2014-09-181-12/+14
| | | | | | | 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.
* Implementing M2 register and .M2SS extension.Kaz Kylheku2014-09-183-10/+61
| | | | | | | 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.
* Fix malloc memory corruptions.Kaz Kylheku2014-09-181-8/+17
| | | | | | | 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.
* Allow more than two character names in .nr.Kaz Kylheku2014-09-181-6/+5
|
* Fix breakage in if, else and while.Kaz Kylheku2014-09-181-4/+1
| | | | | | | | | | | | 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.
* Fix broken argument delimiting in macro calls.Kaz Kylheku2014-09-181-13/+15
| | | | | | | | | | 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.
* Fix realloc related crash. Abort on error.Kaz Kylheku2014-09-161-4/+7
|
* Relax $n argument checking.Kaz Kylheku2014-09-161-3/+2
| | | | | man2html expands \$<digit> in code that is skipped conditionally, so we cannot abort if digit >= args. Just expand to blank.
* Implement groff's .shift command.Kaz Kylheku2014-09-151-0/+8
|
* Implement \n[.$] variable properly.Kaz Kylheku2014-09-153-3/+9
| | | | Make .$ correspond to the number of arguments in the macro call.
* Make \n[IDENT] work.Kaz Kylheku2014-09-151-19/+29
| | | | This needs str_to_code to be expanded a little bit.
* Fix \n interpolation; implement while.Kaz Kylheku2014-09-152-4/+46
| | | | | | | | | | | | 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.
* Fix broken .ft XYKaz Kylheku2014-09-151-9/+11
| | | | | The .ft directive was only accepting numeric arguments, not symbolic font names like CO and P.
* Support groff's \(dq escape for double quote.Kaz Kylheku2014-09-141-0/+1
|
* Fix broken one-letter commands.Kaz Kylheku2014-09-141-1/+9
| | | | | | | 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.
* Implementing \$* argument expansion.Kaz Kylheku2014-09-141-2/+35
|
* Fixes: font escape, macros, crash.Kaz Kylheku2014-09-131-25/+51
| | | | | | | 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.
* Initial.man-1.6gKaz Kylheku2014-09-1327-0/+6100