Skip to content

Missing exception output when evaluating a form from cljs-buffer #3223

Open
@witek

Description

@witek

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"}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions