Skip to content

Develop - #177

Merged
LESdylan merged 11 commits into
mainfrom
develop
Oct 18, 2026
Merged

LESdylan merged 11 commits into
mainfrom
develop

Conversation

@LESdylan

Copy link
Copy Markdown
Member

What & why

Closes #

How I verified it

  • make re (SAFE=1 debug) builds clean, no warnings
  • make re OPT=1 (SAFE=0 optimized) builds clean, no warnings
  • make test is green (libc heap)
  • cd tests && ./verify_alloc.sh green on both SAFE=1 and SAFE=0
  • Added test(s) covering this bug/feature (and nearby cases)
  • No leaks — checked under ASan/LSan (SAFE=1) and/or HELLISH_ALLOC_STATS
    (SAFE=0)
  • No crashes/segfaults/UB, including on edge cases (empty input, bad quotes,
    huge args, deep nesting)
  • make norm clean on touched files (no in-function comments, ≤80 cols,
    no new globals)
  • Documented: code comments (Doxygen for complex fns), commit body, this PR

Notes / trade-offs

qwO-Owp and others added 11 commits October 17, 2026 23:19
…e rung

After #169 merged, the opensuse tumbleweed rung went red without
compiling anything. The openSUSE-Tumbleweed-Update repo timed out
("Curl error (28)") on every one of the four refresh retries. The plain
install then failed, and the `zypper dup` fallback refuses outright to
run while any enabled repo failed to refresh.

When the retried refresh still fails, that one repo is now disabled.
It only carries rare urgent patches; Tumbleweed itself ships through
Oss. A plain install can live with a stale repo, and dup can now run.
Other repos are untouched: one that keeps failing still fails the build.
Pulls in the scheduled_tasks.lock ignore, so the .claude submodule no
longer shows as modified while Claude Code runs, plus the kit's own
test, README and markdownlint fixes.
modifyrepo matches aliases; openSUSE-Tumbleweed-Update is only the display
name, so the previous line disabled nothing and '|| true' hid the error.
…#140)

Alt-F / Ctrl-Right take the next word of the ghost; Alt-N / Alt-P step to
the next older / back to the newer distinct history match. All four go
through the slot module: with no history ghost on screen, or when the
user bound the key, the stock readline function (forward-word,
non-incremental search) runs unchanged. The cycle keeps history indices,
not copies, and is dropped when the line or the history length changes,
so a bind -x widget running `history -c` mid-cycle cannot leave it
pointing past the end.

Tests: autosuggest_test.py W1-W6, C1-C11 on both readers. Mutants M1-M10
(slot wiring, word boundaries, cycle order, dedupe, bell ends, user-bind
precedence) each turn at least one case red. M11, dropping the
history-length check, leaves a ghost after `history -c` and draws an ASan
heap error. The 168-byte AS_LEAKS=1 report after stock Alt-N + Ctrl-G
shows up identically on develop without this change (readline's own
non-incremental search).
chore(claude): bump the kit to its hygiene fixes
fix(docker): disable an unreachable Tumbleweed Update repo instead of failing the rung
feat(editor): word-accept and cycling for inline suggestions (#140)
docs: clarify print -P prompt preview caveat (#134)
@LESdylan
LESdylan merged commit 1dd5ae5 into main Oct 18, 2026
84 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants