anchor.diff:  
   (defvar *accepting-values-stream* nil)
   
  +(defmacro with-stream-in-own-window ((&optional (stream '*query-io*)
  +                                                &rest further-streams)
  +                                     &rest body)
  +  `(let* ((,stream (open-window-stream))
  +          ,@(mapcar (lambda (a-stream)
  +                      (list a-stream stream))
  +                    further-streams))
  +     (sleep 0.1) ;; hackhack.. some delay to "ensure" that the window-stream ist opened
  +     (unwind-protect
  +         (progn
  +           ,@body)
  +       (close ,stream))))
  +
   (defmacro accepting-values
       ((&optional (stream t)
         &rest args
  
positive.code:     (fresh-line stream)
      (with-output-as-presentation
  	(stream nil 'exit-button)
        (format stream "Exit"))
      (write-char #\space stream)
      (with-output-as-presentation
  	(stream nil 'abort-button)
        (format stream "Abort"))
      (terpri stream)))
  
  (defmethod stream-accept ((stream accepting-values-stream) type
  
negative.code:      (frame-class 'accept-values))
    (declare (ignore own-window exit-boxes modify-initial-query
      resize-frame label scroll-bars x-position y-position
      width height frame-class))
    (when (and align-prompts ;; t means the same as :right
               (not (eq align-prompts :left)))
      (setf align-prompts :right))
    (multiple-value-bind (cx cy) (stream-cursor-position stream)
      (let* ((*accepting-values-stream*
              (make-instance 'accepting-values-stream
  