@@ -274,24 +274,30 @@ Checks the mode and that there is a live process."
274
274
(push (buffer-name b) repl-buffers)))
275
275
repl-buffers))
276
276
277
+ (defun inf-clojure--prompt-repl-buffer (prompt )
278
+ " Prompt the user to select an inf-clojure repl buffer.
279
+ PROMPT is a string to prompt the user.
280
+ Returns nil when no buffer is selected."
281
+ (let ((repl-buffers (inf-clojure-repls)))
282
+ (if (> (length repl-buffers) 0 )
283
+ (when-let ((repl-buffer (completing-read prompt repl-buffers nil t )))
284
+ (get-buffer repl-buffer))
285
+ (user-error " No buffers have an inf-clojure process" ))))
286
+
277
287
(defun inf-clojure-set-repl (always-ask )
278
288
" Set an inf-clojure buffer as the active (default) REPL.
279
289
If in a REPL buffer already, use that unless a prefix is used (or
280
290
ALWAYS-ASK). Otherwise get a list of all active inf-clojure
281
291
REPLS and offer a choice. It's recommended to rename REPL
282
292
buffers after they are created with `rename-buffer' ."
283
293
(interactive " P" )
284
- (if (and (not always-ask)
285
- (inf-clojure-repl-p))
286
- (progn
287
- (setq inf-clojure-buffer (current-buffer ))
288
- (message " Current inf-clojure REPL set to %s " inf-clojure-buffer))
289
- (let ((repl-buffers (inf-clojure-repls)))
290
- (if (> (length repl-buffers) 0 )
291
- (when-let ((repl-buffer (completing-read " Select default REPL: " repl-buffers nil t )))
292
- (setq inf-clojure-buffer (get-buffer repl-buffer))
293
- (message " Current inf-clojure REPL set to %s " inf-clojure-buffer))
294
- (user-error " No buffers have an inf-clojure process" )))))
294
+ (when-let ((new-repl-buffer
295
+ (if (or always-ask
296
+ (not (inf-clojure-repl-p)))
297
+ (inf-clojure--prompt-repl-buffer " Select default REPL: " )
298
+ (current-buffer ))))
299
+ (setq inf-clojure-buffer new-repl-buffer)
300
+ (message " Current inf-clojure REPL set to %s " new-repl-buffer)))
295
301
296
302
(defvar inf-clojure--repl-type-lock nil
297
303
" Global lock for protecting against proc filter race conditions.
0 commit comments