aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/roff.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2022-06-06 19:23:13 +0000
committerIngo Schwarze <schwarze@openbsd.org>2022-06-06 19:23:13 +0000
commit3b824e03ce2e314aec22bc8be1326a216864d65f (patch)
tree25e51d744a1dcdbc54fac66ee0182c4b6fddfb9d /roff.c
parentb56d78530b2005a05edb587155231448b957617b (diff)
downloadmandoc-3b824e03ce2e314aec22bc8be1326a216864d65f.tar.gz
mandoc-3b824e03ce2e314aec22bc8be1326a216864d65f.tar.zst
mandoc-3b824e03ce2e314aec22bc8be1326a216864d65f.zip
To better match groff parsing, reject digits and some mathematical
operators as argument delimiters for some escape sequences that take numerical arguments, in the same way as it had already been done for \h. Argument delimiter parsing for escape sequences taking numerical arguments is not perfect yet. In particular, when a character representing a scaling unit is abused as the argument delimiter, parsing for that character becomes context-dependent, and it is no longer possible to find the end of the escape sequence without calling the full numerical expression parser, which i refrain from attempting in this commit. For now, continuing to misparse insane constructions like \Bc1c+1cc (which is valid in groff and resolves to "1" because 1c+1c = two centimeters is a valid numerical expression and 'c' is also a valid delimiter) is a small price to pay for keeping complexity at bay and for not losing focus in the ongoing series of refinements.
Diffstat (limited to 'roff.c')
0 files changed, 0 insertions, 0 deletions