IRAF V2.10.4 Patch 2 RELEASED Wed May 22 13:10:47 MST 1996 The second patch to IRAF V2.10.4 (V2.10.4-p2) is now available for Solaris and SunOS platforms. Linux/IRAF and DEC Alpha OSF1 versions will follow shortly. A port of V2.10.4-p2 to SGI/IRIX is also planned and will be announced once it is ready. Most other platforms will not be updated until the V2.11 release. For Solaris/IRAF, V2.10.4-p2 adds support for Solaris 2.5 and the SunSoft version 4 compilers. Solaris 2.3 and 2.4 are still supported and the same distribution should support all versions. The patch also includes a number of minor bug fixes and feature enhancements, as summarized below. Only selected revisions from our developmental V2.11 system were propagated to the patch. These include most minor systems revisions, plus selected NOAO package bug fixes. The patch is intended to be transparent, meaning that things should still work as before after the patch, except of course for the bug fixes and new features, which are minor. More substantial changes are being deferred to the V2.11 release, although most new applications software is available now in the form of optional layered packages. The only exception to the rule of "transparent revisions only" for the patch was in DAOPHOT, where a parameter change was made affecting the DAOPARS pset. An UNLEARN may be necessary to pick up the revision. Further details are given in the revisions notes below. CORE SYSTEM REVISIONS NOTES (This includes ONLY revisions propagated to V2.10.4-p2) ----------------------------------------------------------------------------- unix/boot/bootlib/osfiletype.c Added ".gz" to the list of "source" file types. Also added ".fit" as an alias for ".fits". (9/03) sys/mwcs/imwcs.h CROTA was being stored internally as an integer, causing small truncation errors of non-integral rotational angles. (10/18) unix/boot/spp/xpp/xppcode.c Modified XPP to make keyword recognition case sensitive. Keywords such as "int", "char", "procedure", etc. must be lower case to be recognized. This permits macros to use the upper case versions of these keywords. (12/05) pkg/cl/debug.c Added INDXINCR and PUSHINDEX to the debug code. (12/14) pkg/cl/builtin.c pkg/cl/compile.c pkg/cl/debug.c pkg/cl/exec.c pkg/cl/grammar.y pkg/cl/main.c pkg/cl/opcodes.c pkg/cl/opcodes.h pkg/cl/prcache.c 1. Fixed minor bugs in the CL array code which showed up on the 64bit DEC Alpha. The array code had builtin assumptions about the size of structures stored in CL memory, but on 64 bit systems the CL stack and dictionary have a 64 bit memel size, rather than 32 bit. 2. Added a new builtin "d_trace" which permits instruction and process tracing during execution. Typing d_trace without any arguments toggles this feature. An optional argument 0 or 1 may be used to disable or enable instruction tracing. A source line trace feature might have been nicer, but instruction tracing should still be of use for tracking down bugs in scripts, or otherwise revealing what is going on when the CL executes a task. (12/16) sys/fmio/zzdebug.x Added a parameter to the create datafile task to allow specification of FM_MAXPTPAGES (max page table pages), for testing large datafiles. (12/18) pkg/images/imarith/imexpr.gx Modified imexpr so that it will accept an image name that looks like a number in the first few characters, but which is really an image name. For example, "123.imh" or "../foo.imh". The previous version of imexpr was treating any string which looked like a number in the first few characters as a numeric constant. (2/8/96 LED 2/14 DCT). sys/fio/zzdebug.x Spiffed up the "daytime" debug/test task to permit entry of a host name, so that one can use this to find out what time it is at some site halfway around the world. (2/23) sys/fmio/fmio.h sys/fmio/fmlfopen.x sys/fmio/fmlfbwr.x sys/fmio/fmlfbrd.x sys/fmio/fmioextnd.x sys/fmio/fmclose.x 1. Changed the lfile pagemap (LF_PAGEMAP) from type short to int. This is entirely an internal array, created at lfile open time from the global pagemap, and never written out, so there should be no problem changing the datatype of the array. A type short lfile pagemap limits the maximum datafile size by limiting the max file offset to 32K datafile pages. This is not a problem for the global page table as the global table stores the lfile number in each PTE, with the offset of the PTE entry giving the associated file offset (page number). 2. Increased the default lfile pagemap size and increment on overflow. (3/11) lib/qpset.h sys/qpoe/qpoe.h sys/qpoe/qpstati.x sys/qpoe/qpseti.x sys/qpoe/qpopen.x sys/qpoe/qpmacro.x sys/qpoe/qpbind.x Added a new parameter "maxptpages" (QPOE_MAXPTPAGES) to QPOE. This is a datafile control parameter similar to "maxlfiles" or "pagesize". The pagesize and matptpages together determine the maximum datafile size. In the past we have had to increase the pagesize to accomodate very large datafiles, but beyond a certain point it is better to increase the maximum page table size (maxptpages). Since QPOE files can be very large it is necessary to allow control of this parameter from within QPOE. (3/11) sys/fmtio/dtoc.x Added some rounding to avoid printing numbers such as 12:29:60.0 when formatting sexagesimal (HMS or MS) numbers. (3/12) sys/mwcs/iwewcs.x Modified the code which computes the CD matrix from CDELT/CROTA. The old code computed the diagonal (scale) terms correctly but the rotation terms were evidently incorrect. The old code was based on the 1988 Hanisch and Wells WCS paper and the new code is based on a more recent paper by Mark Calabretta et. al. which supercedes the 1988 representation. The affect of this change should be limited as it only affects rotated images for which CDELT is given but no CD matrix is defined. (3/13) pkg/cl/builtin.c Modified the clprintf code to support INDEF operands. (3/23) unix/os/gmttolst.c unix/boot/bootlib/ostime.c Removed the type long variables gmtl, lstl and modified all calls to localtime() so that the argument is of type time_t. This is standard for all modern systems. Some older systems still require that the argument be type long, but as this is nonstandard it should be ifdef-ed in the source for these older systems. (4/04 1996) unix/hlib/libc/libc.h The macros Memcptr and Memiptr included a "+ 1" which shouldn't have been there. The one indexing correction was already being done in the Memc/Memi macros and Memcptr/Memiptr take a zero indexed C pointer as input. This was causing a bug in LIBC version of realloc, which is not used anywhere in the IRAF system code. (4/05) unix/os/zmain.c Added a #ifdef SYSV conditional to change the calling sequence for setpgrp() for SYSV and BSD systems. (4/24) sys/imio/iki/plf/plfopen.x Fixed an imerr() call which had the wrong argument type. (5/06) sys/libc/realloc.c Modified to work when called with a null pointer. (5/06) sys/gio/stdgraph/stgdrawch.x The text drawing routines were not controlling the polyline width when drawing characters in software mode using polylines. There is no line width attribute for graphics text and we probably don't want one, so the code was modified to force the line width to 1 when drawing software characters. (5/10) unix/boot/bootlib/osgetenv.c The envinit code calls _os_getenv to fetch the value of "pkglibs". This code assumes that _os_getenv returns the string argument, but nothing was being returned if the named environment variable was not found. Changed it to return a NULL-terminated empty string in this case. (5/10) sys/etc/mkpkg sys/etc/onentry.x sys/etc/main.x unix/os/zmain.c 1. The IRAF main (irafmn) was changed to an integer function and modified to return an exit status. If a task aborts and the main exits without running any more tasks (as when executing a task at the host level where only a single task is run) then the error status of the task is returned. In normal use as a connected process this condition never occurs and the main always returns XOK as the status. 2. Several calls to sys_panic in various etc$ routines were modified to ensure that a zero error code is not returned. sys_panic returns the error code as the exit status of the process. 3. The process main (zmain.c) was modified to call IRAF_MAIN as an integer function and to return its exit status. 4. The call to exit() in zmain.c was changed to _exit(). (5/11) NOAO PACKAGE REVISIONS NOTES (This includes ONLY revisions propagated to V2.10.4-p2) ----------------------------------------------------------------------------- apphot.daofind daophot.daofind 1. A major bug in the daofind task centering code that affects the computed x and y positions was fixed. Users should refer to bug log entry number 332 for details (local staff can also refer to newsgroup article) adass.noao.58). 2. A new roundness statistic was added to the daofind output to bring the task into conformance with standalone daophot ii. The new statistic is sensitive to and tries to eliminate detected objects which are significantly elongated in directions other than 0, 90, 180, and 270 degrees. The original roundness statistic is stored in the ground column, the new one in the sround column. The same default roundness limits apply to both statistics. daophot.daopars 1. Added a new parameter mergerad to the daopars parameter set. Mergerad permits the user to control the merging process. If mergerad is INDEF (the default setting) the default merging radius is used. If mergerad is 0 object merging is turned off altogether. Otherwise the user can set the merging radius to a specific value. Mergerad is used by the nstar and allstar tasks, but their default behavior is unchanged. 2. Changed the name of the critovlap parameter to critsnratio to avoid confusion with the the meaning of the parameter especially with regard the mergerad parameter. The behavior of the parameter is unchanged. /noao/imred/ccdred/src/cosmic/crlist.x Fix for bug 311. The output bad pixel data accidentally included some extra fields making it incorrect to use the file directly with BADPIXIMAGE. The extra diagnostic fields were removed. /noao/imred/ccdred/src/icpclip.gx Fix for bug 316. Fixed a bug where a variable was improperly used for two different purposes causing the algorithm to fail. /noao/lib/ccdtime/kpno.dat Updated with new numbers for the Schmidt from Massey. /noao/lib/linelists/README /noao/lib/linelists/fear.dat Updated database files. /noao/lib/obsdb.dat Added an entry for Keck from Astronomical Almanac. /noao/lib/smw.h /noao/onedspec/smw/smwmerge.x Provide support for the Sloan Sky Survey by allowing multifiber reductions with up to 500 fibers with non-linear dispersions. noao/onedspec/smw/smwopen.x Replaces mallocs by callocs to provide initialization. /noao/onedspec/smw/shdr.x Fix for bug 323. If the units are not defined by an attribute a check is made for a CUNITn keyword. /noao/onedspec/t_calibrate.x Fix for bug 321. /noao/onedspec/t_sbands.x Fix for bug 298. /noao/onedspec/t_slist.x Fix for bug 312.