Repository navigation
Close the parity gaps the upstream suites name #48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
metaphoric-dev
wants to merge
263
commits into
main
Choose a base branch
from
feat/upstream-parity-wave
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
263 commits
Select commit
Hold shift + click to select a range
46cc3cb
docs(sdd): record the measurement traps this campaign met
metaphorics c14f47f
perf(editor): cache the option and register mirrors
metaphorics 5d9b46e
style: apply rustfmt to the modules this campaign touched
metaphorics f62f931
docs: restate the slow edit path after the mirror fix
metaphorics 9e10ca3
fix(window): copy window options only where upstream copies them
metaphorics 512ca1b
fix(eval): answer "." from the :h modifier of a bare name
metaphorics ea8ad9e
docs: close the slow edit gap and list the remaining timeouts
metaphorics 99393e0
feat(eval): implement call() and bind a Partial dictionary as self
metaphorics 564de3a
fix(fs): route getfperm to the filesystem dispatcher
metaphorics 29ecf19
docs: record the final counts for this tranche
metaphorics 8f46d34
feat(eval): honour the uniq() comparator
metaphorics 0928e93
docs: sync the final counts after the uniq comparator
metaphorics e9a6fd4
test(eval): cover call() and the uniq() comparator
metaphorics 5ad0222
docs(sdd): record the failure slices cut for the next wave
metaphorics 8da65f8
docs(sdd): record what the terminal probe showed
metaphorics 8746163
fix(lua): keep the loader's relative path entries like upstream
metaphorics a93e702
chore(lua): apply rustfmt to the strict regex compiler
metaphorics 3fa6889
fix(terminal): mark the buffer and pump job output during :sleep
metaphorics 5e8dbcc
feat(builtins): answer win_findbuf and getcmdwintype
metaphorics 56f083b
fix(mode): refuse a put count whose text length overflows
metaphorics 7c0a007
fix(lua): read v:exiting as vim.NIL before shutdown
metaphorics 8ebdd32
fix(server): flush terminal jobs on the Lua wait path
metaphorics a76714b
feat(history): add the five history tables and their builtins
metaphorics aaa779d
feat(ex): complete the put path and the missing command cluster
metaphorics 89f062b
feat(channel): implement the channel and terminal functions upstream has
metaphorics 8ee39b8
feat(lua): implement vim._core.keyparse and fix the Tab termcode
metaphorics eeae23f
fix(ex): honour the abandon gate and a bang-terminated modifier
metaphorics 68f8481
feat(ex): add cpfile/lpfile and the forced-abandon unload
metaphorics 6a0b5e2
feat(builtins): add the timer family and seven missing queries
metaphorics c58b2ac
feat(ex): add the listdo family, autocmd flags, :defer and mid-sleep …
metaphorics f6c8a2e
fix(eval): run a closure against every live editor map
metaphorics cb4a034
feat(builtins): add shiftwidth, haslocaldir, bufloaded, msgpack and d…
metaphorics 6f62361
feat(ex): deliver stored funcrefs as values, add checkhealth and dire…
metaphorics 42beb24
fix(timers): keep a stopped timer visible until its delivery ends
metaphorics e05e8fd
chore(builtins): drop imports the shared predicate replaced
metaphorics 79d9213
fix(timers): keep an in-flight timer listed through timer_stopall
metaphorics 022ad66
fix(runtime): source Lua plugins as Lua
metaphorics b58ba06
feat(uv): add uv.pipe and pipe:open, and make v:vim_did_enter a trans…
metaphorics c9ebeca
feat(uv): add an owned-descriptor spawn entry
metaphorics fb3e2c4
feat(uv): let Lua spawn with its own pipe descriptors
metaphorics e5c3746
docs(report): record the pipe registry result and the difftool shift
metaphorics f8da21d
fix(uv): keep pipe descriptor reuse safe
metaphorics c687a28
docs(report): record the pipe registry, the reuse fix, and the diffto…
metaphorics 17a6c24
fix(uv): mark spawned descriptors only after the spawn starts
metaphorics c94cdaf
docs(report): fix the commit record and mark the Ex-command cause as …
metaphorics f0797e8
fix(quickfix): jump through a list whose entries are all invalid
metaphorics 1fbd944
docs(report): record the quickfix nonevalid result
metaphorics fbc48a2
test(quickfix): pin all-invalid and mixed-list jumps
metaphorics 65fb2fd
feat(autocmd): fire WinClosed when a window goes away
metaphorics 47625dd
fix(layout): split the outermost frame for botright windows
metaphorics 3ca8241
feat(startup): support -d and report v:argf
metaphorics 3e75314
docs(report): record the green difftool spec
metaphorics b72a751
refactor(layout): share one directory listing implementation
metaphorics 1306330
fix(editor): keep the upper window's view when a root split shrinks it
metaphorics b425af0
fix(uv): let a child see end-of-file on its own stdin
metaphorics 44ba18e
fix(uv): answer vim.system the way its callers expect
metaphorics 9fb8593
docs(report): record the lua group measurement and the stdin EOF fix
metaphorics e606c75
docs(report): record the completed lua group measurement
metaphorics 3459fd0
docs(report): record the reference-binary control for the timeout test
metaphorics ec0b16f
fix(uv): keep scheduled work out of a fast-only wait
metaphorics 9406c36
docs(report): correct the system_spec counts and record the timeout f…
metaphorics b7b1eab
docs(report): record the timer-precision cause for the async timeout
metaphorics 974ee58
test(lua): cover the vim._core.keyparse Lua shape
metaphorics 575ab4b
docs(report): record the keyparse coverage
metaphorics 41df505
docs(report): record why dict watchers need a plumbed call context
metaphorics 4ec9b8b
fix(usercmd): expand `<q-bang>` to the quoted bang
metaphorics 9acd3b2
refactor(path): derive the URL predicate from one source
metaphorics 4e74e2c
fix(path): keep a URL name out of the working directory
metaphorics 6a599cb
docs(report): record the plugin group measurement and the dir listing…
metaphorics 345b5bc
test(api): pin that a URL buffer name stays absolute
metaphorics d6d8b7f
docs(report): record the OptionSet gap and the buffer-name regression
metaphorics 4f56421
feat(autocmd): fire OptionSet from the option API
metaphorics 4a9ad2a
docs(report): record the OptionSet dispatch and its remaining scope
metaphorics 1dd4c70
feat(autocmd): fire OptionSet from the legacy option setter
metaphorics 4fec3e9
refactor(options): read an option value the same way everywhere
metaphorics 40b4e80
feat(autocmd): fire OptionSet from `:set`
metaphorics a78df1e
test(autocmd): cover the legacy option setter
metaphorics 74836a0
docs(report): record the three OptionSet callers
metaphorics 78e2bed
fix(api): report the option flags the request carried
metaphorics f4ff8a5
docs(report): record what blocks each remaining gap
metaphorics b600ffa
docs(report): record the full oldtest measurement and its clusters
metaphorics 2567809
docs(report): separate the E5108 causes and mark the health cause unc…
metaphorics a20c5e0
fix(autocmd): run a body under the script that defined it
metaphorics 6011096
docs(report): record the oldtest delta from the script-scope fix
metaphorics 49a2ebc
feat(excmd): add `:doautocmd`
metaphorics 0f17849
docs(report): record the :doautocmd addition
metaphorics 0eca8cf
docs(report): record the red proof for :doautocmd
metaphorics 45d2c27
fix(excmd): match `:doautocmd` to the reference contract
metaphorics c785631
docs(report): record the doautocmd contract corrections
metaphorics 6d41a9f
docs(report): record the ex_cmds functional group measurement
metaphorics e69592a
docs(report): mark the ex_cmds run partial and correct the E5108 cause
metaphorics bdfa2f9
docs(report): record the dict-watcher design that fits the port
metaphorics 50e8f04
docs(report): record the scope-dict subscript defect and the reverted…
metaphorics 9d37f7f
fix(lvalue): write `g:['k'] = v` into the scope itself
metaphorics 797d5a5
fix(lvalue): remove `g:['k']` from the scope on `:unlet`
metaphorics 2a44b9e
docs(report): record the scope-dict fixes and their red proofs
metaphorics 23f150e
docs(report): record the dict-notifications result and the rpcnotify …
metaphorics 421cd0e
docs(report): record the client-channel sink the rpcnotify gap needs
metaphorics 208bff3
docs(report): state the PTY ownership constraint precisely
metaphorics 70c6677
docs(report): scope the E5108 host claim to the oldtest path
metaphorics de637e0
fix(lvalue): quote the missing key in E716 and prove the error surface
metaphorics 5eeb6b5
docs(report): identify the checkhealth callback path as the E5108 cause
metaphorics cef2725
feat(dictwatch): fire watchers for dictionary targets
metaphorics e28c0eb
docs(report): record the Ex command inventory
metaphorics 127e70a
test(api): drop a test whose mutation survives
metaphorics d898b6b
test(types): drop two assertions whose mutations survive
metaphorics bb7df47
feat(dictwatch): register and fire scope-namespace watchers
metaphorics 72425a2
feat(excmd): add :pwd, :list, :number, :uptime, and :tabs
metaphorics acbc643
feat(rpc): deliver `rpcnotify` to the client channel
metaphorics 563155b
docs(report): record the round summary and group measurements
metaphorics 6eb7527
test(dictwatch): violate the watcher contract from seven angles
metaphorics acab17b
docs(report): record the dict-notifications result after the round
metaphorics c1cc1ee
feat(excmd): add :recover, :diffsplit, :helptags, :match, and :checkpath
metaphorics 36779d3
feat(dictwatch): notify from remove(), extend(), and filter()
metaphorics 933a033
docs(report): record the builtin producer measurement and the scope d…
metaphorics a32f365
fix(checkhealth): give the native path a Lua host
metaphorics 6ad2825
docs(report): record the health spec result after the host seam
metaphorics 9e8cf66
feat(dictwatch): record scope mutations from the dictionary builtins
metaphorics d09809e
docs(report): identify the scope dict identity as the remaining cause
metaphorics 646eecc
fix(scope): give each scope namespace one dictionary identity
metaphorics fcc6324
docs(report): record the scope identity result and the six remaining …
metaphorics 99b92a0
feat(dictwatch): notify from API variable writes
metaphorics a95b4e4
docs(report): record the API write route and the shared-registry gap
metaphorics 543ea80
docs(report): record the Miri sanitizer result and its scope
metaphorics 848ad70
feat(pty): drain terminal output without an executor borrow
metaphorics e791900
feat(dictwatch): complete the watcher notification paths
metaphorics 209621e
docs(report): record the watcher completion result
metaphorics 4f83074
docs(report): record the ex_cmds jump after the watcher completion
metaphorics 81e7e73
feat(dictwatch): record changedtick at command boundaries
metaphorics d221e9b
docs(report): record the changedtick boundary result
metaphorics 644dba0
fix(dictwatch): keep a mid-round deletion in the current round
metaphorics 9d73630
docs(report): record the mid-round deletion fix at 69 of 70
metaphorics e85d433
fix(window): let `:close` hide a hideable buffer
metaphorics 55a3810
docs(report): record dict notifications at 70 of 70
metaphorics 5625bfb
feat(directory): model the four directory scopes separately
metaphorics b550a51
fix(echo): stop the cycle crash and keep `:echon` continuations
metaphorics bd51416
docs(report): record the cd and echo spec progress
metaphorics 8a99bd9
fix(swapfile): read block zero, and report a live owner as W325
metaphorics a6ef3c1
docs(report): record what each remaining functional cluster needs
metaphorics b5edebc
fix(typval): render floats the way `:echo` does
metaphorics c9cd14d
refactor(dir): let the nvim.dir plugin drive directory buffers
metaphorics bcb2f1c
docs(report): record the dir_spec cutover, the float fix, and each re…
metaphorics c62fe91
feat(uv): bind `getuid` and `kill`
metaphorics 0a6f41c
fix(maparg): emit callback dictionaries and the reference buffer flag
metaphorics ee9e5d6
feat(excmd): honour `:browse` the way the reference does without a GUI
metaphorics dec1876
docs(report): record dir_spec at 24 of 38 with grouped causes
metaphorics e81c7bd
fix(lua): keep the pipe descriptor registry compilable off unix
23754bb
fix(dir): select an entry by exact line, and let a modified unnamed b…
metaphorics 69d2c4f
docs(report): record the activation attempt at 25 of 38
metaphorics d3a5c16
docs(report): expand the dir_spec failure map to one row per test
metaphorics 1346bf1
fix(defer): fire deferred Funcref and Partial values through the eval…
d241147
fix(lua): queue empty pipe writes behind pending data
5aa245f
fix(uv): set pipe endpoint nonblock flags independently
a305912
fix(registers): bump the mirror version when setreg clears a slot
53008e5
fix(api): overflow scoped variable writes onto the seed pair at depth…
91d21fb
fix(buffer): resolve `#` to the window's alternate buffer
metaphorics 86eaa33
docs(report): record the alternate-buffer result and the reverted no-op
metaphorics 00f9a7d
fix(edit): honour `:keepalt` on the buffer switch
metaphorics ea7b9ce
fix(dir): activate listing entries through a third executor tier
metaphorics 8641687
docs(report): record dir_spec at 30 of 38 and the syntax verdict
metaphorics 51b596e
fix(messages): record a notify message in `:messages`
metaphorics c48d09a
fix(call): close a `:call` argument list at its own parenthesis
metaphorics 1f3b65b
fix(uv): format fs errors as luv does
metaphorics 8c335c3
docs(report): record dir_spec at 32 of 38 and the untested message ch…
metaphorics 249eae9
fix(edit): unload the abandoned buffer when neither 'hidden' nor 'buf…
metaphorics fa458ac
fix(mkdir): read the mode through the canonical number converter
metaphorics d2ba915
fix(printf): keep an unrecognized specifier literally
metaphorics 0b74ade
fix(mapping): consume the normal-mode count when a mapping runs
metaphorics b7e25ae
feat(normal): bind `CTRL-^` to the alternate file
metaphorics 8792cba
fix(mapping): clear the typed count only for mappings that consume it
metaphorics deed8f3
fix(call): scan quoted strings with Vimscript quoting rules
metaphorics 690d3ba
test(eval): pin single-quote parsing for a trailing backslash
metaphorics 7e4f854
docs(report): record dir_spec at 35 of 38
metaphorics 8978060
fix(excmd): split a bar after `:unlet`
metaphorics 708dbb7
fix(mapcheck): answer with the function reference of a callback mapping
metaphorics df4cfdd
docs(report): record dir_spec at 36 of 38
metaphorics fe1d9bd
refactor(excmd): one command-end scanner handles a top-level comment
metaphorics d9f1025
test(let): computed-name assignment reaches the scope a later read uses
metaphorics fd4ccc6
fix(script): keep a script's variables across a nested call or source
metaphorics d4d8130
feat(builtin): buflisted()
metaphorics 435bd8d
fix(if): strip a trailing comment from the condition
metaphorics 9d79f27
fix(let): do not read `@@=` as the expression register
metaphorics 1a15c66
fix(register): make `@@` name the unnamed register
metaphorics 3992e5d
fix(function): keep a local constant local to its call
metaphorics 8007299
feat(builtin): readdir()
metaphorics 8822141
docs(report): record dir_spec at 37 of 38 and the netrw defect chain
metaphorics 8372abd
fix(buffer): resolve predicates through `find_buffer`
metaphorics ec23489
fix(uv): name the path in a filesystem error and use libuv's wording
metaphorics e98691c
fix(buffer): fire `BufHidden` and `BufUnload` when `:edit` abandons a…
metaphorics 126d14e
feat(syntax): `:syntax` records groups, lists them, and loads a buffe…
metaphorics 1f92945
refactor(edit): let the directory plugin own `'filetype'`
metaphorics 156209f
Revert "refactor(edit): let the directory plugin own `'filetype'`"
metaphorics 9515709
docs(report): record dir_spec at 38 of 38 and the reverted filetype c…
metaphorics 4539a66
fix(getcwd): let the scoped builtin answer every form
metaphorics 02da1b0
fix(echo): format a Float with `%g` rules and the reference's special…
metaphorics cfb8821
feat(echo): render funcrefs, partials, and cycles as the reference does
metaphorics 4671b30
fix(cd): keep directory scope through `:edit!`, context switches, and…
metaphorics 4ca820c
docs(report): record the refreshed functional gate
metaphorics 9b6fa08
fix(echo): spell a Funcref as `function('name')` in a message
metaphorics ae7d5d3
refactor(echo): one formatter answers `string()` too
metaphorics 39fb0e7
docs(report): record the gate at ae7d5d3 and the two echo blockers
metaphorics f336445
fix(echo): raise E724 from `string()`, never from `:echo`
metaphorics 2db197c
fix(scope): keep a self-reference across the editor mirror sync
metaphorics db0647b
fix(script): one anonymous string source per session
metaphorics e691945
feat(eval): bind a dictionary as self when its member is callable
metaphorics 232b100
docs(report): record the gate at e691945 and the dictionary-order class
metaphorics 1eaf27c
chore(script): drop the allocation trace left from the id investigation
metaphorics 7d0a51c
feat(eval): implement getscriptinfo()
metaphorics 99ae4bc
fix(script): keep `<SNR>` literal inside a double-quoted string
metaphorics 5f0bdce
fix(source): run a sourced file past an error and outside the caller
metaphorics 1e04fc4
fix(eval): report getscriptinfo argument faults as the reference does
metaphorics 6834e8b
fix(buffer): `bufname()` trims a name under the current directory
metaphorics 68a578d
feat(lua): provide the UTF helpers the runtime module calls
metaphorics b5eeb80
fix(shada): stream the entry framing instead of reading the whole file
metaphorics 439f64c
fix(include): report E484 when an include cannot be read
metaphorics e323045
fix(loop): a failed dispatch keeps the queued work
metaphorics 55f7817
fix(lua): keep a truncated sequence's width and drop the casts
metaphorics 0d31288
fix(lua): take the reference's UTF-8 lead table and the real maxint
metaphorics 237588b
test(loop): name the requeue test for the failure it drives
metaphorics 6ecff11
feat(statusline): render each window's 'statusline' on screen
metaphorics 2db8d93
feat(statusline): honour 'laststatus' and refuse re-entrant rendering
metaphorics d20a9ed
fix(uv): close the completion queue under its own lock
metaphorics 22cc8b6
fix(lua): mpack parity for nonfinite numbers and session options
metaphorics 3fa954e
feat(statusline): one global row for 'laststatus' 3
metaphorics 30e80ce
fix(window): report and set window heights in text rows
metaphorics 173672f
fix(api): preserve block width and binary rows in loaded contexts
metaphorics cbb7313
fix(lua): mpack numbers pick integer and float32 tokens
metaphorics 4da391a
feat(dict): store dictionaries in the reference's hash table
metaphorics 047ad0c
fix(treesitter): apply ancestor and parent predicates in emit
metaphorics 6079a0c
fix(lua): strip the runtime prefix from exec_file errors
metaphorics 9a408ec
fix(script): honour $NVIM_APPNAME in runtime and stdpath
metaphorics 59a464e
fix(loop): keep sibling timers when one callback panics
metaphorics 0df6567
feat(api): speak the reference's ShaDa context wire format
metaphorics d4127d3
feat(eval): getjumplist returns the reference's shape and window rules
metaphorics 110c6a2
fix(api): context regs and jumps encode like the reference's ShaDa
metaphorics e27e85c
fix(editor): record jumps like the reference and reset the view on sw…
metaphorics ec17cf9
fix(eval): expand resolves alternate and numbered buffer names
metaphorics c988868
fix(eval): apply filename modifiers before the unnamed-source rule
metaphorics 0785b4a
feat(options): report where an option was last set
metaphorics 8adf966
refactor(editor): export OptionLastSet for API provenance reads
metaphorics c569356
fix(api): keep the script context for internal option writes
metaphorics 45613a8
fix(excmd): :normal ends at its own newline
metaphorics c6ad1ba
feat(eval): strftime and uv.available_parallelism
metaphorics 4e5a90b
fix(system): exact child environments and expanded option defaults
8fa054a
fix(mode): visual selection tracks the moved corner
1606dd0
fix(mapping): :map listings print special keys and reference columns
b24dcfe
feat(session): :mksession writes and restores a real session
e142450
fix(session): tab and buffer directories restore through a session
d2e5591
feat(messages): mapping listings carry per-piece highlights
184f8d1
feat(pack): vim.pack runs on real editor seams
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1,541 changes: 1,541 additions & 0 deletions
1,541
.outline/sdd/reports/2026-10-28-completion-campaign.md
Large diffs are not rendered by default.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When an
OptionSethandler triggered by:setchanges an option throughvim.api.nvim_set_option_value(), this guard allows anotherOptionSetdispatch. The Ex helperfire_optionset_autocmd()inexcmd_exec.rsguards through the publishedv:option_typeand never setssession.option_set_in_flight, so that flag remains false throughout the outer handler; this API path then plans the nested event withnested: true. Consequently, Lua plugins receive callbacks that the documented non-recursive event must suppress. Check the shared published guard, or use one guard across both setter paths, to preserve callback ordering.AGENTS.md reference: AGENTS.md:L5-L5
Useful? React with 👍 / 👎.