(output-ugly-object array stream))
((and *print-readably*
(not (array-readably-printable-p array)))
- (restart-case
- (error 'print-not-readable :object array)
- (print-unreadably ()
- :report "Print unreadably."
- (let ((*print-readably* nil))
- (pprint-array stream array)))
- (use-value (o)
- :report "Supply an object to be printed instead."
- :interactive read-unreadable-replacement
- (write o :stream stream))))
+ (if *read-eval*
+ (if (vectorp array)
+ (sb!impl::output-unreadable-vector-readably array stream)
+ (sb!impl::output-unreadable-array-readably array stream))
+ (print-not-readable-error array stream)))
((vectorp array)
(pprint-vector stream array))
(t
(consp (cdr list))
(cddr list)
;; Filter out (FLET FOO :IN BAR) names.
- (not (eq :in (third list))))
+ (and (consp (cddr list))
+ (not (eq :in (third list)))))
(funcall (formatter
"~:<~^~W~^ ~@_~:<~@{~:<~^~W~^~3I ~:_~/SB!PRETTY:PPRINT-LAMBDA-LIST/~1I~:@_~@{~W~^ ~_~}~:>~^ ~_~}~:>~1I~@:_~@{~W~^ ~_~}~:>")
stream
(defun pprint-defmethod (stream list &rest noise)
(declare (ignore noise))
- (if (consp (third list))
+ (if (and (consp (cdr list))
+ (consp (cddr list))
+ (consp (third list)))
(pprint-defun stream list)
(funcall (formatter
"~:<~^~W~^ ~@_~:I~W~^ ~W~^ ~:_~/SB!PRETTY:PPRINT-LAMBDA-LIST/~1I~@{ ~_~W~}~:>")
(declare (ignore noise))
(destructuring-bind (loop-symbol . clauses) list
(declare (ignore loop-symbol))
- (if (or (null clauses) (consp (car clauses)))
+ (if (or (atom clauses) (consp (car clauses)))
(pprint-spread-fun-call stream list)
(pprint-extended-loop stream list))))