[comp.sources.unix] v10i059: X10R4 patches for Sun3/110C, Part03/03

rs@uunet.UU.NET (Rich Salz) (07/16/87)

Submitted-by: rochester!rocksanne!mayer (James L. Mayer)
Posting-Number: Volume 10, Issue 59
Archive-name: x10r4.sunpch/Part03

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	NOTICE.Xerox
#	XMenu
#	Xlib
#	man
#	uwm
#	xclock
#	xcolors
#	xinit
# This archive created: Mon Jun  8 20:00:17 1987
# By:	James L. Mayer (Xerox Corporation)
export PATH; PATH=/bin:$PATH
echo shar: extracting "'NOTICE.Xerox'" '(1342 characters)'
if test -f 'NOTICE.Xerox'
then
	echo shar: will not over-write existing file "'NOTICE.Xerox'"
else
sed 's/^	X//' << \SHAR_EOF > 'NOTICE.Xerox'
	XCopyright (c) 1987 Xerox Corporation
	X
	XPermission to use, copy, modify, and distribute these modifications is
	Xhereby granted, provided that the above copyright notice appear in all
	Xcopies and that that both that copyright notice and this permission notice
	Xappear in supporting documentation, and that the name of Xerox Corporation
	Xnot be used in advertising or publicity pertaining to distribution of
	Xthe software without specific, written prior permission.
	X
	XTHE XEROX CHANGES TO THE V10R4 RELEASE OF THE X WINDOW SYSTEM ARE
	XPROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES
	XOF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR
	XARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
	X
	XThe Xerox changes to the V10R4 release of the X Window System are
	Xprovided with no support and without any obligation on the part of
	XXerox Corporation to assist in their use, correction, modification or
	Xenhancement.
	X
	XXEROX CORPORATION SHALL HAVE NO LIABILITY WITH RESPECT TO THE INFRINGEMENT
	XOF COPYRIGHT, TRADE SECRETS OR ANY PATENTS BY THE XEROX CHANGES TO THE
	XV10R4 RELEASE OF THE X WINDOW SYSTEM OR ANY PART THEROF.
	X
	XIn no event will Xerox Corporation be liable for any lost revenue or profits
	Xor other special, indirect and consequential damages, even if Xerox had been
	Xadvised of the possibility of such damages.
SHAR_EOF
if test 1342 -ne "`wc -c < 'NOTICE.Xerox'`"
then
	echo shar: error transmitting "'NOTICE.Xerox'" '(should have been 1342 characters)'
fi
fi # end of overwriting check
if test ! -d 'XMenu'
then
	echo shar: creating directory "'XMenu'"
	mkdir 'XMenu'
fi
echo shar: entering directory "'XMenu'"
cd 'XMenu'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'XMenuActivate.c.patch'" '(2999 characters)'
if test -f 'XMenuActivate.c.patch'
then
	echo shar: will not over-write existing file "'XMenuActivate.c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'XMenuActivate.c.patch'
	X*** /usr/src/new/X.V10R4/XMenu/XMenuActivate.c	Mon Dec  1 18:44:29 1986
	X--- XMenuActivate.c	Mon Jun  8 14:29:27 1987
	X***************
	X*** 1,4 ****
	X! /* $Header: XMenuActivate.c,v 10.19 86/07/11 16:50:09 tony Rel $ */
	X  /* Copyright    Massachusetts Institute of Technology    1985	*/
	X  
	X  /*
	X--- 1,4 ----
	X! /* $Header: XMenuActivate.c,v 10.20 87/05/02 22:21:56 mayer Exp $ */
	X  /* Copyright    Massachusetts Institute of Technology    1985	*/
	X  
	X  /*
	X***************
	X*** 120,125 ****
	X--- 120,131 ----
	X      Bool p_lock = TRUE;			/* Pane entrance lock. */
	X      Bool s_lock = TRUE;			/* Selection entrance lock. */
	X  
	X+     WindowInfo parentinfo;              /* Window info of Menu's parent */
	X+     int        menu_delta_x;    /* distance to shift menu to keep in parent */
	X+     int        menu_delta_y;    /* distance to shift menu to keep in parent */
	X+     int        mouse_x, mouse_y;        /* save mouse position */
	X+     Window     subw;                    /* dummy for QueryMouse call */
	X+ 
	X      /*
	X       * Define and allocate a foreign event queue to hold events
	X       * that don't belong to XMenu.  These events are later restored
	X***************
	X*** 185,190 ****
	X--- 191,229 ----
	X      _XMTransToOrigin(menu, cur_p, cur_s, x_pos, y_pos, &orig_x, &orig_y);
	X  
	X      /*
	X+      * Move Hot spot if needed to place menu entirely inside parent window
	X+      */
	X+     if (!XQueryWindow(menu->parent,&parentinfo)) {
	X+         _XMErrorCode = XME_NOT_INIT;
	X+         return(XM_FAILURE);
	X+     }
	X+ 
	X+     /* make sure menu isn't partially off right side of parent window */
	X+     menu_delta_x = parentinfo.width - (orig_x + menu->width);
	X+     if (menu_delta_x < 0)
	X+ 	orig_x += menu_delta_x;
	X+     else
	X+ 	menu_delta_x = 0;
	X+ 
	X+     /* make sure menu isn't partially off bottom of parent window */
	X+     menu_delta_y = parentinfo.height - (orig_y + menu->height);
	X+     if (menu_delta_y < 0)
	X+ 	orig_y += menu_delta_y;
	X+     else
	X+ 	menu_delta_y = 0;
	X+ 
	X+     /* make sure menu isn't partially off left side of parent window */
	X+     if (orig_x < 0) {
	X+         menu_delta_x = -orig_x;
	X+         orig_x = 0;
	X+     }
	X+     /* make sure menu isn't partially off top of parent window */
	X+     if (orig_y < 0){
	X+         menu_delta_y = -orig_y;
	X+         orig_y = 0;
	X+     }
	X+ 
	X+     /*
	X       * Then move all the panes into position relative to the newly
	X       * computed origin.
	X       */
	X***************
	X*** 251,256 ****
	X--- 290,308 ----
	X      if (status == _X_FAILURE) {
	X  	_XMErrorCode = XME_GRAB_MOUSE;
	X  	return(XM_FAILURE);
	X+     }
	X+ 
	X+     /*
	X+      * warp mouse to new position if menu was moved from partially
	X+      *   off-screen
	X+      */
	X+     if (menu_delta_x || menu_delta_y) {
	X+         if (!XQueryMouse(menu->parent,&mouse_x,&mouse_y,&subw)) {
	X+             _XMErrorCode = XME_INTERP_LOC;
	X+             return(XM_FAILURE);
	X+         }
	X+         XWarpMouse(menu->parent, (mouse_x + menu_delta_x),
	X+                                  (mouse_y + menu_delta_y));
	X      }
	X  
	X      /*
SHAR_EOF
if test 2999 -ne "`wc -c < 'XMenuActivate.c.patch'`"
then
	echo shar: error transmitting "'XMenuActivate.c.patch'" '(should have been 2999 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'XMenuInternal.c.patch'" '(3724 characters)'
if test -f 'XMenuInternal.c.patch'
then
	echo shar: will not over-write existing file "'XMenuInternal.c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'XMenuInternal.c.patch'
	X*** /usr/src/new/X.V10R4/XMenu/XMenuInternal.c	Mon Dec  1 18:44:50 1986
	X--- XMenuInternal.c	Mon Jun  8 14:29:36 1987
	X***************
	X*** 1,6 ****
	X  #include <X/mit-copyright.h>
	X  
	X! /* $Header: XMenuInternal.c,v 10.22 86/11/30 17:03:36 jg Rel $ */
	X  /* Copyright    Massachusetts Institute of Technology    1985	*/
	X  
	X  /*
	X--- 1,6 ----
	X  #include <X/mit-copyright.h>
	X  
	X! /* $Header: XMenuInternal.c,v 10.23 87/05/11 15:26:24 mayer Exp $ */
	X  /* Copyright    Massachusetts Institute of Technology    1985	*/
	X  
	X  /*
	X***************
	X*** 833,844 ****
	X       * Then redraw the label text.
	X       */
	X      XTextMask(
	X! 	pane->window,
	X  	pane->label_x, pane->label_uy,
	X  	pane->label, pane->label_length,
	X  	menu->p_fnt_info->id,
	X  	menu->p_frg_color
	X!     );
	X      XTextMask(
	X  	pane->window,
	X  	pane->label_x, pane->label_ly,
	X--- 833,845 ----
	X       * Then redraw the label text.
	X       */
	X      XTextMask(
	X! 	pane->window, 
	X  	pane->label_x, pane->label_uy,
	X  	pane->label, pane->label_length,
	X  	menu->p_fnt_info->id,
	X  	menu->p_frg_color
	X! 	);
	X! 
	X      XTextMask(
	X  	pane->window,
	X  	pane->label_x, pane->label_ly,
	X***************
	X*** 868,886 ****
	X      /*
	X       * Then redraw the label text.
	X       */
	X!     XTextMask(
	X  	pane->window,
	X  	pane->label_x, pane->label_uy,
	X  	pane->label, pane->label_length,
	X  	menu->p_fnt_info->id,
	X! 	menu->p_frg_color
	X      );
	X!     XTextMask(
	X  	pane->window,
	X  	pane->label_x, pane->label_ly,
	X  	pane->label, pane->label_length,
	X  	menu->p_fnt_info->id,
	X! 	menu->p_frg_color
	X      );
	X      /*
	X       * Finally refresh each selection.
	X--- 869,893 ----
	X      /*
	X       * Then redraw the label text.
	X       */
	X!     XTextMaskPad(
	X  	pane->window,
	X  	pane->label_x, pane->label_uy,
	X  	pane->label, pane->label_length,
	X  	menu->p_fnt_info->id,
	X! 	0, 0,
	X! 	menu->p_frg_color^menu->bkgnd_color,
	X! 	GXxor,
	X! 	AllPlanes
	X      );
	X!     XTextMaskPad(
	X  	pane->window,
	X  	pane->label_x, pane->label_ly,
	X  	pane->label, pane->label_length,
	X  	menu->p_fnt_info->id,
	X! 	0, 0,
	X! 	menu->p_frg_color^menu->bkgnd_color,
	X! 	GXxor,
	X! 	AllPlanes
	X      );
	X      /*
	X       * Finally refresh each selection.
	X***************
	X*** 907,918 ****
	X      if (select->activated) {
	X  	if (menu->menu_mode == INVERT) {
	X  	    XPixSet(select->window, 0, 0, width, height, menu->s_frg_color);
	X! 	    XTextMask(
	X                  select->window,
	X                  select->label_x, select->label_y,
	X                  select->label, select->label_length,
	X                  menu->s_fnt_info->id,
	X! 		menu->bkgnd_color
	X              );
	X  	}
	X          else {
	X--- 914,928 ----
	X      if (select->activated) {
	X  	if (menu->menu_mode == INVERT) {
	X  	    XPixSet(select->window, 0, 0, width, height, menu->s_frg_color);
	X! 	    XTextMaskPad(
	X                  select->window,
	X                  select->label_x, select->label_y,
	X                  select->label, select->label_length,
	X                  menu->s_fnt_info->id,
	X! 		0, 0,
	X! 		menu->bkgnd_color^menu->s_frg_color,
	X! 		GXxor,
	X! 		AllPlanes
	X              );
	X  	}
	X          else {
	X***************
	X*** 957,968 ****
	X      }
	X      else {
	X  	XClear(select->window);
	X!         XTextMask(
	X              select->window,
	X              select->label_x, select->label_y,
	X              select->label, select->label_length,
	X              menu->s_fnt_info->id,
	X!             menu->s_frg_color
	X          );
	X      }
	X  }
	X--- 967,981 ----
	X      }
	X      else {
	X  	XClear(select->window);
	X!         XTextMaskPad(
	X              select->window,
	X              select->label_x, select->label_y,
	X              select->label, select->label_length,
	X              menu->s_fnt_info->id,
	X! 	    0, 0,
	X!             menu->s_frg_color^menu->bkgnd_color,
	X! 	    GXxor,
	X! 	    AllPlanes
	X          );
	X      }
	X  }
SHAR_EOF
if test 3724 -ne "`wc -c < 'XMenuInternal.c.patch'`"
then
	echo shar: error transmitting "'XMenuInternal.c.patch'" '(should have been 3724 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'XMenuActivate.c'" '(656 characters)'
if test -f 'XMenuActivate.c'
then
	echo shar: will not over-write existing file "'XMenuActivate.c'"
else
sed 's/^	X//' << \SHAR_EOF > 'XMenuActivate.c'
	X
	XRCS file:        XMenu/RCS/XMenuActivate.c,v;   Working file:    XMenuActivate.c
	Xhead:            10.20
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 10.20        
	Xdate: 87/05/02 22:21:56;  author: mayer;  state: Exp;  lines added/del: 53/1
	XFixes to keep menu on the screen.
	X----------------------------
	Xrevision 10.19        
	Xdate: 86/07/11 16:50:09;  author: tony;  state: Rel;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 656 -ne "`wc -c < 'XMenuActivate.c'`"
then
	echo shar: error transmitting "'XMenuActivate.c'" '(should have been 656 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'XMenuInternal.c'" '(902 characters)'
if test -f 'XMenuInternal.c'
then
	echo shar: will not over-write existing file "'XMenuInternal.c'"
else
sed 's/^	X//' << \SHAR_EOF > 'XMenuInternal.c'
	X
	XRCS file:        XMenu/RCS/XMenuInternal.c,v;   Working file:    XMenuInternal.c
	Xhead:            10.23
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 10.23        
	Xdate: 87/05/11 15:26:24;  author: mayer;  state: Exp;  lines added/del: 23/10
	XChanged the way text is imaged to work faster on SUN 3/110C workstations.
	XInstead of masking the text in, I now XOR it in with a color that is
	Xthe exclusive or of the desired color and the background.  This change
	Xis eminently unnecessary, but makes "menuwm" quite a bit snappier.
	X----------------------------
	Xrevision 10.22        
	Xdate: 86/11/30 17:03:36;  author: jg;  state: Rel;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 902 -ne "`wc -c < 'XMenuInternal.c'`"
then
	echo shar: error transmitting "'XMenuInternal.c'" '(should have been 902 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'XMenu'"
cd ..
if test ! -d 'Xlib'
then
	echo shar: creating directory "'Xlib'"
	mkdir 'Xlib'
fi
echo shar: entering directory "'Xlib'"
cd 'Xlib'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'Makefile.patch'" '(882 characters)'
if test -f 'Makefile.patch'
then
	echo shar: will not over-write existing file "'Makefile.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'Makefile.patch'
	X*** /usr/src/new/X.V10R4/Xlib/Makefile	Mon Dec  1 19:02:09 1986
	X--- Makefile	Mon Jun  8 14:29:47 1987
	X***************
	X*** 6,14 ****
	X  
	X  DESTDIR=
	X  
	X  INCLUDES= -I../include
	X  C2= /lib/c2
	X! CFLAGS= -O ${INCLUDES} ${NETOPTIONS}
	X  
	X  .SUFFIXES: .o .h .c
	X  
	X--- 6,18 ----
	X  
	X  DESTDIR=
	X  
	X+ NETOPTIONS=-DKEYBD
	X+ 
	X+ OPT=-O
	X+ 
	X  INCLUDES= -I../include
	X  C2= /lib/c2
	X! CFLAGS= $(OPT) ${INCLUDES} ${NETOPTIONS}
	X  
	X  .SUFFIXES: .o .h .c
	X  
	X***************
	X*** 194,205 ****
	X  
	X  libX.a: $(OLIST)
	X  	rm -f libX_p.a
	X! 	ar cr libX.a $(OLIST)
	X  	@ranlib libX.a
	X  
	X  libX_p.a: $(OLIST)
	X  	rm -f libX_p.a
	X! 	cd profiled; ar cr ../libX_p.a $(OLIST)
	X  	@ranlib libX_p.a
	X  
	X  lint:
	X--- 198,209 ----
	X  
	X  libX.a: $(OLIST)
	X  	rm -f libX_p.a
	X! 	ar lcr libX.a $(OLIST)
	X  	@ranlib libX.a
	X  
	X  libX_p.a: $(OLIST)
	X  	rm -f libX_p.a
	X! 	cd profiled; ar lcr ../libX_p.a $(OLIST)
	X  	@ranlib libX_p.a
	X  
	X  lint:
SHAR_EOF
if test 882 -ne "`wc -c < 'Makefile.patch'`"
then
	echo shar: error transmitting "'Makefile.patch'" '(should have been 882 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'XKeyBind.c.patch'" '(4517 characters)'
if test -f 'XKeyBind.c.patch'
then
	echo shar: will not over-write existing file "'XKeyBind.c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'XKeyBind.c.patch'
	X*** /usr/src/new/X.V10R4/Xlib/XKeyBind.c	Mon Dec  1 19:05:22 1986
	X--- XKeyBind.c	Mon Jun  8 14:29:50 1987
	X***************
	X*** 1,6 ****
	X  #include <X/mit-copyright.h>
	X  
	X! /* $Header: XKeyBind.c,v 10.12 86/07/21 15:27:14 wesommer Rel $ */
	X  /* Copyright 1985, Massachusetts Institute of Technology */
	X  
	X  #include "XlibInternal.h"
	X--- 1,6 ----
	X  #include <X/mit-copyright.h>
	X  
	X! /* $Header: XKeyBind.c,v 1.2 87/05/02 17:22:44 mayer Exp $ */
	X  /* Copyright 1985, Massachusetts Institute of Technology */
	X  
	X  #include "XlibInternal.h"
	X***************
	X*** 10,15 ****
	X--- 10,18 ----
	X  #include "Xkeyboard.h"
	X  #include <stdio.h>
	X  #include <strings.h>
	X+ #ifdef KEYBD
	X+ #include "Xdefault.h"
	X+ #endif KEYBD
	X  
	X  #define EMPTY_ENTRY LeftMask 
	X     /* if the "metabits" field of a runtime table entry contains this,
	X***************
	X*** 25,31 ****
	X  
	X  typedef struct {
	X      unsigned char keycode;
	X!     unsigned char metabits;
	X      short length;
	X      char *value;
	X      } RuntimeTableEntry;
	X--- 28,34 ----
	X  
	X  typedef struct {
	X      unsigned char keycode;
	X!     unsigned short metabits;
	X      short length;
	X      char *value;
	X      } RuntimeTableEntry;
	X***************
	X*** 35,40 ****
	X--- 38,47 ----
	X     *rt_end,    /* this and all succeeding entries are empty */
	X     *rt_buf_end;/* points beyond end of allocated storage for table */
	X  
	X+ #ifdef KEYBD
	X+ char *keyboardtype = NULL;
	X+ #endif KEYBD
	X+ 
	X  #define RT_INITIAL_SIZE 100  /* initial size of runtime table */
	X  #define RT_INCREMENT 40  /* size to grow by if expanded */
	X  
	X***************
	X*** 54,61 ****
	X      if (filesize < 256*sizeof(KeyMapElt)) {
	X  	fprintf (stderr, "Keymap file %s is too small\n", filename);
	X  	close (file);
	X! 	free (filename);
	X! 	return;
	X      }
	X      read (file, &magic, 1);
	X      if (magic != X_KEYMAP_MAGIC) {
	X--- 61,67 ----
	X      if (filesize < 256*sizeof(KeyMapElt)) {
	X  	fprintf (stderr, "Keymap file %s is too small\n", filename);
	X  	close (file);
	X! 	return(0);
	X      }
	X      read (file, &magic, 1);
	X      if (magic != X_KEYMAP_MAGIC) {
	X***************
	X*** 84,98 ****
	X  }
	X  
	X  static Initialize() {
	X!     int file;
	X      int filesize;
	X      unsigned char magic;
	X      struct stat filestat;
	X      char *getenv();
	X!     char *filename;
	X      char *home = getenv ("HOME");
	X      inited = TRUE;
	X!     if (home) {
	X  	int homelen = strlen (home);
	X  	char *keymapstr = "/.Xkeymap";
	X  	int keymapstrlen = strlen (keymapstr);
	X--- 90,125 ----
	X  }
	X  
	X  static Initialize() {
	X!     int file = -1;
	X      int filesize;
	X      unsigned char magic;
	X      struct stat filestat;
	X      char *getenv();
	X!     char *filename = NULL;
	X! #ifdef KEYBD
	X!     char *home;
	X!     char *kdefault = "default";
	X!     char *keybddir = KEYBDDIR;
	X! #else KEYBD
	X      char *home = getenv ("HOME");
	X+ #endif KEYBD
	X+ 
	X      inited = TRUE;
	X! #ifdef KEYBD
	X!     if(keyboardtype && *keyboardtype) {	/* Use keyboard type keymap */
	X! 	filename = malloc(strlen(keybddir) + strlen(keyboardtype) + 1);
	X! 	strcpy(filename, keybddir);
	X! 	strcat(filename, keyboardtype);
	X! 	if((file = open (filename, O_RDONLY, 0)) < 0) {
	X! 	    free (filename);
	X! 	    filename = NULL;
	X! 	}
	X!     }
	X!     if(file < 0 && (home = getenv ("HOME")))
	X! #else KEYBD
	X!     if (home)
	X! #endif KEYBD
	X!      {
	X  	int homelen = strlen (home);
	X  	char *keymapstr = "/.Xkeymap";
	X  	int keymapstrlen = strlen (keymapstr);
	X***************
	X*** 100,112 ****
	X  	strncpy (filename, home, homelen+1);
	X  	strncat (filename, keymapstr, keymapstrlen);
	X  	file = open (filename, O_RDONLY, 0);
	X- 	if (file < 0) {
	X- 	    free (filename);
	X- 	    return; /* no keymap file found */
	X- 	    }
	X  	}
	X!     else
	X!     	return;  /* no home directory to find keymap file in! */
	X      fstat (file, &filestat);
	X      filesize = filestat.st_size - 1; /* first byte is magic number */
	X      if (filesize < 256*sizeof(KeyMapElt)) {
	X--- 127,148 ----
	X  	strncpy (filename, home, homelen+1);
	X  	strncat (filename, keymapstr, keymapstrlen);
	X  	file = open (filename, O_RDONLY, 0);
	X  	}
	X! #ifdef KEYBD
	X!     if (file < 0) {	/* Try system default keymap */
	X! 	if(filename)
	X! 	    free(filename);
	X! 	filename = malloc(strlen(keybddir) + strlen(kdefault) + 1);
	X! 	strcpy(filename, keybddir);
	X! 	strcat(filename, kdefault);
	X! 	file = open (filename, O_RDONLY, 0);
	X!     }
	X! #endif KEYBD
	X!     if (file < 0) {
	X! 	if(filename)
	X! 	    free(filename);
	X! 	return; /* no keymap file found */
	X!     }
	X      fstat (file, &filestat);
	X      filesize = filestat.st_size - 1; /* first byte is magic number */
	X      if (filesize < 256*sizeof(KeyMapElt)) {
SHAR_EOF
if test 4517 -ne "`wc -c < 'XKeyBind.c.patch'`"
then
	echo shar: error transmitting "'XKeyBind.c.patch'" '(should have been 4517 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'Makefile'" '(688 characters)'
if test -f 'Makefile'
then
	echo shar: will not over-write existing file "'Makefile'"
else
sed 's/^	X//' << \SHAR_EOF > 'Makefile'
	X
	XRCS file:        Xlib/RCS/Makefile,v;   Working file:    Makefile
	Xhead:            1.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  "# "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 1.2        
	Xdate: 87/05/11 15:29:40;  author: mayer;  state: Exp;  lines added/del: 7/3
	XChanged so that "ar" creates its temps in the current directory, and
	Xso that "OPT=-g" will make a debugging version.
	X----------------------------
	Xrevision 1.1        
	Xdate: 87/05/02 17:44:01;  author: mayer;  state: Exp;  
	XInitial revision
	X=============================================================================
SHAR_EOF
if test 688 -ne "`wc -c < 'Makefile'`"
then
	echo shar: error transmitting "'Makefile'" '(should have been 688 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'XKeyBind.c'" '(650 characters)'
if test -f 'XKeyBind.c'
then
	echo shar: will not over-write existing file "'XKeyBind.c'"
else
sed 's/^	X//' << \SHAR_EOF > 'XKeyBind.c'
	X
	XRCS file:        Xlib/RCS/XKeyBind.c,v;   Working file:    XKeyBind.c
	Xhead:            1.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 1.2        
	Xdate: 87/05/02 17:22:44;  author: mayer;  state: Exp;  lines added/del: 48/12
	XXKeyBind.c from the 6.6B release of Xterm.
	X----------------------------
	Xrevision 1.1        
	Xdate: 87/05/02 17:17:44;  author: mayer;  state: Exp;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 650 -ne "`wc -c < 'XKeyBind.c'`"
then
	echo shar: error transmitting "'XKeyBind.c'" '(should have been 650 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'Xlib'"
cd ..
if test ! -d 'man'
then
	echo shar: creating directory "'man'"
	mkdir 'man'
fi
echo shar: entering directory "'man'"
cd 'man'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'X.1.patch'" '(353 characters)'
if test -f 'X.1.patch'
then
	echo shar: will not over-write existing file "'X.1.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'X.1.patch'
	X*** /usr/src/new/X.V10R4/man/X.1	Mon Dec  1 19:32:01 1986
	X--- X.1	Mon Jun  8 14:31:15 1987
	X***************
	X*** 74,79 ****
	X--- 74,81 ----
	X  .br
	X  \fB-t\fP #	sets mouse threshold (pixels)
	X  .br
	X+ \fB-u\fP *	Set device dependent parameter string
	X+ .br
	X  \fBv\fP	sets video-on screen-saver preference
	X  .br
	X  \fB-v\fP	sets video-off screen-saver preference
SHAR_EOF
if test 353 -ne "`wc -c < 'X.1.patch'`"
then
	echo shar: error transmitting "'X.1.patch'" '(should have been 353 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'Xsun.8c.patch'" '(1086 characters)'
if test -f 'Xsun.8c.patch'
then
	echo shar: will not over-write existing file "'Xsun.8c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'Xsun.8c.patch'
	X*** /usr/src/new/X.V10R4/man/Xsun.8c	Mon Dec  1 19:32:14 1986
	X--- Xsun.8c	Mon Jun  8 14:31:21 1987
	X***************
	X*** 28,34 ****
	X  The Sun X server looks for its fonts in a default path of directories,
	X  which can be overridden by the XFONTPATH environment variable.  This is
	X  a colon-separated list of directories,  in which ~ can be used to
	X! indicate the user's $HOME.
	X  .SH "SEE ALSO"
	X  X(8c), X(1), xinit(1)
	X  .br
	X--- 28,45 ----
	X  The Sun X server looks for its fonts in a default path of directories,
	X  which can be overridden by the XFONTPATH environment variable.  This is
	X  a colon-separated list of directories,  in which ~ can be used to
	X! indicate the user's $HOME.  SUN (vfont) format fonts can be specified
	X! by giving an absolute path name.
	X! .PP
	X! The server understands two device dependent parameters:
	X! .TP
	X! -u o
	X! The server will run in the overlay plane on a cgfour frame
	X! buffer.
	X! .TP
	X! -u s
	X! The server will try to make use of a specialized version of
	X! some PixRect library routines on a cgtwo color display.
	X  .SH "SEE ALSO"
	X  X(8c), X(1), xinit(1)
	X  .br
SHAR_EOF
if test 1086 -ne "`wc -c < 'Xsun.8c.patch'`"
then
	echo shar: error transmitting "'Xsun.8c.patch'" '(should have been 1086 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'X.1'" '(576 characters)'
if test -f 'X.1'
then
	echo shar: will not over-write existing file "'X.1'"
else
sed 's/^	X//' << \SHAR_EOF > 'X.1'
	X
	XRCS file:        man/RCS/X.1,v;   Working file:    X.1
	Xhead:            1.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  ""
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 1.2        
	Xdate: 87/05/04 23:50:40;  author: mayer;  state: Exp;  lines added/del: 2/0
	XAdded -u command.
	X----------------------------
	Xrevision 1.1        
	Xdate: 87/05/04 02:01:50;  author: mayer;  state: Exp;  
	XInitial revision
	X=============================================================================
SHAR_EOF
if test 576 -ne "`wc -c < 'X.1'`"
then
	echo shar: error transmitting "'X.1'" '(should have been 576 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'Xsun.8c'" '(602 characters)'
if test -f 'Xsun.8c'
then
	echo shar: will not over-write existing file "'Xsun.8c'"
else
sed 's/^	X//' << \SHAR_EOF > 'Xsun.8c'
	X
	XRCS file:        man/RCS/Xsun.8c,v;   Working file:    Xsun.8c
	Xhead:            1.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  ""
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XXerox port.
	X----------------------------
	Xrevision 1.2        
	Xdate: 87/05/04 23:50:55;  author: mayer;  state: Exp;  lines added/del: 12/1
	XRevised and updated.  Added -u command.
	X----------------------------
	Xrevision 1.1        
	Xdate: 87/05/04 23:45:23;  author: mayer;  state: Exp;  
	XInitial revision
	X=============================================================================
SHAR_EOF
if test 602 -ne "`wc -c < 'Xsun.8c'`"
then
	echo shar: error transmitting "'Xsun.8c'" '(should have been 602 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'man'"
cd ..
if test ! -d 'uwm'
then
	echo shar: creating directory "'uwm'"
	mkdir 'uwm'
fi
echo shar: entering directory "'uwm'"
cd 'uwm'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'gram.y.patch'" '(2594 characters)'
if test -f 'gram.y.patch'
then
	echo shar: will not over-write existing file "'gram.y.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'gram.y.patch'
	X*** /usr/src/new/X.V10R4/uwm/gram.y	Mon Dec  1 19:40:58 1986
	X--- gram.y	Mon Jun  8 14:31:26 1987
	X***************
	X*** 1,4 ****
	X! /* $Header: gram.y,v 10.4 86/11/30 17:04:55 jg Rel $ */
	X  /*
	X   *			COPYRIGHT 1985, 1986
	X   *		   DIGITAL EQUIPMENT CORPORATION
	X--- 1,4 ----
	X! /* $Header: gram.y,v 10.5 87/05/02 15:52:20 mayer Exp $ */
	X  /*
	X   *			COPYRIGHT 1985, 1986
	X   *		   DIGITAL EQUIPMENT CORPORATION
	X***************
	X*** 134,140 ****
	X  			        case IsQuitFunction:
	X  			        case IsFunction:
	X  			            if ($3 == C_MAP) {
	X! 			                bind($1, bkmask, cmask, NULL);
	X  			            } else yyerror("illegal construct");
	X  			            break;
	X  			        case IsDownFunction:
	X--- 134,140 ----
	X  			        case IsQuitFunction:
	X  			        case IsFunction:
	X  			            if ($3 == C_MAP) {
	X! 			                Bind($1, bkmask, cmask, NULL);
	X  			            } else yyerror("illegal construct");
	X  			            break;
	X  			        case IsDownFunction:
	X***************
	X*** 145,151 ****
	X  			                yyerror(msg);
	X  			            }
	X  			            if ($3 == C_MAP) {
	X! 			                bind($1, bkmask, cmask, NULL);
	X  			            } else yyerror("illegal construct");
	X  			            break;
	X  			        case IsMenuMap:
	X--- 145,151 ----
	X  			                yyerror(msg);
	X  			            }
	X  			            if ($3 == C_MAP) {
	X! 			                Bind($1, bkmask, cmask, NULL);
	X  			            } else yyerror("illegal construct");
	X  			            break;
	X  			        case IsMenuMap:
	X***************
	X*** 156,162 ****
	X  			                yyerror(msg);
	X  			            }
	X  			            if ($3 == C_MENUMAP) {
	X! 			                bind($1, bkmask, cmask, menu_name);
	X  			            } else yyerror("illegal construct");
	X  			            break;
	X  			        case IsMenu:
	X--- 156,162 ----
	X  			                yyerror(msg);
	X  			            }
	X  			            if ($3 == C_MENUMAP) {
	X! 			                Bind($1, bkmask, cmask, menu_name);
	X  			            } else yyerror("illegal construct");
	X  			            break;
	X  			        case IsMenu:
	X***************
	X*** 556,562 ****
	X  /*
	X   * Bind button/key/context to a function.
	X   */
	X! bind(index, mask, context, name)
	X  int index;		/* Index into keyword table. */
	X  short mask;		/* Button/key/modifier mask. */
	X  int context;		/* ROOT, WINDOW, or ICON. */
	X--- 556,562 ----
	X  /*
	X   * Bind button/key/context to a function.
	X   */
	X! Bind(index, mask, context, name)
	X  int index;		/* Index into keyword table. */
	X  short mask;		/* Button/key/modifier mask. */
	X  int context;		/* ROOT, WINDOW, or ICON. */
SHAR_EOF
if test 2594 -ne "`wc -c < 'gram.y.patch'`"
then
	echo shar: error transmitting "'gram.y.patch'" '(should have been 2594 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'lex.l.patch'" '(314 characters)'
if test -f 'lex.l.patch'
then
	echo shar: will not over-write existing file "'lex.l.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'lex.l.patch'
	X*** /usr/src/new/X.V10R4/uwm/lex.l	Mon Dec  1 19:41:01 1986
	X--- lex.l	Mon Jun  8 14:31:33 1987
	X***************
	X*** 1,6 ****
	X--- 1,8 ----
	X  %{
	X  
	X  /*
	X+  *	$Header: lex.l,v 1.2 87/05/02 15:41:16 mayer Exp $
	X+  *
	X   *			COPYRIGHT 1985, 1986
	X   *		   DIGITAL EQUIPMENT CORPORATION
	X   *		       MAYNARD, MASSACHUSETTS
SHAR_EOF
if test 314 -ne "`wc -c < 'lex.l.patch'`"
then
	echo shar: error transmitting "'lex.l.patch'" '(should have been 314 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'gram.y'" '(762 characters)'
if test -f 'gram.y'
then
	echo shar: will not over-write existing file "'gram.y'"
else
sed 's/^	X//' << \SHAR_EOF > 'gram.y'
	X
	XRCS file:        uwm/RCS/gram.y,v;   Working file:    gram.y
	Xhead:            10.5
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 10.5        
	Xdate: 87/05/02 15:52:20;  author: mayer;  state: Exp;  lines added/del: 4/4
	XInstalled fix from clyde@ut-ngp.UUCP.  There was a routine
	Xcalled "bind" that conflicted with a use of the unix system call
	Xof the same name in the SUN network code.
	X----------------------------
	Xrevision 10.4        
	Xdate: 86/11/30 17:04:55;  author: jg;  state: Rel;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 762 -ne "`wc -c < 'gram.y'`"
then
	echo shar: error transmitting "'gram.y'" '(should have been 762 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'lex.l'" '(579 characters)'
if test -f 'lex.l'
then
	echo shar: will not over-write existing file "'lex.l'"
else
sed 's/^	X//' << \SHAR_EOF > 'lex.l'
	X
	XRCS file:        uwm/RCS/lex.l,v;   Working file:    lex.l
	Xhead:            1.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 1.2        
	Xdate: 87/05/02 15:41:16;  author: mayer;  state: Exp;  lines added/del: 2/0
	XAdded header.
	X----------------------------
	Xrevision 1.1        
	Xdate: 87/05/02 15:40:43;  author: mayer;  state: Exp;  
	XInitial revision
	X=============================================================================
SHAR_EOF
if test 579 -ne "`wc -c < 'lex.l'`"
then
	echo shar: error transmitting "'lex.l'" '(should have been 579 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'uwm'"
cd ..
if test ! -d 'xclock'
then
	echo shar: creating directory "'xclock'"
	mkdir 'xclock'
fi
echo shar: entering directory "'xclock'"
cd 'xclock'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'xclock.c.patch'" '(2807 characters)'
if test -f 'xclock.c.patch'
then
	echo shar: will not over-write existing file "'xclock.c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'xclock.c.patch'
	X*** /usr/src/new/X.V10R4/xclock/xclock.c	Mon Dec  1 19:42:06 1986
	X--- xclock.c	Mon Jun  8 14:31:40 1987
	X***************
	X*** 1,6 ****
	X  #include <X/mit-copyright.h>
	X  
	X! /* $Header: xclock.c,v 10.18 86/11/19 18:40:33 jg Rel $ */
	X  /* Copyright 1985 Massachusetts Institute of Technology */
	X  
	X  /*
	X--- 1,6 ----
	X  #include <X/mit-copyright.h>
	X  
	X! /* $Header: xclock.c,v 10.19 87/05/02 15:16:15 mayer Exp $ */
	X  /* Copyright 1985 Massachusetts Institute of Technology */
	X  
	X  /*
	X***************
	X*** 778,795 ****
	X  	 */
	X  	tip = SegBuffPtr;
	X  	SetSeg(CenterX + round(length * sinangle),
	X! 	 CenterY - round(length * cosangle), VertexDontDraw);	/* 1 */
	X  
	X  	wc = width * cosangle;
	X  	ws = width * sinangle;
	X  	/* 2 */
	X  	SetSeg(CenterX - round(ws + wc), CenterY + round(wc - ws),
	X! 	 VertexDrawLastPoint);
	X  	/* 3 */
	X  	SetSeg(CenterX - round(ws - wc), CenterY + round(wc + ws),
	X! 	 VertexDrawLastPoint);
	X  
	X! 	SetSeg(tip->x, tip->y, VertexDrawLastPoint);	/* 4 */
	X  }
	X  
	X  /*
	X--- 778,796 ----
	X  	 */
	X  	tip = SegBuffPtr;
	X  	SetSeg(CenterX + round(length * sinangle),
	X! 	 CenterY - round(length * cosangle),
	X! 	 VertexDontDraw|VertexStartClosed);	/* 1 */
	X  
	X  	wc = width * cosangle;
	X  	ws = width * sinangle;
	X  	/* 2 */
	X  	SetSeg(CenterX - round(ws + wc), CenterY + round(wc - ws),
	X! 	 0);
	X  	/* 3 */
	X  	SetSeg(CenterX - round(ws - wc), CenterY + round(wc + ws),
	X! 	 0);
	X  
	X! 	SetSeg(tip->x, tip->y, VertexEndClosed|VertexDrawLastPoint);	/* 4 */
	X  }
	X  
	X  /*
	X***************
	X*** 847,853 ****
	X  	 */
	X  	tip = SegBuffPtr;
	X  	SetSeg(CenterX + round(length * sinangle),
	X! 	 CenterY - round(length * cosangle), VertexDontDraw);	/* 1 */
	X  
	X  	mid = (length + offset) / 2;
	X  	mc = mid * cosangle;
	X--- 848,855 ----
	X  	 */
	X  	tip = SegBuffPtr;
	X  	SetSeg(CenterX + round(length * sinangle),
	X! 	 CenterY - round(length * cosangle),
	X! 	 VertexDontDraw|VertexStartClosed);	/* 1 */
	X  
	X  	mid = (length + offset) / 2;
	X  	mc = mid * cosangle;
	X***************
	X*** 856,869 ****
	X  	ws = width * sinangle;
	X  	/* 2 */
	X  	SetSeg(CenterX + round(ms - wc), CenterY - round(mc + ws),
	X! 	 VertexDrawLastPoint);
	X  	SetSeg(CenterX + round(offset * sinangle),
	X  	 CenterY - round(offset * cosangle), VertexDrawLastPoint);	/* 3 */
	X  	/* 4 */
	X  	SetSeg(CenterX + round(ms + wc), CenterY - round(mc - ws),
	X! 	 VertexDrawLastPoint);
	X  
	X! 	SetSeg(tip->x, tip->y, VertexDrawLastPoint);	/* 5 */
	X  }
	X  
	X  SetSeg(x, y, flag)
	X--- 858,871 ----
	X  	ws = width * sinangle;
	X  	/* 2 */
	X  	SetSeg(CenterX + round(ms - wc), CenterY - round(mc + ws),
	X! 	 0);
	X  	SetSeg(CenterX + round(offset * sinangle),
	X  	 CenterY - round(offset * cosangle), VertexDrawLastPoint);	/* 3 */
	X  	/* 4 */
	X  	SetSeg(CenterX + round(ms + wc), CenterY - round(mc - ws),
	X! 	 0);
	X  
	X! 	SetSeg(tip->x, tip->y, VertexEndClosed|VertexDrawLastPoint);	/* 5 */
	X  }
	X  
	X  SetSeg(x, y, flag)
SHAR_EOF
if test 2807 -ne "`wc -c < 'xclock.c.patch'`"
then
	echo shar: error transmitting "'xclock.c.patch'" '(should have been 2807 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'xclock.c'" '(653 characters)'
if test -f 'xclock.c'
then
	echo shar: will not over-write existing file "'xclock.c'"
else
sed 's/^	X//' << \SHAR_EOF > 'xclock.c'
	X
	XRCS file:        xclock/RCS/xclock.c,v;   Working file:    xclock.c
	Xhead:            10.19
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 10.19        
	Xdate: 87/05/02 15:16:15;  author: mayer;  state: Exp;  lines added/del: 10/8
	XMade the clock hands draw as filled polygons.
	X----------------------------
	Xrevision 10.18        
	Xdate: 86/11/19 18:40:33;  author: jg;  state: Rel;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 653 -ne "`wc -c < 'xclock.c'`"
then
	echo shar: error transmitting "'xclock.c'" '(should have been 653 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'xclock'"
cd ..
if test ! -d 'xcolors'
then
	echo shar: creating directory "'xcolors'"
	mkdir 'xcolors'
fi
echo shar: entering directory "'xcolors'"
cd 'xcolors'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'Makefile.patch'" '(466 characters)'
if test -f 'Makefile.patch'
then
	echo shar: will not over-write existing file "'Makefile.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'Makefile.patch'
	X*** /usr/src/new/X.V10R4/xcolors/Makefile	Mon Dec  1 19:43:15 1986
	X--- Makefile	Mon Jun  8 14:31:51 1987
	X***************
	X*** 6,13 ****
	X  DESTDIR =
	X  CONFDIR = /usr/new
	X  INCLUDES = -I../include
	X  
	X! CFLAGS = -O $(INCLUDES)
	X  XLIB = ../Xlib/libX.a
	X  SRCS = xcolors.c
	X  OBJS = xcolors.o
	X--- 6,14 ----
	X  DESTDIR =
	X  CONFDIR = /usr/new
	X  INCLUDES = -I../include
	X+ OPTS = -O
	X  
	X! CFLAGS = $(OPTS) $(INCLUDES)
	X  XLIB = ../Xlib/libX.a
	X  SRCS = xcolors.c
	X  OBJS = xcolors.o
SHAR_EOF
if test 466 -ne "`wc -c < 'Makefile.patch'`"
then
	echo shar: error transmitting "'Makefile.patch'" '(should have been 466 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'xcolors.c.patch'" '(4596 characters)'
if test -f 'xcolors.c.patch'
then
	echo shar: will not over-write existing file "'xcolors.c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'xcolors.c.patch'
	X*** /usr/src/new/X.V10R4/xcolors/xcolors.c	Mon Dec  1 19:43:17 1986
	X--- xcolors.c	Mon Jun  8 14:31:54 1987
	X***************
	X*** 8,14 ****
	X  #include <X/Xlib.h>
	X  
	X  #ifndef lint
	X! static char *rcsid_xcolors_c = "$Header: xcolors.c,v 10.1 86/07/25 16:28:22 jg Rel $";
	X  #endif lint
	X  
	X  
	X--- 8,14 ----
	X  #include <X/Xlib.h>
	X  
	X  #ifndef lint
	X! static char *rcsid_xcolors_c = "$Header: xcolors.c,v 10.2 87/05/02 15:25:35 mayer Exp $";
	X  #endif lint
	X  
	X  
	X***************
	X*** 63,69 ****
	X    int cmadr[MAXCOLORS];	/* color cell from allocation */
	X    int planes;		/* plane mask */
	X    Color cmap[256];
	X!   short readpix;
	X    Cursor curs;
	X    char line[80];
	X    char cname[MAXCOLORS][40];
	X--- 63,69 ----
	X    int cmadr[MAXCOLORS];	/* color cell from allocation */
	X    int planes;		/* plane mask */
	X    Color cmap[256];
	X!   char readpix[2];	/* manipulating pixmap data is really funny */
	X    Cursor curs;
	X    char line[80];
	X    char cname[MAXCOLORS][40];
	X***************
	X*** 79,87 ****
	X  
	X    if ((option = XGetDefault(argv[0],"BorderWidth")) != NULL)
	X      border_width = atoi(option);
	X!   border_color = XGetDefault(argv[0],"BorderColor");
	X    back_color = XGetDefault(argv[0],"Background");
	X    fore_color = XGetDefault(argv[0],"Highlight");
	X    fontname = XGetDefault(argv[0],"BodyFont");
	X  
	X    for (i = 1; i < argc; i++) {
	X--- 79,93 ----
	X  
	X    if ((option = XGetDefault(argv[0],"BorderWidth")) != NULL)
	X      border_width = atoi(option);
	X!   else
	X!     border_width = 2;
	X!   border_color = XGetDefault(argv[0],"BorderColor");  /* not the convention */
	X!   if (border_color == NULL)
	X! 	border_color = XGetDefault(argv[0], "Border");
	X    back_color = XGetDefault(argv[0],"Background");
	X    fore_color = XGetDefault(argv[0],"Highlight");
	X+   if (fore_color == NULL)			     /* not the convention */
	X+ 	fore_color = XGetDefault(argv[0], "Foreground");
	X    fontname = XGetDefault(argv[0],"BodyFont");
	X  
	X    for (i = 1; i < argc; i++) {
	X***************
	X*** 124,129 ****
	X--- 130,140 ----
	X      if (argv[i][0] == '-') usage(argv[0]);
	X    }
	X  
	X+   if (fontname == NULL) fontname = "vtsingle";
	X+   if (fore_color == NULL) fore_color = "black";
	X+   if (back_color == NULL) back_color = "white";
	X+   if (border_color == NULL) border_color = "black";
	X+ 
	X    if (!XOpenDisplay(display)) {
	X      fprintf(stderr,"Can't open display; set DISPLAY variable\n");
	X      exit(1);
	X***************
	X*** 172,184 ****
	X    height = ((ncolors+ncols-1)/ncols)*cheight;
	X    width = ncols*(maxwidth + CWIDTH) + (ncols-1)*20;
	X  
	X-   XParseColor(back_color, cmap+ncolors);
	X-   background = cmap[ncolors].pixel = cmadr[ncolors];
	X  
	X!   XParseColor(fore_color, cmap+ncolors+1);
	X!   foreground = cmap[ncolors+1].pixel = cmadr[ncolors+1];
	X  
	X!   XParseColor(border_color, cmap+ncolors+2);
	X    border = cmap[ncolors+2].pixel = cmadr[ncolors+2];
	X  
	X    frame.bdrwidth = border_width;
	X--- 183,199 ----
	X    height = ((ncolors+ncols-1)/ncols)*cheight;
	X    width = ncols*(maxwidth + CWIDTH) + (ncols-1)*20;
	X  
	X  
	X!   if (!XParseColor(back_color, cmap+ncolors)
	X! 	  || !XParseColor(fore_color, cmap+ncolors+1)
	X! 	  || !XParseColor(border_color, cmap+ncolors+2)
	X!   	  ) {
	X! 	  fprintf(stderr, "Cannot parse color names\n");
	X! 	  exit(1);
	X! 	  }
	X  
	X!   background = cmap[ncolors].pixel = cmadr[ncolors];
	X!   foreground = cmap[ncolors+1].pixel = cmadr[ncolors+1];
	X    border = cmap[ncolors+2].pixel = cmadr[ncolors+2];
	X  
	X    frame.bdrwidth = border_width;
	X***************
	X*** 215,222 ****
	X      switch((int)event.type) {
	X  	
	X      case ButtonPressed:
	X!       XPixmapGetZ(wind,but->x,but->y,1,1,&readpix);
	X!       for(i=0;cmadr[i] != readpix && i<ncolors+2;i++) ;
	X        switch((int)but->detail & ValueMask) {
	X        case LeftButton:
	X  	cmap[ncolors+1].red = cmap[i].red;
	X--- 230,237 ----
	X      switch((int)event.type) {
	X  	
	X      case ButtonPressed:
	X!       XPixmapGetZ(wind,but->x,but->y,1,1,(short *)readpix);
	X!       for(i=0;cmadr[i] != readpix[0] && i<ncolors+2;i++) ;
	X        switch((int)but->detail & ValueMask) {
	X        case LeftButton:
	X  	cmap[ncolors+1].red = cmap[i].red;
	X***************
	X*** 227,233 ****
	X  	cmap[ncolors+2].red = cmap[i].red;
	X  	cmap[ncolors+2].green = cmap[i].green;
	X  	cmap[ncolors+2].blue = cmap[i].blue;
	X! 	XChangeBorder(wind,XMakeTile(cmap[i].pixel));
	X  	break;
	X        case RightButton:
	X  	cmap[ncolors].red = cmap[i].red;
	X--- 242,249 ----
	X  	cmap[ncolors+2].red = cmap[i].red;
	X  	cmap[ncolors+2].green = cmap[i].green;
	X  	cmap[ncolors+2].blue = cmap[i].blue;
	X! 	if (border_width > 0)
	X! 		XChangeBorder(wind,XMakeTile(cmap[i].pixel));
	X  	break;
	X        case RightButton:
	X  	cmap[ncolors].red = cmap[i].red;
SHAR_EOF
if test 4596 -ne "`wc -c < 'xcolors.c.patch'`"
then
	echo shar: error transmitting "'xcolors.c.patch'" '(should have been 4596 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'Makefile'" '(588 characters)'
if test -f 'Makefile'
then
	echo shar: will not over-write existing file "'Makefile'"
else
sed 's/^	X//' << \SHAR_EOF > 'Makefile'
	X
	XRCS file:        xcolors/RCS/Makefile,v;   Working file:    Makefile
	Xhead:            1.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  "# "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 1.2        
	Xdate: 87/05/02 15:23:28;  author: mayer;  state: Exp;  lines added/del: 2/1
	XMinor change.
	X----------------------------
	Xrevision 1.1        
	Xdate: 87/05/02 15:23:00;  author: mayer;  state: Exp;  
	XInitial revision
	X=============================================================================
SHAR_EOF
if test 588 -ne "`wc -c < 'Makefile'`"
then
	echo shar: error transmitting "'Makefile'" '(should have been 588 characters)'
fi
fi # end of overwriting check
echo shar: extracting "'xcolors.c'" '(996 characters)'
if test -f 'xcolors.c'
then
	echo shar: will not over-write existing file "'xcolors.c'"
else
sed 's/^	X//' << \SHAR_EOF > 'xcolors.c'
	X
	XRCS file:        xcolors/RCS/xcolors.c,v;   Working file:    xcolors.c
	Xhead:            10.2
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 2;    selected revisions: 2
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 10.2        
	Xdate: 87/05/02 15:25:35;  author: mayer;  state: Exp;  lines added/del: 26/10
	XLots of changes.  Basically, I set up reasonable defaults for most
	Xof the command switches (they were NULL before, which caused trouble
	Xon suns), and fixed a funny byte order problem with the pixel
	Xreadback.  Basically, the portable way is to read a short into
	Xa character array and access the first byte!  This is remarkable
	Xonly because that is usually a highly non portable construct.
	X----------------------------
	Xrevision 10.1        
	Xdate: 86/07/25 16:28:22;  author: jg;  state: Rel;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 996 -ne "`wc -c < 'xcolors.c'`"
then
	echo shar: error transmitting "'xcolors.c'" '(should have been 996 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'xcolors'"
cd ..
if test ! -d 'xinit'
then
	echo shar: creating directory "'xinit'"
	mkdir 'xinit'
fi
echo shar: entering directory "'xinit'"
cd 'xinit'
if test ! -d 'changes'
then
	echo shar: creating directory "'changes'"
	mkdir 'changes'
fi
echo shar: entering directory "'changes'"
cd 'changes'
echo shar: extracting "'xinit.c.patch'" '(912 characters)'
if test -f 'xinit.c.patch'
then
	echo shar: will not over-write existing file "'xinit.c.patch'"
else
sed 's/^	X//' << \SHAR_EOF > 'xinit.c.patch'
	X*** /usr/src/new/X.V10R4/xinit/xinit.c	Mon Dec  1 19:51:40 1986
	X--- xinit.c	Mon Jun  8 14:31:59 1987
	X***************
	X*** 1,5 ****
	X  #ifndef lint
	X! static char *rcsid_xinit_c = "$Header: xinit.c,v 10.3 86/02/01 16:24:54 tony Rel $";
	X  #endif	lint
	X  #include <X/mit-copyright.h>
	X  
	X--- 1,5 ----
	X  #ifndef lint
	X! static char *rcsid_xinit_c = "$Header: xinit.c,v 10.5 87/05/04 04:36:43 mayer Exp $";
	X  #endif	lint
	X  #include <X/mit-copyright.h>
	X  
	X***************
	X*** 54,59 ****
	X--- 54,61 ----
	X  	if ((serverpid = fork()) == 0) {
	X  	    close(0);
	X  	    close(1);
	X+ 	    setuid(getuid());
	X+ 	    setgid(getgid());
	X  	    execvp(server[0], server);
	X  	    perror(server[0]);
	X  	    exit(1);
	X***************
	X*** 64,69 ****
	X--- 66,73 ----
	X  	}
	X  	sleep(5);
	X  	if ((clientpid = fork()) == 0) {
	X+ 	    setuid(getuid());
	X+ 	    setgid(getgid());
	X  	    execvp(client[0], client);
	X  	    perror(client[0]);
	X  	    exit(1);
SHAR_EOF
if test 912 -ne "`wc -c < 'xinit.c.patch'`"
then
	echo shar: error transmitting "'xinit.c.patch'" '(should have been 912 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'changes'"
cd ..
if test ! -d 'history'
then
	echo shar: creating directory "'history'"
	mkdir 'history'
fi
echo shar: entering directory "'history'"
cd 'history'
echo shar: extracting "'xinit.c'" '(926 characters)'
if test -f 'xinit.c'
then
	echo shar: will not over-write existing file "'xinit.c'"
else
sed 's/^	X//' << \SHAR_EOF > 'xinit.c'
	X
	XRCS file:        xinit/RCS/xinit.c,v;   Working file:    xinit.c
	Xhead:            10.5
	Xlocks:           ;  strict
	Xaccess list:   
	Xsymbolic names:
	Xcomment leader:  " * "
	Xtotal revisions: 3;    selected revisions: 3
	Xdescription:
	XX.V10R4 release.
	X----------------------------
	Xrevision 10.5        
	Xdate: 87/05/04 04:36:43;  author: mayer;  state: Exp;  lines added/del: 2/2
	XWell... maybe one second is good enough.
	X----------------------------
	Xrevision 10.4        
	Xdate: 87/05/02 15:19:49;  author: mayer;  state: Exp;  lines added/del: 5/1
	X(1) Increased waiting time from 1 second to 5 seconds.
	X(2) Fixed a MASSIVE security hole, where the programs supplied to
	X    xinit were always run as ROOT!
	X----------------------------
	Xrevision 10.3        
	Xdate: 86/02/01 16:24:54;  author: tony;  state: Rel;  
	XXerox Webster Research Center SUN 3/110C port
	X=============================================================================
SHAR_EOF
if test 926 -ne "`wc -c < 'xinit.c'`"
then
	echo shar: error transmitting "'xinit.c'" '(should have been 926 characters)'
fi
fi # end of overwriting check
echo shar: done with directory "'history'"
cd ..
echo shar: done with directory "'xinit'"
cd ..
#	End of shell archive
exit 0

-- 

Rich $alz			"Anger is an energy"
Cronus Project, BBN Labs	rsalz@bbn.com
Moderator, comp.sources.unix	sources@uunet.uu.net