-
-
Notifications
You must be signed in to change notification settings - Fork 971
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
Prevent multiple prompt resets in one execution cycle #368
Merged
Conversation
This file contains 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
The prompt ends up in a weird state when `zle reset-prompt` is called multiple times during one execution cycle. This can happen when multiple async tasks finish at nearly the same time. What happened here is that `async_process_results` called `prompt_pure_async_callback` multiple times during it's execution. In turn, `prompt_pure_async_callback` did multiple calls to `zle reset-prompt`. My theory is that ZLE ends up in a weird state that is reset after all the current code has completed executing. This behavior is observable when the prompt "moves upwards" and erases previous lines in the terminal. Fixes #356.
mafredri
force-pushed
the
async-render-fix
branch
from
November 20, 2017 17:58
cd9c681
to
d4428c4
Compare
Yay. Super happy to have this fixed ✨ |
ahmedelgabri
added a commit
to ahmedelgabri/pure
that referenced
this pull request
Dec 20, 2017
* upstream/master: Prevent multiple prompt resets in one execution cycle (sindresorhus#368) More thorough handling (hiding) of match results Avoid implicit creation of global var prompt_pure_git_arrows 1.6.0 Link to pure.zsh and async.zsh for better clarity (sindresorhus#358) Readme tweaks Link to a Pure-inspired prompt done in Rust Avoid implicit global var creation and cleanup (sindresorhus#347) Fix grammar in readme (sindresorhus#344)
kgrz
added a commit
to kgrz/pure
that referenced
this pull request
May 1, 2018
* upstream/master: (21 commits) Fix wrong placement of localoptions during prompt init Fix line erasure when terminal output does not end in newline (sindresorhus#391) Try to detech SSH connection when SSH_CONNECTION is unset (sindresorhus#393) Always force BatchMode for the Git SSH command (sindresorhus#392) 1.7.0 Avoid setting title over serial console (sindresorhus#388) Hide virtualenv when explicitly disabled by the user (sindresorhus#381) Add install guide for Zplugin (sindresorhus#386) Update URL to Droid Sans Mono font (sindresorhus#387) Prevent multiple prompt resets in one execution cycle (sindresorhus#368) More thorough handling (hiding) of match results Avoid implicit creation of global var prompt_pure_git_arrows 1.6.0 Link to pure.zsh and async.zsh for better clarity (sindresorhus#358) Readme tweaks Link to a Pure-inspired prompt done in Rust Avoid implicit global var creation and cleanup (sindresorhus#347) Fix grammar in readme (sindresorhus#344) Update oh-my-zsh instructions in readme Remove extra $fpath from npm postinstall fail instructions ...
filipekiss
added a commit
to filipekiss/pure
that referenced
this pull request
Apr 26, 2019
* upstream/master: Add pure-pwsh to the ports section of the readme (sindresorhus#467) Skip grep fork, use native zsh matching (sindresorhus#459) Add pure-now to Ports section in the readme (sindresorhus#458) 1.9.0 Update to zsh-async 1.7.1 and recover from unexpected worker death (sindresorhus#454) Add conda environment name to precmd (sindresorhus#440) Add Mímir to Ports section in the readme (sindresorhus#438) Avoid calling zle reset-prompt in precmd (sindresorhus#431) Simplify async tasks by not passing $PWD (sindresorhus#430) Abort git check if pwd has changed after invocation (sindresorhus#428) Update zsh-async to 1.7.0 (sindresorhus#429) 1.8.0 Advice against enabling incompatible Oh-My-Zsh plugins Show warning when Oh My Zsh themes are enabled (sindresorhus#426) Add support for VI-mode indicator (sindresorhus#405) Remove unused function for computing string length (sindresorhus#418) Update fpath-reference link (sindresorhus#417) Prevent IPv6 regexp from capturing the time (sindresorhus#413) Prevent hostname from showing up in local X sessions (sindresorhus#398) Make sure local HUP trap is unset during git fetch Improve the debug prompt (PS4) (sindresorhus#396) Show options as a table in readme (sindresorhus#407) Remove unfrequent FAQs from readme (sindresorhus#406) Prevent interactive prompts during git fetch (sindresorhus#397) Set title via atomic print statement (sindresorhus#399) Revert local prompt_opts, breaks promptinit Fix for setopt not taking effect when sourcing pure Fix prompt_pure_state on older versions of zsh Fix wrong placement of localoptions during prompt init Fix line erasure when terminal output does not end in newline (sindresorhus#391) Try to detech SSH connection when SSH_CONNECTION is unset (sindresorhus#393) Always force BatchMode for the Git SSH command (sindresorhus#392) 1.7.0 Avoid setting title over serial console (sindresorhus#388) Hide virtualenv when explicitly disabled by the user (sindresorhus#381) Add install guide for Zplugin (sindresorhus#386) Update URL to Droid Sans Mono font (sindresorhus#387) Prevent multiple prompt resets in one execution cycle (sindresorhus#368) More thorough handling (hiding) of match results Avoid implicit creation of global var prompt_pure_git_arrows 1.6.0 Link to pure.zsh and async.zsh for better clarity (sindresorhus#358) Readme tweaks Link to a Pure-inspired prompt done in Rust Avoid implicit global var creation and cleanup (sindresorhus#347)
kutsan
pushed a commit
to kutsan/pure
that referenced
this pull request
Jun 19, 2023
* Update zsh-async to 1.6.0 for buffer status indicator * Prevent multiple prompt resets in one execution cycle The prompt ends up in a weird state when `zle reset-prompt` is called multiple times during one execution cycle. This can happen when multiple async tasks finish at nearly the same time. What happened here is that `async_process_results` called `prompt_pure_async_callback` multiple times during it's execution. In turn, `prompt_pure_async_callback` did multiple calls to `zle reset-prompt`. My theory is that ZLE ends up in a weird state that is reset after all the current code has completed executing. This behavior is observable when the prompt "moves upwards" and erases previous lines in the terminal. Fixes sindresorhus#356.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The prompt ends up in a weird state when
zle reset-prompt
is called multiple times during one execution cycle. This can happen when multiple async tasks finish at nearly the same time. What happened here is thatasync_process_results
calledprompt_pure_async_callback
multipletimes during it's execution. In turn,
prompt_pure_async_callback
did multiple calls tozle reset-prompt
. My theory is that ZLE ends up in a weird state that is reset after all the current code has completed executing.This behavior is observable when the prompt "moves upwards" and erases previous lines in the terminal.
Fixes #356.