anchor.diff:  	  (1- (length response-ids)))
   	 (t
   	  (setf 
  -	   (object-data dialog %*response-id-key*)
  +	   (object-data dialog 'response-id-key)
   	   (make-array 1 :adjustable t :fill-pointer t :initial-element id))
   	  0)))
         (error-p
  
positive.code:     (initial-apply-add dialog #'dialog-add-button initargs :button :buttons)))
    
  
  (defvar %*response-id-key* (gensym))
  
  (defun %dialog-find-response-id-num (dialog id &optional create-p error-p)
    (or
     (cadr (assoc id (rest (type-expand-1 'response-type))))
     (let ((response-ids (object-data dialog %*response-id-key*)))
      (cond
        ((and response-ids (position id response-ids :test #'equal)))
        (create-p
  
negative.code: 
  (defun dialog-add-button (dialog label &optional (response label)
  			  &key default object after)
    "Adds a button to the dialog."
    (let* ((id (if (functionp response)
  		 label
  	       response))
  