anchor.diff:      `(block ,return-block
          (multiple-value-bind ,vars
   	   (block ,context-block
  -	     (let ((*input-context* 
  +	     (let ((*input-context*
   		    (cons (cons (expand-presentation-type-abbreviation ,type)
  -				#'(lambda (object type event options)
  +                                #'(lambda (object type event options)
   				    (return-from ,context-block
   				      (values object type event options))))
   			  ,(if override nil '*input-context*)))
  
positive.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))))
  
negative.code: 
  
  (defun input-context-wait-test (stream)
    (let* ((queue (stream-input-buffer stream))
  	 (event (event-queue-peek queue)))
      (when event
  