summaryrefslogtreecommitdiffstats
path: root/regress/roff/string/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* During identifier parsing, handle undefined escape sequencesIngo Schwarze2022-06-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | in the same way as groff: * \\ is always reduced to \ * \. is always reduced to . * other undefined escape sequences are usually reduced to the escape name, for example \G to G, except during the expansion of expanding escape sequences having the standard argument form (in particular \* and \n), in which case the backslash is preserved literally. Yes, this is confusing indeed. For example, the following have the same meaning: * .ds \. and .ds . which is not the same as .ds \\. * \*[\.] and \*[.] which is not the same as \*[\\.] * .ds \G and .ds G which is not the same as .ds \\G * \*[\G] and \*[\\G] which is not the same as \*[G] <- sic! To feel less dirty, have a leaning toothpick, if you are so inclined. This patch also slightly improves the string shown by the "escaped character not allowed in a name" error message.
* Implement the \*(.T predefined string (interpolate device name)Ingo Schwarze2018-08-161-1/+4
| | | | | by allowing the preprocessor to pass it through to the formatters. Used for example by the groff_char(7) manual page.
* Using an undefined string or macro will cause it to be defined as empty.Ingo Schwarze2018-04-091-2/+2
| | | | | Observed by Werner Lemberg on Nov 14, 2011 and rotting on my TODO list ever since.
* Implement appending to standard man(7) and mdoc(7) macros with .am.Ingo Schwarze2017-06-181-3/+7
| | | | | | | | | | | | | | | | | | With roff_getstrn(), provide finer control which definitions can be used for what: * All definitions can be used for .if d tests and .am appending. * User-defined for \* expansion, .dei expansion, and macro calling. * Predefined for \* expansion. * Standard macros, original or renamed, for macro calling. Several related improvements while here: * Do not return string table entries that have explicitly been removed. * Do not create a rentab entry when trying to rename a non-existent macro. * Clear an existing rentab entry when the external interface roff_setstr() is called with its name. * Avoid trailing blanks in macro lines generated from renamed and from aliased macros. * Delete the duplicate __m*_reserved[] tables, just use roff_name[].
* Finally port the OpenBSD regression suite.Ingo Schwarze2017-02-081-0/+11
Both kristaps@ and wiz@ repeated asked for this, literally for years.