diff options
author | Barton E. Schaefer <schaefer@zsh.org> | 2014-12-27 23:59:29 -0800 |
---|---|---|
committer | Barton E. Schaefer <schaefer@zsh.org> | 2014-12-27 23:59:29 -0800 |
commit | 200accac63deae99eb9656b26363c85648bd6748 (patch) | |
tree | bd0461e34cb47f0f4f26e339efbc5cda479b0c2b /Functions/Zle | |
parent | 1cd802357096b60561b1a50c0c23ab357bbc0de3 (diff) | |
download | zsh-200accac63deae99eb9656b26363c85648bd6748.tar.gz zsh-200accac63deae99eb9656b26363c85648bd6748.tar.xz zsh-200accac63deae99eb9656b26363c85648bd6748.zip |
34067: safe tempfile creation, part 1
Diffstat (limited to 'Functions/Zle')
-rw-r--r-- | Functions/Zle/edit-command-line | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Functions/Zle/edit-command-line b/Functions/Zle/edit-command-line index 250cac65f..100af9601 100644 --- a/Functions/Zle/edit-command-line +++ b/Functions/Zle/edit-command-line @@ -6,12 +6,10 @@ # will give ksh-like behaviour for that key, # except that it will handle multi-line buffers properly. -local tmpfile=${TMPPREFIX:-/tmp/zsh}ecl$$ +() { + exec </dev/tty + ${=${VISUAL:-${EDITOR:-vi}}} $1 + print -Rz - "$(<$1)" +} =(<<<"$PREBUFFER$BUFFER") -print -R - "$PREBUFFER$BUFFER" >$tmpfile -exec </dev/tty -${=${VISUAL:-${EDITOR:-vi}}} $tmpfile -print -Rz - "$(<$tmpfile)" - -command rm -f $tmpfile zle send-break # Force reload from the buffer stack |