[Fix #263, Fix #314] Ensure application mode is valid before use

This commit is contained in:
Sorin Ionescu 2012-10-17 12:43:48 -04:00
parent 52db7bb0f6
commit 1788d73cd8
1 changed files with 12 additions and 10 deletions

View File

@ -146,16 +146,18 @@ zle -N editor-info
function zle-keymap-select zle-line-init zle-line-finish { function zle-keymap-select zle-line-init zle-line-finish {
# The terminal must be in application mode when ZLE is active for $terminfo # The terminal must be in application mode when ZLE is active for $terminfo
# values to be valid. # values to be valid.
case "$0" in if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
(zle-line-init) case "$0" in
# Enable terminal application mode. (zle-line-init)
echoti smkx # Enable terminal application mode.
;; echoti smkx
(zle-line-finish) ;;
# Disable terminal application mode. (zle-line-finish)
echoti rmkx # Disable terminal application mode.
;; echoti rmkx
esac ;;
esac
fi
# Update editor information. # Update editor information.
zle editor-info zle editor-info