Files
craft-libs/crates
Martin BallandClaude Opus 5.5 1301dc3961 CP6.4: OCONV output conversion; ICONV/OCONV tables capped and indexed; long input rejected before conversion
- OCONV (output conversion, as Hunspell 1.7 applies it): read from the
  .aff and the compact format, applied to suggestions as they are shown
  (`AffixDict::output`); what is correct doesn't change. The French
  (Grammalecte) dictionary writes `’` for the `'` its stems use.
- ICONV and OCONV tables hold at most 65,536 pairs of at most 64 bytes a
  side (the Korean tables hold 11,172); more is an error. Each table is
  indexed by the first character of its `from` texts, so converting a word
  looks at the few pairs that can start at each character instead of
  scanning the whole table per character (review of storytold/wordcraft#5000).
- Input longer than MAX_INPUT_BYTES (4 × MAX_WORD_BYTES) is no word and
  is no longer converted before the length check rejects it (review of
  storytold/wordcraft#5000); input made long by IGNORE characters within
  that bound still checks.
- Longest match wins, and of equal ones the later pair, as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FypgCX8LsYYE8fsj4byBm2
2026-11-01 22:34:32 +00:00
..