anchor.diff:  
   ;;=========================================================================
   
  +(defun %transform/raw-value ( tc )  
  +  (let ((original-values
  +	 (mapcar #'(lambda (cursor default)
  +		     (if (done-p cursor)
  +			 default
  +			 (value cursor)))
  +		 (original-cursors tc)
  +		 (default-values tc))))
  +    (apply (transform-f tc) original-values)))
  +
   
   (defmethod value ( (tc transform-cursor-t))
     (when (done-p tc)
       (error 'cursor-finished-condition
   	   "Cursor ~A is finished but you tried to access it's (value...)"
   	   :cursor tc))
  -  (let ((original-values
  -	  (mapcar #'(lambda (cursor default)
  -		      (if (done-p cursor)
  -			  default
  -			  (value cursor)))
  -		  (original-cursors tc)
  -		  (default-values tc))))
  -    (apply (transform-f tc) original-values)))
  -
  +  (%transform/raw-value tc))
   
   ;;=========================================================================
   
  
positive.code: 		 (+ key-pos 2)))
  	list)))
  
  (defun cursor/filter (&key filter-func 
  			cursors 
  			(trans-func #'list))
    (make-instance 'filter-cursor-t
  
negative.code: 
  ;;=========================================================================
  
  (defmethod clone ( (filter filter-cursor-t) )
    (let ((copy (call-next-method)))
      (setf (slot-value copy 'filter-f)
  	  (filter-f filter))
      copy))   
  
  ;;=========================================================================
  
  (defmethod done-p ( (filter filter-cursor-t) )
    (if (call-next-method)
        (return-from done-p t))
    (do
     ()
     ((or
       (call-next-method filter)
       (funcall (filter-f filter) (%transform/raw-value filter)))
      (call-next-method))
      (mapcar #'next
  	    (original-cursors filter))))
  
      
  
  
  ;;=========================================================================
  
  (defmethod value ( (filter filter-cursor-t) )
    (do
     ()
  