aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/TODO
Commit message (Collapse)AuthorAgeFilesLines
* Two functional improvements to filling in terminal output.Ingo Schwarze2019-01-041-8/+1
| | | | | | | | | | | 1. Fully support no-fill mode in mdoc(7), even when invoked with low-level roff(7) .nf requests. As a side effect, this substantially simplifies the implementation of .Bd -unfilled and .Bd -literal. 2. Let .Bd -centered fill its text, using the new TERMP_CENTER flag. That finally fixes the long-standing bug that it used to operate in no-fill mode, which was known to be wrong for at least five years. This also simplifies the implementation of .Bd -centered considerably.
* Several improvements to escape sequence handling.Ingo Schwarze2018-12-151-11/+1
| | | | | | | | | | | | | | | | | | | | | | | * 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.
* Better handle automatic column width assignments in the presence ofIngo Schwarze2018-11-291-6/+1
| | | | | | | | | | | | | | horizontal spans, by implementing a moderately difficult iterative algoritm. The benefit is that spans containing long text no longer cause an excessive width of their starting column. The result is likely not optimal, in particular in the presence of many spans overlapping in complicated ways nor when spans interact with equalizing or maximizing colums. But i doubt the practical usefulness of making this more complicated. Issue originally reported in synaptics(4), which now looks better, by tedu@ three years ago, and reminded by Pali Rohar this summer.
* In -T utf8 output mode, render tbl(7) borders with the UnicodeIngo Schwarze2018-11-281-10/+1
| | | | | | | | | | | | | box drawing characters, U+2500 to U+257F. Originally suggested by bentley@ four years ago, reminded this summer by Pali Rohar. Binary and decimal arithmetics are boring, so let's use some ternary arithmetics for a change. That said, some other aspects are too complicated for my liking, so this could use some polishing in the future.
* Let cells containing nothing but \^ extend the cell above.Ingo Schwarze2018-11-251-5/+1
| | | | Missing feature reported by Pali dot Rohar at gmail dot com.
* In tbl(7) -T html output,Ingo Schwarze2018-11-251-5/+5
| | | | | | | | | | span cells horizontally and vertically as requested by the layout. Does not handle spans requested in the data section yet. To be able to do this, record the number of rows spanned in the first data cell (struct tbl_dat) of a vertical span. Missing feature reported by Pali dot Rohar at gmail dot com.
* HTML formatting of .IPIngo Schwarze2018-11-251-1/+7
|
* Implement horizontal and vertical alignment of tbl(7) cell contentIngo Schwarze2018-11-241-5/+1
| | | | | in -T html output. This does not handle spanned cells yet. Missing feature reported by Pali dot Rohar at gmail dot com.
* in -man -Thtml, vertical spacing is required before .IPIngo Schwarze2018-10-251-1/+7
|
* Add an option -T html -O toc to add a brief table of contents nearIngo Schwarze2018-10-021-6/+1
| | | | | the top of HTML pages containing at least two non-standard sections. Suggested by Adam Kalisz and discussed with kristaps@ during EuroBSDCon 2018.
* Support a second argument to -O man,Ingo Schwarze2018-10-021-7/+1
| | | | | | selecting the format according to local existence of the file. Suggested by kristaps@ during EuroBSDCon 2018. Written on the train Frankfurt-Karlsruhe returning from EuroBSDCon.
* Render the eqn(7) "sqrt" function as U+221A in UTF-8 output.Ingo Schwarze2018-10-021-5/+2
| | | | | | 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.
* feature suggestions from EuroBSDCon 2018Ingo Schwarze2018-09-231-1/+15
|
* Rudimentary implementation of the roff(7) .while request.Ingo Schwarze2018-08-241-5/+1
| | | | | | | | | | | 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-231-2/+2
| | | | | | | | | | | | | | 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().
* Mostly complete implementation of the 'c' (character available)Ingo Schwarze2018-08-191-7/+1
| | | | | | | | | | | roff conditional, except that the .char request still isn't supported and that behaviour differs from groff in many edge cases. But at least valid character names and numbers are now distinguished from invalid ones. This also fixes the bug that parsing of the 'c' conditional was incomplete, which resulted in leaking the tested character to the input parser at the beginning of the body when the condition was inverted.
* implement the GNU man-ext .SY/.YS (synopsis block) macro in man(7),Ingo Schwarze2018-08-181-4/+1
| | | | used in most manual pages of the groff package
* implement the GNU man-ext .TQ macro in man(7),Ingo Schwarze2018-08-161-4/+1
| | | | used for example by groff_diff(7)
* Implement the \*(.T predefined string (interpolate device name)Ingo Schwarze2018-08-161-8/+1
| | | | | 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-141-4/+1
| | | | used for example in the ditroff(7) manual of the groff package
* error message for invalid -S argumentIngo Schwarze2018-08-101-1/+10
|
* handle the non-portable GNU-style \[charNN], \[charNNN] characterIngo Schwarze2018-08-101-4/+5
| | | | escape sequences, used for example in the groff_char(7) manual page
* The groff man-ext macros define fonts CB, CI, and CR,Ingo Schwarze2018-08-101-4/+1
| | | | | and some groff manual pages actually use them in .ft requests. It's easy enough to handle these .ft requests in mandoc, too.
* Implement the roff(7) .nop (no operation) request.Ingo Schwarze2018-08-101-4/+1
| | | | | Examples of manual pages (ab)using it include groff(7), chem(1), groff_mom(7), and groff_hdtbl(7).
* scanned to groff manual pages for todo items;Ingo Schwarze2018-08-061-1/+29
| | | | | the sheer number of issues is amazing, but they all look feasible
* makewhatis -p complains about language subdirectoriesIngo Schwarze2018-07-311-1/+5
|
* remove two entries that were doneIngo Schwarze2018-07-281-11/+3
|
* new todos, mostly from Pali Rohar, mostly tbl(7)Ingo Schwarze2018-07-161-1/+19
|
* Do not write duplicate id= attributes, they violate HTML syntax.Ingo Schwarze2018-05-251-7/+4
| | | | | Append suffixes for disambiguation. Issue first reported by Jakub Klinkovsky <j dot l dot k at gmx dot com> (Arch Linux).
* Eliminate the class=It-* attributes.Ingo Schwarze2018-05-081-7/+1
| | | | | Cleaner HTML, more idiomatic CSS, and minus 30 lines of C code. Suggested by John Gardner <gardnerjohng at gmail dot com>.
* multiple new entries from various sourcesIngo Schwarze2018-04-241-1/+42
|
* dedup issuesIngo Schwarze2018-04-201-2/+7
|
* Two new low-level roff(7) features:Ingo Schwarze2018-04-101-9/+1
| | | | | | * .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.
* Using an undefined string or macro will cause it to be defined as empty.Ingo Schwarze2018-04-091-5/+1
| | | | | Observed by Werner Lemberg on Nov 14, 2011 and rotting on my TODO list ever since.
* duplicate anchorsIngo Schwarze2017-10-281-1/+5
|
* format ".IP *" etc. as <ul> rather than <dl>Ingo Schwarze2017-09-021-1/+5
|
* two more entries from the mdoclint TODO, clerified by wiz@Ingo Schwarze2017-07-241-2/+11
|
* migrate the mdoclint(1) TODO list here, from pkgsrcIngo Schwarze2017-07-221-1/+14
|
* MAP_PRIVATE is pointless without PROT_WRITEIngo Schwarze2017-07-201-6/+1
|
* For -Tlint, put parser messages on stdout instead of stderr.Ingo Schwarze2017-07-201-10/+1
| | | | | | | | | | | Originally, naddy@ requested this in 2011 (or maybe even earlier). It was discussed with joerg@, kristaps@, naddy@, and espie@ in 2011, and everybody agreed in principle, but it was postponed because kristaps@ wanted to do some cleanup of the message system first. Meanwhile, message infrastructure was improved about a dozen times... This makes long, tedious commands like "mandoc -Tlint *.1 2>&1 | less" unnecessary and allows simple ones like "man -l -Tlint *.1".
* correctly handle letters in .Nx arguments; improves for exampleIngo Schwarze2017-07-201-6/+1
| | | | getpgid(2), ac(8), ldconfig(8), mount_ffs(8), sa(8), ttyflags(8), ...
* three ideas found in a different TODO fileIngo Schwarze2017-07-201-1/+9
|
* delete some entries that have been taken care ofIngo Schwarze2017-07-191-48/+1
|
* eqn(7) nits from bentley@Ingo Schwarze2017-07-141-1/+10
|
* eqn(1) output operator translationIngo Schwarze2017-06-231-1/+8
|
* Introduce a new mandoc(1) message level, -W style, below -W warning.Ingo Schwarze2017-05-161-15/+1
| | | | | | | | | | | | | Switch -W all from meaning -W warning to meaning -W style. The meaning of -T lint does *not* change, it still implies -W warning. No messages on the new level yet, but they will come. Usually, i do not lightly make the user interface larger. But this has been planned for years, and EXIT STATUS 1 was reserved for it all the time. The message system is now stable enough to finally implement it. jmc@ regarding the concept: "really good idea"
* ASCII characters that are special to roffIngo Schwarze2017-04-271-1/+8
|
* new -mdoc -Tmarkdown output mode; OK millert@ reyk@ tb@;Ingo Schwarze2017-03-031-7/+1
| | | | thanks to reyk@ and to Vsevolod at FreeBSD for suggesting it
* double quotes were fixed, finallyIngo Schwarze2017-02-181-5/+2
|
* reference a relevant mail for one TODO itemIngo Schwarze2017-02-081-2/+2
|