home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / fj / sources / 835 < prev    next >
Encoding:
Text File  |  1992-11-17  |  25.9 KB  |  777 lines

  1. Newsgroups: fj.sources
  2. Path: sparky!uunet!stanford.edu!sun-barr!sh.wide!wnoc-kyo!omrongw!yoki
  3. From: yoki@ari.ncl.omron.co.jp (OKI Yukihiro)
  4. Subject: X11 Release 5 Public Patch #19
  5. Message-ID: <YOKI.92Nov17185451@ultraman.ari.ncl.omron.co.jp>
  6. Sender: news@omrongw.wg.omron.co.jp (News Manager)
  7. Nntp-Posting-Host: ultraman.ari.ncl.omron.co.jp
  8. Organization: Advanced Systems Research Center, OMRON Corporation, Kyoto, Japan
  9. Distribution: fj
  10. Date: Tue, 17 Nov 1992 09:54:51 GMT
  11. Lines: 764
  12.  
  13.  
  14.  
  15. *****************************************************************************
  16.  
  17.               Release 5 Public Patch #19
  18.                MIT X Consortium
  19.  
  20. This patch comes in two parts: this file, and the file "PEXlib.tar.Z".
  21.  
  22. (If you obtain this patch via the xstuff mail daemon, the second part
  23. is made from "PEXlib.uu.1", "PEXlib.uu.2", "PEXlib.uu.3", and "PEXlib.uu.4",
  24. which you must concatenate together to produce "PEXlib.uu" and then do
  25.     uudecode PEXlib.uu
  26. to produce "PEXlib.tar.Z".)
  27.  
  28. To apply this patch:
  29.  
  30. cd to the top of the source tree (to the directory containing the "mit"
  31. and "contrib" subdirectories) and do:
  32.     patch -p -s < ThisFile
  33. Patch will work silently unless an error occurs.
  34. If you want to watch patch do its thing, leave out the "-s" argument to patch.
  35.  
  36. Next, from the same top-level directory do:
  37.     uncompress -c PEXlib.tar.Z | tar xfp -
  38.  
  39. This patch creates new files in a new directory, mit/extensions/lib/PEXlib.
  40. If you are using a symbolic link tree, you will need to create new links.
  41.  
  42. Finally, to rebuild after applying this patch, cd to the "mit" subdirectory
  43. and do:
  44.     make Everything >& every.log
  45. Note: this will *not* "clean" your tree.
  46.  
  47. Brief notes on what this patch provides:
  48.  
  49. PEXlib: add implementation of PEXlib, a new X Consortium standard
  50. Xlib: improve extension error reporting
  51.  
  52. (Yes, the pre-req is for patch 17; patch 18 did not alter bug-report.
  53. But you must apply patch 18 before this one.)
  54.  
  55. Prereq: public-patch-17
  56.  
  57. *** /tmp/,RCSt1009632    Mon Nov 16 12:28:01 1992
  58. --- mit/bug-report    Mon Nov 16 12:27:52 1992
  59. ***************
  60. *** 2,8 ****
  61.   Subject: [area]: [synopsis]   [replace with actual area and short description]
  62.   
  63.   VERSION:
  64. !     R5, public-patch-17
  65.       [MIT public patches will edit this line to indicate the patch level]
  66.   
  67.   CLIENT MACHINE and OPERATING SYSTEM:
  68. --- 2,8 ----
  69.   Subject: [area]: [synopsis]   [replace with actual area and short description]
  70.   
  71.   VERSION:
  72. !     R5, public-patch-19
  73.       [MIT public patches will edit this line to indicate the patch level]
  74.   
  75.   CLIENT MACHINE and OPERATING SYSTEM:
  76. *** /tmp/,RCSt1009687    Mon Nov 16 12:44:47 1992
  77. --- mit/extensions/lib/Imakefile    Mon Nov 16 12:44:18 1992
  78. ***************
  79. *** 1,4 ****
  80. ! XCOMM $XConsortium: Imakefile,v 1.33.1.1 92/09/09 15:29:32 rws Exp $
  81.   #define DoNormalLib NormalLibXext
  82.   #define DoSharedLib SharedLibXext
  83.   #define DoDebugLib DebugLibXext
  84. --- 1,4 ----
  85. ! XCOMM $XConsortium: Imakefile,v 1.33.1.2 92/11/16 12:44:08 rws Exp $
  86.   #define DoNormalLib NormalLibXext
  87.   #define DoSharedLib SharedLibXext
  88.   #define DoDebugLib DebugLibXext
  89. ***************
  90. *** 15,21 ****
  91.         XINPUTDIRS = xinput
  92.   #endif
  93.   #if BuildPexClients
  94. !       PEXDIRS = PEX
  95.   #endif
  96.         SUBDIRS = $(XINPUTDIRS) $(PEXDIRS) xtest
  97.   
  98. --- 15,21 ----
  99.         XINPUTDIRS = xinput
  100.   #endif
  101.   #if BuildPexClients
  102. !       PEXDIRS = PEX PEXlib
  103.   #endif
  104.         SUBDIRS = $(XINPUTDIRS) $(PEXDIRS) xtest
  105.   
  106. *** /tmp/,RCSt1002929    Wed Nov 11 09:59:26 1992
  107. --- mit/config/Project.tmpl    Wed Nov 11 09:59:29 1992
  108. ***************
  109. *** 1,6 ****
  110.   XCOMM -------------------------------------------------------------------------
  111.   XCOMM X Window System Build Parameters
  112. ! XCOMM $XConsortium: Project.tmpl,v 1.138 91/09/10 09:02:12 rws Exp $
  113.   
  114.   /*****************************************************************************
  115.    *                                                                           *
  116. --- 1,6 ----
  117.   XCOMM -------------------------------------------------------------------------
  118.   XCOMM X Window System Build Parameters
  119. ! XCOMM $XConsortium: Project.tmpl,v 1.138.1.1 92/11/11 09:49:19 rws Exp $
  120.   
  121.   /*****************************************************************************
  122.    *                                                                           *
  123. ***************
  124. *** 123,128 ****
  125. --- 123,134 ----
  126.   #ifndef ProfileLibXdmcp
  127.   #define ProfileLibXdmcp        NO    /* profiled XDMCP library */
  128.   #endif
  129. + #ifndef DebugLibPex
  130. + #define DebugLibPex        NO    /* debugged PEX5 library */
  131. + #endif
  132. + #ifndef ProfileLibPex
  133. + #define ProfileLibPex        NO    /* profiled PEX5 library */
  134. + #endif
  135.   #ifndef ManDirectoryRoot
  136.   #ifdef ProjectRoot
  137.   #define ManDirectoryRoot Concat(ProjectRoot,/man)
  138. ***************
  139. *** 434,439 ****
  140. --- 440,451 ----
  141.   #ifndef NormalLibXinput
  142.   #define NormalLibXinput (!SharedLibXinput | ForceNormalLib)
  143.   #endif
  144. + #ifndef SharedLibPex
  145. + #define SharedLibPex HasSharedLibraries
  146. + #endif
  147. + #ifndef NormalLibPex
  148. + #define NormalLibPex (!SharedLibPex | ForceNormalLib)
  149. + #endif
  150.   #ifndef SharedLibPhigs
  151.   #define SharedLibPhigs NO    /* XXX - haven't made it sharable yet */
  152.   #endif
  153. ***************
  154. *** 538,543 ****
  155. --- 550,556 ----
  156.       FONTSERVERSRC = $(FONTSRC)/server
  157.        EXTENSIONSRC = $(TOP)/extensions
  158.            XILIBSRC = $(EXTENSIONSRC)/lib/xinput
  159. +         PEXLIBSRC = $(EXTENSIONSRC)/lib/PEXlib
  160.         PHIGSLIBSRC = $(EXTENSIONSRC)/lib/PEX
  161.   
  162.   /*
  163. ***************
  164. *** 586,591 ****
  165. --- 599,605 ----
  166.            SOXMUREV = SharedXmuRev
  167.           SOXEXTREV = SharedXextRev
  168.         SOXINPUTREV = SharedXinputRev
  169. +          SOPEXREV = SharedPexRev
  170.   #endif
  171.   
  172.   #if !SharedLibXext
  173. ***************
  174. *** 620,625 ****
  175. --- 634,643 ----
  176.           DEPXILIB = _UseCat($(USRLIBDIR),$(XILIBSRC),/libXi.a)
  177.              XILIB = LoaderLibPrefix _Use(-lXi,$(DEPXILIB))
  178.   #endif
  179. + #if !SharedLibPex
  180. +        DEPPEXLIB = _UseCat($(USRLIBDIR),$(PEXLIBSRC),/libPEX5.a)
  181. +           PEXLIB = LoaderLibPrefix _Use(-lPEX5,$(DEPPEXLIB))
  182. + #endif
  183.   #if !SharedLibPhigs
  184.           DEPPHIGSLIB = _UseCat($(USRLIBDIR),$(PHIGSLIBSRC),/libphigs.a)
  185.              PHIGSLIB = LoaderLibPrefix _Use(-lphigs,$(DEPPHIGSLIB))
  186. ***************
  187. *** 633,638 ****
  188. --- 651,657 ----
  189.           LINTXTOOL = _UseCat($(LINTLIBDIR),$(TOOLKITSRC),/llib-lXt.ln)
  190.             LINTXAW = _UseCat($(LINTLIBDIR),$(AWIDGETSRC),/llib-lXaw.ln)
  191.              LINTXI = _UseCat($(LINTLIBDIR),$(XILIBSRC),/llib-lXi.ln)
  192. +           LINTPEX = _UseCat($(LINTLIBDIR),$(PEXLIBSRC),/llib-lPEX5.ln)
  193.           LINTPHIGS = _UseCat($(LINTLIBDIR),$(PHIGSLIBSRC),/llib-lphigs.ln)
  194.   
  195.   #ifndef XawClientDepLibs
  196. *** /tmp/,RCSt1002938    Wed Nov 11 10:00:22 1992
  197. --- mit/config/ibmLib.tmpl    Wed Nov 11 10:00:23 1992
  198. ***************
  199. *** 1,4 ****
  200. ! XCOMM $XConsortium: ibmLib.tmpl,v 1.2 91/05/04 11:49:00 rws Exp $
  201.   
  202.   /*
  203.    * AIX shared library template
  204. --- 1,4 ----
  205. ! XCOMM $XConsortium: ibmLib.tmpl,v 1.2.1.1 92/11/11 09:50:49 rws Exp $
  206.   
  207.   /*
  208.    * AIX shared library template
  209. ***************
  210. *** 37,40 ****
  211. --- 37,44 ----
  212.   #if SharedLibXinput
  213.           DEPXILIB = /* _UseCat($(USRLIBDIR),$(XILIBSRC),/libXi.a) */
  214.              XILIB = _Use(-lXi,-L$(XILIBSRC) -lXi)
  215. + #endif
  216. + #if SharedLibPex
  217. +         DEPPEXLIB = /* _UseCat($(USRLIBDIR),$(PEXLIBSRC),/libPEX5.a */
  218. +            PEXLIB = _Use(-lPEX5,-L$(PEXLIBSRC) -lPEX5)
  219.   #endif
  220. *** /tmp/,RCSt1002945    Wed Nov 11 10:01:01 1992
  221. --- mit/config/sgi.cf    Wed Nov 11 10:01:03 1992
  222. ***************
  223. *** 1,4 ****
  224. ! XCOMM platform:  $XConsortium: sgi.cf,v 1.19 91/07/28 22:39:45 rws Exp $
  225.   
  226.   #define OSName            IRIX
  227.   XCOMM operating system:  OSName
  228. --- 1,4 ----
  229. ! XCOMM platform:  $XConsortium: sgi.cf,v 1.19.1.1 92/11/11 09:51:39 rws Exp $
  230.   
  231.   #define OSName            IRIX
  232.   XCOMM operating system:  OSName
  233. ***************
  234. *** 30,36 ****
  235.   
  236.   #define CCPreprocessorFlags /* As Nothing For the Standard "cpp" */
  237.   
  238. ! #define SymbolTables -Wf,-XNh2000
  239.   #define PexSymbolTables -Wf,-XNp15000,-XNd15000,-XNh2000
  240.   
  241.   /* NOTE: the SGI cc driver invoking the ANSI cpp does NOT define __STDC__ */
  242. --- 30,36 ----
  243.   
  244.   #define CCPreprocessorFlags /* As Nothing For the Standard "cpp" */
  245.   
  246. ! #define SymbolTables -Wf,-XNp9000,-XNd8000,-XNh2000
  247.   #define PexSymbolTables -Wf,-XNp15000,-XNd15000,-XNh2000
  248.   
  249.   /* NOTE: the SGI cc driver invoking the ANSI cpp does NOT define __STDC__ */
  250. *** /tmp/,RCSt1002952    Wed Nov 11 10:01:35 1992
  251. --- mit/config/sony.cf    Wed Nov 11 10:01:37 1992
  252. ***************
  253. *** 1,4 ****
  254. ! XCOMM platform:  $XConsortium: sony.cf,v 1.36 91/08/21 11:16:04 rws Exp $
  255.   
  256.   #ifdef SonyBsdArchitecture
  257.   
  258. --- 1,4 ----
  259. ! XCOMM platform:  $XConsortium: sony.cf,v 1.36.1.1 92/11/11 09:52:20 rws Exp $
  260.   
  261.   #ifdef SonyBsdArchitecture
  262.   
  263. ***************
  264. *** 45,51 ****
  265.   #define SystemV4        YES
  266.   #define CcCmd            /usr/bin/cc
  267.   #define HasSockets        YES
  268. ! #define DefaultCCOptions    -Wf,-XNp6000,-XNd6000
  269.   #define PexCCOptions        -Wf,-XNp15000,-XNd15000
  270.   
  271.   #endif
  272. --- 45,51 ----
  273.   #define SystemV4        YES
  274.   #define CcCmd            /usr/bin/cc
  275.   #define HasSockets        YES
  276. ! #define DefaultCCOptions    -Wf,-XNp8000,-XNd6000
  277.   #define PexCCOptions        -Wf,-XNp15000,-XNd15000
  278.   
  279.   #endif
  280. *** /tmp/,RCSt1002959    Wed Nov 11 10:02:11 1992
  281. --- mit/config/sunLib.tmpl    Wed Nov 11 10:02:12 1992
  282. ***************
  283. *** 1,4 ****
  284. ! XCOMM $XConsortium: sunLib.tmpl,v 1.14.1.1 92/03/17 14:58:46 rws Exp $
  285.   
  286.   /*
  287.    * SunOS shared library template
  288. --- 1,4 ----
  289. ! XCOMM $XConsortium: sunLib.tmpl,v 1.14.1.2 92/11/11 09:55:02 rws Exp $
  290.   
  291.   /*
  292.    * SunOS shared library template
  293. ***************
  294. *** 28,33 ****
  295. --- 28,36 ----
  296.   #ifndef SharedXTrapRev
  297.   #define SharedXTrapRev 1.0
  298.   #endif
  299. + #ifndef SharedPexRev
  300. + #define SharedPexRev 1.0
  301. + #endif
  302.   
  303.   SHLIBLDFLAGS = SharedLibraryLoadFlags
  304.   PICFLAGS = PositionIndependentCFlags
  305. ***************
  306. *** 68,71 ****
  307. --- 71,78 ----
  308.   #if SharedLibXinput
  309.           DEPXILIB = /* _UseCat($(USRLIBDIR),$(XILIBSRC),/libXi.sa.$(SOXINPUTREV)) */
  310.              XILIB = _Use(-lXi,-L$(XILIBSRC) -lXi)
  311. + #endif
  312. + #if SharedLibPex
  313. +         DEPPEXLIB = /* _UseCat($(USRLIBDIR),$(PEXLIBSRC),/libPEX5.sa.$(SOPEXREV)) */
  314. +            PEXLIB = _Use(-lPEX5,-L$(PEXLIBSRC) -lPEX5)
  315.   #endif
  316. *** /tmp/,RCSt1002966    Wed Nov 11 10:02:45 1992
  317. --- mit/config/sv4Lib.tmpl    Wed Nov 11 10:02:47 1992
  318. ***************
  319. *** 1,4 ****
  320. ! XCOMM $XConsortium: sv4Lib.tmpl,v 1.4 91/07/19 15:38:11 rws Exp $
  321.   
  322.   /*
  323.    * SVR4 shared library template
  324. --- 1,4 ----
  325. ! XCOMM $XConsortium: sv4Lib.tmpl,v 1.4.1.1 92/11/11 09:57:17 rws Exp $
  326.   
  327.   /*
  328.    * SVR4 shared library template
  329. ***************
  330. *** 25,30 ****
  331. --- 25,33 ----
  332.   #ifndef SharedXinputRev
  333.   #define SharedXinputRev 5.0
  334.   #endif
  335. + #ifndef SharedPexRev
  336. + #define SharedPexRev 1.0
  337. + #endif
  338.   
  339.   SHLIBLDFLAGS = SharedLibraryLoadFlags
  340.   PICFLAGS = PositionIndependentCFlags
  341. ***************
  342. *** 66,69 ****
  343. --- 69,76 ----
  344.   #if SharedLibXinput
  345.           DEPXILIB = /* _UseCat($(USRLIBDIR),$(XILIBSRC),/libXi.sa.$(SOXINPUTREV)) */
  346.              XILIB = _Use(-lXi,-L$(XILIBSRC) -lXi)
  347. + #endif
  348. + #if SharedLibPex
  349. +         DEPPEXLIB = /* _UseCat($(USRLIBDIR),$(PEXLIBSRC),/libPEX5.sa.$(SOPEXREV)) */
  350. +          PEXLIB = _Use(-lPEX5,-L$(PEXLIBSRC) -lPEX5)
  351.   #endif
  352. *** /tmp/,RCSt1002973    Wed Nov 11 10:03:23 1992
  353. --- mit/config/ultrix.cf    Wed Nov 11 10:03:24 1992
  354. ***************
  355. *** 1,4 ****
  356. ! XCOMM platform:  $XConsortium: ultrix.cf,v 1.45 91/07/30 12:12:11 rws Exp $
  357.   
  358.   #define OSName            Ultrix-32 4.2
  359.   XCOMM operating system:  OSName
  360. --- 1,4 ----
  361. ! XCOMM platform:  $XConsortium: ultrix.cf,v 1.45.1.1 92/11/11 09:58:08 rws Exp $
  362.   
  363.   #define OSName            Ultrix-32 4.2
  364.   XCOMM operating system:  OSName
  365. ***************
  366. *** 14,19 ****
  367. --- 14,20 ----
  368.   #ifdef VaxArchitecture
  369.   #define XqdssServer YES
  370.   #define XqvssServer YES
  371. + #define PexNativeFPFormat PEXDEC_F_Floating
  372.   #define UnalignedReferencesAllowed YES           /* if arbitrary deref is okay */
  373.   #if HasGcc
  374.   #define BuildPexExt XqdssServer
  375. *** /tmp/,RCSt1002984    Wed Nov 11 10:05:47 1992
  376. --- mit/lib/X/XErrDes.c    Thu Jul 23 19:18:13 1992
  377. ***************
  378. *** 1,5 ****
  379.   /*
  380. !  * $XConsortium: XErrDes.c,v 11.45 91/05/04 14:02:29 rws Exp $
  381.    */
  382.   
  383.   /***********************************************************
  384. --- 1,5 ----
  385.   /*
  386. !  * $XConsortium: XErrDes.c,v 11.46 92/07/23 19:17:33 rws Exp $
  387.    */
  388.   
  389.   /***********************************************************
  390. ***************
  391. *** 73,80 ****
  392.       char *buffer;
  393.       int nbytes;
  394.   {
  395. !     char buf[32];
  396.       register _XExtension *ext;
  397.   
  398.       if (nbytes == 0) return;
  399.       if (code <= BadImplementation && code > 0) {
  400. --- 73,81 ----
  401.       char *buffer;
  402.       int nbytes;
  403.   {
  404. !     char buf[150];
  405.       register _XExtension *ext;
  406. +     _XExtension *bext = (_XExtension *)NULL;
  407.   
  408.       if (nbytes == 0) return;
  409.       if (code <= BadImplementation && code > 0) {
  410. ***************
  411. *** 82,94 ****
  412.       XGetErrorDatabaseText(dpy, "XProtoError", buf, _XErrorList[code],
  413.                     buffer, nbytes);
  414.       } else
  415. !     sprintf(buffer, "%d", code);
  416.       ext = dpy->ext_procs;
  417.       while (ext) {        /* call out to any extensions interested */
  418.        if (ext->error_string != NULL) 
  419.            (*ext->error_string)(dpy, code, &ext->codes, buffer, nbytes);
  420.        ext = ext->next;
  421.       }    
  422.       return;
  423.   }
  424.   
  425. --- 83,105 ----
  426.       XGetErrorDatabaseText(dpy, "XProtoError", buf, _XErrorList[code],
  427.                     buffer, nbytes);
  428.       } else
  429. !     buffer[0] = '\0';
  430.       ext = dpy->ext_procs;
  431.       while (ext) {        /* call out to any extensions interested */
  432.        if (ext->error_string != NULL) 
  433.            (*ext->error_string)(dpy, code, &ext->codes, buffer, nbytes);
  434. +     if (ext->codes.first_error &&
  435. +         ext->codes.first_error < code &&
  436. +         (!bext || ext->codes.first_error > bext->codes.first_error))
  437. +         bext = ext;
  438.        ext = ext->next;
  439.       }    
  440. +     if (!buffer[0] && bext) {
  441. +     sprintf(buf, "%s.%d", bext->name, code - bext->codes.first_error);
  442. +     XGetErrorDatabaseText(dpy, "XProtoError", buf, "", buffer, nbytes);
  443. +     }
  444. +     if (!buffer[0])
  445. +     sprintf(buffer, "%d", code);
  446.       return;
  447.   }
  448.   
  449. *** /tmp/,RCSt1003009    Wed Nov 11 10:11:45 1992
  450. --- mit/lib/X/XlibInt.c    Wed Nov 11 10:11:50 1992
  451. ***************
  452. *** 1,5 ****
  453.   /*
  454. !  * $XConsortium: XlibInt.c,v 11.156 91/11/08 15:15:12 eswu Exp $
  455.    */
  456.   
  457.   /* Copyright    Massachusetts Institute of Technology    1985, 1986, 1987 */
  458. --- 1,5 ----
  459.   /*
  460. !  * $XConsortium: XlibInt.c,v 11.156.1.1 92/11/11 10:10:50 rws Exp $
  461.    */
  462.   
  463.   /* Copyright    Massachusetts Institute of Technology    1985, 1986, 1987 */
  464. ***************
  465. *** 1280,1285 ****
  466. --- 1280,1286 ----
  467.       char number[32];
  468.       char *mtype = "XlibMessage";
  469.       register _XExtension *ext = (_XExtension *)NULL;
  470. +     _XExtension *bext = (_XExtension *)NULL;
  471.       XGetErrorText(dpy, event->error_code, buffer, BUFSIZ);
  472.       XGetErrorDatabaseText(dpy, mtype, "XError", "X Error", mesg, BUFSIZ);
  473.       (void) fprintf(fp, "%s:  %s\n  ", mesg, buffer);
  474. ***************
  475. *** 1299,1308 ****
  476.       else
  477.           buffer[0] = '\0';
  478.       }
  479. !     (void) fprintf(fp, " (%s)\n  ", buffer);
  480.       if (event->request_code >= 128) {
  481.       XGetErrorDatabaseText(dpy, mtype, "MinorCode", "Request Minor code %d",
  482.                     mesg, BUFSIZ);
  483.       (void) fprintf(fp, mesg, event->minor_code);
  484.       if (ext) {
  485.           sprintf(mesg, "%s.%d", ext->name, event->minor_code);
  486. --- 1300,1310 ----
  487.       else
  488.           buffer[0] = '\0';
  489.       }
  490. !     (void) fprintf(fp, " (%s)\n", buffer);
  491.       if (event->request_code >= 128) {
  492.       XGetErrorDatabaseText(dpy, mtype, "MinorCode", "Request Minor code %d",
  493.                     mesg, BUFSIZ);
  494. +     fputs("  ", fp);
  495.       (void) fprintf(fp, mesg, event->minor_code);
  496.       if (ext) {
  497.           sprintf(mesg, "%s.%d", ext->name, event->minor_code);
  498. ***************
  499. *** 1309,1323 ****
  500.           XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ);
  501.           (void) fprintf(fp, " (%s)", buffer);
  502.       }
  503. !     fputs("\n  ", fp);
  504.       }
  505.       if (event->error_code >= 128) {
  506. -     /* let extensions try to print the values */
  507. -     for (ext = dpy->ext_procs; ext; ext = ext->next) {
  508. -         if (ext->error_values)
  509. -         (*ext->error_values)(dpy, event, fp);
  510. -     }
  511. -     /* the rest is a fallback, providing a simple default */
  512.       /* kludge, try to find the extension that caused it */
  513.       buffer[0] = '\0';
  514.       for (ext = dpy->ext_procs; ext; ext = ext->next) {
  515. --- 1311,1319 ----
  516.           XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ);
  517.           (void) fprintf(fp, " (%s)", buffer);
  518.       }
  519. !     fputs("\n", fp);
  520.       }
  521.       if (event->error_code >= 128) {
  522.       /* kludge, try to find the extension that caused it */
  523.       buffer[0] = '\0';
  524.       for (ext = dpy->ext_procs; ext; ext = ext->next) {
  525. ***************
  526. *** 1324,1342 ****
  527.           if (ext->error_string) 
  528.           (*ext->error_string)(dpy, event->error_code, &ext->codes,
  529.                        buffer, BUFSIZ);
  530. !         if (buffer[0])
  531.           break;
  532.       }    
  533. !     if (buffer[0])
  534. !         sprintf(buffer, "%s.%d", ext->name,
  535. !             event->error_code - ext->codes.first_error);
  536.       else
  537.           strcpy(buffer, "Value");
  538.       XGetErrorDatabaseText(dpy, mtype, buffer, "", mesg, BUFSIZ);
  539. !     if (*mesg) {
  540.           (void) fprintf(fp, mesg, event->resourceid);
  541. !         fputs("\n  ", fp);
  542.       }
  543.       } else if ((event->error_code == BadWindow) ||
  544.              (event->error_code == BadPixmap) ||
  545.              (event->error_code == BadCursor) ||
  546. --- 1320,1350 ----
  547.           if (ext->error_string) 
  548.           (*ext->error_string)(dpy, event->error_code, &ext->codes,
  549.                        buffer, BUFSIZ);
  550. !         if (buffer[0]) {
  551. !         bext = ext;
  552.           break;
  553. +         }
  554. +         if (ext->codes.first_error &&
  555. +         ext->codes.first_error < event->error_code &&
  556. +         (!bext || ext->codes.first_error > bext->codes.first_error))
  557. +         bext = ext;
  558.       }    
  559. !     if (bext)
  560. !         sprintf(buffer, "%s.%d", bext->name,
  561. !             event->error_code - bext->codes.first_error);
  562.       else
  563.           strcpy(buffer, "Value");
  564.       XGetErrorDatabaseText(dpy, mtype, buffer, "", mesg, BUFSIZ);
  565. !     if (mesg[0]) {
  566. !         fputs("  ", fp);
  567.           (void) fprintf(fp, mesg, event->resourceid);
  568. !         fputs("\n", fp);
  569.       }
  570. +     /* let extensions try to print the values */
  571. +     for (ext = dpy->ext_procs; ext; ext = ext->next) {
  572. +         if (ext->error_values)
  573. +         (*ext->error_values)(dpy, event, fp);
  574. +     }
  575.       } else if ((event->error_code == BadWindow) ||
  576.              (event->error_code == BadPixmap) ||
  577.              (event->error_code == BadCursor) ||
  578. ***************
  579. *** 1356,1370 ****
  580.       else
  581.           XGetErrorDatabaseText(dpy, mtype, "ResourceID", "ResourceID 0x%x",
  582.                     mesg, BUFSIZ);
  583.       (void) fprintf(fp, mesg, event->resourceid);
  584. !     fputs("\n  ", fp);
  585.       }
  586.       XGetErrorDatabaseText(dpy, mtype, "ErrorSerial", "Error Serial #%d", 
  587. !     mesg, BUFSIZ);
  588.       (void) fprintf(fp, mesg, event->serial);
  589. -     fputs("\n  ", fp);
  590.       XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d",
  591. !     mesg, BUFSIZ);
  592.       (void) fprintf(fp, mesg, dpy->request);
  593.       fputs("\n", fp);
  594.       if (event->error_code == BadImplementation) return 0;
  595. --- 1364,1380 ----
  596.       else
  597.           XGetErrorDatabaseText(dpy, mtype, "ResourceID", "ResourceID 0x%x",
  598.                     mesg, BUFSIZ);
  599. +     fputs("  ", fp);
  600.       (void) fprintf(fp, mesg, event->resourceid);
  601. !     fputs("\n", fp);
  602.       }
  603.       XGetErrorDatabaseText(dpy, mtype, "ErrorSerial", "Error Serial #%d", 
  604. !               mesg, BUFSIZ);
  605. !     fputs("  ", fp);
  606.       (void) fprintf(fp, mesg, event->serial);
  607.       XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d",
  608. !               mesg, BUFSIZ);
  609. !     fputs("\n  ", fp);
  610.       (void) fprintf(fp, mesg, dpy->request);
  611.       fputs("\n", fp);
  612.       if (event->error_code == BadImplementation) return 0;
  613. *** /tmp/,RCSt1003020    Wed Nov 11 10:12:58 1992
  614. --- mit/lib/X/XErrorDB    Mon Aug 10 18:55:46 1992
  615. ***************
  616. *** 1,3 ****
  617. --- 1,4 ----
  618. + ! $XConsortium: XErrorDB,v 1.15 92/08/10 18:59:38 mor Exp $
  619.   ! these are used in XGetErrorMessage.
  620.   XlibMessage.XError: X Error of failed request
  621.   XlibMessage.MajorCode: Major opcode of failed request:  %d
  622. ***************
  623. *** 218,220 ****
  624. --- 219,360 ----
  625.   ! MIT-SUNDRY-NONSTANDARD extension, definitely not an X Consortium standard
  626.   XRequest.MIT-SUNDRY-NONSTANDARD.0: X_MITSetBugMode
  627.   XRequest.MIT-SUNDRY-NONSTANDARD.1: X_MITGetBugMode
  628. + ! X3D-PEX extension
  629. + XRequest.X3D-PEX.1: PEX_GetExtensionInfo
  630. + XRequest.X3D-PEX.2: PEX_GetEnumeratedTypeInfo
  631. + XRequest.X3D-PEX.3: PEX_GetImpDepConstants
  632. + XRequest.X3D-PEX.4: PEX_CreateLookupTable
  633. + XRequest.X3D-PEX.5: PEX_CopyLookupTable
  634. + XRequest.X3D-PEX.6: PEX_FreeLookupTable
  635. + XRequest.X3D-PEX.7: PEX_GetTableInfo
  636. + XRequest.X3D-PEX.8: PEX_GetPredefinedEntries
  637. + XRequest.X3D-PEX.9: PEX_GetDefinedIndices
  638. + XRequest.X3D-PEX.10: PEX_GetTableEntry
  639. + XRequest.X3D-PEX.11: PEX_GetTableEntries
  640. + XRequest.X3D-PEX.12: PEX_SetTableEntries
  641. + XRequest.X3D-PEX.13: PEX_DeleteTableEntries
  642. + XRequest.X3D-PEX.14: PEX_CreatePipelineContext
  643. + XRequest.X3D-PEX.15: PEX_CopyPipelineContext
  644. + XRequest.X3D-PEX.16: PEX_FreePipelineContext
  645. + XRequest.X3D-PEX.17: PEX_GetPipelineContext
  646. + XRequest.X3D-PEX.18: PEX_ChangePipelineContext
  647. + XRequest.X3D-PEX.19: PEX_CreateRenderer
  648. + XRequest.X3D-PEX.20: PEX_FreeRenderer
  649. + XRequest.X3D-PEX.21: PEX_ChangeRenderer
  650. + XRequest.X3D-PEX.22: PEX_GetRendererAttributes
  651. + XRequest.X3D-PEX.23: PEX_GetRendererDynamics
  652. + XRequest.X3D-PEX.24: PEX_BeginRendering
  653. + XRequest.X3D-PEX.25: PEX_EndRendering
  654. + XRequest.X3D-PEX.26: PEX_BeginStructure
  655. + XRequest.X3D-PEX.27: PEX_EndStructure
  656. + XRequest.X3D-PEX.28: PEX_RenderOutputCommands
  657. + XRequest.X3D-PEX.29: PEX_RenderNetwork
  658. + XRequest.X3D-PEX.30: PEX_CreateStructure
  659. + XRequest.X3D-PEX.31: PEX_CopyStructure
  660. + XRequest.X3D-PEX.32: PEX_DestroyStructures
  661. + XRequest.X3D-PEX.33: PEX_GetStructureInfo
  662. + XRequest.X3D-PEX.34: PEX_GetElementInfo
  663. + XRequest.X3D-PEX.35: PEX_GetStructuresInNetwork
  664. + XRequest.X3D-PEX.36: PEX_GetAncestors
  665. + XRequest.X3D-PEX.37: PEX_GetDescendants
  666. + XRequest.X3D-PEX.38: PEX_FetchElements
  667. + XRequest.X3D-PEX.39: PEX_SetEditingMode
  668. + XRequest.X3D-PEX.40: PEX_SetElementPointer
  669. + XRequest.X3D-PEX.41: PEX_SetElementPointerAtLabel
  670. + XRequest.X3D-PEX.42: PEX_ElementSearch
  671. + XRequest.X3D-PEX.43: PEX_StoreElements
  672. + XRequest.X3D-PEX.44: PEX_DeleteElements
  673. + XRequest.X3D-PEX.45: PEX_DeleteElementsToLabel
  674. + XRequest.X3D-PEX.46: PEX_DeleteBetweenLabels
  675. + XRequest.X3D-PEX.47: PEX_CopyElements
  676. + XRequest.X3D-PEX.48: PEX_ChangeStructureRefs
  677. + XRequest.X3D-PEX.49: PEX_CreateNameSet
  678. + XRequest.X3D-PEX.50: PEX_CopyNameSet
  679. + XRequest.X3D-PEX.51: PEX_FreeNameSet
  680. + XRequest.X3D-PEX.52: PEX_GetNameSet
  681. + XRequest.X3D-PEX.53: PEX_ChangeNameSet
  682. + XRequest.X3D-PEX.54: PEX_CreateSearchContext
  683. + XRequest.X3D-PEX.55: PEX_CopySearchContext
  684. + XRequest.X3D-PEX.56: PEX_FreeSearchContext
  685. + XRequest.X3D-PEX.57: PEX_GetSearchContext
  686. + XRequest.X3D-PEX.58: PEX_ChangeSearchContext
  687. + XRequest.X3D-PEX.59: PEX_SearchNetwork
  688. + XRequest.X3D-PEX.60: PEX_CreatePhigsWks
  689. + XRequest.X3D-PEX.61: PEX_FreePhigsWks
  690. + XRequest.X3D-PEX.62: PEX_GetWksInfo
  691. + XRequest.X3D-PEX.63: PEX_GetDynamics
  692. + XRequest.X3D-PEX.64: PEX_GetViewRep
  693. + XRequest.X3D-PEX.65: PEX_RedrawAllStructures
  694. + XRequest.X3D-PEX.66: PEX_UpdateWorkstation
  695. + XRequest.X3D-PEX.67: PEX_RedrawClipRegion
  696. + XRequest.X3D-PEX.68: PEX_ExecuteDeferredActions
  697. + XRequest.X3D-PEX.69: PEX_SetViewPriority
  698. + XRequest.X3D-PEX.70: PEX_SetDisplayUpdateMode
  699. + XRequest.X3D-PEX.71: PEX_MapDCtoWC
  700. + XRequest.X3D-PEX.72: PEX_MapWCtoDC
  701. + XRequest.X3D-PEX.73: PEX_SetViewRep
  702. + XRequest.X3D-PEX.74: PEX_SetWksWindow
  703. + XRequest.X3D-PEX.75: PEX_SetWksViewport
  704. + XRequest.X3D-PEX.76: PEX_SetHlhsrMode
  705. + XRequest.X3D-PEX.77: PEX_SetWksBufferMode
  706. + XRequest.X3D-PEX.78: PEX_PostStructure
  707. + XRequest.X3D-PEX.79: PEX_UnpostStructure
  708. + XRequest.X3D-PEX.80: PEX_UnpostAllStructures
  709. + XRequest.X3D-PEX.81: PEX_GetWksPostings
  710. + XRequest.X3D-PEX.82: PEX_GetPickDevice
  711. + XRequest.X3D-PEX.83: PEX_ChangePickDevice
  712. + XRequest.X3D-PEX.84: PEX_CreatePickMeasure
  713. + XRequest.X3D-PEX.85: PEX_FreePickMeasure
  714. + XRequest.X3D-PEX.86: PEX_GetPickMeasure
  715. + XRequest.X3D-PEX.87: PEX_UpdatePickMeasure
  716. + XRequest.X3D-PEX.88: PEX_OpenFont
  717. + XRequest.X3D-PEX.89: PEX_CloseFont
  718. + XRequest.X3D-PEX.90: PEX_QueryFont
  719. + XRequest.X3D-PEX.91: PEX_ListFonts
  720. + XRequest.X3D-PEX.92: PEX_ListFontsWithInfo
  721. + XRequest.X3D-PEX.93: PEX_QueryTextExtents
  722. + XRequest.X3D-PEX.94: PEX_MatchRenderingTargets
  723. + XRequest.X3D-PEX.95: PEX_Escape
  724. + XRequest.X3D-PEX.96: PEX_EscapeWithReply
  725. + XRequest.X3D-PEX.97: PEX_RenderElements
  726. + XRequest.X3D-PEX.98: PEX_AccumulateState
  727. + XRequest.X3D-PEX.99: PEX_BeginPickOne
  728. + XRequest.X3D-PEX.100: PEX_EndPickOne
  729. + XRequest.X3D-PEX.101: PEX_PickOne
  730. + XRequest.X3D-PEX.102: PEX_BeginPickAll
  731. + XRequest.X3D-PEX.103: PEX_EndPickAll
  732. + XRequest.X3D-PEX.104: PEX_PickAll
  733. + XProtoError.X3D-PEX.0: PEXColorTypeError
  734. + XlibMessage.X3D-PEX.0: Color type in failed request 0x%lx
  735. + XProtoError.X3D-PEX.1: PEXRendererStateError
  736. + XlibMessage.X3D-PEX.1: Renderer id in failed request 0x%lx
  737. + XProtoError.X3D-PEX.2: PEXFloatingPointFormatError
  738. + XlibMessage.X3D-PEX.2: Format in failed request 0x%lx
  739. + XProtoError.X3D-PEX.3: PEXLabelError
  740. + XlibMessage.X3D-PEX.3: Label in failed request 0x%lx
  741. + XProtoError.X3D-PEX.4: PEXLookupTableError
  742. + XlibMessage.X3D-PEX.4: Table id in failed request 0x%lx
  743. + XProtoError.X3D-PEX.5: PEXNameSetError
  744. + XlibMessage.X3D-PEX.5: Nameset in failed request 0x%lx
  745. + XProtoError.X3D-PEX.6: PEXPathError
  746. + XlibMessage.X3D-PEX.6: Path id in failed request 0x%lx
  747. + XProtoError.X3D-PEX.7: PEXFontError
  748. + XlibMessage.X3D-PEX.7: Font id in failed request 0x%lx
  749. + XProtoError.X3D-PEX.8: PEXPhigsWksError
  750. + XlibMessage.X3D-PEX.8: Workstation id in failed request 0x%lx
  751. + XProtoError.X3D-PEX.9: PEXPickMeasureError
  752. + XlibMessage.X3D-PEX.9: Device id in failed request 0x%lx
  753. + XProtoError.X3D-PEX.10: PEXPipelineContextError
  754. + XlibMessage.X3D-PEX.10: Context id in failed request 0x%lx
  755. + XProtoError.X3D-PEX.11: PEXRendererError
  756. + XlibMessage.X3D-PEX.11: Renderer id in failed request 0x%lx
  757. + XProtoError.X3D-PEX.12: PEXSearchContextError
  758. + XlibMessage.X3D-PEX.12: Context id in failed request 0x%lx
  759. + XProtoError.X3D-PEX.13: PEXStructureError
  760. + XlibMessage.X3D-PEX.13: Structure id in failed request 0x%lx
  761. + XProtoError.X3D-PEX.14: PEXOutputCommandError
  762. + XlibMessage.X3D-PEX.14: Resource id in failed request 0x%lx
  763. + ! XTEST extension
  764. + XRequest.XTEST.0: X_XTestGetVersion
  765. + XRequest.XTEST.1: X_XTestCompareCursor
  766. + XRequest.XTEST.2: X_XTestFakeInput
  767.  
  768.  
  769. *****************************************************************************
  770.  
  771.  
  772. --
  773. ;       $B2-(J  $B9,90(J                Email: yoki@ari.ncl.omron.co.jp
  774. ;    $B8=:_(JKYSA$B8&=$Cf(J        Email:  oki@course.kysa.co.jp
  775. ;       $B%*%`%m%s3t<02q<R(J        $B%7%9%F%`Am9g8&5f=j(J(RZB)        
  776. ;       Phone: 075-951-5111 Ext.(3634) Fax:   075-956-7403
  777.