漂亮的换行符,但多余的换行符

时间:2018-09-03 09:43:01

标签: common-lisp

有没有办法使用漂亮的印刷机,说这里需要换行,但不超过一个?

我为注释添加了S表达式节点类型,并且我正在尝试使漂亮的打印机成功输出它们。这是首选格式的示例输入

(defun f ()
  ; a
  ; b
  z)

这是一次漂亮打印的尝试

(set-pprint-dispatch `(cons (eql ,+comment+)) #'print-comment)

然后

(defun print-comment (*standard-output* a)
  (princ (cadr a)))

产生此错误的输出

(DEFUN F () ; a ; b Z)

所以漂亮的打印机不知道注释需要放在单独的行上,这很公平,我需要告诉我们

(defun print-comment (*standard-output* a)
  (pprint-newline :mandatory)
  (princ (cadr a))
  (pprint-newline :mandatory))

并获得此输出

(DEFUN F ()

  ; a


  ; b

  Z)

这也不是什么好事。有没有办法告诉漂亮的打印机在没有多余换行符的情况下输出换行符?

0 个答案:

没有答案