vim: provide the full ncurses-backed editor - #36
Conversation
a6e58d2 to
23f0533
Compare
3abbe48 to
7712f7e
Compare
23f0533 to
93567f2
Compare
b3d49f4 to
9c06150
Compare
9cc9749 to
1552539
Compare
|
Independent devil review at exact head The correction loads shared support from the installed tap and replaces the pre-#70 hand-written shell guard with Fresh evidence through No exact-head source build, runtime suite, bottle, or pour is claimed. #882 and the documented platform/publication gates remain binding. |
|
Independent corrected-head review: ACCEPT for The review verified current tap-main ancestry, generic-before-exact prefix-map ordering, separate fail-closed validation of |
1cb47a8 to
76b8c49
Compare
|
Exact-head devil's-advocate review: ACCEPT
The audit found and corrected two fail-open paths in the prior ABI 18 source Focused evidence run for this head:
The dedicated timer fixture in Automattic/kandelo#907 is present at ABI 39 This is not a merge or bottle approval. No current-head ABI 39 source build, |
cc7a063 to
e2df563
Compare
e2df563 to
a6b4a7e
Compare
Kandelo needs its default tap to own the real editor leaf before VFS images and guest Homebrew installs can stop relying on registry archives. Add the reviewed Vim source recipe with explicit ncurses, timer, dynamic-loading, fork-instrumentation, runtime, shell-escape, and xxd checks. Document the Formula in the tap inventory.
a6b4a7e to
25f6db6
Compare
|
Independent exact-head audit: ACCEPT The base, tree, Formula blob/SHA, and stable patch ID match the PR description. The one-descendant shell assertion matches Vim fork -> Dash exec with builtin |
Why
Kandelo users need a full-screen editor from the normal Homebrew path, including terminal handling, timers, dynamic loading, shell commands, the familiar
vientry point, andxxd. Without a first-class Vim Formula, VFS images and in-guest installs still have to rely on the older Kandelo package path.A reduced editor binary would not prove the Ncurses, process, timer, and dynamic-module behavior that real Vim uses. This Formula keeps the complete supported editor surface and tests those boundaries directly.
What changed
+libcall.optidentities.-ldlglue instead of musl's weak dlfcn stubs; the Formula test builds, loads, and calls a real Wasm side module.HAVE_TIMER_CREATE,HAVE_DLOPEN, andHAVE_DLSYM.vialiases, manpages, and the separately linkedxxdexecutable./bin/shused by the shell-escape test.xxdis correctly fork-free.The shell-escape test requires exactly one successful Dash descendant. This catches both missing process creation and accidental double-spawn behavior.
This PR contains no bottle block, archive, sidecar, receipt, provenance metadata, generated Wasm artifact, platform change, or Kandelo ABI change.
Exact source state
d48935cc15909439b6542c1cb737b8ce4da0ca6c25f6db6093d77f810306f4f51700e548b39aa6d5e48e1873c7a3e6a5bc328cb7c9f34801673f335182641ca56483f8f05fb552ee16609a44e78319588c7ee87ab9a4a06b6945ebd469c344d605582447ef9843eaa16e730b46719327c9860cdfa1119d00a0511c7fa5c07a7515936d79The branch was restacked after the publisher trust rollout.
git range-diffproves the single Vim patch is identical to accepted heada6b4a7e6...; only its parent and commit identity changed. Authorship remains Brandon Payton's.Evidence
Fresh checks on this exact restacked head passed:
Formula/vim.rbscripts/dev-shell.shgit diff --checkgit range-diffagainst the pre-restack headThe byte-identical Formula patch had already passed Homebrew style, 48 Formula-support tests / 380 assertions, and 15 TypeScript runner-support tests. The independent content review accepted its one-descendant shell assertion and dependency classification. An independent exact-head restack review accepted this head, including patch equivalence, authorship, dependency closure, process-count semantics, timer claim scope, and exact metadata.
The merged Kandelo timer fixture covers callback delivery on the platform path. This Formula's own timer checks cover Vim's configure selection plus timer creation, arming, and disarming; it does not misrepresent those checks as a separate callback-delivery proof.
The old ABI 18 Vim build is diagnostic recipe evidence only. No current ABI 41 Vim build, bottle, stock Homebrew pour, VFS image, Node.js run, or Chromium run is claimed here.
Remaining publication gates
The source Formula can merge independently. Publication must then proceed in dependency order: Libcxx, Ncurses, and Vim. Each bottle needs public GHCR readback and stock Homebrew pour evidence before it is used in a VFS image.
The trusted
d26c2f69...publisher is active. The current ABI 41 pilot bottle run is validating zlib, bzip2, xz, and sqlite first; Vim remains a later leaf package and must not distract from that integration gate.