STScI Logo
STScI Logo
HST
Banner

Known PyRAF Shortcomings

This is a list of known problems or limitations of PyRAF, differences from the IRAF CL, and planned improvements for the future. Each item is followed by a parenthetical comment on our plans for responding to the item. If the comment says "no plans" then we do not currently have any plans to implement the listed feature or behavior. That may change if we receive enough feedback indicating that it is important.

Not included in this list are enhancements to the IDL-like capabilities of Python through improvements to the Numeric module (which will be a major focus of our efforts in the future.)

Known Problems with PyRAF v1.1beta1:

  1. If Tcl/Tk is at a version less than 8.3, graphics will not work in some cases. This will be corrected, but some functionality will not be present unless version 8.3 or later is uses (dashed lines)
  2. Y axis labels are incorrectly oriented on interactive displays.
  3. Killing graphics windows does not always work.
  4. The graphics cursor flickers a bit more when moved. In some cases with remote display it can be a bit sluggish and annoying.
  5. IGI does not clear the previous plot when plotting a new one.
Please let us know of any problems not listed above.

Differences from the IRAF CL

  • GOTOs in CL scripts are not supported. (no plans)
  • There is no package unloading: 'bye' has no effect. (no plans, though we are considering alternative, more Pythonic approaches to similar functionality)
  • There is no background execution. The cache command, which is used to keep parameter lists in memory for script execution (and apparently is useful only for background execution), also is not implemented. (may be considered)
  • Redirection of graphics streams (using >G) is not supported. (tentatively planned, although the ability to save metacode from the graphics menu is probably more convenient for interactive use)
  • The rarely-used fprint built-in task is not implemented (not to be confused with printf, which is available.) The hidden tasks _allocate, _deallocate, and _devstatus are not supported. (no plans)
  • The stty playback mode is not implemented. Playback mode is used for some CL demo scripts; it is typically highly specific to xgterm and the IRAF CL (including, for example, the keystrokes used inside the IRAF version of epar.) Other features associated with playback mode (login, logio, logout, verify, delay) are also unimplemented, as are some other stty features (e.g., ucasein & ucaseout). (no plans)
  • The CL keeplog parameter is ignored. (Use the PyRAF .logfile directive to keep a log of your session.) The putlog command is also ignored. (no plans)
  • PyRAF does not limit the length of CL struct strings. PyRAF strings can be arbitrarily long. (no plans)
  • Automatic conversion of characters to integers in assignments is not supported. In the CL, i="Z" is a legal statement and results in i being assigned the ASCII integer equivalent to the character "Z".
  • An unusual (little known) CL behavior involving adding integers to strings that end in numbers is not supported. In the CL, 'test5'+5 is 'test10'. In PyRAF, 'test5'+5 = 'test55'. (no plans)
  • Task definitions that reference files using IRAF networking (host!filename) are not supported. (no plans)
  • Binary I/O to tasks is not supported. An example is in bench$bench.cl:
    task $wipc.bb = "bench$x_bench.c"
    
    The wipc task expects to read binary data from stdin and writes binary data to stdout. This capability does not appear to be used elsewhere in the IRAF system. (may be considered, though low priority because this is little used)

Copyright  | Help  | Printable Page