From 5d41bf4703bea4a19cbb39ea913dc898b228fdf3 Mon Sep 17 00:00:00 2001 From: romkatv Date: Wed, 6 May 2020 21:05:01 +0200 Subject: block SIGINT while powerlevel10k is running --- internal/p10k.zsh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'internal') diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 183b33f3..4923b20b 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -1,4 +1,4 @@ -if [[ $__p9k_sourced != 10 ]]; then +if [[ $__p9k_sourced != 11 ]]; then >&2 print -P "" >&2 print -P "[%F{1}ERROR%f]: Corrupted powerlevel10k installation." >&2 print -P "" @@ -5244,7 +5244,8 @@ _p9k_prompt_haskell_stack_init() { # YSU_HARDCORE=1. See https://github.com/romkatv/powerlevel10k/issues/427. _p9k_preexec1() { _p9k_restore_special_params - (( ${+functions[TRAPINT]} )) || trap - INT + unset __p9k_trapint + trap - INT } _p9k_preexec2() { @@ -6446,15 +6447,21 @@ _p9k_trapint() { _p9k_precmd() { __p9k_new_status=$? __p9k_new_pipestatus=($pipestatus) + + trap "" INT + [[ -o ksh_arrays ]] && __p9k_ksh_arrays=1 || __p9k_ksh_arrays=0 [[ -o sh_glob ]] && __p9k_sh_glob=1 || __p9k_sh_glob=0 _p9k_restore_special_params _p9k_precmd_impl - (( ${+functions[TRAPINT]} )) || trap '_p9k_trapint; return 130' INT [[ ${+__p9k_instant_prompt_active} == 0 || -o no_prompt_cr ]] || __p9k_instant_prompt_active=2 setopt no_local_options no_prompt_bang prompt_percent prompt_subst prompt_cr prompt_sp + + # See https://www.zsh.org/mla/workers/2020/msg00612.html for the reason behind __p9k_trapint. + typeset -g __p9k_trapint='_p9k_trapint; return 130' + trap $__p9k_trapint INT } function _p9k_reset_prompt() { -- cgit v1.2.3