
 Version 2.0-4 27/02/2024

 Added an informative (???) error message to handle the setting
 in which all points lie on a vertical or horizontal straight line
 (whence the rectangular window cannot be inferred from the data).

 Version 2.0-3 06/12/2023

 Added the argument "axes" to plot.tile.list(), to permit the
 suppression of the plotting of axes marked with a numeric scale.
 Argument added at the request of Damon Tutunjia.

 Adjust the help file for plot.tile.list().

 Changed the startup message.

 Also changed the  nickname.

 Version 2.0-2 20/11/2023

 Changed my (the maintainer's) email address to
 rolfturner@posteo.net.  Made this change in the DESCRIPTION file
 and in the help files.  Introduced a macro "\rolf" to go into the
 \author{ } field so that future changes can be effected simply by
 changing the macro.  Version 2.0-2 is now up on CRAN.

 Version 2.0-1 20/11/2023

 Corrected a couple of rather silly bugs (which took an enormous
 amount of time and effort to track down) in trifnd.f90 and stoke.f90.
 Both bugs involved incorrect Fortran 90 if/else syntax.

 Version 2.0-0 20/11/2023

 Converted ratfor code to fortran 90 code (placing the latter
 into the "src" directory).

 Version 1.0-12 23/11/2023

 While debugging the new Fortran 90 based version (see above) of this
 package it became clear that an if/else structure in trifnd.r was
 (although not actually wrong) ill-constructed.  I corrected this
 defect, making the code consistent with the corresponding code
 in trifnd.f90.

 Version 1.0-11 18/11/2023

 Changed insidePoly() so that tolerance can be specified by the used,
 rather than being hardwired to the value sqrt(.Machine$double.eps).
 This necessitated changing the structure of insidePoly.R so as *not*
 to use local().

 Version 1.0-10 17/11/2023

 Corrected a bug in insidePoly(); I had misunderstood the
 sanity check in spatstat.utils::inside.xypolygon(), which issues
 a *warning* if not all entries of "score" are 0 or 1, but describes
 this as being an "internal error".  So I had made insidePoly() throw
 an error in this circumstances; I shouldn't have!  The errors thrown
 are spurious.  I have now changed the error to a warning, and added
 an argument "sanityCheck=FALSE"; the warning is issued only if
 sanityCheck is set to TRUE.

 Also introduced "%~%" (almost equal).  Using this in place of "=="
 seems (???) to do a better job of determining  boundary points
 correctly.

 Thanks to Huimin Wang whose enquiry about inexplicable crashes in
 tileInfo() disclosed the aforementioned bug.`

 Version 1.0-9 17/05/2023

 Got rid of a spurious file tile.list.R that I had saved as a backup
 in the Deldir directory.  Psigh!!!

 Version 1.0-8 30/04/2023

 Added argument "id" to deldir(), allowing the user to specify a
 vector of identifiers/names for points.  Added at the request of
 Jiangyao Chi.

 In view of the foregoing, the identifiers of points need no longer
 be numeric indices, whence some of the terminology in plot.deldir()
 and plot.tile.list() was no longer appropriate.  Consequently:

    * changed name of argument "number" to "labelPts" in
      plot.deldir() and in plot.tile.list().

    * changed name of argument "nex" to "lex" in plot.deldir().

    * changed the name of the 4th component of the argument cmpnt_col
      in plot.deldir() from "num" to "labels".

 Added function getNbrs() to list the Delaunay neighbours of
 each point.  Added at the request of Jiangyao Chi.

 Added functions insidePoly() and insideRect() to determine
 whether points are inside an "interior" region which
 may be specified either as a polygon or a rectangle.  In
 the latter case the interior must be a subset of "rw",
 the rectangular window with respect to which the points
 are being triangulated/tessellated.

 Added the results of a call to getNbrs() to the output of
 tileInfo();  adjusted print.tileInfo() accordingly.

 Fixed a mild glitch in plot.tile.list(); the returned value
 was NULL if clipp was unspecified.  Corrected the help for
 plot.tile.list() which had said that the returned value was
 always null.

 Tidied the code of plot.tile.list() a bit.  Amended the help
 for plot.tile.list().

 Adjusted message in First.R.

 Version 1.0-7 26/12/2021

 The function tileInfo() threw an opaque error if all tiles
 were boundary tiles.  Added an error trap so as to produce
 a more perspicuous error message.  Thanks to Krisztina Konya
 of Ruhr-University Bochum who provided an example illustrating
 the need for this error trap.

 Version 1.0-6 23/10/2021

 Fixed a bug that kept deldir() from working when "x" is a
 point pattern.

 Version 1.0-5 10/10/2021

 Changed the protocol for "digging out" x and y, and
 "digging out" z.  The rule now is: if the specified argument
 is found (located in the global environment, or given explicitly)
 then *use* it!  Only if it is *not* found elsewhere should it be
 sought in the "x" argument.  (This change was implemented after
 Duncan Murdoch convinced me to see the error of my previous ways.)

 Adjusted/corrected the processing of generic lists, as the x
 argument, in deldir()

 Re-wrote the discussion of the argument processing protocol in
 deldir.Rd, so as to make it properly reflect the current behaviour
 of the function.  It is also hoped that the clarity of the
 discussion has been improved.

 Fixed various glitches and typos in the code and the help files.
 
 Version 1.0-4 06/10/2021

 Fixed more bugs in deldir() w.r.t. argument processing, again
 pointed out to me by Duncan Murdoch.

 Fixed a bug in triang.list(); it crashed if there were not
 any actual triangles in the "triangulation"!

 Made an adjustment to plot.triang.list() (added an argument to
 specify a colour for the enclosing rectangle.
 
 Version 1.0-3 06/10/2021

 Fixed bug in deldir() (more explicitly in digOutz()) that
 was pointed out to me by Duncan Murdoch.

 Version 1.0-2 05/10/2021

 Adjusted plot.deldir() so that it no longer insists that cmpnt_lty
 be numeric, but also allows (as it should) the text strings "solid",
 "dashed", "dotted", "dotdash", "longdash", and "twodash".

 Version 1.0-1 30/09/2021

 Modified deldir() so that if argument "x" is a data frame it is
 *NOT* required to have columns named "x" and "y".  If there is no
 column named "x", the x-coordinates are taken to be the *first*
 column named neither "y" nor "z".  Likewise if there is no column
 named "y", the y-coordinates are taken to be the *first* column
 that is named neither "x" nor "z" and is not equal to the column
 previously selected to be the x-coordinates.

 Also modified deldir() so that the "x" argument is allowed to be
 a matrix.  The same convention that was used when "x" is a data
 frame is applied.

 This modification was made in response to an observation made by
 Jakob Bossek and makes use of a suggestion from Duncan Murdoch.

 Version 1.0-0 27/09/2021

 Removed/eliminated all traces of the (basically useless) facility
 for incorporating dummy points into the triangulation/tessellation.
 This facility was a historical artefact that had hung around much
 too long.

 Made an adjustment to plot.tile.list(); it no longer throws an
 error if the border argument is of length greater than 1; it now
 simply uses the first entry.

 29/09/2021

 Ran the *.Rd files through ispell and found and corrected an
 embarrassing number of errors.  Did not increment the version
 number.

 Version 0.2-13 26/09/2021

 Made some adjustments to the syntax of deldir() to accommodate
 problems encountered with finding the "z" argument.

 Changed the position of "z" in the argument list (to follow "x"
 and "y").

 Got rid of the message being issued on the first call, and the
 suppressMessage argument.

 Version 0.2-12 28/05/2021

 Adjusted the application of "\dontrun{...}" in the help files,
 eliminating its unnecessary application in some instances, and
 replacinng it by "\donttest{...}" in one instance.

 Version 0.2-11 12/05/2021

 Changed the terminology in the help and code comments so as to
 refer to the entries of the "z" argument as "tags" and not
 as "weights".  The latter term is misleading.

 Adjusted divchain() so as not to insist that the "z" argument
 be a factor.  It may now be a factor or a vector of any mode.
 If is not a factor then it is coerced into one.

 Added a "tags" component to the list returned by lawSummary().
 (This was instigated by an enquiry from Art Stock.)

 Version 0.2-10 09/02/2021

 Added the cvt() (Centroidal Voronoi Tiles) function at the
 request of Michaél Aupetit.

 Amended deldir() so that the returned object has attributes
 "round" (TRUE if argument "round" was TRUE) and "digits"
 (equal to the value of argument "digits" if "round" is TRUE,
 equal to NA otherwise.)

 Made some adjustments to the help for deldir() and plot.tile.list().

 Changed the name of Vol.Tri.Points to volTriPoints, so as to make
 it more consistent with my usual naming conventions.

 Added the "\version" macro.

 10/02/2021
 Made some adjustments to the help for cvt().

 16/02/2021
 Submitted to CRAN

 Version 0.2-9 16/01/2021

 Fixed (???) a bug in doClip() revealed by reverse-dependent package
 visualFields.  My logic (using almost.match()) was completely out
 to luntch.  Got rid of almost.match() and introduced a new function
 findNewInOld() which I *think* does things right.

 Adjusted tile.list() so that when it clipps tiles it checks for
 the availability of the polyclip package (and throws an error if
 this package is not available).

 Adjusted the help for plot.tile.list(), doing the same
 re-arrangement of plotting colours in one of the examples, as is
 used in the help for tilePerim().  The re-arrangement serves to
 produce better contrasts between contiguous tiles.

 Version 0.2.8 09/01/2021

 Changed the URL in the help for Vol.Tri.Points from

    http://www.gwsdat.net

 (insecure) to

    https://protect-au.mimecast.com/s/demRC91WzLH6qo3TorzN7?domain=gwsdat.net

 (kludgy but secure).

 Corrected a typo in the help for Vol.Tri.Points.

 Version 0.2-7 07/01/2021

 Fixed a problem that the Debian compiler objected to; changed calls,
 in succ.r, to intpr() of the form "... -1,i,1)" to "... -1,ndi,1)"
 where ndi (dummy integer) is an integer array with ndi(1) = i. This
 is to satisfy the idiosynchrasies of the compiler that Debian uses.

 Added the Vol.Tri.Points data set provided by Wayne W. Jones

 Version 0.2-6 05/01/2021

 Fixed bug whereby inadquate memory allocation for the
 adjacency list went undetected.  Problem point out
 by Wayne Jones.

 Version 0.2-5 29/12/2020

 Made adjustments to tile.list() so that the listed tile could
 be clipped by a specified polygon, in the same manner as that
 in which tiles were clipped in the past by plot.tile.list().

 This adjustment was made at the request of Vasileia
 Papathanasopoulous.

 Note that plot.tile.list() retains the capacity to clip the
 tiles, but if the tiles have *already* been clipped by tile.list()
 then an error is thrown.

 Changed the default for the "warn" argment in plot.tile.list()
 from FALSE to TRUE.

 Made the necssary corresponding adjustments to tilePerim()
 so that it can handle clipped tiles.

 Added a "clipp" argument to tileInfo() so that the tiles in
 question can be clipped.

 Amended tileInfo() so that it now includes tile perimeters in
 the information summary produced.

 Adjusted naming conventions slightly so that names are of the
 form "pt.1", "pt.2", ..., rather than "tile.1", "tile.2", ....

 Version 0.2-4 09/11/2020

 Fixed glitches in plot.deldir() --- replaced as.vector() by
 unlist().  If x is a list, as.vector(x) is the same as x!!!
 (A list *is* a vector!!!)

 Version 0.2-3 06/11/2020

 Fixed up glitch in binsrt.R --- was still using "nerror", although
 this argument had been eliminated from the ratfor code in binsrt.r.
 Adjusted init.c appropriately.

 Eliminated redundant variables ntpm (succ.r) and anticl (swap.r).

 Submitted to CRAN 06/11/2020.

 Version 0.2-2 05/11/2020

 Adjusted calls to intpr() in the Ratfor/Fortran, changing
 "... -1,0,0)" to "... -1,ndi,0)" where ndi (dummy integer)
 is an integer array.  This is to satisfy the idiosynchrasies
 of the compiler that Debian uses.

 Tested using rhub, 05/11/2020, with the call:

     check("deldir_0.2-2.tar.gz",platform="debian-gcc-release")

 Tested OK.

 Submitted to CRAN 05/11/2020.

 Version 0.2-1 25/10/2020 --- 31/10/2020
 
 Got rid of the kludgy "nerror" construction in the Fortran/Ratfor
 code and replaced it with appropriate use of calls to the rexit()
 subroutine.  (See Writing R Extensions 6.2.1.)  Since this is a
 fairly major change, I kicked the version number up from 0.1-*
 to 0.2-*.

 Tidied up this ChangeLog!!!

 Changed the procedure for producing messages when storage needs to
 be incremented so that it uses the message() function rather than
 cat().  Whence the user can suppress these messages, if it is so
 desired, by using suppressMessages().  Added comments to this effect
 to the help for deldir.

 Adjusted the "history" of the package in the help for deldir, to
 make it more appropriate to current circumstances.

 Amended the package startup messages.

 Removed the somewhat antiquated initial message that was put out
 by deldir on its initial call.

 Revised the DESCRIPTION to make the package depend on
 R >= 4.0.0.  (Otherwise the calls to labelpr() cause a
 failure to load the package.)

 01/11/2020
 Revised the ratfor code to use intpr() and *not* labelpr(),
 so as not to cause undue hardship to those for whom upgrading
 to R >= 4.0.0 is not under their control.

 Backed off on making deldir depend on R >= 4.0.0.

 02/11/2020
 Added a "nickname" in First.R

 04/11/2020
 Commenced process of submitting to CRAN

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-29 07/09/2020

 Changed the names of arguments "col" and "lty" of plot.deldir()
 to "cmpnt_col" and "cmpnt_lty" so that "col" (in particular) can
 be passed as a "..." argument.

 Restructured these arguments as *named* vectors or lists.

 Re-wrote the help file accordingly.

 Revised the examples for plot.deldir().

 Added an argument "asp" (aspect ratio), defaulting to 1, to
 plot.deldir().  This should have been present all along.  Dunno
 what I was thinking.

 Got rid of the call to par() setting pty="s"; dunno what I thought
 this was accomplishing.  (Probably thought it was doing what setting
 asp=1 actually *is* doing.  Adjusted the code so that one can
 effectively pass pty="s" as a "..." argument, so as to be able
 to reproduce old results *exactly*.

 Changed the "plotit" argument of deldir() to "plot"; the "plotit"
 name was a hangover from the dark ages.  It has not been necessary,
 for decades, to avoid function names as the names of (non-function)
 arguments.

 Uploaded to CRAN 13/09/2020.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-28 15/07/2020

 Removed a browser() call that I'd left lying around in deldir().
 Grrrrrr!!!!

 Uploaded to CRAN 15/07/2020.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-27 15/07/2020

 Fixed a bug in deldir(), w.r.t. the lengths of vectors x and y
 after duplicated points have been eliminated.  (Revealed by
 CRAN having tested an example in the grapherator package,
 which depends on deldir.

 Added a data set "grapherXmpl" which is taken from the example
 in the grapherator package.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-26 14/07/2020

 Fixed a bug in tile.list(); sometimes the edges of the
 tiles could be effectively of zero length, possibly resulting
 in an "invalid" tile.  Added an argment minEdgeLength to
 tile.list() specifying the smallest value that an edge length
 can have.  This defaults to sqrt(.Machine$double.eps) times
 the length of the diagonal of the rectangle.

 Thanks to Kodi Arfer for pointing out this problem.

 Added argument "round" (defaulting to TRUE) to deldir().
 If round==FALSE then rounding is no longer done.

 Added function print.deldir() which prints out a a very brief
 description of an object of class "deldir" as returned by deldir().

 Fixed a bug in deldir; if the points got clipped to a specified
 rectangular window ("rw") then "n", the number of points,` was
 wrong.  Made corresponding adjustments to "ind.orig".
 
===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-25 03/02/2020

 Fixed up error message calls to intpr() which no longer
 work with the gcc 10 compiler.  A call of the form

     call intpr("Point number =",-1,j,1)

 no longer works.  One must do

     tmp(1) = j
     call intpr("Point number =",-1,tmp,1)

 i.e. the penultimate argument has to be a vector.

 Many thanks to Elliott Sales de Andrade for pointing out
 the problem and the fix.

 Uploaded to CRAN 03/02/2020

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-24 01/08/2019

 Added a bit of clarification to the error message "Cannot find
 an enclosing triangle" in the trifnd subroutine.  (Used intpr()
 to print out the number of the point being added.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-23 31/07/2019

 Fixed a bug in storage allocation which arose (only) when the
 storage allocation had to be increased.  Thanks to Frederic Pons
 (of "Service Risques Inondations Littoraux et Hydraulique") who
 provided a data set which revealed the bug (during the course of
 investigating error messages that were generated).

 Improved a couple of error messages produced by subroutines
 circen, qtest1 and trifnd.

 Submitted to CRAN 31/07/2019.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-22 23/06/2019

 Added a "drop=FALSE" argument to the line

     mm <- m[match(theta.0, theta),]

 in tile.list.R, changing it to

     mm <- m[match(theta.0, theta),,drop=FALSE] 

 to guard against an infelicity that *could* (???) arise if
 theta.0 turned out to have length 1.  This was motivated by
 an error message that Vitor Sampaio received when he used
 adaptive.density() in spatstat.  The error went away when
 he re-started R (!!!) but seemed to have been triggered by
 such an infelicity.  I don't *think* theta.0 could ever
 have length 1 in real life, but the "drop=FALSE" doesn't
 hurt.

 Fixed an error in master.r that was introduced in version
 0.1-16 when I fixed the bug in trifnd.r that was pointed out
 by Adam Dadvar.  In adding a line to master.r I inadvertently
 deleted the line "if(nerror>0) return" after the call to the
 "addpt" subroutine.  Consequenty the "madj" parameter/dimension
 did not get incremented when this was called for.  As a result
 (the intricacies of which I have not investigated) a "nerror = 1"
 condition was induced later on.

 Thanks to Peter Bastian for pointing out the problem.

 Adjusted deldir() to throw a "graceful" error if there is only
 one point in the pattern and no dummy points.  Previously this
 situation led to an un-graceful error.  (Previously an error
 was thrown only if there were zero points in the pattern; this
 is insufficiently stringent.)

 Submitted to CRAN 05/07/2019.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-21 15/06/2019

 Fixed yet another screw-up in init.c in src; the specifications
 for "master" were wrong (as a result of the removal of a couple
 of unused arguments from the "master" subroutine).

 Submitted to CRAN 15/06/2019.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-20 12/06/2019

 Fixed several infelicities in the ratfor/fortran code in
 respect of variables being declared or appearing as arguments
 but never being used.

 Removed redundant fexit* files from src; these were generating
 spurious warnings (and should of course have been removed as
 soon as I switched from fexit* to rexit).

 Submitted to CRAN 14/06/2019.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-19 11/06/2019

 Submitted to CRAN 11/06/2019.
 However it was never installed on CRAN due to problems arising
 from redundant fexit* files having been lying around in src.
 (See above.)

 Made substantial revision to the lawSummary function, after
 lengthy email discussions with Kai Xu.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-18 22/02/2019

 Added the function lawSummary (at the request of Kai Xu).

 Changed trifnd.r to call rexit rather than calling fexit
 (which in turn calls fexitc).  The subroutine rexit is (now)
 provided automatically by R.  This change was made at the
 behest of Brian Ripley.

 Documented lawSummary(); revised this function in accordance
 with Kai Xu's suggestions. 04/06/2019.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-17

 Corrected the help file for deldir; removed reference to "vi3"
 (which no longer exists) in the description of the "dirsgs"
 component of the object returned.

 Added in a new function lawSummary() at the request of Kai Xu.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-16 30/12/2018
 
 Added error traps in trifnd.r to avoid going into an infinite
 loop when a certain sort of collinearity problem arises.
 Thanks to Adam Dadvar who drew my attention to the problem
 and provided a data set to illustrate the problem

 Added the data set "niProperties" (kindly provided by Adam
 Dadvar) to illustrate collinearity problems

 Further revised the help page for deldir, giving some explanation
 of the error traps and error numbers.

 Uploaded to CRAN 04/01/2019

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-15 01/04/2018

 Changed the example in triMat.Rd to use the data with which
 Jay Call illustrated the bug in the former (buggy) version
 of triMat().

 Added an "axes" argument to plot.deldir(), defaulting to
 FALSE.  Made xlab and ylab default to "x" and "y" if axes
 is TRUE and to "" if axes is FALSE.

 Modified tile.list() (and the internal function acw() upon which
 it depends) for speed-up, at the suggestion of Jean-Romain Roussel.

 Registered S3 method "[.triang.list" (previously had methods
 plot.deldir, plot.tile.list, plot.triang.list, [.tile.list,
 divchain.default, divchain.deldir, plot.divchain and print.tileInfo
 registered, but "[.triang.list" had been omitted.

 Uploaded to CRAN 01/04/2018

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-14 20/03/2017

 Corrected a mild infelicity in respect of the rownames
 of the "summary" component of the object returned by deldir.
 Made a corresponding adjustment to tile.list.R (triang.list.R
 was already OK) and tidied up the help files.

 Added a "..." argument to plot.tile.list() (to be passed
 on to points() and/or text()).

 Added function tileInfo to summarise information about tiles,
 at the request of John Bothwell.

 Added a facility to plot.tile.list() to append the point
 *numbers* to the plot, with a reasonably minimal amount
 of effort.

 Added a print method to objects of class "tileInfo".

 Made some corrections and amendments to the help files 
 tile.list.Rd and plot.tile.list.Rd.

 Wrote help files for tileInfo() and print.tileInfo().

 Made a minor adjustment to tileInfo(), making the "indivTiles"
 component of the returned value into a *named* list (with
 names of the form "tile.ptNum").

 Adjusted the help file for tileInfo() accordingly.

 Rewrote triMat() after a bug in it was pointed out to me
 by Jay Call.

 Uploaded to CRAN 22/04/2017

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-13 21/07/2016.

 Corrected the rownames of the "summary" component of the
 object returned by deldir().  Previously these were the indices
 of the points in their bin-sorted order; when "allsum" gets
 sorted back into the order of the original points the rownames
 were retained, in their sorted order.  This made them look
 anomalous.  Thanks to Pablo Araya-Melo for pointing out this

 Added the function which.tile() at the request of "RAY".

 Documented the function which.tile() --- !!!
 problem.
 
===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-12 05/03/2016

 Changed the "binsrt" procedure back to using Fortran/Ratfor
 code but with the code being called directly by .Fortran(),
 outside of the .Fortran() call to "master".

 Adjusted the code in binsrt.r to calculate "rind" as well as
 "ind".

 Uploaded to CRAN 06/03/2016.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-11 04/03/2016.

 Changed deldir to do "binsrt" in R code rather than Fortran/Ratfor.
 Thus we now get the Fortran code to work just with the re-ordered
 data as if they were the original data, and then adjust the
 order after the return from the Fortran call.

 Changed the code of deldir so that the data frame "dirsgs"
 in the returned list has two new columns "thirdv1" and "thirdv2"
 which along with "ind1" and "ind2" serve to provide unique
 identifiers for the endpoints of the tile edges.

 The code of deldir now explicitly recognises if the argument "x"
 is of class "ppp" (i.e. is a spatstat planar point pattern) and
 if "x" is marked and the marks are a vector or a factor and if "z"
 is NULL, then it sets z equal to the marks.

 Added function divchain() (generic), divchain.default() and
 divchain.deldir() to calculate the dividing chain for a tesslation
 that has been provided with a vector of categorical "weights".

 Also added a plot method plot.divchain() to plot dividing chains.

 Fixed the "rw" argument to accept a couple of forms other than
 c(xmin,xmax,ymin,ymax).  Explicitly a spatstat "owin" object and
 a matrix such as determines a bounding box for a set of polygons
 in the "sp" package. (Suggestion of Michael Chirico, 23,24/09/2015.)

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-10 10/03/2015.

 Amended the examples in deldir.Rd to alleviate a possible point
 of confusion pointed out by Samuel Ackerman.

 Fixed some typos in deldir.Rd, duplicated.Rd, plot.tile.list.Rd
 and plot.triang.list.Rd.

 Added "point type" ("data" or "dummy") information to the lists
 produced by tile.list() and triang.list().  (This information is
 present only if there are dummy points specified in the call to
 deldir().

 Fixed a few more glitches in the documentation.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-9 09/03/2015.

 Removed period from end of title in the DESCRIPTION file.

 Changed NAMESPACE file to "register" S3 methods.

 Removed "require("polyclip") in plot.tile.list() and
 change code to use:
     if(requireNamespace("polyclip",quietly=TRUE)) ....
 instead.

 Changed URL from http://www.stat.auckland.ac.nz to
 https://www.stat.auckland.ac.nz in help files and in
 the DESCRIPTION file.

 The 4 foregoing changes made at the behest of Uwe Ligges.

 Uploaded to CRAN 09/03/2015.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-8 09/03/2015.

 Added a "[.tile.list" method so that tile lists can be
 subsetted and still retain their class and "rw" attribute.
 Prompted by an enquiry to R-help from Raphael Päbst, 15/01/2015.

 Added a component "ind.orig" to the object returned by deldir().
 This consists of the indices of the points in the original set
 of (x,y) coordinates provided to the function (before any duplicated
 points were removed).  Prompted by an enquiry from Daniel
 McCloy 29/12/14. He wanted the triangle descriptions produced
 by triang.list() to show these original indices --- as the help
 file claims they show --- rather than the indices in the set of
 coordinates after the removal of duplicates.

 Changed triang.list() to make use of the "original coordinates"
 referred to above.

 Revised plot.triang.list() so that it actually tries to plot
 the (x,y) coordinates of the triangle vertices rather than trying
 to use (ptNum,x) (!!!) as it previously did.  The problem was
 caused by xy.coords(tri) using the first two columns of "tri" as
 the (x,y) coordinates rather than the columns named "x" and "y".
 I'm ***sure*** that plot.triang.list() *used* to work, i.e. that
 the columns named "x" and "y" were extracted.  (If "tri" were a
 list, then components named "x" and "y" would be extracted, and
 since data frames are lists with components equal to the columns,
 I would have expected this to work, but it doesn't.  Moreover the
 help for xy.coords() clearly says that it doesn't.  Go figure.)
 Prompted by an enquiry from Yinghui Liu, 09/03/2015.

 Uploaded to CRAN 09/03/2015.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-7 26/08/2014.

 Fixed bug with respect to the z "weights"; if there were duplicated
 points, there was a mismatch of numbers between the z "weights"
 and the unique collection of points that deldir() works with.
 Fixed.  Thanks to Ron Peterson for drawing this bug to my attention.

 Changed the procedure for issuing a message from the initial
 invocation of deldir() so that it no longer uses cat() but rather
 calls message().  Requested by Bob O'Hara.

 Added some material to the description of the "z" argument to deldir()
 to make it clear that these weights do not affect the tessellation and
 that deldir does *not* do weighted tessellation.  (Prompted by an
 enquiry from Garry Gelade.)

 Uploaded to CRAN 26/11/2014

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-6 18/05/2014.

 Corrected the ratfor code dirseg.r and dirout.r.  A rarely occuring
 bug was possible due to the way the code was previously written.
 The code made use of the ray joining a circumcentre to the
 midpoint of an edge of a Delaunay triangle.  It is *possible* for
 the circumcentre and that midpoint to coincide.  In such a case
 Fortran seemed to calculate the slope of the ray (zero over zero)
 to be equal to one.  The result was wrong of course and an error
 with number nerror = 17 was (fortunately!) thrown.  In retrospect
 it is "obvious" that the ray should have been taken to join the two
 circumcentres on opposite sides of the Delaunay edge.  But since
 these two circumcentres could conceivably coincide it is better
 to take the slope of the ray to be the negative reciprocal of the
 slope of the Delaunay edge.  The code now uses this slope.

 Thanks to Pierre Legendre for drawing this bug to my attention.

 Slight adjustment to plot.tile.list.R (so that when verbose=TRUE
 and showpoints=TRUE, the points get plotted "at the right time"
 rather than when the *next* tile gets plotted).

 Slight adjustment made to plot.tile.list.Rd

 Uploaded to CRAN 03/08/2014

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-5 02/02/2014

 In the help for plot.tile.list() the call to this function that
 made use of the "clipp" argument has been wrapped in
   if(require(polyclip)) {
       ...
   }
 so as to avoid errors when the deldir package is used by older
 versions of R which do not provide the polyclip package.
 (Change made at the behest of Uwe Ligges.)

 Uploaded to CRAN 02/02/2014

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-4 31/01/2014
 
 Fixed up an error in the handling of "x" and "y" coordinates
 and the "z" weights as columns of a data frame.  The code asked
 for a third column of the data frame, and there might not be one.
 Error caught by the CRAN people when the ade4 package threw an
 error upon calling deldir.

 Changed the protocol so that:
   * the x coordinates are the column named "x" if there is one
     else the first column *not* named "y" or "z"
   * the y coordinates are the column named "y" if there is one
     else the first column *not* named "x" or "z"
   * the z weights are the column named "z" if there is one *and*
     if the z argument is NULL (else the z weights are left to be
     NULL.
 Uploaded to CRAN 31/01/2014

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-3 28/01/2014

 Fixed up references to my web page to refer to my
 New Zealand web page.

 Adjusted code to allow the x argument of deldir() to be
 a data frame whose names do *not* necessarily include "x",
 "y", and "z".  In this case the x coordinates are taken to
 be the first column of the data frame, the y coordinates to
 be the second column, and z to be the third column if that
 column exists.

 Uploaded to CRAN 30/01/2014

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-2 01/10/2013.

 Adjusted the behaviour of the function plot.tile.list()
 when verbose=TRUE, very slightly.

 Removed the use.gpclib argument to plot.tile.list()
 (in accordance with the new behaviour of spatstat).

 Uploaded to CRAN 01/10/2013.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.1-1 02/10/2013

 Revised the function "plot.tile.list", changing the behaviour of
 the colouring of tiles and added the argument "clipwin".
 Request of Chris Triggs.

 Added the internal function "getCol".
 
 Added the arguments "border", "clipwin" and "warn", and eliminated
 the (redundant) argument "showrect".

 Added the function "tilePerim" and the internal function
 "tilePerim0".  Request of Haozhe Zhang.

 Uploaded to CRAN 02/10/2013

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-22 17/04/2013

  Fixed the dimensioning of delsgs, dirsgs, and ind in
  delsegs.r and dirsegs.r.  Had used a "1" as the last
  dimension and this now throws a "subscript out of range"
  warning from the compiler.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-21 12/10/2012

  Fixed glitch w.r.t. the z-argument of deldir() --- if
  "x" was a list with "x" and "y" components, and if "z"
  was supplied as a separate argument, then "z" got ignored.

  Added a "point number" component to the list produced for
  each Delaunay triangle by triang.list().

  Added the function duplicatedxy() to determine duplicated
  points, to make it convenient for the user to eliminate
  duplicates from a point set before calling deldir().
  Done at the request of Adrian Baddeley.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-20 07/09/2012

 Removed the elaborate startup message referring to changes
 from previous versions of "deldir".  Replaced this with
 message produced by deldir() itself, the first time that
 it is called in any given session.  Added an argument
 "suppressMsge" to deldir() allowing the user to keep this
 message from appearing.
  Done at the request of Adrian Baddeley.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-19 23/04/2012

 Added warnings in respect of change of "summary" and "delsgs"
 from matrices to data frames.

 Corrected spelling of "auxiliary" in various places.

 Fixed up the "see also"-s in tile.list() and plot.tile.list().

 Fixed a typo in the help for plot.tile.list().

 Fixed up the "see also" in the help for deldir().

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-18 21/04/2012

 At the suggestion of Simon Greener, added the capacity to carry
 along "auxilliary" variables or "weights" associated with the
 points being triangulated.

 If supplied these weights appear as a third column of the
 data frames specifying the triangles in the triangulation,
 as produced by the function triang.list().

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-17 03/04/2012

 Added the function triMat() at the suggestion of
 Robin Hankin.

 Fixed a glitch in the documentation of deldir()
 (in the Warning section).

 Tweaked the documentation of plot.tile.list(), plot.triang.list(),
 and tile.list().

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-16 04/11/2011

 Fixed some minor errors in the documentation.

 Added a namespace.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-15 12/08/2011

 Fixed a bug in triang.list(); occasionally triangles would
 appear in this list which were *not* Delaunay triangles but
 rather the union of three congtiguous such triangles.  This
 now no longer happens.

 Fixed some minor infelicities in the Fortran (ratfor) code.

 Removed switch() statements from the ratfor code (and replaced
 them with a sequence of if's).  It appears that the ratfor
 compiler that is currently available to me does not handle
 switch statements properly.  The resulting Fortran code
 compiled and loaded but led to errors when run.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-14 22/06/2011

 Put the startup messages into packageStartupMessage()
 rather than catting them.  At the request of Thierry Onkelinx.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-13 29/11/2010

 Renamed the directory inst/ratfor.discarded inst/code.discarded
 and moved the no-longer-used function ind.dup to that directory.

 Added a facility to plot.deldir() to plot the enclosing rectangle "rw".

 Added the same facility to plot.tile.list().

 Added attribute "rw" to the object returned by tile.list() so that
 the foregoing facility can work.

 Added function triang.list().

 Added function plot.triang.list().

 Added arguments add, xlab, ylab, main, and asp to plot.tile.list().

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-12 08/01/2009

 Fixed a minor glitch in the .First.lib() function.  I had
 a backspace coded into the message produced, and this upset
 Sweave.  The backspace had been put in to get things to line
 up correctly.  Re-arranged things (properly!) so that it is
 no longer needed.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-11 09/12/2009

 No change, really.  A tweak that I made to the First() function
 in version 0.0-10, *without* changing the version number (psigh!)
 did not propagate to the Windoze and Mac OSX binaries.

 So version 0.0-11 is just the same as the tweaked realization of
 of version 0.0-10 but with the version number changed so that the
 tweak will propagate.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-10 16/11/2009

 Got rid of the call to ind.dup() which used a very rough
 bit of Fortran code to detect duplicated points, and
 replaced it with a call to duplicated().

 (Bug pointed out by Bjarke Christensen.)

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-9 4/11/2009

 Added a new function tile.centroids() --- which does the obvious.
 Motivated by an inquiry from Leandro Moreira.

 Added a ChangeLog

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-8 4/04/2009

 Removed the labels from the x and y vectors in the tile descriptions
 produced by tile.list.  These labels (which were the row numbers in
 the dirsgs data frame returned by deldir()) served no useful purpose
 and were potentially confusing.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Versions 0.0-2 through 0.0-7 were not tracked here. :-( Simply forgot
 about doing this.  I thoroughly *intend* [ :-) ] to get the archives
 from CRAN and try to document the changes.  Recent ones involved
 fixing bugs in and adding features to the tile.list() and
 plot.tile.list() functions.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version 0.0-1 21/02/2002

 This version is simply an adaptation of the Splus version
 of the package to R.


==============================================================================
The following items relate to the Splus versions of deldir
==============================================================================

 Version date: 14 February 2002.
 This version supercedes the version dated 24 April 1999.

 The changes from the version dated 24 April 1999 to the
 version dated 14 February 2002 were:

	A bug in the procedure for eliminating duplicated points was
	fixed.  Thanks go to Dr. Berwin Turlach of the Department of
	Maths and Stats at the University of Western Australia, for
	spotting this bug.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version date: 24 April 1999.
 This version supercedes the version dated 26 October 1998.

 The changes from the version dated 26 October 1998 to the
 version dated 24 April 1999 were:

	(1) The function mipd(), stored in mipd.sf, and the
	corresponding Fortran subroutine mipd, stored in mipd.r, have
	been replaced by mnnd() in mnnd.sf and mnnd in mnnd.r.  The
	function mipd calculated the mean interpoint distance, to be
	used in constructing dummy point structures of a certain
	type.  After some reflection it became apparent that the mean
	interpoint distance was much too large for the intended
	purpose, and that a more appropriate value was the ``mean
	nearest neighbour distance'' which is calculated by the new
	function.  This new value is now used in constructing dummy
	point structures.

	Note that the operative result is that the resulting dummy
	point structures contain many more points than before.  The
	old value caused large numbers of the dummy points to fall
	outside the data window and therefore to be clipped.

===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===+===

 Version date: 26 October 1998.
 This version supercedes the version dated 6 December 1996.

 The changes from the version dated 6 December 1996 to the
 version dated 26 October 1998 were:

	(1) A ratfor/Fortran routine named ``inside'' has been
	renamed ``dldins'' to avoid conflict with a name built in to
	some versions of Splus.

	(2) Some minor corrections have been made to dangerous
	infelicities in a piece of the ratfor/Fortran code.

	(3) The dynamic loading procedure has been changed to use
	dyn.load.shared so that the package is easily usable on
	IRIX systems as well as under SunOS/Solaris.

	(4) The package has been adjusted slightly so that it
	can easily be installed as a section of a library.  In
	particular, the dynamic loading is now done by the
	.First.lib() function rather than from within deldir()
	itself; reference to an environment variable DYN_LOAD_LIB
	is no longer needed.
