Up to [cvsweb.bsd.lv] / mandoc / regress / roff / esc
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.13 / (download) - annotate - [select for diffs], Wed Jun 8 13:24:01 2022 UTC (2 years ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.12: +4 -3 lines
Diff to previous 1.12 (colored)
Surprisingly, every escape sequence can also be used as an argument delimiter for an outer escape sequence, in which case the delimiting escape sequence retains its syntax but usually ignores its argument and loses its inherent effect. Add rudimentary support for this syntax quirk in order to improve parsing compatibility with groff.
Revision 1.12 / (download) - annotate - [select for diffs], Mon May 30 23:03:50 2022 UTC (2 years ago) by schwarze
Branch: MAIN
Changes since 1.11: +8 -3 lines
Diff to previous 1.11 (colored)
Dummy implementation of the roff(7) \V (interpolate environment variable) escape sequence. This is needed to get \V into the correct parsing class, ESCAPE_EXPAND. It is intentional that mandoc(1) output is *not* influenced by environment variables, so interpolate the name of the variable with some decorating punctuation rather than interpolating its value.
Revision 1.11 / (download) - annotate - [select for diffs], Fri May 20 13:09:14 2022 UTC (2 years ago) by schwarze
Branch: MAIN
Changes since 1.10: +6 -5 lines
Diff to previous 1.10 (colored)
Re-classify the roff(7) \r (reverse line feed) escape sequence from "ignore" to "unsupported" because when an input file uses it, mandoc(1) is likely to significantly misformat the output, usually showing parts of the output in a different order than the author intended.
Revision 1.10 / (download) - annotate - [select for diffs], Sun May 1 16:22:07 2022 UTC (2 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)
Split a new function roff_parse_comment() out of roff_expand() because this functionality is not needed when called from roff_getarg(). This makes the long and complicated function roff_expand() significantly shorter, and also simpler in so far as it no longer needs to return ROFF_APPEND. No functional change intended.
Revision 1.9 / (download) - annotate - [select for diffs], Wed Apr 27 13:41:16 2022 UTC (2 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.8: +9 -2 lines
Diff to previous 1.8 (colored)
Fix three bugs regarding the interaction of \z and \h: 1. The combination \z\h is a no-op whatever the argument may be. In the past, the \z only affected the first space character generated by the \h, which was wrong. 2. For the conbination \zX\h with a positive argument, the first space resulting from the \h is not printed but consumed by the \z. 3. For the combination \zX\h with a negative argument, application of the \z needs to be completed before the \h can be started. In the past, if this combination occurred at the beginning of an output line, the \h backed up to the beginning of the line and after that, the \z attempted to back up even further, triggering an assertion. Bugs found during an audit of assignments to termp->col that i started after the bugfix tbl_term.c rev. 1.65. The assertion triggered by bug 3 was *not* yet found by afl(1).
Revision 1.8 / (download) - annotate - [select for diffs], Wed Apr 13 13:19:36 2022 UTC (2 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)
Surprisingly, groff supports multiple copy mode escapes at the beginning of an escape sequence: \, \E, \EE, \EEE, and so on all do the same outside copy mode, so let them do the same in mandoc(1), too. This fixes an assertion failure triggered by \EE*X that tb@ found with afl(1). The first E was consumed by roff_expand(), but that function failed to recognize the escape sequence as the expansion of a user-defined string and handed it over to mandoc_escape(), which consumed the second E and then died on an assertion because it is not prepared to handle user-defined strings. Fix this by letting *both* functions handle arbitrary numbers of 'E's correctly.
Revision 1.7 / (download) - annotate - [select for diffs], Mon Dec 21 15:13:09 2020 UTC (3 years, 5 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)
Rename syntax test of the \O escape sequence (suppress output groff extension; mandoc only implements syntax checking but ignores the sequence) to please Bill Gates and didickman@: avoid path names that only differ by case, like o.in vs. O.in.
Revision 1.6 / (download) - annotate - [select for diffs], Thu Jan 17 06:33:35 2019 UTC (5 years, 5 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_5
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)
Test handling of escaped backslashes because the code related to copy mode is complicated and prone to regressions.
Revision 1.5 / (download) - annotate - [select for diffs], Sun Dec 16 00:17:04 2018 UTC (5 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored)
Yet another round of improvements to manual font selection. Unify handling of \f and .ft. Support \f4 (bold+italic). Support ".ft BI" and ".ft CW" for terminal output. Support the .ft request in HTML output. Reject the bogus fonts \f(C1, \f(C2, \f(C3, and \f(CP. In regress.pl, only strip leading whitespace in math mode.
Revision 1.4 / (download) - annotate - [select for diffs], Sat Dec 15 19:30:29 2018 UTC (5 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.3: +3 -2 lines
Diff to previous 1.3 (colored)
Several improvements to escape sequence handling. * Add the missing special character \_ (underscore). * Partial implementations of \a (leader character) and \E (uninterpreted escape character). * Parse and ignore \r (reverse line feed). * Add a WARNING message about undefined escape sequences. * Add an UNSUPP message about unsupported escape sequences. * Mark \! and \? (transparent throughput) and \O (suppress output) as unsupported. * Treat the various variants of zero-width spaces as one-byte escape sequences rather than as special characters, to avoid defining bogus forms with square brackets. * For special characters with one-byte names, do not define bogus forms with square brackets, except for \[-], which is valid. * In the form with square brackets, undefined special characters do not fall back to printing the name verbatim, not even for one-byte names. * Starting a special character name with a blank is an error. * Undefined escape sequences never abort formatting of the input string, not even in HTML output mode. * Document the newly handled escapes, and a few that were missing. * Regression tests for most of the above.
Revision 1.3 / (download) - annotate - [select for diffs], Wed Jun 14 18:23:38 2017 UTC (7 years ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_4,
VERSION_1_14_3,
VERSION_1_14_2
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)
let \l use the right fill character
Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 14 01:31:28 2017 UTC (7 years ago) by schwarze
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)
implement the roff(7) \p (break output line) escape sequence
Revision 1.1 / (download) - annotate - [select for diffs], Wed Feb 8 03:03:20 2017 UTC (7 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_1,
VERSION_1_13
Finally port the OpenBSD regression suite. Both kristaps@ and wiz@ repeated asked for this, literally for years.