Hi, Enclosed are my efforts to unify the escaped-sequence functions in out.c (a2roffdeco()) and mandoc.c (mandoc_special()). This handles, as far as I can see, all syntaxes of the groff(7) escapes. When called during libmandoc validation, it will check for GLYPH_ERROR and be followed by a search-and-replace of ASCII_HYPH for `-' in the substring. When invoked from term.c or html.c, it will switch on the returned type and substring value. This will clear up a nice big chunk of code, but it's a pretty delicate area, so please look it over! If you compile this file, you can test escapes by running, e.g., % ./a.out s+\'\(\\f\[asdf\]\)\'123 to see the values of "start" and "end". Thanks, Kristaps