- <p>Several of the less apparent features deal with translation of
- terminfo to termcap (and the reverse), with corresponding checks
- by <span class="part-name">tic</span>:</p>
-
- <ul>
- <li>
- <p>modify check in <code>fmt_entry</code> to handle a
- cancelled reset string. Make similar fixes in other parts of
- <code>dump_entry.c</code> and <code>tput.c</code></p>
- </li>
-
- <li>
- <p>correct read of terminfo entry in which all strings are
- absent or explicitly cancelled. Before this fix, the result
- was that all were treated as only absent.</p>
- </li>
-
- <li>
- <p>modify <span class="part-name">infocmp</span> to suppress
- mixture of absent/cancelled capabilities that would only show
- as “<code>NULL, NULL</code>”, unless the
- “<code>-q</code>” option is used, e.g., to show
- “<code>-, @</code>” or “<code>@,
- -</code>”.</p>
- </li>
-
- <li>
- <p>correct a warning from <span class="part-name">tic</span>
- about keys which are the same, to skip over missing/cancelled
- values.</p>
- </li>
-
- <li>
- <p>add check in <span class="part-name">tic</span> for use of
- bold, etc., video attributes in the color capabilities,
- accounting whether the feature is listed in
- <code>ncv</code>.</p>
- </li>
-
- <li>
- <p>add check in <span class="part-name">tic</span> for
- unnecessary use of “<code>2</code>” to denote a
- shifted special key.</p>
- </li>
-
- <li>
- <p>improve check in <span class="part-name">tic</span> for
- delays by also warning about beep/flash when a delay is not
- embedded, or if those use the VT100 reverse video escape
- without using a delay.</p>
- </li>
-
- <li>
- <p>improve checks in <code>trim_sgr0</code>, comp_parse.c and
- parse_entry.c, for cancelled string capabilities.</p>
- </li>
-
- <li>
- <p>add check in <span class="part-name">tic</span> for some
- syntax errors of delays, as well as use of proportional
- delays for non-line capabilities.</p>
- </li>
-
- <li>
- <p>add check in <span class="part-name">tic</span> for
- conflict between <code>ritm</code>, <code>rmso</code>,
- <code>rmul</code> versus <code>sgr0</code>.</p>
- </li>
-
- <li>
- <p>add check in <code>_nc_parse_entry</code> for invalid
- entry name, setting the name to
- “<code>invalid</code>” to avoid problems storing
- entries.</p>
- </li>
-
- <li>
- <p>improve <code>_nc_tparm_analyze</code>, using that to
- extend the checks made by <span class="part-name">tic</span>
- for reporting inconsistencies between the expected number of
- parameters for a capability and the actual.</p>
- </li>
-
- <li>
- <p>remove <span class="part-name">tic</span> warning about
- “<code>^?</code>” in string capabilities, which
- was marked as an extension; however all Unix implementations
- support this and X/Open Curses does not address it. On the
- other hand, <a href=
- "https://invisible-island.net/ncurses/tctest.html#bsd42-ctl-question">
- BSD termcap</a> did not support this feature (until the
- <a href=
- "https://invisible-island.net/ncurses/tctest.html#freebsd-ctl-question">
- mid-1990s</a>).</p>
-
- <p>in <code>_nc_infotocap</code>, added a check to ensure
- that terminfo “<code>^?</code>” is not written to
- termcap.</p>
- </li>
-
- <li>
- <p>modify <code>sscanf</code> calls in
- <code>_nc_infotocap</code> for patterns
- “<code>%{number}%+%c</code>” and
- “<code>%'char'%+%c</code>” to check that the
- final character is really “<code>c</code>”,
- avoiding a case in icl6404 which cannot be converted to
- termcap.</p>
- </li>