Валюта позиции — байт-offset активного буфера:
- line_at_off(off): обратный перевод offset → MD-строка (бинарный поиск
по seg_off, оффсеты сегментов монотонны);
- map_off(off, from, to): пропорциональный перенос позиции между
буферами разного размера — один цикл restoring-деления, без
__mullong/__divulong, точность from/65536;
- raw_pos()/raw_reanchor(off) в RAW-модуле; raw_seed_from через
reanchor, raw_home стал приватным (только клавиша Home).
F2 RAW→MD: top_line = line_at_off(raw_pos()) — точное позиционирование.
F8 между готовыми наборами: view_pos → map_off → view_reanchor вместо
восстановления сохранённой позиции набора. Ленивая сборка — по-прежнему
с начала (в RAW с raw_reanchor(0) и откатом при неудаче).
Попутно: F8 в RAW-режиме больше не рисует MD-вид поверх RAW —
перерисовка по g_view.
exe 25100 → 25725 (+625). Проверено в MAME.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
B2 stage2: общий цикл inline-форматирования/переносов/склейки в одном
scan_stream (mode: NONE / LIST / QUOTE / PLAIN); дублировавшиеся блоки
эмиссии пробела/символа, переноса с усечением и отката стиля — в одном
экземпляре. Старые имена — тонкие обёртки, API inline_scan для
table-модуля не изменился. styles_map умерла: emph_to_attr(ls, ATTR_TEXT)
тождественна ей.
Индексатор 9839 → 9315 Б. Проверено в MAME: переносы заголовков/списков/
цитат, таблицы, inline-маркеры на границе переноса, жёсткие переносы.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1. Лимит строк не показывал предупреждение: g_trunc_cause=TRUNC_LINES
ставился в emit_seg, но главный цикл выходит по n_lines<max_lines ДО
вызова emit_seg в переполненном состоянии (для code-block — один
emit_seg на строку). Теперь ловим после цикла по признаку p<file_size
(остановились, файл не кончился).
2. Файл >256 КБ больше не отвергаем экраном ошибки, а КЛАМПим: читаем
первые 256 КБ, индексатор дописывает строку TRUNC_FILE (File too large
- truncated at 256 KB). Приоритет ниже content/lines. Текст ошибки -2
поправлен (был 'size > 128K').
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>