diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-22 12:51:15 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-22 12:51:15 -0400 |
| commit | 0c38e9924b03c00e9524ea3fd65d03f2d5589f2b (patch) | |
| tree | 8f24e7ba1274172537ce259dc5dad4e202600df6 /scripts/theme-studio/WIP.json | |
| parent | 4a61d2760b060ba77316f0c67de83e01457f2259 (diff) | |
| download | dotemacs-0c38e9924b03c00e9524ea3fd65d03f2d5589f2b.tar.gz dotemacs-0c38e9924b03c00e9524ea3fd65d03f2d5589f2b.zip | |
fix(jumper): free registers on removal, skip dead markers, toggle back
Three defects in the saved-location store: removal shifted the slot vector but never freed the dropped register, and a later store allocated by next-index — a char a surviving slot still held — so it silently overwrote that slot's marker. jumper--with-marker-at also guarded only markerp, so a location whose buffer was killed made store and jump signal wrong-type errors. And the single-location toggle never returned: its already-there branch did nothing. Store now takes the first unused register char in the live slice, removal clears the freed register so its marker stops pinning the buffer, the marker guard checks buffer liveness so dead entries are skipped, and the toggle jumps to the last-location register when one is set.
Diffstat (limited to 'scripts/theme-studio/WIP.json')
0 files changed, 0 insertions, 0 deletions
