System Notes File for IRAF Version 2.12.
Begun with V2.12 code freeze 02 May 2002.
-------------------------------------------

unix/hlib/motd
unix/hlib/zzsetenv.def
	Changed system version to V2.12.1-DEVELOP.  (5/19/2002)

unix/hlib/install
	Updated the script with several bug fixes found since the initial
	V2.12 release.  These fix problems with tapecap configuration and
	the use of "which" in determining paths.  (6/12/02, MJF)

pkg/images/tv/display/t_display.x
	Removed an unused extern declaration for ds_errfcn() which was
	causing a link failure on the alpha (6/12/02, MJF)

pkg/images/immatch/src/imcombine/src/xtimmap.gx
	The size of image header data structures was computed incorrectly
	resulting in the potential for segmenation violations.  (6/14/02,
	Valdes)

pkg/images/immatch/src/imcombine/src/icsetout.x
	Needed to disable axis mapping to handle cases where the input
	images are dimensionally reduced.  (6/14/02, Valdes)

unix/gdev/sgidev/sgi2uapl.c
unix/gdev/sgidev/sgi2uhpgl.c
unix/gdev/sgidev/sgi2uimp.c
unix/gdev/sgidev/sgi2uqms.c
	Converted some 'sgi' variables to 'sgip' to workaround pre-processor
	name collisions on the SGI.  This has always been needed on the SGI
	system for updates, just moving this into the master system so it's
	not forgotten in later updates (6/17/02, MJF)

maskexpr/peregfuncs.x
        Fixed various min / max data type mismatch problems. (06/19/02, Davis)

pkg/images/immatch/src/xregister/t_xregister.x
pkg/images/immatch/src/xregister/rgxicorr.x
        If the xregister task parameter interactive = yes and the output images
        are defined then the computed shifts are not applied. This occurs
	because the reinitialization routine triggered by the 'n' keystroke
	command is in the wrong place. The work around is to run xregister
	twice, once interactively to compute the shifts, and again
	non-interactively to apply them. (6/20/02, Davis)

pkg/system/doc/allocate.hlp
pkg/system/doc/devstatus.hlp
pkg/system/doc/deallocate.hlp
	Clarified the dev$devices and dev$tapecap files. (7/9/02, MJF)

pkg/cl/exec.c
	Removed an extra argument to an eprintf() call. (7/9/02, MJF)

dev/imtoolrc
dev/graphcap
	Added a 2048x2500 frame buffer called 'imt50' or 'imtwttm' for
	the WIYN Tip-Tilt. (7/9/02, MJF)

sys/imio/iki/fxf/fxfopix.x
        fxf_mandatory_cards(). We want to keep BSCALE and BZERO
        in case we are editing the values. This is only valid for
        access mode READ_WRITE. (7/9/02, Zarate)

sys/imio/iki/fxf/fxfrfits.x
        Load FIT_EXTEND value from cache header entry to 
        the current fit struct entry. It used to be the other way
        around wich was a bug. (7/9/02, Zarate)

        Uncomment the reload code (~line 137) if the cache if younger
        than 2 seconds.(7/9/02, Zarate)

sys/imio/iki/fxf/fxfupdhdr.x
        Fix the code to update the value of the keyword EXTEND.
        fxf_update_extend(). Add code to update the FIT_EXTEND entry
        when the header keyword have been changed to T. (7/9/02, Zarate)

pkg/cl/cl.par
unix/hlib/motd
unix/hlib/login.cl
unix/hlib/zzsetenv.def
	Changed the cl.version and cl.logver to "IRAF V2.12.1 July 2002"
	and updated the motd for the patch release (7/12/02, MJF)

unix/hlib/install
	Several last-minute bug fixes for the Alpha.  Also made the query
	for an iraf user a bit smarter.  (7/12/02, MJF)

local/login.cl
	The logver set in this file was never updated (7/12/02, MJF)

lib/scr/xgterm.gui
lib/scr/xgterm.gui 		[pcix]
	Changed the default application name/class to 'irafterm' and
	'IRAFterm' respectively.  On MacOSX the earlier value 'xgterm'
	was conflicting with the app-defaults file due to the case-
	insensitive filesystem.  Since the filename is the same the
	guidir environment variable can still be used to substitute the
	GUI itself.  (7/13/02, MJF)

----------------------------------------
V2.12.1 patch generated.  (7/13/02, MJF)

pkg/cl/cl.par
unix/hlib/motd
unix/hlib/login.cl
unix/hlib/zzsetenv.def
	Changed system version to V2.12.2-DEVELOP.  (7/28/02, MJF)

dev/hosts
	Added new NDWFS linux box 'bonza' (8/8/02, MJF)

pkg/dataio/export/exraster.gx
pkg/dataio/export/bltins/exppm.x
    	There was a bug in the generation of PPM files when using images with
    	and odd number of columns causing the line to be too long by one byte.
    	The output image will now truncate the last column to avoid this since
    	we cannot write byte data. (8/9/02, MJF)

os/zgmtco.c
os/zgmtco.c 			[pcix]
        This routine fails to return the number of seconds of correction
        from LST to GMT. The error is 1 hour due to not considering the
        daylight saving time for those times zones that do have it. This
        problem affected the new routines in etc$dtmcnv.x given an
        incorrect value for the hour time in DATE value of a FITS header.
        The fix was to call localtime() with value time(0) and look 
        at the tm_isdst flag value. If dst is in effect we substract 
        1hour in seconds. (8/19/02, NZ)

pkg/images/tv/display/dspmmap.x
	The matched mask was incorrectly returning the input mask when the
	scale and offset matched but not the size.  (9/10/02, Valdes)

os/zgmtco.c
	Had to add an #ifdef SUNOS to include <time.h> for sparc (9/10/02, MJF)

pkg/images/tv/display/dspmmap.x
	A common case of matching a mask to an image is where the pixel sizes
	are the same but there are offsets and/or different sizes.  An optimized
	mask matching based on using range lists and not calling mwcs was
	added.  (9/12/02, Valdes)

pkg/images/imgeom/src/t_imshift.x
	An incorrect shift of one pixel would appear when the specified shift
	was near zero and less than the precision of a real; i.e. yshift=1e-9.
	The code was changed to use double precision as appropriate.
	(9/12/02, Valdes)

pkg/plot/t_pradprof.x
pkg/plot/doc/pradprof.hlp
	Added parameters "az1" and "az2" to select a range of azimuths for
	the profile.  (9/13/02, Valdes)

sys/plio/pll2r.gx
	These routines decode the internal pl line format to a range list
	format.  The decoding involves interpreting the various opcodes in
	the pl line format.  One of these opcodes, I_PN, says to output N-1
	zero values followed by a data value.  However, if the requested
	region cuts through the segment the conversion to a range list would
	go wrong and output all data values. Fixed the bug (9/18/02, Valdes)

sys/plio/plp2l.gx
sys/plio/plr2l.gx
	If a segment of 4095 zeros followed by a single high value was
	encountered the encoding would attempt to set the data value
	to 4096 which overflows the data value segment of the encoding.
	(9/26/02, Valdes)

pkg/dataio/import/ipproc.gx
    	An operand pointer was possibly being freed twice, once in the
	ip_wrline() procedure and again in the evvfree() call when processing
	completed.  This could cause a segfault on some system (9/27/02, MJF)

unix/hlib/libc/libc.h		[+pcix]
unix/hlib/libc/setjmp.h		[+pcix]
unix/hlib/libc/stdio.h		[+pcix]
unix/hlib/libc/varargs.h	[+pcix]
	Recent GCC compiler changes changed the way in which include files
	were loaded depending on whether they were declared with quotes or
	angle brackets.  These files were changed to use the quote syntax
	for e.g. '#include "stdio.h"' to guarantee the hlib$libc version of
	the file was used as intented.  (10/10/02, MJF)

unix/os/zfiond.c		[pcix]
	Added a new 'nodelay' protocol flag to return an error when reading
	a connection with no data or writing to a closed server connection.
	This allows applications tasks to essentially poll a network 
	connection and respond only when data is available.
	(10/10/02, Valdes/MJF)

pkg/system/help/xhelp/xhdir.x
	Modified how the file list was contructed to work around a limitation
	of sprintf/pargstr for long directory listings.  (10/23/02, MJF)

dev/hosts
	Added azure.kpno.noao.edu (ssun) (10/28/02, MJF)

sys/imio/iki/fxf/fxfupdhdr.x
	A call to imputb() was improperly passing an integer value on line
	747, wrapped the value in itob().  (11/4/02, MJF)

imio$iki/fxf/fxfopix.x
        add fxf_not_incache routine to reload the current file in the cache.
        An active cache can have the consequence that the file entry is
        cleared to make room for another file. (11/4/02, NZ)

imio$iki/fxf/fxfopen.x
        when openning and image READ_WRITE we need to discard some
        keywords that are not compatible with the FK. Is an image
        is openned correctly then it shloud not have the keyword
        GROUPS. (11/4/02, NZ)

imio$iki/fxf/fxfexpandh.x      
        A new argument is needed to pass the number of blocks to
        expand. (11/4/02, NZ)
 
imio$iki/fxf/fxfupdhdr.x
        add new argument to routine fxf_expandh().
        Add fxf_not_incache(). See fxfopix note above. (11/4/02, NZ)

math/curfit/cvinit.gx
	If one of the error checks caused an error return the cv pointer
	would have been allocated (cv != NULL) but some of the pointer
	fields could have garbage values since a malloc was used instead
	of a calloc.  A later call to cvfree could result in a segmentation
	error.  This was changed so that 1) a null cv pointer is returned
	in the initial error checks cause an error return and 2) the
	cv pointer is initially allocated with calloc so that no pointer
	fields will be non-NULL until explicitly set.
	(11/18/02, Valdes)

pkg/xtools/icfit/icdosetup.gx
	When there is only one sample range that is binned to a single
	point this would result in the fitting limits (as introduced
	8/11/00) being equal.  This causes cvinit to return an error and
	the cv pointer is invald.   The change is if the number of binned
	fitting points is 1 then the full range of the unbinned data is
	used.  Note that a change was also made on this date to have cvinit
	return a null pointer rather than a partially initialized pointer.
	(11/18/02, Valdes)

pkg/proto/ringavg.cl		+
pkg/proto/doc/ringavg.hlp	+
pkg/proto/proto.cl
pkg/proto/proto.men
pkg/proto/proto.hd
	Added a script task to compute pixel averages in concentric rings.
	(11/25/02, Valdes)

sys/imio/iki/fxf/fxfrfits.x
        Added code to reload IM_CTIME and FIT_MTIME values from the fstat()
	when they are zero. This condition can occur when the keyword
	IRAF-TLM is not present in the header. (1/16/03, Zarate)

sys/imio/db/impstr.x
        Replaced this routine with a version that takes care of updating
	keywords with a free format.  Fixes a bug reported by ST where HEDIT
	wouldn't properly handle the comment if it came before column 30
	in the card. (1/16/03, Zarate/Valdes)

sys/imio/iki/fxf/fxfrfits.x
        Modified code to reallocate memory when a BINARY table is read.  
	If FIT_TFIELDS is greater than zero more memory is needed hence the
	realloc is there now.  This fix takes care of the bug reported by
	jturner@gemini with their package running under rhux.  (1/16/03,
	Zarate)

unix/reboot
unix/reboot 			[pcix]
	Changed the warning message about a NOVOS build to check HSI_CF
	where it's defined (1/24/03, MJF)

pkg/images/tv/imexamine/iegnfr.x
	The test for the number of frames needed to check imd_wcsver to avoid
	trying to use more than four frames with DS9.  (1/24/03, Valdes)

pkg/images/tv/imexamine/t_imexam.x
	Added some missing braces so that if a display is not used it doesn't
	check for the number of frames to use.  This is only cosmetic at this
	time.  (1/24/03, Valdes)

sys/imio/iki/fxf/fxfplread.x
sys/imio/iki/fxf/fxfplwrite.x
	To comply with the FITS Compressed Image schema in FITS Bintable
	the offset value that is store in the BINTABLE data as the
	second long word needs to be in byte units (byte-offset).
	This fix will turn FK internal char-offset to byte-offset and 
	viceversa. (01/24/03, Zarate)

unix/boot/spp/rpp/ratlibc/getarg.c
unix/boot/spp/rpp/ratlibc/getarg.c [pcix]
	Fixed a potentional overflow bug where the EOS could be appended
	after 'maxsiz' characters in the string.  Changed the loop to go
	up only to 'maxsiz-1' to leave room for the EOS.  (1/27/03, MJF)

lib/imio.h
	The size of IM_VOFF was not sufficient to handle all 7 dimensions
	leading to errors when using more than 5-D images.  Changed the
	offset of IM_VSTEP to accomodate (4/6/03, Zarate/MJF)

dev/termcap
dev/graphcap
	Added a dozen or so printers around NOAO which weren't accessible
	(4/7/03, MJF)

unix/os/zfioks.c
unix/os/zfioks.c 		[pcix]
	The iraf kernel server code wasn't properly waiting for child 
	processes to exit when the parent quit leading to defunct processes
	laying around.  Added a wait() call to clean up the children.
	Also move the debug code to the top of the routine so it can
	be used to debug the connection and added intializations for
	the ZOPNKS arrays so they print properly in the debug output.
	(4/22/03  MJF)

pkg/language/doc/scan.hlp
	Added a definition for 'fscanf' to the .help declaration (5/6/03, MJF)

pkg/language/language.hd
pkg/language/doc/scan.hlp
	Added entries for 'nscan' help page (5/7/03, MJF)

sys/libc/cgetuid.c
	Fixed a number of problems with the procedure: 1) Added a "char *"
	declaration for the procedure  2) Added type declarations for the
	function arguments which were missing, 3) fixed an invalid reference
	to c_stupak() in the return, changed to c_strpak() so pack the user
	name correctly.  (5/7/03, MJF)

sys/gio/sgikern/font.com
sys/gio/sgikern/greek.com
	Updated the sgikern font tables to include a missing 'gamma' in
	the greek character set and to fix a spacing problem in the roman
	font.  (5/21/03, MJF)

sys/gio/fonts/			+
	Added a new 'fonts' subdirectory containing the data and programs
	used to create the font tables in case things like this need to be
	fixed in the future.  See the README for details.  (5/21/03, MJF)

unix/os/zxwhen.c		[pcix]
	Interrupts were broken under OS X 10.2 due to changes in the signal
	handling.  Modified sigset() to define the flags required to get the
	signal passed properly by defining the (SA_NODEFER|SA_SIGINFO) flags.
	Changes are backwards compatible so source will still compile under
	10.1.  (6/23/03, MJF)
	
unix/hlib/irafuser.csh		[pcix]
	Added a check for the OS X version to set '-DOLD_MACOSX' on the
	HSI_CF flags.  Needed for the above signal compatability fix
	(6/23/03, MJF)

dev/graphcap
	Modified the psi_def XO/YO values to 0.001 so the plot won't shift
	off the page (6/23/03, MJF)

unix/os/gmttolst.c		[pcix]
	The OS X code was incorrectly calling gmtime() to get the timezone
	offset.  This function returns the time adjusted for GMT and so the
	timezone was always zero leading to an incorrect time() function in
	the CL.  Replaced with a localtime() call which sets the timezone
	properly.  (7/1/03, MJF)

unix/os/mkpkg
unix/os/zfutim.c		+
unix/hlib/knet.h
unix/hlib/libc/knames.h
unix/os/mkpkg		 	 [pcix]
unix/os/zfutim.c		+[pcix]
unix/hlib/knet.h		 [pcix]
unix/hlib/libc/knames.h		 [pcix]
	Added a new ZFUTIM() HSI routine on top of the system utime() call
	for updating file access/modification times.  This procedure and the
	VOS tasks which use it are required by the FXF kernel as a means of
	touching the file modify times to indicate that an image needs to be
	reloaded.  Since there is no communication between different processes
	each having their own FITS header cache we have only the file info
	structures available (at the moment).  Modern systems are fast enough
	now that the one-second granularity of the finfo() call is no longer
	sufficient to indicate a file modification so we need a way to artif-
	icially "age" a file to force a reload.  (7/7/03, MJF)

sys/fio/mkpkg
sys/fio/futime.x		+
sys/fio/zzdebug.x
	Installed new VOS futime() function to reset file modifcation time.
	Function prototype is

		int futime (char *fname, long atime, long mtime)

	Time arguments are assumed to be in units of seconds from midnight on
	Jan 1, 1980, local standard time.  A file may be "touched" to update
	it's modify time to the current clock time using the CLKTIME function
	with a call such as

        	stat = futime (fname, NULL, clktime(0))

	Remote files are handled via the KI interface automatically.  Also
	installed a test procedure for the routine in zzdebug.x (7/7/03, MJF)

sys/ki/mkpkg
sys/ki/ki.h
sys/ki/kfutim.x			+
	Install KI wrapper routine for the new futime() VOS function.  We need
	to include this function in the KI to touch remote files.  NOTE: the
	routine uses a new opcode KI_ZFUTIM with a previously unused value so
	programs which use futime() should be prepared to catch an error return
	when talking with older versions of the KI.  (7/7/03, MJF)

lib/syserr.h
lib/syserrmsg
	Created a new SYS_FUTIME error message for futime() function
	indicating the times couldn't be reset. (7/7/03, MJF)

pkg/immatch/src/imcombine/src/generic/icstat.x
	Fixed an incorrect declaration for asumd() (7/8/03, MJF)

pkg/images/imgeom/src/t_imshift.x
	Fixed and incorrect declaration for clgetd() (7/8/03, MJF)

dev/hosts
	Added new ssun machine 'tarat'. (7/11/03, MJF)

pkg/cl/gram.c
	Conversion of sexagesimal numbers such as "=89:59:59.99" was producing
	incorrect results due to round-off garbage in the seconds value when
	parsing the string with a scanf() call.  Retained the scanf parse
	to allow for continued checking of bad values, but returned the
	converted sexagesimal number using the libc atof() routine. (7/31/03,
	MJF)

sys/imio/iki/fxf/fxf.h
sys/imio/iki/fxf/fxfopen.x
sys/imio/iki/fxf/fxfrfits.x
sys/imio/iki/fxf/fxfupdhdr.x
sys/imio/iki/fxf/fxfopix.x
sys/imio/iki/fxf/fxfdelete.x
sys/imio/iki/fxf/fxfplwrite.x
	Fixed a bug in the FITS header cache in which the images weren't
	properly being marked as "dirty" when two processes were operating
	on the same image and the first process updates the header within
	the same clocktick second that another process the accesses the image,
	e.g. MKHEADER updates and image and IMHEAD doesn't see the change.
	The solution was to artificially change the modify time on the file
	using futime() so the header update logic notices a difference in 
	the modify time.  Also, reset the rf_fit[slot] to a sentinal NULL
	value each time it is freed.  This is the fix for the so-called
	"mkheader bug" reported by Gemini.  (8/1/03, Zarate/MJF)

sys/imio/iki/fxf/fxfplread.x
	Changed the code to handle both the old and new plio storage
	formats automatically.  The newer, correct, format is used to
	write extensions but the kernel will not detect images containing
	the bug and workaround it accordingly.  (8/5/03, Zarate)

unix/os/zfioks.c
unix/os/zfioks.c		[pcix]
	A previous change moving the debug open code had the side effect
	of breaking the -log facility, moved it back (8/6/03, MJF)

sys/ki/irafks.x
sys/ki/kfutim.x
unix/hlib/knet.h
	A typo in the knet name was keeping the new utime() function from
	properly using the KI interface (8/6/03, MJF)

sys/ki/ki.h
	File copies to remote machines has apparently been broken for a while.
	What happened is that fcopy() set the SEQUENTIAL advice which caused
	the optbufsize on the descriptor to go from 1K to 8K, but the fio
	buffering would wait for the full 8K chars before writing to the KS.
	This was larger than the 1K buffer allocated in the KI for the text
	buffer and would trigger a write error the first time called, leaving
	a null file on the remote machine.  Modified SZ_TXBUF in <ki.h> to
	be large enough for the sequential text file buffers, the change 
	appears to be backwards compatible to older irafks.e servers and did
	not affect binary file i/o. (8/7/03, MJF)

sys/imio/iki/fxf/fxfupdhdr.x
	If editing keywords in the PHU and the keyword EXTEND is T, its value
	will change to F. Fixed.  (8/20/03, Zarate)

unix/hlib/mkfloat.csh
unix/hlib/mkfloat.csh		[pcix]
	Some new Linux distros such as RH9 no longer contain a 'compress'
	command as part of the base system meaning this script would fail
	when reconfiguring external package architectures or the core
	system.  Modified the script to work with either 'compress' or
	'gzip' and '.Z' or '.gz' extensions.  Also added a warning message
	for the longstanding failure when a package 'bin' is a directory and
	not a symlink.  (8/22/03, MJF)

unix/os/zfiond.c
unix/os/zfiond.c		[pcix]
	When calling ZAWRND on a text-mode device the number of bytes being
	converted was incorrect and could lead to a segvio.  This is because
	the VOS assumes this is a binary file driver and would multiply the
	'nbytes' arg by SZB_CHAR in awrite() before the call to the kernel,
	passing the true number of bytes and not the number of chars.  When
	the routine converted the SPP chars to C chars it would then run off
	the end of the array, producing garbarge.  Fixed the loop index and
	added some extra ERR return values.  (8/22/03, Valdes, MJF)

unix/os/zfiond.c
	Imported the signal code to catch a SIGPIPE when the server has died
	from the PC-IRAF version of the code.  (8/22/03, MJF)

imio/iki/fxf/fxfupdhdr.x
	A statement  (call fxf_not_incache) to re-read the PHU from the
	current file was been called under the wrong condition. Repositioning
	the call fixed the problem. (08/26/03 Zarate)

dev/hosts
	Added new Linux server 'crux' (8/26/03 MJF)

unix/os/zfiond.c
unix/os/zfiond.c		[pcix]
	Added parens around the connect() call to workaround difference in
	how the compiler evaluates the expression (9/3/03 MJF)

pkg/images/tv/display/t_display.x
	The image may be specified as a template provided it match only one
	image.  (9/11/03, Valdes)

sys/imio/iki/fxf/fxfupdhdr.x
	The statement 'call futime' has been moved from the previous
	position in the source code, to update the value of mtime for the
	file every time the file is modified. The value is modified by
	adding 4 seconds. If one task updates the file, the mod time is
	advance in 4 seconds. If another task updates the file again, its
	mtime will be modified in 4 seconds. This way we will ensure that
	if another tasks from another executable is updating the file, then
	the mtime in the FITS cache will be differen, forcing a read of the
	header fom disk.  (9/15/03, Zarate)

dev/hosts
	Added Dick Joyce's new Linux box 'fungo' (9/23/03 MJF)

sys/imio/iki/fxf/fxfopen.x
sys/imio/iki/fxf/fxfrfits.x
	Fixed a problem in the use of IM_LENHDRMEM/IM_HDRLEN that was
	causing a corrupted header card from IMCOMBINE for gemini.
	(9/25/03, Zarate)

pkg/proto/maskexpr/meregfuncs.x
     	Fixed an type decl/usage error for me_is_in_range() (9/29/03, MJF)

pkg/proto/maskexpr/peregfuncs.x
     	Fixed a size decl error in a salloc call in pe_lines() (9/29/03, MJF)

sys/imio/iki/fxf/zfiofxf.x
sys/imio/iki/fxf/fxfrdhdr.x
        Changed bfloat = !(lscale && lzero) to !(lscale || lzero). It could be
        that one header keywords BSCALE or BZERO are defined in the header.
        If the value is not default then set 'bfloat'.  (9/29/03, Zarate)

sys/imio/iki/fxf/fxfopen.x
	Made the access mode a read-only parameter (9/30/03, NZ/MJF)

sys/imio/iki/fxf/fxfupdhdr.x
	Changed the behavior that the FK will delete the BSCALE/BZERO
	keywords from the header for real/double images.  If an image comes
	in with bscale/bzero set for [rd] data the FK will refuse to open
	the pixels since this is not supported/undefined by the standard.
	Previously, something like adding a new header keyword would update
	the header and remove the keywords, leading to a FITS image which
	could be opened correctly but where the data values may not be
	as intented.  With this change the keywords are not removed and the
	user must still correct the FITS image outside of the kernel and so
	we avoid side effects which may lead to corrupt data. (9/30/03, NZ/MJF)

unix/os/zfiond.c
	Added some missing braces around the binary write in ZAWRND, and 
	incremented the jmpset flag to accomodate a previous change
	(10/1/03, MJF)

unix/os/zfiond.c		[pcix]
	Added some missing braces around the text write in ZAWRND to fix
	a problem in how the nested if's were being interpreted which was
	breaking the ND driver for text files. (10/1/03, MJF)

unix/os/zgmtco.c		[pcix]
	Removed an #ifdef LINUX around <time.h>, this include is needed
	on all PC-IRAF systems.  (10/7/03, MJF)

sys/fmtio/patmatch.x
	Added an initialization for nchars_matched in gpatmatch() to
	properly handle the case of matching a null string (11/21/03 MJF)

sys/imio/iki/zfiofxf.x
sys/imio/iki/fxfrdhdr.x
        Changed bfloat = !(lscale || lzero) to (!lscale && !lzero). The 
	earlier change was made to handle the case where only one of the
	bscale/bzero values was not the default, but the logic was wrong
	when one of the value *was* the default.  This would prevent the
	scaling from being properly applied.  (11/26/03, MJF)

dev/graphcap
dev/graphcap			[pcix]
	Changed the offset/width for the uepsfl entry to use more of the
	page and avoid clipping problems (11/26/03, MJF)

dev/hosts
	Added dtsn1/pipedevn (11/30/03, MJF)

sys/psio/font.com
	Changed type of 'i' index variable used in the common from short
	to integer to satisfy some (g77) compiler complaints (11/30/03, MJF)

sys/fio/vfnmap.x
	Moved the vvfn_checksum() function to the end of the file to fix a 
	forward reference error (11/30/03, MJF)

pkg/system/help/lroff/center.x
pkg/system/help/lroff/dols.x
pkg/system/help/lroff/getarg.x
pkg/system/help/lroff/lroff.x
pkg/system/help/lroff/lroff2html.x
pkg/system/help/lroff/lroff2ps.x
pkg/system/help/lroff/section.x
	Renamed the 'getarg' procedure to avoid clash with intrinsic fortran
	function name (11/30/03, MJF)

dev/tapecap			[pcix]
	Changed the default symlink to point to tapecap.linux (12/3/03, MJF)

pkg/cl/cl.par
unix/hlib/motd
unix/hlib/login.cl
unix/hlib/zzsetenv.def
        Changed the cl.version and cl.logver to "IRAF V2.12.2 December 2003"
        and updated the motd for the V2.12.2 patch release (12/04/03, MJF)

unix/hlib/install
	Updated with recent bug fixes reported to site support (12/4/03, MJF)

local/login.cl
local/login.cl			[pcix]
	Updated with changes made in the last few years to the default
	hlib$login.cl as well as the logver string.  The iraf account login.cl
	is a handcrafted version which shouldn't be recreated w/ mkiraf.
	(12/4/03, MJF)

sys/imio/iki/fxf/fxfopen.x
sys/imio/iki/fxf/fxfrfits.x
	Fixed a problem in which the IM_HDRLEN and IM_LENHDRMEM struct 
	elements could be out of sync when the header size was increased. 
	(12/4/03, Zarate/MJF)

unix/boot/spp/xc.c
	Newer versions of tcsh no longer allow a dash in an environment
	variable, rendering the XC-CC type variable useless.  Modified the
	code to allow the variable with either a dash or an underscore.
	Also, added support for XC-CFLAGS, XC-FFLAGS, and XC-LFLAGS (along
	with the undercore complement) as a means of passing in flags
	peculiar to the compiler being changed.   (12/4/03, MJF)

unix/boot/spp/xc.c		[pcix]
	Made the same set of environment changes.  In addition, added minor
	support for 'g77' as a compiler by checking the XC-F77 value and
	modifying the link line to use -lg2c instead of -lf2c. (12/4/03, MJF)

unix/bin.redhat/libcompat.a	[pcix]
	Added the object files ctype-info.o, C-type.o and C_name.o from 
	the glibc-2.2.5 libc.a.  Newer systems such as RedHat 9 have moved
	to glibc-2.3 where the standard string functions like isdigit() are
	now defined in <ctype.h> using new localization definitions, meaning
	the symbol "__ctype_b" would be unresolved in libos.a.  By importing
	these object on RH9 systems the missing symbols are resolved and 
	iraf uses the old glibc-2.2 ctype behavior.  (12/4/03, MJF)

unix/boot/spp/xc.c		[pcix]
	Added a -lcompat library to the LINUX link lines so that this is
	included following the system libos.a to pick up needed symbols on
	glibc 2.3 systems. (12/4/03, MJF)

unix/boot/spp/xpp/mkpkg.sh
	Removed a comment preventing the executble from being properly
	installed (12/4/03, MJF)

unix/hlib/irafuser.csh		[pcix]
	Deleted static link from the HSI_LF for redhat/suse.  Aside from the
	unresovled symbol issue, many of the HSI binaries built statically
	under older systems would segfault on new linux systems.  Dynamic
	linking against libc seems to solve this problem.  (12/4/03, MJF)

mkpkg
	Modified the toplevel mkpkg to touch hlib$utime each time the system
	is built.  The purpose of the utime file is to act as a flag to the
	CL to indicate when the uparm files may be out of date, the file time
	is updated by the install script.  However, many users with existing
	installations simply overlay the new release and don't rerun the 
	install script so we see more parameters errors (indeed it's been
	more than 6 years since utime was touch on tucana).  By updating
	the utime file w/ each build we're guaranteed to have a current
	parameter update mechanism even on the development machines.
	(12/4/03, MJF)

unix/hlib/as.redhat/zsvjmp.s	[pcix]
        Testing under Fedora (gcc 3.3/glibc 2.3) showed the loader segfault
        which has been reported recently on some newer SuSE systems.  This
        was traced to a elf procedure when loading zsvjmp.o, the problem is
        apparently in the definition of 'mem_' to an absolute zero value.
        The fix is to comment out the definition in zsvjmp and define the
        value on the link line.  (12/5/03, MJF)

unix/boot/spp/xc.c		[pcix]
        Modified to add "-Wl,--defsym,mem_=0" to the link line for linux.
	(12/5/03 MJF)

----------------------------------------
V2.12.2-BETA patch generated.  (12/6/03, MJF)


local/.login			[pcix]
	Minor changes to define IRAFARCH for suse correctly (12/12/03 MJF)

unix/hlib/f77.sh		[pcix]
	Generalized the -O and -f* optimizer flags to the script in order to 
	pass in more GCC options.   Had to move the -f2c flag so it was 
	handled separately before the -f options.  (12/17/03, MJF)

unix/boot/spp/xc.c		[pcix]
	More changes to allow for runtime configuration:  1) The optimizer
	flags were generalized to allow greater configuration on each platform.
	The default is "-O3 -fstrength-reduce -fpcc-struct-return" but these
	may be overridden by the user and will be tuned when the final system
	is built.  2)The user-defined XC_[CFL]FLAGS were moved to be the last
	things defined so they could override the hardwired options (primarily
	the optimizer).  3)  The addflag() procedure was renamed addflags()
	and generalized to allow multiple flags to be passed in (such as from
	XC_FFLAGS) as a single string - the routine splits into separate 
	arguments on whitespace (12/17/03, MJF)

pkg/cl/gram.c
pkg/cl/unop.c
pkg/cl/binop.c
pkg/cl/operand.h
	Added several new builtin functions to support the Gemini programming.
	These include:

	    isindef(expr)
		Can be used to check for INDEF values in expressions.  INDEF
		values may be tested for equality, however when otherwise used
		in a boolean expression the result of the boolean is also
		INDEF.  This function can be used to trap this particular
		case, or for INDEF strings/variable directly.  Result is a
		boolean yes/no.
	    strldx(chars,str)
		Complement to the stridx which returns the last occurance of
		any of 'chars' in 'str'.  Returns index of last char or zero
		if not found.
	    strlwr(str)
		Convert the string to lower case, returns a string.	
	    strupr(str)
		Convert the string to upper case, returns a string.	
	    strstr(str1,str2)
		Search for first occurance of 'str1' in 'str2', returns index
		of the start of 'str1' or zero if not found.
	    strlstr(str1,str2)
		Search for last occurance of 'str1' in 'str2', returns index
		of the start of 'str1' or zero if not found.

	The new string functions are particularly use for dealing with
	pathnames where one needs to find and extension, separate a file 
	from a path prefix, and so on.  New builtin functions may be added
	in the next release if needed.  

	Also, modified the substr() function to allow a 'last' index greater
	than a 'first' index, in which case the returned string is reversed.
	(12/18/03, MJF)

language/language.hd
language/doc/strings.hlp
language/doc/isindef.hlp	+
	Modified/added help text for the above functions.  (12/18/03, MJF)

lib$helpdb.mip
noao$lib/helpdb.mip
	Rebuilt the help databases to pick up recent changes to .hd files.
	(12/18/03, MJF)

unix/boot/spp/xc.c
	Ported the XC changes made to the PC/IRAF system above to the Sun/IRAF
	version.  We won't play with resetting the optimization levels for
	this release, however the flags are in place to allow the system to
	rebuilt to change these if needed.  (12/18/03, MJF)

unix/hlib/f77.sh		[pcix]
	Added support for flags beginning with '-m' to pass thru machine
	optimizations used for platform-specific tuning. (12/18/03, MJF)

unix/hlib/mkfloat.csh		[pcix]
	Use of "`which compress`" was causing problems on newer RH systems.
	Code was modified to check in other ways (12/18/03, MJF)

local/.login			[pcix]
	The login file sourcing the .cshrc file would cause a hang on linux
	systems using LDAP.  Commented this out since the it's redundant w/
	the way the .cshrc is loaded at login anyway.  (12/19/03, MJF)

sys/imio/iki/fxf/fxfopen.x
sys/imio/iki/fxf/fxfrfits.x
	Backed out of earlier change which modified the IM_HDRLEN/IM_LENHDRMEM
	values when trying to expand the userarea.  This resulted in invalid
	userarea sizes reported by IMHEAD as well as memory corruption problems
	when dealing with extremely large headers.  It was determined that the
	correct fix was to increase on the size of the local image pointer
	used during the header pre-read.  (12/19/03, NZ+MJF)
	
sys/imio/iki/fxf/fxfupdhdr.x
	Restored the removal of BSCALE/BZERO keywords from the header earlier
	deleted on 9/30/03.  While the problem mentioned then is still 
	possible, it's less likely than those caused by the HSTIO interface
	circumventing the imio keyword interface which rewrites these
	keywords to the header.  Will look at the issue again for the
	next release (12/19/03, NZ+MJF)

sys/imfort/imdelx.x
	The declaration for the 'image' argument wasn't done as an array
	which could lead to a segfault or corrupted image name. (12/19/03, MJF)

sys/imfort/imrnam.x
	While tracking down a different problem, noticed that the args to
	this function are fortran char*(*) typed but were being passed to
	the strne() and imdelx() procedure which want the SPP char types.
	Unpacked the strings for the strne() test, and changed the call to
	imdele().  (12/19/03, MJF)

sys/imfort/bfio.x
	The int bfflsh() procedure could return without a value (12/27/03, MJF)

pkg/images/immatch/imalign.cl
    	Restructured to avoid goto statements, no functional changes 
	(12/29/03, MJF)

unix/hlib/as.suse/zsvjmp.s      [pcix]
unix/hlib/as.linux/zsvjmp.s     [pcix]
        Commented out the global definition of mem_ as was done for RedHat.
        The symbol is defined on the command line for all linux systems in
        xc.c now so this shouldn't matter to most users.  The one exception
	to this is IMFORT users who build from a makefile or the command
	line using something other than XC/FC to compile.  These users will
	now be required to add a "-Wl,--defsym,mem_=0" to their build command
	to avoid an unresolved 'mem_' symbol when linking.  This will likely
	become a new FAQ but is unavoidable for the moment since recent
	versions of binutils tools like 'ld' on some linux platforms crash
	when linking zsvjmp.o with mem defined as a global symbol.
	(12/29/03, MJF)

unix/os/zzstrt.c		[PCIX]
	The definition of 'environ' would cause an error on some linux
	systems as it was a redefinition from <unistd.h>.  Since this is
	only used in the code when building shared libs the declaration
	was moved to be under a "#ifdef SHLIB" which isn't used currently
	for PC-IRAF (12/29/03, MJF)

unix/boot/spp/xc.c
	Fixed a small bug in the new addflags procedure affecting only 
	Solaris x86 (12/31/03, MJF)

------------------------------------------------------
V2.12.2-BETA -- second patch generated.  (1/2/04, MJF)

pkg/dataio/export/exraster.gx
    Fixed a bug in computing the number of output pixels (1/5/04, MJF)

pkg/images/immatch/src/geometry/t_geoxytran.x
pkg/images/immatch/src/geometry/trinvert.x          +
pkg/images/immatch/src/geometry/mkpkg
pkg/images/immatch/geoxytran.par
pkg/images/immatch/doc/geoxytran.hlp
	A new parameter "direction" was added to GEOXYTRAN to allow
	evaluating the transformation in either the forward direction (the
	previous behavior and default with the new parameter) or the
	backward direction.  The help page was updated to describe this new
	feature and address confusion over the relationship between geomap,
	geotran, and geoxytran.  (1/7/04, Valdes)

sys/ki/irafks.x
	Minor changes to the debug output to make it easier to trace the
	execution of the kernel server.  A new routine was added to convert
	the KI opcodes to human-readable strings.  (1/7/04, MJF)

unix/os/zfioks.c
unix/os/zfioks.c		[pcix]
	An earlier change designed to clean up zombie irafks.e processes could
	sometimes result in the parent irafks.e being stuck in a wait() and
	blocking any further connections.  Backed out of the earlier change
	and left in the development code which installs a specific SIGCHLD
	handler, but still doesn't quite get it done it a reliable and
	portable way so zombies are still possible.

	For most users the zombies won't be a problem since they'll go away
	automatically once the parent times out.  In situations such as the
	pipeline where many zombies can be created it's possible to define
	port=0 in the user .irafhosts file to fork a new parent irafks.e 
	for each connection (the so-called 'once-only' option in the code).
	Each in.irafksd that gets spawned belongs to the same process group,
	but a waitpid(0,...) fails to properly clean up all the children.
	Whether this is a linux-specific problem or the semantics of how
	the SIGCHLD is delivered when multiple processes exit at the same
	time (such as with a 'flpr') is unclear.  Since this is a non-fatal
	problem it will be resolved for the next release, for now the problem
	is no worse than it's always been and there is some extra debugging
	code available to look at this again next time around.  (1/7/04, MJF)

sys/etc/cnvdate.x
sys/etc/cnvtime.x
	Fixed a typo in the description of the iraf epoch (1/8/04, MJF)

sys/etc/dtmcnv.x
	Added a new dtm_ltime() procedure to convert a DATE-OBS string to
	the number of seconds since the start of the iraf epoch. (1/8/04, MJF)

sys/pkg/system/mkpkg
sys/pkg/system/system.cl
sys/pkg/system/system.hd
sys/pkg/system/system.men
sys/pkg/system/x_system.x
sys/pkg/system/touch.x		+
sys/pkg/system/touch.par	+
sys/pkg/system/doc/touch.hlp	+
	Added a new TOUCH task that can be used to update the access/modify
	times of files, or create a zero-length file.  Behavior is similar
	to the unix command of the same name.  Times may comes from the
	current system clock, a user-specified string, or a reference file.
	The task was needed by the pipeline project which needs to be able
	to create trigger files on remote iraf nodes.  (1/8/04, MJF)

lib/helpdb.mip
	Rebuilt to pick up the new TOUCH task. (1/8/04, MJF)

local/login.cl			[+pcix]
unix/hlib/login.cl		[+pcix]
	Removed the declaration of the unix 'touch' foreign cmd.   Users who
	don't do a new MKIRAF will continue to see the foreign command unless
	the SYSTEM package is explicitly loaded. (1/8/04, MJF)

pkg/cl/cl.par
unix/hlib/motd			[+pcix]
unix/hlib/login.cl		[+pcix]
unix/hlib/zzsetenv.def		[+pcix]
	Reset the value of cl.logregen to advise users to update with a new
	MKIRAF.  Also reset cl.version="IRAF V2.12.2 January 2004 and
	cl.release="2.12.2" in preparation for the final release (1/8/04, MJF)

local/.login                    [pcix]
unix/hlib/install               [pcix]
unix/hlib/irafuser.csh          [pcix]
        Minor changes to define linuxppc arch (1/9/04, MJF)

unix/bin.linuxppc/mach.h        +[pcix]
        Added version which set the proper byte swap for linuxppc (1/9/04, MJF)

unix/os/zgcmdl.c                [pcix]
        Added ifdef's for xargv/xargv to use f__argv/f__argc defined
        on linuxppc which uses libg2c (1/9/04, MJF)

unix/hlib/libc/varargs-linuxppc.h [pcix]
        Updated with newer version from YellowDog 3.0 (1/9/04, MJF)

unix/boot/spp/xc.c              [pcix]
        Various changes needed for YDL linuxppc.  (1/9/04, MJF)

unix/hlib/sysinfo               [pcix]
        Minor changes to define linuxppc arch (1/11/04, MJF)

pkg/images/immatch/src/imcombine/src/xtimmap.gx
	Copying the IMIO structure to an internal structure required two
	amovi calls in order to maintain alignment.  (1/12/04, Zarate/Valdes)

pkg/cl/gram.c
	The sign wasn't being properly applied to sexagesimal strings due
	to an earlier change.  (1/12/04, MJF)

sys/imio/iki/fxf/fxfrfits.x
sys/imio/iki/fxf/fxfupdhdr.x
	Changes to have the FITS files reflect the actual modify time
	of the file.  (1/12/04, Zarate/MJF)

lib/gio.h
sys/gio/cursor/gtr.h
	Increased the value of KSHIFT from 100 to 10000.  This is the fix
	for the latest "imdkern bug".  The KSHIFT value is used to encode the
	process slot and stream value to the pr_pstofd fio descriptor table
	(etc$prc.com) using the expression ((pr * KSHIFT) + stream).  A check
	for redirection is done (in etc$prpsio.x and gio$cursor/gtropenws.x)
	by checking this encoded value against the FIRST_FD/LAST_FD values and
	if it falls in-between the cursor code assumes the stream has been
	redirected to a file.  
		Prior to the V2.12 release, the max number of file descriptors
	was raised from 256 to 4096 and so the code (-306 in this case, the
	negative being a flag that the metacode should be filtered for GIO
	workstation transformation, but the abs value is used for the redir
	check) was mistakenly assuming the imdkern stream was always redirected
	and not writing the data to the stream until a gflush occured.  Inc-
	reasing the KSHIFT puts the encoded value once again beyond LAST_FD
	unless the stream truly has been redirected, in which case it gets a
	normal fio descriptor value.  (1/22/04, MJF)
	
unix/hlib/mkpkg.sf.SSUN
	Added DATAIO to the list of binaries linked nonshared.  The EXPORT
	task is sometimes used on large images and hits the 268Mb limit,
	this is a fairly minor change to avoid that problem.  (1/22/04, MJF)

unix/bin.sparc/gterm.e		-
unix/bin.sparc/imtool.e		-
	Deleted these old binaries from hbin$.  It's doubtful they would 
	ever be used, and if the world ever reverts to SunView again we 
	can rebuild them or get the binaries from an old release (1/22/04 ,MJF)

unix/hlib/login.cl
unix/hlib/login.cl		[pcix]
	Moved the loading of the 'clpackage' in front of the 'user' package
	definition to allow loginuser.cl to override package definitions 
	and/or load packages defined in the clpackage.cl  (1/23/04, MJF)

-----------------------------------------------------------
V2.12.2 -- system frozen for final release.  (1/23/04)

local/login.cl
	Fixed small typo in the logver string.  (1/25/04, MJF)

unix/hlib/motd
	Updated the timestamp on the motd file. (1/25/04, MJF)

sys/imio/iki/fxf/fxfrfits.x
	A typo was accessing the FIT_MTIME struct with the wrong pointer.
	(1/27/04, Zarate)

unix/hlib/motd
unix/hlib/zzsetenv.def
	Reset version strings to V2.12.2-EXPORT  (1/29/04, MJF)

unix/hlib/mkpkg.inc		[pcix]
unix/hlib/irafuser.csh		[pcix]
	Removed static link flag from linux architecture.  Originally
	this was done to provide a platform that could be expected to
	run on a number of distributions where versions of the shared glibc 
	libs could be unresolved.  The problem is that now it's more
	common to have a problem in the implementation of the glibc
	making use of new kernel structs or POSIX interfaces leading to
	a segfault from a simple C system call.  (1/30/04, MJF)

unix/hlib/fc.csh		[pcix]
	Added a missing architecture check for LinuxPPC (1/30/04, MJF)

unix/boot/spp/xc.c
	Added a '-G' flag to XC to force the task to link with '-lg2c'
	instead of '-lf2c'.  On LinuxPPC this is the required default
	behavior, but when using e.g. the Absoft compiler the g2c lib is
	required.  (1/31/04, MJF) 

mkpkg				[pcix]
noao/mkpkg			[pcix]
	Forgot to add a linuxppc architecture branch (2/1/04, MJF)

pkg/images/immatch/src/imcombine/src/xtimmap.gx
	An earlier change to increase the path length was somehow lost.
	(2/3/04, Valdes)

unix/hlib/cl.csh		[pcix]
	Last-minute testing under RHEL showed a segfault in nearly all
	tasks.  This was traced to a number of pointer values being returned
	by the system at addresses outside of the process stack space.
	This also affects Fedora systems and may well become a problem for
	other distributions using newer kernels.  Until this is better 
	understood, added a "limit stacksize unlimited" call to the cl.csh
	startup script as a workaround for processes started from the CL.
	This is still an issue for IMFORT tasks and will require the user
	to do the same in their .cshrc file, however it should be a (mostly)
	harmless change for most users.  (2/5/04, MJF)

-----------------------------------------------------------
V2.12.2 -- Final (really) release builds begun.  (2/5/04)
V2.12.2 -- Public release.  (2/7/04)
-----------------------------------------------------------


pkg/cl/cl.par
unix/hlib/motd			[+pcix]
unix/hlib/login.cl		[+pcix]
unix/hlib/zzsetenv.def		[+pcix]
	Incremented system version to V2.12.3-DEVELOP.  Also reset cl.version
	to "IRAF V2.12.2 February 2004 and cl.release to "2.12.3". (2/9/04, MJF)

sys/imio/db/impstr.x
	Fixed a problem where modifying a boolean keyword or a numeric
	value could corrupt the comment string. (3/1/04, MJF)

pkg/images/imcoords/src/t_wcsctran.x
	An error in mw_openim was trapped but the garbage in the return value
	caused a segmentation error during error recovery.  A fix was made to
	this and also to report, as a comment, the MWCS error.  
	(3/12/04, Valdes)

sys/mwcs/mwopenim.x
sys/mwcs/mwloadim.x
        Allocation of the WCS descriptor was moved from before reading the
        WCS cards and before calling mw_loadim until after the cards
        are read in mw_loadim to allow creating a descriptor based on the
        WCS dimensionality rather than the image dimensionality.  In
        particular, it is no longer an error if the image dimensionality
        is zero.  (3/12/04, Valdes)

sys/mwcs/iwrfits.x
        The dimensionality returned from reading the WCS cards is now
        set to the maximum axis seen when the image dimensionality
        is zero and there is no WCSDIM card.  (3/12/04, Valdes)

pkg/images/imcoords/src/t_wcsctran.x
	If the image dimensionality is zero then use the WCS dimensionality.
	(3/15/04, Valdes)

pkg/cl/binop.c
	Fixed a bug in the new strstr()/strlstr() which could fail due to a
	pointer increment side-effect when the last char of the search string
	didn't match. (3/22/04, MJF)

pkg/cl/binop.c
	The concat operator could create garbage in the output string when
	the first operand was not a string.  The problem is that the operands
	are popped from the stack in reverse order, but when the first op
	is recast as a string it then gets a string storage area which can
	overwrite the pointer of the second op.  The popop() program comments
	even warn that the string should be used before another pushop() (as
	is done in opcast()) or else the string will be clobbered.  Added code
	to preserve the second string (3/22/04, MJF)

pkg/cl/login.cl
	Updated the 'logver' version. (3/22/04, MJF)

unix/hlib/install
	Updated the version string. (3/22/04, MJF)

sys/mwcs/iwgbfits.x
	Fixed a bug where WAT keyword strings could be concatenated inadvert-
	antly, e.g.  WAT1_001='wtype=linear' and WAT1_002='system=world'
	could result in concatenated values without a separating space.  Since
	concatenation is needed in some cases (e.g. TNX projection coeffs),
	a space is only added when the string terminates before col 80 of the
	card, indicating a completed string. (3/23/04, MJF)

pkg/images/imutil/src/hedit.x
	The task could segfault when initializing/adding a new keyword with a
	null value.  The evexpr operator was being initialized as a scalar and
	the string pointer wasn't allocated, added a check so string pointer
	is always allocated to at least one char.  (3/23/04, MJF)

pkg/cl/builtin.c
pkg/language/language.hd
pkg/language/language.men
pkg/language/doc/which.hlp	+
	Implemented a new 'which' and 'whereis' set of commands.  The 'which'
	command searches the package list in reverse order and returns the
	first package containing the task, 'whereis' returns a space-delimited
	list of all packages containing that task.  These are user-convenience
	functions mostly, e.g. with many packages loaded and tasks multiply 
	declared it might not be obvious which instance of a task is actually
	being called.  
	    Note, these commands only search the list of loaded packages, in
	some cases the user may actually want to find all instances of the
	task in the system, but this is better left as a help/references 
	option (TBD). (3/25/04, MJF)

sys/mwcs/iwgbfits.x
	As earlier fix to this routine had an off-by-one error (3/30/04, MJF)

sys/etc/main.x
	Modified so the return of the ONENTRY call can contain a status value
	in the higher bits.  The test for PR_EXIT does a 'mod(i,2)' and so
	tests only for the process return code.  The optional status value
	is recovered and returned to zmain().  (4/7/04, Valdes/MJF)

pkg/cl/main.c
pkg/cl/builtin.c
	Added an optional argument to the logout() command which will return
	a status value to the shell in #!cl scripts.  If no argument is
	present the status is zero (OK) as before and the return of the
	c_main() remains just PR_EXIT to the iraf main.  Otherwise, the
	status is shifted left one bit and or'd with the PR_EXIT so the
	main still interprets the value correctly.  In the iraf main, the
	status is recovered and return to the zmain which calls exit() to
	set the $status shell variable.  (4/7/04, Valdes/MJF)


unix/hlib/libc/iraf.h		[+pcix]
	Added ifdef code for new import_fpoll directive. (4/7/04, MJF)

unix/hlib/libc/xnames.h		[+pcix]
	Added definitions for NDOPEN and the new POLL interface functions
	(4/7/04, MJF)

unix/hlib/libc/knames.h		[+pcix]
	Added definition for new zfpoll() HSI routine. (4/7/04, MJF)

unix/hlib/libc/fpoll.h		[+pcix]
	Added include file to define the kernel poll structure (4/7/04, MJF)

unix/os/mkpkg			[+pcix]
unix/os/zfpoll.c		[+pcix]
	Added new zfpoll() kernel routine. (4/7/04, MJF)

sys/libc/mkpkg
sys/libc/cpoll.c		+
sys/libc/cndopen.c		+
sys/libc/creopen.c		+
	Added LIBC bindings for the network driver ndopen/reopen functions
	and the new polling interface. (4/7/04, MJF)

iraf/lib/poll.h			+
	Added VOS <poll.h> interface file. (4/7/04, MJF)

sys/fio/mkpkg
sys/fio/poll.x			+
sys/fio/zzdebug.x
	Added a new FIO interface for polling file descriptors.  The
	interface is described in the fio$poll.x source comments and
	consists mainly of routines to manage an internal data structure
	of descriptors to be polled, along with the primary poll() procedure.
	See the test programs in fio$zzdebug.x for usage examples.
	    This interface operates in a manner similar to the unix poll
	command, i.e. it will block until the is activity (either input or
	output) on one or more of the file descriptors in the set.  Any
	FIO file descriptor may be added to the polling set, including 
	ND descriptors.  This makes it easier to now write iraf client/server
	tasks with multiple inputs (e.g. accept a new connection, read
	data on a socket, write to a file when it's ready, etc), or tasks
	which can't afford to block waiting for input from a particular
	source.  The STDIN/STDOUT streams and any file descriptor returned
	from FIO may be added to a poll set.  Currently, polling on graphics
	streams, or CLIO is not supported.
	(4/7/04, MJF)

pkg/cl/gram.c
	Modified the addpipe() procedure to change the pipecode increment
	to be 1000 rather than just one to avoid pid conflicts when multiple
	CLs are started nearly simultaneously.  Also, added code to pipefile()
	to permit a user-defined 'pipes' directory to be used in preference
	to uparm and tmp.  (4/8/04, Valdes/MJF)

sys/imio/iki/fxf/fxfopix.x
	Under certain conditions when in APPEND mode, if the entry
	FIT_PIXOFF(fit) is not set, then the 'write blanks' routine does
	not append a blank header at the right location. Setting it to the
	correct value solves this problem.  (4/21/04, NZ/MJF)

unix/hlib/iraf.h
	Forgot a redefinition of 'poll' to 'xfpoll' in libsys.a (5/4/04, MJF)

sys/mwcs/mwloadim.x
sys/mwcs/iwewcs.x
	There is now a check when setting up the WCS from a FITS header
	that the CD and LTM matrices have scales defined for all axes.
	Note that when there are no keywords unit matrices are
	automatically set.  It is a problem only when there is a partial
	set of keywords.  A typical type of format error is when the the
	3rd or higher dimensions are degenerate and no WCS keywords are
	included.  Rather than waiting for a singular matrix error to occur
	(and some applications don't catch this error and later seg fault
	or do something else bad) MWCS will now add a unit scale in the
	diagnoal element; e.g. CD3_3 = 1.  The default action is to add the
	scale and issue a warning.  The "wcs_matrix_err" environment
	variable may be set to 0 to eliminate the warning or 1 or 2 to
	trigger an error that the application may trap or trigger an
	abort.  (5/5/04, FV)

pkg/proto/interp.x
pkg/proto/doc/interp.hlp
        Removed the limit of 200 points from the interpolation table.  The
        task starts out with a max of 4096 and will dynamically increase the
        tables as needed (5/5/04, MJF)

pkg/proto/intrp.f
pkg/proto/interp.x
        The user requesting this task have the limit removed also had a
        dataset which would fail due to floating point precision problems.
        The task was modified to use doubles (5/6/04, MJF)

sys/imio/db/impstr.x
	An earlier fix to this routine wasn't properly cleaning up the
	string when editing existing keywords leading to an indexin problem.
	(5/17/04, MJF)

dev/termcap
dev/graphcap
	Added lw37 (6/29/04, MJF)

unix/hlib/install
	On DUNX systems the code creating the libiraf.so link was removing
	the .so extension and so only the old version of the shared lib was
	still being used.  Fixed.  (6/29/04, MJF)

imio/iki/fxf/fxfupdhdr.x
	If we need to write more than one block of blanks, substract
	one line corresponding to the END keyword, since this will be
	written after the blanks. (6/30/04, NZ)

sys/plio/plssize.x
	Changed the initial allocation for the PL_MAXLINE line list buffer.
	Previously this was roughly the npix/2 which assumed some compression
	would be achieved.  However, for extremely complex arrays this would
	lead to a short buffer and rather than rely on catching all places
	where this may need to be checked we adopt a more conservative value
	of the entire length of the line  (6/30/04, Valdes/MJF)


pkg/cl/cl.par
pkg/cl/login.cl
unix/hlib/motd			[+pcix]
unix/hlib/login.cl		[+pcix]
unix/hlib/zzsetenv.def		[+pcix]
unix/hlib/install
	Updated the version to 'V2.12.2a-BETA' (7/1/04, MJF)

pkg/proto/intrp.f
pkg/proto/interp.x
	The earlier change to make the routines double precision had a
	remaining use of a 'real' that was causing invalid calculations.
	(7/2/04, MJF)

------------------------------------------------------
V2.12.2a-BETA -- patch generated.  (7/2/04, MJF)


dev/hosts
	Added new RH9 system denali (7/5/04, MJF)

lib/helpdb.mip
noao/lib/helpdb.mip
	Rebuilt the help databases. (7/6/04, MJF)

sys/ki/irafks.x
	Fixed typos in debug output strings.  (7/6/04, MJF)

pkg/dataio/export/exzscale.x
pkg/dataio/doc/export.hlp
	Added a new operand zscalem to do an automatic zscale calculation
	with a selection expression to allow excluding bad pixels which
	would otherwise perturb the result.  The selection expression would
	typically involve a bad pixel mask or a selection range.
	(7/8/04, Valdes)

pkg/proto/maskexpr/t_mskregions.x
	There was an error that did not allow the new mask to take on the
	size of the reference image if one is specified.  (7/8/04, Valdes)

dev/hosts
	Added solarch, fixed arch for solarium (7/12/04, MJF)

unix/hlib/login.cl		[+pcix]
	Removed the check against TERM in the default terminal stty 
	command.  The problem is that in most cases this will be set
	by the user to 'xterm' whether it's correct or not (e.g. in their
	unix environment or as a default for PC terminals like konsole).
	Previously a TERM=xterm would do an 'stty xgterm' in all cases,
	making the MKIRAF setting a no-op and effectively preventing users
	from using XTerm properly.  (7/14/04, MJF)

unix/hlib/motd			[+pcix]
unix/hlib/zzsetenv.def		[+pcix]
	Updated the version to 'V2.12.2a-EXPORT' (7/14/04, MJF)

------------------------------------------------------
V2.12.2a-EXPORT -- patch generated.  (7/14/04, MJF)

pkg/images/immatch/src/imcombine/src/icmask.x
pkg/images/immatch/src/imcombine/src/Revisions +
	Added a feature to allow masks specified without a path to be found
	either in the current directory or the directory with the image.  This
	is useful when images to be combined are distributed across multiple
	directories.  (7/16/04, Valdes, 8/31 removed unused declaration)

pkg/images/imutil/src/imgets.x
	Modified to allow getting strings with double quotes.
	(7/27/04, Valdes)

sys/imio/db/imgstr.x
	Modified to handle strings with embedded single quotes as defined
	by the FITS standard.  (7/27/04, Valdes)

pkg/images/immatch/src/wcsmatch/t_wcscopy.x
	Removed a check that would not allow dataless WCS to be copied.
	(8/25/04, Cooke & Valdes)

math/gsurfit/gs_chomat.gx
	The test for singularity would fail with certain kinds of problems
	because the test used EPSILON (should have been EPSILOND for the
	double precision) but this is for distinguishing numbers small
	numbers from 1 and not from each other.  The test is now done
	with a comparison against the smallest real or double difference.
	The place where this was found to be a problem was with CCSETWCS.
	(8/31/04, Valdes)

noao/lib/strip.noao
unix/hlib/strip.iraf
	Updated with recent architectures and dirs in NOAO (9/2/04, MJF)

local/src/doc/bswap.hlp
	Removed execute permissions. (9/2/04, MJF)

dev/hosts
	Added new linux boxes beagle/barium/trout (9/6/04, MJF)

dev/hosts
	Added new linux boxes baires/marten (9/9/04, MJF)

hlib/install
	FreeBSD 5 systems now use a devfs /dev directory.  Minor changes
	to keep from trying to create the /dev/imt1 fifo pipes on these
	systems (10/7/04, MJF)

pkg/images/imcoords/src/t_ccsetwcs.x
	The option to specify a list of images with a single plate solution
	record, as described in the help, was not working.  This was fixed.
	(10/8/04, Valdes)

pkg/plot/t_implot.x
pkg/doc/implot.hlp
lib/scr/implot.key
	The "image" parameter may now be a list and the 'm' and 'n' keys
	are used to move through the image.  This is an alternate, and
	more convenient, version of the 'i' key.
	(10/29/04, Valdes)

pkg/images/imutil/src/imexpr.gx
	1) Fixed a bug in which expressions containing multiple parameter
	operands (e.g. a.foo and b.bar) would be evaluated using only the
	value of the last operand specified.  This was happening because
	a pointer was being recycled rather than copied and when the code
	went back to patch the parameters it used only the last operand
	specified.
	2) Added the ability to use a parameter operand which references an
	image operand not directly in the expression.  For example, expr="b+c"
	where a='dev$pix', b=a.foo, c=a.bar.  This allows parameters from
	e.g. a reference image to be used without requiring the image itself
	to be used.  (11/11/04, MJF)

pkg/cl/binop.c
	A string length was declared as a signed char for strldx/strlstr
	and would overflow for long strings.  (11/22/04, MJF)

dev/hosts
	Added new linux box 'leporis' (12/10/04, MJF)

unix/hlib/install
	Fixed a typo in a do_tapes flag setting for OSX (4/15/05)

sys/imio/imloop.x
	The loop construct would only work properly when the increment was
	set to 1.  Modified as:

		OLD>  if (v[dim] - ve[dim] == vinc[dim]) {
		NEW>  if (v[dim] - ve[dim] > 0) {

	Now when the counter exceeds the VE by any amount the condition is
	true.  (5/3/05, Valdes/Fitz)

pkg/images/imfilter/src/t_runmed.x
pkg/images/imfilter/src/runmed.x
pkg/images/imfilter/src/rmmed.x
pkg/images/imfilter/src/mkpkg
pkg/images/imfilter/runmed.par
pkg/images/imfilter/doc/runmed.hlp
pkg/images/imfilter/imfilter.cl
pkg/images/imfilter/imfilter.hd
pkg/images/imfilter/imfilter.men
pkg/images/x_images.x
pkg/xtools/rmsorted.gx
pkg/xtools/rmturlach.gx
pkg/xtools/xtsample.gx
pkg/xtools/xtstat.gx
lib/pkg/rmsorted.h
	Installed new running median task.  (5/6/05, Valdes)

unix/hlib/install
	Fixed a typo in an 'endiif' statement (6/7/05, MJF)

pkg/ecl/		+

images/imcoords/src/t_wcsedit.x
images/imcoords/wcsedit.par
images/imcoords/doc/wcsedit.hlp
	Modified to allow a new data-less WCS header to be created of
	dimensionality given by the new parameter "wcsdim".
	(6/23/05, Valdes)

images/immatch/src/wcsmatch/t_wcscopy.x
images/immatch/doc/wcscopy.hlp
	Modified to allow creation of a new data-less WCS header.  Also checking
	on image sizes and dimensionality was commented out.
	(6/23/05, Valdes)

images/imcoords/src/mkcwcs.cl   +
images/imcoords/src/mkcwwcs.cl  +
images/imcoords/doc/mkcwcs.hlp  +
images/imcoords/doc/mkcwwcs.hlp +
images/imcoords/imcoords.cl
images/imcoords/imcoords.men
images/imcoords/imcoords.hd
	Two new tasks were added to create or modify simple and standard 
	celestial and celestial/wavelength WCS.  The parameters are designed
	to make it simpler for a user to specify WCS information in a
	natural way without understanding the details of the WCS structure.
	The tasks may be used to make data-less WCS for templates or to
	add or update a WCS in an image.  These scripts depend on the
	changes to WCSCOPY and WCSEDIT which are the underlying interfaces
	to the WCS.
	(6/24/05, Valdes)

pkg/xtools/xtargs.x        +
pkg/xtools/mkpkg
        Simple interface to parse an argument string consisting of a list
        of whitespace separated keyword=value pairs.  (8/31/05, Valdes)


unix/os/zfioks.c
	Added a setsockopt to the file to set the REUSEADDR option on the 
	socket (2/22/06, MJF)

images/immmatch/src/imcombine/src/icomb.gx
	 The addition of the sum option failed to add a case for selecting
	 how to set the keepids flag.  Add SUM to the switch on line 229.
	 (2/28/06, Fitzpatrick, Valdes)

unix/os/zfioks.c
        Added few new environment variables designed to control the behavior
        of the network connections.  Also improved some of the debugging
        messages and added a 'C' or 'S' to distinguish code marked as
        'client' or 'server' for easier tracing.

        The first new variable is KS_RETRY which, if defined, is the number 
        of retry attempts using the default rsh (or KSRSH) protocol.  The 
        task will sleep for 1 second between attempts and then loop back to 
        try again to make the connection, this is meant to avoid potential 
        clashes between multiple machines connecting simultaneously as with 
        the pipeline.

        The second new variable is KS_NO_RETRY which when defined instructs
        the task *not* to attempt a retry using the fallback rexec protocol.
        This test is made after the KS_RETRY checks to allow for various 
        combinations of settings to allow the code to skip retries entirely
        (i.e. define only KS_NO_RETRY), retry using the default protocol but
        not with rexec (i.e. define KS_RETRY as some value and set KS_NO_RETRY),
        or retry only with rexec (i.e. old behavior, don't define anything).
        (3/20/06, MJF)

sys/etc/environ.h
	Increased the size of various environment buffers to allow for longer
	strings.  This fixes a long-standing problem in XC where an excessively
	long $PATH would cause a segfault in the envputs() routine.  Should
	also help with long helpdb strings in user-defined packages. (3/21 MJF)

lib/imio.h
	Increased SZ_IMNAME from 79 to 128 per pipeline request.  The extra
	space is already allocated in the LEN_IMDES and this is the most we
	can do without changing the runtime struct. (3/21/06 MJF)


unix/hlib/cl.csh
        Fixed a bug in detecting the '-old' flag to start the CL rather than
    	the now-default ECL.

unix/hlib/motd
	Updated release date.

======================================
Include Mac/Intel Port Notes
======================================

Mac/Intel Port Revisions:
==========================

local/.login
bin.macintel			+
bin.macintel/IB.MACX.X86	+
noao/bin.macintel		+
noao/bin.macintel/NB.MACX.X86	+
unix/bin.macintel		+
unix/as.macintel		+
unix/os/irafpath.c
unix/hlib/cl.csh 
unix/hlib/fc.csh 
unix/hlib/install 
unix/hlib/irafuser.csh 
unix/hlib/mkpkg.inc 
unix/hlib/mkpkg.sf 
unix/hlib/strip.iraf 
unix/hlib/sysinfo
	Set up architecture dirs/paths for port, added a '-DMACINTEL' to 
    HSI_CF.  (1/30/06)

local/.cshrc
 	Added some personal preference aliases.

unix/os/zfiond.c
	Ifdef'd a <sys/select.h> to get the definition of a struct timeval
    for the select() call (1/30/06)

unix/boot/mkpkg/host.c
	Had to include "mkpkg.h" to pick up the struct symbol def in 
    extern.h  (1/30/06)

unix/bin.macintel/rpp.e
	Issues with nested switch-case, using the macosx version for now

unix/bin.macintel/f2c.[eh]
	Copied from bin.macosx

pkg/mkpkg
	Added ECL to package list of directories to be built.

pkg/utilities/mkpkg
pkg/utilities/pffctn.x
pkg/utilities/t_polyfit.x
	Broke out the pf_fctn() to a separate file to work around the
	extern declaration problems in f2c that couldn't be handled in
	f2c.h..

unix/as.macintel/zsvjmp.s
	Implemented the ZSVJMP procedure for this OS/arch.   Appears to
    be working as expected and according to the zzdebug routine.

unix/as.macintel/zz_zsvjmp.c	+
	Renamed from zz.c.  This is a demo code of what the zsvjmp.s is
    supposed to do that can be used in future ports.  Added more comments
    to the header for reference.

unix/as.macintel/f2c.tar.gz
	Added a source distro of F2C used in building the binaries on this
    system.  We hadn't previously kept this in the tree and F2C is normally
    installed on this platform.  We can move to GFORTRAN at a later point or
    as an option but that isn't yet ready for Mac/Intel or a standard part 
    of the Xcode.

unix/bin.macintel/f2c.h
	Modified typedefs for extern problem.

unix/hlib/libc/stdarg.h
unix/hlib/libc/stdarg-osx.h	+
	Added the GCC stdarg.h to the libc directory so it will be included
    properly.  We can't simply include <stdarg.h> because the include chain
    has hlib$libc at the head and this would lead to a recursive error.  
    Adding files to the special files list to compile -Inolibc is an option
    but not for external packages so we compromise with a platform-specific
    include in the libc directory.

unix/boot/mkpkg/host.c
	Needed to include "mkpkg.h" to get 'struct symbol' definition
    properly.

unix/boot/mkpkg/scanlib.c
	Added support for the "4.4bsd archive extended format #1" used 
    on this system.  Fixes a problem where everything in an archive would
    always be rebuilt.

sys/fmtio/evexpr.y
sys/fmtio/evvexpr.gy
	Fixed a bug in the string-matching operator '?=' where the patstr
    pointer wasn't initialized, and then wasn't used after translating a 
    pattern such as '*foo*' to use '?*foo?*' closures.

sys/mwcs/mkpkg
sys/mwcs/wfzpn.x
sys/mwcs/wfinit.x
	Installed a ZPN projection driver from the Cambridge Astronomical
    Survey Unit.

local/bugs.log
local/notes.v212
unix/os/zfioks.c
noao/lib/helpdb.mip
pkg/images/Revisions
pkg/images/imcoords/src/mkcwcs.cl
pkg/images/immatch/doc/geotran.hlp
pkg/images/immatch/doc/imcombine.hlp
	Sync'd with latest from tucana.

pkg/images/immatch/src/imcombine/src/icomb.gx
	Installed path for buglog 552.

noao/nproto/Revisions
noao/nproto/nproto.cl
noao/nproto/nproto.hd
noao/nproto/nproto.men
noao/nproto/skysep.cl		+
noao/nproto/skygroup.cl		+
noao/nproto/doc/skygroup.hlp	+
noao/nproto/doc/skysep.hlp	+
	Installed new NPROTO tasks.

unix/hlib/cl.csh
	Made ECL the default in response to the 'cl' command.

local/login.cl
unix/hlib/login.cl
	Fixed the problem with the access() error message that sometimes
    appears.

unix/hlib/install
unix/hlib/ecl.csh -> cl.csh
	Modified the install script to create an 'ecl' command.  Needed to
    create a hlib$ecl.csh symlink to keep this simple.  This is mostly a 
    nicety as 'ecl' is now the default command language.

unix/boot/spp/rpp/rppfor/caslab.f
	Initialized the 'caslab' return to be zero.  Previously this procedure
    was returning a -1 value causing the parent cascod() to read an EOF on
    multi-value cases such as "case 1,2:" and would return an error message
    about a missing label that was never generated.  This is a different 
    behavior than the same code under linux/macosx, and even though this is a 
    newer version of F2C this was assumed to be a platform issue.  NOTE: the 
    assciated RATFOR has not been modified.   The RPP binary is now native 
    Intel rather than using the PPC binary as was done earlier.

pkg/cl/cl.par
pkg/ecl/cl.par
unix/hlib/motd
unix/hlib/install
unix/hlib/login.cl
unix/hlib/zzsetenv.def
	Changed the version string to be V2.13.  This was done such that
    packages like GEMINI could still version-check without failing even
    though the hlib$motd makes clear this is an iraf.net release.

mkpkg
noao/mkpkg
	Added 'macintel' architecture.

unix/os/zxwhen.c
unix/os/zzepro.c
unix/os/zzstrt.c
	Re-implemented the FPE handling for OSX using standard system
    procedures (e.g. feclearexcept(), fegetexceptflag(), etc).  The usual
    errors are now caught again.


unix/os/zfioks.c
    Added few new environment variables designed to control the behavior
    of the network connections.  Also improved some of the debugging
    messages and added a 'C' or 'S' to distinguish code marked as
    'client' or 'server' for easier tracing.

    The first new variable is KS_RETRY which, if defined, is the number 
    of retry attempts using the default rsh (or KSRSH) protocol.  The 
    task will sleep for 1 second between attempts and then loop back to 
    try again to make the connection, this is meant to avoid potential 
    clashes between multiple machines connecting simultaneously as with 
    the pipeline.

    The second new variable is KS_NO_RETRY which when defined instructs
    the task *not* to attempt a retry using the fallback rexec protocol.
    This test is made after the KS_RETRY checks to allow for various 
    combinations of settings to allow the code to skip retries entirely
    (i.e. define only KS_NO_RETRY), retry using the default protocol but
    not with rexec (i.e. define KS_RETRY as some value and set KS_NO_RETRY),
    or retry only with rexec (i.e. old behavior, don't define anything).
    (3/20/06, MJF)

sys/etc/environ.h
    Increased the size of various environment buffers to allow for longer
    strings.  This fixes a long-standing problem in XC where an excessively
    long $PATH would cause a segfault in the envputs() routine.  Should
    also help with long helpdb strings in user-defined packages. (3/21 MJF)

lib/imio.h
    Increased SZ_IMNAME from 79 to 128 per pipeline request.  The extra
    space is already allocated in the LEN_IMDES and this is the most we
    can do without changing the runtime struct. (3/21/06 MJF)

unix/hlib/cl.csh
	Fixed a bug in detecting the '-old' flag to start the CL rather than
    the now-default ECL.


======================================
Include Cygwin Port Notes
======================================

Port start (4/12/06)

Port Revisions:
===============

local/notes.cygwin		+
	Started this file.....

mkpkg
noao/mkpkg
local/.login
bin.cygwin                    	+
bin.cygwin/IB.CYGW.X86        	+
noao/bin.cygwin               	+
noao/bin.cygwin/NB.CYGW.X86   	+
unix/bin.cygwin               	+
unix/as.cygwin                	+
unix/os/irafpath.c
unix/hlib/cl.csh 
unix/hlib/fc.csh 
unix/hlib/install 
unix/hlib/irafuser.csh 
unix/hlib/mkpkg.inc 
unix/hlib/mkpkg.sf 
unix/hlib/strip.iraf 
unix/hlib/sysinfo
        Set up architecture dirs/paths for port, added a '-DCYGWIN' to 
    HSI_CF.  (4/11/06)


unix/os/gmttolst.c
unix/boot/bootlib/ostime.c
	Changed the 'timezone' variable to '_timezone', ifdef'd code.

unix/os/zawset.c
	Ifdef'd the code definitions for RLIMIT not on this system.

unix/os/zopdir.c
	Cygwin dirent type doesn't include the 'd_ino' element so the usual
    way to read directories and look for empty inodes doesn't apply here.  
    Made a trivial change which should effectively be a no-op since we won't
    ever expect a null inode anyway.  Need to check on how stat/lstat deals
    with inodes, there is apparently a define that can be enabled in the dev
    Cygwin version that will compute an inode hash of the filename to fake this
    but we apparently don't need it now.

unix/os/zxwhen.c
unix/os/zzepro.c
unix/os/zzstrt.c
	Implemented the FPE handling using the libmingwex.a procedures.  

unix/hlib/libc/varargs.h
unix/hlib/libc/stdarg.h
unix/hlib/libc/stdarg-cygwin.h 	+
	System uses <stdarg.h> but like on other systems this file is in 
    the GCC tree and not the public /usr/include.  As before, made a local
    copy we'll include in the libc directly.

unix/as.cygwin/zsvjmp.s	+
	Implemented ZSJMP for this system, removed leading underscores on
    symbol names.

unix/bin.cygwin/f2c.e
unix/bin.cygwin/libf2c.a
	Built the F2C libs for this platform.

unix/bin.cygwin/libcompat.a
	Pulled out the feclearexcept/fe[sg]etexceptflag procedures from the
    /lib/mingw/libmingwex.a library so we can use the same FPE handling code
    as for OSX.  This lib isn't part of the base install for Cygwin so rather
    than add a dependency to the platform we'll use the existing libcompat.a

unix/boot/spp/xpp/decl.c
	Fixed a problem in the XPP stage where a function as the first procedure
    in a file would not emit the procedure name properly.  This has been seen
    sporadically on other platforms in the past and appears to be related to
    a lexical context problem.  Will investigate more later, did a quick fix
    for now.

unix/boot/spp/xc.c
unix/boot/spp/xpp/xppcode.c
unix/boot/spp/xpp/xppmain.c
unix/hlib/mkpkg.inc 
unix/hlib/mkpkg.sf.CYGW			+ 
unix/bin.cygwin/arch_includes/		+
unix/bin.cygwin/arch_includes/fio.h	+
unix/bin.cygwin/arch_includes/pllseg.h	+
unix/bin.cygwin/arch_includes/plrseg.h	+
	There is apparently a bug in the handling of multi-line define macros
    such that the popcontext() is called at the end of the first line however
    the remainder of the macro doesn't get emmitted until sometime later.
    The buffering issue was too tricky to figure out for now so I took 
    advantage of the fact irafpath() will look in hbin$ before lib$ to allow
    for an arch-specific version of a system include like <fio.h> that is
    causing a problem.  For local includes such as in plio, I added a new
    '-A' flag to both XC/XPP to force the code to look in a hbin$arch_includes
    directory first for local include files.  For the plio cases the reference
    was to e.g. "../pllseg.h" so the files need to be a the correct relative
    location (TODO: strip path specs from local includes...).  The affected
    files were put on the special file list for this platform 

unix/bin.cygwin/fio.h		+
unix/bin.cygwin/pllseg.h	+ 
unix/bin.cygwin/plrseg.h	+
	These includes defined multi-line macros.  Made arch_include versions
    without the newlines.

sys/fmtio/fprfmt.x
	Crap, multi-line define in this one file we can't work around as 
    above.  For now just change the macro.....

unix/hlib/mkfloat.csh
	Check for cygwin arch when defining the $COMPRESS var, cygwin doesn't
    support the -f flag 



# ---------------------------------------------------------------------------

Sysgen completes without errors, all seems to be working. (4/14/06)

./zzclean
./zzmake
./zzsums
./zzsysgen
======================================
V2.13 Second Beta Release (4/19/06)
======================================


sys/vops/fftr.f
sys/vops/fftx.f
	Increased the check for the power-of-2 dimension to 2^31 from the
    current 2^15  (4/21/06, MJF)

dev/graphcap
dev/termcap
	Created generic devices using lpr/lp commands and the psikern for
    color printers.  (5/27/06, MJF)

unix/os/zzepro.c
	Fixed a bug in the FPE handling (7/26/06, MJF)

sys/etc/syserr.x
	Increased the SZ_ERRMSG from 80 to SZ_LINE for longer system error
    messages (e.g. full paths to files).  (8/15/06, MJF)

pkg/images/imutil/hselect.par
pkg/images/imutil/src/hselect.x
pkg/images/imutil/doc/hselect.hlp
	Added a 'missing' parameter to be used when keywords isn't in header
    (8/15/06, MJF)

unix/hlib/zzsetenv.def
	Made 'fits' the default 'imtype' (8/17/06)

pkg/cl/cl.par
pkg/ecl/cl.par
unix/hlib/motd
unix/glib/login.cl
	Updated version and date to V2.13-BETA3 on 'August 2006' (8/18/06)

local/bugs.log
	Updated to latest version (8/18/06)

==============================================
V2.13 Third Beta Release (8/18/06) (for NVOSS)
==============================================

local/bugs.log
	Updated to latest version (11/22/06)



==============================================
V2.14 System Merge Notes -- Aug 23, 2007
==============================================

pkg/lists/raverage.cl             +
pkg/lists/doc/raverage.hlp        +
pkg/lists/lists.cl
pkg/lists/lists.men
pkg/lists/lists.hd
        Added a new running average task.  (5/4/07, Valdes)

pkg/proto/t_imext.x
    Removed supporting procedures which are now in the xtools library
    in the file xtextns.
    (3/20/07, Valdes)

pkg/xtools/catquery/cqgfields.x
    The documentation says that the offset field in the catalog description
    file for simple text is the field number.  However, the implementation
    did not work this way.  The changes makes the catalog parsing work as
    described.  (7/17/07, Valdes)

pkg/xtools/xtextns.x               +
pkg/xtools/doc/xtextns.hlp         +
pkg/xtools/doc/xtools.hd
pkg/xtools/mkpkg
    Routines for expanding MEF image extensions.  The first version of
    this functionality was developed for proto.imextensions and then
    expanded for mscred.mscextensions.  Since then these routines have
    been used in other tasks and so these are now being escalated to
    generic xtools routines.  (3/20/07, Valdes)

pkg/xtools/xtmaskname.x
pkg/xtools/doc/xtmaskname.hlp      +
pkg/xtools/doc/xtools.hd
    The case where masktype=pl and the input name doesn't have a .pl
    extension was wrong.  (3/19/07, Valdes)

pkg/xtools/fixpix/ytfixpix.x       +
    This version uses an internal copy of the input mask rather than
    modifying the input mask.  (3/19/07, Valdes)

pkg/xtools/fixpix/xtpmmap.x
pkg/xtools/fixpix/ytpmmap.x        +
pkg/xtools/fixpix/mkpkg
pkg/xtools/doc/xtpmmap.hlp         +
pkg/xtools/doc/xtools.hd
    1.  Uses xt_maskname to handle mask names.
    2.  Minor bug fixes.
    3.  The xt_ and yt_ versions are the same but the yt_version is
        present to allow external packages to check for the presence
        of ytpmmap.x and if not present use their own copy of the file.
        This allows these packages to be compiled with earlier versions.
        Eventually the yt versions should be obsoleted.
        (3/19/07, Valdes)


pkg/images/tv/display/maskcolor.x
pkg/images/tv/display/t_display.x
pkg/images/tv/display/ace.h
pkg/images/tv/display/mkpkg
pkg/images/tv/doc/display.hlp
    The overlay colors may now be set with expressions as well as with
    the earlier syntax.  (8/16/07, Valdes)


pkg/images/tv/imedit/bpmedit.cl     +
pkg/images/tv/doc/bpmedit.hlp       +
pkg/images/tv/imedit/bpmedit.key    +
pkg/images/tv/tv.cl
pkg/images/tv/tv.hd
    A new script task for editing masks using imedit as the editing
    engine was added.  (8/9/07, Valdes)

pkg/images/tv/imedit/t_imedit.x
pkg/images/tv/imedit/epgcur.x
pkg/images/tv/imedit/epreplace.gx   +
pkg/images/tv/imedit/imedit.key     +
pkg/images/tv/doc/imedit.hlp
pkg/images/tv/mkpkg
pkg/images/tv/tv.cl
    1.  A new option to do vector constant replacement was added.  This is
        particularly useful for editing bad pixel masks.
    2.  New options '=', '<', and '>' to replace all pixels with values
        ==, <=, or >= to the value at the cursor with the constant value
        was added.  This is useful for editing object masks.
    3.  The '?' help page is now set by an environment variable rather than
        hardcoded to a file in lib$src.  The environment variable is
        imedit_help and is set in tv.cl to point to the file in the
        source directory.
    (8/9/07, Valdes)

pkg/images/tv/display/maskcolor.x
    There was an error that failed to parse the color string as required.
    (8/10/07, Valdes)

pkg/images/tv/display/sigm2.x
    Buffers were allocated as TY_SHORT but used and TY_INT.  (8/9/07, Valdes)

pkg/images/tv/display/t_display.x
pkg/images/tv/display/maskcolors.x
pkg/images/tv/display/sigl2.x
pkg/images/tv/display/sigm2.x
pkg/images/tv/doc/display.x
    1. Overlay masks are now read as integer to preserve dynamic range.
    2. Mapped color values less than 0 are transparent.
    3. A color name of transparent is allowed.
    (4/10/07, Valdes)


==============================================
pkg/cl/cl.par
pkg/ecl/cl.par
unix/hlib/motd
unix/hlib/install
unix/hlib/login.cl
unix/hlib/zzsetenv.def
    Changed version to V2.14DEV  Aug07  (8/23/07 MJF)

dev/graphcap.inet		+
    Added a copy of the dev$graphcap file with inet devices explicitly
    given for the imt devices.  This is because systems such as Cygwin don't
    support fifos or unix sockets properly and inet sockets are the only option,
    but aren't part of the default connection scheme.  This will be installed 
    as the default dev$graphcap by the install script when it is run.  (8/23)

unix/hlib/install
    Added code to install dev$graphcap.inet on cygwin. (8/23)


unix/os/zopdir.c
unix/os/irafpath.c
unix/boot/spp/xc.c
unix/hlib/cl.csh
unix/hlib/ecl.csh
unix/hlib/fc.csh
unix/hlib/install
unix/hlib/install.old
unix/hlib/irafuser.csh
unix/hlib/mkpkg.inc
unix/hlib/strip.iraf
unix/hlib/sysinfo
unix/hlib/spy.cl
unix/as.suse			-
unix/bin.suse			-
	Removed the SuSE architecture.  We're moving towards a unified 
    Linux architecture and the special ifdef's didn't apply here so removing
    the arch was simple.  In the process, found a typo in the ifdef applied
    in os$zopdir.c that was fixed (8/24/07, MJF)

dev/imtoolrc
dev/graphcap
dev/graphcap.inet
	Added new frame buffers for 10K, 11K and 12K sizes at imt55,
    imt56, imt57 respectively.  These can exceed the 32-bit limit but are
    needed for ultra-large-format detectors when using DS9. (10/29/07, MJF)

dev/graphcap
dev/graphcap.inet
	In the process of the above changes, noticed an error in the
    imt46 entry (full-frame GMOS) that would have prevented the config
    from working. (10/29/07, MJF)

pkg/cl/eparam.c
pkg/cl/eparam.c
	Modified the ":r" key in eparam so that if it is used as ":r! file.par"
    the parameters will be updated to disk automatically.  This allows a 
    parameter file to be read in for editing and executed immediately with a
    ":go".  Otherwise, the parameters are simply read in for editing and must
    be explicitly written back to the pfile to be used (current behavior).
    (11/12/07, MJF)

unix/hlib/mkiraf.csh
	Added a check in the mkiraf.csh script that the imdir$ directory
    exists and is writable to prevent orphaned imh images from being
    created.  If there is a problem with the imdir$ defined by the system
    install, HDR is used instead.  (11/12/07, MJF).

unix/gdev/sgidev/sgi2uapl.c
	Modified the Postscript init string to be '%!PS-Adobe-2.0' since
    many newer printers still complain about just '%!PS' and don't recognize
    the file  (11/12/07, MJF).

sys/imio/iki/zfiofxf.x
   	Added code to support scaled -64 data type on read.  BSCALE and BZERO 
   will be read and data will be scaled before making it available to the
   upper level code. Writing scaled -64 is not supported.  (11/12/07 NZ)

sys/imio/iki/fxfrfits.x
   	Close 'spool' file descriptor before calling syserrs.  (line 451)
   This was causing problems when reading BINTABLE extensions. (11/12/07, NZ)

sys/imio/dbc			+
sys/imio/mkpkg
	Installed the 'dbc' routines from the FITSUTIL package.  This is an
    extension to the imgead header database routines that allow for a
    comment field to be created/manipulated in the header.  (11/14/07, NZ/MJF)

pkg/xtools/mef			+
pkg/xtools/mkpkg
	Installed the 'mef' library from the FITSUTIL package for doing
    general MEF manipulation.  This will remove the dependency on FITSUTIL
    from several external packages.  (11/14/07, NZ/MJF)

unix/os/zzstrt.c
	Somehow in the porting process, the default FPE flag for linux was
    changed from 0x332 to 0x336 and effetively disabled the FPE traps.  
    Restored the old value.  (11/14/07,  MJF)

unix/hlib/libc/stdarg.h
unix/hlib/libc/stdarg-linux.h	+
	Added some extra code for compiling the stdarg.h stuff on newer GCC
    compilers.  We don't use this (yet) on tucana, but it's needed for e.g.
    building the CL on newer systems.  (11/17/07, MJF)

sys/imio/imloop.x
	An earlier change to this procedure broke the case where the increment
    was negative.  Changed the code to handle this case properly (11/25/07 MJF)

unix/boot/spp/xc.c
	There remains an unexplained optimizer bug in the system which has 
   the effect of disabling FPE handling on Mac Intel/PPC systems.  For the 
   moment, the optimization on these platforms was disabled until this is 
   better understood or fixed in future GCC versions.  Quick benchmarks
   indicate a performance penalty of only ~6-7%, optimized binaries for those 
   willing to skip the exception handling will be made available as an option.
   (11/30/07, MJF)



--------------------------------------------------------
System Frozen for V2.14 Builds  (11/30/07)

unix/hlib/motd
	Updated the motd file for the release (11/30/07 MJF)

pkg/cl/cl.par
pkg/ecl/cl.par
unix/hlib/login.cl
unix/hlib/zzsetenv.def
    Changed version to V2.14  Nov07  (11/30/07 MJF)


Begin sysgen.....11/30/07

unix/boot/bootlib/ostime.c
    Apparently this function hasn't been updated in a while and the
    computation of the time zone wasn't compiling correctly.  Affected the
    linking of WTAR only and so went unnoticed.  (11/30/07)

unix/hlib/mkpkg.sf.LNUX
	Increased the number of allowed symbols to 3072 from 2048 for
    the LNUX architecture compile of fmtio$evvexpr.x  (11/30/07)

noao/rv/mkpkg
noao/rv/t_fxcor.x
noao/rv/rvimutil.x
	Removed an unneeded <fio.h> include from these files.  On Cygwin
    there is an outstanding problem withe processing of multi-line macros
    and rather than put these files on a special-files list, I simlply
    removed the include statement (12/1/07)

--------------------------------------------------------
