Hello!
When working on a double-linked list data structure I noticed that in the current implementation `pp-buffer' and therefore `pp-to-string' and `pp' produce not-so-pretty output:
;; -----
[mu-queue 3 #1=[mu-queue--node 1 nil #2=[mu-queue--node 2 #1# #3=[mu-queue--node 3 #2# nil]]]
#3#]
;; -----
Applying the attached patch would result in the form:
;; -----
[mu-queue 3
#1=[mu-queue--node 1 nil
#2=[mu-queue--node 2 #1#
#3=[mu-queue--node 3 #2# nil]]]
#3#]
;; -----
which corresponds better to the behaviour withouut `print-circle'. Since there should be whitespace before the #1=(...) forms, the change also should not break existing behaviour.
kind regards, Klaus-Dieter Bauer
PS: Without `print-circle' the data structure reads
[mu-queue 3
[mu-queue--node 1 nil
[mu-queue--node 2 #1
[mu-queue--node 3 #2 nil]]]
[mu-queue--node 3
[mu-queue--node 2
[mu-queue--node 1 nil #2]
#1]
nil]]