Skip to content

fix(backtrace): quit from recursive edits - #277

Merged
eval-exec merged 1 commit into
eval-exec:mainfrom
kiennq:pr/backtrace-recursive-edit
Aug 25, 2026
Merged

eval-exec merged 1 commit into
eval-exec:mainfrom
kiennq:pr/backtrace-recursive-edit

Conversation

@kiennq

@kiennq kiennq commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Issue

Backtrace buffers enter a recursive edit. Invoking top-level to quit them is currently caught by every nested command loop, so the recursive edit restarts instead of unwinding. This leaves the backtrace buffer effectively unquittable and prevents surrounding cleanup from running.

Solution

  • Catch top-level only in the outermost command loop.
  • Let nested recursive edits propagate top-level so their unwind cleanup runs.
  • Add a regression covering nested recursive-edit propagation and cleanup.

Verification

  • git diff --check upstream/main...HEAD passes.
  • The regression is included in neovm-core/src/emacs_core/eval_test.rs.
  • Windows neovm-core test compilation is currently blocked on unmodified upstream/main by the separate Unix-signal issue addressed in fix(windows): gate Unix signal handlers #276.

@eval-exec
eval-exec merged commit 872ea50 into eval-exec:main Aug 25, 2026
1 check 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.

2 participants