aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/regress
Commit message (Collapse)AuthorAgeFilesLines
* Render the eqn(7) "sqrt" function as U+221A in UTF-8 output.Ingo Schwarze2018-10-022-4/+4
| | | | | | This also agrees with what groff does. Suggested by an attendee of EuroBSDCon 2018 in Bucuresti. Written on the plane Bucuresti-Frankfurt returning from EuroBSDCon.
* Rudimentary implementation of the roff(7) .char (output glyphIngo Schwarze2018-08-257-2/+61
| | | | | | | | | definition) request, used for example by groff_hdtbl(7). This simplistic implementation may interact incorrectly with the .tr (input character translation) request. But come on, you are not only using .char *and* .tr, but you do so with respect to the same character in the same manual page?
* If man(7) next-line scope is open and the line ends with \c,Ingo Schwarze2018-08-252-3/+29
| | | | the scope remains open. Needed for example for groff_man(7).
* Rudimentary implementation of the roff(7) .while request.Ingo Schwarze2018-08-2416-2/+182
| | | | | | | | | | | Needed for example by groff_hdtbl(7). There are two limitations: It does not support nested .while requests yet, and each .while loop must start and end in the same scope. The roff_parseln() return codes are now more flexible and allow OR'ing options.
* Implement the roff(7) .shift and .return requests,Ingo Schwarze2018-08-2314-9/+185
| | | | | | | | | | | | | | for example used by groff_hdtbl(7) and groff_mom(7). Also correctly interpolate arguments during nested macro execution even after .shift and .return, implemented using a stack of argument arrays. Note that only read.c, but not roff.c can detect the end of a macro execution, and the existence of .shift implies that arguments cannot be interpolated up front, so unfortunately, this includes a partial revert of roff.c rev. 1.337, moving argument interpolation back into the function roff_res().
* 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: "~".
* Disable one test for now that is broken after the addition of \).Ingo Schwarze2018-08-192-4/+3
| | | | | | | | It is not broken because of \), which is correctly implemented, but the addition merely reveals a hidden bug elsewhere, almost certainly in \\ handling. Given that \\ is among the most mysterious escape sequences and using it is very strongly discouraged in manual pages, fixing that is not urgent - and may be hard.
* Implement the \*(.T predefined string (interpolate device name)Ingo Schwarze2018-08-166-1/+90
| | | | | by allowing the preprocessor to pass it through to the formatters. Used for example by the groff_char(7) manual page.
* support tail arguments on the .ME and .UE macros,Ingo Schwarze2018-08-146-16/+33
| | | | used for example in the ditroff(7) manual of the groff package
* Two new low-level roff(7) features:Ingo Schwarze2018-04-103-1/+50
| | | | | | * .nr optional third argument (auto-increment step size) * \n+ and \n- numerical register auto-increment and -decrement bentley@ reported on Dec 9, 2013 that lang/sbcl(1) uses these.
* When accessing an undefined number register, define it to be zero, likeIngo Schwarze2018-04-093-1/+46
| | | | | | the previous commit for strings and macros, only technically simpler. Desired behaviour also mentioned by Werner Lemberg in 2011. This diff adds functionality but is -21 +19 LOC. :-)
* Using an undefined string or macro will cause it to be defined as empty.Ingo Schwarze2018-04-094-2/+110
| | | | | Observed by Werner Lemberg on Nov 14, 2011 and rotting on my TODO list ever since.
* fix wrong dateIngo Schwarze2018-02-072-2/+2
|
* Delete the "no blank before trailing delimiter" check from theIngo Schwarze2018-02-069-16/+1
| | | | | partial explicit macros. Leah Neukirchen <leah at vuxu dot org> rightfully points out that the check makes no sense for these macros.
* Remove the implicit display feature of .Lk because it was inconsistentIngo Schwarze2018-01-131-3/+2
| | | | | | | | | across output devices, counter-intuitive, and resulted in ugly output for many real-world manual pages. Always format even long links in-line. I already committed a similar change to groff. OK jmc@, bentley@, and the original author of the feature, Werner Lemberg <wl@gnu.org>.
* eliminate white space after opening and before closing punctuationIngo Schwarze2017-08-233-4/+4
|
* Suppress spacing before certain kinds of lists.Ingo Schwarze2017-08-231-1/+1
| | | | | | | One benefit is a reduced probablity that a blank appears between a function name and the opening parenthesis introducing the arguments. The heuristics isn't perfect and may occasionally suppress a blank that wouldn't do harm.
* Improve ASCII rendering of a few rare character escape sequencesIngo Schwarze2017-08-232-6/+6
| | | | | 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-2321-113/+118
|
* disable .Xr -Tlint test for now,Ingo Schwarze2017-07-281-0/+3
| | | | it causes too much trouble on non-OpenBSD systems
* Do not test .Xr here. It is not what this directory should focus on,Ingo Schwarze2017-07-286-30/+22
| | | | and it is causing too much trouble in -portable.
* Avoid cross reference to mandoc(1) because it may cause a messageIngo Schwarze2017-07-206-14/+14
| | | | | on other operating systems where mandoc is not installed, causing the test to fail in the portable test suite.
* Run the regression tests iteratively rather than recursively.Ingo Schwarze2017-07-182-235/+239
| | | | | | | Simpler user interface, better summary output, simpler code, and slightly faster. Inspired by espie@'s request to avoid needless recursive make(1) in the OpenBSD regression testing tree.
* test -diag -width and -inset -widthIngo Schwarze2017-07-169-14/+22
|
* print the right character for mathematical overbar; from bentley@Ingo Schwarze2017-07-154-4/+4
|
* print HTML character references as 4+ digits hexadecimal, like Unicode;Ingo Schwarze2017-07-1411-331/+331
| | | | from bentley@, tweaked by me
* add parentheses to the output where required for disambiguationIngo Schwarze2017-07-079-10/+10
|
* Now that we have the -Wstyle message level, downgrade six warningsIngo Schwarze2017-07-0617-68/+68
| | | | | | 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.
* Fix operator precedence according to Brian W. Kernighan and LorindaIngo Schwarze2017-07-0620-29/+82
| | | | | L. Cherry, "Typesetting Mathematics - User's Guide (Second Edition)", August 15, 1978, paragraph 23; swarm of bugs pointed out by bentley@.
* Fix handling of \} on roff request lines.Ingo Schwarze2017-07-042-3/+12
| | | | Cures bogus error messages in pages generated with pod2man(1).
* It turns out association of tbl spans with layout rows is simpler thanIngo Schwarze2017-07-044-3/+48
| | | | i thought. Fixing a bug in curs_addch(3) and minus 25 lines of code.
* Messages of the -Wbase level now print STYLE:. Since thisIngo Schwarze2017-07-041244-2725/+2682
| | | | | | | | 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.
* warn about some non-portable idioms in .Bl -column;Ingo Schwarze2017-06-297-8/+74
| | | | triggered by a question from Yuri Pankov (illumos)
* test inter-column spacingIngo Schwarze2017-06-273-1/+33
|
* warn about .Ns macros that have no effect because they are followedIngo Schwarze2017-06-274-4/+21
| | | | by an isolated closing delimiter; inspired by mdoclint
* catch up with the recent eqn(7) improvementsIngo Schwarze2017-06-2642-37/+229
|
* test new MT macroIngo Schwarze2017-06-258-1/+100
|
* cope with changes in BASE messagesIngo Schwarze2017-06-25215-370/+531
|
* Implement appending to standard man(7) and mdoc(7) macros with .am.Ingo Schwarze2017-06-1812-6/+100
| | | | | | | | | | | | | | | | | | 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[].
* style message about missing RCS ids; inspired by mdoclintIngo Schwarze2017-06-17236-25/+239
|
* if .in is used inside the .TP head, it's always relativeIngo Schwarze2017-06-173-1/+35
|
* tables leak tab settings to subsequent textIngo Schwarze2017-06-1711-0/+41
|
* correct handling of blank lines after \cIngo Schwarze2017-06-174-0/+25
|
* Multiple tbl(7) improvements:Ingo Schwarze2017-06-165-3/+12052
| | | | | | | | | | | | * Do not discard data that lacks a matching layout cell but remains within the number of columns of the table as a whole. * Do not insert dummy data rows for any layout row starting with a horizontal line, but only for layout rows that would discard all the data on a matching non-empty data row. * Print horizontal lines specified in the layout even if there is no matching data cell. * Improve the logic for extending vertical lines to adjacent rows, for choosing cross marks versus line segments, and some related details.
* round default width of tbl(7) text blocks in the same way as groffIngo Schwarze2017-06-153-1/+166
|
* implement so-called absolute horizontal motion: \h'|...',Ingo Schwarze2017-06-143-1/+4
| | | | used for example by zoem(1)
* Naive implementation of the roff(7) .po (page offset) request.Ingo Schwarze2017-06-144-1/+43
| | | | | | This clearly works when .po is called on the top level, but might not be sophisticated enough if people call .po inside indentation-changing contexts, but i haven't seen that in manual pages (yet :).
* 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
* let \l use the right fill characterIngo Schwarze2017-06-144-2/+42
|