clojure-emacs / clojure-emacs/cider

Missing exception output when evaluating a form from cljs-buffer

Open
#3,223 7 comments 0 reactions 0 assignees View on GitHub
bug ClojureScript
Dominant language
Emacs Lisp
Stars
3.7k
Forks
651
Avg merge
11h 6m
Merged PRs (30d)
33

Description

**Remove all of the placeholder text in your final report!**

## Expected behavior

Given a cljs form which throws an exception. When evaluating the form in a cljs-buffer, the thrown exception should be printed in the REPL-buffer the same way as if it was evaluated in the REPL-buffer.

## Actual behavior

Evaluating a cljs form which throws an exception from the REPL-buffer prints the exception. Evaluating the same form from the cljs-buffer does not print the exception.

## Steps to reproduce the problem

I have a deps.edn project with shadow-cljs and a Google Firebase Functions emulator as runtime. Connected to CIDER. I could reproduce the same problem with the browser as runtime.

When I evaluate `(println "hello")` in a cljs-buffer, I get `==> nil` as output in the buffer. And I can see `hello` printed into the REPL-buffer.

When I evaluate `(throw (js/Error. "boom"))` in the cljs-buffer, I get `==> :repl/error` as output in the buffer. And **nothing** is printed into the REPL-buffer. But when I evaluate `(throw (js/Error. "boom"))` in the REPL-buffer, then the error **is** printed into the REPL-buffer right before `==> :repl/error`.

So it seams a successful evaluation from a cljs-buffer "happens" in the REPL-buffer, while a failed evaluation does not.

## Environment & Version information

### CIDER version information

```
;; CIDER 1.3.0 (Ukraine), nREPL 0.9.0
;; Clojure 1.11.1, Java 11.0.15
```

### Emacs version

`GNU Emacs 28.1.50`

### Operating system

`Manjaro Ruah 21.3.3`

### shadow-cljs

`thheller/shadow-cljs {:mvn/version "2.19.5"}`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.