Preserve cursor position with `sudo-command-line' [Closes: issue980]
[grml-etc-core.git] / etc / zsh / zshrc
index 0b82cb3..8643fae 100644 (file)
@@ -938,7 +938,10 @@ bindkey '^z' grml-zsh-fg
 # run command line as user root via sudo:
 sudo-command-line() {
     [[ -z $BUFFER ]] && zle up-history
-    [[ $BUFFER != sudo\ * ]] && BUFFER="sudo $BUFFER"
+    if [[ $BUFFER != sudo\ * ]]; then
+        BUFFER="sudo $BUFFER"
+        CURSOR=$(( CURSOR+5 ))
+    fi
 }
 zle -N sudo-command-line
 
@@ -2052,9 +2055,7 @@ function info_print () {
     esc_end="$2"
     shift 2
     printf '%s' ${esc_begin}
-    for item in "$@" ; do
-        printf '%s ' "$item"
-    done
+    printf '%s' "$*"
     printf '%s' "${esc_end}"
 }