评论由:neapel
更多坏消息!
手动创建美观写器也不见效,因为它没有被正确刷新
user=> (binding [*out* (get-pretty-writer *out*)] (cl-format true "hello ~_world~%")) hello world nil user=> (binding [*out* (get-pretty-writer *out*)] (cl-format true "hello ~_world")) hellonil user=> (binding [*out* (get-pretty-writer *out*)] (cl-format true "hello ~_world") (.ppflush *out*)) hello worldnil
~%
插入一个无条件换行符 {{\n}},这也符合预期。
在前面插入 \~\_
,它只会打印到那里的一个。但我还设法让它在中途停止,可能是由于其他命令刷新了它。
手动刷新它,就像神秘的私有宏 {{with-pretty-writer}} 一样,确实可以工作。
我不明白为什么 {{get-pretty-writer}} 被公开,但没有暴露使用它的宏。而且使用美观写器设施的所有函数都应该使用 with-pretty-writer,这似乎是专门为其设计的。这样,就没有必要公开它(或者 get-pretty-writer)了。