From 76f28cc908b8c7ce72bc54496c5af74f6ca29c63 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Wed, 22 Jun 2016 22:15:52 +0200 Subject: 38749: fixes for case at start of a line and for ksharrays --- ChangeLog | 5 +++++ Functions/Zle/select-bracketed | 2 ++ Functions/Zle/surround | 6 +++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a3b91cf4b..b2a8ee585 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-06-22 Oliver Kiddle + + * 38749: Functions/Zle/surround, Functions/Zle/select-bracketed: + fixes for case at start of a line and for ksharrays + 2016-06-22 Peter Stephenson * unposted: Src/lex.c: remove unused and no longer defined flag diff --git a/Functions/Zle/select-bracketed b/Functions/Zle/select-bracketed index 00f51be2c..d467bb804 100644 --- a/Functions/Zle/select-bracketed +++ b/Functions/Zle/select-bracketed @@ -12,6 +12,8 @@ # done # done +setopt localoptions noksharrays + local style=${${1:-$KEYS}[1]} matching="(){}[]<>bbBB" local -i find=${NUMERIC:-1} idx=${matching[(I)[${${1:-$KEYS}[2]}]]}%9 (( idx )) || return 1 # no corresponding closing bracket diff --git a/Functions/Zle/surround b/Functions/Zle/surround index b7be30b75..348ceecc2 100644 --- a/Functions/Zle/surround +++ b/Functions/Zle/surround @@ -69,7 +69,11 @@ case $WIDGET in before="${(k)matching[(r)[$before:q]]}" fi CUTBUFFER="$before$CUTBUFFER$after" - zle .vi-put-after -n 1 + if [[ CURSOR -eq 0 || $BUFFER[CURSOR] = $'\n' ]]; then + zle .vi-put-before -n 1 + else + zle .vi-put-after -n 1 + fi CUTBUFFER="$save_cut" CURSOR="$save_cur" ;; esac -- cgit 1.4.1