src/: Make pretty-printing better at handling tight margins.
[sod] / src / c-types-impl.lisp
index 89a7c27..5bd9703 100644 (file)
                     (when spacep (c-type-space stream))
                     (funcall print-kernel stream 2 nil)
                     (pprint-indent :block 4 stream)
+                    (pprint-newline :linear stream)
                     (pprint-logical-block
                         (stream nil :prefix "(" :suffix ")")
                       (funcall print-args stream))))))
     (stream (type c-function-type) &optional colon atsign)
   (declare (ignore colon atsign))
   (format stream "~:@<~
-                 FUN ~@_~:I~/sod:print-c-type/~
-                 ~{ ~_~:<~S ~@_~/sod:print-c-type/~:>~}~
+                 FUN ~@_~:I~
+                 ~/sod:print-c-type/~:[~; ~]~:*~_~
+                 ~<~@{~:<~S ~@_~/sod:print-c-type/~:>~^ ~_~}~:>~
                  ~:>"
          (c-type-subtype type)
          (mapcar (lambda (arg)