DIRECTORY Rope, Xl, XlPrivateErrorHandling; XlDebuggableErrors: CEDAR PROGRAM IMPORTS Xl, XlPrivateErrorHandling ~ BEGIN RaiseErrorEvent: PROC [errorEvent: Xl.ErrorNotifyEvent] ~ { originalCodeByte: BYTE ¬ ORD[errorEvent.type]; dispatchDrawable: Xl.Drawable ¬ errorEvent.dispatchDrawable; connection: Xl.Connection ¬ errorEvent.connection; --note that the connection may be NIL for errors raised inline (synchronous) explanation: Rope.ROPE ¬ errorEvent.explanation; errorKind: Xl.ErrorKind ¬ errorEvent.errorKind; serverGenerated: BOOL ¬ errorEvent.serverGenerated; originalError: BYTE ¬ errorEvent.originalError; majorOpCode: BYTE ¬ errorEvent.majorOpCode; minorOpCode: CARD16 ¬ errorEvent.minorOpCode; badValue: CARD32 ¬ errorEvent.badValue; replyText: REF ¬ errorEvent.replyText; internal: REF ¬ errorEvent.internal; ERROR Xl.XError[errorEvent]; }; XlPrivateErrorHandling.RegisterRaiseErrorEvent[RaiseErrorEvent]; END. ΘXlDebuggableErrors.mesa Copyright Σ 1993 by Xerox Corporation. All rights reserved. Created by Christian Jacobi, May 3, 1993 10:47 am PDT Christian Jacobi, May 4, 1993 9:36 am PDT Raising errors (e.g. the error returned through X window error events) This functionality is presented in a separate module because it is compiled in debuggable mode even if the rest of Xl would be optimized and not debuggable. Presence or absence of this module is optional; it registers itself. Note the presence of a switches file sun4>XlDebuggableErrors.c2c.o.switches which makes this debuggable. --This error is raised most often when the X server returned an error-event instead of a reply as answer to a request. ΚP–(cedarcode) style•NewlineDelimiter ˜code™Kšœ Οeœ1™