summaryrefslogtreecommitdiffstats
path: root/regress/char
Commit message (Collapse)AuthorAgeFilesLines
* Vertical spacing changes around tables in man_term.c rev. 1.241Ingo Schwarze2022-08-282-8/+0
| | | | | and tbl_term.c rev. 1.79 cause quite a bit of churn, unfortunately. This commit cleans up most of it.
* New tests of tabs in fill mode, in particularIngo Schwarze2022-08-163-2/+140
| | | | when multiple input or output lines are involved.
* In groff commit 78e66624 on May 7 20:15:33 2021 +1000,Ingo Schwarze2022-06-261-1/+1
| | | | | | G. Branden Robinson changed the -T ascii rendering of \(sd, the "second" symbol, U+2033 DOUBLE PRIME, from '' to ". Follow suit in mandoc.
* Surprisingly, every escape sequence can also be used as an argumentIngo Schwarze2022-06-0810-4/+281
| | | | | | | 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.
* Split the excessively generic diagnostic message "invalid escape sequence"Ingo Schwarze2022-06-071-1/+1
| | | | | into the more specific messages "invalid escape argument delimiter" and "invalid escape sequence argument".
* With the improved escape sequence parser, it becomes easy to also improveIngo Schwarze2022-06-054-26/+26
| | | | | | | | | diagnostics. Distinguish "incomplete escape sequence", "invalid special character", and "unknown special character" from the generic "invalid escape sequence", also promoting them from WARNING to ERROR because incomplete escape sequences are severe syntax violations and because encountering an invalid or unknown special character makes it likely that part of the document content intended by the authors gets lost.
* following the fixed parsing direction of roff_expand() in roff.c rev. 1.388,Ingo Schwarze2022-05-191-5/+5
| | | | some diagnostics now appear in a more reasonable order, too
* delete the two pairs of extra blank lines from expected man(7) terminalIngo Schwarze2021-06-2829-116/+0
| | | | output that are no longer printed since man_term.c rev. 1.236
* test private use areas some more as they have proven fragileIngo Schwarze2021-06-028-38/+74
|
* Cleanup:Ingo Schwarze2021-06-024-53/+57
| | | | | | | | | | 1. Move invalid two-byte sequences after valid ones and make their descriptions easier to understand. 2. Replace the wrong and confusing expression "middle byte" with the correct term "start byte". 3. Add test lines for U+EFFFF and U+F0000. 4. Replace the unhelpful word "strange" with more descriptive terms. Arguably, nothing about this (or maybe everything?) is strange.
* The wcwidth(3) of Plane 15 and Plane 16 Private Use CharactersIngo Schwarze2021-06-022-4/+4
| | | | | was changed from 0 to 1. Adjust the test results accordingly. Issue reported by bluhm@
* Fix this test after the recent Unicode update in OpenBSD base.Ingo Schwarze2020-02-271-1/+1
| | | | | | | | | | The test uses U+07FF NKO TAMAN SIGN because it is the highest code point having a two-byte UTF-8 representation. This character is a new single-width punctuation character in Unicode 11, such that mandoc now does correct horizontal spacing. We already used the code point for the test before it was assigned, which resulted in weird spacing because wcwidth(3) returns -1 for unassigned code points.
* adapt to new <p> output logic (html.c rev. 1.260)Ingo Schwarze2019-09-038-16/+0
|
* Represent mdoc(7) .Pp (and .sp, and some SYNOPSIS and .Rs features)Ingo Schwarze2019-01-071-7/+7
| | | | | | | | | | | | | | | | | | | by the <p> HTML element and use the html_fillmode() mechanism for .Bd -unfilled, just like it was done for man(7) earlier, finally getting rid both of the horrible <div class="Pp"></div> hack and of the worst HTML syntax violations caused by nested displays. Care is needed because in some situations, paragraphs have to remain open across several subsequent macros, whereas in other situations, they must get closed together with a block containing them. Some implementation details include: * Always close paragraphs before emitting HTML flow content. * Let html_close_paragraph() also close <pre> for extra safety. * Drop the old, now unused function print_paragraph(). * Minor adjustments in the top-level man(7) node formatter for symmetry. * Bugfix: .Ss heads suspend no-fill mode, even though .Ss doesn't end it. * Bugfix: give up on .Op semantic markup for now, see the comment.
* Bugfix:Ingo Schwarze2018-12-203-3/+8
| | | | | | | When after a \\, \t, or \a, another \t or \a had to be resolved in copy mode within the same argument, the argument got corrupted. Found while working on a loosely related bug report from Fabio Scotoni <fabio at esse dot ch>.
* Several improvements to escape sequence handling.Ingo Schwarze2018-12-1512-20/+85
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* Improve the ASCII rendering of \(Po (Pound Sterling)Ingo Schwarze2018-08-2116-90/+86
| | | | | and of the playing card suits to match groff, using feedback from Ralph Corderoy <ralph at inputplus dot co dot uk>.
* Fix some issues found looking at groff_char(7):Ingo Schwarze2018-08-218-12/+12
| | | | | | * Add two missing characters, \('Y and \('y. * The Weierstrass p is not capital, see http://unicode.org/notes/tn27/. * Add a groff-compatible ASCII transliteration for U+02DC: "~".
* Improve ASCII rendering of a few rare character escape sequencesIngo Schwarze2017-08-231-5/+5
| | | | | that can be changed unilaterally because groff fails to render them at all.
* catch up with ASCII renderings in chars.c rev. 1.72Ingo Schwarze2017-08-2316-99/+99
|
* print HTML character references as 4+ digits hexadecimal, like Unicode;Ingo Schwarze2017-07-146-322/+322
| | | | from bentley@, tweaked by me
* Now that we have the -Wstyle message level, downgrade six warningsIngo Schwarze2017-07-061-3/+3
| | | | | | that are not syntax mistakes and that do not cause wrong formatting or content to style suggestions. Also upgrade two warnings that may cause information loss to errors.
* Messages of the -Wbase level now print STYLE:. Since thisIngo Schwarze2017-07-0451-221/+236
| | | | | | | | causes horrible churn anyway, profit of the opportunity to stop excessive testing, such that this is hopefully the last instance of such churn. Consistently use OpenBSD RCS tags, blank .Os, blank fourth .TH argument, and Mdocdate like everywhere else. Use -Ios=OpenBSD for platform-independent predictable output.
* cope with changes in BASE messagesIngo Schwarze2017-06-257-11/+15
|
* style message about missing RCS ids; inspired by mdoclintIngo Schwarze2017-06-177-0/+7
|
* add the \(ru (0.5m baseline ruler) character escape sequence,Ingo Schwarze2017-06-144-4/+4
| | | | abused by mail/nmh; groff_char(7) confirms that this really exists
* Implement automatic line breakingIngo Schwarze2017-06-121-1/+1
| | | | | inside individual table cells that contain text blocks. This cures overlong lines in various Xenocara manuals.
* Style message about legacy man(7) date format in mdoc(7) documentsIngo Schwarze2017-06-114-0/+4
| | | | | and operating system dependent messages about missing or unexpected Mdocdate; inspired by mdoclint(1).
* add about 15 missing character escape sequences found in groff_char(7);Ingo Schwarze2017-06-0212-24/+64
| | | | triggered by multimedia/mkvtoolnix mkvmerge(1) using \(S2
* Now that markdown output is tested for almost everything, test allIngo Schwarze2017-03-081-0/+1
| | | | | | input files in -T markdown output mode by default and only mark those files with SKIP_MARKDOWN that are not to be tested. Much easier to read, and almost minus 40 lines of Makefile code.
* Disable three UTF-8 tests that expose bugs in wcwidth(3) in theIngo Schwarze2017-02-111-1/+1
| | | | | | | | | | | | native C libraries of illumos, Oracle Solaris 11, and SunOS 5.10. While it is useful to catch wcwidth(3) regressions on OpenBSD, the purpose of the *portable* mandoc regression suite is not to check the C library of the host system; that would just hide genuine mandoc portability issues in the noise. The remaining UTF-8 tests are still sufficient to establish that mandoc does the right thing. Issues reported by Sevan Janiyan <venture37 at geeklan dot co dot uk> after testing on OmniOS.
* remove some instances of MdocdateIngo Schwarze2017-02-081-1/+1
|
* disable some tests that expose wcwidth(3) differences among systemsIngo Schwarze2017-02-081-1/+4
|
* Finally port the OpenBSD regression suite.Ingo Schwarze2017-02-0895-0/+3249
Both kristaps@ and wiz@ repeated asked for this, literally for years.