Commits

Anonymous committed 2e9f594

Update to IDLWAVE 4.15

Comments (0)

Files changed (9)

-This is the CHANGES file of the IDLWAVE distribution, version 4.6 
+This is the CHANGES file of the IDLWAVE distribution, version 4.15 
 
 The file covers only the changes for Revision 3.0 and later.  Earlier
 changes are documented in the (obsolete) files idl.el and
-idl-shell.el, available at 
-http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave.
+idl-shell.el, available at idlwave.org.
+
+Revision 4.15
+=============
+   - Routine info for routines with multi-threading keywords is now
+     displayed correctly, and these keywords are linked in online
+     help.
+   - Fixed bug in Makefile causing trouble compiling when using older
+     versions of help.
+   - Filename completion in the shell works more cleanly without
+     corruption, and can now complete blank filenames in the local
+     directory (e.g. open,'[Tab]).
+   - Filename completion in the shell now works after "@" batch
+     commands.
+   - Better handling of obscure syntax errors.
+   - A special loadable module (`idlw-roprompt') allows Emacs 21 users
+     to make the "IDL>" prompt read-only.
+   - Bug fix: All tags are now found for tag completion on self, and
+     in other structures when the optional completion module
+     `complete-struct-tag' is used.
+   - Bug fix: alignment on the `=' of an assignment now permits a more
+     complicated LHS (e.g. a.(0)[1]=...).  
+   - Fixed bug when using multi-word abbreviations like "\ei": an
+     erroneous begin-end block matching error was being issued.
+   - Fixed system variable tag completion bug when using
+     idlw-complete-structtag for easy structure completion.
+   - Breakpoints are now temporarily disabled when using "Continue to
+     Here" and "Continue to End of Block", ensuring this always works
+     correctly.
+   - Added custom variable for controlling how much of the background
+     communication between buffer and shell is displayed
+     (`idlwave-shell-show-commands').  You can even turn on
+     'everything to get a peek behind the curtain.
+   - By default, object method and method keyword completions in the
+     shell now query the shell for the object class during the
+     completion.  E.g. "a=obj_new("idl_container") & a->[Tab]" will
+     automatically learn that "a" is an IDL_CONTAINER object and offer
+     the correct procedure methods.
+   - You can now set a conditional breakpoint with a simple prefix arg
+     to the breakpoint command (i.e. [C-u C-c C-d C-b]), which will
+     prompt you for the IDL expression.
+   - Fixed bug when completing procedure methods on multi-statement
+     lines.
+   - When completing class structure tags (self.[Tab]), or regular
+     structure (via idlw-complete-structtag) you can now right click
+     on the tags in the completion buffer to pull up their definition
+     in the help window.  Context help also works on class structure
+     tags.
+   - Class structure tags from superclasses are labelled with the
+     class in the *Completions* buffer.
+   - Bug fix for indenting continuation lines which contain "pro" or
+     "function" somewhere within their argument list.
+
+Revision 4.14
+=============
+   - More sensible handling of multiple *Examine* buffer windows,
+     allowing permanent resizing of windows.
+   - "q" in an *Examine* window closes it, and "c" clears the old contents.
+   - Continued statements at the end of a multi-line statement (with
+     `&') have continuation indent correctly calculated.
+   - Continued qualified method procedure calls now indented correctly.
+
+Revision 4.13
+=============
+   - Security improvement for temporary files.
+   - New convenience routine for creating abbreviations.
+   - Much-improved indentation for multi-line comments in function and
+     procedure calls, structure definitions, etc.... no more lines
+     with "$" only required.
+   - Continued routine calls and definitions, structure and class
+     definitions, and assignment statements now line up on the first
+     non-blank character after the opening punctuation.  To save
+     space, this can be disabled for indentation shifts larger than a
+     configurable value, in which case IDLWAVE still attempts to keep
+     things neat.
+   - Bug fix: improper alignment when splitting strings fixed.
+   - Bug fix: keyword completion in continued function calls which are
+     themselves continued fixed. 
+   - Bug fix: keyword completion failed for class::Init in obj_new(),
+     if routine completion-case set to any other than 'preserve or
+     'capitalize.
+   - Several new abbreviations and updated easy abbrev customization.
+   - Procedures on lines with multiple statements (using `&') are now
+     treated correctly for routine info and help.
+   - Custom "examine" commands can be created easily using two new
+     macros, for binding to keys or mouse clicks.  
+   - Variable/expression print, help, and other examine commands now
+     work in the shell as well as the buffer.
+   - A new examine mouse binding pops-up a customizable list of
+     examine functions to apply to the expression selected.
+
+Revision 4.12
+=============
+   - New support for Speedbar.
+   - Bug fix in explicit class name completion/help/routine info:
+     a->b::c now completes correctly.
+
+Revision 4.11
+=============
+   - New configureable class-driven keyword inheritance in Completion
+     for common methods (like Init, and (Get|Set)Property) which chain
+     keyword inheritance up the class stack.
+   - Bug fix for space padding: the method invocation operator,"->",
+     will now be padded immediately upon entry, if
+     `idlwave-surround-by-blank' is non-nil.
+   - Bug fix in generic END expansion: faulty capitalization was
+     occuring when END expansion was coupled with reserved word
+     upcasing.
+   - Numerous documentation improvements, including a description of
+     the structure tag completion plug-in.
+
+Revision 4.10
+=============
+   - New maintainer: J.D. Smith <jdsmith at as.arizona.edu>
+   - Compatible with IDL v5.5's  new breakpoint listing
+     format, along with the older format.
+   - Updated routine info for new routines and new keywords to
+     existing routines, taken from the `What's New' document shipped
+     with the IDL v5.5 release.  
+   - Updated online help text, from the `What's New' document.
+   - The get_rinfo script can now take a `fixup' file for adding
+     updated help and routine info material.
+   - New frame creation handled better with quick shell (idlwave-shell
+     'quick).
+   - A few updates for better Emacs 21 compatibility.
+
+Revision 4.9
+============
+   - Idle time is used to automatically initialize the routine info.
+     See new variable `idlwave-init-rinfo-when-idle-after'.
+   - When using the mouse to print variables an expressions, you now
+     can also drag over a region to define the expression to print.
+   - Before doing file name completion in the shell, the Emacs working
+     directory is switched to the current IDL working directory.
+   - The IDL procedure "BEEP" works again in the IDLWAVE Shell.
+   - Fixed display problem with multiple frames.
+   - In places where completion defaults to *keywords*, you can force
+     function name completion with a C-u prefix to M-TAB.
+   - Some bugs fixed.
+
+Revision 4.8
+============
+   - The shell preserves the command history between sessions.  See
+     new variables `idlwave-shell-command-history-file' and
+     `idlwave-shell-save-command-history'.
+   - New variable `idlwave-indent-to-open-paren' which can be used to
+     turn off deep indentation of continuation lines.  Example:
+        x = function_a(function_b(function_c( a, b, $
+                                              d, c)))
+   - The library catalog can be updated with a background job so that
+     you can continue to work while it runs.
+   - A double prefix argument to `idlwave-shell-print' evaluates
+     and prints the current region as an expression.
+   - When the IDL process under the shell exits, it runs
+     `idlwave-shell-sentinel-hook'.
+   - Fixed bug with deleting last window on IDL exit.
+   - Fixed bug (exponential regexp) with parsing Liam Gumley's routine
+     headers.
+
+Revision 4.7
+============
+   - New way to define key bindings for debugging commands
+     See variable `idlwave-shell-debug-modifiers'.
+   - Variable `idlwave-shell-activate-alt-keybindings' obsolete.
+   - Tutorial added to the documentation.
+   - Bugfix with !PATH query under Solaris (Craig Markwardt)
 
 Revision 4.6
 ============
+2002-09-16  Carsten Dominik  <dominik@astro.uva.nl>
+
+	* idlwave.el: Upgraded to IDLWAVE version 4.15
+
 2002-07-16  Adrian Aichner  <adrian@xemacs.org>
 
 	* .cvsignore: Add generated .info* and .html files.
 # Boston, MA 02111-1307, USA.
 
 VERSION = 1.25
-AUTHOR_VERSION = 4.7
+AUTHOR_VERSION = 4.15
 MAINTAINER = Carsten Dominik <dominik@astro.uva.nl>
 PACKAGE = idlwave
 PKG_TYPE = regular
 REQUIRES = fsf-compat xemacs-base
 CATEGORY = standard
 
-LISPFILES  = idlwave.el idlw-rinfo.el idlw-shell.el idlw-toolbar.el
+LISPFILES  = idlwave.el idlw-rinfo.el idlw-shell.el idlw-toolbar.el idlw-complete-structtag.el
 ELCS  = $(LISPFILES:.el=.elc)
 
 INFO_FILES = idlwave.info*

idlw-complete-structtag.el

+;;; idlw-complete-structtag.el --- Completion of structure tags.
+;; Copyright (c) 2001,2002 Free Software Foundation
+
+;; Author: Carsten Dominik <dominik@astro.uva.nl>
+;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu
+;; Version: 1.1
+;; Date: $Date$
+;; Keywords: languages
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Commentary:
+
+;; Completion of structure tags is highly ambiguous since you never
+;; know what kind of structure a variable will hold at runtime.
+;; However, in some applications there is one main structure which
+;; contains a large amount of information.  For example, in many
+;; widget applications, a "state" structure contains all important
+;; data about the application is stored in the main widget.  The
+;; different routines called by the event handler then use this
+;; structure for their actions.  If you use the same variable name for
+;; this structure throughout your application (a good idea for many
+;; reasons), IDLWAVE can support completion for its tags.  
+;;
+;; This file is a completion plugin which implements this kind of
+;; completion. It is also an example which shows how completion
+;; plugins should be programmed.
+;;
+;; New versions of IDLWAVE, documentation, and more information
+;; available from:
+;;                 http://idlwave.org
+;;
+;; INSTALLATION
+;; ============
+;; Put this file on the emacs load path and load it with the following 
+;; line in your .emacs file:
+;;
+;;   (add-hook 'idlwave-load-hook 
+;;             (lambda () (require 'idlw-complete-structtag)))
+;;
+;; DESCRIPTION
+;; ===========
+;; Suppose your IDL program contains something like
+;;
+;;     myvar = state.a*
+;;
+;; where the star marks the cursor position.  If you now press the
+;; completion key M-TAB, IDLWAVE searches the current file for a
+;; structure definition
+;;
+;;   state = {tag1:val1, tag2:val2, ...}
+;;
+;; and offers the tags for completion.
+;;
+;; Notes
+;; -----
+;;  - The structure definition assignment "state = {...}" must use the
+;;    same variable name as the the completion location "state.*".
+;;  - The structure definition must be in the same file.
+;;  - The structure definition is searched backwards from the end of
+;;    the file, until a definition with tags is found.
+;;  - The file is parsed again for the definition only if the variable 
+;;    name (like "state") of the current completion differs from the
+;;    previous tag completion.
+;;  - You can force and update of the tag list with the usual command
+;;    to update routine info in IDLWAVE: C-c C-i
+;;
+;;
+(defvar idlwave-current-tags-var nil)
+(defvar idlwave-current-tags-buffer nil)
+(defvar idlwave-current-struct-tags nil)
+(defvar idlwave-sint-structtags nil)
+(idlwave-new-sintern-type 'structtag)
+(add-to-list 'idlwave-complete-special 'idlwave-complete-structure-tag)
+(add-hook 'idlwave-update-rinfo-hook 'idlwave-structtag-reset)
+
+(defun idlwave-complete-structure-tag ()
+  "Complete a structure tag.
+This works by looking in the current file for a structure assignment to a
+variable with the same name and takes the tags from there.  Quite useful
+for big structures like the state variables of a widget application."
+  (interactive)
+  (let ((pos (point))
+	(case-fold-search t))
+    (if (save-excursion
+	  ;; Check if the context is right
+	  (skip-chars-backward "[a-zA-Z0-9._$]")
+	  (and (< (point) pos)
+	       (not (equal (char-before) ?!)) ; no sysvars
+	       (looking-at "\\([a-zA-Z][a-zA-Z0-9_]*\\)\\.")
+	       (>= pos (match-end 0))
+	       (not (string= (downcase (match-string 1)) "self"))))  ;; FIXME:  Can we avoid checking for self here?
+	(let* ((var (downcase (match-string 1))))
+	  ;; Check if we need to update the "current" structure
+	  (if (or (not (string= var (or idlwave-current-tags-var "@")))
+		  (not (eq (current-buffer) idlwave-current-tags-buffer)))
+	      (idlwave-prepare-structure-tag-completion var))
+	  (setq idlwave-completion-help-info 
+		(list 'idlwave-complete-structure-tag-help))
+	  (idlwave-complete-in-buffer 'structtag 'structtag 
+				      idlwave-current-struct-tags nil
+				      "Select a structure tag" "structure tag")
+	  t) ; return t to skip other completions
+      nil)))
+
+(defun idlwave-structtag-reset ()
+  (setq idlwave-current-tags-buffer nil))
+
+(defvar idlwave-structtag-struct-location nil)
+(defun idlwave-prepare-structure-tag-completion (var)
+  "Find and parse the necessary class definitions for class structure tags."
+  ;; (message "switching to var %s" var) ; FIXME: take this out.
+  ;; (sit-for 2)
+  (unless
+      (catch 'exit
+	(save-excursion
+	  (goto-char (point-max))
+	  (while (idlwave-find-structure-definition var nil 'back)
+	    (let ((tags (idlwave-struct-tags)))
+	      (when tags 
+		(setq idlwave-sint-structtags nil
+		      idlwave-current-tags-buffer (current-buffer)
+		      idlwave-current-tags-var var
+		      idlwave-structtag-struct-location (point)
+		      idlwave-current-struct-tags
+		      (mapcar (lambda (x)
+				(list (idlwave-sintern-structtag x 'set)))
+			      tags))
+		(throw 'exit t))))))
+    (error "Cannot complete structure tags of variable %s" var)))
+
+;; Fake help in the source buffer for structure tags.
+;; kwd and name are global-variables here.
+(defvar idlwave-help-do-struct-tag)
+(defvar kwd)
+(defun idlwave-complete-structure-tag-help (mode word)
+  (cond
+   ((eq mode 'test) ; nothing gets fontified for class tags
+    nil)
+   ((eq mode 'set)
+    (setq kwd word
+	  idlwave-help-do-struct-tag idlwave-structtag-struct-location))
+   (t (error "This should not happen"))))
+
+(provide 'idlw-complete-structtag)
+
+;;; idlw-complete-structtag.el ends here
 ;;; idlw-rinfo.el --- Routine Information for IDLWAVE
 ;; Copyright (c) 1999 Carsten Dominik
-;; Copyright (c) 1999, 2000 Free Software Foundation
+;; Copyright (c) 1999, 2000, 2001, 2002 Free Software Foundation
 
 ;; Author: Carsten Dominik <dominik@astro.uva.nl>
-;; Version: 4.7
+;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
+;; Version: 4.15
 ;; Keywords: languages
 
 ;; This file is part of GNU Emacs.
 ;; information is extracted automatically from the IDL documentation
 ;; and by talking to IDL.
 ;;
-;; Created by get_rinfo54 on Fri Dec  8 14:06:41 2000
-;; IDL version: 5.4
-;; Number of files scanned:  5
+;; Created by get_rinfo on Tue Sep 10 09:15:48 2002
+;; IDL version: 5.5
+;; Number of files scanned:  6
 ;;       943 syntax entries in file refguide.txt
 ;;       327 syntax entries in file sdf.txt
 ;;         0 syntax entries in file datamine.txt
 ;;         6 syntax entries in file edg.txt
 ;;        45 syntax entries in file obsolete.txt
-;; Number of routines found: 1287
-;; Number of keywords found: 5724
-
+;;        38 syntax entries in file whatsnew55.txt
+;; Number of routines found: 1324
+;; Number of keywords found: 6129
+;;
+;; Fixed up documentation with file: help55fixup.txt
+;;	 93 total fix matches.
+;
+;; New versions of IDLWAVE, documentation, and more information
+;; available from:
+;;                 http://idlwave.org
+;; 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 ;;; Code:
-
 (defconst idlwave-system-routines
   '(
     ("ANNOTATE"               pro nil                 (system) "%s" (("COLOR_INDICES") ("DRAWABLE") ("LOAD_FILE") ("TEK_COLORS") ("WINDOW")))
     ("BAR_PLOT"               pro nil                 (system) "%s, Values" (("BACKGROUND") ("BARNAMES") ("BAROFFSET") ("BARSPACE") ("BARWIDTH") ("BASELINES") ("BASERANGE") ("COLORS") ("OUTLINE") ("OVERPLOT") ("ROTATE") ("TITLE") ("XTITLE") ("YTITLE")))
     ("BLAS_AXPY"              pro nil                 (system) "%s, Y, A, X [, D1, Loc1 [, D2, Range]]" nil)
     ("BOX_CURSOR"             pro nil                 (system) "%s, [ X0, Y0, NX, NY]" (("FIXED_SIZE") ("INIT") ("MESSAGE")))
-    ("BREAKPOINT"             pro nil                 (system) "%s [, File], Index" (("AFTER") ("CLEAR") ("CONDITION") ("DISABLE") ("ENABLE") ("ONCE") ("SET")))
-    ("BYTEORDER"              pro nil                 (system) "%s, Variable1, ..., Variablen" (("DTOGFLOAT") ("DTOVAX") ("DTOXDR") ("FTOVAX") ("FTOXDR") ("GFLOATTOD") ("HTONL") ("HTONS") ("L64SWAP") ("LSWAP") ("NTOHL") ("NTOHS") ("SSWAP") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("VAXTOD") ("VAXTOF") ("XDRTOD") ("XDRTOF")))
+    ("BREAKPOINT"             pro nil                 (system) "%s [, File], Index" (("AFTER") ("CLEAR") ("CONDITION") ("DISABLE") ("ENABLE") ("ON_RECOMPILE") ("ONCE") ("SET")))
+    ("BYTEORDER"              pro nil                 (system) "%s, Variable1, ..., Variablen" (("DTOGFLOAT") ("DTOVAX") ("DTOXDR") ("FTOVAX") ("FTOXDR") ("GFLOATTOD") ("HTONL") ("HTONS") ("L64SWAP") ("LSWAP") ("NTOHL") ("NTOHS") ("SSWAP") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD") ("VAXTOD") ("VAXTOF") ("XDRTOD") ("XDRTOF")))
     ("CALDAT"                 pro nil                 (system) "%s, Julian, Month [, Day [, Year [, Hour [, Minute [, Second]]]]]" nil)
     ("CALENDAR"               pro nil                 (system) "%s [[, Month] , Year]" nil)
     ("CALL_METHOD"            pro nil                 (system) "%s, Name, ObjRef, [, P1, ..., Pn]" nil)
     ("COLOR_CONVERT"          pro nil                 (system) "%s, I0, I1, I2, O0, O1, O2" (("HLS_RGB") ("HSV_RGB") ("RGB_HLS") ("RGB_HSV")))
     ("COMMON"                 pro nil                 (system) "%s VOLUME_DATA, A" (("A")))
     ("CONSTRAINED_MIN"        pro nil                 (system) "%s, X, Xbnd, Gbnd, Nobj, Gcomp, Inform" (("ESPTOP") ("LIMSER") ("MAXIMIZE") ("NSTOP") ("REPORT") ("TITLE")))
-    ("CONTOUR"                pro nil                 (system) "%s, Z [, X, Y]" (("BACKGROUND") ("C_ANNOTATION") ("C_CHARSIZE") ("C_CHARTHICK") ("C_COLORS") ("C_LABELS") ("C_LINESTYLE") ("C_ORIENTATION") ("C_SPACING") ("C_THICK") ("CELL_FILL") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("CLOSED") ("COLOR") ("DATA") ("DEVICE") ("DOWNHILL") ("FILL") ("FOLLOW") ("FONT") ("IRREGULAR") ("LEVELS") ("MAX_VALUE") ("MIN_VALUE") ("NLEVELS") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("OVERPLOT") ("PATH_DATA_COORDS") ("PATH_DOUBLE") ("PATH_FILENAME") ("PATH_INFO") ("PATH_XY") ("POLAR") ("POSITION") ("SUBTITLE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("TRIANGULATION") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICK_GET") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICK_GET") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("ZAXIS") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZLOG") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICK_GET") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE") ("ZVALUE")))
+    ("CONTOUR"                pro nil                 (system) "%s, Z [, X, Y]" (("BACKGROUND") ("C_ANNOTATION") ("C_CHARSIZE") ("C_CHARTHICK") ("C_COLORS") ("C_LABELS") ("C_LINESTYLE") ("C_ORIENTATION") ("C_SPACING") ("C_THICK") ("CELL_FILL") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("CLOSED") ("COLOR") ("DATA") ("DEVICE") ("DOWNHILL") ("FILL") ("FOLLOW") ("FONT") ("IRREGULAR") ("ISOTROPIC") ("LEVELS") ("MAX_VALUE") ("MIN_VALUE") ("NLEVELS") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("OVERPLOT") ("PATH_DATA_COORDS") ("PATH_DOUBLE") ("PATH_FILENAME") ("PATH_INFO") ("PATH_XY") ("POLAR") ("POSITION") ("SUBTITLE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("TRIANGULATION") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICK_GET") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICK_GET") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("ZAXIS") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZLOG") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICK_GET") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE") ("ZVALUE")))
+    ("CPU"                    pro nil                 (system) "%s" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NTHREADS") ("VECTOR_ENABLE")))
     ("CREATE_VIEW"            pro nil                 (system) "%s" (("AX") ("AY") ("AZ") ("PERSP") ("RADIANS") ("WINX") ("WINY") ("XMAX") ("XMIN") ("YMAX") ("YMIN") ("ZFAC") ("ZMAX") ("ZMIN") ("ZOOM")))
     ("CURSOR"                 pro nil                 (system) "%s, X, Y [, Wait]" (("CHANGE") ("DATA") ("DEVICE") ("DOWN") ("NORMAL") ("NOWAIT") ("UP") ("WAIT")))
     ("CW_ANIMATE_GETP"        pro nil                 (system) "%s, Widget, Pixmaps" (("KILL_ANYWAY")))
     ("CW_PALETTE_EDITOR_GET"  pro nil                 (system) "%s, WidgetID" (("ALPHA") ("HISTOGRAM")))
     ("CW_PALETTE_EDITOR_SET"  pro nil                 (system) "%s, WidgetID" (("ALPHA") ("HISTOGRAM")))
     ("DEFINE_KEY"             pro nil                 (system) "%s, Key [, Value]" (("BACK_CHARACTER") ("BACK_WORD") ("CONTROL") ("DELETE_CHARACTER") ("DELETE_CURRENT") ("DELETE_EOL") ("DELETE_LINE") ("DELETE_WORD") ("END_OF_FILE") ("END_OF_LINE") ("ENTER_LINE") ("ESCAPE") ("FORWARD_CHARACTER") ("FORWARD_WORD") ("INSERT_OVERSTRIKE_TOGGLE") ("MATCH_PREVIOUS") ("NEXT_LINE") ("NOECHO") ("PREVIOUS_LINE") ("RECALL") ("REDRAW") ("START_OF_LINE") ("TERMINATE")))
+    ("DEFINE_MSGBLK"          pro nil                 (system) "%s, BlockName, ErrorNames, ErrorFormats" (("IGNORE_DUPLICATE") ("PREFIX")))
+    ("DEFINE_MSGBLK_FROM_FILE" pro nil                 (system) "%s, Filename" (("BLOCK") ("IGNORE_DUPLICATE") ("PREFIX") ("VERBOSE")))
     ("DEFSYSV"                pro nil                 (system) "%s, Name, Value [, Read_Only]" (("EXISTS")))
     ("DELETE_SYMBOL"          pro nil                 (system) "%s, Name" (("TYPE")))
     ("DELLOG"                 pro nil                 (system) "%s, Lognam" (("TABLE")))
     ("DELVAR"                 pro nil                 (system) "%s, V1, ..., Vn" nil)
-    ("DEVICE"                 pro nil                 (system) "%s" (("AVANTGARDE") ("AVERAGE_LINES") ("BINARY") ("BITS_PER_PIXEL") ("BKMAN") ("BOLD") ("BOOK") ("BYPASS_TRANSLATION") ("CLOSE") ("CLOSE_DOCUMENT") ("CLOSE_FILE") ("COLOR") ("COLORS") ("COPY") ("COURIER") ("CURSOR_CROSSHAIR") ("CURSOR_IMAGE") ("CURSOR_MASK") ("CURSOR_ORIGINAL") ("CURSOR_STANDARD") ("CURSOR_XY") ("DECOMPOSED") ("DEMI") ("DEPTH") ("DIRECT_COLOR") ("EJECT") ("ENCAPSULATED") ("ENCODING") ("FILENAME") ("FLOYD") ("FONT_INDEX") ("FONT_SIZE") ("GET_CURRENT_FONT") ("GET_DECOMPOSED") ("GET_FONTNAMES") ("GET_FONTNUM") ("GET_GRAPHICS_FUNCTION") ("GET_PAGESIZE") ("GET_SCREEN_SIZE") ("GET_VISUAL_DEPTH") ("GET_VISUAL_NAME") ("GET_WINDOW_POSITION") ("GET_WRITE_MASK") ("GIN_CHARS") ("GLYPH_CACHE") ("HELVETICA") ("INCHES") ("INDEX_COLOR") ("ISOLATIN1") ("ITALIC") ("LANDSCAPE") ("LIGHT") ("MEDIUM") ("NARROW") ("NCAR") ("OBLIQUE") ("OPTIMIZE") ("ORDERED") ("OUTPUT") ("PALATINO") ("PIXELS") ("PLOT_TO") ("PLOTTER_ON_OFF") ("POLYFILL") ("PORTRAIT") ("PRE_DEPTH") ("PRE_XSIZE") ("PRE_YSIZE") ("PREVIEW") ("PRINT_FILE") ("PSEUDO_COLOR") ("RESET_STRING") ("RESOLUTION") ("RETAIN") ("SCALE_FACTOR") ("SCHOOLBOOK") ("SET_CHARACTER_SIZE") ("SET_COLORMAP") ("SET_COLORS") ("SET_FONT") ("SET_GRAPHICS_FUNCTION") ("SET_RESOLUTION") ("SET_STRING") ("SET_TRANSLATION") ("SET_WRITE_MASK") ("STATIC_COLOR") ("STATIC_GRAY") ("SYMBOL") ("TEK4014") ("TEK4100") ("TEXT") ("THRESHOLD") ("TIMES") ("TRANSLATION") ("TRUE_COLOR") ("TT_FONT") ("TTY") ("VT240") ("VT241") ("VT340") ("VT341") ("WINDOW_STATE") ("XOFFSET") ("XON_XOFF") ("XSIZE") ("YOFFSET") ("YSIZE") ("Z_BUFFERING") ("ZAPFCHANCERY") ("ZAPFDINGBATS")))
+    ("DEVICE"                 pro nil                 (system) "%s" (("AVANTGARDE") ("AVERAGE_LINES") ("BINARY") ("BITS_PER_PIXEL") ("BKMAN") ("BOLD") ("BOOK") ("BYPASS_TRANSLATION") ("CLOSE") ("CLOSE_DOCUMENT") ("CLOSE_FILE") ("COLOR") ("COLORS") ("COPY") ("COURIER") ("CURSOR_CROSSHAIR") ("CURSOR_IMAGE") ("CURSOR_MASK") ("CURSOR_ORIGINAL") ("CURSOR_STANDARD") ("CURSOR_XY") ("DECOMPOSED") ("DEMI") ("DEPTH") ("DIRECT_COLOR") ("EJECT") ("ENCAPSULATED") ("ENCODING") ("FILENAME") ("FLOYD") ("FONT_INDEX") ("FONT_SIZE") ("GET_CURRENT_FONT") ("GET_DECOMPOSED") ("GET_FONTNAMES") ("GET_FONTNUM") ("GET_GRAPHICS_FUNCTION") ("GET_PAGESIZE") ("GET_SCREEN_SIZE") ("GET_VISUAL_DEPTH") ("GET_VISUAL_NAME") ("GET_WINDOW_POSITION") ("GET_WRITE_MASK") ("GIN_CHARS") ("GLYPH_CACHE") ("HELVETICA") ("INCHES") ("INDEX_COLOR") ("ISOLATIN1") ("ITALIC") ("LANDSCAPE") ("LANUAGE_LEVEL") ("LIGHT") ("MEDIUM") ("NARROW") ("NCAR") ("OBLIQUE") ("OPTIMIZE") ("ORDERED") ("OUTPUT") ("PALATINO") ("PIXELS") ("PLOT_TO") ("PLOTTER_ON_OFF") ("POLYFILL") ("PORTRAIT") ("PRE_DEPTH") ("PRE_XSIZE") ("PRE_YSIZE") ("PREVIEW") ("PRINT_FILE") ("PSEUDO_COLOR") ("RESET_STRING") ("RESOLUTION") ("RETAIN") ("SCALE_FACTOR") ("SCHOOLBOOK") ("SET_CHARACTER_SIZE") ("SET_COLORMAP") ("SET_COLORS") ("SET_FONT") ("SET_GRAPHICS_FUNCTION") ("SET_RESOLUTION") ("SET_STRING") ("SET_TRANSLATION") ("SET_WRITE_MASK") ("STATIC_COLOR") ("STATIC_GRAY") ("SYMBOL") ("TEK4014") ("TEK4100") ("TEXT") ("THRESHOLD") ("TIMES") ("TRANSLATION") ("TRUE_COLOR") ("TT_FONT") ("TTY") ("VT240") ("VT241") ("VT340") ("VT341") ("WINDOW_STATE") ("XOFFSET") ("XON_XOFF") ("XSIZE") ("YOFFSET") ("YSIZE") ("Z_BUFFERING") ("ZAPFCHANCERY") ("ZAPFDINGBATS")))
     ("DFPMIN"                 pro nil                 (system) "%s, X, Gtol, Fmin, Func, Dfunc" (("DOUBLE") ("EPS") ("ITER") ("ITMAX") ("STEPMAX") ("TOLX")))
     ("DISSOLVE"               pro nil                 (system) "%s, Image" (("ORDER") ("SIZ") ("WAIT") ("X0") ("Y0")))
     ("DLM_LOAD"               pro nil                 (system) "%s, DLMNameStr1 [, DLMNameStr2,..., DLMNameStrn]" nil)
     ("ERRPLOT"                pro nil                 (system) "%s, [ X, ] Low, High" (("WIDTH")))
     ("EXIT"                   pro nil                 (system) "%s" (("NO_CONFIRM") ("STATUS")))
     ("EXPAND"                 pro nil                 (system) "%s, A, Nx, Ny, Result" (("FILLVAL") ("MAXVAL")))
-    ("FILE_CHMOD"             pro nil                 (system) "%s, File [, Mode]" (("A_EXECUTE") ("A_READ") ("A_WRITE") ("G_EXECTUE") ("G_READ") ("G_WRITE") ("O_EXECTUE") ("O_READ") ("O_WRITE") ("SETGID") ("SETUID") ("STICKY_BIT") ("U_EXECTUE") ("U_READ") ("U_WRITE")))
-    ("FILE_DELETE"            pro nil                 (system) "%s, File1 [,... FileN]" (("QUIET")))
-    ("FILE_MKDIR"             pro nil                 (system) "%s, File1 [,... FileN]" nil)
+    ("FILE_CHMOD"             pro nil                 (system) "%s, File [, Mode]" (("A_EXECUTE") ("A_READ") ("A_WRITE") ("G_EXECTUE") ("G_READ") ("G_WRITE") ("NOEXPAND_PATH") ("O_EXECTUE") ("O_READ") ("O_WRITE") ("SETGID") ("SETUID") ("STICKY_BIT") ("U_EXECTUE") ("U_READ") ("U_WRITE")))
+    ("FILE_DELETE"            pro nil                 (system) "%s, File1 [,... FileN]" (("NOEXPAND_PATH") ("QUIET")))
+    ("FILE_MKDIR"             pro nil                 (system) "%s, File1 [,... FileN]" (("NOEXPAND_PATH")))
     ("FLICK"                  pro nil                 (system) "%s, A, B [, Rate]" nil)
     ("FLOW3"                  pro nil                 (system) "%s, Vx, Vy, Vz" (("ARROWSIZE") ("BLOB") ("LEN") ("NSTEPS") ("NVECS") ("SX") ("SY") ("SZ")))
     ("FLUSH"                  pro nil                 (system) "%s, Unit1, ..., Unitn" nil)
     ("FUNCT"                  pro nil                 (system) "%s, X, A, F [, Pder]" nil)
     ("GAMMA_CT"               pro nil                 (system) "%s, Gamma" (("CURRENT") ("INTENSITY")))
     ("GET_LUN"                pro nil                 (system) "%s, Unit" nil)
+    ("GRID_INPUT"             pro nil                 (system) "%s, X, Y, F, X1, Y1, F1" (("DEGREES") ("DUPLICATES") ("EPSILON") ("EXCLUDE") ("POLAR") ("SPHERE")))
     ("H_EQ_CT"                pro nil                 (system) "%s [, Image]" nil)
     ("H_EQ_INT"               pro nil                 (system) "%s [, Image]" nil)
     ("HANDLE_FREE"            pro nil                 (system) "%s, ID" nil)
     ("HDF_SD_SETEXTFILE"      pro nil                 (system) "%s, SDS_ID, Filename" (("OFFSET")))
     ("HDF_SD_SETINFO"         pro nil                 (system) "%s, SDS_ID" (("CALDATA") ("COORDSYS") ("FILL") ("FORMAT") ("LABEL") ("RANGE") ("UNIT")))
     ("HDF_UNPACKDATA"         pro nil                 (system) "%s, packeddata, data1 [, data2 [, data3 [, data4 [, data5 [, data6 [, data7 [, data8]]]]]]]" (("HDF_ORDER") ("HDF_TYPE") ("NREC")))
+    ("HDF_VD_ATTRINFO"        pro nil                 (system) "%s, VData, FieldID, AttrID, Values" (("COUNT") ("DATA") ("HDF_TYPE") ("NAME") ("TYPE")))
+    ("HDF_VD_ATTRSET"         pro nil                 (system) "%s, VData, FieldID, Attr_Name, Values [, Count]" (("BYTE") ("DFNT_CHAR8") ("DFNT_FLOAT32") ("DFNT_FLOAT64") ("DFNT_INT16") ("DFNT_INT32") ("DFNT_INT8") ("DFNT_UCHAR8") ("DFNT_UINT16") ("DFNT_UINT32") ("DFNT_UINT8") ("DOUBLE") ("FLOAT") ("INT") ("LONG") ("SHORT") ("STRING") ("UINT") ("ULONG")))
     ("HDF_VD_DETACH"          pro nil                 (system) "%s, VData" nil)
     ("HDF_VD_FDEFINE"         pro nil                 (system) "%s, VData, Fieldname" (("BYTE") ("DLONG") ("DOUBLE") ("DULONG") ("FLOAT") ("INT") ("LONG") ("ORDER") ("UINT") ("ULONG")))
     ("HDF_VD_GET"             pro nil                 (system) "%s, VData" (("CLASS") ("COUNT") ("FIELDS") ("INTERLACE") ("NAME") ("NFIELDS") ("REF") ("SIZE") ("TAG")))
     ("HDF_VG_GETTRS"          pro nil                 (system) "%s, VGroup, Tags, Refs" (("MAXSIZE")))
     ("HDF_VG_INSERT"          pro nil                 (system) "%s, VGroup, VData(or Vgroup)" (("POSITION")))
     ("HDF_VG_SETINFO"         pro nil                 (system) "%s, VGroup" (("CLASS") ("NAME")))
+    ("HEAP_FREE"              pro nil                 (system) "%s, Var" (("OBJ") ("PTR") ("VERBOSE")))
     ("HEAP_GC"                pro nil                 (system) "%s" (("OBJ") ("PTR") ("VERBOSE")))
     ("HELP"                   pro nil                 (system) "%s, Expression1, ..., Expressionn" (("ALL_KEYS") ("BREAKPOINTS") ("BRIEF") ("CALLS") ("DEVICE") ("DLM") ("FILES") ("FULL") ("FUNCTIONS") ("HEAP_VARIABLES") ("KEYS") ("LAST_MESSAGE") ("MEMORY") ("MESSAGES") ("NAMES") ("OBJECTS") ("OUTPUT") ("PROCEDURES") ("RECALL_COMMANDS") ("ROUTINES") ("SOURCE_FILES") ("STRUCTURES") ("SYSTEM_VARIABLES") ("TRACEBACK")))
     ("HLS"                    pro nil                 (system) "%s, Litlo, Lithi, Satlo, Sathi, Hue, Loops [, Colr]" nil)
-    ("HOUGH"                  pro nil                 (system) "%s Transform: Result = HOUGH( Array)" (("BACKPROJECT") ("DOUBLE") ("DRHO") ("DX") ("DY") ("GRAY") ("NRHO") ("NTHETA") ("NX") ("NY") ("RHO") ("RMIN") ("THETA") ("XMIN") ("YMIN")))
     ("HSV"                    pro nil                 (system) "%s, Vlo, Vhi, Satlo, Sathi, Hue, Loops [, Colr]" nil)
     ("IDL_SYSRTN_GENERIC"     pro nil                 (system) "%s IDL_SysRtnGetRealPtr(int is_function, char *name)" nil)
     ("IMAGE_CONT"             pro nil                 (system) "%s, A" (("ASPECT") ("INTERP") ("WINDOW_SCALE")))
     ("IMAGE_STATISTICS"       pro nil                 (system) "%s, Data" (("COUNT") ("DATA_SUM") ("LABELED") ("LUT") ("MASK") ("MAXIMUM") ("MEAN") ("MINIMUM") ("STDDEV") ("SUM_OF_SQUARES") ("VARIANCE") ("VECTOR") ("WEIGHT_SUM") ("WEIGHTED")))
+    ("INTERLEAVED"            pro nil                 (system) "%s Result = GRIDDATA( X, F ) Planar Result = GRIDDATA( X, Y, F ) Sphere From Cartesian Coordinates Result = GRIDDATA( X, Y, Z, F)" (("ANISOTROPY") ("DEGREES") ("DELTA") ("DIMENSION") ("EMPTY_SECTORS") ("FAULT_POLYGONS") ("FAULT_XY") ("FUNCTION_TYPE") ("GRID") ("INVERSE_DISTANCE") ("KRIGING") ("LINEAR") ("MAX_PER_SECTOR") ("METHOD") ("MIN_CURVATURE") ("MIN_POINTS") ("MISSING") ("NATURAL_NEIGHBOR") ("NEAREST_NEIGHBOR") ("NEIGHBORHOOD") ("POLYNOMIAL_REGRESSION") ("POWER") ("QUINTIC") ("RADIAL_BASIS_FUNCTION") ("SEARCH_ELLIPSE") ("SECTORS") ("SHEPARDS") ("SMOOTHING") ("SPHERE") ("START") ("TRIANGLES") ("VARIOGRAM") ("XOUT") ("YOUT")))
+    ("INTERVAL_VOLUME"        pro nil                 (system) "%s, Data, Value0, Value1, Outverts, Outconn" (("AUXDATA_IN") ("AUXDATA_OUT") ("GEOM_XYZ") ("TETRAHEDRA")))
     ("ISOCONTOUR"             pro nil                 (system) "%s, Values, Outverts, Outconn" (("AUXDATA_IN") ("AUXDATA_OUT") ("C_VALUE") ("DOUBLE") ("FILL") ("GEOMX") ("GEOMY") ("GEOMZ") ("LEVEL_VALUES") ("N_LEVELS") ("OUTCONN_INDICES") ("POLYGONS")))
     ("ISOSURFACE"             pro nil                 (system) "%s, Data, Value, Outverts, Outconn" (("AUXDATA_IN") ("AUXDATA_OUT") ("GEOM_XYZ") ("TETRAHEDRA")))
     ("JOURNAL"                pro nil                 (system) "%s [, Arg]" nil)
     ("MAP_GRID"               pro nil                 (system) "%s" (("BOX_AXES") ("CHARSIZE") ("CLIP_TEXT") ("COLOR") ("FILL_HORIZON") ("GLINESTYLE") ("GLINETHICK") ("HORIZON") ("INCREMENT") ("LABEL") ("LATALIGN") ("LATDEL") ("LATLAB") ("LATNAMES") ("LATS") ("LONALIGN") ("LONDEL") ("LONLAB") ("LONNAMES") ("LONS") ("NO_GRID") ("ORIENTATION") ("T3D") ("ZVALUE")))
     ("MAP_PROJ_INFO"          pro nil                 (system) "%s [, iproj]" (("AZIMUTHAL") ("CIRCLE") ("CURRENT") ("CYLINDRICAL") ("LL_LIMITS") ("NAME") ("PROJ_NAMES") ("UV_LIMITS") ("UV_RANGE")))
     ("MAP_SET"                pro nil                 (system) "%s [, P0lat, P0lon, Rot]" (("ADVANCE") ("AITOFF") ("ALBERS") ("AZIMUTHAL") ("CENTRAL_AZIMUTH") ("CHARSIZE") ("CLIP") ("COLOR") ("CON_COLOR") ("CONIC") ("CONTINENTS") ("CYLINDRICAL") ("E_CONTINENTS") ("E_GRID") ("E_HORIZON") ("ELLIPSOID") ("GLINESTYLE") ("GLINETHICK") ("GNOMIC") ("GOODESHOMOLOSINE") ("GRID") ("HAMMER") ("HIRES") ("HORIZON") ("ISOTROPIC") ("LABEL") ("LAMBERT") ("LATALIGN") ("LATDEL") ("LATLAB") ("LIMIT") ("LONDEL") ("LONLAB") ("MERCATOR") ("MILLER_CYLINDRICAL") ("MLINESTYLE") ("MLINETHICK") ("MOLLEWIDE") ("NAME") ("NOBORDER") ("NOERASE") ("ORTHOGRAPHIC") ("POSITION") ("REVERSE") ("ROBINSON") ("SAT_P") ("SATELLITE") ("SCALE") ("SINUSOIDAL") ("STANDARD_PARALLELS") ("STEREOGRAPHIC") ("T3D") ("TITLE") ("TRANSVERSE_MERCATOR") ("USA") ("XMARGIN") ("YMARGIN") ("ZVALUE")))
-    ("MESH_OBJ"               pro nil                 (system) "%s, Type, Vertex_List, Polygon_List, Array1 [, Array2]" (("DEGREES") ("P1") ("P2") ("P3") ("P4") ("P5")))
-    ("MESSAGE"                pro nil                 (system) "%s, [Text]" (("CONTINUE") ("INFORMATIONAL") ("IOERROR") ("NONAME") ("NOPREFIX") ("NOPRINT") ("RESET")))
+    ("MESH_OBJ"               pro nil                 (system) "%s, Type, Vertex_List, Polygon_List, Array1 [, Array2]" (("CLOSED") ("DEGREES") ("P1") ("P2") ("P3") ("P4") ("P5")))
+    ("MESSAGE"                pro nil                 (system) "%s, [Text]" (("BLOCK") ("CONTINUE") ("INFORMATIONAL") ("IOERROR") ("NAME") ("NONAME") ("NOPREFIX") ("NOPRINT") ("RESET")))
     ("MK_HTML_HELP"           pro nil                 (system) "%s, Sources, Filename" (("STRICT") ("TITLE") ("VERBOSE")))
     ("MODIFYCT"               pro nil                 (system) "%s, Itab, Name, R, G, B" (("FILE")))
     ("MPEG_CLOSE"             pro nil                 (system) "%s, mpegID" nil)
     ("ON_ERROR"               pro nil                 (system) "%s, N" nil)
     ("ON_IOERROR"             pro nil                 (system) "%s, Label" nil)
     ("ONLINE_HELP"            pro nil                 (system) "%s [, Value]" (("BOOK") ("CONTEXT") ("FULL_PATH") ("HTML_HELP") ("QUIT") ("TOPICS")))
-    ("OPENR"                  pro nil                 (system) "%s, Unit, File [, Record_Length]" (("APPEND") ("BLOCK") ("BUFSIZE") ("COMPRESS") ("DEFAULT") ("DELETE") ("ERROR") ("EXTENDSIZE") ("F77_UNFORMATTED") ("FIXED") ("FORTRAN") ("GET_LUN") ("INITIALSIZE") ("KEYED") ("LIST") ("MACCREATOR") ("MACTYPE") ("MORE") ("NONE") ("PRINT") ("RAWIO") ("SEGMENTED") ("SHARED") ("STDIO") ("STREAM") ("SUBMIT") ("SUPERSEDE") ("SWAP_ENDIAN") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TRUNCATE_ON_CLOSE") ("UDF_BLOCK") ("VARIABLE") ("VAX_FLOAT") ("WIDTH") ("XDR")))
-    ("OPENU"                  pro nil                 (system) "%s, Unit, File [, Record_Length]" (("APPEND") ("BLOCK") ("BUFSIZE") ("COMPRESS") ("DEFAULT") ("DELETE") ("ERROR") ("EXTENDSIZE") ("F77_UNFORMATTED") ("FIXED") ("FORTRAN") ("GET_LUN") ("INITIALSIZE") ("KEYED") ("LIST") ("MACCREATOR") ("MACTYPE") ("MORE") ("NONE") ("PRINT") ("RAWIO") ("SEGMENTED") ("SHARED") ("STDIO") ("STREAM") ("SUBMIT") ("SUPERSEDE") ("SWAP_ENDIAN") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TRUNCATE_ON_CLOSE") ("UDF_BLOCK") ("VARIABLE") ("VAX_FLOAT") ("WIDTH") ("XDR")))
-    ("OPENW"                  pro nil                 (system) "%s, Unit, File [, Record_Length]" (("APPEND") ("BLOCK") ("BUFSIZE") ("COMPRESS") ("DEFAULT") ("DELETE") ("ERROR") ("EXTENDSIZE") ("F77_UNFORMATTED") ("FIXED") ("FORTRAN") ("GET_LUN") ("INITIALSIZE") ("KEYED") ("LIST") ("MACCREATOR") ("MACTYPE") ("MORE") ("NONE") ("PRINT") ("RAWIO") ("SEGMENTED") ("SHARED") ("STDIO") ("STREAM") ("SUBMIT") ("SUPERSEDE") ("SWAP_ENDIAN") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TRUNCATE_ON_CLOSE") ("UDF_BLOCK") ("VARIABLE") ("VAX_FLOAT") ("WIDTH") ("XDR")))
+    ("OPENR"                  pro nil                 (system) "%s, Unit, File [, Record_Length]" (("APPEND") ("BLOCK") ("BUFSIZE") ("COMPRESS") ("DEFAULT") ("DELETE") ("ERROR") ("EXTENDSIZE") ("F77_UNFORMATTED") ("FIXED") ("FORTRAN") ("GET_LUN") ("INITIALSIZE") ("KEYED") ("LIST") ("MACCREATOR") ("MACTYPE") ("MORE") ("NOEXPAND_PATH") ("NONE") ("PRINT") ("RAWIO") ("SEGMENTED") ("SHARED") ("STDIO") ("STREAM") ("SUBMIT") ("SUPERSEDE") ("SWAP_ENDIAN") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TRUNCATE_ON_CLOSE") ("UDF_BLOCK") ("VARIABLE") ("VAX_FLOAT") ("WIDTH") ("XDR")))
+    ("OPENU"                  pro nil                 (system) "%s, Unit, File [, Record_Length]" (("APPEND") ("BLOCK") ("BUFSIZE") ("COMPRESS") ("DEFAULT") ("DELETE") ("ERROR") ("EXTENDSIZE") ("F77_UNFORMATTED") ("FIXED") ("FORTRAN") ("GET_LUN") ("INITIALSIZE") ("KEYED") ("LIST") ("MACCREATOR") ("MACTYPE") ("MORE") ("NOEXPAND_PATH") ("NONE") ("PRINT") ("RAWIO") ("SEGMENTED") ("SHARED") ("STDIO") ("STREAM") ("SUBMIT") ("SUPERSEDE") ("SWAP_ENDIAN") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TRUNCATE_ON_CLOSE") ("UDF_BLOCK") ("VARIABLE") ("VAX_FLOAT") ("WIDTH") ("XDR")))
+    ("OPENW"                  pro nil                 (system) "%s, Unit, File [, Record_Length]" (("APPEND") ("BLOCK") ("BUFSIZE") ("COMPRESS") ("DEFAULT") ("DELETE") ("ERROR") ("EXTENDSIZE") ("F77_UNFORMATTED") ("FIXED") ("FORTRAN") ("GET_LUN") ("INITIALSIZE") ("KEYED") ("LIST") ("MACCREATOR") ("MACTYPE") ("MORE") ("NOEXPAND_PATH") ("NONE") ("PRINT") ("RAWIO") ("SEGMENTED") ("SHARED") ("STDIO") ("STREAM") ("SUBMIT") ("SUPERSEDE") ("SWAP_ENDIAN") ("SWAP_IF_BIG_ENDIAN") ("SWAP_IF_LITTLE_ENDIAN") ("TRUNCATE_ON_CLOSE") ("UDF_BLOCK") ("VARIABLE") ("VAX_FLOAT") ("WIDTH") ("XDR")))
     ("OPLOT"                  pro nil                 (system) "%s, [X,] Y" (("CLIP") ("COLOR") ("LINESTYLE") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NSUM") ("POLAR") ("PSYM") ("SYMSIZE") ("T3D") ("THICK") ("ZVALUE")))
     ("OPLOTERR"               pro nil                 (system) "%s, [ X ,] Y , Err [, Psym]" nil)
     ("PARTICLE_TRACE"         pro nil                 (system) "%s, Data, Seeds, Verts, Conn [, Normals]" (("ANISOTROPY") ("INTEGRATION") ("MAX_ITERATIONS") ("MAX_STEPSIZE") ("SEED_NORMAL") ("TOLERANCE") ("UNIFORM")))
-    ("PLOT"                   pro nil                 (system) "%s, [X,] Y" (("BACKGROUND") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("COLOR") ("DATA") ("DEVICE") ("FONT") ("LINESTYLE") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("POLAR") ("POSITION") ("PSYM") ("SUBTITLE") ("SYMSIZE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICK_GET") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICK_GET") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICK_GET") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE") ("ZVALUE")))
-    ("PLOT_3DBOX"             pro nil                 (system) "%s, X, Y, Z" (("AX") ("AZ") ("BACKGROUND") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("COLOR") ("DATA") ("DEVICE") ("GRIDSTYLE") ("LINESTYLE") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("POLAR") ("POSITION") ("PSYM") ("SOLID_WALLS") ("SUBTITLE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("XY_PLANE") ("XYSTYLE") ("XZ_PLANE") ("XZSTYLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("YZ_PLANE") ("YZSTYLE") ("ZAXIS") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE")))
+    ("PLOT"                   pro nil                 (system) "%s, [X,] Y" (("BACKGROUND") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("COLOR") ("DATA") ("DEVICE") ("FONT") ("ISOTROPIC") ("LINESTYLE") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("POLAR") ("POSITION") ("PSYM") ("SUBTITLE") ("SYMSIZE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICK_GET") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICK_GET") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICK_GET") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE") ("ZVALUE")))
+    ("PLOT_3DBOX"             pro nil                 (system) "%s, X, Y, Z" (("AX") ("AZ") ("BACKGROUND") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("COLOR") ("DATA") ("DEVICE") ("GRIDSTYLE") ("ISOTROPIC") ("LINESTYLE") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("POLAR") ("POSITION") ("PSYM") ("SOLID_WALLS") ("SUBTITLE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("XY_PLANE") ("XYSTYLE") ("XZ_PLANE") ("XZSTYLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("YZ_PLANE") ("YZSTYLE") ("ZAXIS") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE")))
     ("PLOT_FIELD"             pro nil                 (system) "%s, U, V" (("ASPECT") ("LENGTH") ("N") ("TITLE")))
     ("PLOTERR"                pro nil                 (system) "%s, [ X ,] Y , Err" (("PSYM") ("TYPE")))
     ("PLOTS"                  pro nil                 (system) "%s, X [, Y [, Z]]" (("CLIP") ("COLOR") ("CONTINUE") ("DATA") ("DEVICE") ("LINESTYLE") ("NOCLIP") ("NORMAL") ("PSYM") ("SYMSIZE") ("T3D") ("THICK") ("Z")))
     ("POINT_LUN"              pro nil                 (system) "%s, Unit, Position" nil)
     ("POLAR_CONTOUR"          pro nil                 (system) "%s, Z, Theta, R" (("C_ANNOTATION") ("C_CHARSIZE") ("C_CHARTHICK") ("C_COLORS") ("C_LINESTYLE") ("C_ORIENTATION") ("C_SPACING") ("C_THICK") ("CLOSED") ("FILL") ("IRREGULAR") ("LEVELS") ("MAX_VALUE") ("MIN_VALUE") ("NLEVELS") ("OVERPLOT") ("PATH_DATA_COORDS") ("SHOW_TRIANGULATION") ("TRIANGULATION") ("XLOG") ("YLOG") ("ZAXIS")))
     ("POLYFILL"               pro nil                 (system) "%s, X [, Y [, Z]]" (("CLIP") ("COLOR") ("DATA") ("DEVICE") ("IMAGE_COORD") ("IMAGE_INTERP") ("LINE_FILL") ("LINESTYLE") ("NOCLIP") ("NORMAL") ("ORIENTATION") ("PATTERN") ("SPACING") ("T3D") ("THICK") ("TRANSPARENT") ("Z")))
-    ("POLYWARP"               pro nil                 (system) "%s, Xi, Yi, Xo, Yo, Degree, Kx, Ky" nil)
+    ("POLYWARP"               pro nil                 (system) "%s, Xi, Yi, Xo, Yo, Degree, Kx, Ky" (("DOUBLE") ("STATUS")))
     ("POPD"                   pro nil                 (system) "%s" nil)
     ("POWELL"                 pro nil                 (system) "%s, P, Xi, Ftol, Fmin, Func" (("DOUBLE") ("ITER") ("ITMAX")))
     ("PRINT"                  pro nil                 (system) "%s [, Expr1, ..., Exprn]" (("AM_PM") ("DAYS_OF_WEEK") ("FORMAT") ("MONTHS") ("REWRITE") ("STDIO_NON_FINITE")))
     ("PSEUDO"                 pro nil                 (system) "%s, Litlo, Lithi, Satlo, Sathi, Hue, Loops [, Colr]" nil)
     ("PTR_FREE"               pro nil                 (system) "%s, P1, ... ..., Pn" nil)
     ("PUSHD"                  pro nil                 (system) "%s, Dir" nil)
-    ("RADON"                  pro nil                 (system) "%s Transform: Result = RADON( Array)" (("BACKPROJECT") ("DOUBLE") ("DRHO") ("DX") ("DY") ("GRAY") ("LINEAR") ("NRHO") ("NTHETA") ("NX") ("NY") ("RHO") ("RMIN") ("THETA") ("XMIN") ("YMIN")))
+    ("QHULL"                  pro nil                 (system) "%s, V, Tr or, QHULL, V0 , V1, [, V2 ... [, V6] ] , Tr" (("BOUNDS") ("CONNECTIVITY") ("DELAUNAY") ("SPHERE") ("VDIAGRAM") ("VNORMALS") ("VVERTICES")))
     ("RDPIX"                  pro nil                 (system) "%s, Image [, X0, Y0]" nil)
     ("READ"                   pro nil                 (system) "%s, [Prompt,] Var1, ..., Varn" (("AM_PM") ("DAYS_OF_WEEK") ("FORMAT") ("KEY_ID") ("KEY_MATCH") ("KEY_VALUE") ("MONTHS") ("PROMPT")))
     ("READ_INTERFILE"         pro nil                 (system) "%s, File, Data" nil)
     ("STRPUT"                 pro nil                 (system) "%s, Destination, Source [, Position]" nil)
     ("STRUCT_ASSIGN"          pro nil                 (system) "%s, Source, Destination" (("NOZERO") ("VERBOSE")))
     ("STRUCT_HIDE"            pro nil                 (system) "%s, Arg1 [, Arg2, ..., Argn]" nil)
-    ("SURFACE"                pro nil                 (system) "%s, Z [, X, Y]" (("AX") ("AZ") ("BACKGROUND") ("BOTTOM") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("COLOR") ("DATA") ("DEVICE") ("FONT") ("HORIZONTAL") ("LEGO") ("LINESTYLE") ("LOWER_ONLY") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("POLAR") ("POSITION") ("SAVE") ("SHADES") ("SKIRT") ("SUBTITLE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("UPPER_ONLY") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICK_GET") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICK_GET") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("ZAXIS") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZLOG") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICK_GET") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE") ("ZVALUE")))
+    ("SURFACE"                pro nil                 (system) "%s, Z [, X, Y]" (("AX") ("AZ") ("BACKGROUND") ("BOTTOM") ("CHARSIZE") ("CHARTHICK") ("CLIP") ("COLOR") ("DATA") ("DEVICE") ("FONT") ("HORIZONTAL") ("ISOTROPIC") ("LEGO") ("LINESTYLE") ("LOWER_ONLY") ("MAX_VALUE") ("MIN_VALUE") ("NOCLIP") ("NODATA") ("NOERASE") ("NORMAL") ("NSUM") ("POLAR") ("POSITION") ("SAVE") ("SHADES") ("SKIRT") ("SUBTITLE") ("T3D") ("THICK") ("TICKLEN") ("TITLE") ("UPPER_ONLY") ("XCHARSIZE") ("XGRIDSTYLE") ("XLOG") ("XMARGIN") ("XMINOR") ("XRANGE") ("XSTYLE") ("XTHICK") ("XTICK_GET") ("XTICKFORMAT") ("XTICKINTERVAL") ("XTICKLAYOUT") ("XTICKLEN") ("XTICKNAME") ("XTICKS") ("XTICKUNITS") ("XTICKV") ("XTITLE") ("YCHARSIZE") ("YGRIDSTYLE") ("YLOG") ("YMARGIN") ("YMINOR") ("YNOZERO") ("YRANGE") ("YSTYLE") ("YTHICK") ("YTICK_GET") ("YTICKFORMAT") ("YTICKINTERVAL") ("YTICKLAYOUT") ("YTICKLEN") ("YTICKNAME") ("YTICKS") ("YTICKUNITS") ("YTICKV") ("YTITLE") ("ZAXIS") ("ZCHARSIZE") ("ZGRIDSTYLE") ("ZLOG") ("ZMARGIN") ("ZMINOR") ("ZRANGE") ("ZSTYLE") ("ZTHICK") ("ZTICK_GET") ("ZTICKFORMAT") ("ZTICKINTERVAL") ("ZTICKLAYOUT") ("ZTICKLEN") ("ZTICKNAME") ("ZTICKS") ("ZTICKUNITS") ("ZTICKV") ("ZTITLE") ("ZVALUE")))
     ("SURFR"                  pro nil                 (system) "%s" (("AX") ("AZ")))
     ("SVDC"                   pro nil                 (system) "%s, A, W, U, V" (("COLUMN") ("DOUBLE") ("ITMAX")))
     ("T3D"                    pro nil                 (system) "%s [, Array]" (("MATRIX") ("OBLIQUE") ("PERSPECTIVE") ("RESET") ("ROTATE") ("SCALE") ("TRANSLATE") ("XYEXCH") ("XZEXCH") ("YZEXCH")))
     ("TV"                     pro nil                 (system) "%s, Image [, Position] or TV, Image [, X, Y [, Channel]]" (("CENTIMETERS") ("CHANNEL") ("DATA") ("DEVICE") ("INCHES") ("NORMAL") ("ORDER") ("T3D") ("TRUE") ("WORDS") ("XSIZE") ("YSIZE") ("Z")))
     ("TVCRS"                  pro nil                 (system) "%s [, ON_OFF] or TVCRS [, X, Y]" (("CENTIMETERS") ("DATA") ("DEVICE") ("HIDE_CURSOR") ("INCHES") ("NORMAL") ("T3D") ("Z")))
     ("TVLCT"                  pro nil                 (system) "%s, V1, V2, V3 [, Start]" (("GET") ("HLS") ("HSV")))
-    ("TVSCL"                  pro nil                 (system) "%s, Image [, Position] or TVSCL, Image [, X, Y [, Channel]]" (("CENTIMETERS") ("CHANNEL") ("DATA") ("DEVICE") ("INCHES") ("NAN") ("NORMAL") ("ORDER") ("T3D") ("TOP") ("TRUE") ("WORDS") ("XSIZE") ("YSIZE") ("Z")))
+    ("TVSCL"                  pro nil                 (system) "%s, Image [, Position] or TVSCL, Image [, X, Y [, Channel]]" (("CENTIMETERS") ("CHANNEL") ("DATA") ("DEVICE") ("INCHES") ("NAN") ("NORMAL") ("ORDER") ("T3D") ("TOP") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD") ("TRUE") ("WORDS") ("XSIZE") ("YSIZE") ("Z")))
     ("USERSYM"                pro nil                 (system) "%s, X [, Y]" (("COLOR") ("FILL") ("THICK")))
     ("VECTOR_FIELD"           pro nil                 (system) "%s, Field, Outverts, Outconn" (("ANISOTROPY") ("SCALE") ("VERTICES")))
     ("VEL"                    pro nil                 (system) "%s, U, V" (("LENGTH") ("NSTEPS") ("NVECS") ("TITLE") ("XMAX")))
     ("WEOF"                   pro nil                 (system) "%s, Unit" nil)
     ("WF_DRAW"                pro nil                 (system) "%s, X, Y" (("COLD") ("COLOR") ("CONVERGENCE") ("DATA") ("DEVICE") ("FRONT_TYPE") ("INTERVAL") ("NORMAL") ("OCCLUDED") ("PSYM") ("STATIONARY") ("SYM_HT") ("SYM_LEN") ("THICK") ("WARM")))
     ("WIDED"                  pro nil                 (system) "%s" nil)
-    ("WIDGET_CONTROL"         pro nil                 (system) "%s [, Widget_ID]" (("ALIGNMENT") ("ALL_TABLE_EVENTS") ("ALL_TEXT_EVENTS") ("AM_PM") ("APPEND") ("BAD_ID") ("BITMAP") ("CANCEL_BUTTON") ("CLEAR_EVENTS") ("COLUMN_LABELS") ("COLUMN_WIDTHS") ("DAYS_OF_WEEK") ("DEFAULT_BUTTON") ("DEFAULT_FONT") ("DELAY_DESTROY") ("DELETE_COLUMNS") ("DELETE_ROWS") ("DESTROY") ("DRAW_BUTTON_EVENTS") ("DRAW_EXPOSE_EVENTS") ("DRAW_MOTION_EVENTS") ("DRAW_VIEWPORT_EVENTS") ("DRAW_XSIZE") ("DRAW_YSIZE") ("DYNAMIC_RESIZE") ("EDIT_CELL") ("EDITABLE") ("EVENT_FUNC") ("EVENT_PRO") ("FORMAT") ("FUNC_GET_VALUE") ("GET_DRAW_VIEW") ("GET_UVALUE") ("GET_VALUE") ("GROUP_LEADER") ("HOURGLASS") ("ICONIFY") ("INPUT_FOCUS") ("INSERT_COLUMNS") ("INSERT_ROWS") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("MAP") ("MONTHS") ("NO_COPY") ("NO_NEWLINE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("REALIZE") ("RESET") ("ROW_HEIGHTS") ("ROW_LABELS") ("SCR_XSIZE") ("SCR_YSIZE") ("SEND_EVENT") ("SENSITIVE") ("SET_BUTTON") ("SET_DRAW_VIEW") ("SET_DROPLIST_SELECT") ("SET_LIST_SELECT") ("SET_LIST_TOP") ("SET_SLIDER_MAX") ("SET_SLIDER_MIN") ("SET_TABLE_SELECT") ("SET_TABLE_VIEW") ("SET_TEXT_SELECT") ("SET_TEXT_TOP_LINE") ("SET_UNAME") ("SET_UVALUE") ("SET_VALUE") ("SHOW") ("TABLE_XSIZE") ("TABLE_YSIZE") ("TIMER") ("TLB_GET_OFFSET") ("TLB_GET_SIZE") ("TLB_KILL_REQUEST_EVENTS") ("TLB_SET_TITLE") ("TLB_SET_XOFFSET") ("TLB_SET_YOFFSET") ("TRACKING_EVENTS") ("UNITS") ("UPDATE") ("USE_TABLE_SELECT") ("USE_TEXT_SELECT") ("X_BITMAP_EXTRA") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
+    ("WIDGET_CONTROL"         pro nil                 (system) "%s [, Widget_ID]" (("ALIGNMENT") ("ALL_TABLE_EVENTS") ("ALL_TEXT_EVENTS") ("AM_PM") ("APPEND") ("BAD_ID") ("BITMAP") ("CANCEL_BUTTON") ("CLEAR_EVENTS") ("COLUMN_LABELS") ("COLUMN_WIDTHS") ("CONTEXT_MENU") ("DAYS_OF_WEEK") ("DEFAULT_BUTTON") ("DEFAULT_FONT") ("DELAY_DESTROY") ("DELETE_COLUMNS") ("DELETE_ROWS") ("DESTROY") ("DRAW_BUTTON_EVENTS") ("DRAW_EXPOSE_EVENTS") ("DRAW_MOTION_EVENTS") ("DRAW_VIEWPORT_EVENTS") ("DRAW_XSIZE") ("DRAW_YSIZE") ("DYNAMIC_RESIZE") ("EDIT_CELL") ("EDITABLE") ("EVENT_FUNC") ("EVENT_PRO") ("FORMAT") ("FUNC_GET_VALUE") ("GET_DRAW_VIEW") ("GET_UVALUE") ("GET_VALUE") ("GROUP_LEADER") ("HOURGLASS") ("ICONIFY") ("INPUT_FOCUS") ("INSERT_COLUMNS") ("INSERT_ROWS") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("MAP") ("MONTHS") ("NO_COPY") ("NO_NEWLINE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("REALIZE") ("RESET") ("ROW_HEIGHTS") ("ROW_LABELS") ("SCR_XSIZE") ("SCR_YSIZE") ("SEND_EVENT") ("SENSITIVE") ("SET_BUTTON") ("SET_DRAW_VIEW") ("SET_DROPLIST_SELECT") ("SET_LIST_SELECT") ("SET_LIST_TOP") ("SET_SLIDER_MAX") ("SET_SLIDER_MIN") ("SET_TABLE_SELECT") ("SET_TABLE_VIEW") ("SET_TEXT_SELECT") ("SET_TEXT_TOP_LINE") ("SET_UNAME") ("SET_UVALUE") ("SET_VALUE") ("SHOW") ("TABLE_XSIZE") ("TABLE_YSIZE") ("TIMER") ("TLB_GET_OFFSET") ("TLB_GET_SIZE") ("TLB_KILL_REQUEST_EVENTS") ("TLB_SET_TITLE") ("TLB_SET_XOFFSET") ("TLB_SET_YOFFSET") ("TRACKING_EVENTS") ("UNITS") ("UPDATE") ("USE_TABLE_SELECT") ("USE_TEXT_SELECT") ("X_BITMAP_EXTRA") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
+    ("WIDGET_DISPLAYCONTEXTMENU" pro nil                 (system) "%s, Parent, X, Y, ContextBase_ID" nil)
     ("WINDOW"                 pro nil                 (system) "%s [, Window_Index]" (("COLORS") ("FREE") ("PIXMAP") ("RETAIN") ("TITLE") ("XPOS") ("XSIZE") ("YPOS") ("YSIZE")))
     ("WRITE_BMP"              pro nil                 (system) "%s, Filename, Image[, R, G, B]" (("FOUR_BIT") ("HEADER_DEFINE") ("IHDR") ("RGB")))
     ("WRITE_IMAGE"            pro nil                 (system) "%s, Filename, Format, Data [, Red, Green, Blue]" (("APPEND")))
     ("WRITE_PPM"              pro nil                 (system) "%s, Filename, Image" (("ASCII")))
     ("WRITE_SPR"              pro nil                 (system) "%s, AS, Filename" nil)
     ("WRITE_SRF"              pro nil                 (system) "%s, Filename [, Image, R, G, B]" (("ORDER") ("WRITE_32")))
-    ("WRITE_TIFF"             pro nil                 (system) "%s, Filename [, Image, Order]" (("APPEND") ("BLUE") ("COMPRESSION") ("FLOAT") ("GEOTIFF") ("GREEN") ("LONG") ("PLANARCONFIG") ("RED") ("SHORT") ("VERBOSE") ("XRESOL") ("YRESOL")))
+    ("WRITE_TIFF"             pro nil                 (system) "%s, Filename [, Image, Order]" (("APPEND") ("BITS_PER_SAMPLE") ("BLUE") ("COMPRESSION") ("FLOAT") ("GEOTIFF") ("GREEN") ("LONG") ("ORIENTATION") ("PLANARCONFIG") ("RED") ("SHORT") ("UNITS") ("VERBOSE") ("XRESOL") ("YRESOL")))
     ("WRITE_WAV"              pro nil                 (system) "%s, Filename, Data, Rate" nil)
     ("WRITE_WAVE"             pro nil                 (system) "%s, File, Array" (("BIN") ("DATANAME") ("MESHNAME") ("NOMESHDEF") ("VECTOR")))
     ("WRITEU"                 pro nil                 (system) "%s, Unit, Expr1 ..., Exprn" (("REWRITE") ("TRANSFER_COUNT")))
     ("XMANAGER"               pro nil                 (system) "%s [, Name, ID]" (("CATCH") ("CLEANUP") ("EVENT_HANDLER") ("GROUP_LEADER") ("JUST_REG") ("NO_BLOCK")))
     ("XMNG_TMPL"              pro nil                 (system) "%s" (("BLOCK") ("GROUP")))
     ("XMTOOL"                 pro nil                 (system) "%s" (("BLOCK") ("GROUP")))
-    ("XOBJVIEW"               pro nil                 (system) "%s, Obj" (("BACKGROUND") ("BLOCK") ("DOUBLE_VIEW") ("GROUP") ("MODAL") ("REFRESH") ("SCALE") ("STATIONARY") ("TEST") ("TITLE") ("TLB") ("XSIZE") ("YSIZE")))
+    ("XOBJVIEW"               pro nil                 (system) "%s, Obj" (("BACKGROUND") ("BLOCK") ("DOUBLE_VIEW") ("GROUP") ("JUST_REG") ("MODAL") ("REFRESH") ("RENDERER") ("SCALE") ("STATIONARY") ("TEST") ("TITLE") ("TLB") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
+    ("XOBJVIEW_ROTATE"        pro nil                 (system) "%s, Axis, Angle" (("PREMULTIPLY")))
+    ("XOBJVIEW_WRITE_IMAGE"   pro nil                 (system) "%s, Filename, Format" (("DIMENSIONS")))
     ("XPALETTE"               pro nil                 (system) "%s" (("BLOCK") ("GROUP") ("UPDATECALLBACK") ("UPDATECBDATA")))
     ("XPCOLOR"                pro nil                 (system) "%s" (("GROUP")))
     ("XPLOT3D"                pro nil                 (system) "%s, X, Y, Z" (("BLOCK") ("COLOR") ("DOUBLE_VIEW") ("GROUP") ("LINESTYLE") ("MODAL") ("NAME") ("OVERPLOT") ("SYMBOL") ("TEST") ("THICK") ("TITLE") ("XRANGE") ("XTITLE") ("YRANGE") ("YTITLE") ("ZRANGE") ("ZTITLE")))
     ("ZOOM"                   pro nil                 (system) "%s" (("CONTINUOUS") ("FACT") ("INTERP") ("KEEP") ("NEW_WINDOW") ("XSIZE") ("YSIZE") ("ZOOM_WINDOW")))
     ("ZOOM_24"                pro nil                 (system) "%s" (("FACT") ("RIGHT") ("XSIZE") ("YSIZE")))
     ("A_CORRELATE"            fun nil                 (system) "Result = %s(X, Lag)" (("COVARIANCE") ("DOUBLE")))
-    ("ABS"                    fun nil                 (system) "Result = %s(X)" nil)
-    ("ACOS"                   fun nil                 (system) "Result = %s(X)" nil)
-    ("ADAPT_HIST_EQUAL"       fun nil                 (system) "Result = %s (Image)" (("CLIP") ("NREGIONS") ("TOP")))
-    ("ALOG"                   fun nil                 (system) "Result = %s(X)" nil)
-    ("ALOG10"                 fun nil                 (system) "Result = %s(X)" nil)
+    ("ABS"                    fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("ACOS"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("ADAPT_HIST_EQUAL"       fun nil                 (system) "Result = %s (Image)" (("CLIP") ("FCN") ("NREGIONS") ("TOP")))
+    ("ALOG"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("ALOG10"                 fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("AMOEBA"                 fun nil                 (system) "Result = %s( Ftol)" (("FUNCTION_NAME") ("FUNCTION_VALUE") ("NCALLS") ("NMAX") ("P0") ("SCALE") ("SIMPLEX")))
     ("ARG_PRESENT"            fun nil                 (system) "Result = %s(Variable)" nil)
     ("ARRAY_EQUAL"            fun nil                 (system) "Result = %s( Op1 , Op2)" (("NO_TYPECONV")))
     ("ASCII_TEMPLATE"         fun nil                 (system) "Result = %s( [Filename])" (("BROWSE_LINES") ("CANCEL") ("GROUP")))
-    ("ASIN"                   fun nil                 (system) "Result = %s(X)" nil)
+    ("ASIN"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("ASSOC"                  fun nil                 (system) "Result = %s( Unit, Array_Structure [, Offset])" (("PACKED")))
-    ("ATAN"                   fun nil                 (system) "Result = %s([Y,] X)" nil)
+    ("ATAN"                   fun nil                 (system) "Result = %s([Y,] X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("BESELI"                 fun nil                 (system) "Result = %s(X, N)" nil)
     ("BESELJ"                 fun nil                 (system) "Result = %s(X, N)" nil)
     ("BESELK"                 fun nil                 (system) "Result = %s( X, N )" nil)
     ("BILINEAR"               fun nil                 (system) "Result = %s(P, IX, JY)" nil)
     ("BIN_DATE"               fun nil                 (system) "Result = %s(Ascii_Time)" nil)
     ("BINARY_TEMPLATE"        fun nil                 (system) "Template = %s ( [Filename])" (("CANCEL") ("GROUP") ("N_ROWS") ("TEMPLATE")))
-    ("BINDGEN"                fun nil                 (system) "Result = %s(D1, ...,D8)" nil)
+    ("BINDGEN"                fun nil                 (system) "Result = %s(D1, ...,D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("BINOMIAL"               fun nil                 (system) "Result = %s(V, N, P)" (("DOUBLE") ("GAUSSIAN")))
     ("BLK_CON"                fun nil                 (system) "Result = %s( Filter, Signal)" (("B_LENGTH") ("DOUBLE")))
     ("BROYDEN"                fun nil                 (system) "Result = %s( X, Vecfunc)" (("CHECK") ("DOUBLE") ("EPS") ("ITMAX") ("STEPMAX") ("TOLF") ("TOLMIN") ("TOLX")))
     ("BYTARR"                 fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
-    ("BYTE"                   fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" nil)
-    ("BYTSCL"                 fun nil                 (system) "Result = %s( Array)" (("MAX") ("MIN") ("NAN") ("TOP")))
+    ("BYTE"                   fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("BYTSCL"                 fun nil                 (system) "Result = %s( Array)" (("MAX") ("MIN") ("NAN") ("TOP") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("C_CORRELATE"            fun nil                 (system) "Result = %s( X, Y, Lag)" (("COVARIANCE") ("DOUBLE")))
     ("CALL_EXTERNAL"          fun nil                 (system) "Result = %s(Image, Entry [, P0, ..., PN-1])" (("ALL_VALUE") ("AUTOGLUE") ("B_VALUE") ("CC") ("CDECL") ("COMPILE_DIRECTORY") ("D_VALUE") ("DEFAULT") ("EXTRA_CFLAGS") ("EXTRA_LFLAGS") ("F_VALUE") ("I_VALUE") ("IGNORE_EXISTING_GLUE") ("L64_VALUE") ("LD") ("NOCLEANUP") ("PORTABLE") ("RETURN_TYPE") ("S_VALUE") ("SHOW_ALL_OUTPUT") ("UI_VALUE") ("UL64_VALUE") ("UL_VALUE") ("UNLOAD") ("VALUE") ("VAX_FLOAT") ("VERBOSE") ("WRITE_WRAPPER")))
     ("CALL_FUNCTION"          fun nil                 (system) "Result = %s(Name [, P1, ..., Pn])" nil)
     ("CDF_VARCREATE"          fun nil                 (system) "Result = %s( Id, Name [, DimVary])" (("ALLOCATERECS") ("CDF_BYTE") ("CDF_CHAR") ("CDF_DOUBLE") ("CDF_EPOCH") ("CDF_FLOAT") ("CDF_INT1") ("CDF_INT2") ("CDF_INT4") ("CDF_REAL4") ("CDF_REAL8") ("CDF_UCHAR") ("CDF_UINT1") ("CDF_UINT2") ("CDF_UINT4") ("DIMENSIONS") ("NUMELEM") ("REC_NOVARY") ("REC_VARY") ("ZVARIABLE")))
     ("CDF_VARINQ"             fun nil                 (system) "Result = %s( Id, Variable)" (("ZVARIABLE")))
     ("CDF_VARNUM"             fun nil                 (system) "Result = %s( Id, VarName [, IsZVar] )" nil)
-    ("CEIL"                   fun nil                 (system) "Result = %s(X)" (("L64")))
+    ("CEIL"                   fun nil                 (system) "Result = %s(X)" (("L64") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("CHEBYSHEV"              fun nil                 (system) "Result = %s(D, N)" nil)
     ("CHECK_MATH"             fun nil                 (system) "Result = %s()" (("MASK") ("NOCLEAR") ("PRINT")))
     ("CHISQR_CVF"             fun nil                 (system) "Result = %s(P, Df)" nil)
     ("CHISQR_PDF"             fun nil                 (system) "Result = %s(V, Df)" nil)
     ("CHOLSOL"                fun nil                 (system) "Result = %s( A, P, B)" (("DOUBLE")))
-    ("CINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
+    ("CINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("CLUST_WTS"              fun nil                 (system) "Result = %s( Array)" (("DOUBLE") ("N_CLUSTERS") ("N_ITERATIONS") ("VARIABLE_WTS")))
     ("CLUSTER"                fun nil                 (system) "Result = %s( Array, Weights)" (("DOUBLE") ("N_CLUSTERS")))
     ("COLOR_QUAN"             fun nil                 (system) "Result = %s( Image_R, Image_G, Image_B, R, G, B) or Result = COLOR_QUAN( Image, Dim, R, G, B )" (("COLORS") ("CUBE") ("DITHER") ("ERROR") ("GET_TRANSLATION") ("MAP_ALL") ("TRANSLATION")))
     ("COLORMAP_APPLICABLE"    fun nil                 (system) "Result = %s( redrawRequired )" nil)
     ("COMFIT"                 fun nil                 (system) "Result = %s( X, Y, A)" (("EXPONENTIAL") ("GEOMETRIC") ("GOMPERTZ") ("HYPERBOLIC") ("LOGISTIC") ("LOGSQUARE") ("SIGMA") ("WEIGHTS") ("YFIT")))
-    ("COMPLEX"                fun nil                 (system) "Result = %s( Real [, Imaginary] ) or Result = COMPLEX(Expression, Offset, Dim1 [, ..., Dim8])" nil)
+    ("COMPLEX"                fun nil                 (system) "Result = %s( Real [, Imaginary] ) or Result = COMPLEX(Expression, Offset, Dim1 [, ..., Dim8])" (("DOUBLE") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("COMPLEXARR"             fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("COMPLEXROUND"           fun nil                 (system) "Result = %s(Input)" nil)
     ("COMPUTE_MESH_NORMALS"   fun nil                 (system) "Result = %s( fVerts[, iConn] )" nil)
-    ("COND"                   fun nil                 (system) "Result = %s( A)" (("DOUBLE")))
-    ("CONGRID"                fun nil                 (system) "Result = %s( Array, X, Y, Z)" (("CUBIC") ("INTERP") ("MINUS_ONE")))
-    ("CONJ"                   fun nil                 (system) "Result = %s(X)" nil)
+    ("COND"                   fun nil                 (system) "Result = %s( A)" (("DOUBLE") ("LNORM")))
+    ("CONGRID"                fun nil                 (system) "Result = %s( Array, X, Y, Z)" (("CENTER") ("CUBIC") ("INTERP") ("MINUS_ONE")))
+    ("CONJ"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("CONVERT_COORD"          fun nil                 (system) "Result = %s( X [, Y [, Z]])" (("DATA") ("DEVICE") ("DOUBLE") ("NORMAL") ("T3D") ("TO_DATA") ("TO_DEVICE") ("TO_NORMAL")))
-    ("CONVOL"                 fun nil                 (system) "Result = %s( Array, Kernel [, Scale_Factor])" (("CENTER") ("EDGE_TRUNCATE") ("EDGE_WRAP")))
+    ("CONVOL"                 fun nil                 (system) "Result = %s( Array, Kernel [, Scale_Factor])" (("CENTER") ("EDGE_TRUNCATE") ("EDGE_WRAP") ("MISSING") ("NAN") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("COORD2TO3"              fun nil                 (system) "Result = %s( Mx, My, Dim, D0 [, PTI] )" nil)
     ("CORRELATE"              fun nil                 (system) "Result = %s( X [, Y])" (("COVARIANCE") ("DOUBLE")))
-    ("COS"                    fun nil                 (system) "Result = %s(X)" nil)
+    ("COS"                    fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("COSH"                   fun nil                 (system) "Result = %s(X)" nil)
     ("CRAMER"                 fun nil                 (system) "Result = %s( A, B)" (("DOUBLE") ("ZERO")))
     ("CREATE_STRUCT"          fun nil                 (system) "Result = %s( [Tag1, Value1, ..., Tagn, Valuen] ) or Result = CREATE_STRUCT()" (("NAME")))
     ("CW_FIELD"               fun nil                 (system) "Result = %s( Parent)" (("ALL_EVENTS") ("COLUMN") ("FIELDFONT") ("FLOATING") ("FONT") ("FRAME") ("INTEGER") ("LONG") ("NOEDIT") ("RETURN_EVENTS") ("ROW") ("STRING") ("TEXT_FRAME") ("TITLE") ("UNAME") ("UVALUE") ("VALUE") ("XSIZE") ("YSIZE")))
     ("CW_FILESEL"             fun nil                 (system) "Result = %s ( Parent)" (("FILENAME") ("FILTER") ("FIX_FILTER") ("FRAME") ("IMAGE_FILTER") ("MULTIPLE") ("PATH") ("SAVE") ("UNAME") ("UVALUE") ("WARN_EXIST")))
     ("CW_FORM"                fun nil                 (system) "Result = %s( [Parent,] Desc)" (("COLUMN") ("IDS") ("TITLE") ("UNAME") ("UVALUE")))
-    ("CW_FSLIDER"             fun nil                 (system) "Result = %s( Parent)" (("DRAG") ("EDIT") ("FORMAT") ("FRAME") ("MAXIMUM") ("MINIMUM") ("SCROLL") ("SUPRESS_VALUE") ("TITLE") ("UNAME") ("UVALUE") ("VALUE") ("VERTICAL") ("XSIZE") ("YSIZE")))
+    ("CW_FSLIDER"             fun nil                 (system) "Result = %s( Parent)" (("DOUBLE") ("DRAG") ("EDIT") ("FORMAT") ("FRAME") ("MAXIMUM") ("MINIMUM") ("SCROLL") ("SUPPRESS_VALUE") ("TITLE") ("UNAME") ("UVALUE") ("VALUE") ("VERTICAL") ("XSIZE") ("YSIZE")))
     ("CW_LIGHT_EDITOR"        fun nil                 (system) "Result = %s (Parent)" (("DIRECTION_DISABLED") ("DRAG_EVENTS") ("FRAME") ("HIDE_DISABLED") ("LIGHT") ("LOCATION_DISABLED") ("TYPE_DISABLED") ("UVALUE") ("XRANGE") ("XSIZE") ("YRANGE") ("YSIZE") ("ZRANGE")))
     ("CW_ORIENT"              fun nil                 (system) "Result = %s( Parent)" (("AX") ("AZ") ("FRAME") ("TITLE") ("UNAME") ("UVALUE") ("XSIZE") ("YSIZE")))
     ("CW_PALETTE_EDITOR"      fun nil                 (system) "Result = %s (Parent)" (("DATA") ("FRAME") ("HISTOGRAM") ("HORIZONTAL") ("SELECTION") ("UNAME") ("UVALUE") ("XSIZE") ("YSIZE")))
-    ("CW_PDMENU"              fun nil                 (system) "Result = %s( Parent, Desc)" (("COLUMN") ("DELIMITER") ("FONT") ("HELP") ("IDS") ("MBAR") ("RETURN_FULL_NAME") ("RETURN_ID") ("RETURN_INDEX") ("RETURN_NAME") ("UNAME") ("UVALUE") ("XOFFSET") ("YOFFSET")))
+    ("CW_PDMENU"              fun nil                 (system) "Result = %s( Parent, Desc)" (("COLUMN") ("CONTEXT_MENU") ("DELIMITER") ("FONT") ("HELP") ("IDS") ("MBAR") ("RETURN_FULL_NAME") ("RETURN_ID") ("RETURN_INDEX") ("RETURN_NAME") ("UNAME") ("UVALUE") ("XOFFSET") ("YOFFSET")))
     ("CW_RGBSLIDER"           fun nil                 (system) "Result = %s( Parent)" (("CMY") ("COLOR_INDEX") ("DRAG") ("FRAME") ("GRAPHICS_LEVEL") ("HLS") ("HSV") ("LENGTH") ("RGB") ("UNAME") ("UVALUE") ("VALUE") ("VERTICAL")))
     ("CW_TMPL"                fun nil                 (system) "Result = %s( Parent)" (("UNAME") ("UVALUE")))
     ("CW_ZOOM"                fun nil                 (system) "Result = %s( Parent)" (("FRAME") ("MAX") ("MIN") ("RETAIN") ("SAMPLE") ("SCALE") ("TRACK") ("UNAME") ("UVALUE") ("X_SCROLL_SIZE") ("X_ZSIZE") ("XSIZE") ("Y_SCROLL_SIZE") ("Y_ZSIZE") ("YSIZE")))
     ("DBLARR"                 fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
-    ("DCINDGEN"               fun nil                 (system) "Result = %s( D1, ..., D8 )" nil)
-    ("DCOMPLEX"               fun nil                 (system) "Result = %s( Real [, Imaginary] ) or Result = DCOMPLEX( Expression, Offset, Dim1 [, ..., Dim8] )" nil)
+    ("DCINDGEN"               fun nil                 (system) "Result = %s( D1, ..., D8 )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("DCOMPLEX"               fun nil                 (system) "Result = %s( Real [, Imaginary] ) or Result = DCOMPLEX( Expression, Offset, Dim1 [, ..., Dim8] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("DCOMPLEXARR"            fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("DEFROI"                 fun nil                 (system) "Result = %s( Sx, Sy [, Xverts, Yverts])" (("NOFILL") ("NOREGION") ("RESTORE") ("X0") ("Y0") ("ZOOM")))
     ("DEMO_MODE"              fun nil                 (system) "Result = %s()" nil)
     ("DIALOG_WRITE_IMAGE"     fun nil                 (system) "Result = %s ( Image [, R, G, B])" (("DIALOG_PARENT") ("FILE") ("FIX_TYPE") ("NOWRITE") ("OPTIONS") ("PATH") ("TITLE") ("TYPE") ("WARN_EXIST")))
     ("DIGITAL_FILTER"         fun nil                 (system) "Result = %s( Flow, Fhigh, A, Nterms )" nil)
     ("DILATE"                 fun nil                 (system) "Result = %s( Image, Structure [, X0 [, Y0 [, Z0]]])" (("BACKGROUND") ("CONSTRAINED") ("GRAY") ("PRESERVE_TYPE") ("UINT") ("ULONG") ("VALUES")))
-    ("DINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
+    ("DINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("DIST"                   fun nil                 (system) "Result = %s(N [, M])" nil)
-    ("DOUBLE"                 fun nil                 (system) "Result = %s(Expression[, Offset [, Dim1, ..., Dimn]])" nil)
+    ("DOUBLE"                 fun nil                 (system) "Result = %s(Expression[, Offset [, Dim1, ..., Dimn]])" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("EIGENQL"                fun nil                 (system) "Result = %s( A)" (("ABSOLUTE") ("ASCENDING") ("DOUBLE") ("EIGENVECTORS") ("OVERWRITE") ("RESIDUAL")))
     ("EIGENVEC"               fun nil                 (system) "Result = %s( A, Eval)" (("DOUBLE") ("ITMAX") ("RESIDUAL")))
     ("ELMHES"                 fun nil                 (system) "Result = %s( A)" (("COLUMN") ("DOUBLE") ("NO_BALANCE")))
     ("EOS_SW_WRITEDATAMETA"   fun nil                 (system) "Result = %s(swathID, fieldname, dimlist, numbertype)" nil)
     ("EOS_SW_WRITEFIELD"      fun nil                 (system) "Result = %s( swathID, fieldname, cut, data)" (("EDGE") ("START") ("STRIDE")))
     ("EOS_SW_WRITEGEOMETA"    fun nil                 (system) "Result = %s(swathID, fieldname, dimlist, numbertype)" nil)
+    ("ERF"                    fun nil                 (system) "Result = %s(X)" nil)
+    ("ERFC"                   fun nil                 (system) "Result = %s(X)" nil)
+    ("ERFCX"                  fun nil                 (system) "Result = %s(X)" nil)
     ("ERODE"                  fun nil                 (system) "Result = %s( Image, Structure [, X0 [, Y0 [, Z0]]])" (("GRAY") ("PRESERVE_TYPE") ("UINT") ("ULONG") ("VALUES")))
-    ("ERRORF"                 fun nil                 (system) "Result = %s(X)" nil)
+    ("ERRORF"                 fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("EXECUTE"                fun nil                 (system) "Result = %s(String [, QuietCompile])" nil)
-    ("EXP"                    fun nil                 (system) "Result = %s(Expression)" nil)
+    ("EXP"                    fun nil                 (system) "Result = %s(Expression)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("EXPAND_PATH"            fun nil                 (system) "Result = %s( String)" (("ALL_DIRS") ("ARRAY") ("COUNT") ("DLM") ("HELP")))
-    ("EXPINT"                 fun nil                 (system) "Result = %s( N, X)" (("DOUBLE") ("EPS") ("ITMAX")))
+    ("EXPINT"                 fun nil                 (system) "Result = %s( N, X)" (("DOUBLE") ("EPS") ("ITMAX") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("EXTRAC"                 fun nil                 (system) "Result = %s( Array, C1, C2, ..., Cn, S1, S2, ..., Sn )" nil)
     ("EXTRACT_SLICE"          fun nil                 (system) "Result = %s( Vol, Xsize, Ysize, Xcenter, Ycenter, Zcenter, Xrot, Yrot, Zrot)" (("ANISOTROPY") ("CUBIC") ("OUT_VAL") ("RADIANS") ("SAMPLE") ("VERTICES")))
     ("F_CVF"                  fun nil                 (system) "Result = %s(P, Dfn, Dfd)" nil)
     ("F_PDF"                  fun nil                 (system) "Result = %s(V, Dfn, Dfd)" nil)
     ("FACTORIAL"              fun nil                 (system) "Result = %s( N)" (("STIRLING") ("UL64")))
-    ("FFT"                    fun nil                 (system) "Result = %s( Array [, Direction])" (("DOUBLE") ("INVERSE") ("OVERWRITE")))
+    ("FFT"                    fun nil                 (system) "Result = %s( Array [, Direction])" (("DIMENSION") ("DOUBLE") ("INVERSE") ("OVERWRITE") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("FILE_EXPAND_PATH"       fun nil                 (system) "Result = %s (Path)" nil)
-    ("FILE_TEST"              fun nil                 (system) "Result = %s( File)" (("BLOCK_SPECIAL") ("CHARACTER_SPECIAL") ("DANGLING_SYMLINK") ("DIRECTORY") ("EXECUTABLE") ("GET_MODE") ("GROUP") ("NAMED_PIPE") ("READ") ("REGULAR") ("SETGID") ("SETUID") ("SOCKET") ("STICKY_BIT") ("SYMLINK") ("USER") ("WRITE") ("ZERO_LENGTH")))
+    ("FILE_INFO"              fun nil                 (system) "Result = %s(Path)" (("NOEXPAND_PATH")))
+    ("FILE_SEARCH"            fun nil                 (system) "Result = %s(Path_Specification) or for recursive searching, Result = FILE_SEARCH(Dir_Specification, Recur_Pattern)" (("COUNT") ("EXPAND_ENVIRONMENT") ("EXPAND_TILDE") ("FOLD_CASE") ("FULLY_QUALIFY_PATH") ("ISSUE_ACCESS_ERROR") ("MARK_DIRECTORY") ("MATCH_ALL_INITIAL_DOT") ("MATCH_INITIAL_DOT") ("NOSORT") ("QUOTE") ("TEST_BLOCK_SPECIAL") ("TEST_CHARACTER_SPECIAL") ("TEST_DANGLING_SYMLINK") ("TEST_DIRECTORY") ("TEST_EXECUTABLE") ("TEST_GROUP") ("TEST_NAMED_PIPE") ("TEST_READ") ("TEST_REGULAR") ("TEST_SETGID") ("TEST_SETUID") ("TEST_SOCKET") ("TEST_STICKY_BIT") ("TEST_SYMLINK") ("TEST_USER") ("TEST_WRITE") ("TEST_ZERO_LENGTH")))
+    ("FILE_TEST"              fun nil                 (system) "Result = %s( File)" (("BLOCK_SPECIAL") ("CHARACTER_SPECIAL") ("DANGLING_SYMLINK") ("DIRECTORY") ("EXECUTABLE") ("GET_MODE") ("GROUP") ("NAMED_PIPE") ("NOEXPAND_PATH") ("READ") ("REGULAR") ("SETGID") ("SETUID") ("SOCKET") ("STICKY_BIT") ("SYMLINK") ("USER") ("WRITE") ("ZERO_LENGTH")))
     ("FILE_WHICH"             fun nil                 (system) "Result = %s( [Path, ] File)" (("INCLUDE_CURRENT_DIR")))
     ("FILEPATH"               fun nil                 (system) "Result = %s( Filename)" (("ROOT_DIR") ("SUBDIRECTORY") ("TERMINAL") ("TMP")))
     ("FINDFILE"               fun nil                 (system) "Result = %s( File_Specification)" (("COUNT")))
-    ("FINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
-    ("FINITE"                 fun nil                 (system) "Result = %s( X)" (("INFINITY") ("NAN")))
-    ("FIX"                    fun nil                 (system) "Result = %s( Expression [, Offset [, Dim1, ..., Dim8]])" (("PRINT") ("TYPE")))
-    ("FLOAT"                  fun nil                 (system) "Result = %s( Expression [, Offset [, Dim1, ..., Dim8]] )" nil)
-    ("FLOOR"                  fun nil                 (system) "Result = %s(X)" (("L64")))
+    ("FINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("FINITE"                 fun nil                 (system) "Result = %s( X)" (("INFINITY") ("NAN") ("SIGN") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("FIX"                    fun nil                 (system) "Result = %s( Expression [, Offset [, Dim1, ..., Dim8]])" (("PRINT") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD") ("TYPE")))
+    ("FLOAT"                  fun nil                 (system) "Result = %s( Expression [, Offset [, Dim1, ..., Dim8]] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("FLOOR"                  fun nil                 (system) "Result = %s(X)" (("L64") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("FLTARR"                 fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("FORMAT_AXIS_VALUES"     fun nil                 (system) "Result = %s( Values )" nil)
     ("FSTAT"                  fun nil                 (system) "Result = %s(Unit)" nil)
     ("FV_TEST"                fun nil                 (system) "Result = %s(X, Y)" nil)
     ("FX_ROOT"                fun nil                 (system) "Result = %s(X, Func)" (("DOUBLE") ("ITMAX") ("STOP") ("TOL")))
     ("FZ_ROOTS"               fun nil                 (system) "Result = %s(C)" (("DOUBLE") ("EPS") ("NO_POLISH")))
-    ("GAMMA"                  fun nil                 (system) "Result = %s(X)" nil)
+    ("GAMMA"                  fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("GAUSS2DFIT"             fun nil                 (system) "Result = %s( Z, A [, X, Y])" (("NEGATIVE") ("TILT")))
     ("GAUSS_CVF"              fun nil                 (system) "Result = %s(P)" nil)
     ("GAUSS_PDF"              fun nil                 (system) "Result = %s(V)" nil)
     ("GAUSSFIT"               fun nil                 (system) "Result = %s( X, Y [, A])" (("ESTIMATES") ("NTERMS")))
     ("GAUSSINT"               fun nil                 (system) "Result = %s(X)" nil)
-    ("GET_DRIVE_LIST"         fun nil                 (system) "Result = %s( )" nil)
+    ("GET_DRIVE_LIST"         fun nil                 (system) "Result = %s( )" (("CDROM") ("COUNT") ("FIXED") ("REMOTE") ("REMOVABLE")))
     ("GET_KBRD"               fun nil                 (system) "Result = %s(Wait)" nil)
     ("GET_SCREEN_SIZE"        fun nil                 (system) "Result = %s( [Display_name])" (("DISPLAY_NAME") ("RESOLUTION")))
     ("GET_SYMBOL"             fun nil                 (system) "Result = %s( Name)" (("TYPE")))
     ("HANDLE_CREATE"          fun nil                 (system) "Result = %s([ID])" nil)
     ("HANDLE_INFO"            fun nil                 (system) "Result = %s(ID)" nil)
     ("HANNING"                fun nil                 (system) "Result = %s( N1 [, N2])" (("ALPHA") ("DOUBLE")))
+    ("HDF_"                   fun nil                 (system) "Result = %s VD _NATTRS( VData, FieldID )" nil)
     ("HDF_AN_ANNLEN"          fun nil                 (system) "Result = %s(ann_id)" nil)
     ("HDF_AN_ANNLIST"         fun nil                 (system) "Result = %s(an_id, annot_type, obj_tag, obj_ref, ann_list)" nil)
     ("HDF_AN_ATYPE2TAG"       fun nil                 (system) "Result = %s(annot_type)" nil)
     ("HDF_SD_SELECT"          fun nil                 (system) "Result = %s(SD_ID, Number)" nil)
     ("HDF_SD_START"           fun nil                 (system) "Result = %s( Filename)" (("CREATE") ("RDWR") ("READ")))
     ("HDF_VD_ATTACH"          fun nil                 (system) "Result = %s( FileHandle, VDataId)" (("READ") ("WRITE")))
+    ("HDF_VD_ATTRFIND"        fun nil                 (system) "Result = %s(VData, FieldID, Name)" nil)
     ("HDF_VD_FEXIST"          fun nil                 (system) "Result = %s(VData, Fieldnames)" nil)
     ("HDF_VD_FIND"            fun nil                 (system) "Result = %s(FileHandle, Name)" nil)
     ("HDF_VD_GETID"           fun nil                 (system) "Result = %s(FileHandle, VDataId)" nil)
     ("HDF_VD_GETNEXT"         fun nil                 (system) "Result = %s(VData, Id)" nil)
+    ("HDF_VD_ISATTR"          fun nil                 (system) "Result = %s(VData)" nil)
     ("HDF_VD_ISVD"            fun nil                 (system) "Result = %s(VGroup, Id)" nil)
     ("HDF_VD_LONE"            fun nil                 (system) "Result = %s( FileHandle)" (("MAXSIZE")))
     ("HDF_VD_READ"            fun nil                 (system) "Result = %s( VData, Data)" (("FIELDS") ("FULL_INTERLACE") ("NO_INTERLACE") ("NRECORDS")))
     ("HDF_VG_NUMBER"          fun nil                 (system) "Result = %s(VGroup)" nil)
     ("HILBERT"                fun nil                 (system) "Result = %s(X [, D])" nil)
     ("HIST_2D"                fun nil                 (system) "Result = %s( V1, V2)" (("BIN1") ("BIN2") ("MAX1") ("MAX2") ("MIN1") ("MIN2")))
-    ("HIST_EQUAL"             fun nil                 (system) "Result = %s( A)" (("BINSIZE") ("HISTOGRAM_ONLY") ("MAXV") ("MINV") ("OMAX") ("OMIN") ("PERCENT") ("TOP")))
+    ("HIST_EQUAL"             fun nil                 (system) "Result = %s( A)" (("BINSIZE") ("FCN") ("HISTOGRAM_ONLY") ("MAXV") ("MINV") ("OMAX") ("OMIN") ("PERCENT") ("TOP")))
     ("HISTOGRAM"              fun nil                 (system) "Result = %s( Array)" (("BINSIZE") ("INPUT") ("L64") ("MAX") ("MIN") ("NAN") ("NBINS") ("OMAX") ("OMIN") ("REVERSE_INDICES")))
+    ("HOUGH"                  fun nil                 (system) "Result = %s( Array)" (("BACKPROJECT") ("DOUBLE") ("DRHO") ("DX") ("DY") ("GRAY") ("NRHO") ("NTHETA") ("NX") ("NY") ("RHO") ("RMIN") ("THETA") ("XMIN") ("YMIN")))
     ("HQR"                    fun nil                 (system) "Result = %s( A)" (("COLUMN") ("DOUBLE")))
     ("IBETA"                  fun nil                 (system) "Result = %s( A, B, X)" (("DOUBLE") ("EPS") ("ITER") ("ITMAX")))
     ("IDENTITY"               fun nil                 (system) "Result = %s( N)" (("DOUBLE")))
     ("IGAMMA"                 fun nil                 (system) "Result = %s( A, X)" (("DOUBLE") ("EPS") ("ITER") ("ITMAX") ("METHOD")))
-    ("IMAGINARY"              fun nil                 (system) "Result = %s(Complex_Expression)" nil)
-    ("INDGEN"                 fun nil                 (system) "Result = %s(D1, ..., D8)" (("BYTE") ("COMPLEX") ("DCOMPLEX") ("DOUBLE") ("FLOAT") ("L64") ("LONG") ("STRING") ("TYPE") ("UINT") ("UL64") ("ULONG")))
+    ("IMAGINARY"              fun nil                 (system) "Result = %s(Complex_Expression)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("INDGEN"                 fun nil                 (system) "Result = %s(D1, ..., D8)" (("BYTE") ("COMPLEX") ("DCOMPLEX") ("DOUBLE") ("FLOAT") ("L64") ("LONG") ("STRING") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD") ("TYPE") ("UINT") ("UL64") ("ULONG")))
     ("INT_2D"                 fun nil                 (system) "Result = %s( Fxy, AB_Limits, PQ_Limits, Pts)" (("DOUBLE") ("ORDER")))
     ("INT_3D"                 fun nil                 (system) "Result = %s( Fxyz, AB_Limits, PQ_Limits, UV_Limits, Pts)" (("DOUBLE")))
     ("INT_TABULATED"          fun nil                 (system) "Result = %s( X, F)" (("DOUBLE") ("SORT")))
     ("INTARR"                 fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("INTERPOL"               fun nil                 (system) "Result = %s( V, N) or Result = INTERPOL( V, X, U)" (("LSQUADRATIC") ("QUADRATIC") ("SPLINE")))
-    ("INTERPOLATE"            fun nil                 (system) "Result = %s( P, X [, Y [, Z]])" (("CUBIC") ("GRID") ("MISSING")))
+    ("INTERPOLATE"            fun nil                 (system) "Result = %s( P, X [, Y [, Z]])" (("CUBIC") ("GRID") ("MISSING") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("INVERT"                 fun nil                 (system) "Result = %s( Array [, Status])" (("DOUBLE")))
-    ("IOCTL"                  fun nil                 (system) "Result = %s( File_Unit [, Request, Arg])" (("BY_VALUE") ("MT_OFFLINE") ("MT_REWIND") ("MT_SKIP_FILE") ("MT_SKIP_RECORD") ("MT_WEOF") ("SUPRESS_ERROR")))
-    ("ISHFT"                  fun nil                 (system) "Result = %s(P1, P2)" nil)
+    ("IOCTL"                  fun nil                 (system) "Result = %s( File_Unit [, Request, Arg])" (("BY_VALUE") ("MT_OFFLINE") ("MT_REWIND") ("MT_SKIP_FILE") ("MT_SKIP_RECORD") ("MT_WEOF") ("SUPPRESS_ERROR")))
+    ("ISHFT"                  fun nil                 (system) "Result = %s(P1, P2)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("JULDAY"                 fun nil                 (system) "Result = %s(Month, Day, Year, Hour, Minute, Second)" nil)
     ("KEYWORD_SET"            fun nil                 (system) "Result = %s(Expression)" nil)
     ("KRIG2D"                 fun nil                 (system) "Result = %s( Z [, X, Y])" (("BOUNDS") ("EXPONENTIAL") ("GS") ("NX") ("NY") ("REGULAR") ("SPHERICAL") ("XGRID") ("XVALUES") ("YGRID") ("YVALUES")))
     ("KURTOSIS"               fun nil                 (system) "Result = %s(X)" (("DOUBLE") ("NAN")))
     ("KW_TEST"                fun nil                 (system) "Result = %s( X)" (("DF") ("MISSING")))
-    ("L64INDGEN"              fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
+    ("L64INDGEN"              fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("LABEL_DATE"             fun nil                 (system) "Result = %s()" (("AM_PM") ("DATE_FORMAT") ("DAYS_OF_WEEK") ("MONTHS") ("OFFSET") ("ROUND_UP") ("XTICKFORMAT")))
     ("LABEL_REGION"           fun nil                 (system) "Result = %s( Data)" (("ALL_NEIGHBORS") ("ULONG")))
     ("LADFIT"                 fun nil                 (system) "Result = %s( X, Y)" (("ABSDEV") ("DOUBLE")))
     ("LEEFILT"                fun nil                 (system) "Result = %s( A [, N [, Sig]])" (("DOUBLE") ("EXACT")))
     ("LEGENDRE"               fun nil                 (system) "Result = %s( X, L [, M])" (("DOUBLE")))
     ("LINBCG"                 fun nil                 (system) "Result = %s( A, B, X)" (("DOUBLE") ("ITER") ("ITMAX") ("ITOL") ("TOL")))
-    ("LINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
+    ("LINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("LINFIT"                 fun nil                 (system) "Result = %s( X, Y)" (("CHISQ") ("COVAR") ("DOUBLE") ("MEASURE_ERRORS") ("PROB") ("SIGMA") ("YFIT")))
     ("LIVE_STYLE"             fun nil                 (system) "Style = %s ({ 'contour' | 'image' | 'plot' | 'surface'})" (("BASE_STYLE") ("COLORBAR_PROPERTIES") ("ERROR") ("GRAPHIC_PROPERTIES") ("GROUP") ("LEGEND_PROPERTIES") ("NAME") ("SAVE") ("TEMPLATE_FILE") ("VISUALIZATION_PROPERTIES") ("XAXIS_PROPERTIES") ("YAXIS_PROPERTIES") ("ZAXIS_PROPERTIES")))
     ("LL_ARC_DISTANCE"        fun nil                 (system) "Result = %s( Lon_lat0, Arc_Dist, Az)" (("DEGREES")))
     ("LMFIT"                  fun nil                 (system) "Result = %s( X, Y, A)" (("ALPHA") ("CHISQ") ("CONVERGENCE") ("COVAR") ("DOUBLE") ("FITA") ("FUNCTION_NAME") ("ITER") ("ITMAX") ("ITMIN") ("MEASURE_ERRORS") ("SIGMA") ("TOL")))
     ("LMGR"                   fun nil                 (system) "Result = %s()" (("CLIENTSERVER") ("DEMO") ("EMBEDDED") ("EXPIRE_DATE") ("FORCE_DEMO") ("INSTALL_NUM") ("LMHOSTID") ("RUNTIME") ("SITE_NOTICE") ("STUDENT") ("TRIAL")))
-    ("LNGAMMA"                fun nil                 (system) "Result = %s(X)" nil)
+    ("LNGAMMA"                fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("LNP_TEST"               fun nil                 (system) "Result = %s( X, Y)" (("DOUBLE") ("HIFAC") ("JMAX") ("OFAC") ("WK1") ("WK2")))
     ("LOCALE_GET"             fun nil                 (system) "Result = %s( )" nil)
     ("LON64ARR"               fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("LONARR"                 fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("LONG"                   fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" nil)
-    ("LONG64"                 fun nil                 (system) "Result = %s( Expression[, Offset [, D1, ..., D8]] )" nil)
+    ("LONG64"                 fun nil                 (system) "Result = %s( Expression[, Offset [, D1, ..., D8]] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("LSODE"                  fun nil                 (system) "Result = %s( Y, X, H, Derivs[, Status])" (("ATOL") ("RTOL")))
     ("LU_COMPLEX"             fun nil                 (system) "Result = %s( A, B)" (("DOUBLE") ("INVERSE") ("SPARSE")))
     ("LUMPROVE"               fun nil                 (system) "Result = %s( A, Alud, Index, B, X)" (("COLUMN") ("DOUBLE")))
     ("MAP_IMAGE"              fun nil                 (system) "Result = %s( Image [, Startx, Starty [, Xsize, Ysize]])" (("BILINEAR") ("COMPRESS") ("LATMAX") ("LATMIN") ("LONMAX") ("LONMIN") ("MAX_VALUE") ("MIN_VALUE") ("MISSING") ("SCALE")))
     ("MAP_PATCH"              fun nil                 (system) "Result = %s( Image_Orig [, Lons, Lats])" (("LAT0") ("LAT1") ("LON0") ("LON1") ("MAX_VALUE") ("MISSING") ("TRIANGULATE") ("XSIZE") ("XSTART") ("YSIZE") ("YSTART")))
     ("MATRIX_MULTIPLY"        fun nil                 (system) "Result = %s( A, B)" (("ATRANSPOSE") ("BTRANSPOSE")))
-    ("MAX"                    fun nil                 (system) "Result = %s( Array [, Max_Subscript])" (("MIN") ("NAN")))
+    ("MAX"                    fun nil                 (system) "Result = %s( Array [, Max_Subscript])" (("DIMENSION") ("MIN") ("NAN") ("SUBSCRIPT_MIN") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("MD_TEST"                fun nil                 (system) "Result = %s( X)" (("ABOVE") ("BELOW") ("MDC")))
     ("MEAN"                   fun nil                 (system) "Result = %s( X)" (("DOUBLE") ("NAN")))
     ("MEANABSDEV"             fun nil                 (system) "Result = %s( X)" (("DOUBLE") ("MEDIAN") ("NAN")))
     ("MESH_SURFACEAREA"       fun nil                 (system) "Result = %s ( Verts, Conn)" (("AUXDATA") ("MOMENT")))
     ("MESH_VALIDATE"          fun nil                 (system) "Result = %s ( Verts, Conn)" (("COMBINE_VERTICES") ("PACK_VERTICES") ("REMOVE_NAN") ("TOLERANCE")))
     ("MESH_VOLUME"            fun nil                 (system) "Result = %s ( Verts, Conn)" (("SIGNED")))
-    ("MIN"                    fun nil                 (system) "Result = %s( Array [, Min_Subscript])" (("MAX") ("NAN")))
+    ("MIN"                    fun nil                 (system) "Result = %s( Array [, Min_Subscript])" (("DIMENSION") ("MAX") ("NAN") ("SUBSCRIPT_MAX") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("MIN_CURVE_SURF"         fun nil                 (system) "Result = %s(Z [, X, Y])" (("BOUNDS") ("CONST") ("DOUBLE") ("GS") ("NX") ("NY") ("REGULAR") ("SPHERE") ("TPS") ("XGRID") ("XOUT") ("XPOUT") ("XVALUES") ("YGRID") ("YOUT") ("YPOUT") ("YVALUES")))
     ("MOMENT"                 fun nil                 (system) "Result = %s( X)" (("DOUBLE") ("MDEV") ("NAN") ("SDEV")))
     ("MORPH_CLOSE"            fun nil                 (system) "Result = %s (Image, Structure)" (("GRAY") ("PRESERVE_TYPE") ("UINT") ("ULONG") ("VALUES")))
     ("MSG_CAT_OPEN"           fun nil                 (system) "Result = %s( application)" (("DEFAULT_FILENAME") ("FILENAME") ("FOUND") ("LOCALE") ("PATH") ("SUB_QUERY")))
     ("N_ELEMENTS"             fun nil                 (system) "Result = %s(Expression)" nil)
     ("N_PARAMS"               fun nil                 (system) "Result = %s()" nil)
-    ("N_TAGS"                 fun nil                 (system) "Result = %s( Expression)" (("LENGTH")))
+    ("N_TAGS"                 fun nil                 (system) "Result = %s( Expression)" (("DATA_LENGTH") ("LENGTH")))
     ("NCDF_ATTCOPY"           fun nil                 (system) "Result = %s( Incdf [, Invar])" (("IN_GLOBAL") ("OUT_GLOBAL")))
     ("NCDF_ATTINQ"            fun nil                 (system) "Result = %s( Cdfid [, Varid])" (("GLOBAL")))
     ("NCDF_ATTNAME"           fun nil                 (system) "Result = %s( Cdfid [, Varid])" (("GLOBAL")))
     ("NCDF_VARID"             fun nil                 (system) "Result = %s(Cdfid, Name)" nil)
     ("NCDF_VARINQ"            fun nil                 (system) "Result = %s(Cdfid, Varid)" nil)
     ("NEWTON"                 fun nil                 (system) "Result = %s( X, Vecfunc)" (("CHECK") ("DOUBLE") ("ITMAX") ("STEPMAX") ("TOLF") ("TOLMIN") ("TOLX")))
-    ("NORM"                   fun nil                 (system) "Result = %s( A)" (("DOUBLE")))
+    ("NORM"                   fun nil                 (system) "Result = %s( A)" (("DOUBLE") ("LNORM")))
     ("OBJ_CLASS"              fun nil                 (system) "Result = %s( [Arg])" (("COUNT") ("SUPERCLASS")))
     ("OBJ_ISA"                fun nil                 (system) "Result = %s(ObjectInstance, ClassName)" nil)
     ("OBJ_NEW"                fun nil                 (system) "Result = %s( [ObjectClassName [, Arg1......Argn]] )" nil)
     ("OBJ_VALID"              fun nil                 (system) "Result = %s( [Arg])" (("CAST") ("COUNT")))
     ("OBJARR"                 fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("P_CORRELATE"            fun nil                 (system) "Result = %s( X, Y, C)" (("DOUBLE")))
+    ("PATH_SEP"               fun nil                 (system) "Result = %s()" (("PARENT_DIRECTORY") ("SEARCH_PATH")))
     ("PCOMP"                  fun nil                 (system) "Result = %s( A)" (("COEFFICIENTS") ("COVARIANCE") ("DOUBLE") ("EIGENVALUES") ("NVARIABLES") ("STANDARDIZE") ("VARIANCES")))
     ("PNT_LINE"               fun nil                 (system) "Result = %s( P0, L0, L1 [, Pl])" (("INTERVAL")))
     ("POLAR_SURFACE"          fun nil                 (system) "Result = %s( Z, R, Theta)" (("BOUNDS") ("GRID") ("MISSING") ("QUINTIC") ("SPACING")))
     ("POLY"                   fun nil                 (system) "Result = %s(X, C)" nil)
-    ("POLY_2D"                fun nil                 (system) "Result = %s( Array, P, Q [, Interp [, Dimx, Dimy]])" (("CUBIC") ("MISSING")))
-    ("POLY_AREA"              fun nil                 (system) "Result = %s( X, Y)" (("SIGNED")))
+    ("POLY_2D"                fun nil                 (system) "Result = %s( Array, P, Q [, Interp [, Dimx, Dimy]])" (("CUBIC") ("MISSING") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("POLY_AREA"              fun nil                 (system) "Result = %s( X, Y)" (("DOUBLE") ("SIGNED")))
     ("POLY_FIT"               fun nil                 (system) "Result = %s( X, Y, Degree)" (("CHISQ") ("COVAR") ("DOUBLE") ("MEASURE_ERRORS") ("SIGMA") ("STATUS") ("YBAND") ("YERROR") ("YFIT")))
     ("POLYFILLV"              fun nil                 (system) "Result = %s( X, Y, Sx, Sy [, Run_Length] )" nil)
     ("POLYFITW"               fun nil                 (system) "Result = %s(X, Y, Weights, NDegree [, Yfit, Yband, Sigma, Corrm])" (("DOUBLE") ("STATUS")))
     ("PTR_NEW"                fun nil                 (system) "Result = %s( [InitExpr])" (("ALLOCATE_HEAP") ("NO_COPY")))
     ("PTR_VALID"              fun nil                 (system) "Result = %s( [Arg])" (("CAST") ("COUNT")))
     ("PTRARR"                 fun nil                 (system) "Result = %s( D1, ... ..., D8)" (("ALLOCATE_HEAP") ("NOZERO")))
+    ("QGRID3"                 fun nil                 (system) "Result = %s( XYZ, F, Tetrahedra)" (("DELTA") ("DIMENSION") ("MISSING") ("START")))
     ("QROMB"                  fun nil                 (system) "Result = %s( Func, A, B)" (("DOUBLE") ("EPS") ("JMAX") ("K")))
     ("QROMO"                  fun nil                 (system) "Result = %s(Func, A [, B])" (("DOUBLE") ("EPS") ("JMAX") ("K") ("MIDEXP") ("MIDINF") ("MIDPNT") ("MIDSQL") ("MIDSQU")))
     ("QSIMP"                  fun nil                 (system) "Result = %s( Func, A, B)" (("DOUBLE") ("EPS") ("JMAX")))
     ("QUERY_DICOM"            fun nil                 (system) "Result = %s( Filename [, Info])" (("IMAGE_INDEX")))
     ("QUERY_IMAGE"            fun nil                 (system) "Result = %s ( Filename[, Info])" (("CHANNELS") ("DIMENSIONS") ("HAS_PALETTE") ("IMAGE_INDEX") ("NUM_IMAGES") ("PIXEL_TYPE") ("SUPPORTED_READ") ("SUPPORTED_WRITE") ("TYPE")))
     ("QUERY_JPEG"             fun nil                 (system) "Result = %s ( Filename [, Info] )" nil)
+    ("QUERY_MRSID"            fun nil                 (system) "Result = %s( Filename [, Info])" (("LEVEL")))
     ("QUERY_PICT"             fun nil                 (system) "Result = %s ( Filename [, Info] )" nil)
     ("QUERY_PNG"              fun nil                 (system) "Result = %s ( Filename [, Info] )" nil)
     ("QUERY_PPM"              fun nil                 (system) "Result = %s ( Filename [, Info])" (("MAXVAL")))
     ("QUERY_WAV"              fun nil                 (system) "Result = %s ( Filename[, Info] )" nil)
     ("R_CORRELATE"            fun nil                 (system) "Result = %s( X, Y)" (("D") ("KENDALL") ("PROBD") ("ZD")))
     ("R_TEST"                 fun nil                 (system) "Result = %s( X)" (("N0") ("N1") ("R")))
+    ("RADON"                  fun nil                 (system) "Result = %s( Array)" (("BACKPROJECT") ("DOUBLE") ("DRHO") ("DX") ("DY") ("GRAY") ("LINEAR") ("NRHO") ("NTHETA") ("NX") ("NY") ("RHO") ("RMIN") ("THETA") ("XMIN") ("YMIN")))
     ("RANDOMN"                fun nil                 (system) "Result = %s( Seed [, D1, ..., D8])" (("BINOMIAL") ("DOUBLE") ("GAMMA") ("LONG") ("NORMAL") ("POISSON") ("UNIFORM")))
     ("RANDOMU"                fun nil                 (system) "Result = %s( Seed [, D1, ..., D8])" (("BINOMIAL") ("DOUBLE") ("GAMMA") ("LONG") ("NORMAL") ("POISSON") ("UNIFORM")))
     ("RANKS"                  fun nil                 (system) "Result = %s(X)" nil)
     ("READ_BMP"               fun nil                 (system) "Result = %s( Filename, [, R, G, B] [, Ihdr])" (("RGB")))
     ("READ_DICOM"             fun nil                 (system) "Result = %s (Filename [, Red, Green, Blue])" (("IMAGE_INDEX")))
     ("READ_IMAGE"             fun nil                 (system) "Result = %s (Filename [, Red, Green, Blue])" (("IMAGE_INDEX")))
+    ("READ_MRSID"             fun nil                 (system) "Result = %s ( Filename)" (("LEVEL") ("SUB_RECT")))
     ("READ_PNG"               fun nil                 (system) "Result = %s ( Filename [, R, G, B])" (("ORDER") ("TRANSPARENT") ("VERBOSE")))
     ("READ_SPR"               fun nil                 (system) "Result = %s(Filename)" nil)
     ("READ_SYLK"              fun nil                 (system) "Result = %s( File)" (("ARRAY") ("COLMAJOR") ("NCOLS") ("NROWS") ("STARTCOL") ("STARTROW") ("USEDOUBLES") ("USELONGS")))
-    ("READ_TIFF"              fun nil                 (system) "Result = %s( Filename [, R, G, B])" (("CHANNELS") ("GEOTIFF") ("IMAGE_INDEX") ("INTERLEAVE") ("ORDER") ("PLANARCONFIG") ("SUB_RECT") ("UNSIGNED") ("VERBOSE")))
+    ("READ_TIFF"              fun nil                 (system) "Result = %s( Filename [, R, G, B])" (("CHANNELS") ("GEOTIFF") ("IMAGE_INDEX") ("INTERLEAVE") ("ORDER") ("ORIENTATION") ("PLANARCONFIG") ("SUB_RECT") ("UNSIGNED") ("VERBOSE")))
     ("READ_WAV"               fun nil                 (system) "Result = %s ( Filename [, Rate] )" nil)
     ("READ_XWD"               fun nil                 (system) "Result = %s( Filename[, R, G, B] )" nil)
+    ("REAL_PART"              fun nil                 (system) "Result = %s(Z)" nil)
     ("REBIN"                  fun nil                 (system) "Result = %s( Array, D1 [, ..., D8])" (("SAMPLE")))
     ("RECALL_COMMANDS"        fun nil                 (system) "Result = %s()" nil)
-    ("RECON3"                 fun nil                 (system) "Result = %s( Images, Obj_Rot, Obj_Pos, Focal, Dist,Vol_Pos, Img_Ref, Img_Mag, Vol_Size)" (("CUBIC") ("MISSING") ("MODE")))
+    ("RECON3"                 fun nil                 (system) "Result = %s( Images, Obj_Rot, Obj_Pos, Focal, Dist,Vol_Pos, Img_Ref, Img_Mag, Vol_Size)" (("CUBIC") ("MISSING") ("MODE") ("QUIET")))
     ("REFORM"                 fun nil                 (system) "Result = %s( Array, D1, ..., D8)" (("OVERWRITE")))
+    ("REGION_GROW"            fun nil                 (system) "Result = %s(Array, ROIPixels)" (("ALL_NEIGHBORS") ("STDDEV_MULTIPLIER") ("THRESHOLD")))
     ("REGRESS"                fun nil                 (system) "Result = %s( X, Y)" (("CHISQ") ("CONST") ("CORRELATION") ("DOUBLE") ("FTEST") ("MCORRELATION") ("MEASURE_ERRORS") ("SIGMA") ("STATUS") ("YFIT")))
-    ("REPLICATE"              fun nil                 (system) "Result = %s( Value, D1 [, ..., D8] )" nil)
+    ("REPLICATE"              fun nil                 (system) "Result = %s( Value, D1 [, ..., D8] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("REVERSE"                fun nil                 (system) "Result = %s( Array [, Subscript_Index])" (("OVERWRITE")))
     ("RK4"                    fun nil                 (system) "Result = %s( Y, Dydx, X, H, Derivs)" (("DOUBLE")))
     ("ROBERTS"                fun nil                 (system) "Result = %s(Image)" nil)
     ("ROT"                    fun nil                 (system) "Result = %s( A, Angle, [Mag, X0, Y0])" (("CUBIC") ("INTERP") ("MISSING") ("PIVOT")))
     ("ROTATE"                 fun nil                 (system) "Result = %s(Array, Direction)" nil)
-    ("ROUND"                  fun nil                 (system) "Result = %s(X)" (("L64")))
+    ("ROUND"                  fun nil                 (system) "Result = %s(X)" (("L64") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("ROUTINE_INFO"           fun nil                 (system) "Result = %s( [Routine])" (("DISABLED") ("ENABLED") ("FUNCTIONS") ("PARAMETERS") ("SOURCE") ("SYSTEM") ("UNRESOLVED") ("VARIABLES")))
     ("RS_TEST"                fun nil                 (system) "Result = %s( X, Y)" (("UX") ("UY")))
     ("RSTRPOS"                fun nil                 (system) "Result = %s( Expression, Search_String [, Pos] )" nil)
     ("SEARCH3D"               fun nil                 (system) "Result = %s( Array, Xpos, Ypos, Zpos, Min_Val, Max_Val)" (("DECREASE") ("DIAGONAL") ("INCREASE") ("LPF_BAND")))
     ("SFIT"                   fun nil                 (system) "Result = %s( Data, Degree)" (("KX")))
     ("SHIFT"                  fun nil                 (system) "Result = %s(Array, S1, ..., Sn)" nil)
-    ("SIN"                    fun nil                 (system) "Result = %s(X)" nil)
+    ("SIMPLEX"                fun nil                 (system) "Result = %s( Zequation, Constraints, M1, M2, M3 [, Tableau [, Izrov [, Iposv]]])" (("DOUBLE") ("EPS") ("STATUS")))
+    ("SIN"                    fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("SINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
-    ("SINH"                   fun nil                 (system) "Result = %s(X)" nil)
+    ("SINH"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("SIZE"                   fun nil                 (system) "Result = %s( Expression)" (("DIMENSIONS") ("FILE_LUN") ("L64") ("N_DIMENSIONS") ("N_ELEMENTS") ("STRUCTURE") ("TNAME") ("TYPE")))
     ("SKEWNESS"               fun nil                 (system) "Result = %s( X)" (("DOUBLE") ("NAN")))
-    ("SMOOTH"                 fun nil                 (system) "Result = %s( Array, Width)" (("EDGE_TRUNCATE") ("NAN")))
+    ("SMOOTH"                 fun nil                 (system) "Result = %s( Array, Width)" (("EDGE_TRUNCATE") ("MISSING") ("NAN")))
     ("SOBEL"                  fun nil                 (system) "Result = %s(Image)" nil)
     ("SORT"                   fun nil                 (system) "Result = %s(Array)" (("L64")))
     ("SPH_SCAT"               fun nil                 (system) "Result = %s( Lon, Lat, F)" (("BOUNDS") ("BOUT") ("GOUT") ("GS") ("NLAT") ("NLON")))
     ("SPRSAX"                 fun nil                 (system) "Result = %s( A, X)" (("DOUBLE")))
     ("SPRSIN"                 fun nil                 (system) "Result = %s( A)" (("COLUMN") ("DOUBLE") ("THRESHOLD")))
     ("SPRSTP"                 fun nil                 (system) "Result = %s(A)" nil)
-    ("SQRT"                   fun nil                 (system) "Result = %s(X)" nil)
+    ("SQRT"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("STANDARDIZE"            fun nil                 (system) "Result = %s( A)" (("DOUBLE")))
     ("STDDEV"                 fun nil                 (system) "Result = %s( X)" (("DOUBLE") ("NAN")))
     ("STR_SEP"                fun nil                 (system) "Result = %s( Str, Separator)" (("ESC") ("REMOVE_ALL") ("TRIM")))
     ("T_CVF"                  fun nil                 (system) "Result = %s(P, Df)" nil)
     ("T_PDF"                  fun nil                 (system) "Result = %s(V, Df)" nil)
     ("TAG_NAMES"              fun nil                 (system) "Result = %s( Expression)" (("STRUCTURE_NAME")))
-    ("TAN"                    fun nil                 (system) "Result = %s(X)" nil)
-    ("TANH"                   fun nil                 (system) "Result = %s(X)" nil)
+    ("TAN"                    fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("TANH"                   fun nil                 (system) "Result = %s(X)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("TEMPORARY"              fun nil                 (system) "Result = %s(Variable)" nil)
     ("TETRA_CLIP"             fun nil                 (system) "Result = %s ( Plane, Vertsin, Connin, Vertsout, Connout)" (("AUXDATA_IN") ("AUXDATA_OUT") ("CUT_VERTS")))
     ("TETRA_SURFACE"          fun nil                 (system) "Result = %s (Verts, Connin)" nil)
     ("TIFF_READ"              fun nil                 (system) "Result = %s(File [, R, G, B])" nil)
     ("TIMEGEN"                fun nil                 (system) "Result = %s( [D1,...,D8])" (("DAYS") ("FINAL") ("HOURS") ("MINUTES") ("MONTHS") ("SECONDS") ("START") ("STEP_SIZE") ("UNITS") ("YEAR")))
     ("TM_TEST"                fun nil                 (system) "Result = %s( X, Y)" (("PAIRED") ("UNEQUAL")))
-    ("TOTAL"                  fun nil                 (system) "Result = %s( Array [, Dimension])" (("CUMULATIVE") ("DOUBLE") ("NAN")))
+    ("TOTAL"                  fun nil                 (system) "Result = %s( Array [, Dimension])" (("CUMULATIVE") ("DOUBLE") ("NAN") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("TRACE"                  fun nil                 (system) "Result = %s( A)" (("DOUBLE")))
     ("TRANSPOSE"              fun nil                 (system) "Result = %s( Array [, P] )" nil)
     ("TRI_SURF"               fun nil                 (system) "Result = %s( Z [, X, Y])" (("BOUNDS") ("EXTRAPOLATE") ("GS") ("MISSING") ("NX") ("NY") ("REGULAR") ("XGRID") ("XVALUES") ("YGRID") ("YVALUES")))
     ("TS_FCAST"               fun nil                 (system) "Result = %s( X, P, Nvalues)" (("BACKCAST") ("DOUBLE")))
     ("TS_SMOOTH"              fun nil                 (system) "Result = %s( X, Nvalues)" (("BACKWARD") ("DOUBLE") ("FORWARD") ("ORDER")))
     ("TVRD"                   fun nil                 (system) "Result = %s( [X0 [, Y0 [, Nx [, Ny [, Channel]]]]])" (("CHANNEL") ("ORDER") ("TRUE") ("WORDS")))
-    ("UINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
-    ("UINT"                   fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" nil)
+    ("UINDGEN"                fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("UINT"                   fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("UINTARR"                fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
-    ("UL64INDGEN"             fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
-    ("ULINDGEN"               fun nil                 (system) "Result = %s(D1, ..., D8)" nil)
+    ("UL64INDGEN"             fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("ULINDGEN"               fun nil                 (system) "Result = %s(D1, ..., D8)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("ULON64ARR"              fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("ULONARR"                fun nil                 (system) "Result = %s( D1, ..., D8)" (("NOZERO")))
     ("ULONG"                  fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" nil)
-    ("ULONG64"                fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" nil)
+    ("ULONG64"                fun nil                 (system) "Result = %s( Expression[, Offset [, Dim1, ..., Dim8]] )" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("UNIQ"                   fun nil                 (system) "Result = %s( Array [, Index] )" nil)
     ("VALUE_LOCATE"           fun nil                 (system) "Result = %s ( Vector, Value)" (("L64")))
     ("VARIANCE"               fun nil                 (system) "Result = %s( X)" (("DOUBLE") ("NAN")))
     ("VAX_FLOAT"              fun nil                 (system) "Result = %s( [Default])" (("FILE_UNIT")))
     ("VERT_T3D"               fun nil                 (system) "Result = %s( Vertex_List)" (("MATRIX") ("NO_COPY") ("NO_DIVIDE") ("SAVE_DIVIDE")))
-    ("VOIGT"                  fun nil                 (system) "Result = %s(A, U)" nil)
+    ("VOIGT"                  fun nil                 (system) "Result = %s(A, U)" (("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
     ("VOXEL_PROJ"             fun nil                 (system) "Result = %s( V [, RGBO])" (("BACKGROUND") ("CUTTING_PLANE") ("INTERPOLATE") ("MAXIMUM_INTENSITY") ("STEP") ("XSIZE") ("YSIZE") ("ZBUFFER") ("ZPIXELS")))
-    ("WARP_TRI"               fun nil                 (system) "Result = %s( Xo, Yo, Xi, Yi, Image)" (("EXTRAPOLATE") ("OUTPUT_SIZE") ("QUINTIC")))
+    ("WARP_TRI"               fun nil                 (system) "Result = %s( Xo, Yo, Xi, Yi, Image)" (("EXTRAPOLATE") ("OUTPUT_SIZE") ("QUINTIC") ("TPS")))
     ("WATERSHED"              fun nil                 (system) "Result = %s ( Image)" (("CONNECTIVITY")))
-    ("WHERE"                  fun nil                 (system) "Result = %s( Array_Expression [, Count])" (("COMPLEMENT") ("L64") ("NCOMPLEMENT")))
-    ("WIDGET_BASE"            fun nil                 (system) "Result = %s( [Parent])" (("ALIGN_BOTTOM") ("ALIGN_CENTER") ("ALIGN_LEFT") ("ALIGN_RIGHT") ("ALIGN_TOP") ("APP_MBAR") ("BASE_ALIGN_BOTTOM") ("BASE_ALIGN_CENTER") ("BASE_ALIGN_LEFT") ("BASE_ALIGN_RIGHT") ("BASE_ALIGN_TOP") ("COLUMN") ("DISPLAY_NAME") ("EVENT_FUNC") ("EVENT_PRO") ("EXCLUSIVE") ("FLOATING") ("FRAME") ("FUNC_GET_VALUE") ("GRID_LAYOUT") ("GROUP_LEADER") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("MAP") ("MBAR") ("MODAL") ("NO_COPY") ("NONEXCLUSIVE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("RNAME_MBAR") ("ROW") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("SPACE") ("TITLE") ("TLB_FRAME_ATTR") ("TLB_KILL_REQUEST_EVENTS") ("TLB_SIZE_EVENTS") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("X_SCROLL_SIZE") ("XOFFSET") ("XPAD") ("XSIZE") ("Y_SCROLL_SIZE") ("YOFFSET") ("YPAD") ("YSIZE")))
+    ("WHERE"                  fun nil                 (system) "Result = %s( Array_Expression [, Count])" (("COMPLEMENT") ("L64") ("NCOMPLEMENT") ("TPOOL_MAX_ELTS") ("TPOOL_MIN_ELTS") ("TPOOL_NOTHREAD")))
+    ("WIDGET_ACTIVEX"         fun nil                 (system) "Result = %s( Parent, COM_ID)" (("ALIGN_BOTTOM") ("ALIGN_CENTER") ("ALIGN_LEFT") ("ALIGN_RIGHT") ("ALIGN_TOP") ("EVENT_FUNC") ("EVENT_PRO") ("FUNC_GET_VALUE") ("ID_TYPE") ("KILL_NOTIFY") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("SCR_XSIZE") ("SCR_YSIZE") ("SENSITIVE") ("UNAME") ("UNITS") ("UVALUE") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
+    ("WIDGET_BASE"            fun nil                 (system) "Result = %s( [Parent])" (("ALIGN_BOTTOM") ("ALIGN_CENTER") ("ALIGN_LEFT") ("ALIGN_RIGHT") ("ALIGN_TOP") ("APP_MBAR") ("BASE_ALIGN_BOTTOM") ("BASE_ALIGN_CENTER") ("BASE_ALIGN_LEFT") ("BASE_ALIGN_RIGHT") ("BASE_ALIGN_TOP") ("COLUMN") ("CONTEXT_MENU") ("DISPLAY_NAME") ("EVENT_FUNC") ("EVENT_PRO") ("EXCLUSIVE") ("FLOATING") ("FRAME") ("FUNC_GET_VALUE") ("GRID_LAYOUT") ("GROUP_LEADER") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("MAP") ("MBAR") ("MODAL") ("NO_COPY") ("NONEXCLUSIVE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("RNAME_MBAR") ("ROW") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("SPACE") ("TITLE") ("TLB_FRAME_ATTR") ("TLB_KILL_REQUEST_EVENTS") ("TLB_SIZE_EVENTS") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("X_SCROLL_SIZE") ("XOFFSET") ("XPAD") ("XSIZE") ("Y_SCROLL_SIZE") ("YOFFSET") ("YPAD") ("YSIZE")))
     ("WIDGET_BUTTON"          fun nil                 (system) "Result = %s( Parent)" (("ALIGN_CENTER") ("ALIGN_LEFT") ("ALIGN_RIGHT") ("BITMAP") ("DYNAMIC_RESIZE") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("HELP") ("KILL_NOTIFY") ("MENU") ("NO_COPY") ("NO_RELEASE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SENSITIVE") ("SEPARATOR") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("X_BITMAP_EXTRA") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
     ("WIDGET_DRAW"            fun nil                 (system) "Result = %s(Parent)" (("APP_SCROLL") ("BUTTON_EVENTS") ("COLOR_MODEL") ("COLORS") ("EVENT_FUNC") ("EVENT_PRO") ("EXPOSE_EVENTS") ("FRAME") ("FUNC_GET_VALUE") ("GRAPHICS_LEVEL") ("GROUP_LEADER") ("KILL_NOTIFY") ("MOTION_EVENTS") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RENDERER") ("RESOURCE_NAME") ("RETAIN") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("VIEWPORT_EVENTS") ("X_SCROLL_SIZE") ("XOFFSET") ("XSIZE") ("Y_SCROLL_SIZE") ("YOFFSET") ("YSIZE")))
     ("WIDGET_DROPLIST"        fun nil                 (system) "Result = %s( Parent)" (("DYNAMIC_RESIZE") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KILL_NOTIFY") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SENSITIVE") ("TITLE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
     ("WIDGET_EVENT"           fun nil                 (system) "Result = %s([Widget_ID])" (("BAD_ID") ("NOWAIT") ("SAVE_HOURGLASS") ("YIELD_TO_TTY")))
-    ("WIDGET_INFO"            fun nil                 (system) "Result = %s( [Widget_ID] )" (("ACTIVE") ("CHILD") ("COLUMN_WIDTHS") ("DRAW_BUTTON_EVENTS") ("DRAW_EXPOSE_EVENTS") ("DRAW_MOTION_EVENTS") ("DRAW_VIEWPORT_EVENTS") ("DROPLIST_NUMBER") ("DROPLIST_SELECT") ("DYNAMIC_RESIZE") ("EVENT_FUNC") ("EVENT_PRO") ("FIND_BY_UNAME") ("GEOMETRY") ("KBRD_FOCUS_EVENTS") ("LIST_MULTIPLE") ("LIST_NUM_VISIBLE") ("LIST_NUMBER") ("LIST_SELECT") ("LIST_TOP") ("MANAGED") ("MODAL") ("NAME") ("PARENT") ("REALIZED") ("ROW_HEIGHTS") ("SIBLING") ("SLIDER_MIN_MAX") ("TABLE_ALL_EVENTS") ("TABLE_EDIT_CELL") ("TABLE_EDITABLE") ("TABLE_SELECT") ("TABLE_VIEW") ("TEXT_ALL_EVENTS") ("TEXT_EDITABLE") ("TEXT_NUMBER") ("TEXT_OFFSET_TO_XY") ("TEXT_SELECT") ("TEXT_TOP_LINE") ("TEXT_XY_TO_OFFSET") ("TLB_KILL_REQUEST_EVENTS") ("TRACKING_EVENTS") ("TYPE") ("UNAME") ("UNITS") ("UPDATE") ("USE_TABLE_SELECT") ("VALID_ID") ("VERSION")))
+    ("WIDGET_INFO"            fun nil                 (system) "Result = %s( [Widget_ID] )" (("ACTIVE") ("CHILD") ("COLUMN_WIDTHS") ("CONTEXT_EVENTS") ("DRAW_BUTTON_EVENTS") ("DRAW_EXPOSE_EVENTS") ("DRAW_MOTION_EVENTS") ("DRAW_VIEWPORT_EVENTS") ("DROPLIST_NUMBER") ("DROPLIST_SELECT") ("DYNAMIC_RESIZE") ("EVENT_FUNC") ("EVENT_PRO") ("FIND_BY_UNAME") ("GEOMETRY") ("KBRD_FOCUS_EVENTS") ("LIST_MULTIPLE") ("LIST_NUM_VISIBLE") ("LIST_NUMBER") ("LIST_SELECT") ("LIST_TOP") ("MANAGED") ("MODAL") ("NAME") ("PARENT") ("REALIZED") ("ROW_HEIGHTS") ("SIBLING") ("SLIDER_MIN_MAX") ("SYSTEM_COLORS") ("TABLE_ALL_EVENTS") ("TABLE_EDIT_CELL") ("TABLE_EDITABLE") ("TABLE_SELECT") ("TABLE_VIEW") ("TEXT_ALL_EVENTS") ("TEXT_EDITABLE") ("TEXT_NUMBER") ("TEXT_OFFSET_TO_XY") ("TEXT_SELECT") ("TEXT_TOP_LINE") ("TEXT_XY_TO_OFFSET") ("TLB_KILL_REQUEST_EVENTS") ("TRACKING_EVENTS") ("TYPE") ("UNAME") ("UNITS") ("UPDATE") ("USE_TABLE_SELECT") ("VALID_ID") ("VERSION")))
     ("WIDGET_LABEL"           fun nil                 (system) "Result = %s( Parent)" (("ALIGN_CENTER") ("ALIGN_LEFT") ("ALIGN_RIGHT") ("DYNAMIC_RESIZE") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KILL_NOTIFY") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
-    ("WIDGET_LIST"            fun nil                 (system) "Result = %s( Parent)" (("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KILL_NOTIFY") ("MULTIPLE") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
+    ("WIDGET_LIST"            fun nil                 (system) "Result = %s( Parent)" (("CONTEXT_EVENTS") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KILL_NOTIFY") ("MULTIPLE") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
     ("WIDGET_SLIDER"          fun nil                 (system) "Result = %s( Parent)" (("DRAG") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KILL_NOTIFY") ("MAXIMUM") ("MINIMUM") ("NO_COPY") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("SUPPRESS_VALUE") ("TITLE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("VERTICAL") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
     ("WIDGET_TABLE"           fun nil                 (system) "Result = %s( Parent)" (("ALIGNMENT") ("ALL_EVENTS") ("AM_PM") ("COLUMN_LABELS") ("COLUMN_MAJOR") ("COLUMN_WIDTHS") ("DAYS_OF_WEEK") ("EDITABLE") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FORMAT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("MONTHS") ("NO_COPY") ("NO_HEADERS") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESIZEABLE_COLUMNS") ("RESIZEABLE_ROWS") ("RESOURCE_NAME") ("ROW_HEIGHTS") ("ROW_LABELS") ("ROW_MAJOR") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("X_SCROLL_SIZE") ("XOFFSET") ("XSIZE") ("Y_SCROLL_SIZE") ("YOFFSET") ("YSIZE")))
-    ("WIDGET_TEXT"            fun nil                 (system) "Result = %s( Parent)" (("ALL_EVENTS") ("EDITABLE") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("NO_COPY") ("NO_NEWLINE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("WRAP") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
+    ("WIDGET_TEXT"            fun nil                 (system) "Result = %s( Parent)" (("ALL_EVENTS") ("CONTEXT_EVENTS") ("EDITABLE") ("EVENT_FUNC") ("EVENT_PRO") ("FONT") ("FRAME") ("FUNC_GET_VALUE") ("GROUP_LEADER") ("KBRD_FOCUS_EVENTS") ("KILL_NOTIFY") ("NO_COPY") ("NO_NEWLINE") ("NOTIFY_REALIZE") ("PRO_SET_VALUE") ("RESOURCE_NAME") ("SCR_XSIZE") ("SCR_YSIZE") ("SCROLL") ("SENSITIVE") ("TRACKING_EVENTS") ("UNAME") ("UNITS") ("UVALUE") ("VALUE") ("WRAP") ("XOFFSET") ("XSIZE") ("YOFFSET") ("YSIZE")))
     ("WRITE_SYLK"             fun nil                 (system) "Result = %s( File, Data)" (("STARTCOL") ("STARTROW")))
     ("WTN"                    fun nil                 (system) "Result = %s( A, Coef)" (("COLUMN") ("DOUBLE") ("INVERSE") ("OVERWRITE")))
     ("XFONT"                  fun nil                 (system) "Result = %s()" (("GROUP") ("PRESERVE_FONT_INFO")))
     ("ComputeMesh"            fun "IDLanROIGroup"     (system) "Result = Obj->[%s::]%s( Vertices, Conn)" (("CAPPED") ("SURFACE_AREA")))
     ("ContainsPoints"         fun "IDLanROIGroup"     (system) "Result = Obj->[%s::]%s( X[, Y[, Z]] )" nil)
     ("Init"                   fun "IDLanROIGroup"     (system) "Result = Obj->[%s::]%s( ) ('IDLanROIGroup')" nil)
+    ("GetProperty"            pro "IDLcomIDispatch"   (system) "Obj->[%s::]%s" (("PROPERTY_NAME")))
+    ("SetProperty"            pro "IDLcomIDispatch"   (system) "Obj->[%s::]%s" (("PROPERTY_NAME")))
+    ("Init"                   fun "IDLcomIDispatch"   (system) "Result = Obj -> [%s::]%s()" nil)
     ("Connect"                pro "IDLdbDatabase"     (system) "DBobj ->[%s::]%s" (("CONNECTION") ("DATASOURCE") ("PASSWORD") ("USER_ID")))
     ("ExecuteSQL"             pro "IDLdbDatabase"     (system) "DBobj->ExecuteSQL, strSQL" nil)
     ("GetProperty"            pro "IDLdbDatabase"     (system) "DBobj->GetProperty" (("CAN_GET_TABLES") ("DBMS_NAME") ("DBMS_VERSION") ("DRIVER_ODBC_LEVEL") ("DRIVER_VERSION") ("IS_CONNECTED") ("IS_READONLY") ("MAX_CONNECTIONS") ("MAX_RECORDSETS") ("ODBC_LEVEL") ("SQL_LEVEL") ("SQL_SERVER_NAME") ("USE_CURSOR_LIB") ("USER_NAME")))
     ("IsValid"                fun "IDLffLanguageCat"  (system) "Result = Obj ->[%s::]%s( )" nil)
     ("Query"                  fun "IDLffLanguageCat"  (system) "Result = Obj ->[%s::]%s( key)" (("DEFAULT_STRING")))
     ("SetCatalog"             fun "IDLffLanguageCat"  (system) "Result = Obj ->[%s::]%s( application)" (("FILENAME") ("LOCALE") ("PATH")))
+    ("Cleanup"                pro "IDLffMrSID"        (system) "Obj -> [%s::]%s" nil)
+    ("GetProperty"            pro "IDLffMrSID"        (system) "Obj->[%s::]%s" (("CHANNELS") ("DIMENSIONS") ("GEO_ORIGIN") ("GEO_PROJTYPE") ("GEO_RESOLUTION") ("GEO_VALID") ("LEVELS") ("PIXEL_TYPE") ("TYPE")))
+    ("GetDimsAtLevel"         fun "IDLffMrSID"        (system) "Dims = Obj -> [%s::]%s ( Level )" nil)
+    ("GetImageData"           fun "IDLffMrSID"        (system) "ImageData = Obj->[%s::]%s ()" (("LEVEL") ("SUB_RECT")))
+    ("Init"                   fun "IDLffMrSID"        (system) "Result = Obj -> [%s::]%s(, Filename)" (("QUIET")))
     ("AddAttribute"           pro "IDLffShape"        (system) "Obj->[%s::]%s, Name, Type, Width" (("PRECISION")))
     ("Cleanup"                pro "IDLffShape"        (system) "Obj -> [%s::]%s" nil)
     ("Close"                  pro "IDLffShape"        (system) "Obj->[%s::]%s" nil)
     ("SetAttributes"          pro "IDLffShape"        (system) "Obj->[%s::]%s, Index, Attribute_Num, Value or Obj->[IDLffShape::]SetAttributes, Index, Attributes" nil)
     ("GetAttributes"          fun "IDLffShape"        (system) "Result = Obj->[%s::]%s([Index])" (("ALL") ("ATTRIBUTE_STRUCTURE")))
     ("GetEntity"              fun "IDLffShape"        (system) "Result = Obj->[%s::]%s( [Index])" (("ALL") ("ATTRIBUTES")))
-    ("Init"                   fun "IDLffShape"        (system) "Result = Obj -> [%s::]%s()" nil)
+    ("Init"                   fun "IDLffShape"        (system) "Result = Obj -> [%s::]%s( [ Filename])" (("ENTITY_TYPE") ("UPDATE")))
     ("Open"                   fun "IDLffShape"        (system) "Result = Obj->[%s::]%s( `Filename')" (("ENTITY_TYPE") ("UPDATE")))
     ("Cleanup"                pro "IDLgrAxis"         (system) "Obj -> [%s::]%s" nil)
     ("GetProperty"            pro "IDLgrAxis"         (system) "Obj -> [%s::]%s" (("ALL") ("AM_PM") ("COLOR") ("CRANGE") ("DAYS_OF_WEEK") ("DIRECTION") ("EXACT") ("EXTEND") ("GRIDSTYLE") ("HIDE") ("LOCATION") ("LOG") ("MAJOR") ("MINOR") ("MONTHS") ("NAME") ("NOTEXT") ("PALETTE") ("PARENT") ("RANGE") ("SUBTICKLEN") ("TEXTALIGNMENTS") ("TEXTBASELINE") ("TEXTPOS") ("TEXTUPDIR") ("THICK") ("TICKDIR") ("TICKFORMAT") ("TICKFRMTDATA") ("TICKINTERVAL") ("TICKLAYOUT") ("TICKLEN") ("TICKTEXT") ("TICKUNITS") ("TICKVALUES") ("TITLE") ("USE_TEXT_COLOR") ("UVALUE") ("XCOORD_CONV") ("XRANGE") ("YCOORD_CONV") ("YRANGE") ("ZCOORD_CONV") ("ZRANGE")))
     ("GetFontnames"           fun "IDLgrBuffer"       (system) "Return = Obj -> [%s::]%s( FamilyName)" (("IDL_FONTS") ("STYLES")))
     ("GetTextDimensions"      fun "IDLgrBuffer"       (system) "Result = Obj ->[%s::]%s( TextObj)" (("DESCENT") ("PATH")))
     ("Init"                   fun "IDLgrBuffer"       (system) "Result = Obj -> [%s::]%s( ) ('IDLgrBuffer')" (("COLOR_MODEL") ("DIMENSIONS") ("GRAPHICS_TREE") ("N_COLORS") ("PALETTE") ("QUALITY") ("RESOLUTION") ("UNITS") ("UVALUE")))
-    ("PickData"               fun "IDLgrBuffer"       (system) "Result = Obj -> [%s::]%s( View, Object, Location, XYZLocation)" (("PATH")))
+    ("PickData"               fun "IDLgrBuffer"       (system) "Result = Obj -> [%s::]%s( View, Object, Location, XYZLocation)" (("DIMENSIONS") ("PATH")))
     ("Read"                   fun "IDLgrBuffer"       (system) "Result = Obj -> [%s::]%s()" nil)
     ("Select"                 fun "IDLgrBuffer"       (system) "Result = Obj -> [%s::]%s(Picture, XY)" (("DIMENSIONS") ("UNITS")))
     ("Cleanup"                pro "IDLgrClipboard"    (system) "Obj-> [%s::]%s" nil)
     ("ComputeDimensions"      fun "IDLgrColorbar"     (system) "Result = Obj ->[%s::]%s( DestinationObj)" (("PATH")))
     ("Init"                   fun "IDLgrColorbar"     (system) "Result = Obj -> [%s::]%s( [aRed, aGreen, aBlue] ) ( 'IDLgrColorbar' [, aRed, aGreen, aBlue])" (("BLUE_VALUES") ("COLOR") ("DIMENSIONS") ("GREEN_VALUES") ("HIDE") ("MAJOR") ("MINOR") ("NAME") ("PALETTE") ("RED_VALUES") ("SHOW_AXIS") ("SHOW_OUTLINE") ("SUBTICKLEN") ("THICK") ("THREED") ("TICKFORMAT") ("TICKFRMTDATA") ("TICKLEN") ("TICKTEXT") ("TICKVALUES") ("TITLE") ("UVALUE") ("XCOORD_CONV") ("YCOORD_CONV") ("ZCOORD_CONV")))
     ("Cleanup"                pro "IDLgrContour"      (system) "Obj -> [%s::]%s" nil)
-    ("GetProperty"            pro "IDLgrContour"      (system) "Obj -> [%s::]%s" (("ALL") ("ANISOTROPY") ("C_COLOR") ("C_FILL_PATTERN") ("C_LINESTYLE") ("C_THICK") ("C_VALUE") ("COLOR") ("DATA_VALUES") ("DOWNHILL") ("FILL") ("GEOM") ("HIDE") ("MAX_VALUE") ("MIN_VALUE") ("N_LEVELS") ("NAME") ("PALETTE") ("PARENT") ("PLANAR") ("POLYGONS") ("SHADE_RANGE") ("SHADING") ("TICKINTERVAL") ("TICKLEN") ("UVALUE") ("XCOORD_CONV") ("XRANGE") ("YCOORD_CONV") ("YRANGE") ("ZCOORD_CONV") ("ZRANGE")))
-    ("SetProperty"            pro "IDLgrContour"      (system) "Obj -> [%s::]%s" (("ANISOTROPY") ("C_COLOR") ("C_FILL_PATTERN") ("C_LINESTYLE") ("C_THICK") ("C_VALUE") ("COLOR") ("DATA_VALUES") ("DOWNHILL") ("FILL") ("GEOMX") ("GEOMY") ("GEOMZ") ("HIDE") ("MAX_VALUE") ("MIN_VALUE") ("N_LEVELS") ("NAME") ("PALETTE") ("PLANAR") ("POLYGONS") ("SHADE_RANGE") ("SHADING") ("TICKINTERVAL") ("TICKLEN") ("UVALUE") ("XCOORD_CONV") ("YCOORD_CONV") ("ZCOORD_CONV")))
+    ("GetProperty"            pro "IDLgrContour"      (system) "Obj -> [%s::]%s" (("ALL") ("ANISOTROPY") ("C_COLOR") ("C_FILL_PATTERN") ("C_LINESTYLE") ("C_THICK") ("C_VALUE") ("COLOR") ("DATA_VALUES") ("DEPTH_OFFSET") ("DOWNHILL") ("FILL") ("GEOM") ("HIDE") ("MAX_VALUE") ("MIN_VALUE") ("N_LEVELS") ("NAME") ("PALETTE") ("PARENT") ("PLANAR") ("POLYGONS") ("SHADE_RANGE") ("SHADING") ("TICKINTERVAL") ("TICKLEN") ("UVALUE") ("XCOORD_CONV") ("XRANGE") ("YCOORD_CONV") ("YRANGE") ("ZCOORD_CONV") ("ZRANGE")))
+    ("SetProperty"            pro "IDLgrContour"      (system) "Obj -> [%s::]%s" (("ANISOTROPY") ("C_COLOR") ("C_FILL_PATTERN") ("C_LINESTYLE") ("C_THICK") ("C_VALUE") ("COLOR") ("DATA_VALUES") ("DEPTH_OFFSET") ("DOWNHILL") ("FILL") ("GEOMX") ("GEOMY") ("GEOMZ") ("HIDE") ("MAX_VALUE") ("MIN_VALUE") ("N_LEVELS") ("NAME") ("PALETTE") ("PLANAR") ("POLYGONS") ("SHADE_RANGE") ("SHADING") ("TICKINTERVAL") ("TICKLEN") ("UVALUE") ("XCOORD_CONV") ("YCOORD_CONV") ("ZCOORD_CONV")))
     ("GetCTM"                 fun "IDLgrContour"      (system) "Result = Obj -> [%s::]%s()" (("DESTINATION") ("PATH") ("TOP")))
-    ("Init"                   fun "IDLgrContour"      (system) "Result = Obj -> [%s::]%s( [Values] ) ('IDLgrContour' [, Values])" (("ANISOTROPY") ("C_COLOR") ("C_FILL_PATTERN") ("C_LINESTYLE") ("C_THICK") ("C_VALUE") ("COLOR") ("DATA_VALUES") ("DOUBLE_DATA") ("DOUBLE_GEOM") ("DOWNHILL") ("FILL") ("GEOMX") ("GEOMY") ("GEOMZ") ("HIDE") ("MAX_VALUE") ("MIN_VALUE") ("N_LEVELS") ("NAME") ("PALETTE") ("PLANAR") ("POLYGONS") ("SHADE_RANGE") ("SHADING") ("TICKINTERVAL") ("TICKLEN") ("UVALUE") ("XCOORD_CONV") ("YCOORD_CONV") ("ZCOORD_CONV")))
+    ("Init"                   fun "IDLgrContour"      (system) "Result = Obj -> [%s::]%s( [Values] ) ('IDLgrContour' [, Values])" (("ANISOTROPY") ("C_COLOR") ("C_FILL_PATTERN") ("C_LINESTYLE") ("C_THICK") ("C_VALUE") ("COLOR") ("DATA_VALUES") ("DEPTH_OFFSET") ("DOUBLE_DATA") ("DOUBLE_GEOM") ("DOWNHILL") ("FILL") ("GEOMX") ("GEOMY") ("GEOMZ") ("HIDE") ("MAX_VALUE") ("MIN_VALUE") ("N_LEVELS") ("NAME") ("PALETTE") ("PLANAR") ("POLYGONS") ("SHADE_RANGE") ("SHADING") ("TICKINTERVAL") ("TICKLEN") ("UVALUE") ("XCOORD_CONV") ("YCOORD_CONV") ("ZCOORD_CONV")))
     ("Cleanup"                pro "IDLgrFont"         (system) "Obj -> [%s::]%s" nil)
-    ("GetProperty"            pro "IDLgrFont"         (system) "Obj -> [%s:]%s" (("ALL") ("NAME") ("SIZE") ("SUBSTITUTE") ("THICK") ("UVALUE")))
-    ("SetProperty"            pro "IDLgrFont"         (system) "Obj -> [%s:]%s" (("NAME") ("SIZE") ("SUBSTITUTE") ("THICK") ("UVALUE")))
+    ("GetProperty"            pro "IDLgrFont"         (system) "" (("NAME") ("SIZE") ("SUBSTITUTE") ("THICK") ("UVALUE")))
+    ("SetProperty"            pro "IDLgrFont"         (system) "" (("NAME") ("SIZE") ("SUBSTITUTE") ("THICK") ("UVALUE")))
     ("Init"                   fun "IDLgrFont"         (system) "Result = Obj -> [%s::]%s( [Fontname] ) ('IDLgrFont' [, Fontname])" (("NAME") ("SIZE") ("SUBSTITUTE") ("THICK") ("UVALUE")))
     ("Cleanup"                pro "IDLgrImage"        (system) "Obj -> [%s::]%s" nil)
     ("GetProperty"            pro "IDLgrImage"        (system) "Obj -> [%s::]%s" (("ALL") ("BLEND_FUNCTION") ("CHANNEL") ("DATA") ("DIMENSIONS") ("GREYSCALE") ("HIDE") ("INTERLEAVE") ("INTERPOLATE") ("LOCATION") ("NAME") ("NO_COPY") ("ORDER") ("PALETTE") ("PARENT") ("SUB_RECT") ("UVALUE") ("XCOORD_CONV") ("XRANGE") ("YCOORD_CONV") ("YRANGE") ("ZCOORD_CONV") ("ZRANGE")))
     ("SetProperty"            pro "IDLgrVRML"         (system) "Obj -> [%s::]%s" (("DIMENSIONS") ("FILENAME") ("GRAPHICS_TREE") ("PALETTE") ("QUALITY") ("RESOLUTION") ("UNITS") ("UVALUE")))
     ("GetFontnames"           fun "IDLgrVRML"         (system) "Return = Obj ->[%s::]%s( FamilyName)" (("IDL_FONTS") ("STYLES")))
     ("GetTextDimensions"      fun "IDLgrVRML"         (system) "Result = Obj ->[%s::]%s( TextObj)" (("DESCENT") ("PATH")))
-    ("Init"                   fun "IDLgrVRML"         (system) "Result = Obj -> [%s::]%s( ) ('IDLgrVRML')" (("COLOR_MODEL") ("DIMENSIONS") ("FILENAME") ("GRAPHICS_TREE") ("N_COLORS") ("PALETTE") ("QUALITY") ("RESOLUTION") ("UNITS") ("UVALUE") ("WOLRDTITLE") ("WORLDINFO")))
+    ("Init"                   fun "IDLgrVRML"         (system) "Result = Obj -> [%s::]%s( ) ('IDLgrVRML')" (("COLOR_MODEL") ("DIMENSIONS") ("FILENAME") ("GRAPHICS_TREE") ("N_COLORS") ("PALETTE") ("QUALITY") ("RESOLUTION") ("UNITS") ("UVALUE") ("WORLDINFO") ("WORLDTITLE")))
     ("Cleanup"                pro "IDLgrWindow"       (system) "Obj -> [%s::]%s" nil)
     ("Draw"                   pro "IDLgrWindow"       (system) "Obj -> [%s::]%s [, Picture]" (("CREATE_INSTANCE") ("DRAW_INSTANCE")))
     ("Erase"                  pro "IDLgrWindow"       (system) "Obj -> [%s::]%s" (("COLOR")))
     ("Init"                   fun "TrackBall"         (system) "Result = Obj -> [%s::]%s( Center, Radius ) ('TrackBall', Center, Radius)" (("AXIS") ("CONSTRAIN") ("MOUSE")))
     ("Update"                 fun "TrackBall"         (system) "Result = Obj -> [%s::]%s( sEvent)" (("MOUSE") ("TRANSFORM") ("TRANSLATE")))
    )
-  "1287 builtin routines with 5724 keywords for IDL version 5.4.")
+  "1324 builtin routines with 6129 keywords for IDL version 5.5.")
 
 (setq idlwave-system-variables-alist
   '(
     ("C")
+    ("CPU" ("HW_VECTOR") ("VECTOR_ENABLE") ("HW_NCPU") ("TPOOL_NTHREADS") ("TPOOL_MIN_ELTS") ("TPOOL_MAX_ELTS"))
     ("D" ("NAME") ("X_SIZE") ("Y_SIZE") ("X_VSIZE") ("Y_VSIZE") ("X_CH_SIZE") ("Y_CH_SIZE") ("X_PX_CM") ("Y_PX_CM") ("N_COLORS") ("TABLE_SIZE") ("FILL_DIST") ("WINDOW") ("UNIT") ("FLAGS") ("ORIGIN") ("ZOOM"))
     ("DIR")
     ("DLM_PATH")
     ("DPI")
     ("DTOR")
     ("EDIT_INPUT")
-    ("ERROR_STATE" ("NAME") ("BLOCK") ("CODE") ("SYS_CODE") ("MSG") ("SYS_MSG") ("MSG_PREFIX"))
+    ("ERROR_STATE" ("NAME") ("BLOCK") ("CODE") ("SYS_CODE") ("SYS_CODE_TYPE") ("MSG") ("SYS_MSG") ("MSG_PREFIX"))
     ("EXCEPT")
     ("HELP_PATH")
     ("JOURNAL")
     ("QUIET")
     ("RADEG")
     ("VALUES" ("F_INFINITY") ("F_NAN") ("D_INFINITY") ("D_NAN"))
-    ("VERSION" ("ARCH") ("OS") ("OS_FAMILY") ("RELEASE") ("BUILD_DATE") ("MEMORY_BITS") ("FILE_OFFSET_BITS"))
-    ("WARN" ("OBS_ROUTINES") ("OBS_SYSVARS") ("PARENS") ("TRUNCATED_FILENAME"))
+    ("VERSION" ("ARCH") ("OS") ("OS_FAMILY") ("OS_NAME") ("RELEASE") ("BUILD_DATE") ("MEMORY_BITS") ("FILE_OFFSET_BITS"))
+    ("WARN" ("OBS_ROUTINES") ("OBS_SYSVARS") ("PARENS"))
     ("X" ("TITLE") ("TYPE") ("STYLE") ("TICKS") ("TICKLEN") ("THICK") ("RANGE") ("CRANGE") ("S") ("MARGIN") ("OMARGIN") ("WINDOW") ("REGION") ("CHARSIZE") ("MINOR") ("TICKV") ("TICKNAME") ("GRIDSTYLE") ("TICKFORMAT") ("TICKINTERVAL") ("TICKLAYOUT") ("TICKUNITS"))
     ("Y" ("TITLE") ("TYPE") ("STYLE") ("TICKS") ("TICKLEN") ("THICK") ("RANGE") ("CRANGE") ("S") ("MARGIN") ("OMARGIN") ("WINDOW") ("REGION") ("CHARSIZE") ("MINOR") ("TICKV") ("TICKNAME") ("GRIDSTYLE") ("TICKFORMAT") ("TICKINTERVAL") ("TICKLAYOUT") ("TICKUNITS"))
     ("Z" ("TITLE") ("TYPE") ("STYLE") ("TICKS") ("TICKLEN") ("THICK") ("RANGE") ("CRANGE") ("S") ("MARGIN") ("OMARGIN") ("WINDOW") ("REGION") ("CHARSIZE") ("MINOR") ("TICKV") ("TICKNAME") ("GRIDSTYLE") ("TICKFORMAT") ("TICKINTERVAL") ("TICKLAYOUT") ("TICKUNITS"))))
     ("IDLgrAxis"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRAXIS_TOP" "IDLGRAXISVERSION" "AM_PM" "AXIS_TYPE" "CALCFLAGS" "DAYS_OF_WEEK" "DIRECTION" "AXISFLAGS" "GRIDSTYLE" "LOCATION" "MAJOR" "MINOR" "MONTHS" "OUTRANGE" "RANGE" "SUBTICKLEN" "TEXTALIGNMENTS" "TEXTBASELINE" "TEXTUPDIR" "THICK" "TICKDIR" "TICKFORMAT" "ARRAY_TICKFORMAT" "TICKFRMTDATA" "TICKINTERVAL" "TICKLAYOUT" "TICKLEN" "TICKTEXT" "TICKUNITCODES" "TICKUNITS" "TICKVALUES" "TITLE" "CURRENT_LEVEL" "LEVEL_DATA" "STEPRANGEUNITS" "STEPRANGE")
      (inherits))
+    ("IDLgrContour"
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRCONTOURTOP" "IDLGRCONTOURVERSION" "ANISOTROPY" "DATA_FORMAT" "DATA" "GEOM_FORMAT" "GEOM" "CONTOURFLAGS" "C_COLOR" "C_FILLPATTERN" "C_LINESTYLE" "C_THICK" "C_VALUE" "MAXVAL" "MINVAL" "NLEVELS" "POLYGONS" "SHADERANGE" "SHADING" "TICKINTERVAL" "TICKLEN" "PRECISIONDATA" "PRECISIONGEOM" "PRECISIONGRAPH" "LEVELINFO" "CFILL1" "DEPTHOFFSET" "IDLGRCONTOURBOTTOM")
+     (inherits))
     ("IDLgrLegend"
      (tags "OSCALENODE" "BORDER_GAP" "COLUMNS" "OOUTLINE" "OFILL" "OFONT" "GAP" "GLYPHWIDTH" "PITEM_COLOR" "PITEM_LINESTYLE" "PITEM_NAME" "PITEM_OBJECT" "PITEM_THICK" "PITEM_TYPE" "OTITLE" "PTEXT_COLOR" "BRECOMPUTE" "PGLYPHS" "PTEXTS" "HGLYPHWIDTH" "VGLYPHWIDTH" "COLORMODE" "CLEANLEAVE" "CLEANGLYPHS" "IDLGRLEGENDVERSION")
      (inherits "IDLgrModel"))
-    ("IDLgrContour"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRCONTOURTOP" "IDLGRCONTOURVERSION" "ANISOTROPY" "DATA_FORMAT" "DATA" "GEOM_FORMAT" "GEOM" "CONTOURFLAGS" "C_COLOR" "C_FILLPATTERN" "C_LINESTYLE" "C_THICK" "C_VALUE" "MAXVAL" "MINVAL" "NLEVELS" "POLYGONS" "SHADERANGE" "SHADING" "TICKINTERVAL" "TICKLEN" "PRECISIONDATA" "PRECISIONGEOM" "PRECISIONGRAPH" "LEVELINFO" "CFILL1" "IDLGRCONTOURBOTTOM")
-     (inherits))
     ("IDLgrROI"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRROI_TOP" "IDLGRROIVERSION" "LINESTYLE" "STYLE" "SYMBOL" "THICK" "IDLGRROI_BOTTOM")
      (inherits "IDLanROI"))
     ("IDLgrSurface"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRSURFACETOP" "IDLGRSURFACEVERSION" "DATA" "PRECISION" "SKIRT" "VERTCOLORS" "BTMCOLOR" "SURFACEFLAGS" "LINESTYLE" "MAXVALUE" "MINVALUE" "SHADING" "SHADERANGE" "STYLE" "NORMALS" "TXTRCOORD" "TXTRMAP" "THICK" "IDLGRSURFACEBOTTOM")
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRSURFACETOP" "IDLGRSURFACEVERSION" "DATA" "PRECISION" "SKIRT" "VERTCOLORS" "BTMCOLOR" "SURFACEFLAGS" "LINESTYLE" "MAXVALUE" "MINVALUE" "SHADING" "SHADERANGE" "STYLE" "NORMALS" "TXTRCOORD" "TXTRMAP" "THICK" "DEPTHOFFSET" "IDLGRSURFACEBOTTOM")
+     (inherits))
+    ("IDLgrPolygon"
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYGONTOP" "IDLGRPOLYGONVERSION" "DATA" "PRECISION" "FILLPATTERN" "POLYGONS" "NORMALS" "POLYGONFLAGS" "SHADING" "SHADERANGE" "STYLE" "TXTRCOORD" "TXTRMAP" "VERTCOLORS" "BTMCOLOR" "LINESTYLE" "THICK" "DEPTHOFFSET" "IDLGRPOLYGONBOTTOM")
      (inherits))
     ("IDLgrWindow"
      (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "UVALUE" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRWINDOW_TOP" "IDLGRWINDOWVERSION" "WINDOWFLAGS" "DIMENSIONS" "DISPLAYNAME" "INDEX" "LOCATION" "RENDERER" "RETAIN" "SCREENDIMENSIONS" "SELF" "TITLE" "UNITS" "NEXT" "WFILL1" "PARENT" "WFILL2" "IDLGRWINDOW_BOTTOM")
      (inherits))
-    ("IDLgrPolygon"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYGONTOP" "IDLGRPOLYGONVERSION" "DATA" "PRECISION" "FILLPATTERN" "POLYGONS" "NORMALS" "POLYGONFLAGS" "SHADING" "SHADERANGE" "STYLE" "TXTRCOORD" "TXTRMAP" "VERTCOLORS" "BTMCOLOR" "LINESTYLE" "THICK" "IDLGRPOLYGONBOTTOM")
+    ("IDLgrPlot"
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPLOT_TOP" "IDLGRPLOTVERSION" "DATA" "PLOTFLAGS" "LINESTYLE" "PRECISION" "MAXVAL" "MINVAL" "NSUM" "SYMBOL" "PSYMBOL" "THICK" "VERTCOLORS" "ZVALUE" "LINEDATA" "PFILL1" "IDLGRPLOT_BOTTOM")
      (inherits))
     ("IDLgrVolume"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRVOLUMETOP" "IDLGRVOLUMEVERSION" "AMBIENT" "BOUNDS" "LIMITS" "DIMENSIONS" "COLORTABLE" "COMPOSITEFUNC" "CUTPLANES" "NUMCUTPLANES" "DEPTH_CUE" "OPACITYTABLE" "RENDERSTEP" "DATA" "EDM_VOLUME" "VOLUMEFLAGS" "IDLGRVOLUMEBOTTOM")
      (inherits))
-    ("IDLgrPlot"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPLOT_TOP" "IDLGRPLOTVERSION" "DATA" "PLOTFLAGS" "LINESTYLE" "PRECISION" "MAXVAL" "MINVAL" "NSUM" "SYMBOL" "PSYMBOL" "THICK" "VERTCOLORS" "ZVALUE" "LINEDATA" "PFILL1" "IDLGRPLOT_BOTTOM")
-     (inherits))
     ("IDLgrROIGroup"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRROIGROUP_TOP" "IDLGRROIGROUPVERSION" "IDLGRROI_BOTTOM")
      (inherits "IDLanROIGroup"))
     ("IDLgrText"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRTEXT_TOP" "IDLGRTEXTVERSION" "TEXTFLAGS" "ALIGNMENT" "BASELINE" "CHAR_DIMENSIONS" "RECOMP_CTM" "FONT" "LOCATIONS" "STRINGS" "SUBPARENT" "UPDIR" "VERTICAL_ALIGNMENT" "IDLGRTEXT_BOTTOM")
      (inherits))
-    ("IDLgrPolyline"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYLINETOP" "IDLGRPOLYLINEVERSION" "DATA" "PRECISION" "LINESTYLE" "POLYLINES" "SYMBOL" "PSYMBOL" "THICK" "SHADING" "VERTCOLORS" "IDLGRPOLYLINEBOTTOM")
+    ("IDLgrImage"
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRIMAGE_TOP" "IDLGRIMAGEVERSION" "CHANNEL" "DATA" "DIMENSIONS" "SUB_RECT" "IMAGEFLAGS" "LOCATION" "INTERLEAVE" "INTERPOLATE" "BLEND_FUNCTIONS" "IDLGRIMAGE_BOTTOM")
      (inherits))
     ("IDLgrView"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRVIEW_TOP" "IDLGRVIEWVERSION" "COLOR" "DEPTH_CUE" "DIMENSIONS" "PRECISION" "EYE" "LOCATION" "OBLIQUE" "PROJECTION" "TRANSPARENT" "UNITS" "VIEW" "ZCLIP" "IDLGRVIEW_BOTTOM")
      (inherits "IDL_Container"))
-    ("IDLgrImage"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRIMAGE_TOP" "IDLGRIMAGEVERSION" "CHANNEL" "DATA" "DIMENSIONS" "SUB_RECT" "IMAGEFLAGS" "LOCATION" "INTERLEAVE" "INTERPOLATE" "BLEND_FUNCTIONS" "IDLGRIMAGE_BOTTOM")
+    ("IDLgrPolyline"
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRPOLYLINETOP" "IDLGRPOLYLINEVERSION" "DATA" "PRECISION" "LINESTYLE" "POLYLINES" "SYMBOL" "PSYMBOL" "THICK" "SHADING" "VERTCOLORS" "IDLGRPOLYLINEBOTTOM")
      (inherits))
     ("IDLgrLight"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRGRAPHIC_TOP" "IDLGRGRAPHICVERSION" "COLOR" "GRAPHICFLAGS" "PALETTE" "XCOORD_CONV" "YCOORD_CONV" "ZCOORD_CONV" "XRANGE" "YRANGE" "ZRANGE" "GRAPHIC_DATA_OBJECT" "IDLGRGRAPHIC_BOTTOM" "IDLGRLIGHT_TOP" "IDLGRLIGHTVERSION" "ATTENUATION" "CONEANGLE" "DIRECTION" "FOCUS" "INTENSITY" "LOCATION" "TYPE" "IDLGRLIGHT_BOTTOM")
      (inherits))
+    ("IDLgrVRML"
+     (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "UVALUE" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRVRMLTOP" "IDLGRVRMLVERSION" "UNITS" "DIMENSIONS" "FILENAME" "WORLDINFO" "WORLDTITLE" "IDLGRVRMLBOTTOM")
+     (inherits))
     ("IDLgrClipboard"
      (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "UVALUE" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRCLIPBOARDTOP" "IDLGRCLIPBOARDVERSION" "UNITS" "DIMENSIONS" "FILENAME" "VECTOR" "POSTSCRIPT" "IDLGRCLIPBOARDBOTTOM")
      (inherits))
-    ("IDLgrVRML"
-     (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "UVALUE" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRVRMLTOP" "IDLGRVRMLVERSION" "UNITS" "DIMENSIONS" "FILENAME" "WORLDINFO" "WORLDTITLE" "IDLGRVRMLBOTTOM")
-     (inherits))
     ("IDLgrPrinter"
      (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "UVALUE" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRPRINTER_TOP" "IDLGRPRINTERVERSION" "PRINTERFLAGS" "NAME" "NCOPIES" "UNITS" "GAMMA" "IDLGRPRINTER_BOTTOM")
      (inherits))
     ("IDLgrBuffer"
      (tags "IDLGRSRCDEST_TOP" "IDLGRSRCDESTVERSION" "CLIENTDIMENSIONS" "COLORMODEL" "SRCDESTFLAGS" "GRAPHICS_TREE" "NCOLORS" "PALETTE" "QUALITY" "RESOLUTION" "UVALUE" "DIST" "FILL1" "DEV" "FILL2" "ATTRS" "FILL3" "CACHES" "FILL4" "IDLGRSRCDEST_BOTTOM" "IDLGRBUFFERTOP" "IDLGRBUFFERVERSION" "UNITS" "DIMENSIONS" "IDLGRBUFFERBOTTOM")
      (inherits))
+    ("IDLgrMPEG"
+     (tags "IDLGRMPEG_TOP" "IDLGRMPEGVERSION" "DIMENSIONS" "FILENAME" "FORMAT" "FRAMERATE" "INTERLACED" "QUALITY" "SCALE" "STATISTICS" "DISPLAYDIMS" "FIRSTFRAME" "LASTFRAME" "MPEGID" "TEMPNODE" "TEMPNODEFILLER" "TEMP_DIRECTORY" "BITRATE" "IFRAME_GAP" "MOTION_LENGTH" "FLAGS" "IDLGRMPEG_BOTTOM")
+     (inherits))
+    ("IDLgrScene"
+     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRSCENE_TOP" "IDLGRSCENEVERSION" "COLOR" "TRANSPARENT" "IDLGRSCENE_BOTTOM")
+     (inherits "IDL_Container"))
     ("IDLgrModel"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRMODEL_TOP" "IDLGRMODELVERSION" "MODELFLAGS" "TRANSFORM" "IDLGRMODEL_BOTTOM")
      (inherits "IDL_Container"))
-    ("IDLgrScene"
-     (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRSCENE_TOP" "IDLGRSCENEVERSION" "COLOR" "TRANSPARENT" "IDLGRSCENE_BOTTOM")
-     (inherits "IDL_Container"))
-    ("IDLgrMPEG"
-     (tags "IDLGRMPEG_TOP" "IDLGRMPEGVERSION" "DIMENSIONS" "FILENAME" "FORMAT" "FRAMERATE" "INTERLACED" "QUALITY" "SCALE" "STATISTICS" "DISPLAYDIMS" "FIRSTFRAME" "LASTFRAME" "MPEGID" "TEMPNODE" "TEMPNODEFILLER" "TEMP_DIRECTORY" "BITRATE" "IFRAME_GAP" "MOTION_LENGTH" "FLAGS" "IDLGRMPEG_BOTTOM")
-     (inherits))
     ("IDLgrViewgroup"
      (tags "IDLGRCOMPONENT_TOP" "IDLGRCOMPONENTVERSION" "HIDE" "NAME" "PARENT" "UVALUE" "IDLGRCOMPONENT_BOTTOM" "IDLGRCONTAINER_TOP" "IDLGRCONTAINERVERSION" "ISDYING" "IDLGRCONTAINER_BOTTOM" "IDLGRVIEWGROUPTOP" "IDLGRVIEWGROUPVERSION" "IDLGRVIEWGROUPBOTTOM")
      (inherits "IDL_Container"))
     ("IDLffShape"
      (tags "IDLFFSHAPE_TOP" "IDLFFSHAPEVERSION" "FILENAME" "ISOPEN" "SHPTYPE" "PATTRIBUTE" "SHAPEHANDLE" "DBFHANDLE" "IDLFFSHAPE_BOTTOM")
      (inherits))
-    ("TrackBall"
-     (tags "BTNDOWN" "AXIS" "CONSTRAIN" "MOUSE" "CENTER" "RADIUS" "PT0" "PT1")
-     (inherits))
     ("IDLffDXF"
-     (tags "IDLFFDXF_TOP" "IDLFFDXFVERSION" "DXFREADVALID" "DXFHANDLEVALID" "DXFLUT" "DXFHANDLE" "DXFHANDLEFILLER" "IDLFFDXF_BOTTOM")
+     (tags "IDLFFDXF_TOP" "IDLFFDXFVERSION" "DXFREADVALID" "DXFHANDLEVALID" "DXFLUT" "SERIAL" "DXFHANDLE" "DXFHANDLEFILLER" "IDLFFDXF_BOTTOM")
      (inherits))
     ("IDLffDICOM"
      (tags "IDLFFDICOM_TOP" "IDLFFDICOMVERSION" "DICOMFLAGS" "DICOMELEMENTS" "DICOMPREAMBLE" "DICOMHANDLE" "DICOMHANDLEFILLER" "IDLFFDICOM_BOTTOM")
      (inherits))
-    ("IDLgrTessellator"
-     (tags "IDLGRTESSELLATORTOP" "IDLGRTESSELLATORVERSION" "ITESSFLAGS" "IVERTS" "HVIDLIST" "IDLGRTESSELLATORBOTTOM")
+    ("TrackBall"
+     (tags "BTNDOWN" "AXIS" "CONSTRAIN" "MOUSE" "CENTER" "RADIUS" "PT0" "PT1")
      (inherits))
     ("IDL_Container"
      (tags "IDL_CONTAINER_TOP" "IDLCONTAINERVERSION" "PHEAD" "PTAIL" "NLIST" "IDL_CONTAINER_BOTTOM")
+     (inherits))
+    ("IDLgrTessellator"
+     (tags "IDLGRTESSELLATORTOP" "IDLGRTESSELLATORVERSION" "ITESSFLAGS" "IVERTS" "HVIDLIST" "IDLGRTESSELLATORBOTTOM")
      (inherits))))
 
 (provide 'idlw-rinfo)
-;;; idlw-shell.el --- Run IDL or WAVE as an inferior process of Emacs.
-;; Copyright (c) 1994-1996 Chris Chase
-;; Copyright (c) 1999 Carsten Dominik
-;; Copyright (c) 1999, 2000 Free Software Foundation
-
-;; Author: Chris Chase <chase@att.com>
-;; Maintainer: Carsten Dominik <dominik@strw.leidenuniv.nl>
-;; Version: 4.7
+;; idlw-shell.el --- run IDL as an inferior process of Emacs.
+;; Copyright (c) 1999, 2000, 2001,2002 Free Software Foundation
+
+;; Author: Carsten Dominik <dominik@astro.uva.nl>
+;;         Chris Chase <chase@att.com>
+;; Maintainer: J.D. Smith <jdsmith@as.arizona.edu>
+;; Version: 4.15
 ;; Date: $Date$
 ;; Keywords: processes
 
 ;; Boston, MA 02111-1307, USA.
 
 ;;; Commentary:
-
-;; This mode is for IDL version 4 or later.  It should work on Emacs
-;; or XEmacs version 19 or later.
-
+;;
+;; This mode is for IDL version 5 or later.  It should work on
+;; Emacs>20.3 or XEmacs>20.4.
+;;
 ;; Runs IDL as an inferior process of Emacs, much like the emacs
 ;; `shell' or `telnet' commands.  Provides command history and
 ;; searching.  Provides debugging commands available in buffers
 ;; visual line pointer for current execution line, etc.
 ;;
 ;; Documentation should be available online with `M-x idlwave-info'.
-
+;;
+;; New versions of IDLWAVE, documentation, and more information
+;; available from:
+;;                 http://idlwave.org
+;;
 ;; INSTALLATION:
 ;; =============
 ;; 
 ;;   The newest version of this file can be found on the maintainers
 ;;   web site.
 ;; 
-;;     http://www.strw.leidenuniv.el/~dominik/Tools/idlwave
+;;     http://idlwave.org
 ;; 
 ;; DOCUMENTATION
 ;; =============
 ;; KNOWN PROBLEMS
 ;; ==============
 ;;
-;; I don't plan on implementing directory tracking by watching the IDL
-;; commands entered at the prompt, since too often an IDL procedure
-;; will change the current directory. If you want the the idl process
-;; buffer to match the IDL current working just execute `M-x
-;; idlwave-shell-resync-dirs' (bound to "\C-c\C-d\C-w" by default.)
-;;
 ;; Under XEmacs the Debug menu in the shell does not display the
 ;; keybindings in the prefix map.  There bindings are available anyway - so
 ;; it is a bug in XEmacs.
 ;;
 ;;--------------------------------------------------------------------------
 ;;
-;;
 
 ;;; Code:
 
     ;; We have the old or no custom-library, hack around it!
     (defmacro defgroup (&rest args) nil)
     (defmacro defcustom (var value doc &rest args) 
-      (` (defvar (, var) (, value) (, doc))))))
+      `(defvar ,var ,value ,doc))))
 
 ;;; Customizations: idlwave-shell group
 
+;; General/Misc. customizations
 (defgroup idlwave-shell-general-setup nil
   "General setup of the Shell interaction for IDLWAVE/Shell."
   :prefix "idlwave-shell"
 
 ;; (defcustom idlwave-shell-automatic-start...)  See idlwave.el
 
-(defcustom idlwave-shell-initial-commands "!more=0"
-  "Initial commands, separated by newlines, to send to IDL.
-This string is sent to the IDL process by `idlwave-shell-mode' which is
-invoked by `idlwave-shell'."
-  :group 'idlwave-shell-initial-commands
-  :type 'string)
-
 (defcustom idlwave-shell-use-dedicated-frame nil
   "*Non-nil means, IDLWAVE should use a special frame to display shell buffer."
   :group 'idlwave-shell-general-setup
   :type '(repeat
 	  (cons symbol sexp)))
 
+(defcustom idlwave-shell-raise-frame t
+  "*Non-nil means, `idlwave-shell' raises the frame showing the shell window."
+  :group 'idlwave-shell-general-setup
+  :type 'boolean)
+
 (defcustom idlwave-shell-arrows-do-history t
   "*Non-nil means UP and DOWN arrows move through command history.
 This variable can have 3 values:
 	  (const :tag "everywhere" t)
 	  (const :tag "in command line only" cmdline)))
 
+;; FIXME: add comint-input-ring-size?
+
 (defcustom idlwave-shell-use-toolbar t
   "*Non-nil means, use the debugging toolbar in all IDL related buffers.
 Starting the shell will then add the toolbar to all idlwave-mode buffers.
 (defcustom idlwave-shell-temp-pro-prefix "/tmp/idltemp"
   "*The prefix for temporary IDL files used when compiling regions.
 It should be an absolute pathname.
-The full temporary file name is obtained by to using `make-temp-name'
+The full temporary file name is obtained by using `make-temp-file'
 so that the name will be unique among multiple Emacs processes."
   :group 'idlwave-shell-general-setup
   :type 'string)
   :group 'idlwave-shell-general-setup
   :type 'boolean)
 
-(defcustom idlwave-shell-file-name-chars "~/A-Za-z0-9+@:_.$#%={}\\-"
+(defcustom idlwave-shell-file-name-chars "~/A-Za-z0-9+:_.$#%={}\\-"
   "The characters allowed in file names, as a string.
 Used for file name completion. Must not contain `'', `,' and `\"'
 because these are used as separators by IDL."
   :group 'idlwave-shell-general-setup
   :type 'hook)
 
-(defcustom idlwave-shell-print-expression-function nil
-  "When non-nil, a function to handle display of evaluated expressions.
-This can be used to arrange for displaying the value of an expression
-in (e.g.) a special frame.  The function must accept one argument:
-the expression which was evaluated.  The output from IDL will be
-available in the variable `idlwave-shell-command-output'."
-  :group 'idlwave-shell-highlighting-and-faces
-  :type 'symbol)
+(defcustom idlwave-shell-graphics-window-size '(500 400)
+  "Size of IDL graphics windows popped up by special IDLWAVE command.
+The command is `C-c C-d C-f' and accepts as a prefix the window nr.
+A command like `WINDOW,N,xsize=XX,ysize=YY' is sent to IDL."
+  :group 'idlwave-shell-general-setup
+  :type '(list
+	  (integer :tag "x size")
+	  (integer :tag "y size")))
+
+;; Commands Sent to Shell... etc.
+(defgroup idlwave-shell-command-setup nil
+  "Setup for command parameters of the Shell interaction for IDLWAVE."
+  :prefix "idlwave-shell"
+  :group 'idlwave)
+
+(defcustom idlwave-shell-initial-commands "!more=0"
+  "Initial commands, separated by newlines, to send to IDL.
+This string is sent to the IDL process by `idlwave-shell-mode' which is
+invoked by `idlwave-shell'."
+  :group 'idlwave-shell-command-setup
+  :type 'string)
+
+(defcustom idlwave-shell-save-command-history t
+  "Non-nil means preserve command history between sessions.
+The file `idlwave-shell-command-history-file' is used to save and restore
+the history."
+  :group 'idlwave-shell-command-setup
+  :type 'boolean)
+
+(defcustom idlwave-shell-command-history-file "~/.idlwhist"
+  "The file in which the command history of the idlwave shell is saved.
+In order to change the size of the history, see the variable
+`comint-input-ring-size'.
+The history is only saved if the variable `idlwave-shell-save-command-history'
+is non-nil."
+  :group 'idlwave-shell-command-setup
+  :type 'file)
+  
+(defcustom idlwave-shell-show-commands
+  '(run misc breakpoint)
+  "*A list of command types to show output from in the shell.  
+Possibilities are 'run, 'debug, 'breakpoint, and 'misc .  Unlisted
+types are not displayed in the shell.  The single type 'everything
+causes all the copious shell traffic to be displayed."
+  :group 'idlwave-shell-command-setup
+  :type '(choice
+	  (const everything)
+	  (set :tag "Checklist" :greedy t
+	       (const :tag "All .run and .compile commands"  run)
+	       (const :tag "All breakpoint commands"         breakpoint)
+	       (const :tag "All debug and stepping commands" debug)
+	       (const :tag "Return, close, etc. commands"    misc))))
+
+(defcustom idlwave-shell-examine-alist 
+  '(("Print"          	. "print,___")
+    ("Help"           	. "help,___")
+    ("Structure Help"  	. "help,___,/STRUCTURE")
+    ("Dimensions"     	. "print,size(___,/DIMENSIONS)")
+    ("Type"           	. "print,size(___,/TNAME)")
+    ("N_Elements"     	. "print,n_elements(___)")
+    ("All Size Info"  	. "help,(__IWsz__=size(___,/STRUCTURE)),/STRUCTURE & print,__IWsz__.DIMENSIONS")
+    ("Ptr Valid"      	. "print,ptr_valid(___)")
+    ("Widget Valid"     . "print,widget_info(___,/VALID)")
+    ("Widget Geometry"  . "help,widget_info(___,/GEOMETRY)"))
+  "Alist of special examine commands for popup selection.  
+The keys are used in the selection popup created by
+`idlwave-shell-examine-select', and the corresponding value is sent as
+a command to the shell, with special sequence `___' replaced by the
+expression being examined."
+  :group 'idlwave-shell-command-setup
+  :type '(repeat
+	  (cons 
+	   (string :tag "Label  ")
+	   (string :tag "Command"))))
+
+(defvar idlwave-shell-print-expression-function nil
+  "*OBSOLETE VARIABLE, is no longer used.")
+
+(defcustom idlwave-shell-separate-examine-output t
+  "*Non-nil mean, put output of examine commands in their own buffer."
+  :group 'idlwave-shell-command-setup
+  :type 'boolean)
+  
+(defcustom idlwave-shell-comint-settings
+  '((comint-scroll-to-bottom-on-input . t)
+    (comint-scroll-to-bottom-on-output . t)
+    (comint-scroll-show-maximum-output . nil))
+
+  "Alist of special settings for the comint variables in the IDLWAVE Shell.
+Each entry is a cons cell with the name of a variable and a value.
+The function `idlwave-shell-mode' will make local variables out of each entry.
+Changes to this variable will only be active when the shell buffer is
+newly created."
+  :group 'idlwave-shell-command-setup
+  :type '(repeat
+	  (cons variable sexp)))
+
+(defcustom idlwave-shell-query-for-class t
+  "*Non-nil means query the shell for object class on object completions."
+  :group 'idlwave-shell-command-setup
+  :type 'boolean)
 
 (defcustom idlwave-shell-use-input-mode-magic nil
   "*Non-nil means, IDLWAVE should check for input mode spells in output.
 by the regular expressions in `idlwave-shell-input-mode-spells'.
 When these expressions match, IDLWAVE switches to character input mode and
 back, respectively.  See `idlwave-shell-input-mode-spells' for details."
-  :group 'idlwave-shell-general-setup
+  :group 'idlwave-shell-command-setup
   :type 'boolean)
 
 (defcustom idlwave-shell-input-mode-spells
         else                          print,'<onechar>'
   endif 
 end"
-  :group 'idlwave-shell-general-setup
+  :group 'idlwave-shell-command-setup
   :type '(list
 	  (regexp :tag "One-char  regexp")
 	  (regexp :tag "Char-mode regexp")
 	  (regexp :tag "Line-mode regexp")))
 
-(defcustom idlwave-shell-graphics-window-size '(500 400)
-  "Size of IDL graphics windows popped up by special IDLWAVE command.
-The command is `C-c C-d C-f' and accepts as a prefix the window nr.
-A command like `WINDOW,N,xsize=XX,ysize=YY' is sent to IDL."
-  :group 'idlwave-shell-general-setup
-  :type '(list
-	  (integer :tag "x size")
-	  (integer :tag "y size")))
-
-;;; Breakpoint Overlays etc
-
+
+;; Breakpoint Overlays etc
 (defgroup idlwave-shell-highlighting-and-faces nil
   "Highlighting and Faces used by the IDLWAVE Shell mode."
   :prefix "idlwave-shell"
 The overlay-arrow has the disadvantage to hide the first chars of a line.
 Since many people do not have the main block of IDL programs indented,
 a face highlighting may be better.
-On Emacs 21, the overlay arrow is displayed in a special area and never
+In Emacs 21, the overlay arrow is displayed in a special area and never
 hides any code, so setting this to 'arrow on Emacs 21 sounds like a good idea."
   :group 'idlwave-shell-highlighting-and-faces
   :type '(choice
 	  (const :tag "Glyph or face." t)))
 
 (defvar idlwave-shell-use-breakpoint-glyph t
-  "Obsolete variable.   See `idlwave-shell-mark-breakpoints.")
+  "Obsolete variable.  See `idlwave-shell-mark-breakpoints.")
 
 (defcustom idlwave-shell-breakpoint-face 'idlwave-shell-bp-face
   "*The face for breakpoint lines in the source code.
   :group 'idlwave-shell-highlighting-and-faces
   :type 'symbol)
 
+(defcustom idlwave-shell-output-face 'secondary-selection
+  "*The face for `idlwave-shell-output-overlay'.
+Allows you to choose the font, color and other properties for
+the expression output by IDL."
+  :group 'idlwave-shell-highlighting-and-faces
+  :type 'symbol)
+
 ;;; End user customization variables
 
 ;;; External variables
 (defvar comint-last-input-start)
 (defvar comint-last-input-end)
 
+(defun idlwave-shell-temp-file (type)
+  "Return a temp file, creating it if necessary.
+
+TYPE is either 'pro or 'rinfo, and idlwave-shell-temp-pro-file or
+idlwave-shell-temp-rinfo-save-file is set (respectively)."
+  (cond 
+   ((eq type 'rinfo)
+    (or idlwave-shell-temp-rinfo-save-file 
+	(setq idlwave-shell-temp-rinfo-save-file 
+	      (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix))))
+   ((eq type 'pro)
+    (or idlwave-shell-temp-pro-file
+	(setq idlwave-shell-temp-pro-file 
+	      (idlwave-shell-make-temp-file idlwave-shell-temp-pro-prefix))))
+   (t (error "Wrong argument (idlwave-shell-temp-file): %s" 
+	     (symbol-name type)))))
+    
+
+(defun idlwave-shell-make-temp-file (prefix)
+  "Create a temporary file."
+  ; Hard coded make-temp-file for Emacs<21
+  (if (fboundp 'make-temp-file)
+      (make-temp-file prefix)
+    (let (file
+	  (temp-file-dir (if (boundp 'temporary-file-directory)
+			     temporary-file-directory
+			   "/tmp")))
+      (while (condition-case ()
+		 (progn
+		   (setq file
+			 (make-temp-name
+			  (expand-file-name prefix temp-file-dir)))
+                   (if (featurep 'xemacs)
+		       (write-region "" nil file nil 'silent nil)
+		     (write-region "" nil file nil 'silent nil 'excl))
+		   nil)
+	       (file-already-exists t))
+	;; the file was somehow created by someone else between
+	;; `make-temp-name' and `write-region', let's try again.
+	nil)
+      file)))
+
 ;; Other variables
-
-(defvar idlwave-shell-temp-file-base
-  (make-temp-name idlwave-shell-temp-pro-prefix)
-  "Base name of the temporary files.")
-
-(defvar idlwave-shell-temp-pro-file 
-  (concat idlwave-shell-temp-file-base ".pro")
+(defvar idlwave-shell-temp-pro-file
+  nil
   "Absolute pathname for temporary IDL file for compiling regions")
 
 (defvar idlwave-shell-temp-rinfo-save-file
-  (concat idlwave-shell-temp-file-base ".sav")
+  nil
   "Absolute pathname for temporary IDL file save file for routine_info.
 This is used to speed up the reloading of the routine info procedure
 before use by the shell.")
 
-
-(defvar idlwave-shell-dirstack-query "printd"
+(defvar idlwave-shell-dirstack-query "cd,current=___cur & print,___cur"
   "Command used by `idlwave-shell-resync-dirs' to query IDL for 
 the directory stack.")
 
 (defvar idlwave-shell-is-stopped nil)
 (defvar idlwave-shell-expression-overlay nil
   "The overlay for where IDL is currently stopped.")
+(defvar idlwave-shell-output-overlay nil
+  "The overlay for the last IDL output.")
+
 ;; If these were already overlays, delete them.  This probably means that we
 ;; are reloading this file.
 (if (overlayp idlwave-shell-stop-line-overlay)
     (delete-overlay idlwave-shell-stop-line-overlay))
 (if (overlayp idlwave-shell-expression-overlay)
     (delete-overlay idlwave-shell-expression-overlay))
+(if (overlayp idlwave-shell-output-overlay)
+    (delete-overlay idlwave-shell-output-overlay))
+
 ;; Set to nil initially
 (setq idlwave-shell-stop-line-overlay nil
-      idlwave-shell-expression-overlay nil)
+      idlwave-shell-expression-overlay nil
+      idlwave-shell-output-overlay nil)
 
 ;; Define the shell stop overlay.  When left nil, the arrow will be used.
 (cond
 	(overlay-put idlwave-shell-stop-line-overlay 
 		     'face idlwave-shell-stop-line-face)))))
 
-;; Now the expression overlay
+;; Now the expression and output overlays
 (setq idlwave-shell-expression-overlay (make-overlay 1 1))
 (overlay-put idlwave-shell-expression-overlay
 	     'face idlwave-shell-expression-face)
+(setq idlwave-shell-output-overlay (make-overlay 1 1))
+(overlay-put idlwave-shell-output-overlay
+	     'face idlwave-shell-output-face)
+
 (defvar idlwave-shell-bp-query "help,/breakpoints"
   "Command to obtain list of breakpoints")
 
 The current command is finished when the IDL prompt is displayed.
 This is evaluated if it is a list or called with funcall.")
 
+(defvar idlwave-shell-sentinel-hook nil
+  "Hook run when the idl process exits.")
+
 (defvar idlwave-shell-hide-output nil
   "If non-nil the process output is not inserted into the output
   buffer.")
 (defvar idlwave-shell-ready nil
   "If non-nil can send next command to IDL process.")
 
+(defvar idlwave-shell-wait-for-output nil
+  "Whether to wait for output to accumulate.")
+
 ;;; The following are the types of messages we attempt to catch to
 ;;; resync our idea of where IDL execution currently is.
 ;;; 
    Info documentation for this package is available.  Use \\[idlwave-info]
    to display (complain to your sysadmin if that does not work).
    For Postscript and HTML versions of the documentation, check IDLWAVE's
-   homepage at `http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave'.
+   homepage at `http://idlwave.org'.
    IDLWAVE has customize support - see the group `idlwave'.
 
 7. Keybindings
   (setq comint-process-echoes t)
   ;; Can not use history expansion because "!" is used for system variables.
   (setq comint-input-autoexpand nil)
-  (setq comint-input-ring-size 64)
+;  (setq comint-input-ring-size 64)
   (make-local-variable 'comint-completion-addsuffix)
   (set (make-local-variable 'completion-ignore-case) t)
   (setq comint-completion-addsuffix '("/" . ""))
   (idlwave-shell-display-line nil)
   (setq idlwave-shell-calling-stack-index 0)
 
+  (when idlwave-shell-query-for-class
+      (add-to-list (make-local-variable 'idlwave-determine-class-special)
+		   'idlwave-shell-get-object-class)
+      (setq idlwave-store-inquired-class t))
+
   ;; Make sure comint-last-input-end does not go to beginning of
   ;; buffer (in case there were other processes already in this buffer).
   (set-marker comint-last-input-end (point))
   (setq idlwave-idlwave_routine_info-compiled nil)
   (setq idlwave-shell-ready nil)
+  (setq idlwave-shell-wait-for-output nil)
   (setq idlwave-shell-bp-alist nil)
   (idlwave-shell-update-bp-overlays) ; Throw away old overlays
   (setq idlwave-shell-sources-alist nil)
   (setq idlwave-shell-default-directory default-directory)
   (setq idlwave-shell-hide-output nil)
+
+  ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility
   (make-local-hook 'kill-buffer-hook)
   (add-hook 'kill-buffer-hook 'idlwave-shell-kill-shell-buffer-confirm
 	    nil 'local)
   (use-local-map idlwave-shell-mode-map)
   (easy-menu-add idlwave-shell-mode-menu idlwave-shell-mode-map)
 
-  (set (make-local-variable 'comint-scroll-to-bottom-on-input) t)
-  (set (make-local-variable 'comint-scroll-show-maximum-output) t)
+  ;; Set the optional comint variables
+  (when idlwave-shell-comint-settings
+    (let ((list idlwave-shell-comint-settings) entry)
+      (while (setq entry (pop list))
+	(set (make-local-variable (car entry)) (cdr entry)))))
 
   ;; IDLWAVE syntax, and turn on abbreviations
   (setq local-abbrev-table idlwave-mode-abbrev-table)
   (set-syntax-table idlwave-mode-syntax-table)
   (set (make-local-variable 'comment-start) ";")
   (setq abbrev-mode t)
+
+  ;; NB: `make-local-hook' needed for older/alternative Emacs compatibility
   (make-local-hook 'post-command-hook)
   (add-hook 'post-command-hook 'idlwave-command-hook nil t)
 
+  ;; Read the command history?
+  (when (and idlwave-shell-save-command-history
+	     (stringp idlwave-shell-command-history-file))
+    (set (make-local-variable 'comint-input-ring-file-name)
+	 idlwave-shell-command-history-file)
+    (if (file-regular-p idlwave-shell-command-history-file)
+	(comint-read-input-ring)))
+
   ;; Run the hooks.
   (run-hooks 'idlwave-shell-mode-hook)
   (idlwave-shell-send-command idlwave-shell-initial-commands nil 'hide)
 	  ;; The frame exists, so we use it.
 	  idlwave-shell-display-wframe
 	;; The frame does not exist.  We use the current frame.
-	;; However, if the current is the shell frame, we make a new frame.
+	;; However, if the current is the shell frame, we make a new frame,
+	;; or recycle the first existing visible frame
 	(setq idlwave-shell-display-wframe
 	      (if (eq (selected-frame) idlwave-shell-idl-wframe)
-		  (make-frame)
+		  (or
+		   (let ((flist (visible-frame-list))
+			 (frame (selected-frame)))
+		     (catch 'exit
+		       (while flist
+			 (if (not (eq (car flist) 
+				      idlwave-shell-idl-wframe)) 
+			     (throw 'exit (car flist))
+			   (setq flist (cdr flist))))))
+		   (make-frame))
 		(selected-frame))))))
 
 (defun idlwave-shell-shell-frame ()
 	      (make-frame idlwave-shell-frame-parameters)))))