anchor.diff:  
   
   (defun input-context-wait-test (stream)
  -  (declare (ignore stream))
     (let* ((queue (stream-input-buffer stream))
   	 (event (event-queue-peek queue)))
       (when event
  
positive.code:     `(block ,return-block
         (multiple-value-bind ,vars
  	   (block ,context-block
  	     (let ((*input-context* 
  		    (cons (cons (expand-presentation-type-abbreviation ,type)
  				#'(lambda (object type event options)
  				    (return-from ,context-block
  				      (values object type event options))))
  			  ,(if override nil '*input-context*)))
  
negative.code: 					    (event-sheet button-event)
  					    button-event))
  
  (defmacro with-input-context ((type &key override)
  			      (&optional (object-var (gensym))
  					 (type-var (gensym))
  					 event-var
  					 options-var)
  			      form
  			      &body pointer-cases)
    (let ((vars `(,object-var
  		,type-var
  		,@(and event-var `(,event-var))
  		,@(and options-var `(,options-var))))
  