anchor.diff:  	      :initarg :completed
                 :type CORBA::completion_status
   	      :reader system-exception-completed))
  -  (:report report-systemexception)
  -  #-clisp
  -  (:default-initargs
  -      :id "IDL:omg.org/CORBA/SystemException:1.0"))
  +  (:report report-systemexception))
   
  +(define-method minor ((obj systemexception))
  +  (system-exception-minor obj))
   
  +(define-method completed ((obj systemexception))
  +  (system-exception-completed obj))
   
  +(defun report-systemexception (exc stream)
  +  (format stream
  +          "Exception ~S (~A) ~A"
  +	  (exception-name exc)
  +          (system-exception-minor exc)
  +          (system-exception-completed exc)))
   
   
   (macrolet
  
positive.code:                   ())
  
  (define-condition unknown-user-exception (corba:userexception)
                    ((id :initarg :id :reader exception-id)
                     (values :initarg :values :reader exception-values)))
  
  
  (defgeneric exception-typecode (exception)
    (:documentation "The typecode for the exception"))
  
  (defmethod exception-id ((exc corba:userexception))
    (op:id (exception-typecode exc)))
  
  (defvar *user-exception-classes*
    (make-hash-table :test #'equal))
  
negative.code:                            (id (format nil "IDL:omg.org/CORBA/~A:1.0" namestr))
                             (sym (intern namestr :CORBA)))
                        `(progn
                           (define-condition ,sym (corba:systemexception))
                           (defmethod exception-name ((exc ,sym)) ',sym)
                           (set-symbol-ifr-id ',sym ,id)
                           (setf (gethash ,id *system-execption-classes*) ',sym) ))))))
    (define-system-exceptions
        UNKNOWN BAD_PARAM NO_MEMORY IMP_LIMIT
  