From f2b6a2101f72a3829adc2a0ddb3465414b35519b Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Fri, 27 Jun 2014 13:30:12 -0400 Subject: [PATCH] Ignore errors on autorequire if namespace created Closes #161. --- plugin/fireplace.vim | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugin/fireplace.vim b/plugin/fireplace.vim index e655290..fc847c3 100644 --- a/plugin/fireplace.vim +++ b/plugin/fireplace.vim @@ -187,8 +187,16 @@ function! s:repl.preload(lib) dict abort let reload = has_key(self.requires, a:lib) ? ' :reload' : '' let self.requires[a:lib] = 0 let clone = s:conn_try(self.connection, 'clone') + if self.user_ns() ==# 'user' + let qsym = s:qsym(a:lib) + let expr = '(when-not (find-ns '.qsym.') (try' + \ . ' (#''clojure.core/load-one '.qsym.' true true)' + \ . ' (catch Exception e (when-not (find-ns '.qsym.') (throw e)))))' + else + let expr = '(ns '.self.user_ns().' (:require '.a:lib.reload.'))' + endif try - let result = clone.eval('(ns '.self.user_ns().' (:require '.a:lib.reload.'))', {'ns': self.user_ns()}) + let result = clone.eval(expr, {'ns': self.user_ns()}) finally call clone.close() endtry