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:         (setf (gethash ,id *user-exception-classes*) ',symbol)
          (defun ,symbol (&rest initargs)
            (apply #'make-condition ',symbol initargs))
          (defmethod exception-typecode ((exc ,symbol))
            (load-time-value (make-typecode :tk_except ,id ,name (list ,@tc-members))))
          (defmethod userexception-values ((ex ,symbol))
            (list ,@(mapcar (lambda (slot-spec) `(slot-value ex ',(car slot-spec)))
                            slots))))))) 
  
  
  
  
  
  
  (defun report-systemexception (exc stream)
    (format stream
            "Exception ~A~_ minor ~A~_ completed ~A"
  	  (exception-id exc)
            (system-exception-minor exc)
            (system-exception-completed exc)))
  
  (defun report-userexception (exc stream)
    (format stream
            "User Exception (~A) ~_~S"
            (exception-id exc) (userexception-values exc)))
  
negative.code:                   ())
  
  (define-condition unknown-user-exception (corba:userexception)
                    ((id :initarg :id :reader unknown-exception-id)
                     (values :initarg :values :reader unknown-exception-values)))
  
  
  (defun exception-typecode (exception)
    "The typecode for the exception"
    (symbol-typecode (exception-name exception)))
  
  
  (defvar *user-exception-classes*
    (make-hash-table :test #'equal))
  