Commits

Meikel Brandmeyer committed 95a94b0

Check that result window still exists

Comments (0)

Files changed (1)

vim/autoload/vimclojure.vim

 
 function! vimclojure#ResultWindow.New(buftype, ...) dict
 	if exists("t:vimclojure_result_window")
-		call t:vimclojure_result_window.goHere()
+		" Otherwise the result window was closed.
+		if t:vimclojure_result_window.findThis() != -1
+			call t:vimclojure_result_window.goHere()
 
-		if !t:vimclojure_result_window._buffer.isA(a:buftype)
-			let t:vimclojure_result_window._buffer = a:buftype.New()
+			if !t:vimclojure_result_window._buffer.isA(a:buftype)
+				let t:vimclojure_result_window._buffer = a:buftype.New()
+			else
+				call t:vimclojure_result_window.clear()
+			endif
+
+			return t:vimclojure_result_window
 		else
-			call t:vimclojure_result_window.clear()
+			unlet t:vimclojure_result_window
 		endif
-
-		return t:vimclojure_result_window
 	endif
 
 	let instance = call(self.__superWindowNew, [a:buftype] + a:000, self)