summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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-13254-0/+31979