anchor.diff:                   (list (make-instance 'item :x (stream-cursor-position stream))))
            'vector))
     ;;
  -  (print *items* *trace-output*)
  +  (when *debug-p*
  +    (print *items* *trace-output*))
     (setf *pointer* 0)
     (setf *phase* :doit)
     (setf (stream-cursor-position stream) (values cx cy))
  
positive.code:                  t)))))))
  
  (defmethod stream-pprint-indent ((stream extended-output-stream) relative-to amount)
    (ecase *phase*
      (:collect
       (push (make-instance 'indent
              :relative-to relative-to
              :amount amount
              :x (stream-cursor-position stream))
        *items*))
      (:doit
       (case relative-to
         (:current
          (setf (block-ind (car *block-stack*))
           (+ (stream-cursor-position stream)
            (* amount (text-size stream "m")))))
         (:block
          (setf (block-ind (car *block-stack*))
           (+ (block-x0 (car *block-stack*))
            (* amount (text-size stream "m"))))))
       (incf *pointer*)
       )))
  
  ;;;;
  
  
negative.code: ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: PP2; -*-
  ;;; ---------------------------------------------------------------------------
  ;;;     Title: PPRINT for McCLIM
  ;;;   Created: 2003-05-18
  ;;;    Author: Gilbert Baumann <unk6@rz.uni-karlsruhe.de>
  ;;;   License: LGPL (See file COPYING for details).
  ;;;       $Id: pprint.lisp,v 1.2 2003/05/18 08:56:19 gilbert Exp $
  ;;; ---------------------------------------------------------------------------
  ;;;  (c) copyright 2003 by Gilbert Baumann
  
  ;;; This library is free software; you can redistribute it and/or
  ;;; modify it under the terms of the GNU Library General Public
  ;;; License as published by the Free Software Foundation; either
  ;;; version 2 of the License, or (at your option) any later version.
  ;;;
  ;;; This library is distributed in the hope that it will be useful,
  ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  ;;; Library General Public License for more details.
  ;;;
  ;;; You should have received a copy of the GNU Library General Public
  ;;; License along with this library; if not, write to the 
  ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 
  ;;; Boston, MA  02111-1307  USA.
  
  ;;;; Notes
  
  ;; - INVOKE-WITH-LOGICAL-BLOCK
  ;;
  ;; - The specification is explict about depth abbreviation and dotted
  ;;   So the common implementation should share this. Specifically that
  ;;   is the DESCEND-INTO and the implementation of POP and
  ;;   EXIT-IF-EXHAUSTED. Whether DESCEND-INTO might also be worth
  ;;   protocolizing is an open question. Although a case can be made
  ;;   for also protocolizing that.
  
  ;; - Hefner wants nifty unreadable objects therefore we might think
  ;;   about protolizing print-unreadable-object too.
  
  ;; - How we can integrate this into a _practically_ closed source lisp
  ;;   like ACL or Lispworks is uncertain. But looking at the macro
  ;;   expansion both seem to use XP so the source is there and we could
  ;;   figure out which functions need to be adviced / replaced.
  
  ;; - I have no clue how *PRINT-CIRCLE* and *PRINT-SHARE* are
  ;;   implemented, we need to figure that out.
  
  (defpackage :pp2
    (:use :clim :clim-lisp)
    (:import-from :SB-PRETTY
     #:INVOKE-WITH-LOGICAL-BLOCK
     #:STREAM-PPRINT-TAB 
  