about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2013-06-29 19:19:47 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2013-06-29 19:19:47 +0000
commit380588e187c12000ac8082cb2a20a905d3c422a5 (patch)
tree296b1324b7a9360646a34ae836b8eb486b7feede /doc
parentf8b633c2be1231a0c194214271caa456dc669ecb (diff)
downloadnetpbm-mirror-380588e187c12000ac8082cb2a20a905d3c422a5.tar.gz
netpbm-mirror-380588e187c12000ac8082cb2a20a905d3c422a5.tar.xz
netpbm-mirror-380588e187c12000ac8082cb2a20a905d3c422a5.zip
Release 10.63.00
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@1968 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'doc')
-rw-r--r--doc/HISTORY256
-rw-r--r--doc/INSTALL23
-rw-r--r--doc/TESTS302
-rw-r--r--doc/patent_summary15
4 files changed, 476 insertions, 120 deletions
diff --git a/doc/HISTORY b/doc/HISTORY
index 16f04d14..30be7d5c 100644
--- a/doc/HISTORY
+++ b/doc/HISTORY
@@ -4,51 +4,37 @@ Netpbm.
 CHANGE HISTORY 
 --------------
 
-13.06.27 BJH  Release 10.62.09
+13.06.29 BJH  Release 10.63.00
 
-              libnetpbm: fix bug: pnm_readpaminit and pnm_writepaminit set
-              'opacity_plane' member of struct pam incorrectly.  No Netpbm
-              programs are affected.
+              Add pamtowinicon, winicontopam.  Thanks Ludolf Holzheid
+              (lholzheid@bihl-wiedemann.de).
 
-13.06.14 BJH  Release 10.62.08
+              pgmnoise: add -maxval, speed up.  Thanks Prophet of the Way
+              <afu@wta.att.ne.jp>.
 
-              giftopnm: fix bug: erroneously claims GIF ends prematurely.
-              Broken in Netpbm 10.38 (March 2007).  This affects all GIfs, but
-              the problem does not manifest when Netpbm was built with Gcc
-              from 2007 and later.
+              Perl programs: make them shell programs that reinvoke themselves
+              as perl so we can get the Perl interpreter from the PATH.
 
-              libnetpbm: fix bug: ppm_freecolornames() has wild pointer
-              dereference when the color name table was generated empty
-              because the color dictionary file was not openable.  ppmtoxpm
-              suffers from this.  Broken in 10.15 (April 2003).
+              yuvtoppm: check for inconsistencies between specified
+              width and height and size of input.
 
-              ppmtoxpm: fix bug: ignores inability to open the specified color
-              dictionary file (-rgb) and just doesn't use color names.
-              Introduced in Netpbm 10.15 (April 2003).
+              411toppm: check for inconsistencies between specified
+              width and height and size of input.
 
-              ppmforge. fix crash when -mesh is 1 or less.  Always broken
-              (program was added in Pbmplus (October 1991).  Thanks Prophet of
-              the Way <afu@wta.att.ne.jp>.
+              Ignore -plain when program generates PAM.  Before, programs
+              failed if the user specified -plain to a program that generates
+              a PAM image.
 
-              ppmforge: fix array bounds violation.  Always broken (program
-              was added in Pbmplus (October 1991).  Thanks Prophet of the Way
-              <afu@wta.att.ne.jp>.
-
-13.05.27 BJH  Release 10.62.07
+              giftopnm: fix bug: erroneously claims GIF ends prematurely.
+              Broken in Netpbm 10.38 (March 2007).  This affects all GIFs, but
+              the problem does not manifest when Netpbm was built with Gcc
+              from 2007 and later.
 
               pnmtops: Fix bug: only first image gets converted.  Broken in
               Netpbm 10.56 (September 2011).
 
-13.05.20 BJH  Release 10.62.06
-
-              pnmremap (ergo pnmquant): fix bug: incorrect output with
-              -norandom and floyd-steinberg dithering.  Always broken.
-              (-norandom was introduced in Netpbm 10.39 (June 2007)).
-
-13.05.11 BJH  Release 10.62.05
-
               pnmtopng: fix bug: incorrect output when output should have
-              an alpha mask.  Broken Netpbm in 10.55 (June 2011).  Thanks
+              an alpha mask.  Broken in Netpbm 10.55 (June 2011).  Thanks
               Ludolf Holzheid (lholzheid@bihl-wiedemann.de).
 
               pnmtopng: fix bug: output bigger than it needs to be when the
@@ -57,32 +43,55 @@ CHANGE HISTORY
               (September 2003).  Thanks Ludolf Holzheid
               (lholzheid@bihl-wiedemann.de).
 
+              pnmremap (ergo pnmquant): fix bug: incorrect output with
+              -norandom and floyd-steinberg dithering.  Always broken.
+              (-norandom was introduced in Netpbm 10.39 (June 2007)).
+
               pamtilt: fix bug: incorrect output or invalid memory access
               crash.  Always broken (program was new in Netpbm 10.30
               (October 2005)).
 
-13.05.02 BJH  Release 10.62.04
+              pnmpsnr: fix bug: says types aren't the same when they are.
+              Introduced in Netpbm 10.61 (December 2012).
+              
+              ppmtowinicon: fix bug: sometimes creates image truncated in the
+              middle of the AND mask.  Always broken (program was new in
+              Netpbm 9.3 (June 2000)).
+
+              ppmtoxpm: fix bug: ignores inability to open the specified color
+              dictionary file (-rgb) and just doesn't use color names.
+              Introduced in Netpbm 10.15 (April 2003).
+
+              libnetpbm: fix bug: ppm_freecolornames() has wild pointer
+              dereference when the color name table was generated empty
+              because the color dictionary file was not openable.  ppmtoxpm
+              suffers from this.  Broken in 10.15 (April 2003).
+
+              libnetpbm: fix bug: pnm_readpaminit and pnm_writepaminit set
+              'opacity_plane' member of struct pam incorrectly.  No Netpbm
+              programs are affected.  Always broken (member was added in
+              Netpbm 10.56 (September 2011)).
 
               sparc64 pbmtog3: fix bug that causes crash due to unaligned
               memory access.
 
-13.04.18 BJH  Release 10.62.03
+              ppmforge. fix crash when -mesh is 1 or less.  Always broken
+              (program was added in Pbmplus (October 1991).  Thanks Prophet of
+              the Way <afu@wta.att.ne.jp>.
 
-              build: fix problem with creating lib/util that already exists.
-              Broken in 10.62.
+              ppmforge: fix array bounds violation.  Always broken (program
+              was added in Pbmplus (October 1991).  Thanks Prophet of the Way
+              <afu@wta.att.ne.jp>.
 
-13.04.13 BJH  Release 10.62.02
+              install: fix Perl warning in installnetpbm.  Broken in 
+              Netpbm 10.61.
 
-              ppmtowinicon: fix bug: sometimes creates image truncated in the
-              middle of the AND mask.  Always broken (program was new in
-              Netpbm 9.3 (June 2000)).
+              build: Use <stdbool.h> when available.
 
-              install: fix Perl warning in installnetpbm.  Broken in 10.61.
+              build: fix problem with creating lib/util that already exists.
+              Broken in Netpbm 10.62.
 
-              pnmpsnr: fix bug: says types aren't the same when they are.
-              Introduced in 10.61 (December 2012).
-              
-13.03.28 BJH  Release 10.62.00
+12.03.28 BJH  Release 10.62.00
 
               pnmtorast: set don't care bytes to zero to make output
               repeatable.
@@ -90,16 +99,16 @@ CHANGE HISTORY
               rasttopnm: add -dumpheader, dumpcolormap.
 
               pamstereogram: change -guidesize default from 10 to 20
-              (relevant since 10.61).
+              (relevant since Netpbm 10.61).
 
               rasttopnm: fix bug: incorrect output due to used-before-set
-              variable.  Introduced in 10.56 (September 2011).
+              variable.  Introduced in Netpbm 10.56 (September 2011).
 
               pamstereogram: fix bug: doesn't reject negative guidesize.
-              Broken since 10.61.
+              Broken since Netpbm 10.61.
 
               pamstereogram: fix bug: garbage in -verbose listing.  Broken
-              since 10.61
+              since Netpbm 10.61
 
               MinGW build: various fixes.
 
@@ -127,7 +136,7 @@ CHANGE HISTORY
               libpam, pamcomp: fix bug: treats tuple type GRAYSCALE_ALPHA like
               GRAYSCALE on 32-bit machine.  Actually, looks only at first 4
               characters (8 characters on machine with 64 bit addressess) of
-              the tuple type.  Broken since 10.56 (September 2011).
+              the tuple type.  Broken since Netpbm 10.56 (September 2011).
 
               pngtopam -alphapam with grayscale input: fix bug: generates
               invalid output: tuple type GRAYSCALE_ALPHA, but depth 1.  Depth
@@ -135,7 +144,7 @@ CHANGE HISTORY
               Netpbm 10.44 (September 2008)).
               
               pamtotiff: fix bug: XRESOLUTION, YRESOLUTION, and RESOLUTIONUNIT
-              not allowed in -tags.  Broken at least since 10.35.
+              not allowed in -tags.  Broken at least since Netpbm 10.35.
 
               pnmpsnr: fix crash when invoked (invalidly) with only one
               argument.  Always broken.
@@ -146,29 +155,30 @@ CHANGE HISTORY
               cmuwmtopbm: fix incorrect determination of whether input is
               a CMU window manager bitmap on 64 bit systems.  Always broken.
 
-              pnmmontage: fix totally wrong output.  Broken in 10.44
+              pnmmontage: fix totally wrong output.  Broken in Netpbm 10.44
               (August 2008).
 
               pnmmontage: fix random stuff placed in unoccupied space in the
-              output image.  Always broken (program was new in 9.10 (January
-              2001).
+              output image.  Always broken (program was new in Netpbm 9.10
+              (January 2001).
 
-              pbmpscale, pgmhist, pampick, pamtompfont: fix wild pointer
-              in command line parsing.  Bug has always been there in 
-              pampick, pamtompfont, since 10.50 (March 2010) in pbmpscale,
-              since 10.44 (September 2008) in pgmhist.              
+              pbmpscale, pgmhist, pampick, pamtompfont: fix wild pointer in
+              command line parsing.  Bug has always been there in pampick,
+              pamtompfont, since Netpbm 10.50 (March 2010) in pbmpscale, since
+              10.44 (September 2008) in pgmhist.
 
               xbmtopbm: fix incorrect output, memory leak.  Thanks Prophet of
               the Way <afu@wta.att.ne.jp>.
 
               sunicontopnm: Fix incorrect output for depth 8.  Always broken
-              (depth = 8 capability was added in 10.53 (December 2010).
+              (depth = 8 capability was added in Netpbm 10.53 (December 2010).
 
               pamgauss: Fix bug: erroneously says -maxval is too big on 64 bit
-              system.  Always broken (Pamgauss was added in 10.23 (July 2004).
+              system.  Always broken (Pamgauss was added in Netpbm 10.23 (July
+              2004).
 
-              ppmpat: Fix bug: wrong output with -poles.  Broken in 10.47
-              (June 2009).
+              ppmpat: Fix bug: wrong output with -poles.  Broken in Netpbm
+              10.47 (June 2009).
 
               Add tests.  Thanks Prophet of the Way <afu@wta.att.ne.jp>.
 
@@ -179,19 +189,20 @@ CHANGE HISTORY
               linear search or direct index, go row by row.
 
               xpmtoppm: fix bogus "color number too large" failure.  Broken
-              in 10.49 (December 2009).
+              in Netpbm 10.49 (December 2009).
 
               pnm_hashtuple: slight performance improvement from new hash
               function.  Thanks Prophet of the Way <afu@wta.att.ne.jp>.
 
               ppmtospu: wild memory accesses.  Always broken (program added in
-              10.58 (March 2012).
+              Netpbm 10.58 (March 2012).
 
               pamtosrf: fix storage corruption.  Always broken (program added
-              in 10.55 (June 2011).
+              in Netpbm 10.55 (June 2011).
 
-              Build: change _XOPEN_SOURCE 500 to 600 because on a Mac OSX 10.8
-              system, this is necessary to get 'strdup' into <strings.h>.
+              Build: change _XOPEN_SOURCE 500 to 600 because on a Mac OSX
+              Netpbm 10.8 system, this is necessary to get 'strdup' into
+              <strings.h>.
 
               Build: rename getline() in xpmtoppm.c to avoid collision
               with some libc.  Always broken.
@@ -214,20 +225,23 @@ CHANGE HISTORY
               pamstereogram: improve verbose output.  Thanks Scott Pakin
               (scott@pakin.org).
 
-              pamstereogram: fix crash introduced in 10.54 (March 2011).
+              pamstereogram: fix crash introduced in Netpbm 10.54 (March 2011).
 
-              pamstereogram: fix crash introduced in 10.53 (December 2010).
+              pamstereogram: fix crash introduced in Netpbm 10.53 (December
+              2010).
 
-              Build: fix bug: declines to build pnmtops.  Broken in 10.58.
+              Build: fix bug: declines to build pnmtops.  Broken in Netpbm
+              10.58.
 
-              Build: move -lm to end of -l's.  Broken at least since 10.35.
+              Build: move -lm to end of -l's.  Broken at least since Netpbm
+              10.35.
 
 12.03.29 BJH  Release 10.58.00
 
               Add ppmtospu, 22 years late.
 
               pngtopam: fix incorrect output when PNG has 16 bits per pixel.
-              Broken in 10.56.
+              Broken in Netpbm 10.56.
 
               pgmtexture: fix integer overflow in difference variance.
               Always broken.
@@ -244,7 +258,7 @@ CHANGE HISTORY
               to Perl.
 
               Windows/Mingw: fix bug: temporary file creation fails
-              consistently.  Broken in 10.34.
+              consistently.  Broken in Netpbm 10.34.
 
               Windows/Mingw: set binary mode on files.
 
@@ -272,7 +286,8 @@ CHANGE HISTORY
 
               pngtopam: fix crash with invalid tIME chunk.  Always broken.
 
-              pamarith: fix wrong result with -multiply.  Broken in 10.41.
+              pamarith: fix wrong result with -multiply.  Broken in Neptbm
+              10.41.
 
               pamscale: fix all black output with resampling.  Always broken.
 
@@ -306,17 +321,17 @@ CHANGE HISTORY
 
               libnetpbm, many programs: fix bug in pm_allocarray(): returns
               NULL when can't get memory.  Calling programs thus crash on
-              very large images.  Introduced in 10.51.
+              very large images.  Introduced in Netpbm 10.51.
               
               pnmtopng: fix bug: with -alpha specifying a mask which contains
               no fully transparent area, output PNG is fully opaque.
-              Introduced in 10.29.
+              Introduced in Netpbm 10.29.
 
               pnmtops: fix message: says "from top edge" where it means
               "from bottom edge."
 
               ppmcie: fix bug: fails with "X coordinate out of range" error.
-              Introduced in 10.51.
+              Introduced in Neptbm 10.51.
 
               bmptopnm: Fail properly with BMP that indicates an illegal bits
               per pixel.
@@ -336,18 +351,18 @@ CHANGE HISTORY
               pgmtexture: fix wrong sum variance result.  Wrong since the
               beginning.  Thanks Francois P. S. Luus <fpsluus@gmail.com>.
 
-              pamrubber: fix crash.  Introduced in 10.54.
+              pamrubber: fix crash.  Introduced in Netpbm 10.54.
 
               libnetpbm: pm_system(): fix bug - program always takes
               Standard Input from invoker's Standard Input when you don't
-              supply a Standard Output accepter.  Introduced in 10.40.
+              supply a Standard Output accepter.  Introduced in Netpbm 10.40.
 
               ppmtobmp: fix bug: crash ("internal error") or bogus failure or
               incorrect output on image without palette (e.g. black and
-              white).  Introduced in 10.54.
+              white).  Introduced in Netpbm 10.54.
 
               pnmtops: fix floating point exception or bogus width/height
-              too large error.  Introduced in 10.53.
+              too large error.  Introduced in Netpbm 10.53.
 
               pnmcat: Fix garbage output when multiple input image are from
               Standard Input (now it just fails gracefully).
@@ -360,12 +375,12 @@ CHANGE HISTORY
               structure.
 
               Build: fix undefined "strsol" and "vsnprintfN" failure on
-              systems without vasprintf().  Introduced in 10.53.
+              systems without vasprintf().  Introduced in Netpbm 10.53.
 
               Build: fix compiler warning in pbmtocmuwm.
 
               configure: fix selection of mingw compiler.  Introduced in
-              10.48.
+              Netpbm 10.48.
 
 11.03.30 BJH  Release 10.54.00
 
@@ -386,7 +401,7 @@ CHANGE HISTORY
               Add libpamd (PAM version of classic libppmd drawing routines).
 
               Rename pbmtoicon to pbmtosunicon, to go with change
-              of icontopbm to sunicontopnm in 10.53.
+              of icontopbm to sunicontopnm in Netpbm 10.53.
 
               g3topbm: correct error message: codes go up to 13 bits.
 
@@ -420,11 +435,11 @@ CHANGE HISTORY
               the BMP header of a compressed file.  Always broken.
               
               bmptopnm: don't crash on large invalid value of 'colorsused' in
-              the BMP header.  Introduced in 9.11.
+              the BMP header.  Introduced in Netpbm 9.11.
 
               pm_mallocarray2: fix wild pointers when image is too big to fit
               in a single chunk of malloc memory.  Affects many Netpbm
-              programs.  Introduced in 10.51.00.
+              programs.  Introduced in Netpbm 10.51.00.
 
               ilbmtoppm: Don't crash on image that has a transparent color
               index, but no color map.
@@ -455,7 +470,7 @@ CHANGE HISTORY
               fitstopnm: Deal properly with NaN in input image.
 
               pm_floatFromBigendFloat, pm_doubleFromBigendFloat, fitstopnm:
-              fix corrupted output.  Broken in 10.46.
+              fix corrupted output.  Broken in Netpbm 10.46.
 
               pamtopdbimg: fix corrupted output image.  Thanks Scott Pakin.
 
@@ -497,10 +512,10 @@ CHANGE HISTORY
               bits).
 
               pnmconvol: fix reversed sense of -nooffset.  Introduced in
-              10.49.
+              Netpbm 10.49.
 
               ppmtompeg: fix crash with free of unallocated memory.
-              Broken after 10.18, not later than 10.26.
+              Broken after Netpbm 10.18, not later than 10.26.
 
               Build: fix parallel make - multiple simultaneous attempts to
               build lib/util/importinc.
@@ -539,19 +554,19 @@ CHANGE HISTORY
               Prophet of the Way <afu@wta.att.ne.jp>.
 
               pbmtext/libpbmfont: Fix wild pointer; probably asymptomatic.
-              Introduced in 10.39.
+              Introduced in Netpbm 10.39.
 
               pbmtext/libpbmfont: Fix some error messages for bad fonts.
 
               pbmtext/libpbmfont: fix crash with a BDF font with negative
-              left or bottom border.  Introduced in 10.39.
+              left or bottom border.  Introduced in Netpbm 10.39.
 
-              pamarith: fix memory leak.  Introduced in 10.41.
+              pamarith: fix memory leak.  Introduced in Netpbm 10.41.
 
               pnm_bytespersample(): fix bogus assertion on 64 bit system.
 
               pnmtops: fix bug: 12 bits per sample output when 8 would do.
-              Introduced in 10.40.
+              Introduced in Netpbm 10.40.
 
               palmtopnm: fix for pixel size 16.  Thanks Paul Bolle
               <pebolle@tiscali.nl>.
@@ -567,17 +582,18 @@ CHANGE HISTORY
               <afu@wta.att.ne.jp>.
 
               pnmsmooth: fix wild pointer: causes wrong arguments to
-              'pnmconvol'.  Introduced in 10.50.  Thanks Prophet of the Way
-              <afu@wta.att.ne.jp>.
+              'pnmconvol'.  Introduced in Netpbm 10.50.  Thanks Prophet of the
+              Way <afu@wta.att.ne.jp>.
 
-              pamscale: fix -reduce.  Introduced in 10.27.
+              pamscale: fix -reduce.  Introduced in Netpbm 10.27.
 
               pampaintspill: fix incorrect output.
 
               libnetpbm text drawing: fix incorrect output in all cases.
-              Introduced in 10.47.
+              Introduced in Netpbm 10.47.
 
-              libnetpbm line drawing: fix bogus assertion, introduced in 10.47.
+              libnetpbm line drawing: fix bogus assertion, introduced in
+              Netpbm 10.47.
 
               build: fix incorrect determination of when vasprintf() exists
               in libc.
@@ -635,14 +651,14 @@ CHANGE HISTORY
               pnmhistmap: Fix crash with -width.  Always broken.
 
               libppmd/ppmpat: fix wild pointer in ppmd_fill_drawprocp();
-              broken in 10.47.
+              broken in Netpbm 10.47.
 
               palmtopnm: fix incorrect "PALM_DIRECT_COLOR_FLAG is not valid
               for version 3 encoding type" failure.  Thanks Paul Bolle
               <pebolle@tiscali.nl>.
 
               pamtosvg: fix bug: occasional crash with out of range error.
-              Introduced in 10.42.
+              Introduced in Netpbm 10.42.
 
               palmtopnm: fix incorrect output with version 3 direct color.
               Thanks Paul Bolle <pebolle@tiscali.nl>.
@@ -695,7 +711,7 @@ CHANGE HISTORY
               pnmtofiasco, fiascotopnm: fix bug on bigendian machine.
 
               pngtopam: use png_create_read_struct() instead of
-              png_create_write_struct().  Broken since 10.48.
+              png_create_write_struct().  Broken since Netpbm 10.48.
 
               configure: advise if adding -lz -lm fixes libpng link problem.
 
@@ -786,7 +802,7 @@ CHANGE HISTORY
               problems.
 
               ilbmtoppm: fix some bug in interpreting ILBM input.
-              (due to wrong pm_uintFromBigend16()).  From 10.46.
+              (due to wrong pm_uintFromBigend16()).  From Netpbm 10.46.
 
               ximtoppm: fix crash in command line processing.
 
@@ -797,7 +813,7 @@ CHANGE HISTORY
               ppmquantall: don't use 'set' to set Bourne shell variable.
 
               pnmtile: fix reference to arbitrary storage in option
-              processing.  Introduced in 10.42.
+              processing.  Introduced in Netpbm 10.42.
 
               pamstereogram: fix tuple type in output file (and crash
               with -verbose) with -patfile .
@@ -837,23 +853,23 @@ CHANGE HISTORY
               the background color (i.e. the color of added margins).
 
               pnmscale: finally make it just an alias of pamscale, which
-              obsoleted it in 10.20.
+              obsoleted it in Netpbm 10.20.
               
               pnmcut: finally make it just an alias of pamcut, which
-              obsoleted it in 9.20.
+              obsoleted it in Netpbm 9.20.
 
               tifftopnm: fix orientation problem on big-endian machines.
-              Introduced in 10.42.
+              Introduced in Netpbm 10.42.
 
               pnmcrop: various fixes.
 
-              g3topbm: fix array bound violation.  Introduced in 10.32.
+              g3topbm: fix array bound violation.  Introduced in Netpbm 10.32.
 
               pnmcat: fix array bound violation with PBM top/bottom
-              concatenation.  Introduced in 10.44.
+              concatenation.  Introduced in Netpbm 10.44.
 
               ilbmtoppm: Fix array bound violation with compressed ILBM.
-              Introduced in 10.18.
+              Introduced in Netpbm 10.18.
 
               fitstopnm: fix garbage output when input is little endian
               floating point FITS.
@@ -864,7 +880,7 @@ CHANGE HISTORY
               picttoppm: Improve error/informational messages.
 
               picttoppm: Don't fail if 'fontdir' file doesn't exist.  Bug
-              from 10.44.
+              from Netpbm 10.44.
 
               ppmtopict: Use two-byte length field when image width > 200
               instead of > 250.  Former is what Picttoppm has been assuming
@@ -873,11 +889,11 @@ CHANGE HISTORY
 
               ilbmtoppm: fix bug: appends color map PPM to output if input
               has color map; fails if input doesn't have color map.  Broken
-              in 10.18.
+              in Netpbm 10.18.
 
               leaftoppm: fix bug: uses red channel as all three channels;
-              (produces grayscale output).  Broken between 10.19 and 10.26,
-              inclusive.
+              (produces grayscale output).  Broken between Netpbm 10.19 and
+              10.26, inclusive.
 
               pbmtomrf, mrftopbm: fix crashes, incorrect output in all
               cases.  Broken forever.
@@ -918,7 +934,7 @@ CHANGE HISTORY
 
               Build: Move LDFLAGS later so that a -L in LDFLAGS doesn't
               interfere with finding the built libnetpbm.  (The common
-              link rule is already this way in 10.44.00; all the other
+              link rule is already this way in Netpbm 10.44.00; all the other
               link rules are now the same).
 
               Build: Rename Makefile.common, Makefile.config, to common.mk,
@@ -964,13 +980,13 @@ CHANGE HISTORY
 
               pamtosvg: remove "needed exchange" debug trace.
 
-              Add pbmminkowski (source code has been in package since 10.12
-              but not documented or built by default).
+              Add pbmminkowski (source code has been in package since Netpbm
+              10.12 but not documented or built by default).
 
               pnmmontage: don't corrupt file names when they contain
               colons.
 
-              pamflip: fix bug: garbage output for PBMs, since 10.42.
+              pamflip: fix bug: garbage output for PBMs, since Netpbm 10.42.
 
               pngtopnm: fix gamma correction.
 
@@ -1013,7 +1029,7 @@ CHANGE HISTORY
               pamtohtmltbl: fix output error: contains holes due to
               uninitialized memory.
 
-              xvminitoppm: fix.  Totally broken since 10.34.
+              xvminitoppm: fix.  Totally broken since Netpbm 10.34.
 
               pnmtopclxl: fix crash with Standard Input input.
 
@@ -1029,7 +1045,7 @@ CHANGE HISTORY
               height, width.
 
               Add back ppmd_fill_init() for backward compatibility;
-              removed in 10.29.
+              removed in Netpbm 10.29.
 
               Build: make it work with Gcc 4.3 and -sse.
 
diff --git a/doc/INSTALL b/doc/INSTALL
index 474b61cf..f8397ca2 100644
--- a/doc/INSTALL
+++ b/doc/INSTALL
@@ -52,6 +52,29 @@ and it will attempt to build whatever it hasn't successfully built
 yet.
 
 
+CHECKING THE BUILD
+------------------
+
+The package comes with a test facility, which you can run after packaging,
+against the package you created.  The typical sequence is
+
+    make
+
+    make package
+
+    make check
+
+    ./installnetpbm
+
+To capture all the messages from "make check" do:
+
+    make check > test.log  2>&1
+
+The test facility was new in Netpbm 10.61 (December 2012).
+
+For further information on the tests read the document TESTS.
+
+
 AUTOMATING THE BUILD
 --------------------
 
diff --git a/doc/TESTS b/doc/TESTS
new file mode 100644
index 00000000..3196a8fb
--- /dev/null
+++ b/doc/TESTS
@@ -0,0 +1,302 @@
+Contents
+========
+
+1. Running the tests
+  1.1 Standard test procedure
+  1.2 Summary report
+  1.3 Prerequisites
+  1.4 Repeatability
+  1.5 Execution time
+  1.6 Testing package in designated directory
+  1.7 Post-install check
+  1.8 Skipping test items
+  1.9 Valgrind
+
+2. Troubleshooting
+  2.1 Missing programs
+  2.2 Broken programs
+  2.3 Color name file
+  2.4 Multiple versions
+  2.5 System dependent issues
+
+3. Reporting test failures
+
+------------------------------------------------------------------------------
+
+1. Running the tests
+====================
+
+1.1 Standard test procedure
+===========================
+
+The recommended method of running the tests is after packaging:
+
+   make
+   make package
+   make check
+
+To capture the output do:
+
+   make check 2>&1 | less
+
+Or:
+
+   make check > check.log  2>&1
+
+
+
+1.2 Summary report
+==================
+
+Like most other test routines, these produce much output.  A summary will
+appear at the end:
+
+  Test summary:
+  ==================
+  SUCCESS 83
+  FAILURE 1
+  TOTAL SUPPORTED 84
+  ==================
+  All tests done.
+  Sat, 08 Jun 2013 09:30:33 +0000
+  make: *** [check] Error 1
+
+
+
+1.3 Prerequisites
+=================
+
+The tests require the Bash command shell.  The script Execute-Tests has some
+expressions unique to bash.  Quite old versions work, at least back to bash
+v. 2.05b.
+
+The tests also use the following utilities:
+
+  - awk 
+  - cat
+  - cmp
+  - egrep
+  - head
+  - mktemp
+  - sed
+  - seq
+  - tee
+
+
+
+1.4 Repeatability
+=================
+
+The current version of the test package produces identical results if you run
+"make check" repeatedly.  The tests contain no random elements; some
+Netpbm programs use randomness internally, but the tests seed their random
+number generators with fixed values so that they too have repeatable results.
+
+
+
+1.5 Execution time
+==================
+
+Currently "make check" takes no more time to execute than "make package",
+and much less than "make".
+
+
+
+1.6 Testing package in designated directory
+===========================================
+
+If you specify the package directory when you do "make package",
+you must do the same with "make check":
+
+   make
+   make package pkgdir=/tmp/package
+   make check pkgdir=/tmp/package
+
+
+
+1.7 Post-install check
+======================
+
+You can run the tests after installation as well as from the package
+directory.  Just set $PBM_TESTPREFIX to the bin directory.  For example, if
+the Netpbm executables are in /usr/local/bin/ do
+
+   PBM_TESTPREFIX=/usr/local/bin make check
+
+If you want to test the executables in the default search path do
+
+   PBM_TESTPREFIX="" make check
+
+If the color dictionary file rgb.txt is in a non-standard location, you must
+set RGBDEF.  If you don't, the tests will report several false positives.
+
+   PBM_TESTPREFIX=/usr/local/bin RGBDEF=/etc/colors/rgb.txt make check
+
+
+
+1.8 Skipping test items
+=======================
+
+The file test/Test-Order is a list of tests which are run.  If you want to
+skip any test, remove the line or comment it out with a "#".
+
+
+
+1.9 Valgrind
+============
+
+You can run the whole test under Valgrind.  This is an advanced feature
+intended for programmers who work on Netpbm code.
+
+To turn on Valgrind, uncomment this line in test/Execute:
+
+# export PBM_TESTPREFIX="valgrind --log-fd=4 "${PBM_TESTPREFIX}
+
+   make check 4> valgrind.log
+
+Note that Valgrind output is directed to file descriptor 4.
+
+Valgrind version 3.5.0 or newer is recommended.  Older versions do
+not report the command that is being executed.
+
+You can add any options for Valgrind should by editing the above mentioned
+line.  To run "valgrind --track-origins=yes", you must make two changes in
+config.mk:
+
+  - Add -g to CFLAGS.
+  - Turn stripping off.
+
+Valgrind significantly increases execution time.  You should consider paring
+down the items in Test-Order.  You probably don't need to run
+"all-in-place.test", which has restrictions in the way errors are reported
+when PBM_TESTPREFIX is not a simple directory path.  Another test
+"pamslice-roundtrip.test" is time-consuming, you may want to skip this one
+too.
+
+
+
+2. Troubleshooting
+==================
+
+2.1 Missing programs
+====================
+
+The first test run, "all-in-place.test" detects missing programs.
+
+If you work around a build glitch with "make --keep-going" you
+will get a few errors here.
+
+A wholesale failure with "all-in-place.test" indicates a systemic
+problem, such as a misconfigured dynamic library or a directory-wide
+permission issue.  This kind of failure is known to happen when N is
+set too high with "make -jN" (overambitious parallel make.) 
+
+The current test routines assume a typical build configuration - they are not
+aware of the actual configuration you chose.  If a choice you make during
+configure causes "make" to skip compilation of certain programs, the test
+routines won't know and will report failures.
+
+For details read 'Netpbm Library Prerequisites':
+http://netpbm.sourceforge.net/prereq.html .
+
+
+
+2.2 Broken programs
+===================
+
+Broken programs will invariably lead to failures.  Certain programs
+(for instance, image generators pbmmake pgmmake) are used in numerous
+test scripts.  Problem in them will lead to multiple failures.
+
+To aid you in this situation each test routine lists the necessary programs
+near the top.
+
+Each test routine comes in two parts, a ".test" file which is a
+shell script and a ".ok" file which denotes its proper output.
+When a test fails, a ".out" file will be produced in the
+/tmp/netpbm-test/ directory.  By comparing ".ok" and ".out" you
+can tell exactly what went wrong.  Often one does not need to
+go this far; the error messages tell enough.
+
+
+
+2.3 Color dictionary file
+=========================
+
+If you get the following error message, it indicates a problem with
+the color dictionary file rgb.txt.
+
+  ppmmake: can't open color names dictionary file from the path '/usr/share/
+  netpbm/rgb.txt:/usr/lib/X11/rgb.txt:/usr/share/X11/rgb.txt:/usr/X11R6/lib/
+  X11/rgb.txt' and Environment variable RGBDEF not set.  Set RGBDEF to the
+  pathname of your rgb.txt file or don't use color names.
+
+This is highly unlikely to occur with "make check" right after packaging,
+but may appear after installation.
+
+To check manually after installation, execute the following and see
+whether the proper output or the error message appears:
+
+   ppmmake red 1 1 -plain
+
+Proper output:
+
+   P3
+   1 1
+   255
+   255 0 0
+
+The simple remedy is properly setting the environment value RGBDEF to
+the location of rgb.txt.
+
+If you want to hardcode the path, modify RGB_DB_PATH in pm_config.h
+and run "make" again.  Note that running "configure" will cause
+pm_config.h to be overwritten; changes by editing will be lost.
+
+
+
+2.4 Multiple versions
+=====================
+
+If multiple versions of Netpbm executables are installed on your
+system, you should do a post-installation check to ensure that
+the newly built version is in place and in working condition.
+
+The test routines can test binaries other than the intended
+target, for example pre-compiled binaries distributed in .rpm
+or .deb format.  If PBM_TESTPREFIX is explicitly set to a directory
+that contains programs from such a source, you should expect multiple
+failures due to missing programs, missing features, etc.  If
+PBM_TEXTPREFIX is set to "" (null), the outcome will depend heavily
+on what version has precedence in PATH.
+
+Netpbm distributed with Debian or Ubuntu is called "Netpbm-Free" and
+is based on a fork which broke off in 2002.  There are many differences.
+Many tests will fail.  However, the test framework itself is valid for
+these distributions.
+
+
+
+2.5 System dependent issues
+===========================
+
+The tests have worked on x86 and x86_64 GNU/Linux systems, with several
+versions of GCC and Clang.  Reports from users of other systems including Mac
+OS, Sun SPARC and BSD and compilers other than GCC are highly welcome.
+
+Floating point math precision seems to be an issue.  Some discrepancies
+have been observed between x86 32 bit and 64 bit; the tests are written to
+work around them as much as possible.  The use of the "--fast-math"
+flag by default may also be a factor.
+
+The current test framework checks whether the random number generator
+is the one from glibc and skips certain tests if a different one is
+detected.
+
+
+3. Reporting test failures
+==========================
+
+When reporting problems with the tests, please give both
+the output of "make check" and the contents of the "netpbm-test"
+directory.
diff --git a/doc/patent_summary b/doc/patent_summary
index 271f227c..324fec0d 100644
--- a/doc/patent_summary
+++ b/doc/patent_summary
@@ -48,12 +48,27 @@ do their JPEG work via a JPEG library not distributed with Netpbm.
 Your JPEG-related liability for using Netpbm is limited to your 
 liability for using your JPEG library.
 
+Note that it is possible to use Ppmtompeg without involving JPEG and to
+build it without the ability to involve JPEG.
+
 The next best alternative to JPEG is probably PNG and maybe JBIG for
 bilevel (black and white) images.
 
 http://burnalljpegs.org contains information on this issue.
 
 
+MPEG patents
+------------
+
+The original University of California distributeion of the Ppmtompeg code
+conatins this statement in a README file:
+
+  ... patents are held by several companies on various aspects of the MPEG
+  video standard.  Companies or individuals who want to develop commercial
+  products that include this code must acquire licenses from these companies.
+  For information on licensing, see Appendix F in the standard.
+
+
 Expired LZW patents
 -------------------