diff options
| author | Sanzhar Kuandyk <92693103+SanzharKuandyk@users.noreply.github.com> | 2026-07-23 16:57:19 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-23 07:57:19 -0400 |
| commit | 57dc215230302f0abf0789e0e048f8d29a4e8362 (patch) | |
| tree | 985002407b71113b88f5e9c9fcff727e25657331 /runtime/syntax/python.vim | |
| parent | fcb43e8a11c7a9a77d918e006ea46c36e53ec425 (diff) | |
| download | rneovim-57dc215230302f0abf0789e0e048f8d29a4e8362.tar.gz rneovim-57dc215230302f0abf0789e0e048f8d29a4e8362.tar.bz2 rneovim-57dc215230302f0abf0789e0e048f8d29a4e8362.zip | |
refactor(:restart): unnecessary console allocation on Windows #40919
Problem:
`:restart` on Windows always forces `AllocConsole`, even though we could
reuse old server's existing console + unnecessary env.
Analysis:
After d5516daf121aa718e79bcd423ee24c24492893c0 changed the restart
lifecycle and 789741bb83d1f31b7162cd8944bc2d846fa2fa51 separated the
Windows console paths, we no longer need to force `AllocConsole()` for
`:restart`. The `:detach` path now allocates its own console when it
actually runs.
Solution:
Try to attach the replacement server to its parent’s console and fall
back to `AllocConsole()` if attachment fails. Drop the restart-specific
env that forced allocation.
As documented by Microsoft, [“A console is closed when the last process
attached to it terminates or calls
`FreeConsole`.”](https://learn.microsoft.com/en-us/windows/console/attachconsole)
Btw, this way we can preserve `io.stdout:write()`, though if for some
reason `AttachConsole` would fail then it won't work; but now at least
it's not always not rendering on `:restart`.
Diffstat (limited to 'runtime/syntax/python.vim')
0 files changed, 0 insertions, 0 deletions