To: xbugs_ERASE@expo.lcs.mit.edu
Cc: claus%sinix_ERASE@unido.de,claus_ERASE@sinix.de
Bcc: jkh_ERASE@sparc3.lotus.com
Subject: I enclose my Enhancment Patches for X11R5/contrib/clients/xfed.

Hi MIT X11 bug-fixers (xbugs_ERASE@expo.lcs.mit.edu),
I enclose my Enhancment Patches for X11R5/contrib/clients/xfed.
No real bug fizes, just enhancements here, - didnt know where else to send it!
(I dont read X newsgroups) - If you cant deal with it please let me know.

My architecture: SVR4 i486, cc & gcc.
I've not knowingly built in any architecture sensitive stuff,
but my extra 3 button spaces might need to be squeezed to fit really small
screens - dont know - I'll check on this.

I've added
	- Multi glyph jumping buttons,
	- Offset start glyphs (to reduce initial mouse clicks),
	- All of hex. decimal & octal char code displays.
	- Exit key moved away (to reduce risk of exit without write).

As a courtesy, I've Cc'ed copies to original author:
		claus%sinix_ERASE@unido.de
	& amender:
		moraes_ERASE@csri.toronto.edu
But I suspect claus%sinix_ERASE@unido.de will no longer be a valid address.

Generated by Julian H. Stacey jhs@ Wed Sep  9 19:25:14 GMT 1992
--------------------------------------------------------------------------------
forward.bit and backward.bit are new files
*** ../xfed.orig/xfed.man	Wed Sep  9 13:36:05 1992
--- xfed.man	Wed Sep  9 13:18:32 1992
***************
*** 13,22 ****
  When started,
  .I xfed,
  opens up a window showing a magnified version of the characters in the font.
! There are four buttons to interact with
  .I xfed
! , two stepping buttons to advance to the previous/next character in the
! font, a write-file button and an exit button.
  .br
  If you leave
  .I xfed
--- 13,23 ----
  When started,
  .I xfed,
  opens up a window showing a magnified version of the characters in the font.
! There are six buttons to interact with
  .I xfed
! , two stepping buttons to advance to the previous/next character,
! two to advance to the previous/next eigth character
! in the font, a write-file button and an exit button.
  .br
  If you leave
  .I xfed
***************
*** 53,58 ****
--- 54,72 ----
  .TP 8
  .I -psize number
  to change the pixel magnification factor (default 16)
+ .PP
+ .TP 8
+ .I -start number
+ Start an initial number of glyphs into the font.
+ Saves many initial `NEXT' mouse clicks, when you just want to fix
+ a few glyphs, & not sequentially edit the whole font.
+ Number can be hexadecimal, decimal, or octal.
+ .PP
+ .TP 8
+ .I -fast number
+ Set a multiplier for the fast forward/backward buttons (default 16), (to avoid
+ flicker, no intermediate glyphs appear on screen).
+ 16 is nice for 256 glyph fonts, 8 for 96 glyph fonts.

  .SH COMMANDS

***************
*** 98,106 ****
  If you move the mouse too fast while holding a mouse button down,
  some squares may be missed.  This is caused by limitations in how
  frequently the X server can sample the mouse location.

  .SH AUTHOR
! Copyright (c) 1988 by Siemens

  Claus Gittinger
  .br
--- 112,133 ----
  If you move the mouse too fast while holding a mouse button down,
  some squares may be missed.  This is caused by limitations in how
  frequently the X server can sample the mouse location.
+ .PP

+ .I Xfed
+ does not present glyphs in numeric
+ `STARTCHAR' & `ENCODING' order, but by file storage order.
+ (ordering might be better done in a separate tool),
+ This is particularly noticeable when using -start,
+ thus
+ .ti +5
+ -start 0x32
+ .br
+ which starts at the 60th glyph in the font, may not display `2' (in an ascii font)
+ unless the font glyphs are in sequential order.
+
  .SH AUTHOR
! Copyright (c) 1988 by Siemens, 1992 by Julian H. Stacey

  Claus Gittinger
  .br
*** ../xfed.orig/main.c Wed Sep  9 13:36:04 1992
--- main.c	Wed Sep  9 17:57:03 1992
***************
*** 13,20 ****
   * Email: ...!decvax!unido!athen!claus
   *
   * a little font editor by claus
!  * usage: xfed [-fg color] [-bg color]
!  *		 [-bd color] [-bw number] [-nogrid] [-psize number] fontname.bdf
   */

  #include "defs.h"
--- 13,37 ----
   * Email: ...!decvax!unido!athen!claus
   *
   * a little font editor by claus
!  * usage:	xfed [-fg color] [-bg color]
!  *			[-bd color] [-bw number] [-nogrid] [-psize number]
!  *			[-start number] [-fast number] fontname.bdf
!  *
!  * ---
!  * 92 09 05 Julian H. Stacey <jhs@>:
!  * -start & -fast, & fast forward & backward buttons added
!  *	Copyright me, Permissions as above.
!  * Note:
!  *	To save ploughing through xmkmf imake etc, syntax needed to link
!  *	this package on its own, outside the X/contrib tree on SVR4 is:
!  *		cc -o $@ $(OBJS) -O -lX11 -ll -lnsl_i -lsockdns
!  * I'm probably going to enhance xfed further, so I've not stuck to
!  * pre-existing coding style.
!  * Currently code uses few tabs, I'm considering disposing of all the
!  * 4 space occurences during the next major hack,
!  * from then on it can be viewed with
!  *	vi :se ts=4, saving much space
!  * (but meaning diff -c will report whole file !)
   */

  #include "defs.h"
***************
*** 29,40 ****
  #include "icon.bit"
  #include "next.bit"
  #include "prev.bit"
  #include "save.bit"
  #include "quit.bit"

  Window XCreateWindow();
! Window mainWin, charinfoWin, infoWin, editWin, nextWin, prevWin, quitWin,
!			    saveWin, imageWin;
  Display *dpy;
  Colormap cmap;
  GC gc;
--- 46,63 ----
  #include "icon.bit"
  #include "next.bit"
  #include "prev.bit"
+ #include "forward.bit"
+ #include "backward.bit"
+ /* These 4 bitmaps: next.bit, prev.bit, forward.bit, backward.bit,
+  * all now point left & right, to relate to linear glyph display
+  * at base of xfed window. Bitmaps edited with X11/bitmap program.
+  */
  #include "save.bit"
  #include "quit.bit"

  Window XCreateWindow();
! Window mainWin, charinfoWin, infoWin, editWin, nextWin, forwardWin,
!	prevWin, backwardWin, quitWin, saveWin, imageWin;
  Display *dpy;
  Colormap cmap;
  GC gc;
***************
*** 46,54 ****
  int borderWidth = 1;
  long foregroundPixel, backgroundPixel, borderPixel;
  char *fontfilename = NULL;
! Pixmap saveButton, nextButton, prevButton, quitButton;
  static struct character *charp;
  int charIndex = 0;
  int firstSave = 1;
  int minx, miny, maxx, maxy;

--- 69,81 ----
  int borderWidth = 1;
  long foregroundPixel, backgroundPixel, borderPixel;
  char *fontfilename = NULL;
! Pixmap saveButton, nextButton, forwardButton,
!	prevButton, backwardButton, quitButton;
  static struct character *charp;
  int charIndex = 0;
+ int glyph_start = 0;
+ int fast = 16 ; /* how many glyphs to scan in fast forward/backward mode mode */
+
  int firstSave = 1;
  int minx, miny, maxx, maxy;

***************
*** 69,75 ****
--- 96,104 ----
  int image_x0, image_nc;
  int image_width, image_height;
  int next_x, next_y;
+ int forward_x, forward_y;
  int prev_x, prev_y;
+ int backward_x, backward_y;
  int quit_x, quit_y;
  int save_x, save_y;

***************
*** 95,100 ****
--- 124,144 ----
		backgroundColor = *++ap;
	    else if (strcmp(cp, "-psize") == 0)
		sscanf(*++ap, "%d", &PIXSIZE);
+	    else if (strcmp(cp, "-fast") == 0)
+		sscanf(*++ap, "%d", &fast);
+	    else if (strcmp(cp, "-start") == 0)
+		{
+		/* Start editing in middle of font (not at first glyph),
+		  saves many initial mouse clicks, when you just want to edit
+		  a few glyphs, & not the whole font.
+		*/
+		if (**++ap != '0') sscanf(*ap, "%d", &glyph_start ) ;
+		else if ( ( * ( *ap + 1 ) == 'x' ) || ( * ( *ap + 1 ) == 'X') )
+			sscanf(*ap, "%x", &glyph_start ) ;
+		else sscanf(*ap, "%o", &glyph_start ) ;
+
+		if ( glyph_start < 0 ) usage(argc, argv);
+		}
	    else if (strcmp(cp, "-bw") == 0)
		sscanf(*++ap, "%d", &borderWidth);
	    else
***************
*** 114,120 ****
	printf("Bounds = %d, %d to %d, %d\n", minx, miny, maxx, maxy);
  #endif
	setupWindow(argc, argv);
!	charp = font.characters; charIndex = 0;
	doEvents();
  }

--- 158,166 ----
	printf("Bounds = %d, %d to %d, %d\n", minx, miny, maxx, maxy);
  #endif
	setupWindow(argc, argv);
!	charp = font.characters;
!	while (glyph_start--)
!		if ((charIndex+1) < font.nchars) { charp++; charIndex++; }
	doEvents();
  }

***************
*** 122,128 ****
  char *argv[];
  {
	fprintf(stderr, "usage: %s [-fg color] [-bg color] [-bw n] [-bd color]\n", argv[0]);
!	fprintf(stderr, "	   [-nogrid] [-psize number] file\n");
	exit(1);
  }

--- 168,175 ----
  char *argv[];
  {
	fprintf(stderr, "usage: %s [-fg color] [-bg color] [-bw n] [-bd color]\n", argv[0]);
!	fprintf(stderr,
!	   "\t[-nogrid] [-psize number] [-start number] [-fast number] file\n");
	exit(1);
  }

***************
*** 162,175 ****
      edit_y = charinfo_y + SPACE + charinfo_height;
      edit_width = (PIXSIZE+grid)*(maxx - minx);
      edit_height = (PIXSIZE+grid)*(maxy - miny);
!     prev_x = edit_width + SPACE;
!     prev_y = edit_y;
!     next_x = prev_x;
      next_y = prev_y + SPACE + prev_height;
!     save_x = prev_x;
!     save_y = next_y + SPACE + next_height;
!     quit_x = prev_x;
!     quit_y = save_y + SPACE + save_height;

      image_x = 0;
      image_y = info_height + SPACE + charinfo_height + SPACE + edit_height + SPACE;
--- 209,237 ----
      edit_y = charinfo_y + SPACE + charinfo_height;
      edit_width = (PIXSIZE+grid)*(maxx - minx);
      edit_height = (PIXSIZE+grid)*(maxy - miny);
!
! /* Button Layout:
!  *	Fast Backward
!  *	Previous
!  *	Next
!  *	Fast Forward
!  *	Save/Write
!  *	Exit
!  */
!     backward_x = edit_width + SPACE;
!     backward_y = edit_y;
!     prev_x = backward_x ;
!     prev_y = backward_y + SPACE + backward_height;
!     next_x = backward_x;
      next_y = prev_y + SPACE + prev_height;
!     forward_x = backward_x;
!     forward_y = next_y + SPACE + next_height;
!     save_x = backward_x;
!     save_y = forward_y + SPACE + forward_height;
!     quit_x = backward_x;
!     /* Quit moved somewhat away from write to avoid mouse skidding onto quit
!	button before write */
!     quit_y = save_y + 2 * ( SPACE + save_height ) ;

      image_x = 0;
      image_y = info_height + SPACE + charinfo_height + SPACE + edit_height + SPACE;
***************
*** 240,252 ****
      xswa.cursor = XCreateFontCursor(dpy, XC_cross);
      XChangeWindowAttributes(dpy, editWin, CWCursor, &xswa);

!     prevWin = XCreateSimpleWindow(dpy, mainWin,
!			    prev_x, prev_y, prev_width, prev_height,
			    1, borderPixel, backgroundPixel);
      XSelectInput(dpy, prevWin, ExposureMask | ButtonPressMask);
      prevButton = XCreateBitmapFromData(dpy, mainWin,
!			       (char *)prev_bits, prev_width, prev_height);

      nextWin = XCreateSimpleWindow(dpy, mainWin,
			    next_x, next_y, next_width, next_height,
			    1, borderPixel, backgroundPixel);
--- 302,322 ----
      xswa.cursor = XCreateFontCursor(dpy, XC_cross);
      XChangeWindowAttributes(dpy, editWin, CWCursor, &xswa);

!     prevWin = XCreateSimpleWindow(dpy, mainWin, prev_x, prev_y,
!			    prev_width, prev_height,
			    1, borderPixel, backgroundPixel);
      XSelectInput(dpy, prevWin, ExposureMask | ButtonPressMask);
      prevButton = XCreateBitmapFromData(dpy, mainWin,
!			       (char *)prev_bits, prev_width,
!			       prev_height);

+     backwardWin = XCreateSimpleWindow(dpy, mainWin, backward_x, backward_y,
+			    backward_width, backward_height,
+			    1, borderPixel, backgroundPixel);
+     XSelectInput(dpy,  backwardWin, ExposureMask | ButtonPressMask);
+     backwardButton = XCreateBitmapFromData(dpy, mainWin, (char *)backward_bits,
+			    backward_width, backward_height);
+
      nextWin = XCreateSimpleWindow(dpy, mainWin,
			    next_x, next_y, next_width, next_height,
			    1, borderPixel, backgroundPixel);
***************
*** 254,259 ****
--- 324,336 ----
      nextButton = XCreateBitmapFromData(dpy, mainWin,
			       (char *)next_bits, next_width, next_height);

+     forwardWin = XCreateSimpleWindow(dpy, mainWin, forward_x, forward_y,
+			    forward_width, forward_height,
+			    1, borderPixel, backgroundPixel);
+     XSelectInput(dpy, forwardWin, ExposureMask | ButtonPressMask);
+     forwardButton = XCreateBitmapFromData(dpy, mainWin, (char *) forward_bits,
+				forward_width, forward_height);
+
      saveWin = XCreateSimpleWindow(dpy, mainWin,
			    save_x, save_y, save_width, save_height,
			    1, borderPixel, backgroundPixel);
***************
*** 278,285 ****
--- 355,364 ----
      XMapWindow(dpy, infoWin);
      XMapWindow(dpy, charinfoWin);
      XMapWindow(dpy, editWin);
+     XMapWindow(dpy, backwardWin);
      XMapWindow(dpy, prevWin);
      XMapWindow(dpy, nextWin);
+     XMapWindow(dpy, forwardWin);
      XMapWindow(dpy, saveWin);
      XMapWindow(dpy, quitWin);
      XMapWindow(dpy, imageWin);
***************
*** 304,309 ****
--- 383,390 ----
		    redrawPrevWindow();
		else if (ee->window == nextWin)
		    redrawNextWindow();
+		else if (ee->window == backwardWin)	redrawBackwardWindow();
+		else if (ee->window == forwardWin)	redrawForwardWindow();
		else if (ee->window == infoWin)
		    redrawInfoWindow();
		else if (ee->window == charinfoWin)
***************
*** 333,342 ****
		    }
		} else if (be->window == imageWin)
		    changeCharacter(be->x);
!		else if (be->window == prevWin)
!		    prevCharacter();
!		else if (be->window == nextWin)
!		    nextCharacter();
		else if (be->window == saveWin) {
		    char cmdbuff[132];

--- 414,423 ----
		    }
		} else if (be->window == imageWin)
		    changeCharacter(be->x);
!		else if (be->window == backwardWin)	go_glyph(-fast);
!		else if (be->window == prevWin) 	go_glyph(-1);
!		else if (be->window == nextWin) 	go_glyph(1);
!		else if (be->window == forwardWin)	go_glyph(fast);
		else if (be->window == saveWin) {
		    char cmdbuff[132];

***************
*** 542,567 ****
	redrawImageWindow();
  }

! nextCharacter() {
!	if ((charIndex+1) < font.nchars) {
!	    charp++;
!	    charIndex++;
!	    redrawEditWindow();
!	    redrawCharinfoWindow();
!	    redrawImageWindow();
	}
- }

- prevCharacter() {
-	if (charIndex > 0) {
-	    charp--;
-	    charIndex--;
-	    redrawEditWindow();
-	    redrawCharinfoWindow();
-	    redrawImageWindow();
-	}
- }
-
  redrawEditWindow() {
	int row, col;
	char *rowbits;
--- 623,651 ----
	redrawImageWindow();
  }

!	/* display adjacent glyph or fast forward/backward several glyphs */
! go_glyph(offset)
!	int	offset;
!	{
!	unsigned move ;
!	if (offset < 0) move = -offset ; else move = offset ;
!	while (move--)
!		{
!		if (offset > 0)
!			{ /* next glyph or forward several glyphs */
!			if ((charIndex+1) < font.nchars)
!				{ charp++; charIndex++; }
!			}
!		else	{ /* previous glyph or backward several glyphs */
!			if (charIndex > 0)
!				{ charp--; charIndex--; }
!			}
!		}
!	redrawEditWindow();
!	redrawCharinfoWindow();
!	redrawImageWindow();
	}

  redrawEditWindow() {
	int row, col;
	char *rowbits;
***************
*** 651,656 ****
--- 735,746 ----
	}
  }

+ redrawBackwardWindow()
+	{
+	redrawButtonInWindow(backwardButton, backwardWin,
+		backward_width, backward_height);
+	}
+
  redrawPrevWindow() {
	redrawButtonInWindow(prevButton, prevWin, prev_width, prev_height);
  }
***************
*** 659,664 ****
--- 749,760 ----
	redrawButtonInWindow(nextButton, nextWin, next_width, next_height);
  }

+ redrawForwardWindow()
+	{
+	redrawButtonInWindow(forwardButton, forwardWin,
+		forward_width, forward_height);
+	}
+
  redrawSaveWindow() {
	redrawButtonInWindow(saveButton, saveWin, save_width, save_height);
  }
***************
*** 690,700 ****
	char buffer[200];

	/* display encoding first in case window is very narrow */
!	sprintf(buffer, "Code %x Char '%s'			  ",
!			charp->encoding, charp->charId);
	XDrawImageString(dpy, charinfoWin, gc,
			  5, 13,
			  buffer, strlen(buffer));

  }
-
--- 786,802 ----
	char buffer[200];

	/* display encoding first in case window is very narrow */
!	sprintf(buffer,
!   "Hexadecimal 0x%x, Decimal %d, Octal 0%o, Char '%s' \040 \040 \040 \040 ",
!		/* 9 trailing blanks (in a form that can not be zapped
!		 * by entabbing source code) because each of 3 numeric
!		 * fields can vary between 1 & 3 digits
!		 * & char string varies between a char & form C123
!		 */
!		charp->encoding, charp->encoding, charp->encoding,
!		charp->charId);
	XDrawImageString(dpy, charinfoWin, gc,
			  5, 13,
			  buffer, strlen(buffer));

  }
*** ../xfed.orig/Imakefile	Wed Sep  9 16:43:08 1992
--- Imakefile	Wed Sep  9 16:51:25 1992
***************
*** 1,7 ****
  LOCAL_LIBRARIES = $(XLIB)
! SRCS = parse.y scan.l output.c main.c
  OBJS = parse.o scan.o output.o main.o
! SYS_LIBRARIES = -ll
  DEFINES = -DCLEARBITS

  ComplexProgramTarget(xfed)
--- 1,8 ----
  LOCAL_LIBRARIES = $(XLIB)
! BITS = icon.bit save.bit quit.bit next.bit prev.bit forward.bit backward.bit
! SRCS = parse.y scan.l output.c main.c $(BITS)
  OBJS = parse.o scan.o output.o main.o
! SYS_LIBRARIES = -lX11 -ll -lnsl_i -lsockdns
  DEFINES = -DCLEARBITS

  ComplexProgramTarget(xfed)
***************
*** 29,31 ****
--- 30,34 ----

  clean::
		rm -f lex.yy.c y.tab.c y.tab.h
+		rm -f $(OBJS) tags core
+
*** ../xfed.orig/backward.bit	Wed Sep  9 17:10:18 1992
--- backward.bit	Wed Sep  9 13:02:27 1992
***************
*** 0 ****
--- 1,46 ----
+ #define backward_width 64
+ #define backward_height 64
+ static unsigned char backward_bits[] = {
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x70, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0xe0, 0x70, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xf0, 0x78,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x70, 0x38, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x78, 0x3c, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x38, 0x1c,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x3c, 0x1e, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x1c, 0x0e, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x1e, 0x0f,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x0e, 0xff, 0xff, 0x1f, 0x00, 0xc0,
+    0x03, 0x00, 0x8f, 0xff, 0xff, 0x1f, 0x00, 0xc0, 0x03, 0x00, 0x87, 0x03,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x80, 0xc7, 0x03, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x80, 0xc3, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xc0, 0xe3, 0x01,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0xc0, 0xe1, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0xe0, 0xf1, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xe0, 0x70, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0xf0, 0x78, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x70, 0x38, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x78, 0x3c, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x78, 0x3c, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x70, 0x38, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xf0, 0x78, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0xe0, 0x70, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0xe0, 0xf1, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xc0, 0xe1, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0xc0, 0xe3, 0x01, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x80, 0xc3, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x80, 0xc7, 0x03,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x87, 0x03, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x8f, 0xff, 0xff, 0x1f, 0x00, 0xc0, 0x03, 0x00, 0x0e, 0xff,
+    0xff, 0x1f, 0x00, 0xc0, 0x03, 0x00, 0x1e, 0x0f, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x1c, 0x0e, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x3c, 0x1e,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x38, 0x1c, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x78, 0x3c, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x70, 0x38,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xf0, 0x78, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0xe0, 0x70, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x70,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
*** ../xfed.orig/forward.bit	Wed Sep  9 17:10:18 1992
--- forward.bit Wed Sep  9 13:02:33 1992
***************
*** 0 ****
--- 1,46 ----
+ #define forward_width 64
+ #define forward_height 64
+ static unsigned char forward_bits[] = {
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x07, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x0e, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x1e, 0x0f, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x0e, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x3c, 0x1e, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x38, 0x1c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x78, 0x3c, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x70, 0x38, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0xf0, 0x78, 0x00, 0xc0, 0x03, 0x00, 0xf8, 0xff, 0xff, 0x70, 0x00, 0xc0,
+    0x03, 0x00, 0xf8, 0xff, 0xff, 0xf1, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0xc0, 0xe1, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0xe3, 0x01, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x80, 0xc3, 0x01, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x80, 0xc7, 0x03, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x87, 0x03, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x07, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x0e, 0x07, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0e, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x3c, 0x1e, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x1e, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0e, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x1e, 0x0f, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x07, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x8f, 0x07, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x87, 0x03, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x80, 0xc7, 0x03, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x80, 0xc3, 0x01, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0xc0, 0xe3, 0x01, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0xe1, 0x00, 0xc0,
+    0x03, 0x00, 0xf8, 0xff, 0xff, 0xf1, 0x00, 0xc0, 0x03, 0x00, 0xf8, 0xff,
+    0xff, 0x70, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x78, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x70, 0x38, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x78, 0x3c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x38, 0x1c, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x3c, 0x1e, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x1c, 0x0e, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x0f, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x0e, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x0e, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
+    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
*** ../xfed.orig/makefile	Wed Sep  9 17:10:18 1992
--- makefile	Wed Sep  9 19:24:05 1992
***************
*** 0 ****
--- 1,43 ----
+ # Little stand alone makefile to compile xfed without compiling whole contrib tree
+ BITS = icon.bit save.bit quit.bit next.bit prev.bit forward.bit backward.bit
+ SRCS = parse.y scan.l output.c main.c $(BITS)
+ OBJS = parse.o scan.o output.o main.o
+ CFLAGS = -I/usr/X386/include
+ LDFLAGS = -lX11 -ll -lnsl_i -lsockdns
+ xfed: $(OBJS)
+	gcc -o $@ $(OBJS) $(LDFLAGS)
+ scan.o:		y.tab.h defs.h scan.l
+		rm -f lex.yy.c
+		lex scan.l
+		$(CC) $(CFLAGS) -c lex.yy.c
+		mv lex.yy.o scan.o
+ y.tab.h:	parse.y
+ y.tab.c:	parse.y
+		-rm -f y.tab.c
+		yacc -d parse.y
+ parse.o:	defs.h y.tab.c
+		$(CC) $(CFLAGS) -c y.tab.c
+		mv y.tab.o parse.o
+ main.o:		defs.h $(BITS)
+ output.o:	defs.h
+ clean::
+		rm -f lex.yy.c y.tab.c y.tab.h xfed
+		rm -f $(OBJS) tags core
+
+ DIFFS = Imakefile backward.bit forward.bit main.c makefile next.bit \
+	prev.bit xfed.man
+ ORIG_D = ../xfed.orig
+ # Damn SVR4 make forks a csh (not sh) per line & I can't get the for loop syntax
+ # right, so as I'm about to leave SVR4, what the hell, no for loop used !
+ patches: $(DIFFS)
+	echo "Patches for X11R5/contrib/clients/xfed"			> $@
+	echo "Generated by Julian H. Stacey jhs@ `date`" 	>> $@
+	echo "forward.bit and backward.bit are new files"		>> $@
+	-diff -c $(ORIG_D)/xfed.man	xfed.man			>> $@
+	-diff -c $(ORIG_D)/main.c	main.c				>> $@
+	-diff -c $(ORIG_D)/Imakefile	Imakefile			>> $@
+	-diff -c $(ORIG_D)/backward.bit backward.bit			>> $@
+	-diff -c $(ORIG_D)/forward.bit	forward.bit			>> $@
+	-diff -c $(ORIG_D)/makefile	makefile			>> $@
+	-diff -c $(ORIG_D)/next.bit	next.bit			>> $@
+	-diff -c $(ORIG_D)/prev.bit	prev.bit			>> $@
*** ../xfed.orig/next.bit	Wed Sep  9 13:36:04 1992
--- next.bit	Wed Sep  9 13:09:16 1992
***************
*** 8,42 ****
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x03, 0xc0, 0x03, 0xc0, 0x10, 0x00, 0x00, 0x88, 0x01, 0xc0,
!    0x03, 0x80, 0x13, 0x00, 0x00, 0xe8, 0x00, 0xc0, 0x03, 0x00, 0x16, 0x00,
!    0x00, 0x38, 0x00, 0xc0, 0x03, 0x00, 0x1c, 0x00, 0x00, 0x18, 0x00, 0xc0,
!    0x03, 0x00, 0x30, 0x00, 0x00, 0x0e, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x00,
!    0x00, 0x03, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x03, 0x80, 0x01, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x1c,
!    0x30, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x38, 0x18, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
--- 8,42 ----
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x1e, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x38, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0xf0, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xf8, 0xff, 0xff, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0xf8, 0xff, 0xff, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0xc0, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x80, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x0e, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x3c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x1e, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x07, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0xc0, 0x03, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0xc0,
!    0x03, 0x00, 0xf8, 0xff, 0xff, 0x01, 0x00, 0xc0, 0x03, 0x00, 0xf8, 0xff,
!    0xff, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x78, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x1c, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x0e, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
*** ../xfed.orig/prev.bit	Wed Sep  9 13:36:04 1992
--- prev.bit	Wed Sep  9 13:09:27 1992
***************
*** 8,41 ****
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0,
!    0x0c, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x0c, 0xc0, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x03,
!    0x00, 0x03, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x00, 0x00, 0x0c, 0x00, 0xc0,
!    0x03, 0x00, 0x30, 0x00, 0x00, 0x38, 0x00, 0xc0, 0x03, 0x00, 0x1c, 0x00,
!    0x00, 0xc8, 0x00, 0xc0, 0x03, 0x00, 0x13, 0x00, 0x00, 0x08, 0x03, 0xc0,
!    0x03, 0xc0, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00,
!    0x00, 0x08, 0x00, 0xc0, 0x03, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
--- 8,41 ----
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x78,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x1c,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x0f,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x00, 0xc0,
!    0x03, 0x00, 0x80, 0xff, 0xff, 0x1f, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x03,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x01,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x70, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x3c, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x78, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x00,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0xc0, 0x03,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x80, 0xff, 0xff, 0x1f, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xff,
!    0xff, 0x1f, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x1e,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x38,
!    0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xc0,
!    0x03, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x70,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0,
][
To: jhs@
In-Reply-To: Your message of Wed, 9 Sep 1992 23:55:50 +0200
Subject: Re: I enclose my Enhancment Patches for X11R5/contrib/clients/xfed.
Date: Thu, 10 Sep 92 09:24:55 EDT
From: bugs_ERASE@expo.lcs.mit.edu

Thank you for submitting a bug to xbugs.  The bug is being rejected because
we don't deal with contributed software, you will have to find the author.
][