@@ -297,36 +297,40 @@ refresh functions (defined in `cider-ns-refresh-before-fn' and
297297`cider-ns-refresh-after-fn' ) from being invoked."
298298 (interactive " p" )
299299 (cider-ensure-connected)
300- (cider-ensure-op-supported " refresh" )
301- (cider-ensure-op-supported " cider.clj-reload/reload" )
302- (cider-ns-refresh--save-modified-buffers)
303- (let ((clear? (member mode '(clear 16 )))
304- (all? (member mode '(refresh-all 4 )))
305- (inhibit-refresh-fns (member mode '(inhibit-fns -1 ))))
306- (cider-map-repls :clj
307- (lambda (conn )
308- ; ; Inside the lambda, so the buffer is not created if we error out.
309- (let ((log-buffer (or (get-buffer cider-ns-refresh-log-buffer)
310- (cider-make-popup-buffer cider-ns-refresh-log-buffer))))
311- (when cider-ns-refresh-show-log-buffer
312- (cider-popup-buffer-display log-buffer))
313- (when inhibit-refresh-fns
314- (cider-emit-into-popup-buffer log-buffer
315- " inhibiting refresh functions\n "
316- nil
317- t ))
318- (when clear?
319- (cider-nrepl-send-sync-request `(" op" ,(cider-ns--reload-op " reload-clear" )) conn))
320- (cider-nrepl-send-request
321- `(" op" ,(cider-ns--reload-op (if all? " reload-all" " reload" ))
322- ,@(cider--nrepl-print-request-plist fill-column)
323- ,@(when (and (not inhibit-refresh-fns) cider-ns-refresh-before-fn)
324- `(" before" , cider-ns-refresh-before-fn ))
325- ,@(when (and (not inhibit-refresh-fns) cider-ns-refresh-after-fn)
326- `(" after" , cider-ns-refresh-after-fn )))
327- (lambda (response )
328- (cider-ns-refresh--handle-response response log-buffer))
329- conn))))))
300+ (if-let ((clj-connection (cider-current-repl 'clj )))
301+ (with-current-buffer clj-connection
302+ (cider-ensure-op-supported " refresh" )
303+ (cider-ensure-op-supported " cider.clj-reload/reload" )
304+ (cider-ns-refresh--save-modified-buffers)
305+ (let ((clear? (member mode '(clear 16 )))
306+ (all? (member mode '(refresh-all 4 )))
307+ (inhibit-refresh-fns (member mode '(inhibit-fns -1 ))))
308+ (funcall
309+ (lambda (conn )
310+ ; ; Inside the lambda, so the buffer is not created if we error out.
311+ (let ((log-buffer (or (get-buffer cider-ns-refresh-log-buffer)
312+ (cider-make-popup-buffer cider-ns-refresh-log-buffer))))
313+ (when cider-ns-refresh-show-log-buffer
314+ (cider-popup-buffer-display log-buffer))
315+ (when inhibit-refresh-fns
316+ (cider-emit-into-popup-buffer log-buffer
317+ " inhibiting refresh functions\n "
318+ nil
319+ t ))
320+ (when clear?
321+ (cider-nrepl-send-sync-request `(" op" ,(cider-ns--reload-op " reload-clear" )) conn))
322+ (cider-nrepl-send-request
323+ `(" op" ,(cider-ns--reload-op (if all? " reload-all" " reload" ))
324+ ,@(cider--nrepl-print-request-plist fill-column)
325+ ,@(when (and (not inhibit-refresh-fns) cider-ns-refresh-before-fn)
326+ `(" before" , cider-ns-refresh-before-fn ))
327+ ,@(when (and (not inhibit-refresh-fns) cider-ns-refresh-after-fn)
328+ `(" after" , cider-ns-refresh-after-fn )))
329+ (lambda (response )
330+ (cider-ns-refresh--handle-response response log-buffer))
331+ conn)))
332+ clj-connection)))
333+ (cider--no-repls-user-error 'clj )))
330334
331335(provide 'cider-ns )
332336; ;; cider-ns.el ends here
0 commit comments