DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T f

⟦791b011de⟧ TextFile

    Length: 77969 (0x13091)
    Types: TextFile
    Names: »fix-01«

Derivation

└─⟦276d19d6e⟧ Bits:30007243 EUUGD5_I: X11R5
    └─⟦this⟧ »./fixes/fix-01« 

TextFile

		      Release 5 Public Patch #1
			   MIT X Consortium

This patch comes in two parts: this file, and the file "sunGX.uu".
(If you obtained this patch via the xstuff mail daemon, and you do not have
"sunGX.uu", get it with the request "send fixes sunGX.uu".)

To apply this patch:

cd to the top of the source tree (to the directory containing the "mit"
and "contrib" subdirectories) and do:
	patch -p -s < ThisFile
Patch will work silently unless an error occurs.  You will likely get
two warning messages, which can be ignored:
	mkdir: mit: File exists
	mkdir: mit/hardcopy: File exists
If you want to watch patch do its thing, leave out the "-s" argument to patch.

Next, from the same top-level directory do:
	uudecode sunGX.uu
	rm -f mit/server/ddx/sun/sunGX.o.dist
	uncompress mit/server/ddx/sun/sunGX.o.dist

Finally, to rebuild after applying this patch, cd to the "mit" subdirectory
and do:
	make Everything >& every.log
Note: this will *not* "clean" your tree.

Important notice: This patch makes an unfortunate incompatible change to the
handling of authorization/authentication data when HasXdmAuth is YES, fixing
a bug in the original code.  You must rebuild with this patch on all systems
that have HasXdmAuth set to YES, for them to interoperate correctly.


Brief notes on what this patch fixes:

config: A/UX libc "bcopy" can fail on overlapping copy
man: Standards.man incorrectly labels Input Extension include files
man: depending in ./man fails if InstallLibManPages is NO
man: font server name syntax not easily found
Xdmcp: incorrect argument to _XdmcpAuthSetup
Xlib: TekHVC computation bug in TekHVCGcVC.c
Xlib: another MOTIFBC needed in XOpenDis.c
Xlib: XPointInRegion incorrectly includes right/lower edges
Xlib: _XipSendICValues bug under -DXML
Xlib: conflict between wchar and wchar_t in callbacks of Xsi
Xlib: Compile error at nameaddr.c caused by static declarations
Xt: XtGetActionList external declaration missing
Xt: use of AllocateLocalDefines on Sparcs using gcc/cc combo
twm: if icon manager is empty and you execute f.forwicomg, you can crash twm
xdm: not all xdm config files installed
xdm: POSIX signal handling loses on some machines
xmag: resets root window cursor
xman: LOCALMANPATH def in Imakefile fails with some cpp's
xman: does not define WM_COMMAND property
xman: ^S popup box positioning
xrdb: -merge option works incorrectly
xterm: link/install xterm dynamic on Sun
fontserver: config file missing make dependencies
fontserver: bug in ANYSET() function
MacFS: README elaborated
rgb: link fails when using HasGcc on Sparc
server: non-blocking I/O set incorrectly on RS/6000
ibmddx: backing store not working
ibmddx: bell not working properly
ibmddx: server option parsing not correct
ibmddx: core dumps when WarpPointer called
ibmddx: skyway hardware is not fully initialized
sunddx: various GX driver bugs
hardcopy: PostScript output shifted too low on the page

Prereq: public-patch-0

*** /tmp/,RCSt1a00793	Thu Sep 12 19:21:45 1991
--- mit/bug-report	Thu Sep 12 19:21:31 1991
***************
*** 2,8 ****
  Subject: [area]: [synopsis]   [replace with actual area and short description]
  
  VERSION:
!     R5, public-patch-0
      [MIT public patches will edit this line to indicate the patch level]
  
  CLIENT MACHINE and OPERATING SYSTEM:
--- 2,8 ----
  Subject: [area]: [synopsis]   [replace with actual area and short description]
  
  VERSION:
!     R5, public-patch-1
      [MIT public patches will edit this line to indicate the patch level]
  
  CLIENT MACHINE and OPERATING SYSTEM:

*** /tmp/,RCSt1a01107	Wed Sep 11 10:54:18 1991
--- mit/config/Project.tmpl	Tue Sep 10 09:02:22 1991
***************
*** 1,6 ****
  XCOMM -------------------------------------------------------------------------
  XCOMM X Window System Build Parameters
! XCOMM $XConsortium: Project.tmpl,v 1.137 91/07/30 22:57:01 rws Exp $
  
  /*****************************************************************************
   *                                                                           *
--- 1,6 ----
  XCOMM -------------------------------------------------------------------------
  XCOMM X Window System Build Parameters
! XCOMM $XConsortium: Project.tmpl,v 1.138 91/09/10 09:02:12 rws Exp $
  
  /*****************************************************************************
   *                                                                           *
***************
*** 624,629 ****
--- 624,631 ----
          DEPPHIGSLIB = _UseCat($(USRLIBDIR),$(PHIGSLIBSRC),/libphigs.a)
             PHIGSLIB = LoaderLibPrefix _Use(-lphigs,$(DEPPHIGSLIB))
  #endif
+        DEPXBSDLIB = _UseCat($(USRLIBDIR),$(LIBSRC)/Berk,/libXbsd.a)
+           XBSDLIB = LoaderLibPrefix _Use(-lXbsd,$(DEPXBSDLIB))
  
   LINTEXTENSIONLIB = _UseCat($(LINTLIBDIR),$(EXTENSIONSRC)/lib,/llib-lXext.ln)
           LINTXLIB = _UseCat($(LINTLIBDIR),$(XLIBSRC),/llib-lX11.ln)

*** /tmp/,RCSt1a01107	Wed Sep 11 10:54:21 1991
--- mit/config/macII.cf	Tue Sep 10 09:02:46 1991
***************
*** 1,4 ****
! XCOMM platform:  $XConsortium: macII.cf,v 1.39 91/07/30 12:11:32 rws Exp $
  
  #define OSName            A/UX 2.0.1
  #define OSMajorVersion    2
--- 1,4 ----
! XCOMM platform:  $XConsortium: macII.cf,v 1.40 91/09/10 09:02:30 rws Exp $
  
  #define OSName            A/UX 2.0.1
  #define OSMajorVersion    2
***************
*** 9,15 ****
  #define BootstrapCFlags   -DmacII
  #endif
  #define SystemV             YES
! #define ExtraLibraries      -lposix
  #define Malloc0ReturnsNull  YES
  #define StandardDefines     -DmacII -DSYSV
  #define LnCmd               ln -s
--- 9,16 ----
  #define BootstrapCFlags   -DmacII
  #endif
  #define SystemV             YES
! #define NeedBerklib         YES
! #define ExtraLibraries      $(XBSDLIB) -lposix
  #define Malloc0ReturnsNull  YES
  #define StandardDefines     -DmacII -DSYSV
  #define LnCmd               ln -s

*** /tmp/,RCSt1a16527	Mon Sep  9 18:27:06 1991
--- mit/config/sun.cf	Mon Sep  9 18:24:06 1991
***************
*** 1,4 ****
! XCOMM platform:  $XConsortium: sun.cf,v 1.68 91/07/30 11:34:39 rws Exp $
  
  #define OSName            SunOS 4.1.1
  XCOMM operating system:  OSName
--- 1,4 ----
! XCOMM platform:  $XConsortium: sun.cf,v 1.69 91/09/09 18:23:59 rws Exp $
  
  #define OSName            SunOS 4.1.1
  XCOMM operating system:  OSName
***************
*** 11,17 ****
  #define StandardDefines   -DNOSTDHDRS
  #endif
  
! #define HasSaberC	  YES		/* for machines that have it */
  #define HasNdbm		  YES
  #define HasShm		  YES
  #define HasSecureRPC	  YES
--- 11,17 ----
  #define StandardDefines   -DNOSTDHDRS
  #endif
  
! #define HasSaberC	  YES
  #define HasNdbm		  YES
  #define HasShm		  YES
  #define HasSecureRPC	  YES
***************
*** 55,60 ****
--- 55,61 ----
  
  #endif
  
+ #define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
  #define LibraryCCOptions /* don't want special floating point */
  
  #ifndef UseSunWindowsInServer

*** /tmp/,RCSt1a15000	Mon Sep  9 15:43:00 1991
--- mit/man/Imakefile	Mon Sep  9 15:42:19 1991
***************
*** 1,3 ****
--- 1,5 ----
+ XCOMM $XConsortium: Imakefile,v 1.5 91/09/09 15:42:15 rws Exp $
+ 
  #if InstallLibManPages
  #define IHaveSubdirs
  #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
***************
*** 10,15 ****
--- 12,19 ----
  #ifdef IHaveSubdirs
  MakeSubdirs($(SUBDIRS))
  DependSubdirs($(SUBDIRS))
+ #else
+ depend:
  #endif
  
  InstallManPage(X,$(MANDIR))

*** /tmp/,RCSt1a15800	Mon Sep  9 17:28:40 1991
--- mit/man/X.man	Mon Sep  9 17:27:41 1991
***************
*** 1,4 ****
! .\" $XConsortium: X.man,v 1.59 91/08/27 15:47:30 gildea Exp $
  .TH X 1 "Release 5" "X Version 11"
  .SH NAME
  X \- a portable, network-transparent window system
--- 1,4 ----
! .\" $XConsortium: X.man,v 1.60 91/09/09 17:27:25 rws Exp $
  .TH X 1 "Release 5" "X Version 11"
  .SH NAME
  X \- a portable, network-transparent window system
***************
*** 446,451 ****
--- 446,483 ----
  the inch) to name a font at that size.
  The last zero is an average width field, measured in tenths of pixels;
  some servers will anamorphically scale if this value is specified.
+ .SH "FONT SERVER NAMES"
+ One of the following forms can be used to name a font server that
+ accepts TCP connections:
+ .sp
+ .nf
+     tcp/\fIhostname\fP:\fIport\fP
+     tcp/\fIhostname\fP:\fIport\fP/\fIcataloguelist\fP
+ .fi
+ .PP
+ The \fIhostname\fP specifies the name (or decimal numeric address)
+ of the machine on which the font server is running.  The \fIport\fP
+ is the decimal TCP port on which the font server is listening for connections.
+ The \fIcataloguelist\fP specifies a list of catalogue names,
+ with '+' as a separator.
+ .PP
+ Examples: \fItcp/expo.lcs.mit.edu:7000\fP, \fItcp/18.30.0.212:7001/all\fP.
+ .PP
+ One of the following forms can be used to name a font server that
+ accepts DECnet connections:
+ .sp
+ .nf
+     decnet/\fInodename\fP::font$\fIobjname\fP
+     decnet/\fInodename\fP::font$\fIobjname\fP/\fIcataloguelist\fP
+ .fi
+ .PP
+ The \fInodename\fP specifies the name (or decimal numeric address)
+ of the machine on which the font server is running.
+ The \fIobjname\fP is a normal, case-insensitive DECnet object name.
+ The \fIcataloguelist\fP specifies a list of catalogue names,
+ with '+' as a separator.
+ .PP
+ Examples: \fIDECnet/SRVNOD::FONT$DEFAULT\fP, \fIdecnet/44.70::font$special/symbols\fP.
  .SH "COLOR NAMES"
  Most applications provide ways of tailoring (usually through resources or
  command line arguments) the colors of various elements

*** /tmp/,RCSt1a15441	Mon Sep  9 16:15:52 1991
--- mit/man/Standards.man	Mon Sep  9 16:13:54 1991
***************
*** 1,4 ****
! .\" $XConsortium: Standards.man,v 1.5 91/08/15 18:16:09 rws Exp $
  .TH XSTANDARDS 1 "Release 5"  "X Version 11"
  .SH NAME
  X Standards \- MIT X Consortium Standards
--- 1,4 ----
! .\" $XConsortium: Standards.man,v 1.6 91/09/09 16:13:44 rws Exp $
  .TH XSTANDARDS 1 "Release 5"  "X Version 11"
  .SH NAME
  X Standards \- MIT X Consortium Standards
***************
*** 127,133 ****
  <X11/extensions/shape.h>
  .fi
  .PP
! The following include files are part of the X Toolkit Intrinsics standard.
  .nf
  
  <X11/extensions/XI.h>
--- 127,133 ----
  <X11/extensions/shape.h>
  .fi
  .PP
! The following include files are part of the X Input Extension standard.
  .nf
  
  <X11/extensions/XI.h>

*** /tmp/,RCSt1a04002	Tue Sep 10 14:34:29 1991
--- mit/lib/Xdmcp/Wrap.c	Tue Sep 10 14:34:15 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: Wrap.c,v 1.7 91/07/23 22:28:15 keith Exp $
   *
   * Copyright 1989 Massachusetts Institute of Technology
   *
--- 1,5 ----
  /*
!  * $XConsortium: Wrap.c,v 1.8 91/09/10 14:34:11 keith Exp $
   *
   * Copyright 1989 Massachusetts Institute of Technology
   *
***************
*** 54,60 ****
      auth_wrapper_schedule	schedule;
  
      _XdmcpWrapperToOddParity (wrapper, expand_wrapper);
!     _XdmcpAuthSetup (wrapper, schedule);
      for (j = 0; j < bytes; j += 8)
      {
  	len = 8;
--- 54,60 ----
      auth_wrapper_schedule	schedule;
  
      _XdmcpWrapperToOddParity (wrapper, expand_wrapper);
!     _XdmcpAuthSetup (expand_wrapper, schedule);
      for (j = 0; j < bytes; j += 8)
      {
  	len = 8;

*** /tmp/,RCSt1a04002	Tue Sep 10 14:34:30 1991
--- mit/lib/Xdmcp/Unwrap.c	Tue Sep 10 14:34:17 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: Unwrap.c,v 1.7 91/07/23 22:28:13 keith Exp $
   *
   * Copyright 1989 Massachusetts Institute of Technology
   *
--- 1,5 ----
  /*
!  * $XConsortium: Unwrap.c,v 1.8 91/09/10 14:34:13 keith Exp $
   *
   * Copyright 1989 Massachusetts Institute of Technology
   *
***************
*** 60,66 ****
      auth_wrapper_schedule	schedule;
  
      _XdmcpWrapperToOddParity (wrapper, expand_wrapper);
!     _XdmcpAuthSetup ((unsigned char *) wrapper, schedule);
  
      k = 0;
      for (j = 0; j < bytes; j += 8)
--- 60,66 ----
      auth_wrapper_schedule	schedule;
  
      _XdmcpWrapperToOddParity (wrapper, expand_wrapper);
!     _XdmcpAuthSetup (expand_wrapper, schedule);
  
      k = 0;
      for (j = 0; j < bytes; j += 8)

*** /tmp/,RCSt1a14789	Mon Sep  9 14:50:54 1991
--- mit/lib/X/Imakefile	Mon Sep  9 14:47:42 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.125 91/07/26 13:28:52 rws Exp $
  #define DoNormalLib NormalLibX
  #define DoSharedLib SharedLibX
  #define DoDebugLib DebugLibX
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.126 91/09/09 14:47:13 rws Exp $
  #define DoNormalLib NormalLibX
  #define DoSharedLib SharedLibX
  #define DoDebugLib DebugLibX
***************
*** 39,45 ****
--- 39,47 ----
       KDB_DEFINES = -DKEYSYMDB=\"$(LIBDIR)/XKeysymDB\"
       CMS_DEFINES = -DXCMSDB=\"$(LIBDIR)/Xcms.txt\"
       NLS_DEFINES = -DXNLSPATHDEFAULT=\"$(NLSDIR)\"
+ #if MotifBC
        BC_DEFINES = -DMOTIFBC
+ #endif
     INSTALLFLAGS = $(INSTINCFLAGS)
         AUTHOBJS = AuDispose.o AuGetBest.o AuFileName.o AuRead.o 
         AUTHSRCS = AuDispose.c AuGetBest.c AuFileName.c AuRead.c 
***************
*** 989,1003 ****
  SpecialLibObjectRule(XErrDes.o,$(ICONFIGFILES),$(EDB_DEFINES))
  SpecialLibObjectRule(XStrKeysym.o,$(ICONFIGFILES),$(KDB_DEFINES))
  SpecialLibObjectRule(XConnDis.o,$(ICONFIGFILES),$(CONN_DEFINES))
! SpecialLibObjectRule(XOpenDis.o,$(ICONFIGFILES),$(XDMAUTHDEFS) $(RPCDEFS) $(CONN_DEFINES))
  SpecialLibObjectRule(Wrap.o,$(ICONFIGFILES),$(XDMAUTHDEFS))
  SpecialLibObjectRule(Xstreams.o,$(ICONFIGFILES),$(CONN_DEFINES))
  SpecialLibObjectRule(XlibInt.o,$(ICONFIGFILES),$(CONN_DEFINES))
  SpecialLibObjectRule(XcmsColNm.o,$(ICONFIGFILES),$(CMS_DEFINES))
  SpecialLibObjectRule(globals.o,$(ICONFIGFILES),$(CONN_DEFINES))
- #if MotifBC
  SpecialLibObjectRule(Context.o,$(ICONFIGFILES),$(BC_DEFINES))
- #endif
  
  LCRules()
  
--- 991,1003 ----
  SpecialLibObjectRule(XErrDes.o,$(ICONFIGFILES),$(EDB_DEFINES))
  SpecialLibObjectRule(XStrKeysym.o,$(ICONFIGFILES),$(KDB_DEFINES))
  SpecialLibObjectRule(XConnDis.o,$(ICONFIGFILES),$(CONN_DEFINES))
! SpecialLibObjectRule(XOpenDis.o,$(ICONFIGFILES),$(XDMAUTHDEFS) $(RPCDEFS) $(CONN_DEFINES) $(BC_DEFINES))
  SpecialLibObjectRule(Wrap.o,$(ICONFIGFILES),$(XDMAUTHDEFS))
  SpecialLibObjectRule(Xstreams.o,$(ICONFIGFILES),$(CONN_DEFINES))
  SpecialLibObjectRule(XlibInt.o,$(ICONFIGFILES),$(CONN_DEFINES))
  SpecialLibObjectRule(XcmsColNm.o,$(ICONFIGFILES),$(CMS_DEFINES))
  SpecialLibObjectRule(globals.o,$(ICONFIGFILES),$(CONN_DEFINES))
  SpecialLibObjectRule(Context.o,$(ICONFIGFILES),$(BC_DEFINES))
  
  LCRules()
  
*** /tmp/,RCSt1a14794	Mon Sep  9 14:51:02 1991
--- mit/lib/X/XOpenDis.c	Mon Sep  9 14:48:19 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XOpenDis.c,v 11.119 91/07/23 22:27:42 keith Exp $
   */
  
  /* Copyright    Massachusetts Institute of Technology    1985, 1986	*/
--- 1,5 ----
  /*
!  * $XConsortium: XOpenDis.c,v 11.120 91/09/09 14:47:58 rws Exp $
   */
  
  /* Copyright    Massachusetts Institute of Technology    1985, 1986	*/
***************
*** 789,794 ****
--- 789,800 ----
  	    }
  	}
  
+ #ifdef MOTIFBC
+ 	{
+ 	    extern Display *_XHeadOfDisplayList;
+ 	    _XHeadOfDisplayList = dpy;
+ 	}
+ #endif
  /*
   * and return successfully
   */

*** /tmp/,RCSt1a12373	Thu Sep  5 16:00:10 1991
--- mit/lib/X/TekHVCGcVC.c	Thu Sep  5 15:58:43 1991
***************
*** 1,4 ****
! /* $XConsortium: TekHVCGcVC.c,v 1.8 91/07/25 01:08:07 rws Exp $" */
  
  /*
   * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
--- 1,4 ----
! /* $XConsortium: TekHVCGcVC.c,v 1.9 91/09/05 15:58:10 dave Exp $" */
  
  /*
   * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
***************
*** 192,197 ****
--- 192,198 ----
  	    }
  	    retval = _XcmsDIConvertColors(&myCCC, pColor,
  		    &myCCC.pPerScrnInfo->screenWhitePt, 1, XcmsCIEXYZFormat);
+ 	    return (retval);
  	}
  
  	/* return the closest point on the upper part of the hue leaf. */

*** /tmp/,RCSt1a16753	Mon Sep  9 18:58:37 1991
--- mit/lib/X/XConnDis.c	Mon Sep  9 18:54:51 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XConnDis.c,v 11.85 91/07/19 23:07:39 gildea Exp $
   *
   * Copyright 1989 Massachusetts Institute of Technology
   *
--- 1,5 ----
  /*
!  * $XConsortium: XConnDis.c,v 11.86 91/09/09 18:54:35 rws Exp $
   *
   * Copyright 1989 Massachusetts Institute of Technology
   *
***************
*** 795,801 ****
       * Set the connection non-blocking since we use select() to block.
       */
      /* ultrix reads hang on Unix sockets, hpux reads fail */
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux))
      (void) fcntl (dpy->fd, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
--- 795,801 ----
       * Set the connection non-blocking since we use select() to block.
       */
      /* ultrix reads hang on Unix sockets, hpux reads fail */
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux) && !defined(AIXV3))
      (void) fcntl (dpy->fd, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
***************
*** 804,810 ****
--- 804,818 ----
  	ioctl (dpy->fd, FIOSNBIO, &arg);
      }
  #else
+ #if defined(AIXV3) && defined(FIONBIO)
+     {
+ 	int arg;
+ 	arg = 1;
+ 	ioctl(dpy->fd, FIONBIO, &arg);
+     }
+ #else
      (void) fcntl (dpy->fd, F_SETFL, FNDELAY);
+ #endif
  #endif
  #endif
      return len == 0;

*** /tmp/,RCSt1a17697	Tue Sep 10 08:44:40 1991
--- mit/lib/X/region.h	Tue Sep 10 08:21:54 1991
***************
*** 1,4 ****
! /* $XConsortium: region.h,v 11.12 91/01/12 11:20:56 rws Exp $ */
  /************************************************************************
  Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
  and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
--- 1,4 ----
! /* $XConsortium: region.h,v 11.13 91/09/10 08:21:49 rws Exp $ */
  /************************************************************************
  Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
  and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
***************
*** 144,152 ****
  #define REGION_NOT_EMPTY(pReg) pReg->numRects
  
  #define INBOX(r, x, y) \
!       ( ( ((r).x2 >= x)) && \
          ( ((r).x1 <= x)) && \
!         ( ((r).y2 >= y)) && \
          ( ((r).y1 <= y)) )
  
  /*
--- 144,152 ----
  #define REGION_NOT_EMPTY(pReg) pReg->numRects
  
  #define INBOX(r, x, y) \
!       ( ( ((r).x2 >  x)) && \
          ( ((r).x1 <= x)) && \
!         ( ((r).y2 >  y)) && \
          ( ((r).y1 <= y)) )
  
  /*

*** /tmp/,RCSt1a05249	Thu Sep 12 13:41:24 1991
--- mit/lib/X/nameaddr.c	Thu Sep 12 13:41:14 1991
***************
*** 1,4 ****
! /* $XConsortium: nameaddr.c,v 1.4 91/07/23 11:49:54 rws Exp $ */
  /*	nameaddr.c - included by Xstreams.c			*/
  /*	Used for System V Release 4.0 networking code		*/
  
--- 1,4 ----
! /* $XConsortium: nameaddr.c,v 1.5 91/09/12 13:41:04 rws Exp $ */
  /*	nameaddr.c - included by Xstreams.c			*/
  /*	Used for System V Release 4.0 networking code		*/
  
***************
*** 772,778 ****
      return(n+rl);
  }
  
! char *
  getnextentry(plen)
      int	*plen;
  {
--- 772,778 ----
      return(n+rl);
  }
  
! static char *
  getnextentry(plen)
      int	*plen;
  {
***************
*** 800,806 ****
      return(ptr);
  }
  
! char *
  makePacket(plen)
      int *plen;
  {
--- 800,806 ----
      return(ptr);
  }
  
! static char *
  makePacket(plen)
      int *plen;
  {
***************
*** 857,863 ****
      return(-1);
  }
  
! char *
  staticalloc(ptr, size)
      char *ptr;
      int	size;
--- 857,863 ----
      return(-1);
  }
  
! static char *
  staticalloc(ptr, size)
      char *ptr;
      int	size;

*** /tmp/,RCSt1a02433	Wed Sep 11 11:50:23 1991
--- mit/lib/X/Xsi/XICSetVal.c	Wed Sep 11 11:41:11 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XICSetVal.c,v 1.26 91/07/19 09:34:41 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: XICSetVal.c,v 1.27 91/09/11 11:40:57 rws Exp $
   */
  
  /*
***************
*** 286,291 ****
--- 286,292 ----
  	    }
  	    if (n > 0) {
  		if ((p = Xmalloc(n)) == NULL) return(-1);
+ 		p[0] = '\0';
  		for (i = 0; i < ic->xlc_num; i++) {
  		    strcat(p, ic->mb_temp[i]->xlc_db->lc_name);
  		    strcat(p, ",");

*** /tmp/,RCSt1a05194	Thu Sep 12 13:35:15 1991
--- mit/lib/X/Xsi/ProtoFlt.c	Thu Sep 12 13:34:59 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: ProtoFlt.c,v 1.21 91/07/06 14:59:48 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: ProtoFlt.c,v 1.22 91/09/12 13:34:27 rws Exp $
   */
  
  /*
***************
*** 52,57 ****
--- 52,61 ----
      int		wc_len;
      int		length;
      int		scanned_bytes;
+ #ifndef X_WCHAR
+     int		mb_len;
+     char	*mbuf;
+ #endif
  
      if (_XipReadFromIM(im, (char *)&reply, sz_ximPreDrawReply) < 0) {
  	return;
***************
*** 81,89 ****
--- 85,110 ----
  	}
  	if (reply.encoding_is_wchar != True) {
  	    wc_len = ic->max_of_wc;
+ #ifdef X_WCHAR
  	    ret = _XConvertCTToWC(ic->wc, (unsigned char *)ic->ct_buf, length,
  				  (wchar *)ic->wc_buf, &wc_len, &scanned_bytes,
  				  (_State *)NULL);
+ #else
+ 	    mb_len = length * 2;
+ 	    mbuf = _XAllocScratch(im->core.display, mb_len);
+ 	    ret = _XConvertCTToMB(ic->mb, (unsigned char *)ic->ct_buf, length,
+ 				  mbuf, &mb_len, &scanned_bytes,
+ 				  (_State *)NULL);
+ 	    if (ret == Success) {
+ #ifdef macII
+ 		wc_len = 0;
+ #else
+ 		wc_len = mbstowcs(ic->wc_buf, mbuf, ic->max_of_wc);
+ #endif
+ 		if (wc_len == ic->max_of_wc)
+ 		    return;
+ 	    }
+ #endif
  	    if (ret != Success) {
  		return;
  	    }
***************
*** 186,191 ****
--- 207,216 ----
      int			wc_len = 0;
      int			length;
      int			scanned_bytes;
+ #ifndef X_WCHAR
+     int		mb_len;
+     char	*mbuf;
+ #endif
  
      if (_XipReadFromIM(im, (char *)&reply, sz_ximStatusDrawReply) < 0) {
  	return;
***************
*** 220,228 ****
--- 245,270 ----
  	    }
  	    if (reply.encoding_is_wchar != True) {
  		wc_len = ic->max_of_wc;
+ #ifdef X_WCHAR
  		ret = _XConvertCTToWC(ic->wc, (unsigned char *)ic->ct_buf,
  				      length, (wchar *)ic->wc_buf, &wc_len,
  				      &scanned_bytes, (_State *)NULL);
+ #else
+ 		mb_len = length * 2;
+ 		mbuf = _XAllocScratch(im->core.display, mb_len);
+ 		ret = _XConvertCTToMB(ic->mb, (unsigned char *)ic->ct_buf,
+ 				      length, mbuf, &mb_len, &scanned_bytes,
+ 				      (_State *)NULL);
+ 		if (ret == Success) {
+ #ifdef macII
+ 		    wc_len = 0;
+ #else
+ 		    wc_len = mbstowcs(ic->wc_buf, mbuf, ic->max_of_wc);
+ #endif
+ 		    if (wc_len == ic->max_of_wc)
+ 			return;
+ 		}
+ #endif
  		if (ret != Success) {
  		    return;
  		}

*** /tmp/,RCSt1a00754	Thu Sep 12 18:49:32 1991
--- mit/lib/Xt/Imakefile	Mon Sep  9 18:26:44 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.90 91/07/30 22:00:44 rws Exp $
  #define DoNormalLib NormalLibXt
  #define DoSharedLib SharedLibXt
  #define DoDebugLib DebugLibXt
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.92 91/09/09 18:26:35 rws Exp $
  #define DoNormalLib NormalLibXt
  #define DoSharedLib SharedLibXt
  #define DoDebugLib DebugLibXt
***************
*** 23,28 ****
--- 23,32 ----
  #if UnalignedReferencesAllowed
    ALIGN_DEFINES = -DUNALIGNED
  #endif
+ #if DoSharedLib && defined(SharedAllocateLocalDefines)
+ #undef AllocateLocalDefines
+ #define AllocateLocalDefines SharedAllocateLocalDefines
+ #endif
          DEFINES = AllocateLocalDefines $(ALIGN_DEFINES)
       DB_DEFINES = -DERRORDB=\"$(LIBDIR)/XtErrorDB\" \
  		  -DXTERROR_PREFIX=\"$(XTERRORPREFIX)\" \
***************
*** 31,37 ****
--- 35,43 ----
  #if Malloc0ReturnsNull
    ALLOC_DEFINES = -DMALLOC_0_RETURNS_NULL
  #endif
+ #if MotifBC
       BC_DEFINES = -DMOTIFBC
+ #endif
  
     INSTALLFLAGS = $(INSTINCFLAGS)
         LINTLIBS = $(LINTXLIB)
***************
*** 171,179 ****
  SpecialLibObjectRule(Intrinsic.o,$(ICONFIGFILES),$(SRCH_DEFINES))
  SpecialLibObjectRule(Error.o,$(ICONFIGFILES),$(DB_DEFINES))
  SpecialLibObjectRule(Alloc.o,NullParameter,$(ALLOC_DEFINES))
- #if MotifBC
  SpecialLibObjectRule(Converters.o,$(ICONFIGFILES),$(BC_DEFINES))
- #endif
  #if DoSharedLib
  SpecialObjectRule(sharedlib.o,,$(SHLIBDEF))
  #endif
--- 177,183 ----

*** /tmp/,RCSt1a23981	Tue Sep 10 15:27:37 1991
--- mit/lib/Xt/Intrinsic.h	Mon Sep  9 16:26:25 1991
***************
*** 1,4 ****
! /* $XConsortium: Intrinsic.h,v 1.173 91/07/21 00:19:04 rws Exp $ */
  
  /***********************************************************
  Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
--- 1,4 ----
! /* $XConsortium: Intrinsic.h,v 1.174 91/09/09 16:25:56 converse Exp $ */
  
  /***********************************************************
  Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
***************
*** 849,855 ****
  #endif
  );
  
! extern void XtGetActionTable(
  #if NeedFunctionPrototypes
      WidgetClass		/* widget_class */,
      XtActionList*	/* actions_return */,
--- 849,855 ----
  #endif
  );
  
! extern void XtGetActionList(
  #if NeedFunctionPrototypes
      WidgetClass		/* widget_class */,
      XtActionList*	/* actions_return */,

*** /tmp/,RCSt1a01097	Wed Sep 11 10:53:59 1991
--- mit/lib/Berk/Imakefile	Tue Sep 10 08:49:55 1991
***************
*** 1,7 ****
! XCOMM $XConsortium: Imakefile,v 1.3 91/07/16 22:51:01 gildea Exp $
  SRCS = Berklib.c
  OBJS = Berklib.o
  
! all:: Berklib.o
  
  DependTarget()
--- 1,8 ----
! XCOMM $XConsortium: Imakefile,v 1.4 91/09/10 08:49:42 rws Exp $
  SRCS = Berklib.c
  OBJS = Berklib.o
  
! NormalLibraryTarget(Xbsd,$(OBJS))
! InstallLibrary(Xbsd,$(USRLIBDIR))
  
  DependTarget()

*** /tmp/,RCSt1a01102	Wed Sep 11 10:54:04 1991
--- mit/lib/Berk/Berklib.c	Tue Sep 10 08:50:18 1991
***************
*** 1,11 ****
! /* $XConsortium: Berklib.c,v 1.14 91/07/09 14:49:33 rws Exp $ */
  
  /*
   * These are routines found in BSD but not on all other systems.  The core
!  * MIT distribution does not use them except for ffs in the server.  You
!  * should enable only the ones that you need for your system.  Use Xfuncs.h
!  * in clients to avoid using the slow versions of bcopy, bcmp, and bzero
!  * provided here.
   */
  
  #include <sys/types.h>
--- 1,11 ----
! /* $XConsortium: Berklib.c,v 1.15 91/09/10 08:50:04 rws Exp $ */
  
  /*
   * These are routines found in BSD but not on all other systems.  The core
!  * MIT distribution does not use them except for ffs in the server, unless
!  * the system is seriously deficient.  You should enable only the ones that
!  * you need for your system.  Use Xfuncs.h in clients to avoid using the
!  * slow versions of bcopy, bcmp, and bzero provided here.
   */
  
  #include <sys/types.h>
***************
*** 17,23 ****
  #endif
  
  #ifdef macII
! #define WANT_RANDOM
  #endif
  
  #ifdef SVR4
--- 17,25 ----
  #endif
  
  #ifdef macII
! /* silly bcopy in A/UX 2.0.1 does not handle overlaps */
! #define WANT_BFUNCS
! #define NO_BZERO
  #endif
  
  #ifdef SVR4
***************
*** 94,99 ****
--- 96,103 ----
      return memcmp(b1, b2, length);
  }
  
+ #ifndef NO_BZERO
+ 
  bzero (b, length)
      register char *b;
      register int length;
***************
*** 100,105 ****
--- 104,111 ----
  {
      memset(b, 0, length);
  }
+ 
+ #endif
  
  #else
  
*** /tmp/,RCSt1a16629	Tue Sep 10 15:36:19 1991
--- mit/clients/twm/iconmgr.c	Tue Sep 10 15:32:06 1991
***************
*** 21,27 ****
  
  /***********************************************************************
   *
!  * $XConsortium: iconmgr.c,v 1.47 91/07/12 09:59:42 dave Exp $
   *
   * Icon Manager routines
   *
--- 21,27 ----
  
  /***********************************************************************
   *
!  * $XConsortium: iconmgr.c,v 1.48 91/09/10 15:27:07 dave Exp $
   *
   * Icon Manager routines
   *
***************
*** 286,291 ****
--- 286,294 ----
  		 ProgramName, new_row, new_col);
  	return;
      }
+ 
+     if (tmp == NULL)
+       return;
  
      /* raise the frame so the icon manager is visible */
      if (ip->twm_win->mapped) {

*** /tmp/,RCSt1a04424	Wed Sep 11 19:24:04 1991
--- mit/clients/xdm/config/Imakefile	Wed Sep 11 19:23:32 1991
***************
*** 1,8 ****
! XCOMM $XConsortium: Imakefile,v 1.12 91/07/23 14:54:47 rws Exp $
!       XDMCONFIG = xdm-config
!    XDMRESOURCES = Xresources
!      XDMSERVERS = Xservers
!      XDMSESSION = Xsession
  
  all:: Xservers.ws xdm-config Xservers
  
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.13 91/09/11 19:23:18 rws Exp $
  
  all:: Xservers.ws xdm-config Xservers
  
***************
*** 12,21 ****
  LinkFile(Xservers,Xservers.XdmServersType)
  
  #if InstallXdmConfig
! InstallNonExecFile($(XDMCONFIG),$(XDMDIR))
! InstallNonExecFile($(XDMRESOURCES),$(XDMDIR))
! InstallNonExecFile($(XDMSERVERS),$(XDMDIR))
! InstallNamedProg($(XDMSESSION),$(XDMSESSION),$(XDMDIR))
  #endif
  
  depend::
--- 8,21 ----
  LinkFile(Xservers,Xservers.XdmServersType)
  
  #if InstallXdmConfig
! InstallNonExecFile(xdm-config,$(XDMDIR))
! InstallNonExecFile(Xresources,$(XDMDIR))
! InstallNonExecFile(Xservers,$(XDMDIR))
! InstallNonExecFile(Xaccess,$(XDMDIR))
! InstallNamedProg(Xsession,Xsession,$(XDMDIR))
! InstallNamedProg(GiveConsole,GiveConsole,$(XDMDIR))
! InstallNamedProg(TakeConsole,TakeConsole,$(XDMDIR))
! InstallNamedProg(Xsetup_0,Xsetup_0,$(XDMDIR))
  #endif
  
  depend::

*** /tmp/,RCSt1a01009	Thu Sep 12 20:01:14 1991
--- mit/clients/xdm/session.c	Thu Sep 12 19:56:02 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: session.c,v 1.53 91/07/18 18:51:07 rws Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: session.c,v 1.54 91/09/12 19:55:51 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 26,32 ****
  # include <X11/Xlib.h>
  # include <signal.h>
  # include <X11/Xatom.h>
- # include <setjmp.h>
  # include <errno.h>
  # include <stdio.h>
  # include <ctype.h>
--- 26,31 ----
***************
*** 48,54 ****
  catchTerm (n)
      int n;
  {
!     longjmp (abortSession, 1);
  }
  
  static jmp_buf	pingTime;
--- 47,53 ----
  catchTerm (n)
      int n;
  {
!     Longjmp (abortSession, 1);
  }
  
  static jmp_buf	pingTime;
***************
*** 58,64 ****
  catchAlrm (n)
      int n;
  {
!     longjmp (pingTime, 1);
  }
  
  SessionPingFailed (d)
--- 57,63 ----
  catchAlrm (n)
      int n;
  {
!     Longjmp (pingTime, 1);
  }
  
  SessionPingFailed (d)
***************
*** 181,187 ****
  	SessionExit (d, OBEYSESS_DISPLAY, FALSE);
      }
      clientPid = 0;
!     if (!setjmp (abortSession)) {
  	(void) Signal (SIGTERM, catchTerm);
  	/*
  	 * Start the clients, changing uid/groups
--- 180,186 ----
  	SessionExit (d, OBEYSESS_DISPLAY, FALSE);
      }
      clientPid = 0;
!     if (!Setjmp (abortSession)) {
  	(void) Signal (SIGTERM, catchTerm);
  	/*
  	 * Start the clients, changing uid/groups
***************
*** 195,201 ****
  	    for (;;) {
  		if (d->pingInterval)
  		{
! 		    if (!setjmp (pingTime))
  		    {
  			(void) Signal (SIGALRM, catchAlrm);
  			(void) alarm (d->pingInterval * 60);
--- 194,200 ----
  	    for (;;) {
  		if (d->pingInterval)
  		{
! 		    if (!Setjmp (pingTime))
  		    {
  			(void) Signal (SIGALRM, catchAlrm);
  			(void) alarm (d->pingInterval * 60);
***************
*** 286,292 ****
  syncTimeout (n)
      int n;
  {
!     longjmp (syncJump, 1);
  }
  
  SecureDisplay (d, dpy)
--- 285,291 ----
  syncTimeout (n)
      int n;
  {
!     Longjmp (syncJump, 1);
  }
  
  SecureDisplay (d, dpy)
***************
*** 295,301 ****
  {
      Debug ("SecureDisplay %s\n", d->name);
      (void) Signal (SIGALRM, syncTimeout);
!     if (setjmp (syncJump)) {
  	LogError ("WARNING: display %s could not be secured\n",
  		   d->name);
  	SessionExit (d, RESERVER_DISPLAY, FALSE);
--- 294,300 ----
  {
      Debug ("SecureDisplay %s\n", d->name);
      (void) Signal (SIGALRM, syncTimeout);
!     if (Setjmp (syncJump)) {
  	LogError ("WARNING: display %s could not be secured\n",
  		   d->name);
  	SessionExit (d, RESERVER_DISPLAY, FALSE);
***************
*** 448,454 ****
  waitAbort (n)
      int n;
  {
! 	longjmp (tenaciousClient, 1);
  }
  
  #if defined(_POSIX_SOURCE) || defined(SYSV) || defined(SVR4)
--- 447,453 ----
  waitAbort (n)
      int n;
  {
! 	Longjmp (tenaciousClient, 1);
  }
  
  #if defined(_POSIX_SOURCE) || defined(SYSV) || defined(SVR4)
***************
*** 475,481 ****
  		return;
  	    }
  	}
! 	if (!setjmp (tenaciousClient)) {
  	    (void) Signal (SIGALRM, waitAbort);
  	    (void) alarm ((unsigned) 10);
  	    retId = wait ((waitType *) 0);
--- 474,480 ----
  		return;
  	    }
  	}
! 	if (!Setjmp (tenaciousClient)) {
  	    (void) Signal (SIGALRM, waitAbort);
  	    (void) alarm ((unsigned) 10);
  	    retId = wait ((waitType *) 0);

*** /tmp/,RCSt1a01014	Thu Sep 12 20:01:16 1991
--- mit/clients/xdm/dm.h	Thu Sep 12 19:56:05 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: dm.h,v 1.48 91/07/18 21:03:43 rws Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: dm.h,v 1.49 91/09/12 19:56:02 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 29,34 ****
--- 29,42 ----
  # include	<X11/Xmd.h>
  # include	<X11/Xauth.h>
  
+ #if !defined(X_NOT_POSIX) && !defined(_POSIX_SOURCE)
+ #define _POSIX_SOURCE
+ # include	<setjmp.h>
+ #undef _POSIX_SOURCE
+ #else
+ # include	<setjmp.h>
+ #endif
+ 
  /* If XDMCP symbol defined, compile to run XDMCP protocol */
  
  #define XDMCP
***************
*** 313,318 ****
--- 321,331 ----
  #define SIGNALS_RESET_WHEN_CAUGHT
  #define UNRELIABLE_SIGNALS
  #endif
+ #define Setjmp(e)	setjmp(e)
+ #define Longjmp(e,v)	longjmp(e,v)
+ #else
+ #define Setjmp(e)   sigsetjmp(e,1)
+ #define Longjmp(e,v)	siglongjmp(e,v)
  #endif
  
  SIGVAL (*Signal())();

*** /tmp/,RCSt1a01019	Thu Sep 12 20:01:19 1991
--- mit/clients/xdm/auth.c	Thu Sep 12 19:56:09 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: auth.c,v 1.45 91/07/26 19:47:53 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: auth.c,v 1.46 91/09/12 19:56:05 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 26,32 ****
  
  #include "dm.h"
  #include <X11/X.h>
- #include <setjmp.h>
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/socket.h>
--- 26,31 ----

*** /tmp/,RCSt1a01024	Thu Sep 12 20:01:21 1991
--- mit/clients/xdm/server.c	Thu Sep 12 19:56:12 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: server.c,v 1.15 91/07/31 16:55:04 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: server.c,v 1.16 91/09/12 19:56:09 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 27,33 ****
  # include	<X11/Xos.h>
  # include	<stdio.h>
  # include	<signal.h>
- # include	<setjmp.h>
  # include	<errno.h>
  
  static receivedUsr1;
--- 27,32 ----
***************
*** 141,147 ****
  serverPauseAbort (n)
      int n;
  {
!     longjmp (pauseAbort, 1);
  }
  
  /* ARGSUSED */
--- 140,146 ----
  serverPauseAbort (n)
      int n;
  {
!     Longjmp (pauseAbort, 1);
  }
  
  /* ARGSUSED */
***************
*** 151,157 ****
  {
      Debug ("display manager paused til SIGUSR1\n");
      ++receivedUsr1;
!     longjmp (pauseAbort, 1);
  }
  
  static
--- 150,156 ----
  {
      Debug ("display manager paused til SIGUSR1\n");
      ++receivedUsr1;
!     Longjmp (pauseAbort, 1);
  }
  
  static
***************
*** 162,168 ****
      int		pid;
  
      serverPauseRet = 0;
!     if (!setjmp (pauseAbort)) {
  	(void) Signal (SIGALRM, serverPauseAbort);
  	(void) Signal (SIGUSR1, serverPauseUsr1);
  #ifdef SYSV
--- 161,167 ----
      int		pid;
  
      serverPauseRet = 0;
!     if (!Setjmp (pauseAbort)) {
  	(void) Signal (SIGALRM, serverPauseAbort);
  	(void) Signal (SIGUSR1, serverPauseUsr1);
  #ifdef SYSV
***************
*** 219,225 ****
  /*
   * this code is complicated by some TCP failings.  On
   * many systems, the connect will occasionally hang forever,
!  * this trouble is avoided by setting up a timeout to longjmp
   * out of the connect (possibly leaving piles of garbage around
   * inside Xlib) and give up, terminating the server.
   */
--- 218,224 ----
  /*
   * this code is complicated by some TCP failings.  On
   * many systems, the connect will occasionally hang forever,
!  * this trouble is avoided by setting up a timeout to Longjmp
   * out of the connect (possibly leaving piles of garbage around
   * inside Xlib) and give up, terminating the server.
   */
***************
*** 231,237 ****
  abortOpen (n)
      int n;
  {
! 	longjmp (openAbort, 1);
  }
  
  #ifdef XDMCP
--- 230,236 ----
  abortOpen (n)
      int n;
  {
! 	Longjmp (openAbort, 1);
  }
  
  #ifdef XDMCP
***************
*** 294,300 ****
      for (i = 0; i < (d->openRepeat > 0 ? d->openRepeat : 1); i++) {
      	(void) Signal (SIGALRM, abortOpen);
      	(void) alarm ((unsigned) d->openTimeout);
!     	if (!setjmp (openAbort)) {
  	    Debug ("Before XOpenDisplay(%s)\n", d->name);
  	    errno = 0;
  	    (void) XSetIOErrorHandler (openErrorHandler);
--- 293,299 ----
      for (i = 0; i < (d->openRepeat > 0 ? d->openRepeat : 1); i++) {
      	(void) Signal (SIGALRM, abortOpen);
      	(void) alarm ((unsigned) d->openTimeout);
!     	if (!Setjmp (openAbort)) {
  	    Debug ("Before XOpenDisplay(%s)\n", d->name);
  	    errno = 0;
  	    (void) XSetIOErrorHandler (openErrorHandler);
***************
*** 352,358 ****
  static void
  PingLost ()
  {
!     longjmp (pingTime, 1);
  }
  
  /* ARGSUSED */
--- 351,357 ----
  static void
  PingLost ()
  {
!     Longjmp (pingTime, 1);
  }
  
  /* ARGSUSED */
***************
*** 385,391 ****
      oldAlarm = alarm (0);
      oldSig = Signal (SIGALRM, PingLostSig);
      (void) alarm (d->pingTimeout * 60);
!     if (!setjmp (pingTime))
      {
  	Debug ("Ping server\n");
  	XSync (alternateDpy, 0);
--- 384,390 ----
      oldAlarm = alarm (0);
      oldSig = Signal (SIGALRM, PingLostSig);
      (void) alarm (d->pingTimeout * 60);
!     if (!Setjmp (pingTime))
      {
  	Debug ("Ping server\n");
  	XSync (alternateDpy, 0);

*** /tmp/,RCSt1a01029	Thu Sep 12 20:01:23 1991
--- mit/clients/xdm/reset.c	Thu Sep 12 19:56:14 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: reset.c,v 1.8 91/02/13 19:15:31 rws Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: reset.c,v 1.9 91/09/12 19:56:12 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 24,33 ****
   * a client remains connected with no windows.
   */
  
  # include	<X11/Xlib.h>
- # include	<setjmp.h>
  # include	<signal.h>
- # include	"dm.h"
  
  /*ARGSUSED*/
  static int
--- 24,32 ----
   * a client remains connected with no windows.
   */
  
+ # include	"dm.h"
  # include	<X11/Xlib.h>
  # include	<signal.h>
  
  /*ARGSUSED*/
  static int
***************
*** 71,77 ****
  abortReset (n)
      int n;
  {
! 	longjmp (resetJmp, 1);
  }
  
  /*
--- 70,76 ----
  abortReset (n)
      int n;
  {
! 	Longjmp (resetJmp, 1);
  }
  
  /*
***************
*** 84,90 ****
  	Window	root;
  	int	screen;
  
! 	if (setjmp (resetJmp)) {
  		LogError ("pseudoReset timeout\n");
  	} else {
  		(void) Signal (SIGALRM, abortReset);
--- 83,89 ----
  	Window	root;
  	int	screen;
  
! 	if (Setjmp (resetJmp)) {
  		LogError ("pseudoReset timeout\n");
  	} else {
  		(void) Signal (SIGALRM, abortReset);

*** /tmp/,RCSt1a00733	Thu Sep 12 18:42:22 1991
--- mit/clients/xmag/xmag.c	Thu Sep 12 17:24:12 1991
***************
*** 1,3 ****
--- 1,4 ----
+ /* $XConsortium: xmag.c,v 1.22 91/09/12 17:24:04 rws Exp $ */
  /*
   * Copyright 1991 Massachusetts Institute of Technology
   *
***************
*** 600,606 ****
      XtRemoveEventHandler(w, PointerMotionMask|ButtonReleaseMask,
  			 True, ResizeEH, (XtPointer)data);
      data->selectMode = done;
-     XUndefineCursor(dpy, XtWindow(w));  
      break;
    }
  }
--- 601,606 ----
***************
*** 641,647 ****
  			      ButtonReleaseMask, True, DragEH,
  			      (XtPointer)data);
        data->selectMode = done;
-       XUndefineCursor(dpy, XtWindow(w));
      }
  
      break;
--- 641,646 ----

*** /tmp/,RCSt1a15309	Mon Sep  9 16:02:46 1991
--- mit/clients/xman/Imakefile	Mon Sep  9 16:02:38 1991
***************
*** 1,10 ****
! XCOMM $XConsortium: Imakefile,v 1.21 91/07/21 21:23:52 rws Exp $
  
  #ifdef XmanSearchPath
! SYSMANPATH = -DSYSMANPATH=\"XmanSearchPath\"
  #endif
  #ifdef XmanLocalSearchPath
! LOCALMANPATH = -DLOCALMANPATH=\"XmanLocalSearchPath\"
  #endif
  MANPATHS = $(SYSMANPATH) $(LOCALMANPATH)
  HELPFILE = -DHELPFILE=\"$(LIBDIR)$(PATHSEP)xman.help\"
--- 1,12 ----
! XCOMM $XConsortium: Imakefile,v 1.22 91/09/09 16:02:18 rws Exp $
  
  #ifdef XmanSearchPath
! XMANSYSPATH = XmanSearchPath
! SYSMANPATH = -DSYSMANPATH=\"$(XMANSYSPATH)\"
  #endif
  #ifdef XmanLocalSearchPath
! XMANLOCALPATH = XmanLocalSearchPath
! LOCALMANPATH = -DLOCALMANPATH=\"$(XMANLOCALPATH)\"
  #endif
  MANPATHS = $(SYSMANPATH) $(LOCALMANPATH)
  HELPFILE = -DHELPFILE=\"$(LIBDIR)$(PATHSEP)xman.help\"

*** /tmp/,RCSt1a09057	Tue Sep  3 18:19:43 1991
--- mit/clients/xman/main.c	Tue Sep  3 18:17:16 1991
***************
*** 1,7 ****
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: main.c,v 1.19 91/06/05 09:50:04 dave Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: main.c,v 1.21 91/09/03 18:16:55 dave Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
***************
*** 110,115 ****
--- 110,119 ----
    {"ShowVersion",       ShowVersion},
  };
  
+ char **saved_argv;
+ int saved_argc;
+ 
+ 
  /*	Function Name: main
   *	Description: This is the main driver for Xman.
   *	Arguments: argc, argv - the command line arguments.
***************
*** 122,127 ****
--- 126,135 ----
  int argc;
  {
    XtAppContext app_con;
+ 
+   saved_argc = argc;
+   saved_argv = (char **)XtMalloc(argc * sizeof(char *));
+   bcopy(argv, saved_argv, argc * sizeof(char *));
  
    initial_widget = XtAppInitialize(&app_con, "Xman", xman_options,
  				   XtNumber(xman_options), &argc, argv,

*** /tmp/,RCSt1a09067	Tue Sep  3 18:19:45 1991
--- mit/clients/xman/globals.h	Tue Sep  3 17:42:52 1991
***************
*** 1,7 ****
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: globals.h,v 1.7 91/06/08 18:15:26 rws Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: globals.h,v 1.8 91/09/03 17:42:51 dave Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
***************
*** 43,45 ****
--- 43,47 ----
  
  extern char * option_names[];
  
+ extern char **saved_argv;
+ extern int saved_argc;

*** /tmp/,RCSt1a09077	Tue Sep  3 18:19:46 1991
--- mit/clients/xman/buttons.c	Tue Sep  3 17:42:47 1991
***************
*** 1,7 ****
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: buttons.c,v 1.31 91/07/21 20:37:20 converse Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: buttons.c,v 1.32 91/09/03 17:41:59 dave Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
***************
*** 100,105 ****
--- 100,108 ----
    FormUpWidgets(form, full_size, half_size);
  
    XtRealizeWidget(top);
+ 				/* add WM_COMMAND property */
+   XSetCommand(XtDisplay(top), XtWindow(top), saved_argv, saved_argc);
+ 
    man_globals = (ManpageGlobals*) XtMalloc( (Cardinal) sizeof(ManpageGlobals));
    man_globals->label = NULL;
    man_globals->manpagewidgets.directory = NULL;

*** /tmp/,RCSt1a09111	Tue Sep  3 18:23:19 1991
--- mit/clients/xman/misc.c	Tue Sep  3 18:22:20 1991
***************
*** 1,7 ****
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: misc.c,v 1.28 91/07/24 18:37:14 keith Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xman - X window system manual page display program.
   *
!  * $XConsortium: misc.c,v 1.29 91/09/03 18:21:49 dave Exp $
   *
   * Copyright 1987, 1988 Massachusetts Institute of Technology
   *
***************
*** 541,546 ****
--- 541,547 ----
  int x,y,above,left;
  int h_space,v_space;
  {
+   Arg wargs[2];
    int x_temp,y_temp;		/* location of the new window. */
    int parent_height,parent_width; /* Height and width of the parent widget or
  				   the root window if it has no parent. */
***************
*** 567,573 ****
    if ( x_temp + Width(widget) + h_space > parent_width )
        x_temp = parent_width - Width(widget) - h_space; 
  
!   XtMoveWidget(widget,x_temp,y_temp);
  }  
  
  /*	Function Name: ParseEntry(entry, path, sect, page)
--- 568,576 ----
    if ( x_temp + Width(widget) + h_space > parent_width )
        x_temp = parent_width - Width(widget) - h_space; 
  
!   XtSetArg(wargs[0], XtNx, x_temp); 
!   XtSetArg(wargs[1], XtNy, y_temp); 
!   XtSetValues(widget, wargs, 2);
  }  
  
  /*	Function Name: ParseEntry(entry, path, sect, page)

*** /tmp/,RCSt1a15231	Mon Sep  9 15:54:34 1991
--- mit/clients/xrdb/xrdb.c	Fri Sep  6 15:03:48 1991
***************
*** 1,7 ****
  /*
   * xrdb - X resource manager database utility
   *
!  * $XConsortium: xrdb.c,v 11.49 91/07/25 17:57:39 rws Exp $
   */
  
  /*
--- 1,7 ----
  /*
   * xrdb - X resource manager database utility
   *
!  * $XConsortium: xrdb.c,v 11.50 91/09/06 15:03:35 rws Exp $
   */
  
  /*
***************
*** 1005,1014 ****
      Atom res_prop;
      register int i;
  
!     buffer.used = 0;
!     for (i = 0; i < newDB.used; i++) {
! 	if (newDB.entry[i].usable)
! 	    AppendEntryToBuffer(&buffer, &newDB.entry[i]);
      }
      if (doScreen) {
  	root = RootWindow(dpy, scrno);
--- 1005,1027 ----
      Atom res_prop;
      register int i;
  
!     if (!doScreen && oper == OPMERGE && XResourceManagerString(dpy)) {
! 	char *saveBuff = buffer.buff;
! 	Entries oldDB;
! 	InitEntries(&oldDB);
! 	buffer.buff = XResourceManagerString(dpy);
! 	buffer.used = strlen(buffer.buff);
! 	GetEntries(&oldDB, &buffer, 1);
! 	buffer.buff = saveBuff;
! 	buffer.used = 0;
! 	MergeEntries(&buffer, &newDB, &oldDB);
! 	FreeEntries(&oldDB);
!     } else {
! 	buffer.used = 0;
! 	for (i = 0; i < newDB.used; i++) {
! 	    if (newDB.entry[i].usable)
! 		AppendEntryToBuffer(&buffer, &newDB.entry[i]);
! 	}
      }
      if (doScreen) {
  	root = RootWindow(dpy, scrno);

*** /tmp/,RCSt1a01061	Wed Sep 11 10:51:21 1991
--- mit/clients/xterm/Imakefile	Tue Sep 10 11:12:32 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.51 91/08/16 10:40:31 rws Exp $
  XCOMM
  XCOMM                         Attention xterm porters
  XCOMM
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.52 91/09/10 11:12:25 rws Exp $
  XCOMM
  XCOMM                         Attention xterm porters
  XCOMM
***************
*** 66,77 ****
  
  #if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries
  #if AlternateUsrLibDir
! LDOVERRIDE =  -Bstatic -L$(USRLIBDIR)
  #endif
  install:: xterm
  	MakeDir($(DESTDIR)$(BINDIR))
  	$(RM) xterm.inst
! 	cc -o xterm.inst $(OBJS1) $(LDOPTIONS) $(LDOVERRIDE) -lXaw -lXmu -lXt -lXext -lX11 -Bdynamic $(LDLIBS) $(TERMCAPLIB) $(PTYLIB)
  	$(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) xterm.inst $(DESTDIR)$(BINDIR)/xterm
  	$(RM) xterm.inst
  #else
--- 66,77 ----
  
  #if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries
  #if AlternateUsrLibDir
! LDOVERRIDE = -L$(DESTDIR)$(USRLIBDIR)
  #endif
  install:: xterm
  	MakeDir($(DESTDIR)$(BINDIR))
  	$(RM) xterm.inst
! 	cc -o xterm.inst $(OBJS1) $(LDOPTIONS) $(LDOVERRIDE) -lXaw -lXmu -lXt -lXext -lX11 $(LDLIBS) $(TERMCAPLIB) $(PTYLIB)
  	$(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) xterm.inst $(DESTDIR)$(BINDIR)/xterm
  	$(RM) xterm.inst
  #else

*** /tmp/,RCSt1a16759	Mon Sep  9 18:58:52 1991
--- mit/fonts/lib/fs/FSConnServ.c	Mon Sep  9 18:55:22 1991
***************
*** 1,4 ****
! /* $XConsortium: FSConnServ.c,v 1.13 91/08/22 19:26:26 gildea Exp $ */
  
  /* @(#)FSConnServ.c	4.1	91/05/02
   * Copyright 1990 Network Computing Devices;
--- 1,4 ----
! /* $XConsortium: FSConnServ.c,v 1.14 91/09/09 18:55:13 rws Exp $ */
  
  /* @(#)FSConnServ.c	4.1	91/05/02
   * Copyright 1990 Network Computing Devices;
***************
*** 370,376 ****
       */
  
      /* ultrix reads hang on Unix sockets, hpux reads fail */
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux))
      (void) fcntl (fd, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
--- 370,376 ----
       */
  
      /* ultrix reads hang on Unix sockets, hpux reads fail */
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux) && !defined(AIXV3))
      (void) fcntl (fd, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
***************
*** 379,385 ****
--- 379,393 ----
  	ioctl (fd, FIOSNBIO, &arg);
      }
  #else
+ #if defined(AIXV3) && defined(FIONBIO)
+     {
+ 	int arg;
+ 	arg = 1;
+ 	ioctl(fd, FIONBIO, &arg);
+     }
+ #else
      (void) fcntl (fd, F_SETFL, FNDELAY);
+ #endif
  #endif
  #endif
  
*** /tmp/,RCSt1a15560	Mon Sep  9 16:25:30 1991
--- mit/fonts/server/Imakefile	Sun Sep  8 14:13:48 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.13 91/07/31 22:36:23 rws Exp $
  #undef ServerDefines
  #include <Server.tmpl>
  #define	IHaveSubdirs
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.14 91/09/08 14:13:39 rws Exp $
  #undef ServerDefines
  #include <Server.tmpl>
  #define	IHaveSubdirs
***************
*** 38,44 ****
  
  ServerTarget(fs,$(FSDIRS),NullParameter,$(FSLIBS),$(SYSLIBS))
  
! CppFileTarget(config,config.cpp,$(SITE_CONFIG),NullParameter)
  
  InstallProgram(fs,$(BINDIR))
  
--- 38,44 ----
  
  ServerTarget(fs,$(FSDIRS),NullParameter,$(FSLIBS),$(SYSLIBS))
  
! CppFileTarget(config,config.cpp,$(SITE_CONFIG),$(ICONFIGFILES))
  
  InstallProgram(fs,$(BINDIR))
  

*** /tmp/,RCSt1a15806	Mon Sep  9 17:28:44 1991
--- mit/fonts/server/fs.man	Mon Sep  9 17:27:08 1991
***************
*** 1,4 ****
! .\" $NCDId: @(#)fs.man,v 1.3 1991/07/09 14:15:59 lemke Exp $
  .TH FS 1 "Release 5" "X Version 11"
  .SH NAME
  fs \- X font server
--- 1,4 ----
! .\" $XConsortium: fs.man,v 1.3 91/09/09 17:27:01 rws Exp $
  .TH FS 1 "Release 5" "X Version 11"
  .SH NAME
  fs \- X font server
***************
*** 127,132 ****
--- 127,164 ----
  default-resolutions = 100,100,75,75
  .fi
  .sp
+ .SH "FONT SERVER NAMES"
+ One of the following forms can be used to name a font server that
+ accepts TCP connections:
+ .sp
+ .nf
+     tcp/\fIhostname\fP:\fIport\fP
+     tcp/\fIhostname\fP:\fIport\fP/\fIcataloguelist\fP
+ .fi
+ .PP
+ The \fIhostname\fP specifies the name (or decimal numeric address)
+ of the machine on which the font server is running.  The \fIport\fP
+ is the decimal TCP port on which the font server is listening for connections.
+ The \fIcataloguelist\fP specifies a list of catalogue names,
+ with '+' as a separator.
+ .PP
+ Examples: \fItcp/expo.lcs.mit.edu:7000\fP, \fItcp/18.30.0.212:7001/all\fP.
+ .PP
+ One of the following forms can be used to name a font server that
+ accepts DECnet connections:
+ .sp
+ .nf
+     decnet/\fInodename\fP::font$\fIobjname\fP
+     decnet/\fInodename\fP::font$\fIobjname\fP/\fIcataloguelist\fP
+ .fi
+ .PP
+ The \fInodename\fP specifies the name (or decimal numeric address)
+ of the machine on which the font server is running.
+ The \fIobjname\fP is a normal, case-insensitive DECnet object name.
+ The \fIcataloguelist\fP specifies a list of catalogue names,
+ with '+' as a separator.
+ .PP
+ Examples: \fIDECnet/SRVNOD::FONT$DEFAULT\fP, \fIdecnet/44.70::font$special/symbols\fP.
  .SH "SEE ALSO"
  X(1), \fIFont server implementation overview\fB
  .SH COPYRIGHT

*** /tmp/,RCSt1a16768	Mon Sep  9 18:59:03 1991
--- mit/fonts/server/os/connection.c	Mon Sep  9 18:56:06 1991
***************
*** 1,4 ****
! /* $XConsortium: connection.c,v 1.16 91/07/29 16:10:41 keith Exp $ */
  /*
   * handles connections
   */
--- 1,4 ----
! /* $XConsortium: connection.c,v 1.17 91/09/09 18:56:03 rws Exp $ */
  /*
   * handles connections
   */
***************
*** 310,319 ****
  
  	/* ultrix reads hang on Unix sockets, hpux reads fail */
  
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux))
  	(void) fcntl(newconn, F_SETFL, O_NONBLOCK);
  #else
- 
  #ifdef FIOSNBIO
  	{
  	    int         arg = 1;
--- 310,318 ----
  
  	/* ultrix reads hang on Unix sockets, hpux reads fail */
  
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux) && !defined(AIXV3))
  	(void) fcntl(newconn, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
  	{
  	    int         arg = 1;
***************
*** 321,329 ****
  	    ioctl(newconn, FIOSNBIO, &arg);
  	}
  #else
  	(void) fcntl(newconn, F_SETFL, FNDELAY);
  #endif
! 
  #endif
  
  	oc = (OsCommPtr) fsalloc(sizeof(OsCommRec));
--- 320,335 ----
  	    ioctl(newconn, FIOSNBIO, &arg);
  	}
  #else
+ #if defined(AIXV3) && defined(FIONBIO)
+ 	{
+ 	    int arg;
+ 	    arg = 1;
+ 	    ioctl(newconn, FIONBIO, &arg);
+ 	}
+ #else
  	(void) fcntl(newconn, F_SETFL, FNDELAY);
  #endif
! #endif
  #endif
  
  	oc = (OsCommPtr) fsalloc(sizeof(OsCommRec));

*** /tmp/,RCSt1a03529	Wed Sep 11 11:59:57 1991
--- mit/fonts/server/os/waitfor.c	Wed Sep 11 11:59:47 1991
***************
*** 1,4 ****
! /* $XConsortium: waitfor.c,v 1.7 91/07/16 20:22:35 keith Exp $ */
  /*
   * waits for input
   */
--- 1,4 ----
! /* $XConsortium: waitfor.c,v 1.8 91/09/11 11:59:39 rws Exp $ */
  /*
   * waits for input
   */
***************
*** 196,202 ****
  {
      int         i;
  
!     for (i = 0; i < MSKCNT; i++)
  	if (src[i])
  	    return (1);
      return (0);
--- 196,202 ----
  {
      int         i;
  
!     for (i = 0; i < mskcnt; i++)
  	if (src[i])
  	    return (1);
      return (0);

*** /tmp/,RCSt1a02756	Wed Sep 11 11:53:23 1991
--- mit/fonts/server/MacFS/README	Wed Sep 11 11:52:29 1991
***************
*** 1,23 ****
! One of the tools used to build the UI for the font server,
! /mac/bin/rez, must be executed from the A/UX Macintosh environment.
! For this reason I have *not* arranged to automatically build MacFS.
  Here's how it goes:
  
  (1) build all the other font stuff
  
! (2) Logon to A/UX from the MacII console and enter the A/UX Mac
  environment.
  
! (3) In fonts/server/MacFS do "make".
  
  (4) The successful result of the make is a "hybrid" application:
  MacFS. You can start it up in the usual way from the shell, or
  double-click on it from the A/UX Finder. A primitive user interface
! should appear. The Mac bitmap fonts are now being served :-)
  
  The following steps add the TrueType outline fonts to the A/UX
  System File, and add the TrueType renderer to the System Folder (as
! an "init").
  
  (1) Copy the file named "TrueType" to "/mac/sys/System Folder" and
  to any "personal System Folder" you might have.
--- 1,66 ----
! The files in this directory implement a *prototype* font server for
! Apple Macintosh computers running the A/UX operating system. The font
! server, MacFS, runs only under the Macintosh Toolbox environment
! available in A/UX 2.0 and later. It will not run under the ordinary
! Macintosh system software, nor will it run under the "Native X11"
! environment provided by the XmacII server.
! 
! Also provided here are the TrueType font set, the TrueType renderer "INIT", 
! and a tool to install the fonts. Adding these TrueType components to 
! the A/UX "System Folder" allows MacFS to serve the TrueType fonts on the net.
! In addition, MacFS serves the bitmap and Speedo fonts just as the "fs" server
! does as well as offering the Macintosh "screen-tuned" bitmap fonts.
! 
! MacFS is implemented as an instance of a "Font File" renderer. It looks
! to the file /usr/lib/X11/fonts/MacFont/fonts.dir for the names of
! fonts it will serve. Two example fonts.dir files as well as a config file
! are provided here. 
! 
! MacFS is a *sample* implementation, it lacks many of the features one
! would expect in a fully developed Font Server product. Among the most
! important limitations are:
! 
!       - Only 8-bit encodings are supported.
!       - The usual Apple 8-bit encoding for the Latin-1 character set
!         ("Macintosh extended Ascii") differs from iso8859-1 at 7 places:
!         0xbc, 0xbd, 0xbe, 0xd0, 0xde, 0xf0, 0xfe.
!       - Fonts are only rendered at one bit per pixel.
!       - Performance rendering the TrueType fonts on low-end
!         CPUs is inadequate.
! 
! The remainder of this note describes how to build and install MacFS.
! 
! --------------------------------
! Apple, A/UX, and Macintosh are registered trademarks of Apple Computer, Inc.
! TrueType is a trademark of Apple Computer, Inc.
! Speedo is a trademark of Bitstream, Inc.
! See X(1) for a full statement of rights an permissions.
! 
! 
! One of the tools used to build the UI for the MacFS font server,
! /mac/bin/rez, *must* be executed from the A/UX Macintosh environment.
! For this reason the Makefile does not automatically build MacFS.
  Here's how it goes:
  
  (1) build all the other font stuff
  
! (2) Logon to A/UX from the MacII console and enter the A/UX Macintosh
  environment.
  
! (3) In fonts/server/MacFS do "make MacFS %MacFS".
  
  (4) The successful result of the make is a "hybrid" application:
  MacFS. You can start it up in the usual way from the shell, or
  double-click on it from the A/UX Finder. A primitive user interface
! should appear. 
  
+ (5) Copy the config file to /usr/lib/X11/fs/config.
+ 
+ (6) Copy the fonts.dir file to /usr/lib/X11/fonts/MacFont/fonts.dir.
+ 
  The following steps add the TrueType outline fonts to the A/UX
  System File, and add the TrueType renderer to the System Folder (as
! an "INIT").
  
  (1) Copy the file named "TrueType" to "/mac/sys/System Folder" and
  to any "personal System Folder" you might have.
***************
*** 35,41 ****
  
  (7) Quit from the Font_DA_Mover.
  
! (8) Logout of the A/UX session and then log back in. Start MacFS
! again, it will now server both bitmap and TrueType fonts.
! 
! Hope you have a chance to try this!
--- 78,82 ----
  
  (7) Quit from the Font_DA_Mover.
  
! (8) Logout of the A/UX session and then log back in. Start MacFS,
! it will now serve both Macintosh bitmap and TrueType fonts.

*** /tmp/,RCSt1a15369	Mon Sep  9 16:09:30 1991
--- mit/rgb/Imakefile	Mon Sep  9 16:09:21 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.22 91/08/16 19:30:08 gildea Exp $
          RGB_DB = DefaultRGBDatabase
     SITE_RGB_DB = -DRGB_DB=\"$(RGB_DB)\"
        DEPLIBS = 
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.23 91/09/09 16:09:09 rws Exp $
          RGB_DB = DefaultRGBDatabase
     SITE_RGB_DB = -DRGB_DB=\"$(RGB_DB)\"
        DEPLIBS = 
***************
*** 20,25 ****
--- 20,26 ----
  #if defined(SparcArchitecture) && HasGcc
             CC = cc
      CCOPTIONS = /**/
+     EXTRA_LOAD_FLAGS = /**/
  #endif
  #if defined(i386SVR4Architecture)
         DBMLIB = -ldbm -lucb

*** /tmp/,RCSt1a16739	Mon Sep  9 18:58:25 1991
--- mit/server/os/connection.c	Mon Sep  9 14:27:38 1991
***************
*** 21,27 ****
  SOFTWARE.
  
  ******************************************************************/
! /* $XConsortium: connection.c,v 1.140 91/07/19 23:22:17 keith Exp $ */
  /*****************************************************************
   *  Stuff to create connections --- OS dependent
   *
--- 21,27 ----
  SOFTWARE.
  
  ******************************************************************/
! /* $XConsortium: connection.c,v 1.141 91/09/09 14:27:23 rws Exp $ */
  /*****************************************************************
   *  Stuff to create connections --- OS dependent
   *
***************
*** 54,59 ****
--- 54,63 ----
  #include <sys/ioctl.h>
  #endif
  
+ #ifdef AIXV3
+ #include <sys/ioctl.h>
+ #endif
+ 
  #ifdef TCPCONN
  # include <netinet/in.h>
  # ifndef hpux
***************
*** 626,633 ****
  	    }
  	}
  #endif /* TCP_NODELAY */
!     /* ultrix reads hang on Unix sockets, hpux reads fail */
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux))
  	(void) fcntl (newconn, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
--- 630,637 ----
  	    }
  	}
  #endif /* TCP_NODELAY */
!     /* ultrix reads hang on Unix sockets, hpux reads fail, AIX fails too */
! #if defined(O_NONBLOCK) && (!defined(ultrix) && !defined(hpux) && !defined(AIXV3))
  	(void) fcntl (newconn, F_SETFL, O_NONBLOCK);
  #else
  #ifdef FIOSNBIO
***************
*** 637,643 ****
--- 641,655 ----
  	    ioctl(newconn, FIOSNBIO, &arg);
  	}
  #else
+ #if defined(AIXV3) && defined(FIONBIO)
+ 	{
+ 	    int arg;
+ 	    arg = 1;
+ 	    ioctl(newconn, FIONBIO, &arg);
+ 	}
+ #else
  	fcntl (newconn, F_SETFL, FNDELAY);
+ #endif
  #endif
  #endif
  	oc = (OsCommPtr)xalloc(sizeof(OsCommRec));

*** /tmp/,RCSt1a15037	Mon Sep  9 15:44:50 1991
--- mit/server/ddx/ibm/skyway/skyIO.c	Mon Sep  9 13:21:32 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: skyIO.c,v 1.5 91/07/16 14:41:21 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: skyIO.c,v 1.6 91/09/09 13:21:26 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 47,52 ****
--- 47,53 ----
  
  #include "mipointer.h"
  #include "misprite.h"
+ #include "gcstruct.h"
  
  #include "skyHdwr.h"
  #include "skyProcs.h"
***************
*** 61,69 ****
  extern Bool skyRealizeCursor();
  extern Bool skyUnrealizeCursor();
  extern Bool skyDisplayCursor();
- extern Bool skyCreateGC();
  extern void miRecolorCursor();
  
  Bool
  skyScreenIO(index, pScreen, argc, argv)
      register int        index;
--- 62,94 ----
  extern Bool skyRealizeCursor();
  extern Bool skyUnrealizeCursor();
  extern Bool skyDisplayCursor();
  extern void miRecolorCursor();
  
+ extern void skyValidateGC();
+ extern void cfbChangeGC(), cfbCopyGC(), cfbDestroyGC();
+ extern void cfbChangeClip(), cfbDestroyClip(), cfbCopyClip();
+ /*
+  * By overloading the definition of the cfbGCFuncs struct with the
+  * skyway ValidateGC proc, which adds the fast CopyArea func into
+  * GC's with depth 8, we can do the hardware bitblt rather than the
+  * slower software cfbCopyArea.
+  *
+  * It works, but keep in mind it depends on the libibm.a getting
+  * linked ahead of the cfb routines!
+  *
+  * This is perhaps not the best way to do this , but the sample server has
+  * no good way of adding new procs into GCs because the backingstore
+  * routines put the cfb procs into a private area.
+  */
+ GCFuncs cfbGCFuncs = {
+     skyValidateGC,
+     cfbChangeGC,
+     cfbCopyGC,
+     cfbDestroyGC,
+     cfbChangeClip,
+     cfbDestroyClip,
+     cfbCopyClip,
+ };
  Bool
  skyScreenIO(index, pScreen, argc, argv)
      register int        index;
***************
*** 120,126 ****
      pScreen->PaintWindowBorder 	   = pgcPaintWindow ;
      pScreen->CopyWindow 	   = pgcCopyWindow ;
      pScreen->PaintWindowBackground = pgcPaintWindow ;
-     pScreen->CreateGC              = skyCreateGC;
  
      pScreen->CloseScreen   = skyScreenClose;
      pScreen->SaveScreen    = ibmSaveScreen;
--- 145,150 ----

*** /tmp/,RCSt1a15042	Mon Sep  9 15:44:57 1991
--- mit/server/ddx/ibm/skyway/skySGC.c	Mon Sep  9 13:21:55 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: skySGC.c,v 1.2 91/07/16 13:16:29 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: skySGC.c,v 1.3 91/09/09 13:21:50 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 37,62 ****
  
  extern RegionPtr pgcCopyArea();
  
! static void
  skyValidateGC(pGC, changes, pDrawable)
      register GCPtr  pGC;
      Mask	    changes;
      DrawablePtr	    pDrawable;
  {
! 	cfbValidateGC(pGC,changes,pDrawable);
! 	pGC->ops->CopyArea = pgcCopyArea ;
! }
! 
! Bool
! skyCreateGC(pGC)
!     register GCPtr pGC;
! {
! 
!     if(! cfbCreateGC(pGC))
! 	return FALSE ;
! 
!    if (pGC->depth == 8 )
!     pGC->funcs->ValidateGC = skyValidateGC;
! 
!     return TRUE;
  }
--- 37,49 ----
  
  extern RegionPtr pgcCopyArea();
  
! void
  skyValidateGC(pGC, changes, pDrawable)
      register GCPtr  pGC;
      Mask	    changes;
      DrawablePtr	    pDrawable;
  {
!   cfbValidateGC(pGC,changes,pDrawable);
!   if (pGC->depth == 8)
!     pGC->ops->CopyArea = pgcCopyArea ;
  }

*** /tmp/,RCSt1a18075	Fri Sep 13 14:35:03 1991
--- mit/server/ddx/ibm/skyway/skyHdwr.c	Fri Sep 13 14:28:41 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: skyHdwr.c,v 1.3 91/07/16 13:14:26 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: skyHdwr.c,v 1.4 91/09/13 14:28:20 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 44,49 ****
--- 44,66 ----
  #include "skyReg.h"
  
  void SkywayFillSolid();
+ static void SkywaySetCoprocessorInfo();
+ volatile struct SkyCopRegs
+ {
+         unsigned int  a;
+         unsigned int  b;
+ 	char          c;      
+ 	unsigned char d;    
+ 	short         e;   
+ 	short         f;   
+         unsigned char g;
+         unsigned char h;
+         short         pix_index; 
+         unsigned char i;
+         unsigned char j;   
+ 	char          *pixmap_base;
+ 	ulong         k;    
+ };
  
  int skyHdwrInit(index)
  int index ;
***************
*** 51,62 ****
  
     TRACE(("skyHdwrInit\n"));
  
     SKYWAY_SINDEX_REG(index) = 0x5600;/* disable the cursor in the DAC   */
     SKYWAY_SINDEX_REG(index) = 0x6c04;
     SKYWAY_SINDEX_REG(index) = 0x5061; /* set CRTC to prepare for reset  */
     SKYWAY_SINDEX_REG(index) = 0x5060; /* set CRTC to reset              */
  
-    SKYWAY_MEM_REG(index) = 0x0b ;   /* Motorola order, 8 bits/pixel */
     SKYWAY_INT_REG(index) = 0x00 ;
     SKYWAY_INS_REG(index) = 0xff ;    /* clear all interrupt status bits */
     SKYWAY_VMC_REG(index) = 0x00 ;    /* disable virtual memory interrupts */
--- 68,86 ----
  
     TRACE(("skyHdwrInit\n"));
  
+    skywayWaitFifo2(index);
+    SKYWAY_CCC_REG(index) = Color_Cmp_Fal;
+    SKYWAY_MEM_REG(index) = 0x0b ;   /* Motorola order, 8 bits/pixel */
+    SkywaySetCoprocessorInfo(index);
+ 
+    SkywayFillSolid(0,0x3,0xff,0,0,1280,1024,index);
+ 
+    /* Set the io register pointers					*/
     SKYWAY_SINDEX_REG(index) = 0x5600;/* disable the cursor in the DAC   */
     SKYWAY_SINDEX_REG(index) = 0x6c04;
     SKYWAY_SINDEX_REG(index) = 0x5061; /* set CRTC to prepare for reset  */
     SKYWAY_SINDEX_REG(index) = 0x5060; /* set CRTC to reset              */
  
     SKYWAY_INT_REG(index) = 0x00 ;
     SKYWAY_INS_REG(index) = 0xff ;    /* clear all interrupt status bits */
     SKYWAY_VMC_REG(index) = 0x00 ;    /* disable virtual memory interrupts */
***************
*** 66,71 ****
--- 90,97 ----
  
     SKYWAYSetMode(index,0x0c);
  
+    SKYWAY_WINCTRL_REG(index) = 0;    /* No pc window */
+ 
     /* set the memory configuration register to 64 bit serializer width,
        256K x 4 module type, and 64 bit physical width for 64 bit wide
        serializer                                                        */
***************
*** 109,119 ****
  SKYWAY_SINDEX_REG(index) = 0x2104;/* which is 1056 lines                */
  SKYWAY_SINDEX_REG(index) = 0x22ff;/* vertical display end registers are */
  SKYWAY_SINDEX_REG (index)= 0x2303;/* set to 0x3ff, which is 1024 lines  */
! SKYWAY_SINDEX_REG(index) = 0x24ff;/* vertical blanking start registers  */
! SKYWAY_SINDEX_REG(index) = 0x2503;/* are set to 0x03ff (1024 lines)     */
! SKYWAY_SINDEX_REG(index) = 0x261f;/* vertical blanking end registers are */
! SKYWAY_SINDEX_REG(index) = 0x2704;/* set to 0x04ff (1056 lines)         */
! SKYWAY_SINDEX_REG(index) = 0x2904;/* are set to 0x0402 (1027 lines)     */
  SKYWAY_SINDEX_REG(index) = 0x4000;/* set the Start Address registers to */
  SKYWAY_SINDEX_REG(index) = 0x4100;/* define the start address of the    */
  SKYWAY_SINDEX_REG(index) = 0x4200;/* active picture to address 0        */
--- 135,146 ----
  SKYWAY_SINDEX_REG(index) = 0x2104;/* which is 1056 lines                */
  SKYWAY_SINDEX_REG(index) = 0x22ff;/* vertical display end registers are */
  SKYWAY_SINDEX_REG (index)= 0x2303;/* set to 0x3ff, which is 1024 lines  */
! SKYWAY_SINDEX_REG(index) = 0x241f;/* vertical blanking start registers  */
! SKYWAY_SINDEX_REG(index) = 0x2504;/* are set to 0x041f                  */
! SKYWAY_SINDEX_REG(index) = 0x26ff;/* vertical blanking end registers are */
! SKYWAY_SINDEX_REG(index) = 0x2703;/* set to 0x03ff                      */
! SKYWAY_SINDEX_REG(index) = 0x2801;/* vertical sync pulse start registers*/
! SKYWAY_SINDEX_REG(index) = 0x2904;/* are set to 0x0401                  */
  SKYWAY_SINDEX_REG(index) = 0x4000;/* set the Start Address registers to */
  SKYWAY_SINDEX_REG(index) = 0x4100;/* define the start address of the    */
  SKYWAY_SINDEX_REG(index) = 0x4200;/* active picture to address 0        */
***************
*** 120,125 ****
--- 147,154 ----
  SKYWAY_SINDEX_REG(index) = 0x43a0;/* buffer pitch registers set to 1280 */
  SKYWAY_SINDEX_REG(index) = 0x4400;/* pixels per scan line               */
  SKYWAY_SINDEX_REG(index) = 0x64ff;/* turn on palette mask               */
+ SKYWAY_SINDEX_REG(index) = 0x2cff;/* vertical line compare lo           */
+ SKYWAY_SINDEX_REG(index) = 0x2d07;/* vertical line compare hi           */
  SKYWAY_SINDEX_REG(index) = 0x5063;/* set Display Mode 1 register to:    */
  	                        /*      Normal operation                */
  	                        /*      No clock error                  */
***************
*** 129,135 ****
  	                        /*      + Vertical, - Horizontal        */
  	                        /*         sync polarity                */
  
-  SkywayFillSolid(0,0x3,0xff,0,0,1280,1024,index);
  
     return( 0 );
  
--- 158,163 ----
***************
*** 244,250 ****
       int    index ;
  {
  
!  TRACE(("SkywayFillSolid\n"));
  
   skywayWaitFifo2(index);
  
--- 272,279 ----
       int    index ;
  {
  
!  TRACE(("SkywayFillSolid: color %d, alu: %d, pm: %d xy(%d, %d) %dx%d\n",
! 	color, alu, pm, x, y, w, h));
  
   skywayWaitFifo2(index);
  
***************
*** 387,390 ****
--- 416,430 ----
  
  skywayWaitFifo2(index);
  
+ }
+ 
+ static void
+ SkywaySetCoprocessorInfo(index)
+ int index;
+ {
+ 	volatile struct SkyCopRegs *cop;
+ 
+ 	cop = (struct SkyCopRegs *) COPREG[index];
+ 	cop->pix_index	= PixMapC;
+ 	cop->pixmap_base= SKYWAY_VRAM_START[index];
  }

*** /tmp/,RCSt1a15085	Mon Sep  9 15:46:50 1991
--- mit/server/ddx/ibm/AIX/hftUtils.c	Mon Sep  9 13:22:39 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: hftUtils.c,v 1.3 91/07/16 13:02:54 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: hftUtils.c,v 1.4 91/09/09 13:22:24 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 293,300 ****
  
       /* restore old value of keyclick */
       if (real_vol != CurrentKeyClick) {
! 	hftProtoReconfigure.hf_obj= CurrentKeyClick;
! 	ioctl(hftQFD,HFRCONF,&hftProtoReconfigure);
       }
  
       return;
--- 293,305 ----
  
       /* restore old value of keyclick */
       if (real_vol != CurrentKeyClick) {
! 	/*
! 	 * If the click is off, do not set the volume to 0
! 	 */
! 	if (CurrentKeyClick != 0) {
! 	  hftProtoReconfigure.hf_obj= CurrentKeyClick;
! 	  ioctl(hftQFD,HFRCONF,&hftProtoReconfigure);
! 	}
       }
  
       return;

*** /tmp/,RCSt1a15183	Mon Sep  9 15:50:05 1991
--- mit/server/ddx/ibm/AIX/hftQueue.c	Mon Sep  9 13:24:35 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: hftQueue.c,v 1.4 91/07/16 13:02:11 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: hftQueue.c,v 1.5 91/09/09 13:24:12 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 455,461 ****
  	if      (input[sink]==HFT_ESC_KEYBOARD)         device= HFT_KEYBOARD;
  	else if (input[sink]==HFT_ESC_LOCATOR)          device= HFT_LOCATOR;
  	else if (input[sink]==HFT_ESC_ADAPT)            device= HFT_ADAPT;
! 	else if (input[sink]==HFT_ESC_FOCUSIN)          ;
  	else                                            goto illegal;
  	HFT_INCR(sink);
  	nPending= hftEvSize[device];
--- 455,466 ----
  	if      (input[sink]==HFT_ESC_KEYBOARD)         device= HFT_KEYBOARD;
  	else if (input[sink]==HFT_ESC_LOCATOR)          device= HFT_LOCATOR;
  	else if (input[sink]==HFT_ESC_ADAPT)            device= HFT_ADAPT;
! 	else if (input[sink]==HFT_ESC_FOCUSIN) {
! 	  TRACE(("new HFT_ESC_FOCUSIN\n"));
! 	      HFT_INCR(sink);
! 	      hftRingbuf.hf_sink= sink;
! 	      continue;   /* with while loop */
! 	  }
  	else                                            goto illegal;
  	HFT_INCR(sink);
  	nPending= hftEvSize[device];

*** /tmp/,RCSt1a15122	Mon Sep  9 15:48:06 1991
--- mit/server/ddx/ibm/common/ibmInit.c	Mon Sep  9 13:23:06 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: ibmInit.c,v 1.3 91/07/16 13:06:35 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: ibmInit.c,v 1.4 91/09/09 13:23:00 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 315,323 ****
      if (skip=OS_ProcessArgument(argc,argv,i))           return(skip);
      else                                                skip= 1;
  #endif
!     if ( strcmp( argv[i], "-bs" ) == 0 )                ibmAllowBackingStore= 1;
!     else if ( strcmp( argv[i], "-nobs" ) == 0 )         ibmAllowBackingStore= 0;
!     else if ( strcmp( argv[i], "-pckeys" ) == 0 )       ibmUsePCKeys= 1;
      else if ( strcmp( argv[i], "-quiet" ) == 0 )        ibmQuietFlag = 1;
      else if ( strcmp( argv[i], "-rtkeys" ) == 0 )       ibmUsePCKeys= 0;
      else if ( strcmp( argv[i], "-verbose" ) == 0 )      ibmQuietFlag = 0;
--- 315,321 ----
      if (skip=OS_ProcessArgument(argc,argv,i))           return(skip);
      else                                                skip= 1;
  #endif
!     if ( strcmp( argv[i], "-pckeys" ) == 0 )       ibmUsePCKeys= 1;
      else if ( strcmp( argv[i], "-quiet" ) == 0 )        ibmQuietFlag = 1;
      else if ( strcmp( argv[i], "-rtkeys" ) == 0 )       ibmUsePCKeys= 0;
      else if ( strcmp( argv[i], "-verbose" ) == 0 )      ibmQuietFlag = 0;

*** /tmp/,RCSt1a15127	Mon Sep  9 15:48:14 1991
--- mit/server/ddx/ibm/common/ibmScreen.c	Mon Sep  9 13:23:25 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: ibmScreen.c,v 1.2 91/07/16 13:10:14 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: ibmScreen.c,v 1.3 91/09/09 13:23:20 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 38,44 ****
  int              ibmYWrapScreen=        FALSE;
  int              ibmCurrentScreen=      0;
  int              ibmUseHardware=        1;
- int              ibmAllowBackingStore=  0;
  
  #ifdef IBM_DEV
  extern ibmPerScreenInfo dev1ScreenInfoStruct ;
--- 38,43 ----

*** /tmp/,RCSt1a15127	Mon Sep  9 15:48:16 1991
--- mit/server/ddx/ibm/common/ibmScreen.h	Mon Sep  9 13:23:49 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: ibmScreen.h,v 1.2 91/07/16 13:10:29 jap Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
--- 1,5 ----
  /*
!  * $XConsortium: ibmScreen.h,v 1.3 91/09/09 13:23:39 rws Exp $
   *
   * Copyright IBM Corporation 1987,1988,1989,1990,1991
   *
***************
*** 99,105 ****
  extern	int		 ibmYWrapScreen;
  extern	int		 ibmCurrentScreen;
  extern	int		 ibmUseHardware;
- extern	int		 ibmAllowBackingStore;
  extern  char		 *ibmWhitePixelText;
  extern  char		 *ibmBlackPixelText;
  extern  Bool		 ibmDontZap;
--- 99,104 ----

*** /tmp/,RCSt1a03650	Wed Sep 11 13:22:18 1991
--- mit/hardcopy/README	Wed Sep 11 13:21:19 1991
***************
*** 1,3 ****
--- 1,13 ----
  Most of the PostScript files in this tree have been compressed to save space.
  If your system does not have the "uncompress" program, compile the sources
  in the directory util/compress/.  Names of compressed files end in ".Z".
+ 
+ Also, please beware that, due to a bug in our PostScript generation software,
+ printing the PostScript files as-is may cause the page numbers at the bottoms
+ of pages to not get printed on certain printers.  To get the contents more
+ reasonably centered on the page, use the sed script provided as the file
+ "psfix.sed" in this directory.
+ 
+ For example:
+ 
+ zcat BDF/bdf.PS.Z | sed -f psfix.sed | lpr

*** /dev/null	Wed Sep 11 12:00:54 1991
--- mit/hardcopy/psfix.sed	Wed Sep 11 13:21:25 1991
***************
*** 0 ****
--- 1,5 ----
+ # sed script to fix PostScript files to print higher on the page,
+ # you may lose page numbers on some printers without this
+ /^clippath pathbbox pop pop exch pop 0 exch translate$/i\
+ clippath pathbbox exch pop exch add /pgtop exch def pop
+ /^clippath pathbbox \/pgtop exch def pop pop pop$/d