use abort argument for :function
fix {winnr} for setwinvar()