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]]