diff --git a/progs/demos/clearspd.c b/progs/demos/clearspd.c
index e06a28e..706e698 100644
--- a/progs/demos/clearspd.c
+++ b/progs/demos/clearspd.c
@@ -1,36 +1,10 @@
-/* $Id: clearspd.c,v 1.3 2000/12/07 21:50:39 brianp Exp $ */
+/* $Id: clearspd.c,v 1.4 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * Simple GLUT program to measure glClear() and glutSwapBuffers() speed.
  * Brian Paul  February 15, 1997  This file in public domain.
  */
 
-/*
- * $Log: clearspd.c,v $
- * Revision 1.3  2000/12/07 21:50:39  brianp
- * call glFinish() before getting t1 time
- *
- * Revision 1.2  2000/04/10 16:25:15  brianp
- * fixed visual selection and reporting results
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1999/03/28 18:18:33  brianp
- * minor clean-up
- *
- * Revision 3.2  1999/03/18 08:16:34  joukj
- *
- *     cmpstr needs string.h to included to avoid warnings
- *
- * Revision 3.1  1998/06/29 02:38:30  brianp
- * removed unneeded includes
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/progs/demos/drawpix.c b/progs/demos/drawpix.c
index 333cab3..222c820 100644
--- a/progs/demos/drawpix.c
+++ b/progs/demos/drawpix.c
@@ -1,4 +1,4 @@
-/* $Id: drawpix.c,v 1.6 2002/01/26 17:49:30 brianp Exp $ */
+/* $Id: drawpix.c,v 1.7 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * glDrawPixels demo/test/benchmark
@@ -6,64 +6,6 @@
  * Brian Paul   September 25, 1997  This file is in the public domain.
  */
 
-/*
- * $Log: drawpix.c,v $
- * Revision 1.6  2002/01/26 17:49:30  brianp
- * added fog and raster Z position controls
- *
- * Revision 1.5  2000/12/24 22:53:54  pesco
- * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
- * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
- * Essentially the same.
- * Program files updated to include "readtex.c", not "../util/readtex.c".
- * * demos/reflect.c: Likewise for "showbuffer.c".
- *
- *
- * * Makefile.am (EXTRA_DIST): Added top-level regular files.
- *
- * * include/GL/Makefile.am (INC_X11): Added glxext.h.
- *
- *
- * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
- * Mesa GGI headers in dist even if HAVE_GGI is not given.
- *
- * * configure.in: Look for GLUT and demo source dirs in $srcdir.
- *
- * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
- * More source list updates in various Makefile.am's.
- *
- * * Makefile.am (dist-hook): Remove CVS directory from distribution.
- * (DIST_SUBDIRS): List all possible subdirs here.
- * (SUBDIRS): Only list subdirs selected for build again.
- * The above two applied to all subdir Makefile.am's also.
- *
- * Revision 1.4  2000/09/08 21:45:21  brianp
- * added dither key option
- *
- * Revision 1.3  1999/10/28 18:23:29  brianp
- * minor changes to Usage() function
- *
- * Revision 1.2  1999/10/21 22:13:58  brianp
- * added f key to toggle front/back drawing
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1999/03/28 18:18:33  brianp
- * minor clean-up
- *
- * Revision 3.2  1998/11/05 04:34:04  brianp
- * moved image files to ../images/ directory
- *
- * Revision 3.1  1998/02/22 16:43:17  brianp
- * added a few casts to silence compiler warnings
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
diff --git a/progs/demos/gamma.c b/progs/demos/gamma.c
index 1b002ed..abb8522 100644
--- a/progs/demos/gamma.c
+++ b/progs/demos/gamma.c
@@ -1,5 +1,4 @@
-
-/* $Id: gamma.c,v 1.2 2000/03/18 01:13:29 brianp Exp $ */
+/* $Id: gamma.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
 
 /* Draw test patterns to help determine correct gamma value for a display.
    When the intensities of the inner squares nearly match the intensities
@@ -23,22 +22,6 @@
 
 /* Conversion to GLUT by Mark J. Kilgard */
 
-/*
- * $Log: gamma.c,v $
- * Revision 1.2  2000/03/18 01:13:29  brianp
- * colors were computed incorrectly (Hans Nelles)
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.1  1999/06/19 01:35:38  brianp
- * merged in Kai Schuetz's RGB changes
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
 
 #include <stdio.h>
 #include <string.h>
diff --git a/progs/demos/glinfo.c b/progs/demos/glinfo.c
index a61e365..4e34983 100644
--- a/progs/demos/glinfo.c
+++ b/progs/demos/glinfo.c
@@ -1,4 +1,4 @@
-/* $Id: glinfo.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+/* $Id: glinfo.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * Print GL, GLU and GLUT version and extension info
@@ -8,23 +8,6 @@
  */
 
 
-/*
- * $Log: glinfo.c,v $
- * Revision 1.1  1999/08/19 00:55:40  jtg
- * Initial revision
- *
- * Revision 3.2  1999/02/02 04:45:49  brianp
- * include stdio.h before glut.h
- *
- * Revision 3.1  1998/02/22 16:42:54  brianp
- * added casts to prevent compiler warnings
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <stdio.h>
 #include <GL/glut.h>
 
diff --git a/progs/demos/glutfx.c b/progs/demos/glutfx.c
index 6b9d9fa..ec44684 100644
--- a/progs/demos/glutfx.c
+++ b/progs/demos/glutfx.c
@@ -1,4 +1,4 @@
-/* $Id: glutfx.c,v 1.2 2000/06/27 17:04:43 brianp Exp $ */
+/* $Id: glutfx.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * Example of how one might use GLUT with the 3Dfx driver in full-screen mode.
@@ -14,25 +14,6 @@
  * Brian Paul   This file is in the public domain.
  */
 
-/*
- * $Log: glutfx.c,v $
- * Revision 1.2  2000/06/27 17:04:43  brianp
- * fixed compiler warnings
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.2  1999/03/28 18:18:33  brianp
- * minor clean-up
- *
- * Revision 3.1  1998/06/29 02:37:30  brianp
- * minor changes for Windows (Ted Jump)
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/progs/demos/pointblast.c b/progs/demos/pointblast.c
index 8786e36..29f977e 100644
--- a/progs/demos/pointblast.c
+++ b/progs/demos/pointblast.c
@@ -11,32 +11,6 @@
    is present , the particle size is attenuated based on eye distance. */
 
 
-/*
- * $Log: pointblast.c,v $
- * Revision 1.3  2002/01/16 00:48:43  kschultz
- * Demo updates for Windows (Robert Bergkvist)
- *
- * Revision 1.2  2000/06/27 17:04:43  brianp
- * fixed compiler warnings
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1998/07/26 01:24:27  brianp
- * removed include of gl.h
- *
- * Revision 3.2  1998/02/14 18:51:46  brianp
- * fixed a small compiler warning
- *
- * Revision 3.1  1998/02/14 18:45:25  brianp
- * optimized to use flat shading, don't blend ground polygon
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/progs/demos/readpix.c b/progs/demos/readpix.c
index 238ef2e..d0c46a2 100644
--- a/progs/demos/readpix.c
+++ b/progs/demos/readpix.c
@@ -1,4 +1,4 @@
-/* $Id: readpix.c,v 1.4 2000/10/16 21:24:39 brianp Exp $ */
+/* $Id: readpix.c,v 1.5 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * glReadPixels and glCopyPixels test
@@ -6,23 +6,6 @@
  * Brian Paul   March 1, 2000  This file is in the public domain.
  */
 
-/*
- * $Log: readpix.c,v $
- * Revision 1.4  2000/10/16 21:24:39  brianp
- * use gray background, memset TempImage to white to help with debugging
- *
- * Revision 1.3  2000/03/31 01:01:31  brianp
- * tweaks to allow different read formats/types
- *
- * Revision 1.2  2000/03/23 19:47:25  brianp
- * added benchmarking
- *
- * Revision 1.1  2000/03/01 16:23:14  brianp
- * test glDraw/Read/CopyPixels()
- *
- */
-
-
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/progs/demos/spectex.c b/progs/demos/spectex.c
index 412f442..68de85c 100644
--- a/progs/demos/spectex.c
+++ b/progs/demos/spectex.c
@@ -1,4 +1,4 @@
-/* $Id: spectex.c,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
+/* $Id: spectex.c,v 1.2 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * GLUT demonstration of texturing with specular highlights.
@@ -17,24 +17,6 @@
  * Brian Paul  February 1997
  */
 
-
-/*
- * $Log: spectex.c,v $
- * Revision 1.1  1999/08/19 00:55:40  jtg
- * Initial revision
- *
- * Revision 3.2  1999/03/28 18:22:05  brianp
- * minor clean-up
- *
- * Revision 3.1  1998/02/14 18:47:48  brianp
- * added OpenGL 1.2 separate specular interpolation support
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
diff --git a/progs/demos/stex3d.c b/progs/demos/stex3d.c
index bab9035..56ec49c 100644
--- a/progs/demos/stex3d.c
+++ b/progs/demos/stex3d.c
@@ -1,4 +1,4 @@
-/* $Id: stex3d.c,v 1.5 2000/06/27 17:04:43 brianp Exp $ */
+/* $Id: stex3d.c,v 1.6 2002/04/22 16:03:37 brianp Exp $ */
 
 /*----------------------------- 
  * stex3d.c GL example of the mesa 3d-texture extention to simulate procedural
@@ -15,32 +15,6 @@
  *
  *---------------------------- */
 
-/*
- * $Log: stex3d.c,v $
- * Revision 1.5  2000/06/27 17:04:43  brianp
- * fixed compiler warnings
- *
- * Revision 1.4  2000/03/22 19:48:57  brianp
- * converted from GL_EXT_texture3D to GL 1.2
- *
- * Revision 1.3  1999/12/16 08:54:22  brianp
- * added a cast to malloc call
- *
- * Revision 1.2  1999/09/17 12:27:01  brianp
- * silenced some warnings
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.1  1998/06/09 01:53:49  brianp
- * main() should return an int
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/progs/demos/texcyl.c b/progs/demos/texcyl.c
index c01ef76..7741a75 100644
--- a/progs/demos/texcyl.c
+++ b/progs/demos/texcyl.c
@@ -1,4 +1,4 @@
-/* $Id: texcyl.c,v 1.5 2001/03/27 17:35:26 brianp Exp $ */
+/* $Id: texcyl.c,v 1.6 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * Textured cylinder demo: lighting, texturing, reflection mapping.
@@ -10,61 +10,6 @@
  * Brian Paul  May 1997  This program is in the public domain.
  */
 
-/*
- * $Log: texcyl.c,v $
- * Revision 1.5  2001/03/27 17:35:26  brianp
- * set initial window pos
- *
- * Revision 1.4  2000/12/24 22:53:54  pesco
- * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
- * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
- * Essentially the same.
- * Program files updated to include "readtex.c", not "../util/readtex.c".
- * * demos/reflect.c: Likewise for "showbuffer.c".
- *
- *
- * * Makefile.am (EXTRA_DIST): Added top-level regular files.
- *
- * * include/GL/Makefile.am (INC_X11): Added glxext.h.
- *
- *
- * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
- * Mesa GGI headers in dist even if HAVE_GGI is not given.
- *
- * * configure.in: Look for GLUT and demo source dirs in $srcdir.
- *
- * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
- * More source list updates in various Makefile.am's.
- *
- * * Makefile.am (dist-hook): Remove CVS directory from distribution.
- * (DIST_SUBDIRS): List all possible subdirs here.
- * (SUBDIRS): Only list subdirs selected for build again.
- * The above two applied to all subdir Makefile.am's also.
- *
- * Revision 1.3  2000/09/29 23:09:39  brianp
- * added fps output
- *
- * Revision 1.2  1999/10/21 16:39:06  brianp
- * added -info command line option
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1999/03/28 18:24:37  brianp
- * minor clean-up
- *
- * Revision 3.2  1998/11/05 04:34:04  brianp
- * moved image files to ../images/ directory
- *
- * Revision 3.1  1998/06/23 03:16:51  brianp
- * added Point/Linear sampling menu items
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
diff --git a/progs/demos/trispd.c b/progs/demos/trispd.c
index 2122e2b..96152d4 100644
--- a/progs/demos/trispd.c
+++ b/progs/demos/trispd.c
@@ -1,37 +1,10 @@
-/* $Id: trispd.c,v 1.2 2000/10/26 15:26:14 brianp Exp $ */
+/* $Id: trispd.c,v 1.3 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * Simple GLUT program to measure triangle strip rendering speed.
  * Brian Paul  February 15, 1997  This file is in the public domain.
  */
 
-/*
- * $Log: trispd.c,v $
- * Revision 1.2  2000/10/26 15:26:14  brianp
- * added a glFinish() call
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.4  1999/03/28 18:24:37  brianp
- * minor clean-up
- *
- * Revision 3.3  1999/03/18 08:16:52  joukj
- *
- *     cmpstr needs string.h to included to avoid warnings
- *
- * Revision 3.2  1998/07/08 03:02:00  brianp
- * added Marten Stromberg's texture options
- *
- * Revision 3.1  1998/06/29 02:36:58  brianp
- * removed unneeded includes
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
diff --git a/progs/demos/winpos.c b/progs/demos/winpos.c
index d2bd349..2dfa9af 100644
--- a/progs/demos/winpos.c
+++ b/progs/demos/winpos.c
@@ -1,63 +1,10 @@
-/* $Id: winpos.c,v 1.4 2002/01/16 00:48:43 kschultz Exp $ */
+/* $Id: winpos.c,v 1.5 2002/04/22 16:03:37 brianp Exp $ */
 
 /*
  * Example of how to use the GL_MESA_window_pos extension.
  * Brian Paul   This file is in the public domain.
  */
 
-
-/*
- * $Log: winpos.c,v $
- * Revision 1.4  2002/01/16 00:48:43  kschultz
- * Demo updates for Windows (Robert Bergkvist)
- *
- * Revision 1.3  2000/12/24 22:53:54  pesco
- * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
- * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
- * Essentially the same.
- * Program files updated to include "readtex.c", not "../util/readtex.c".
- * * demos/reflect.c: Likewise for "showbuffer.c".
- *
- *
- * * Makefile.am (EXTRA_DIST): Added top-level regular files.
- *
- * * include/GL/Makefile.am (INC_X11): Added glxext.h.
- *
- *
- * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
- * Mesa GGI headers in dist even if HAVE_GGI is not given.
- *
- * * configure.in: Look for GLUT and demo source dirs in $srcdir.
- *
- * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
- * More source list updates in various Makefile.am's.
- *
- * * Makefile.am (dist-hook): Remove CVS directory from distribution.
- * (DIST_SUBDIRS): List all possible subdirs here.
- * (SUBDIRS): Only list subdirs selected for build again.
- * The above two applied to all subdir Makefile.am's also.
- *
- * Revision 1.2  2000/06/27 17:04:43  brianp
- * fixed compiler warnings
- *
- * Revision 1.1.1.1  1999/08/19 00:55:40  jtg
- * Imported sources
- *
- * Revision 3.3  1999/03/28 18:24:37  brianp
- * minor clean-up
- *
- * Revision 3.2  1998/11/05 04:34:04  brianp
- * moved image files to ../images/ directory
- *
- * Revision 3.1  1998/02/22 16:36:10  brianp
- * changed image file and set unpack alignment to 1
- *
- * Revision 3.0  1998/02/14 18:42:29  brianp
- * initial rev
- *
- */
-
-
 #include <math.h>
 #include <string.h>
 #include <stdlib.h>
