aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2020-05-07 00:13:56 +0300
committerromkatv <roman.perepelitsa@gmail.com>2020-05-07 00:13:56 +0300
commitdc1f0233440606a9b175b5f2871a098c24af5c74 (patch)
tree9a8ec9ec47e51b5683ffdaa127f87f929aff79ff
parentaceb1c5c77261594f16f662942da2f06f6a6bfdf (diff)
work around more zsh bugs w.r.t. local traps
-rw-r--r--internal/p10k.zsh2
-rw-r--r--powerlevel10k.zsh-theme6
2 files changed, 5 insertions, 3 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index d82be693..5cc3195e 100644
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -6428,7 +6428,7 @@ _p9k_precmd() {
__p9k_new_status=$?
__p9k_new_pipestatus=($pipestatus)
- trap "" INT
+ trap ":" INT
[[ -o ksh_arrays ]] && __p9k_ksh_arrays=1 || __p9k_ksh_arrays=0
[[ -o sh_glob ]] && __p9k_sh_glob=1 || __p9k_sh_glob=0
diff --git a/powerlevel10k.zsh-theme b/powerlevel10k.zsh-theme
index efe1567f..4ab56335 100644
--- a/powerlevel10k.zsh-theme
+++ b/powerlevel10k.zsh-theme
@@ -19,9 +19,11 @@
(( $+__p9k_root_dir )) || typeset -gr __p9k_root_dir=${POWERLEVEL9K_INSTALLATION_DIR:-${${(%):-%x}:A:h}}
(( $+__p9k_intro )) || {
- # Note: leading spaces before `local` are important. Otherwise Antigen will remove `local` (!!!).
+ # Leading spaces before `local` are important. Otherwise Antigen will remove `local` (!!!).
+ # __p9k_trapint is to work around bugs in zsh: https://www.zsh.org/mla/workers/2020/msg00612.html.
+ # Likewise for `trap ":"` instead of the plain `trap ""`.
typeset -gr __p9k_intro_base='emulate -L zsh -o no_hist_expand -o extended_glob -o no_prompt_bang -o prompt_percent -o no_prompt_subst -o no_aliases -o no_bg_nice -o typeset_silent
- trap "" INT
+ trap ":" INT
trap "trap ${(q)__p9k_trapint:--} INT" EXIT
local -a match mbegin mend
local -i MBEGIN MEND OPTIND