From b519051ce9ca3f8e0835221643211a8879fd6cd7 Mon Sep 17 00:00:00 2001 From: blasty Date: Sat, 25 Jul 2026 00:20:37 +0200 Subject: split: follow the decomp across functions as the listing cursor crosses bounds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The unified listing spans many functions, but the decomp pane was pinned to the one function it was opened on — scrolling the listing cursor past that function's bounds stopped syncing. Now _sync_split tracks the decompiled function's ea span (_split_range, from decomp_map) and, when the listing cursor leaves it, re-points the decomp pane to the function under the cursor: _resync_decomp (exclusive worker) -> function_of(ea) -> _apply_resync re-decompiles + reloads the region map, or just drops the band over data/undefined (keeping the last function). Pilot split_view: moving the listing cursor into another function re-syncs the decomp (18/18). --- docs/SPLIT_VIEW.md | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'docs') diff --git a/docs/SPLIT_VIEW.md b/docs/SPLIT_VIEW.md index 1a61efc..de37dc1 100644 --- a/docs/SPLIT_VIEW.md +++ b/docs/SPLIT_VIEW.md @@ -97,6 +97,11 @@ back to the single marker until the map lands. Verified on the pilot's real work split routes through `_open_entry` (listing) → `_show_active` split branch (decomp + `_load_split_map`), so both panes reload for the new function and split stays on. +- Cross-function follow: the unified listing spans many functions, so when the + listing cursor leaves the decompiled function's ea span (`_split_range`), + `_sync_split` re-points the decomp pane to the function under the cursor + (`_resync_decomp` → `function_of` → re-decompile + reload the map). Over + data/undefined it just drops the band and keeps the last function. - Non-issues after review: split is a persistent *mode* orthogonal to nav entries, so back/forward simply navigate within split (no per-entry state needed); search is already per-focused-pane. -- cgit v1.3.1-sl0p