home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / f / fix-09.zip / FIX-09 next >
Text File  |  1993-01-27  |  47KB  |  1,849 lines

  1.               Release 5 Public Patch #9
  2.                MIT X Consortium
  3.  
  4. To apply this patch:
  5.  
  6. cd to the top of the source tree (to the directory containing the "mit"
  7. and "contrib" subdirectories) and do:
  8.     patch -p -s < ThisFile
  9. Patch will work silently unless an error occurs.
  10. If you want to watch patch do its thing, leave out the "-s" argument to patch.
  11.  
  12. If you are running SunOS 4.1.1 and you apply Sun's ld patch 100170-6,
  13. then you will need to edit your site.def and add this line to the
  14. AfterVendorCF section:
  15.  
  16. #define SunPost411FCSLd      YES
  17.  
  18.  
  19. Finally, to rebuild after applying this patch, cd to the "mit" subdirectory
  20. and do (if you are on an HP system):
  21.     make World >& world.log
  22. or do (if you have set SunPost411FCSLd YES):
  23.     make Everything >& every.log
  24. otherwise do:
  25.     make -k >& make.log
  26. (Note: the "make World" on the HP system will "clean" your build tree and
  27. regenerate it.  If you want something quicker you can try regenerating
  28. Makefiles and forcing rebuilds of all libraries that depend on
  29. Malloc0ReturnsNull, and then do a normal make.)
  30.  
  31. Brief notes on what this patch fixes:
  32.  
  33. config: HP-UX needs Malloc0ReturnsNull
  34. config: handle problems introduced by SunOS ld patch 100170-06
  35. Xlib: (Xsi) resource values fail with stateful encoding
  36. Xlib: (Xsi) local IM can fail to move to convert off state
  37. Xt: ANSI C prototypes needed when compiling shared library
  38. Xt: undefined __XtInherit introduced by SunOS ld patch 100170-06
  39. Xt: bombs destroying when parent is not a widget
  40. fontlib: server can crash if it fails to read fonts.dir correctly
  41. fontlib: font code leaks memory at every server reset
  42. xdm: segmentation fault in getEnv
  43. xauth: merge command deletes entries it should leave alone
  44. xauth: should always keep MIT-MAGIC-COOKIE-1 first for R4 compatibility
  45. xauth: intermittently fails due to locking bugs
  46. xterm: orphaned shells on AIX if connection is lost
  47. xterm: support SGI ptys
  48. xinit: A/UX loses controlling terminal, breaks xterm
  49. server: width-zero dashed lines drawn wrong
  50.  
  51. Prereq: public-patch-8
  52.  
  53. *** /tmp/,RCSt1003389    Thu Jan 23 17:19:21 1992
  54. --- mit/bug-report    Thu Jan 23 17:19:33 1992
  55. ***************
  56. *** 2,8 ****
  57.   Subject: [area]: [synopsis]   [replace with actual area and short description]
  58.   
  59.   VERSION:
  60. !     R5, public-patch-8
  61.       [MIT public patches will edit this line to indicate the patch level]
  62.   
  63.   CLIENT MACHINE and OPERATING SYSTEM:
  64. --- 2,8 ----
  65.   Subject: [area]: [synopsis]   [replace with actual area and short description]
  66.   
  67.   VERSION:
  68. !     R5, public-patch-9
  69.       [MIT public patches will edit this line to indicate the patch level]
  70.   
  71.   CLIENT MACHINE and OPERATING SYSTEM:
  72.  
  73. *** /tmp/,RCSt1005235    Wed Dec 18 15:21:32 1991
  74. --- mit/config/hp.cf    Wed Dec 18 09:44:48 1991
  75. ***************
  76. *** 1,4 ****
  77. ! XCOMM platform:  $XConsortium: hp.cf,v 1.47 91/07/28 22:39:35 rws Exp $
  78.   
  79.   #define OSName                 HP-UX 7.0
  80.   XCOMM operating system:  OSName
  81. --- 1,4 ----
  82. ! XCOMM platform:  $XConsortium: hp.cf,v 1.48 91/12/18 09:43:08 rws Exp $
  83.   
  84.   #define OSName                 HP-UX 7.0
  85.   XCOMM operating system:  OSName
  86. ***************
  87. *** 6,11 ****
  88. --- 6,12 ----
  89.   #define OSMinorVersion         0
  90.   
  91.   #define SystemV                YES
  92. + #define Malloc0ReturnsNull     YES
  93.   #ifdef hp9000s800
  94.   #define OptimizedCDebugFlags   +O1
  95.   #else
  96.  
  97. *** /tmp/,RCSt1024429    Mon Dec 23 13:20:39 1991
  98. --- mit/config/sun.cf    Fri Dec 20 11:19:51 1991
  99. ***************
  100. *** 1,4 ****
  101. ! XCOMM platform:  $XConsortium: sun.cf,v 1.69 91/09/09 18:23:59 rws Exp $
  102.   
  103.   #define OSName            SunOS 4.1.1
  104.   XCOMM operating system:  OSName
  105. --- 1,4 ----
  106. ! XCOMM platform:  $XConsortium: sun.cf,v 1.71 91/12/20 11:18:34 rws Exp $
  107.   
  108.   #define OSName            SunOS 4.1.1
  109.   XCOMM operating system:  OSName
  110. ***************
  111. *** 11,16 ****
  112. --- 11,21 ----
  113.   #define StandardDefines   -DNOSTDHDRS
  114.   #endif
  115.   
  116. + /* You ALSO need this if you have Sun ld patch 100170-06 to 4.1.1 */
  117. + #if OSMajorVersion == 4 && OSMinorVersion > 1
  118. + #define SunPost411FCSLd      YES
  119. + #endif
  120.   #define HasSaberC      YES
  121.   #define HasNdbm          YES
  122.   #define HasShm          YES
  123. ***************
  124. *** 20,25 ****
  125. --- 25,31 ----
  126.   #define XsunServer      YES        /* has color and mono support */
  127.   #define XsunMonoServer      YES        /* monochrome only */
  128.   #define BuildPexExt      XsunServer
  129. + #define InstKmemFlags      -g kmem -m 2755
  130.   
  131.   #ifdef sparc
  132.   #undef sparc
  133.  
  134. *** /tmp/,RCSt1024429    Mon Dec 23 13:20:42 1991
  135. --- mit/config/sunLib.tmpl    Fri Dec 20 11:20:38 1991
  136. ***************
  137. *** 1,4 ****
  138. ! XCOMM $XConsortium: sunLib.tmpl,v 1.11 91/07/31 11:32:08 rws Exp $
  139.   
  140.   /*
  141.    * SunOS shared library template
  142. --- 1,4 ----
  143. ! XCOMM $XConsortium: sunLib.tmpl,v 1.14 91/12/20 11:19:05 rws Exp $
  144.   
  145.   /*
  146.    * SunOS shared library template
  147. ***************
  148. *** 25,30 ****
  149. --- 25,33 ----
  150.   #ifndef SharedXinputRev
  151.   #define SharedXinputRev 4.10
  152.   #endif
  153. + #ifndef SharedXTrapRev
  154. + #define SharedXTrapRev 1.0
  155. + #endif
  156.   
  157.   SHLIBLDFLAGS = SharedLibraryLoadFlags
  158.   PICFLAGS = PositionIndependentCFlags
  159. ***************
  160. *** 42,49 ****
  161.                XLIB = $(EXTENSIONLIB) _Use(-lX11,-L$(XLIBSRC) -lX11)
  162.   #endif
  163.   #if SharedLibXmu
  164.           DEPXMULIB = _UseCat($(USRLIBDIR),$(XMUSRC),/libXmu.sa.$(SOXMUREV))
  165. !            XMULIB = _Use(-lXmu,-L$(XMUSRC) -lXmu)
  166.   #endif
  167.   #if SharedOldLibX
  168.          DEPOLDXLIB = /* _UseCat($(USRLIBDIR),$(OLDXLIBSRC),/liboldX.sa.$(SOOLDXREV)) */
  169. --- 45,57 ----
  170.                XLIB = $(EXTENSIONLIB) _Use(-lX11,-L$(XLIBSRC) -lX11)
  171.   #endif
  172.   #if SharedLibXmu
  173. + /* Sun shared libraries are deficient in link semantics */
  174.           DEPXMULIB = _UseCat($(USRLIBDIR),$(XMUSRC),/libXmu.sa.$(SOXMUREV))
  175. !        XMULIBONLY = _Use(-lXmu,-L$(XMUSRC) -lXmu)
  176. !            XMULIB = _Use(-lXmu,-L$(XMUSRC) -lXmu -L$(TOOLKITSRC))
  177. ! #if !defined(UseInstalled) && !defined(XawClientLibs)
  178. ! #define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
  179. ! #endif
  180.   #endif
  181.   #if SharedOldLibX
  182.          DEPOLDXLIB = /* _UseCat($(USRLIBDIR),$(OLDXLIBSRC),/liboldX.sa.$(SOOLDXREV)) */
  183.  
  184. *** /tmp/,RCSt1024438    Mon Dec 23 13:20:55 1991
  185. --- mit/config/sunLib.rules    Fri Dec 20 11:21:02 1991
  186. ***************
  187. *** 1,4 ****
  188. ! XCOMM $XConsortium: sunLib.rules,v 1.6 91/03/24 17:55:58 rws Exp $
  189.   
  190.   /*
  191.    * SunOS shared library rules
  192. --- 1,4 ----
  193. ! XCOMM $XConsortium: sunLib.rules,v 1.7 91/12/20 11:19:47 rws Exp $
  194.   
  195.   /*
  196.    * SunOS shared library rules
  197. ***************
  198. *** 60,66 ****
  199.                                       @@\
  200.   Concat(lib,libname.so.rev):  solist                    @@\
  201.       $(RM) $@~                            @@\
  202. !     (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist)        @@\
  203.       $(RM) $@                             @@\
  204.       $(MV) $@~ $@                            @@\
  205.                                       @@\
  206. --- 60,66 ----
  207.                                       @@\
  208.   Concat(lib,libname.so.rev):  solist                    @@\
  209.       $(RM) $@~                            @@\
  210. !     (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
  211.       $(RM) $@                             @@\
  212.       $(MV) $@~ $@                            @@\
  213.                                       @@\
  214.  
  215. *** /tmp/,RCSt1a03092    Mon Dec 16 19:59:19 1991
  216. --- mit/lib/Xau/AuLock.c    Mon Dec 16 19:57:44 1991
  217. ***************
  218. *** 1,7 ****
  219.   /*
  220.    * Xau - X Authorization Database Library
  221.    *
  222. !  * $XConsortium: AuLock.c,v 1.7 91/04/17 10:59:27 rws Exp $
  223.    *
  224.    * Copyright 1988 Massachusetts Institute of Technology
  225.    *
  226. --- 1,7 ----
  227.   /*
  228.    * Xau - X Authorization Database Library
  229.    *
  230. !  * $XConsortium: AuLock.c,v 1.8 91/12/16 19:56:07 gildea Exp $
  231.    *
  232.    * Copyright 1988 Massachusetts Institute of Technology
  233.    *
  234. ***************
  235. *** 21,32 ****
  236.   #include <X11/Xauth.h>
  237.   #include <sys/types.h>
  238.   #include <sys/stat.h>
  239. - #ifndef X_NOT_POSIX
  240.   #include <errno.h>
  241. - #else
  242. - #include <sys/errno.h>
  243. - #endif
  244.   
  245.   #if NeedFunctionPrototypes
  246.   int
  247.   XauLockAuth (
  248. --- 21,30 ----
  249.   #include <X11/Xauth.h>
  250.   #include <sys/types.h>
  251.   #include <sys/stat.h>
  252.   #include <errno.h>
  253.   
  254. + extern int errno;
  255.   #if NeedFunctionPrototypes
  256.   int
  257.   XauLockAuth (
  258. ***************
  259. *** 50,56 ****
  260.       struct stat    statb;
  261.       long    now;
  262.       int        creat_fd = -1;
  263. -     extern int    errno;
  264.   
  265.       if (strlen (file_name) > 1022)
  266.       return LOCK_ERROR;
  267. --- 48,53 ----
  268. ***************
  269. *** 82,87 ****
  270. --- 79,88 ----
  271.       if (creat_fd != -1) {
  272.           if (link (creat_name, link_name) != -1)
  273.           return LOCK_SUCCESS;
  274. +         if (errno == ENOENT) {
  275. +         creat_fd = -1;    /* force re-creat next time around */
  276. +         continue;
  277. +         }
  278.           if (errno != EEXIST)
  279.           return LOCK_ERROR;
  280.       }
  281.  
  282. *** /tmp/,RCSt1003431    Thu Jan 23 17:34:36 1992
  283. --- mit/lib/X/Xsi/XlcLoad.c    Mon Dec 23 11:39:04 1991
  284. ***************
  285. *** 1,5 ****
  286.   /*
  287. !  * $XConsortium: XlcLoad.c,v 1.38 91/11/17 16:12:06 rws Exp $
  288.    */
  289.   
  290.   /*
  291. --- 1,5 ----
  292.   /*
  293. !  * $XConsortium: XlcLoad.c,v 1.40 91/12/23 11:37:03 rws Exp $
  294.    */
  295.   
  296.   /*
  297. ***************
  298. *** 59,64 ****
  299. --- 59,65 ----
  300.   #endif
  301.   #ifndef PATH_MAX
  302.   #include <sys/param.h>
  303. + #ifndef PATH_MAX
  304.   #ifdef MAXPATHLEN
  305.   #define PATH_MAX MAXPATHLEN
  306.   #else
  307. ***************
  308. *** 65,70 ****
  309. --- 66,72 ----
  310.   #define PATH_MAX 1024
  311.   #endif
  312.   #endif
  313. + #endif
  314.   
  315.   #ifndef XNLSPATHDEFAULT
  316.   #define XNLSPATHDEFAULT "/usr/lib/X11/nls"
  317. ***************
  318. *** 1030,1035 ****
  319. --- 1032,1038 ----
  320.       int cscode;
  321.       int dlen;
  322.   
  323. +     csid = _Xmbcsid((XLocale)state, str);
  324.       dlen = _Xmbdlen((XLocale)state, str);
  325.       if (dlen > 0) {
  326.       for (*lenp = 0; ; ) {
  327.  
  328. *** /tmp/,RCSt1003436    Thu Jan 23 17:35:35 1992
  329. --- mit/lib/X/Xsi/XLocalIM.c    Fri Dec 27 15:14:14 1991
  330. ***************
  331. *** 1,5 ****
  332.   /*
  333. !  * $XConsortium: XLocalIM.c,v 1.6 91/11/17 15:59:05 rws Exp $
  334.    */
  335.   
  336.   /*
  337. --- 1,5 ----
  338.   /*
  339. !  * $XConsortium: XLocalIM.c,v 1.8 91/12/27 15:12:20 rws Exp $
  340.    */
  341.   
  342.   /*
  343. ***************
  344. *** 55,60 ****
  345. --- 55,61 ----
  346.   #endif
  347.   #ifndef PATH_MAX
  348.   #include <sys/param.h>
  349. + #ifndef PATH_MAX
  350.   #ifdef MAXPATHLEN
  351.   #define PATH_MAX MAXPATHLEN
  352.   #else
  353. ***************
  354. *** 61,66 ****
  355. --- 62,68 ----
  356.   #define PATH_MAX 1024
  357.   #endif
  358.   #endif
  359. + #endif
  360.   
  361.   #ifdef X_NOT_STDC_ENV
  362.   extern char *getenv();
  363. ***************
  364. *** 199,205 ****
  365.   typedef struct {
  366.       char *name;
  367.       Bool (*func)();
  368. !     Bool (*init_func)();
  369.   } FuncTbl;
  370.   
  371.   static int convert_on();
  372. --- 201,207 ----
  373.   typedef struct {
  374.       char *name;
  375.       Bool (*func)();
  376. !     int (*init_func)();
  377.   } FuncTbl;
  378.   
  379.   static int convert_on();
  380. ***************
  381. *** 414,419 ****
  382. --- 416,436 ----
  383.       return (0);
  384.   }
  385.   
  386. + static int
  387. + is_state_command(xcvt, f, t)
  388. + XipLocalCvt *xcvt;
  389. + char *f, *t;
  390. + {
  391. +     if (!*f || !*t) return(0);
  392. +     if (!strcmp(f, "InitialState"))
  393. +     if (!strcmp(t, "OnState"))
  394. +         xcvt->off = False;
  395. +     else if (!strcmp(t, "OffState"))
  396. +         xcvt->off = True;
  397. +     else return(0);
  398. +     return(1);
  399. + }
  400.   static FuncTbl *
  401.   get_command(name)
  402.   char *name;
  403. ***************
  404. *** 449,455 ****
  405.       return(True);
  406.   }
  407.   
  408. ! static Bool
  409.   convert_on_init(xcvt, tbl, len)
  410.   XipLocalCvt *xcvt;
  411.   XipLocalCvtTbl *tbl;
  412. --- 466,472 ----
  413.       return(True);
  414.   }
  415.   
  416. ! static int
  417.   convert_on_init(xcvt, tbl, len)
  418.   XipLocalCvt *xcvt;
  419.   XipLocalCvtTbl *tbl;
  420. ***************
  421. *** 458,464 ****
  422.       register XipLocalKeySymTbl *to, *from, *p;
  423.   
  424.       p = (XipLocalKeySymTbl *) Xmalloc(sizeof(XipLocalKeySymTbl) * (len + 1));
  425. !     if (!to) return(False);
  426.       for (to = p, from = tbl->fromkey; len > 0; to++, from++, len--) {
  427.       to->keysym = from->keysym;
  428.       to->state = from->state;
  429. --- 475,481 ----
  430.       register XipLocalKeySymTbl *to, *from, *p;
  431.   
  432.       p = (XipLocalKeySymTbl *) Xmalloc(sizeof(XipLocalKeySymTbl) * (len + 1));
  433. !     if (!p) return(-1);
  434.       for (to = p, from = tbl->fromkey; len > 0; to++, from++, len--) {
  435.       to->keysym = from->keysym;
  436.       to->state = from->state;
  437. ***************
  438. *** 468,477 ****
  439.       xcvt->off_tbl.to.func = tbl->to.func;
  440.       xcvt->off_tbl.com = True;
  441.       xcvt->off_tbl.fromkey = p;
  442. !     return(True);
  443.   }
  444.   
  445. ! static Bool
  446.   no_filter(xcvt, tbl, len)
  447.   XipLocalCvt *xcvt;
  448.   XipLocalCvtTbl *tbl;
  449. --- 485,494 ----
  450.       xcvt->off_tbl.to.func = tbl->to.func;
  451.       xcvt->off_tbl.com = True;
  452.       xcvt->off_tbl.fromkey = p;
  453. !     return(0);
  454.   }
  455.   
  456. ! static int
  457.   no_filter(xcvt, tbl, len)
  458.   XipLocalCvt *xcvt;
  459.   XipLocalCvtTbl *tbl;
  460. ***************
  461. *** 481,490 ****
  462.   
  463.       nested_keysym = (XipLocalNestedKeySym *)
  464.         Xmalloc(sizeof(XipLocalNestedKeySym));
  465.       nested_keysym->keysym = tbl->fromkey->keysym;
  466.       nested_keysym->next = xcvt->no_filter;
  467.       xcvt->no_filter = nested_keysym;
  468. !     return(True);
  469.   }
  470.   
  471.   static Bool
  472. --- 498,508 ----
  473.   
  474.       nested_keysym = (XipLocalNestedKeySym *)
  475.         Xmalloc(sizeof(XipLocalNestedKeySym));
  476. +     if (!nested_keysym) return(-1);
  477.       nested_keysym->keysym = tbl->fromkey->keysym;
  478.       nested_keysym->next = xcvt->no_filter;
  479.       xcvt->no_filter = nested_keysym;
  480. !     return(1);
  481.   }
  482.   
  483.   static Bool
  484. ***************
  485. *** 552,557 ****
  486. --- 570,576 ----
  487.       KeySym bs;
  488.       FuncTbl *func_tbl;
  489.       int line = 0;
  490. +     int ret;
  491.   
  492.       strcpy(tmp_buf, xlc->xlc_db->lc_name);
  493.       for (p = tmp_buf; *p && *p != '@'; p++);
  494. ***************
  495. *** 580,585 ****
  496. --- 599,605 ----
  497.       cnt = 0;
  498.       cvt->nmax = 0;
  499.       cvt->no_filter = NULL;
  500. +     cvt->off = False;
  501.       while(fgets(buf, BUFSIZ, fp)) {
  502.       line++;
  503.       if(is_comment(*buf) || 
  504. ***************
  505. *** 589,595 ****
  506.           goto _err_ret;
  507.       }
  508.       if(!(cvt->tbl[cnt].fromkey = get_keysym(frombuf, &len))){
  509. !         goto _err_ret;
  510.       }
  511.       if (len > cvt->nmax) cvt->nmax = len;
  512.       if (is_command(*tobuf)) {
  513. --- 609,617 ----
  514.           goto _err_ret;
  515.       }
  516.       if(!(cvt->tbl[cnt].fromkey = get_keysym(frombuf, &len))){
  517. !         if (!is_state_command(cvt, frombuf, tobuf))
  518. !         goto _err_ret;
  519. !         continue;
  520.       }
  521.       if (len > cvt->nmax) cvt->nmax = len;
  522.       if (is_command(*tobuf)) {
  523. ***************
  524. *** 599,606 ****
  525.           cvt->tbl[cnt].to.func = func_tbl->func;
  526.           cvt->tbl[cnt].com = True;
  527.           if (func_tbl->init_func) {
  528. !         if ((*func_tbl->init_func)(cvt, &cvt->tbl[cnt], len) == False)
  529.               goto _err_ret;
  530.           }
  531.       } else {
  532.           if (is_keysym(*tobuf)) {
  533. --- 621,631 ----
  534.           cvt->tbl[cnt].to.func = func_tbl->func;
  535.           cvt->tbl[cnt].com = True;
  536.           if (func_tbl->init_func) {
  537. !         if ((ret = (*func_tbl->init_func)(cvt, &cvt->tbl[cnt], len))
  538. !              == -1)
  539.               goto _err_ret;
  540. +         else if (ret == 0)
  541. +             continue;
  542.           }
  543.       } else {
  544.           if (is_keysym(*tobuf)) {
  545. ***************
  546. *** 627,633 ****
  547.                            * (cvt->nmax + 1));
  548.       cvt->buf_cnt = 0;
  549.       cvt->bs = ((bs = XStringToKeysym("BackSpace"))? bs: 0x8);
  550. -     cvt->off = True;
  551.       fclose(fp);
  552.       return(cvt);
  553.   _err_ret:
  554. --- 652,657 ----
  555. ***************
  556. *** 659,665 ****
  557.       new->buf = (XipLocalKeySymTbl *) Xmalloc(sizeof(XipLocalKeySymTbl)
  558.                            * (new->nmax + 1));
  559.       new->buf_cnt = 0;
  560. !     new->off = True;
  561.       return(new);
  562.   }
  563.   
  564. --- 683,689 ----
  565.       new->buf = (XipLocalKeySymTbl *) Xmalloc(sizeof(XipLocalKeySymTbl)
  566.                            * (new->nmax + 1));
  567.       new->buf_cnt = 0;
  568. !     new->off = cvt->off;
  569.       return(new);
  570.   }
  571.   
  572. *** /tmp/,RCSt1003247    Thu Jan 23 16:14:53 1992
  573. --- mit/lib/Xt/sharedlib.c    Mon Jan  6 17:02:29 1992
  574. ***************
  575. *** 1,5 ****
  576.   /*
  577. !  * $XConsortium: sharedlib.c,v 1.12 91/07/23 12:22:07 rws Exp $
  578.    * 
  579.    * Copyright 1989 Massachusetts Institute of Technology
  580.    *
  581. --- 1,5 ----
  582.   /*
  583. !  * $XConsortium: sharedlib.c,v 1.14 92/01/06 17:01:45 gildea Exp $
  584.    * 
  585.    * Copyright 1989 Massachusetts Institute of Technology
  586.    *
  587. ***************
  588. *** 60,66 ****
  589. --- 60,77 ----
  590.       _XtToolkitInitialize();
  591.   }
  592.   
  593. + #if NeedFunctionPrototypes
  594.   Widget 
  595. + XtInitialize(
  596. + _Xconst char* name,
  597. + _Xconst char* classname,
  598. + XrmOptionDescRec *options,
  599. + Cardinal num_options,
  600. + int *argc,
  601. + String *argv
  602. + )
  603. + #else
  604. + Widget 
  605.   XtInitialize(name, classname, options, num_options, argc, argv)
  606.   String name, classname;
  607.   XrmOptionDescRec *options;
  608. ***************
  609. *** 67,72 ****
  610. --- 78,84 ----
  611.   Cardinal num_options;
  612.   String *argv;
  613.   int *argc;
  614. + #endif
  615.   {
  616.       extern Widget _XtInitialize();
  617.       VENDORINIT
  618. ***************
  619. *** 73,79 ****
  620. --- 85,105 ----
  621.       return _XtInitialize (name, classname, options, num_options, argc, argv);
  622.   }
  623.   
  624. + #if NeedFunctionPrototypes
  625.   Widget
  626. + XtAppInitialize(
  627. + XtAppContext * app_context_return,
  628. + _Xconst char* application_class,
  629. + XrmOptionDescRec *options,
  630. + Cardinal num_options,
  631. + int *argc_in_out,
  632. + String *argv_in_out,
  633. + String *fallback_resources,
  634. + ArgList args_in,
  635. + Cardinal num_args_in
  636. + )
  637. + #else
  638. + Widget
  639.   XtAppInitialize(app_context_return, application_class, options, num_options,
  640.           argc_in_out, argv_in_out, fallback_resources, 
  641.           args_in, num_args_in)
  642. ***************
  643. *** 84,89 ****
  644. --- 110,116 ----
  645.   int *argc_in_out;
  646.   String *argv_in_out, * fallback_resources;     
  647.   ArgList args_in;
  648. + #endif
  649.   {
  650.       extern Widget _XtAppInitialize();
  651.       VENDORINIT
  652. ***************
  653. *** 92,103 ****
  654.                    fallback_resources, args_in, num_args_in);
  655.   }
  656.   
  657. ! #if NeedFunctionPrototypes
  658.   Widget
  659. ! XtVaAppInitialize(XtAppContext *app_context_return, String application_class,
  660. !           XrmOptionDescList options, Cardinal num_options,
  661. !           int *argc_in_out, String *argv_in_out,
  662. !           String *fallback_resources, ...)
  663.   #else
  664.   Widget XtVaAppInitialize(app_context_return, application_class, options,
  665.                num_options, argc_in_out, argv_in_out,
  666. --- 119,135 ----
  667.                    fallback_resources, args_in, num_args_in);
  668.   }
  669.   
  670. ! #if NeedVarargsPrototypes
  671.   Widget
  672. ! XtVaAppInitialize(
  673. !     XtAppContext *app_context_return,
  674. !     _Xconst char* application_class,
  675. !     XrmOptionDescList options,
  676. !     Cardinal num_options,
  677. !     int *argc_in_out,
  678. !     String *argv_in_out,
  679. !     String *fallback_resources,
  680. !     ...)
  681.   #else
  682.   Widget XtVaAppInitialize(app_context_return, application_class, options,
  683.                num_options, argc_in_out, argv_in_out,
  684.  
  685. *** /tmp/,RCSt1024386    Mon Dec 23 13:18:28 1991
  686. --- mit/lib/Xt/Initialize.c    Thu Dec 19 19:32:53 1991
  687. ***************
  688. *** 1,4 ****
  689. ! /* $XConsortium: Initialize.c,v 1.199 91/07/23 12:16:38 rws Exp $ */
  690.   
  691.   /***********************************************************
  692.   Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
  693. --- 1,4 ----
  694. ! /* $XConsortium: Initialize.c,v 1.200 91/12/19 19:30:59 rws Exp $ */
  695.   
  696.   /***********************************************************
  697.   Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
  698. ***************
  699. *** 53,61 ****
  700.    * If used as a shared library, generate code under a different name so that
  701.    * the stub routines in sharedlib.c get loaded into the application binary.
  702.    */
  703. - #ifdef SUNSHLIB
  704. - #define _XtInherit __XtInherit
  705. - #endif
  706.   #define XtToolkitInitialize _XtToolkitInitialize
  707.   #define XtAppInitialize _XtAppInitialize
  708.   #define XtInitialize _XtInitialize
  709. --- 53,58 ----
  710. ***************
  711. *** 141,146 ****
  712. --- 138,152 ----
  713.       return len;
  714.   }
  715.   
  716. + #ifdef SUNSHLIB
  717. + void _XtInherit()
  718. + {
  719. +     extern void __XtInherit();
  720. +     __XtInherit();
  721. + }
  722. + #define _XtInherit __XtInherit
  723. + #endif
  724.   
  725.   void _XtInherit()
  726.   {
  727.  
  728. *** /tmp/,RCSt1a00686    Fri Jan  3 18:25:24 1992
  729. --- mit/lib/Xt/Destroy.c    Fri Jan  3 18:05:36 1992
  730. ***************
  731. *** 1,4 ****
  732. ! /* $XConsortium: Destroy.c,v 1.43 91/06/30 17:02:46 converse Exp $ */
  733.   
  734.   /***********************************************************
  735.   Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
  736. --- 1,4 ----
  737. ! /* $XConsortium: Destroy.c,v 1.44 92/01/03 18:03:59 converse Exp $ */
  738.   
  739.   /***********************************************************
  740.   Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
  741. ***************
  742. *** 124,130 ****
  743.   
  744.       parent = widget->core.parent;
  745.   
  746. !     if (parent && parent->core.num_popups) {
  747.       int i;
  748.       for (i = 0; i < parent->core.num_popups; i++) {
  749.           if (parent->core.popup_list[i] == widget) {
  750. --- 124,130 ----
  751.   
  752.       parent = widget->core.parent;
  753.   
  754. !     if (parent && XtIsWidget(parent) && parent->core.num_popups) {
  755.       int i;
  756.       for (i = 0; i < parent->core.num_popups; i++) {
  757.           if (parent->core.popup_list[i] == widget) {
  758.  
  759. *** /tmp/,RCSt1003447    Thu Jan 23 17:38:32 1992
  760. --- mit/lib/Xmu/Imakefile    Fri Dec 20 11:22:04 1991
  761. ***************
  762. *** 1,4 ****
  763. ! XCOMM $XConsortium: Imakefile,v 1.73 91/09/18 14:29:12 rws Exp $
  764.   XCOMM
  765.   XCOMM This library contains miscellaneous utility routines and is not part
  766.   XCOMM of the Xlib standard.
  767. --- 1,4 ----
  768. ! XCOMM $XConsortium: Imakefile,v 1.74 91/12/20 11:20:22 rws Exp $
  769.   XCOMM
  770.   XCOMM This library contains miscellaneous utility routines and is not part
  771.   XCOMM of the Xlib standard.
  772. ***************
  773. *** 10,18 ****
  774.   #define DoProfileLib ProfileLibXmu
  775.   #include <Library.tmpl>
  776.   
  777. ! #ifdef RsArchitecture
  778. ! REQUIREDLIBS = $(EXTENSIONSRC)/lib/libXext.a $(TOOLKITSRC)/libXt.a $(XLIBSRC)/libX11.a
  779.   #endif
  780.   
  781.   /* Since people link in Xmu without Xt, we avoid references to string data. */
  782.   #if HasSharedLibraries
  783. --- 10,22 ----
  784.   #define DoProfileLib ProfileLibXmu
  785.   #include <Library.tmpl>
  786.   
  787. ! #if defined(RsArchitecture) || SunPost411FCSLd
  788. ! #if DoNormalLib
  789. ! REQUIREDLIBS = -L../$(TOOLKITSRC) -lXt -L../$(EXTENSIONSRC)/lib -lXext -L../$(XLIBSRC) -lX11
  790. ! #else
  791. ! REQUIREDLIBS = -L$(TOOLKITSRC) -lXt -L$(EXTENSIONSRC)/lib -lXext -L$(XLIBSRC) -lX11
  792.   #endif
  793. + #endif
  794.   
  795.   /* Since people link in Xmu without Xt, we avoid references to string data. */
  796.   #if HasSharedLibraries
  797. ***************
  798. *** 152,157 ****
  799. --- 156,167 ----
  800.   #endif
  801.   
  802.   #if DoSharedLib
  803. + #if SunPost411FCSLd
  804. + libXmu.so.$(SOXMUREV): $(EXTENSIONSRC)/lib/libXext.so.$(SOXEXTREV)
  805. + $(EXTENSIONSRC)/lib/libXext.so.$(SOXEXTREV):
  806. +     cd $(EXTENSIONSRC)/lib; make libXext.so.$(SOXEXTREV)
  807. + #endif
  808.   #if DoNormalLib
  809.   SharedLibraryTarget(Xmu,$(SOXMUREV),$(OBJS),shared,..)
  810.   #else
  811.  
  812. *** /tmp/,RCSt1008492    Fri Dec 27 15:13:39 1991
  813. --- mit/lib/nls/Xsi/local_im_tbl/lt_LN.bit7    Fri Dec 27 15:12:27 1991
  814. ***************
  815. *** 1,4 ****
  816. ! # $XConsortium: lt_LN.bit7,v 1.3 91/12/11 11:01:15 rws Exp $
  817.   #
  818.   #    Conversion file for Local Input Method
  819.   #
  820. --- 1,4 ----
  821. ! # $XConsortium: lt_LN.bit7,v 1.4 91/12/27 15:10:49 rws Exp $
  822.   #
  823.   #    Conversion file for Local Input Method
  824.   #
  825. ***************
  826. *** 7,17 ****
  827. --- 7,20 ----
  828.   #    <from>[<from>...]    [<to>[<to>...]]    [{to_string}[{to_string}...]
  829.   #  or
  830.   #    <from>[<from>...]    Command
  831. + #  or
  832. + #    InitialState        OnState/OffState
  833.   #
  834.   #  from : Input keysym
  835.   #  to_keysym : Output keysym
  836.   #  to_string : Output string
  837.   #  Command : Special commad (NoFilter/ConvertOn/ConvertOff)
  838. + #  InitialState : Initial state (default is OnState)
  839.   
  840.   <Shift_L>            NoFilter
  841.   <Shift_R>            NoFilter
  842. *** /tmp/,RCSt1008492    Fri Dec 27 15:13:42 1991
  843. --- mit/lib/nls/Xsi/local_im_tbl/lt_LN.bit8    Fri Dec 27 15:12:31 1991
  844. ***************
  845. *** 1,4 ****
  846. ! # $XConsortium: lt_LN.bit8,v 1.3 91/12/11 11:01:22 rws Exp $
  847.   #
  848.   #    Conversion file for Local Input Method
  849.   #
  850. --- 1,4 ----
  851. ! # $XConsortium: lt_LN.bit8,v 1.4 91/12/27 15:11:10 rws Exp $
  852.   #
  853.   #    Conversion file for Local Input Method
  854.   #
  855. ***************
  856. *** 7,17 ****
  857. --- 7,20 ----
  858.   #    <from>[<from>...]    [<to>[<to>...]]    [{to_string}[{to_string}...]
  859.   #  or
  860.   #    <from>[<from>...]    Command
  861. + #  or
  862. + #    InitialState        OnState/OffState
  863.   #
  864.   #  from : Input keysym
  865.   #  to_keysym : Output keysym
  866.   #  to_string : Output string
  867.   #  Command : Special commad (NoFilter/ConvertOn/ConvertOff)
  868. + #  InitialState : Initial state (default is OnState)
  869.   
  870.   <Shift_L>            NoFilter
  871.   <Shift_R>            NoFilter
  872.  
  873. *** /tmp/,RCSt1K_wBIj    Wed Dec 11 19:51:50 1991
  874. --- mit/fonts/lib/font/fontfile/dirfile.c    Wed Dec 11 19:49:40 1991
  875. ***************
  876. *** 1,5 ****
  877.   /*
  878. !  * $XConsortium: dirfile.c,v 1.4 91/07/25 18:05:10 rws Exp $
  879.    *
  880.    * Copyright 1991 Massachusetts Institute of Technology
  881.    *
  882. --- 1,5 ----
  883.   /*
  884. !  * $XConsortium: dirfile.c,v 1.5 91/12/11 19:49:06 eswu Exp $
  885.    *
  886.    * Copyright 1991 Massachusetts Institute of Technology
  887.    *
  888. ***************
  889. *** 69,77 ****
  890. --- 69,82 ----
  891.           return BadFontPath;
  892.       }
  893.       dir = FontFileMakeDir(directory, i);
  894. +     if (dir == NULL) {
  895. +         fclose(file);
  896. +         return BadFontPath;
  897. +     }
  898.       dir->dir_mtime = statb.st_mtime;
  899.       while ((count = fscanf(file, "%s %[^\n]\n", file_name, font_name)) != EOF) {
  900.           if (count != 2) {
  901. +         FontFileFreeDir (dir);
  902.           fclose(file);
  903.           return BadFontPath;
  904.           }
  905. ***************
  906. *** 78,83 ****
  907. --- 83,89 ----
  908.           if (!FontFileAddFontFile (dir, font_name, file_name))
  909.           {
  910.           FontFileFreeDir (dir);
  911. +         fclose(file);
  912.           return BadFontPath;
  913.           }
  914.       }
  915. *** /tmp/,RCSt1K%YCKs    Wed Dec 11 19:51:52 1991
  916. --- mit/fonts/lib/font/fontfile/fontdir.c    Wed Dec 11 19:49:30 1991
  917. ***************
  918. *** 1,5 ****
  919.   /*
  920. !  * $XConsortium: fontdir.c,v 1.5 91/07/16 20:13:27 keith Exp $
  921.    *
  922.    * Copyright 1991 Massachusetts Institute of Technology
  923.    *
  924. --- 1,5 ----
  925.   /*
  926. !  * $XConsortium: fontdir.c,v 1.6 91/12/11 19:46:47 eswu Exp $
  927.    *
  928.    * Copyright 1991 Massachusetts Institute of Technology
  929.    *
  930. ***************
  931. *** 50,55 ****
  932. --- 50,58 ----
  933.   {
  934.       FontScalableExtraPtr   extra;
  935.   
  936. +     if (entry->name.name)
  937. +     xfree(entry->name.name);
  938.       switch (entry->type)
  939.       {
  940.       case FONT_ENTRY_SCALABLE:
  941. ***************
  942. *** 122,127 ****
  943. --- 125,131 ----
  944.   {
  945.       FontFileFreeTable (&dir->scalable);
  946.       FontFileFreeTable (&dir->nonScalable);
  947. +     xfree(dir);
  948.   }
  949.   
  950.   FontEntryPtr
  951.  
  952. *** /tmp/,RCSt1a07990    Tue Jan 21 15:40:32 1992
  953. --- mit/clients/xdm/util.c    Tue Jan 21 15:40:04 1992
  954. ***************
  955. *** 1,7 ****
  956.   /*
  957.    * xdm - display manager daemon
  958.    *
  959. !  * $XConsortium: util.c,v 1.13 91/04/17 10:06:32 rws Exp $
  960.    *
  961.    * Copyright 1988 Massachusetts Institute of Technology
  962.    *
  963. --- 1,7 ----
  964.   /*
  965.    * xdm - display manager daemon
  966.    *
  967. !  * $XConsortium: util.c,v 1.14 92/01/21 15:38:28 gildea Exp $
  968.    *
  969.    * Copyright 1988 Massachusetts Institute of Technology
  970.    *
  971. ***************
  972. *** 62,67 ****
  973. --- 62,69 ----
  974.       char    *name;
  975.   {
  976.       int    l = strlen (name);
  977. +     if (!e) return 0;
  978.   
  979.       while (*e) {
  980.           if ((int)strlen (*e) > l && !strncmp (*e, name, l) &&
  981.  
  982. *** /tmp/,RCSt1003252    Thu Jan 23 16:16:17 1992
  983. --- mit/clients/xauth/process.c    Wed Jan 22 23:39:36 1992
  984. ***************
  985. *** 1,5 ****
  986.   /*
  987. !  * $XConsortium: process.c,v 1.35 91/02/28 09:21:52 rws Exp $
  988.    *
  989.    * Copyright 1989 Massachusetts Institute of Technology
  990.    *
  991. --- 1,5 ----
  992.   /*
  993. !  * $XConsortium: process.c,v 1.41 92/01/22 23:39:12 gildea Exp $
  994.    *
  995.    * Copyright 1989 Massachusetts Institute of Technology
  996.    *
  997. ***************
  998. *** 42,48 ****
  999.   
  1000.   #define SECURERPC "SUN-DES-1"
  1001.   
  1002. ! #define XAUTH_DEFAULT_RETRIES 2        /* just a few times */
  1003.   #define XAUTH_DEFAULT_TIMEOUT 2        /* in seconds, be quick */
  1004.   #define XAUTH_DEFAULT_DEADTIME 600L    /* 10 minutes in seconds */
  1005.   
  1006. --- 42,48 ----
  1007.   
  1008.   #define SECURERPC "SUN-DES-1"
  1009.   
  1010. ! #define XAUTH_DEFAULT_RETRIES 10    /* number of competitors we expect */
  1011.   #define XAUTH_DEFAULT_TIMEOUT 2        /* in seconds, be quick */
  1012.   #define XAUTH_DEFAULT_DEADTIME 600L    /* 10 minutes in seconds */
  1013.   
  1014. ***************
  1015. *** 88,94 ****
  1016.   static int do_help(), do_source(), do_info(), do_exit();
  1017.   static int do_quit(), do_questionmark();
  1018.   
  1019. ! CommandTable command_table[] = {    /* table of known commands */
  1020.       { "add",      2, 3, do_add,
  1021.       "add dpyname protoname hexkey   add entry" },
  1022.       { "exit",     3, 4, do_exit,
  1023. --- 88,94 ----
  1024.   static int do_help(), do_source(), do_info(), do_exit();
  1025.   static int do_quit(), do_questionmark();
  1026.   
  1027. ! static CommandTable command_table[] = {    /* table of known commands */
  1028.       { "add",      2, 3, do_add,
  1029.       "add dpyname protoname hexkey   add entry" },
  1030.       { "exit",     3, 4, do_exit,
  1031. ***************
  1032. *** 192,202 ****
  1033.   static char *skip_space (s)
  1034.       register char *s;
  1035.   {
  1036. -     register char c;
  1037.       if (!s) return NULL;
  1038.   
  1039. !     for (; (c = *s) && isascii(c) && isspace(c); s++) ;
  1040.       return s;
  1041.   }
  1042.   
  1043. --- 192,201 ----
  1044.   static char *skip_space (s)
  1045.       register char *s;
  1046.   {
  1047.       if (!s) return NULL;
  1048.   
  1049. !     for ( ; *s && isascii(*s) && isspace(*s); s++)
  1050. !     ;
  1051.       return s;
  1052.   }
  1053.   
  1054. ***************
  1055. *** 204,215 ****
  1056.   static char *skip_nonspace (s)
  1057.       register char *s;
  1058.   {
  1059. -     register char c;
  1060.       if (!s) return NULL;
  1061.   
  1062.       /* put quoting into loop if need be */
  1063. !     for (; (c = *s) && isascii(c) && !isspace(c); s++) ;
  1064.       return s;
  1065.   }
  1066.   
  1067. --- 203,213 ----
  1068.   static char *skip_nonspace (s)
  1069.       register char *s;
  1070.   {
  1071.       if (!s) return NULL;
  1072.   
  1073.       /* put quoting into loop if need be */
  1074. !     for ( ; *s && isascii(*s) && !isspace(*s); s++)
  1075. !     ;
  1076.       return s;
  1077.   }
  1078.   
  1079. ***************
  1080. *** 591,596 ****
  1081. --- 589,595 ----
  1082.   #define _signal_t void
  1083.   #endif
  1084.   
  1085. + /* ARGSUSED */
  1086.   static _signal_t die (sig)
  1087.       int sig;
  1088.   {
  1089. ***************
  1090. *** 609,615 ****
  1091.       if (sig > 0) signal (sig, die);    /* re-establish signal handler */
  1092.   #endif
  1093.       if (verbose && xauth_modified) printf ("\r\n");
  1094. !     die ();
  1095.       /* NOTREACHED */
  1096.   #ifdef SIGNALRETURNSINT
  1097.       return -1;                /* for picky compilers */
  1098. --- 608,614 ----
  1099.       if (sig > 0) signal (sig, die);    /* re-establish signal handler */
  1100.   #endif
  1101.       if (verbose && xauth_modified) printf ("\r\n");
  1102. !     die (sig);
  1103.       /* NOTREACHED */
  1104.   #ifdef SIGNALRETURNSINT
  1105.       return -1;                /* for picky compilers */
  1106. ***************
  1107. *** 657,670 ****
  1108.       hexvalues['e'] = hexvalues['E'] = 0xe;
  1109.       hexvalues['f'] = hexvalues['F'] = 0xf;
  1110.   
  1111. -     exists = (access (authfilename, F_OK) == 0);
  1112. -     if (exists && access (authfilename, W_OK) != 0) {
  1113. -     fprintf (stderr,
  1114. -      "%s:  %s not writable, changes will be ignored\n",
  1115. -          ProgramName, authfilename);
  1116. -     xauth_allowed = False;
  1117. -     }
  1118.       if (break_locks && verbose) {
  1119.       printf ("Attempting to break locks on authority file %s\n",
  1120.           authfilename);
  1121. --- 656,661 ----
  1122. ***************
  1123. *** 692,697 ****
  1124. --- 683,697 ----
  1125.       }
  1126.       }
  1127.   
  1128. +     /* these checks can only be done reliably after the file is locked */
  1129. +     exists = (access (authfilename, F_OK) == 0);
  1130. +     if (exists && access (authfilename, W_OK) != 0) {
  1131. +     fprintf (stderr,
  1132. +      "%s:  %s not writable, changes will be ignored\n",
  1133. +          ProgramName, authfilename);
  1134. +     xauth_allowed = False;
  1135. +     }
  1136.       original_umask = umask (0077);    /* disallow non-owner access */
  1137.   
  1138.       authfp = fopen (authfilename, "r");
  1139. ***************
  1140. *** 750,758 ****
  1141.       return -1;
  1142.       } 
  1143.   
  1144.       for (list = xauth_head; list; list = list->next) {
  1145. !     XauWriteAuth (fp, list->auth);
  1146.       }
  1147.   
  1148.       (void) fclose (fp);
  1149.       return 0;
  1150. --- 750,773 ----
  1151.       return -1;
  1152.       } 
  1153.   
  1154. +     /*
  1155. +      * Write MIT-MAGIC-COOKIE-1 first, because R4 Xlib knows
  1156. +      * only that and uses the first authorization it finds.
  1157. +      */
  1158.       for (list = xauth_head; list; list = list->next) {
  1159. !     if (list->auth->name_length == 18
  1160. !         && strncmp(list->auth->name, "MIT-MAGIC-COOKIE-1", 18) == 0)
  1161. !     {
  1162. !         XauWriteAuth (fp, list->auth);
  1163. !     }
  1164.       }
  1165. +     for (list = xauth_head; list; list = list->next) {
  1166. +     if (list->auth->name_length != 18
  1167. +         || strncmp(list->auth->name, "MIT-MAGIC-COOKIE-1", 18) != 0)
  1168. +     {
  1169. +         XauWriteAuth (fp, list->auth);
  1170. +     }
  1171. +     }
  1172.   
  1173.       (void) fclose (fp);
  1174.       return 0;
  1175. ***************
  1176. *** 829,835 ****
  1177.   
  1178.   static void fprintfhex (fp, len, cp)
  1179.       register FILE *fp;
  1180. !     int len;
  1181.       char *cp;
  1182.   {
  1183.       unsigned char *ucp = (unsigned char *) cp;
  1184. --- 844,850 ----
  1185.   
  1186.   static void fprintfhex (fp, len, cp)
  1187.       register FILE *fp;
  1188. !     unsigned int len;
  1189.       char *cp;
  1190.   {
  1191.       unsigned char *ucp = (unsigned char *) cp;
  1192. ***************
  1193. *** 859,864 ****
  1194. --- 874,880 ----
  1195.       return;
  1196.   }
  1197.   
  1198. + /* ARGSUSED */
  1199.   static int dump_entry (inputfilename, lineno, auth, data)
  1200.       char *inputfilename;
  1201.       int lineno;
  1202. ***************
  1203. *** 933,939 ****
  1204.   }
  1205.   
  1206.   
  1207. ! static int match_auth (a, b)
  1208.       register Xauth *a, *b;
  1209.   {
  1210.       return ((a->family == b->family &&
  1211. --- 949,955 ----
  1212.   }
  1213.   
  1214.   
  1215. ! static int match_auth_dpy (a, b)
  1216.       register Xauth *a, *b;
  1217.   {
  1218.       return ((a->family == b->family &&
  1219. ***************
  1220. *** 943,949 ****
  1221. --- 959,975 ----
  1222.            bcmp (a->number, b->number, a->number_length) == 0) ? 1 : 0);
  1223.   }
  1224.   
  1225. + /* return non-zero iff display and authorization type are the same */
  1226.   
  1227. + static int match_auth (a, b)
  1228. +     register Xauth *a, *b;
  1229. + {
  1230. +     return ((match_auth_dpy(a, b)
  1231. +          && a->name_length == b->name_length
  1232. +          && bcmp(a->name, b->name, a->name_length) == 0) ? 1 : 0);
  1233. + }
  1234.   static int merge_entries (firstp, second, nnewp, nreplp)
  1235.       AuthList **firstp, *second;
  1236.       int *nnewp, *nreplp;
  1237. ***************
  1238. *** 977,983 ****
  1239.       AuthList *next = b->next;    /* in case we free it */
  1240.   
  1241.       a = first;
  1242. !     while (1) {
  1243.           if (match_auth (a->auth, b->auth)) {  /* found a duplicate */
  1244.           AuthList tmp;        /* swap it in for old one */
  1245.           tmp = *a;
  1246. --- 1003,1009 ----
  1247.       AuthList *next = b->next;    /* in case we free it */
  1248.   
  1249.       a = first;
  1250. !     for (;;) {
  1251.           if (match_auth (a->auth, b->auth)) {  /* found a duplicate */
  1252.           AuthList tmp;        /* swap it in for old one */
  1253.           tmp = *a;
  1254. ***************
  1255. *** 1024,1030 ****
  1256.       int status;
  1257.       int errors = 0;
  1258.       Xauth proto;
  1259. !     AuthList *l;
  1260.   
  1261.       /*
  1262.        * iterate
  1263. --- 1050,1056 ----
  1264.       int status;
  1265.       int errors = 0;
  1266.       Xauth proto;
  1267. !     AuthList *l, *next;
  1268.   
  1269.       /*
  1270.        * iterate
  1271. ***************
  1272. *** 1039,1046 ****
  1273.           continue;
  1274.       }
  1275.       status = 0;
  1276. !     for (l = xauth_head; l; l = l->next) {
  1277. !         if (match_auth (&proto, l->auth)) {
  1278.           if (yfunc) {
  1279.               status = (*yfunc) (inputfilename, lineno,
  1280.                          l->auth, data);
  1281. --- 1065,1073 ----
  1282.           continue;
  1283.       }
  1284.       status = 0;
  1285. !     for (l = xauth_head; l; l = next) {
  1286. !         next = l->next;
  1287. !         if (match_auth_dpy (&proto, l->auth)) {
  1288.           if (yfunc) {
  1289.               status = (*yfunc) (inputfilename, lineno,
  1290.                          l->auth, data);
  1291. ***************
  1292. *** 1065,1070 ****
  1293. --- 1092,1098 ----
  1294.       return errors;
  1295.   }
  1296.   
  1297. + /* ARGSUSED */
  1298.   static int remove_entry (inputfilename, lineno, auth, data)
  1299.       char *inputfilename;
  1300.       int lineno;
  1301. ***************
  1302. *** 1073,1114 ****
  1303.   {
  1304.       int *nremovedp = (int *) data;
  1305.       AuthList **listp = &xauth_head;
  1306. !     AuthList *prev = NULL, *list = (*listp);
  1307. !     int removed = 0, notremoved = 0;
  1308.   
  1309. -     if (!list) {
  1310. -     *nremovedp = 0;
  1311. -     return 1;            /* if nothing to remove */
  1312. -     }
  1313.       /*
  1314. !      * run through list removing any records that match
  1315.        */
  1316. !     while (list) {
  1317. !     if (match_auth (list->auth, auth)) {
  1318. !         AuthList *next = list->next;          /* next one to look at */
  1319. !         if (prev) {
  1320. !         prev->next = next;               /* unlink current one */
  1321. !         } else {
  1322. !         *listp = next;                   /* bump start of list */
  1323. !         }
  1324. !         XauDisposeAuth (list->auth);                    /* free the auth */
  1325. !         free (list);                    /* free the link */
  1326. !         list = next;              /* go look at the next one */
  1327. !         removed++;
  1328. !         xauth_modified = True;
  1329. !     } else {
  1330. !         notremoved++;
  1331. !         prev = list;
  1332. !         list = list->next;
  1333. !     }
  1334. !     }
  1335. !     if (notremoved == 0) {        /* if nothing left */
  1336. !     *listp = NULL;            /* then null out list */
  1337. !     }
  1338. !     *nremovedp = removed;
  1339. !     return 0;
  1340.   }
  1341.   
  1342.   /*
  1343. --- 1101,1119 ----
  1344.   {
  1345.       int *nremovedp = (int *) data;
  1346.       AuthList **listp = &xauth_head;
  1347. !     AuthList *list;
  1348.   
  1349.       /*
  1350. !      * unlink the auth we were asked to
  1351.        */
  1352. !     while ((list = *listp)->auth != auth)
  1353. !     listp = &list->next;
  1354. !     *listp = list->next;
  1355. !     XauDisposeAuth (list->auth);                    /* free the auth */
  1356. !     free (list);                    /* free the link */
  1357. !     xauth_modified = True;
  1358. !     (*nremovedp)++;
  1359. !     return 1;
  1360.   }
  1361.   
  1362.   /*
  1363. ***************
  1364. *** 1179,1184 ****
  1365. --- 1184,1190 ----
  1366.   /*
  1367.    * questionmark
  1368.    */
  1369. + /* ARGSUSED */
  1370.   static int do_questionmark (inputfilename, lineno, argc, argv)
  1371.       char *inputfilename;
  1372.       int lineno;
  1373. ***************
  1374. *** 1524,1529 ****
  1375. --- 1530,1536 ----
  1376.    */
  1377.   static Bool alldone = False;
  1378.   
  1379. + /* ARGSUSED */
  1380.   static int do_exit (inputfilename, lineno, argc, argv)
  1381.       char *inputfilename;
  1382.       int lineno;
  1383. ***************
  1384. *** 1538,1543 ****
  1385. --- 1545,1551 ----
  1386.   /*
  1387.    * quit
  1388.    */
  1389. + /* ARGSUSED */
  1390.   static int do_quit (inputfilename, lineno, argc, argv)
  1391.       char *inputfilename;
  1392.       int lineno;
  1393. ***************
  1394. *** 1547,1555 ****
  1395.       /* allow bogus stuff */
  1396.       die (0);
  1397.       /* NOTREACHED */
  1398. - #ifdef SIGNALRETURNSINT
  1399.       return -1;                /* for picky compilers */
  1400. - #endif
  1401.   }
  1402.   
  1403.   
  1404. --- 1555,1561 ----
  1405.  
  1406. *** /tmp/,RCSt1003259    Thu Jan 23 16:18:38 1992
  1407. --- mit/clients/xterm/main.c    Mon Dec 23 17:03:02 1991
  1408. ***************
  1409. *** 1,5 ****
  1410.   #ifndef lint
  1411. ! static char *rid="$XConsortium: main.c,v 1.195 91/07/22 12:23:31 gildea Exp $";
  1412.   #endif /* lint */
  1413.   
  1414.   /*
  1415. --- 1,5 ----
  1416.   #ifndef lint
  1417. ! static char *rid="$XConsortium: main.c,v 1.199 91/12/23 17:02:24 gildea Exp $";
  1418.   #endif /* lint */
  1419.   
  1420.   /*
  1421. ***************
  1422. *** 745,751 ****
  1423.       register TScreen *screen;
  1424.       register int i, pty;
  1425.       int Xsocket, mode;
  1426. !     char *basename();
  1427.       int xerror(), xioerror();
  1428.   
  1429.       ProgramName = argv[0];
  1430. --- 745,751 ----
  1431.       register TScreen *screen;
  1432.       register int i, pty;
  1433.       int Xsocket, mode;
  1434. !     char *base_name();
  1435.       int xerror(), xioerror();
  1436.   
  1437.       ProgramName = argv[0];
  1438. ***************
  1439. *** 1022,1028 ****
  1440.   
  1441.           if (!resource.title) {
  1442.           if (command_to_exec) {
  1443. !             resource.title = basename (command_to_exec[0]);
  1444.           } /* else not reached */
  1445.           }
  1446.   
  1447. --- 1022,1028 ----
  1448.   
  1449.           if (!resource.title) {
  1450.           if (command_to_exec) {
  1451. !             resource.title = base_name (command_to_exec[0]);
  1452.           } /* else not reached */
  1453.           }
  1454.   
  1455. ***************
  1456. *** 1092,1097 ****
  1457. --- 1092,1115 ----
  1458.       }
  1459.       screen->inhibit = inhibit;
  1460.   
  1461. + #ifdef AIXV3
  1462. +     /* In AIXV3, xterms started from /dev/console have CLOCAL set.
  1463. +      * This means we need to clear CLOCAL so that SIGHUP gets sent
  1464. +      * to the slave-pty process when xterm exits. 
  1465. +      */
  1466. +     {
  1467. +         struct termio tio;
  1468. +         if(ioctl(pty, TCGETA, &tio) == -1)
  1469. +         SysError(ERROR_TIOCGETP);
  1470. +         tio.c_cflag &= ~(CLOCAL);
  1471. +         if (ioctl (pty, TCSETA, &tio) == -1)
  1472. +         SysError(ERROR_TIOCSETP);
  1473. +     }
  1474. + #endif
  1475.   #ifdef USE_SYSV_TERMIO
  1476.       if (0 > (mode = fcntl(pty, F_GETFL, 0)))
  1477.           Error();
  1478. ***************
  1479. *** 1125,1131 ****
  1480.       }
  1481.   }
  1482.   
  1483. ! char *basename(name)
  1484.   char *name;
  1485.   {
  1486.       register char *cp;
  1487. --- 1143,1149 ----
  1488.       }
  1489.   }
  1490.   
  1491. ! char *base_name(name)
  1492.   char *name;
  1493.   {
  1494.       register char *cp;
  1495. ***************
  1496. *** 1183,1188 ****
  1497. --- 1201,1224 ----
  1498.   #endif
  1499.       return 0;
  1500.   #else /* ATT else */
  1501. + #ifdef AIXV3
  1502. +     if ((*pty = open ("/dev/ptc", O_RDWR)) < 0) {
  1503. +         return 1;
  1504. +     }
  1505. +     strcpy(ttydev, ttyname(*pty));
  1506. +     return 0;
  1507. + #endif
  1508. + #ifdef sgi
  1509. +     {
  1510. +         char    *tty_name;
  1511. +         tty_name = _getpty (pty, O_RDWR, 0622, 0);
  1512. +         if (tty_name == 0)
  1513. +         return 1;
  1514. +         strcpy (ttydev, tty_name);
  1515. +         return 0;
  1516. +     }
  1517. + #endif
  1518.   #ifdef __convex__
  1519.           {
  1520.           char *pty_name, *getpty();
  1521. ***************
  1522. *** 1201,1207 ****
  1523.   #ifdef USE_GET_PSEUDOTTY
  1524.       return ((*pty = getpseudotty (&ttydev, &ptydev)) >= 0 ? 0 : 1);
  1525.   #else
  1526. ! #if defined(sgi) || (defined(umips) && defined (SYSTYPE_SYSV))
  1527.       struct stat fstat_buf;
  1528.   
  1529.       *pty = open ("/dev/ptc", O_RDWR);
  1530. --- 1237,1243 ----
  1531.   #ifdef USE_GET_PSEUDOTTY
  1532.       return ((*pty = getpseudotty (&ttydev, &ptydev)) >= 0 ? 0 : 1);
  1533.   #else
  1534. ! #if (defined(umips) && defined (SYSTYPE_SYSV))
  1535.       struct stat fstat_buf;
  1536.   
  1537.       *pty = open ("/dev/ptc", O_RDWR);
  1538. ***************
  1539. *** 1532,1539 ****
  1540.               if (tty_got_hung || errno == ENXIO || errno == EIO ||
  1541.                   errno == ENOTTY) {
  1542.                   no_dev_tty = TRUE;
  1543. - #ifdef USE_SYSV_TERMIO
  1544. -                 tio = d_tio;
  1545.   #ifdef TIOCSLTC
  1546.                   ltc = d_ltc;
  1547.   #endif    /* TIOCSLTC */
  1548. --- 1568,1573 ----
  1549. ***************
  1550. *** 1540,1554 ****
  1551.   #ifdef TIOCLSET
  1552.                   lmode = d_lmode;
  1553.   #endif    /* TIOCLSET */
  1554.   #else    /* not USE_SYSV_TERMIO */
  1555.                   sg = d_sg;
  1556.                   tc = d_tc;
  1557.                   discipline = d_disipline;
  1558. -                 ltc = d_ltc;
  1559. -                 lmode = d_lmode;
  1560.   #ifdef sony
  1561. -                 jtc = d_jtc;
  1562.                   jmode = d_jmode;
  1563.   #endif /* sony */
  1564.   #endif    /* USE_SYSV_TERMIO */
  1565.               } else {
  1566. --- 1574,1588 ----
  1567.   #ifdef TIOCLSET
  1568.                   lmode = d_lmode;
  1569.   #endif    /* TIOCLSET */
  1570. + #ifdef USE_SYSV_TERMIO
  1571. +                 tio = d_tio;
  1572.   #else    /* not USE_SYSV_TERMIO */
  1573.                   sg = d_sg;
  1574.                   tc = d_tc;
  1575.                   discipline = d_disipline;
  1576.   #ifdef sony
  1577.                   jmode = d_jmode;
  1578. +                 jtc = d_jtc;
  1579.   #endif /* sony */
  1580.   #endif    /* USE_SYSV_TERMIO */
  1581.               } else {
  1582. ***************
  1583. *** 1555,1605 ****
  1584.                   SysError(ERROR_OPDEVTTY);
  1585.               }
  1586.           } else {
  1587. !             /* get a copy of the current terminal's state */
  1588. ! #ifdef USE_SYSV_TERMIO
  1589. !                 /* SVR4 fails here if xterm started
  1590. !                from twm from xdm from /etc/rc.
  1591. !                Hence the protection for the next 3 ioctl's.
  1592. !                Something about not having a controlling tty. */
  1593. !                 if(ioctl(tty, TCGETA, &tio) == -1)
  1594. ! #ifndef SVR4
  1595. !                 SysError(ERROR_TIOCGETP);
  1596. ! #else /* SVR4 */
  1597. !                     tio = d_tio;
  1598. ! #endif /* SVR4 */
  1599.   #ifdef TIOCSLTC
  1600.               if(ioctl(tty, TIOCGLTC, <c) == -1)
  1601. - #ifndef SVR4
  1602. -                 SysError(ERROR_TIOCGLTC);
  1603. - #else /* SVR4 */
  1604.                   ltc = d_ltc;
  1605. - #endif /* SVR4 */
  1606.   #endif    /* TIOCSLTC */
  1607.   #ifdef TIOCLSET
  1608.               if(ioctl(tty, TIOCLGET, &lmode) == -1)
  1609. - #ifndef SVR4
  1610. -                 SysError(ERROR_TIOCLGET);
  1611. - #else /* SVR4 */
  1612.                   lmode = d_lmode;
  1613. - #endif /* SVR4 */
  1614.   #endif    /* TIOCLSET */
  1615.   #else    /* not USE_SYSV_TERMIO */
  1616.               if(ioctl(tty, TIOCGETP, (char *)&sg) == -1)
  1617. !                 SysError (ERROR_TIOCGETP);
  1618.               if(ioctl(tty, TIOCGETC, (char *)&tc) == -1)
  1619. !                 SysError (ERROR_TIOCGETC);
  1620.               if(ioctl(tty, TIOCGETD, (char *)&discipline) == -1)
  1621. !                 SysError (ERROR_TIOCGETD);
  1622. !             if(ioctl(tty, TIOCGLTC, (char *)<c) == -1)
  1623. !                 SysError (ERROR_TIOCGLTC);
  1624. !             if(ioctl(tty, TIOCLGET, (char *)&lmode) == -1)
  1625. !                 SysError (ERROR_TIOCLGET);
  1626.   #ifdef sony
  1627.               if(ioctl(tty, TIOCKGET, (char *)&jmode) == -1)
  1628. !                 SysError (ERROR_TIOCKGET);
  1629.               if(ioctl(tty, TIOCKGETC, (char *)&jtc) == -1)
  1630. !                 SysError (ERROR_TIOCKGETC);
  1631.   #endif /* sony */
  1632.   #endif    /* USE_SYSV_TERMIO */
  1633.               close (tty);
  1634. --- 1589,1624 ----
  1635.                   SysError(ERROR_OPDEVTTY);
  1636.               }
  1637.           } else {
  1638. !             /* Get a copy of the current terminal's state,
  1639. !              * if we can.  Some systems (e.g., SVR4 and MacII)
  1640. !              * may not have a controlling terminal at this point
  1641. !              * if started directly from xdm or xinit,     
  1642. !              * in which case we just use the defaults as above.
  1643. !              */
  1644.   #ifdef TIOCSLTC
  1645.               if(ioctl(tty, TIOCGLTC, <c) == -1)
  1646.                   ltc = d_ltc;
  1647.   #endif    /* TIOCSLTC */
  1648.   #ifdef TIOCLSET
  1649.               if(ioctl(tty, TIOCLGET, &lmode) == -1)
  1650.                   lmode = d_lmode;
  1651.   #endif    /* TIOCLSET */
  1652. + #ifdef USE_SYSV_TERMIO
  1653. +                 if(ioctl(tty, TCGETA, &tio) == -1)
  1654. +                     tio = d_tio;
  1655.   #else    /* not USE_SYSV_TERMIO */
  1656.               if(ioctl(tty, TIOCGETP, (char *)&sg) == -1)
  1657. !                     sg = d_sg;
  1658.               if(ioctl(tty, TIOCGETC, (char *)&tc) == -1)
  1659. !                     tc = d_tc;
  1660.               if(ioctl(tty, TIOCGETD, (char *)&discipline) == -1)
  1661. !                     discipline = d_disipline;
  1662.   #ifdef sony
  1663.               if(ioctl(tty, TIOCKGET, (char *)&jmode) == -1)
  1664. !                     jmode = d_jmode;
  1665.               if(ioctl(tty, TIOCKGETC, (char *)&jtc) == -1)
  1666. !                 jtc = d_jtc;
  1667.   #endif /* sony */
  1668.   #endif    /* USE_SYSV_TERMIO */
  1669.               close (tty);
  1670.  
  1671. *** /tmp/,RCSt1a24265    Mon Dec 23 17:27:16 1991
  1672. --- mit/clients/xinit/xinit.c    Mon Dec 23 17:27:00 1991
  1673. ***************
  1674. *** 1,6 ****
  1675. ! #ifndef lint
  1676. ! static char *rcsid_xinit_c = "$XConsortium: xinit.c,v 11.52 91/11/29 15:20:35 rws Exp $";
  1677. ! #endif /* lint */
  1678.   
  1679.   /* Copyright    Massachusetts Institute of Technology    1986    */
  1680.   
  1681. --- 1,4 ----
  1682. ! /* $XConsortium: xinit.c,v 11.54 91/12/23 17:26:08 gildea Exp $ */
  1683.   
  1684.   /* Copyright    Massachusetts Institute of Technology    1986    */
  1685.   
  1686. ***************
  1687. *** 49,55 ****
  1688.   #define vfork() fork()
  1689.   #endif /* SYSV and not hpux */
  1690.   
  1691. ! #ifndef X_NOT_POSIX
  1692.   #define setpgrp setpgid
  1693.   #endif
  1694.   
  1695. --- 47,55 ----
  1696.   #define vfork() fork()
  1697.   #endif /* SYSV and not hpux */
  1698.   
  1699. ! /* A/UX setpgid incorrectly removes the controlling terminal.
  1700. !    Per Posix, only setsid should do that. */
  1701. ! #if !defined(X_NOT_POSIX) && !defined(macII)
  1702.   #define setpgrp setpgid
  1703.   #endif
  1704.   
  1705.  
  1706. *** /tmp/,RCSt1000618    Thu Dec 26 15:01:42 1991
  1707. --- mit/server/ddx/cfb/cfbbresd.c    Thu Dec 26 15:01:43 1991
  1708. ***************
  1709. *** 21,27 ****
  1710.   SOFTWARE.
  1711.   
  1712.   ******************************************************************/
  1713. ! /* $XConsortium: cfbbresd.c,v 1.10 91/07/10 14:53:50 keith Exp $ */
  1714.   #include "X.h"
  1715.   #include "misc.h"
  1716.   #include "cfb.h"
  1717. --- 21,27 ----
  1718.   SOFTWARE.
  1719.   
  1720.   ******************************************************************/
  1721. ! /* $XConsortium: cfbbresd.c,v 1.11 91/12/26 14:32:45 rws Exp $ */
  1722.   #include "X.h"
  1723.   #include "misc.h"
  1724.   #include "cfb.h"
  1725. ***************
  1726. *** 66,72 ****
  1727.       andFg = rrops[0].and;
  1728.       xorBg = rrops[1].xor;
  1729.       andBg = rrops[1].and;
  1730. !     if ((thisDash = dashRemaining) > len)
  1731.       {
  1732.       thisDash = len;
  1733.       dashRemaining -= len;
  1734. --- 66,72 ----
  1735.       andFg = rrops[0].and;
  1736.       xorBg = rrops[1].xor;
  1737.       andBg = rrops[1].and;
  1738. !     if ((thisDash = dashRemaining) >= len)
  1739.       {
  1740.       thisDash = len;
  1741.       dashRemaining -= len;
  1742. ***************
  1743. *** 80,86 ****
  1744.       if (dashIndex == numInDashList) \
  1745.       dashIndex = 0; \
  1746.       dashRemaining = pDash[dashIndex]; \
  1747. !     if ((thisDash = dashRemaining) > len) \
  1748.       { \
  1749.       dashRemaining -= len; \
  1750.       thisDash = len; \
  1751. --- 80,86 ----
  1752.       if (dashIndex == numInDashList) \
  1753.       dashIndex = 0; \
  1754.       dashRemaining = pDash[dashIndex]; \
  1755. !     if ((thisDash = dashRemaining) >= len) \
  1756.       { \
  1757.       dashRemaining -= len; \
  1758.       thisDash = len; \
  1759.  
  1760. *** /tmp/,RCSt1008508    Fri Dec 27 15:13:55 1991
  1761. --- mit/doc/I18N/Xsi/Xim/LocalIM.man    Fri Dec 27 15:13:20 1991
  1762. ***************
  1763. *** 1,4 ****
  1764. ! .\" $XConsortium: LocalIM.man,v 1.3 91/12/11 15:57:44 rws Exp $
  1765.   .\" Copyright 1991 by OMRON Corp.  All Rights Reserved.
  1766.   .TH LocalIM 3X11 "Release 5" "X Version 11" "XSI FUNCTIONS"
  1767.   .SH NAME
  1768. --- 1,4 ----
  1769. ! .\" $XConsortium: LocalIM.man,v 1.4 91/12/27 15:11:47 rws Exp $
  1770.   .\" Copyright 1991 by OMRON Corp.  All Rights Reserved.
  1771.   .TH LocalIM 3X11 "Release 5" "X Version 11" "XSI FUNCTIONS"
  1772.   .SH NAME
  1773. ***************
  1774. *** 18,23 ****
  1775. --- 18,27 ----
  1776.   or
  1777.   .br
  1778.   <from>[<from>...]  Command
  1779. + .br
  1780. + or
  1781. + .br
  1782. + InitialState  OnState/OffState
  1783.   .sp
  1784.   .RE
  1785.   .IP \fBfrom\fP 1i
  1786. ***************
  1787. *** 37,47 ****
  1788.   .IP ConvertOn 1i
  1789.   If the input keysym(s) (from) is(are) pressed, the input method
  1790.   move in a conversion \fBon\fP state.
  1791. ! .IP ConvertOn 1i
  1792.   If the input keysym(s) (from) is(are) pressed, the input method
  1793.   move in a conversion \fBoff\fP state.
  1794.   .sp
  1795.   .RE
  1796.   .PP
  1797.   It is possible to omit \fIto\fP or \fIstr\fP. But either must be set.
  1798.   .PP
  1799. --- 41,55 ----
  1800.   .IP ConvertOn 1i
  1801.   If the input keysym(s) (from) is(are) pressed, the input method
  1802.   move in a conversion \fBon\fP state.
  1803. ! .IP ConvertOff 1i
  1804.   If the input keysym(s) (from) is(are) pressed, the input method
  1805.   move in a conversion \fBoff\fP state.
  1806.   .sp
  1807.   .RE
  1808. + .IP InitialState 1i
  1809. + Specifies the initial state. The second argument is OnState or
  1810. + OffState. The default state is OnState.
  1811. + .sp
  1812.   .PP
  1813.   It is possible to omit \fIto\fP or \fIstr\fP. But either must be set.
  1814.   .PP
  1815. ***************
  1816. *** 72,77 ****
  1817. --- 80,87 ----
  1818.   .SH EXAMPLE
  1819.   .sp
  1820.   .RS
  1821. + InitialState            OffState
  1822. + .br
  1823.   <Meta_L>                NoFilter
  1824.   .br
  1825.   <Execute>               ConvertOn
  1826.  
  1827.