Skip to content

Commit f01c792

Browse files
committed
infocmp -C: update module doc to reflect the ~82% reconstruction
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CbiPgWC3PHKmrTNvZzXcWQ
1 parent 0ae0e2e commit f01c792

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

crates/ncurses-tools/src/bin/infocmp.rs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,15 @@
1010
//! string caps -- including cancelled `name@` extensions -- each merged sorted into its kind's
1111
//! section. `-A dir` overrides the terminfo search directory.
1212
//!
13-
//! `-C` emits *termcap* source (the `_nc_infotocap` translation): this is **work in progress and not
14-
//! yet byte-exact** -- the foundation (emitted-code set, termcap escaping, parameter reverse-map,
15-
//! padding, code remaps, insert-mode synthesis) is in place, but the legacy line-wrap rule and a few
16-
//! conditional-drop/synthesis quirks remain (see the gap ledger, BLD-03).
13+
//! `-C` emits *termcap* source (the `_nc_infotocap` translation), reconstructed clean-room from the
14+
//! `infocmp -C` oracle's behavior -- ~82% byte-exact across the database. Implemented: the emitted
15+
//! code set and remaps, termcap escaping (octal/caret islong, high bytes, `\s`, `\^`/`\136`, `\072`,
16+
//! `\177`), padding/decimal delays, the parameter translation (`%d`/`%2`/`%3`/`%i`/`%r`/`%c`,
17+
//! `%+`const, `%{K}%+%c`, the `%>` skip pattern, repeated params), the `..` obsolete marker, line
18+
//! wrapping, insert-mode synthesis, `xmc`->`sg`/`ug`, the `NL` boolean, `rs` multi-part drop, the
19+
//! `_nc_trim_sgr0` reset (`me`), the smacs/rmacs "removed for consistency" rule, and the 1023-byte
20+
//! entry size limit. Remaining gap: edge cases of the coupled charset/`_nc_trim_sgr0`/consistency
21+
//! logic (some `me` and as/ae outliers) and the resulting size-limit drift.
1722
1823
use std::path::PathBuf;
1924
use std::process::exit;

0 commit comments

Comments
 (0)