summaryrefslogtreecommitdiffstats
path: root/regress
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* improve rounding rules for scaling unitsIngo Schwarze2017-06-1416-26/+34
| | | | in horizontal orientation in the terminal formatter
* implement the roff(7) d (macro or string defined) conditionalIngo Schwarze2017-06-143-1/+50
|
* implement the roff(7) \p (break output line) escape sequenceIngo Schwarze2017-06-143-1/+35
|
* Partial support for the \n[an-margin] number register.Ingo Schwarze2017-06-133-1/+42
| | | | | | | | | | | | | | | Manuals autogenerated from reStructuredText are reckless enough to peek at this non-portable, implementation-dependent, highly groff-specific internal register - for no good reason, because the man(7) language natively provides in a much simpler way what they are trying to emulate here with much fragility. A full implementation would be very hard because it would require access to output-device-specific formatting data at the roff(7) preprocessor stage, which mandoc doesn't support at all. So hardcode a few magic numbers as reStructuredText expects them for terminal output. For other output modes (like HTML), code using this register is utterly broken anyway.
* fix the interaction of the allbox option with spanned cells in the layoutIngo Schwarze2017-06-132-0/+18
|
* test the new allbox and wrapping featuresIngo Schwarze2017-06-125-1/+95
|
* 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-1159-0/+59
| | | | | and operating system dependent messages about missing or unexpected Mdocdate; inspired by mdoclint(1).
* Style message about legacy man(7) date format in mdoc(7) documentsIngo Schwarze2017-06-1195-0/+96
| | | | | and operating system dependent messages about missing or unexpected Mdocdate; inspired by mdoclint(1).
* Do not issue the message "no blank before trailing delimiter" for .No.Ingo Schwarze2017-06-111-1/+0
| | | | | | | In practice, that message only matters inside .Bf, and even there, it can occasionally be a false positive. In all other cases, it usually is a false positive, so it is better to drop it outright. Suggested by jmc@.
* add forgotten fileIngo Schwarze2017-06-111-0/+0
|
* fix order of messagesIngo Schwarze2017-06-111-1/+1
|
* style message about missing blank before trailing delimiter;Ingo Schwarze2017-06-10151-200/+402
| | | | inspired by mdoclint(1), and jmc@ considers it useful
* Implement w layout specifier (minimum column width).Ingo Schwarze2017-06-083-1/+31
| | | | | Improve width calculation of text blocks. Reduces the groff/mandoc diff in Base+Xenocara by about 800 lines.
* warning about unknown .Lb arguments; inspired by mdoclint(1)Ingo Schwarze2017-06-081-0/+2
|
* ignore blank lines in man(7) next line scope;Ingo Schwarze2017-06-0316-2/+55
| | | | strange groff edge case behaviour found in multimedia/mjpegtools
* 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
* Minimal implementation of the \h (horizontal motion) escape sequence.Ingo Schwarze2017-06-011-2/+2
| | | | Good enough to cope with the average DocBook insanity.
* STYLE message about useless macros we don't want (Bt Tn Ud);Ingo Schwarze2017-05-303-2/+9
| | | | not a WARNING because they don't endanger portability
* fix formatting of intermediate punctuation in .LkIngo Schwarze2017-05-301-1/+1
|
* Macro argument quoting does not prevent recognition of punctuationIngo Schwarze2017-05-30115-134/+592
| | | | | | | | | | | and of called macros. This bug affects almost all macros, and fixing it simplifies the code. It is amazing that the bogus ARGS_QWORD feature got implemented in the first place, and then carrier along for more than eight years without anybody ever noticing that it was pointless. Reported by Leah Neukirchen <leah at vuxu dot org>, found on Void Linux.
* Basic implementation of the roff(7) .ti (temporary indent) request.Ingo Schwarze2017-05-086-1/+83
| | | | Needed by about four dozen ports (thanks to naddy@ for the research).
* Basic implementation of the roff(7) .ta (define tab stops) request.Ingo Schwarze2017-05-076-1/+106
| | | | | | This is the first feature made possible by the parser reorganization. Improves the formatting of the SYNOPSIS in many Xenocara GL manuals. Also important for ports, as reported by many, including naddy@.
* Move .sp to the roff modules. Enough infrastructure is in placeIngo Schwarze2017-05-053-1/+6
| | | | now that this actually saves code: -70 LOC.
* Move handling of the roff(7) .ft request from the man(7)Ingo Schwarze2017-05-054-2/+33
| | | | | modules to the new roff(7) modules. As a side effect, mdoc(7) now handles .ft, too. Of course, do not use that.
* Parser reorg:Ingo Schwarze2017-05-0413-26/+26
| | | | | Generate the first node on the roff level: .br Fix some column numbers in diagnostic messages while here.
* When trying to expand some columns in a table where the sum of theIngo Schwarze2017-05-013-1/+39
| | | | | | | widths of the remaining columns is already wider than the line length, underflowing size_t and dying from ENOMEM is the wrong plan. Instead, simply refrain from expanding anything in such a situation, avoiding a crash that tb@ found with afl.
* Delete .Pp right before the first .Sh and right before any .Ss,Ingo Schwarze2017-04-2810-4/+114
| | | | and warn about it; mdoclint(1) does so, and it makes sense.
* adjust tests to recent .Lk improvementsIngo Schwarze2017-04-176-8/+20
|
* test infinite recursion in eqn(7) "define" statementsIngo Schwarze2017-03-114-2/+51
|
* In markdown, autolinks are dangerous. Different compilers disagreeIngo Schwarze2017-03-114-8/+8
| | | | | | | | | | | with respect to what constitutes a valid autolink, and if a compiler deems an autolink invalid, the input turns into an unintended and potentially harmful raw HTML tag. So, never write autolinks. Instead of <link>, write [link](link). Instead of <addr>, write [addr](mailto:addr). Issue pointed out by bentley@, who also agrees with the general direction of the change.
* Really commit some files that failed to get committed in this commit:Ingo Schwarze2017-03-0925-24/+7
| | | | | | | Now that markdown output is tested for almost everything, test all 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.
* Now that markdown output is tested for almost everything, test allIngo Schwarze2017-03-0846-55/+46
| | | | | | 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.
* According to the CommonMark specification, backslash escapesIngo Schwarze2017-03-085-5/+5
| | | | and markdown markup do not work inside code spans.
* .Bl -column never gets blank lines between rowsIngo Schwarze2017-03-083-1/+94
|
* add two result files that were forgottenIngo Schwarze2017-03-082-0/+63
|
* enable -T markdown tests of filled displays and tagged listsIngo Schwarze2017-03-0833-6/+1211
|
* prevent infinite recursion while expanding the argumentsIngo Schwarze2017-03-083-1/+8
| | | | of a user-defined macro; issue found by tb@ with afl(1)
* If a user-defined macro is aborted because it exceeds the stackIngo Schwarze2017-03-074-2/+31
| | | | | | | | | | | | | | | | | | | limit, usually due to infinite recursion, discard whatever remains in all those open stack levels. Otherwise, insane constructions like the following could generate macros of enormous size, causing mandoc(1) to die from memory exhaustion: .de m \" original macro definition .m \" recursion to blow up the stack .de m \" definition to be run during the call of .m marked (*) very long plain text (some kilobytes) .m \" expand the above a thousand times while unwinding the stack .. \" end of the original definition .m \" (*) recursively generate a ridiculously large macro .. \" end of recursively generated definition .m \" execute the giant macro, exhausting memory Very creative abuse found by tb@ with afl(1).
* Escape blanks at the end of markdown linesIngo Schwarze2017-03-071-1/+1
| | | | such that they don't look like output line breaks.
* fix completely empty .Eo: no blank line wantedIngo Schwarze2017-03-072-1/+36
|
* fix spacing after empty .FlIngo Schwarze2017-03-072-2/+2
|
* implement .An -split and -nosplitIngo Schwarze2017-03-074-1/+65
|
* Fix .In formatting in the SYNOPSIS:Ingo Schwarze2017-03-075-2/+79
| | | | No &zwnj; in the middle of **, please.