Skip to content

Dynamic variables in nrepl.middleware.print are not working #334

Description

@alexander-yakushev

Setting or binding dynamic variables *print-fn*, *stream?*, *buffer-size*, *quota* does not change the behavior of the print middleware. This happens because interruptible-eval and print middleware run on different threads, and thus changing the dynvars with set! within an eval command is not visible to the printer thread.

At this point, it is important to understand if this is worth fixing. Currently, print middleware allows customizing itself via the options in either request of response map. This is reliable and convenient to do for tooling authors that control the interaction with nREPL. Setting the parameters through dynvars was probably intended for end users who want to change the behavior of the printer directly from the REPL, bypassing the IDE/tooling . Do we want to support this usecase?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions