From 96845524a66aecfd4fa01f1b23f80bbf753f1130 Mon Sep 17 00:00:00 2001 From: "Barton E. Schaefer" Date: Sun, 15 Oct 2017 11:17:06 -0700 Subject: 41899: handle multi-word values of $VISUAL et al., and line counting of buffer for emacs startup --- Functions/Zle/edit-command-line | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Functions') diff --git a/Functions/Zle/edit-command-line b/Functions/Zle/edit-command-line index 353f2609a..e17893e93 100644 --- a/Functions/Zle/edit-command-line +++ b/Functions/Zle/edit-command-line @@ -15,15 +15,15 @@ (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[2] # Open the editor, placing the cursor at the right place if we know how. - local editor=${${VISUAL:-${EDITOR:-vi}}} + local editor=( "${(@Q)${(z)${VISUAL:-${EDITOR:-vi}}}}" ) case $editor in (*vim*) integer byteoffset=$(( $#PREBUFFER + $#LBUFFER + 1 )) - ${=editor} -c "normal! ${byteoffset}go" -- $1;; + "${(@)editor}" -c "normal! ${byteoffset}go" -- $1;; (*emacs*) - local lines=( ${(f):-"$PREBUFFER$LBUFFER"} ) - ${=editor} +${#lines}:$((${#lines[-1]} + 1)) $1;; - (*) ${=editor} $1;; + local lines=( "${(@f):-"$PREBUFFER$LBUFFER"}" ) + "${(@)editor}" +${#lines}:$((${#lines[-1]} + 1)) $1;; + (*) "${(@)editor}" $1;; esac (( $+zle_bracketed_paste )) && print -r -n - $zle_bracketed_paste[1] -- cgit 1.4.1