anchor.diff:  ;;;; Sending requests
   
   
  -(defun request-start-request (req)
  +(defun request-start-request (req handler)
  +  "Connect REQ target and call HANDLER with connection, request-id"
  +  (setf (request-status req) nil)
     (let ((object (request-target req)))
       (let ((conn (get-object-connection object)))
         (unless conn
           (raise-system-exception 'corba:transient 2 :completed_no))
  -      (setf (request-connection req) conn)    
  -      (setf (request-status req) nil)
  -      ;;(setf (request-id req) (next-request-id conn))
  -      (setf (request-effective-profile req)
  -            (selected-profile (or (object-forward object) object)))
  -      (values conn))))
  +      (setf (request-connection req) conn)
  +      (let ((req-id (next-request-id conn)))
  +        (setf (request-id req) req-id)
  +        (setf (request-effective-profile req)
  +              (selected-profile (or (object-forward object) object)))
  +        (funcall handler conn req-id)
  +        (values conn)))))
   
   
   (defun static-error-handler (condition)
     (error condition))
   
  +
  +(defvar *call-hook* nil)
   
   (defun do-static-call (obj operation response-expected
                          output-func input-func exceptions)
  
positive.code: ;;;; clorb-request.lisp -- Client Request
  ;; $Id: clorb-request.lisp,v 1.12 2004/02/08 19:18:57 lenst Exp $
  
  (in-package :clorb)
  
  
negative.code:               :input-func input-func 
                :error-handler #'static-error-handler)))
      (request-send req)
      (if *call-hook* 
        (funcall *call-hook* req)
        (when response-expected
          (request-get-response req)))))
  
  
  (defun request-invoke (req)
  