These are updated (and somewhat closer-to-complete) versions of the XV
jumbo patches I created in February 2000 but never distributed.  Four
years later, a discussion on LWN (http://lwn.net/Articles/76391/) prompted
me to update, polish, and generally make available the patches; here's
the result.  At least for the moment, information about the patches,
updates, and the patches themselves can be found here:

	http://pobox.com/~newt/greg_xv.html

These two patches incorporate all of the fix- and enhancement-patches
available from John's XV site (http://www.trilon.com/xv/downloads.html
and ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes
and additions, and several from other people.  Unbeknownst to me (at least
until after I had finished two pre-beta releases), Landon Curt "chongo"
Noll had released a similar "rollup" patch in May 2001.  His version omitted
a few of the lesser patches from the XV site and lumped both enhancements
and fixes into a single jumbo patch (older "context" style), but it turned
out to be substantially similar to my own--even to the point of including
some of the same security and Linux-compilation fixes I had added.  Hope-
fully this means the result is both robust and sufficiently useful to make
it all worthwhile...

(Subsequent note:  it appears that several others have done the same thing,
including:

 - Mark Ashley <mark@ibiblio.org>
   http://www.ibiblio.org/pub/packages/solaris/sparc/html/xv.3.10a.p19.html
 - Peter Jordan <pete@dc.seflin.org>
   http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/xv-3.10a.patch.*
 - Uwe F. Mayer (http://www.tux.org/~mayer/)
   http://www.tux.org/~mayer/linux/book/node311.html
 - Kurt Wall <kwall@kurtwerks.com>
   http://www.kurtwerks.com/software/xv.html
 - Chisato Yamauchi (http://phe.phyas.aichi-edu.ac.jp/~cyamauch/index_en.html)
   http://phe.phyas.aichi-edu.ac.jp/~cyamauch/xv.html
 - Daisuke Yabuki <dxy@optix.org>
   http://www.optix.org/~dxy/solaris/xv/
 - Pekoe (http://pekoe.lair.net/)
   http://pekoe.lair.net/diary/xv.html
 - FreeBSD FreshPorts
   http://www.freshports.org/graphics/xv/

...and I very much doubt that this is an exhaustive list.  So far, most of
the other patch sets appear not to be quite as extensive as my own, although
the last three do include the [large] Japanese extension patches that I
omitted--not because they're unworthy, but simply because I didn't find them
until collisions between the two sets of patches had become a large problem.
Maybe for the next release...)

Below I summarize the component patches that are encompassed by my jumbo
bugfixes and jumbo enhancements patches.  Unfortunately, some of my own
additions never saw the light of day as standalone patches, but considering
the number of overlaps (collisions) already implicit in this list, it would
have been difficult to accomplish even if I'd had the time.  In any case,
they're present in these jumbo patches but not chongo's, so those who really
care can effectively "subtract" the two sets of patches to see what I did. ;-)

Here's a quick guide to the "third-party" credits in the lists below:

  JHB = John H. Bradley, of course (http://www.trilon.com/xv/)
  GRR = Greg Roelofs (http://pobox.com/~newt/)
  AD  = Andreas Dilger
  LCN = Landon Curt "chongo" Noll (http://www.isthe.com/chongo/)
  AAC = Andrey A. Chernov [ache]
        (http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab)
  GV  = Guido Vollbeding (http://sylvana.net/guido/)
  JZ  = Joe Zbiciak (http://spatula-city.org/~im14u2c/)
  SB  = Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html)
  JR  = John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920)
        (also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag)
  JCE = John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html)
  PSV = Pawel S. Veselov (http://manticore.2y.net/wbmp.html)
  DAC = David A. Clunie (http://www.dclunie.com/xv-pcd.html)
  PBJ = Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/)
  TA  = Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html)
  AT  = Anthony Thyssen (anthony@cit.gu.edu.au as of 19950715)

Other credits are as listed on the XV Downloads page or in the respective
patches (e.g., the jp-extension patches or TenThumbs' contribution to the
PNG patch).

Finally, please note that these patches have not been blessed by John Bradley
in any way (although I'll be copying him on the beta announcement), nor have
I personally tested every change and feature.  In other words, they're both
completely unofficial and completely unguaranteed; use them at your own risk!
But they seem to work for me. ;-)

GRR 20040516


fixes ((*) = listed on XV Downloads page, (f) = on ftp site only):

 - grabpatch (*)		[obsoleted by new-xvgrab.c below]
 - vispatch (*)
 - mp-tiff-patch (*)		[technically an enhancement, but JHB says...]
 - longname.patch (*)		[*SECURITY*]
 - xpm.patch (*)
 - deepcolor.patch (*)		[slightly modified for language conformance]
 - gifpatch (*)
 - exceed_grab.patch (*)
 - xv-redhat6-readme.txt (*)	[slightly modified for portability]
 - beos.patch (*)		[modified for portability]
 - croppad.patch (f)
 - epsfpatch (f)
 - tiff1200.patch (*)
 - gssafer.patch (*)		[*SECURITY*]
 - new-xvgrab.c (f)		[includes grabpatch but not exceed_grab.patch]
 - xcmap.diff (AD)		[part of xv-3.10a-png-1.2d.tar.gz]
 - fixes for huge number gcc -Wall warnings--including two bugs (GRR)
 - fix for cleandir script when no makefile exists (GRR)
 - *SECURITY* fix for gets() in vdcomp.c (GRR, LCN vdcomp-security.patch)
 - *SECURITY* fix for getwd() on Linux (GRR, LCN Linux-compile.patch)
 - fix for "no fuss" Linux compiles (LCN Linux-compile.patch)
 - partial *SECURITY* fix for mktemp() in xv.c and xvdir.c (GRR)
   (remaining instances in xv.c (2), xvimage.c, xvfits.c, xvpds.c, xvps.c, and
   possibly xvtiff.c--most involve system())
 - freebsd-vdcomp-newline.patch (AAC)
 - xv-3.10a.patch.linux (PBJ)	[/bin/sh versions of cleandir, RANLIB.sh only]
 - removed trailing white space (GRR)  [purely cosmetic]


enhancements ((*) = listed on XV Downloads page, (<who>) = third-party):

 - xv-3.10a.JPEG-patch (*)
   (xv-3.10a.JPEG-patch.old differs only in ftp site listed in comments at top)
 - xv-3.10a.TIFF-patch (*)
 - xv-3.10a-png-1.2d.tar.gz (*)
   (xvjpeg.diff and xvtiff.diff ignored; xcmap.diff included in fixes)
 - xvpng-1.2d-fix3.patch (*)
 - pdf.patch (*)
 - windowid.patch + windowid.patch.readme (*)
 - bmp32.patch (*)
 - fixpix-20000610.tar.gz (GV)
   (identical to 19961127 version except for README updates and new Win32 file)
   [modified to be runtime-selectable via -/+fixpix option]
 - browse-remember.patch (JZ)
 - faster-smooth.patch (JZ)
 - PAM support (GRR)
 - PNG/GIF -ibg ("image background") transparency option (GRR)
   (does not yet support TIFF, XPM or TGA)
 - VersionInfo* in help screen (GRR)
 - minor grammar/spelling fixes (GRR)
 - floating-point support for -wait when USE_TICKS enabled (GRR)
 - wheelmouse.patch (SB)
 - freebsd-gravity-hints-patch (JR)
 - xv-zx.patch (JCE)
 - xv3.10a.wapbmp.patch (PSV)
 - xv-3.10a-pcd.patch.20010708 (DAC)
 - jp-ext-bzip2-1.1.patch
   (from ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/shige/xv/)


not (yet?) included:

 - xv310a-jp-extension-rev5.3.3.tar.gz		[extensive]
 - xv-3.10a-jp-extension-5.3.3-png-1.2d.patch	[PNG patch relative to jp-ext]
 - xv-3.10a+jp-extension-rev5.3.3+FLmask.v2.1+png+misc.patch	[??]
 - xv-psnewstyle.patch (TA)			[probably coming ~July 2004]
 - xv-3.10a.patch.linux (PBJ)			[maybe use vdcomp.c changes?]
 - xvxpm-anthony-thyssen.c (AT)			["slate grey" bug already gone?]
 - stuff in xv/unsupt:
	-rw-r--r--     30527 Dec 22  1994 FITS.rite
	-rw-r--r--     49152 Dec 22  1994 FITS.tar
	-rw-r--r--      3753 Dec 22  1994 G3.patch1
	-rw-r--r--     24576 Dec 22  1994 G3.tar
	-rw-r--r--      1098 Dec 22  1994 INFO.cgm
	-rw-r--r--      1941 Dec 22  1994 README
	-rwxr-xr-x      1059 Dec 22  1994 getweather*
	-rwxr-xr-x      2186 Dec 22  1994 getweather.ksh*
	-rw-r--r--       856 Dec 22  1994 twm.fix
	-rw-r--r--       844 Dec 22  1994 vargs.c
	-rw-r--r--     47626 Dec 22  1994 vis
	-rw-r--r--     21097 Dec 22  1994 xscm


not finished (and/or even started ;-) ):

 - *SECURITY* fixes for use of mktemp() in various source files
   (most remaining cases involve system(), so not clear mkstemp() can be used)
 - fix xvpng.c not to use direct struct access
 - fix for never-ending pile of SLOW popups when viewing TIFFs with unknown tags
   (or truncated/corrupted images)
 - fix for minor .Z inefficiency in xv.c ("FIXME")
 - fix for filename entry-field mouse/cursor bogosity
   (want at least positioning to work; preferably also select/cut/paste)
 - fix for spacebar-for-next-image getting stuck at first text file
 - fix for .ppm.gz "disk leak" [can't reproduce...already fixed?]
   (maybe occurs only if filesystem is already nearly full?  bad .gz?)

 - transparency support for TIFF, XPM and TGA images
 - support for tiled background image (with transparent foreground image)
 - MNG/JNG support

