Save history before replacing shell process

Fixes an issue with history between shell reloads via refresh function call.
As `exec` replaces the current process in a non-gently fashion, the
persistent history could be out of sync with the in-memory history.

Calling `history --save` before `exec` should force the shell to persist the
history before replacing the current process.
This commit is contained in:
Derek Stavis 2015-10-01 17:05:16 -03:00 committed by Derek Stavis
parent 3610868fb3
commit 8b8a7c8d73

View File

@ -4,6 +4,9 @@
# OVERVIEW
# Refresh (reload) the current fish session.
function refresh -d "refresh the fish session"
set -q CI; or exec fish < /dev/tty
function refresh -d "Refresh fish session by replacing current process"
if not set -q CI
history --save
exec fish < /dev/tty
end
end