summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitalie Spinu <spinuvit@gmail.com>2018-08-13 16:52:08 +0200
committerBozhidar Batsov <bozhidar.batsov@gmail.com>2018-08-13 17:18:44 +0200
commit12674b3de377d6ae6f67ac155caea12f5de3c743 (patch)
treea30619c9ac85282a6c2991168cb20e95bdae37f9
parente24ed41cd1cdf9c9f6fc963328b8ebe5f719172d (diff)
[Fix #2401] Correctly pass dynamic vars to cider--update-jack-in-cmd
-rw-r--r--cider.el54
1 files changed, 28 insertions, 26 deletions
diff --git a/cider.el b/cider.el
index c544b832..bc423d08 100644
--- a/cider.el
+++ b/cider.el
@@ -932,16 +932,17 @@ prompt for all these parameters."
(let ((cider-jack-in-dependencies (append cider-jack-in-dependencies cider-jack-in-cljs-dependencies))
(cider-jack-in-lein-plugins (append cider-jack-in-lein-plugins cider-jack-in-cljs-lein-plugins))
(cider-jack-in-nrepl-middlewares (append cider-jack-in-nrepl-middlewares cider-jack-in-cljs-nrepl-middlewares))
- (orig-buffer (current-buffer))
- (params (thread-first params
- (cider--update-project-dir)
- (cider--update-jack-in-cmd))))
- (nrepl-start-server-process
- (plist-get params :project-dir)
- (plist-get params :jack-in-cmd)
- (lambda (server-buffer)
- (with-current-buffer orig-buffer
- (cider-connect-sibling-cljs params server-buffer))))))
+ (orig-buffer (current-buffer)))
+ ;; cider--update-jack-in-cmd relies indirectly on the above dynamic vars
+ (let ((params (thread-first params
+ (cider--update-project-dir)
+ (cider--update-jack-in-cmd))))
+ (nrepl-start-server-process
+ (plist-get params :project-dir)
+ (plist-get params :jack-in-cmd)
+ (lambda (server-buffer)
+ (with-current-buffer orig-buffer
+ (cider-connect-sibling-cljs params server-buffer)))))))
;;;###autoload
(defun cider-jack-in-clj&cljs (&optional params soft-cljs-start)
@@ -954,22 +955,23 @@ cljs REPL only when the ClojureScript dependencies are met."
(let ((cider-jack-in-dependencies (append cider-jack-in-dependencies cider-jack-in-cljs-dependencies))
(cider-jack-in-lein-plugins (append cider-jack-in-lein-plugins cider-jack-in-cljs-lein-plugins))
(cider-jack-in-nrepl-middlewares (append cider-jack-in-nrepl-middlewares cider-jack-in-cljs-nrepl-middlewares))
- (orig-buffer (current-buffer))
- (params (thread-first params
- (cider--update-project-dir)
- (cider--update-jack-in-cmd)
- (cider--update-cljs-type)
- (plist-put :do-prompt nil))))
- (nrepl-start-server-process
- (plist-get params :project-dir)
- (plist-get params :jack-in-cmd)
- (lambda (server-buffer)
- (with-current-buffer orig-buffer
- (let ((clj-repl (cider-connect-sibling-clj params server-buffer)))
- (if soft-cljs-start
- (when (cider--check-cljs (plist-get params :cljs-repl-type) 'no-error)
- (cider-connect-sibling-cljs params clj-repl))
- (cider-connect-sibling-cljs params clj-repl))))))))
+ (orig-buffer (current-buffer)))
+ ;; cider--update-jack-in-cmd relies indirectly on the above dynamic vars
+ (let ((params (thread-first params
+ (cider--update-project-dir)
+ (cider--update-jack-in-cmd)
+ (cider--update-cljs-type)
+ (plist-put :do-prompt nil))))
+ (nrepl-start-server-process
+ (plist-get params :project-dir)
+ (plist-get params :jack-in-cmd)
+ (lambda (server-buffer)
+ (with-current-buffer orig-buffer
+ (let ((clj-repl (cider-connect-sibling-clj params server-buffer)))
+ (if soft-cljs-start
+ (when (cider--check-cljs (plist-get params :cljs-repl-type) 'no-error)
+ (cider-connect-sibling-cljs params clj-repl))
+ (cider-connect-sibling-cljs params clj-repl)))))))))
;;;###autoload
(defun cider-connect-sibling-clj (params &optional other-repl)