@@ -248,48 +248,40 @@ Bind the value of the provided KEYS and execute BODY."
248248(put 'nrepl-dbind-response 'lisp-indent-function 2 )
249249
250250(defun nrepl-make-response-handler
251- (buffer value-handler stdout-handler stderr-handler done-handler
252- &optional eval-error-handler)
251+ (buffer value-handler stdout-handler stderr-handler done-handler
252+ &optional eval-error-handler)
253253 " Make a response handler for BUFFER.
254254Uses the specified VALUE-HANDLER, STDOUT-HANDLER, STDERR-HANDLER,
255255DONE-HANDLER, and EVAL-ERROR-HANDLER as appropriate."
256- (let ((buffer buffer)
257- (value-handler value-handler)
258- (stdout-handler stdout-handler)
259- (stderr-handler stderr-handler)
260- (done-handler done-handler)
261- (eval-error-handler eval-error-handler))
262- (lambda (response )
263- (nrepl-dbind-response response (value ns out err status id ex root-ex
264- session)
265- (cond (value
266- (with-current-buffer buffer
267- (if ns
268- (setq nrepl-buffer-ns ns)))
269- (if value-handler
270- (funcall value-handler buffer value)))
271- (out
272- (if stdout-handler
273- (funcall stdout-handler buffer out)))
274- (err
275- (if stderr-handler
276- (funcall stderr-handler buffer err)))
277- (status
278- (if (member " interrupted" status)
279- (message " Evaluation interrupted. " ))
280- (if (member " eval-error" status)
281- (funcall (or eval-error-handler nrepl-err-handler)
282- buffer ex root-ex session))
283- (if (member " namespace-not-found" status)
284- (message " Namespace not found. " ))
285- (if (member " need-input" status)
286- (cider-need-input buffer))
287- (if (member " done" status)
288- (progn
289- (puthash id (gethash id nrepl-pending-requests) nrepl-completed-requests)
290- (remhash id nrepl-pending-requests)
291- (if done-handler
292- (funcall done-handler buffer))))))))))
256+ (lambda (response )
257+ (nrepl-dbind-response response (value ns out err status id ex root-ex
258+ session)
259+ (cond (value
260+ (with-current-buffer buffer
261+ (when ns (setq nrepl-buffer-ns ns)))
262+ (when value-handler
263+ (funcall value-handler buffer value)))
264+ (out
265+ (when stdout-handler
266+ (funcall stdout-handler buffer out)))
267+ (err
268+ (when stderr-handler
269+ (funcall stderr-handler buffer err)))
270+ (status
271+ (when (member " interrupted" status)
272+ (message " Evaluation interrupted. " ))
273+ (when (member " eval-error" status)
274+ (funcall (or eval-error-handler nrepl-err-handler)
275+ buffer ex root-ex session))
276+ (when (member " namespace-not-found" status)
277+ (message " Namespace not found. " ))
278+ (when (member " need-input" status)
279+ (cider-need-input buffer))
280+ (when (member " done" status)
281+ (puthash id (gethash id nrepl-pending-requests) nrepl-completed-requests)
282+ (remhash id nrepl-pending-requests)
283+ (when done-handler
284+ (funcall done-handler buffer))))))))
293285
294286; ;; communication
295287(defun nrepl-default-handler (response )
0 commit comments